.date-hero{padding-bottom:34px}.date-hero h1{font-size:clamp(38px,5.6vw,66px);line-height:1.06;letter-spacing:-2.5px;max-width:850px}.date-hero h1 span{color:var(--brand-gold-ink)}.date-hero .lead{max-width:720px}.date-shell{background:var(--brand-paper);border:1px solid var(--brand-line);border-top:4px solid var(--brand-gold);border-radius:20px;box-shadow:0 18px 55px rgba(20,32,58,.07);overflow:hidden;margin-bottom:20px;color:var(--brand-ink)}
.date-banner{padding:23px 28px;background:var(--brand-primary);color:white;display:flex;align-items:center;justify-content:space-between;gap:20px}.date-banner strong{font-size:21px;letter-spacing:-.4px}.date-banner span{font-size:12px;color:var(--brand-gold-light,#e6c77f)}.date-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--brand-soft);padding:10px;gap:5px;border-bottom:1px solid var(--brand-line)}.date-shell button{font:inherit;font-size:13px;font-weight:600;min-height:44px;cursor:pointer;border:1px solid var(--brand-line);border-radius:9px;padding:10px 14px;background:var(--brand-paper);color:var(--brand-primary)}.date-tabs button{border-color:transparent;background:transparent}.date-tabs button[aria-selected=true]{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary);box-shadow:0 4px 12px rgba(20,32,58,.1)}.date-tabs button span{display:block;font-size:11px;font-weight:400;margin-top:4px;opacity:.9}.date-shell button:disabled{opacity:.45;cursor:not-allowed}.date-shell button:hover:not(:disabled){border-color:var(--brand-gold-ink)}.date-shell :focus-visible{outline:3px solid var(--brand-gold-ink);outline-offset:3px}.date-shell [hidden]{display:none!important}
.date-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;padding:30px}.date-inputs,.date-results{min-width:0}.date-panel h2{font-size:25px;line-height:1.25;letter-spacing:-.6px;margin:0 0 10px;color:var(--brand-ink)}.date-intro{font-size:14px;line-height:1.75;color:var(--brand-muted);margin:0 0 23px}.date-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-bottom:18px}.date-fields.four{grid-template-columns:repeat(4,minmax(0,1fr))}.date-shell label{display:grid;gap:8px;font-size:12px;font-weight:650;color:var(--brand-muted);min-width:0}.date-shell input:not([type=checkbox]),.date-shell select,.date-shell textarea{display:block;width:100%;min-width:0;box-sizing:border-box;min-height:46px;border:1px solid var(--brand-line);border-radius:9px;padding:10px 12px;font:inherit;font-size:14px;color:var(--brand-ink);background:var(--brand-paper)}.date-shell textarea{resize:vertical;line-height:1.6;min-height:100px}.date-field-line{display:flex;gap:6px}.date-field-line input{flex:1;min-width:0}.date-field-line button{font-size:11px;padding:8px;flex-shrink:0}.date-shell .date-check{display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.4;font-weight:500;color:var(--brand-ink);min-height:40px}.date-check input{width:18px;height:18px;accent-color:var(--brand-primary);flex-shrink:0}.date-check-row{display:flex;gap:16px;flex-wrap:wrap;margin:14px 0}.date-help{font-size:12px;color:var(--brand-muted);line-height:1.7;margin:12px 0}.date-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.date-shell button.date-primary{background:var(--brand-primary);border-color:var(--brand-primary);color:white}.date-options{border:1px solid var(--brand-line);border-radius:12px;padding:16px 18px;margin:18px 0;background:var(--brand-soft)}.date-options summary{font-size:13px;font-weight:650;cursor:pointer;color:var(--brand-primary)}.date-options[open] summary{margin-bottom:15px}.date-options fieldset{border:0;padding:0;margin:12px 0}.date-options legend{font-size:12px;color:var(--brand-muted);margin-bottom:8px}.date-weekends{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.date-weekends .date-check{font-size:12px}.date-holiday-bar{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.date-holiday-bar label{display:block}.date-upload{position:relative;overflow:hidden;display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;background:var(--brand-paper);border:1px solid var(--brand-line);border-radius:9px;cursor:pointer;color:var(--brand-primary)!important}.date-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.date-upload:focus-within{outline:3px solid var(--brand-gold-ink);outline-offset:3px}
.date-result-card{background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:16px;padding:26px}.date-kicker{font-size:10px;letter-spacing:1.7px;font-weight:700;color:var(--brand-gold-ink);margin:0 0 15px;text-transform:uppercase}.date-result-main{font-size:clamp(29px,3vw,42px);line-height:1.2;letter-spacing:-1.3px;color:var(--brand-primary);font-weight:650;margin:0 0 12px;overflow-wrap:anywhere}.date-result-sub{font-size:13px;line-height:1.8;color:var(--brand-muted);margin:0 0 20px}.date-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.date-result-grid>div{padding:14px 10px;border:1px solid var(--brand-line);background:#fff;border-radius:10px;min-width:0}.date-result-grid strong{display:block;font-size:21px;letter-spacing:-.6px;color:var(--brand-ink);overflow-wrap:anywhere}.date-result-grid span{display:block;font-size:11px;color:var(--brand-muted);margin-top:6px}.date-details{margin:22px 0 0}.date-details>div{display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--brand-line);padding:11px 0;font-size:12px;line-height:1.6}.date-details dt{color:var(--brand-muted)}.date-details dd{color:var(--brand-ink);font-weight:600;text-align:right;margin:0;overflow-wrap:anywhere}.date-result-note{font-size:12px;line-height:1.8;color:var(--brand-muted);border-top:1px solid var(--brand-line);padding-top:16px;margin-top:16px}.date-notice{margin:0 30px 24px;border:1px solid var(--brand-line);border-radius:10px;background:var(--brand-soft);padding:13px 16px;color:var(--brand-primary);font-size:13px;line-height:1.7}.date-notice.error{border-color:var(--brand-danger);color:var(--brand-danger)}.date-exports{display:flex;gap:7px;flex-wrap:wrap;margin:17px 0}.date-exports button{flex:1 1 110px;font-size:12px}.date-calendar-tools{padding:16px;border:1px solid var(--brand-line);border-radius:12px;margin-top:15px}.date-calendar-tools button{margin-top:10px;width:100%}.date-calendar{border:1px solid var(--brand-line);border-radius:12px;background:#fff;margin-top:20px;padding:14px}.date-calendar table{width:100%;border-collapse:separate;table-layout:fixed;text-align:center;border-spacing:3px}.date-calendar caption{text-align:left;font-size:13px;font-weight:650;color:var(--brand-primary);padding:0 0 12px}.date-calendar th{font-size:10px;color:var(--brand-muted);font-weight:600;padding-bottom:8px}.date-calendar td{font-size:12px;padding:9px 0;border-radius:6px}.date-calendar .selected{background:var(--brand-primary);color:#fff;font-weight:650}.date-calendar .weekend{background:var(--brand-soft)}.date-calendar .holiday{box-shadow:inset 0 0 0 1px var(--brand-gold-ink)}.date-history{border-top:1px solid var(--brand-line);background:var(--brand-soft);padding:20px 30px;display:flex;align-items:end;gap:10px;flex-wrap:wrap}.date-history label{flex:1;min-width:180px}.date-foot{font-size:12px;color:var(--brand-muted);text-align:center;padding:18px 25px;line-height:1.7}.date-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.date-guide-card{padding:24px;border:1px solid var(--brand-line);border-radius:14px;background:#fff}.date-guide-card h3{font-size:17px;margin-top:0}.date-guide-card p{font-size:13px;color:var(--brand-muted);line-height:1.8}.date-copy-fallback{width:100%;min-height:170px;font-family:monospace;font-size:12px}
@media(max-width:1000px){.date-layout{gap:20px;padding:22px}.date-result-card{padding:20px}.date-fields.four{grid-template-columns:1fr 1fr}.date-tabs button{padding:10px 7px;font-size:12px}}
@media(max-width:780px){.date-layout{grid-template-columns:1fr}.date-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.date-banner{padding:20px}.date-banner span{max-width:145px;text-align:right;line-height:1.6}.date-guide-grid{grid-template-columns:1fr}.date-notice{margin:0 20px 20px}.date-history{padding:20px}}
@media(max-width:460px){.date-layout{padding:17px}.date-fields{grid-template-columns:1fr}.date-fields.four{grid-template-columns:1fr 1fr}.date-banner span{display:none}.date-tabs{grid-template-columns:1fr 1fr}.date-tabs button:last-child{grid-column:1/-1}.date-weekends{grid-template-columns:repeat(3,1fr)}.date-result-card{padding:17px}.date-result-grid{gap:6px}.date-result-grid>div{padding:12px 7px}.date-result-grid strong{font-size:19px}.date-actions button{flex:1 1 120px}.date-result-main{font-size:32px}.date-details>div{gap:10px}.date-history button{width:100%}}
@media print{body.date-print .site-header,body.date-print .site-footer,body.date-print .page-hero,body.date-print .date-banner,body.date-print .date-tabs,body.date-print .date-inputs,body.date-print .date-exports,body.date-print .date-calendar-tools,body.date-print .date-history,body.date-print .date-notice,body.date-print .date-foot,body.date-print .date-copy-wrap,body.date-print .feedback-fab,body.date-print .feedback-modal,body.date-print main>section:not(.date-zone){display:none!important}body.date-print .date-layout{display:block;padding:0}body.date-print .date-shell,body.date-print .date-result-card{border:0;box-shadow:none;background:white}body.date-print .date-result-card{padding:0}body.date-print .date-zone{padding:0}body.date-print .container{width:100%}body.date-print .date-calendar{break-inside:avoid}}
@media(prefers-reduced-motion:reduce){.date-shell *{scroll-behavior:auto;transition:none}}
.date-calendar td.selected{background:var(--brand-primary);color:white}

@media print{body.date-print .date-result-card::before{content:"UVs Tool Hub · Age & Date Calculator";display:block;font-weight:700;font-size:16pt;margin-bottom:20px;color:#14203a}}

/* Keep small supporting text above 4.5:1 on the shared cream surface. */
.date-shell{--brand-muted:#59657b}
