:root{--bg:#071018;--panel:#101b25;--panel2:#162633;--line:#29404f;--text:#f2f6f8;--muted:#9eb0bd;--gold:#f5b82e;--green:#35c78b;--red:#ef6262;--blue:#55a9ff;--amber:#f5b82e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}a{color:inherit}.container{width:min(1180px,93%);margin:auto}.topbar{background:#09131c;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.nav{height:66px;display:flex;align-items:center;gap:18px}.brand{font-weight:900;letter-spacing:.7px}.brand b{color:var(--gold)}.links{margin-left:auto;display:flex;gap:16px;align-items:center}.links a{text-decoration:none;color:var(--muted)}.page{padding:28px 0 92px}.hero{text-align:center;padding:64px 0 44px}.hero h1{font-size:clamp(2.4rem,6vw,5rem);line-height:1.03;margin:10px 0 20px}.hero p{max-width:790px;margin:0 auto 28px;color:var(--muted);font-size:1.14rem;line-height:1.6}.btn{border:0;border-radius:10px;background:var(--gold);color:#17130a;font-weight:900;padding:12px 17px;text-decoration:none;cursor:pointer;display:inline-block}.btn.secondary{background:#162633;color:white;border:1px solid var(--line)}.btn.danger{background:var(--red);color:white}.btn.good{background:var(--green);color:#07130e}.btn.warning{background:var(--amber);color:#17130a;border:1px solid #ffd36e;box-shadow:0 0 0 1px rgba(245,184,46,.18)}.btn.big{width:100%;font-size:1.35rem;padding:20px}.card{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:20px;margin-bottom:16px}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:15px}.col3{grid-column:span 3}.col4{grid-column:span 4}.col6{grid-column:span 6}.col12{grid-column:span 12}.muted{color:var(--muted)}.small{font-size:.86rem}.metric{font-size:1.65rem;font-weight:900;margin-top:5px}.status-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:18px 0}.stat{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px}.state-working{color:var(--green)}.state-rest,.state-reset{color:var(--red)}.state-warning{color:var(--amber)}.state-available{color:var(--green)}.pill{padding:7px 11px;border:1px solid currentColor;border-radius:99px;font-weight:900}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.field,label{display:block;margin:10px 0;font-weight:700}input,select,textarea{width:100%;background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:9px;padding:12px;font-size:16px}textarea{min-height:90px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.flash{padding:12px 15px;border-radius:9px;margin-bottom:14px;background:var(--panel2)}.flash.success{border-left:4px solid var(--green)}.flash.warning{border-left:4px solid var(--amber)}.flash.danger{border-left:4px solid var(--red)}.quickbox{max-width:760px;margin:22px auto}.active{border-color:var(--green);box-shadow:0 0 0 1px rgba(53,199,139,.2)}.limit{font-size:1.35rem;font-weight:900;color:var(--amber)}.note{padding:12px;border-radius:9px;background:var(--panel2);border:1px solid var(--line)}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.day{min-height:90px;border:1px solid var(--line);border-radius:8px;padding:7px;background:#0b151e}.day .n{font-weight:900}.duty-chip{font-size:.75rem;background:#2c2020;border-left:3px solid var(--red);padding:4px;margin-top:5px;border-radius:3px}.scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:900px}th,td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:var(--muted)}.finding{margin-top:5px}.finding.violation{color:#ff9494}.finding.warning,.finding.data_required{color:var(--amber)}.finding.exception{color:var(--blue)}.finding.compliant{color:var(--green)}.status{font-weight:900}.drawer summary{cursor:pointer;font-weight:900}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.pricing{text-align:center}.pricing strong{font-size:2rem;color:var(--gold)}.mobile-nav{display:none}.disclaimer{font-size:.84rem;color:var(--muted);line-height:1.5}.hero-grid .card{grid-column:span 4}@media(max-width:860px){.status-grid{grid-template-columns:1fr 1fr}.col3,.col4,.col6{grid-column:span 12}.hero-grid .card{grid-column:span 12}.two,.three{grid-template-columns:1fr}.links .desktop{display:none}.mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;background:#09131c;border-top:1px solid var(--line);z-index:30}.mobile-nav a{text-align:center;padding:14px 4px;text-decoration:none;color:var(--muted);font-size:.75rem}.page{padding-bottom:92px}}@media(max-width:520px){.status-grid{grid-template-columns:1fr 1fr}.stat{padding:13px}.metric{font-size:1.35rem}}@media print{.topbar,.mobile-nav,.no-print{display:none!important}body{background:white;color:black}.card,.stat{background:white;border-color:#aaa}.muted{color:#555}.page{padding:0}.finding.violation{color:#900}}

/* v1.1 */
.status-grid.v11{grid-template-columns:repeat(3,1fr)}.meter{height:7px;background:var(--panel2);border-radius:8px;overflow:hidden;margin-top:10px}.meter i{display:block;height:100%;background:var(--accent);border-radius:8px}.status-text{font-weight:900;margin-top:9px;line-height:1.25}.limit-label{font-size:.72rem;font-weight:900;color:var(--muted);letter-spacing:.06em}.compact{margin:12px 0}.day-link{text-decoration:none;color:inherit;transition:.15s}.day-link:hover{transform:translateY(-2px);border-color:var(--accent)}.result-card{padding:34px;border:1px solid var(--line);border-radius:16px;text-align:center;margin-bottom:18px;background:var(--panel)}.result-card.compliant{border-color:var(--green)}.result-card.violation,.result-card.non_compliant{border-color:var(--red)}.result-card.incomplete{border-color:var(--amber)}.result-icon{font-size:3rem;font-weight:900}.finding-block{padding:12px;margin:10px 0;border-radius:9px;background:var(--panel2)}.result-stats{margin-top:20px}.result-stats div{background:var(--panel2);border-radius:10px;padding:14px}.result-stats span,.result-stats strong{display:block}.result-stats strong{margin-top:5px}.actions{display:flex;gap:10px;justify-content:center;margin-top:18px}.report-filter{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.report-filter label{min-width:190px}.report-heading{margin-bottom:18px}.duty-detail-card h2{margin-bottom:4px}
@media(max-width:760px){.status-grid.v11{grid-template-columns:1fr 1fr}.actions{flex-direction:column}.report-filter{display:grid;grid-template-columns:1fr}.report-filter label{min-width:0}}
@media(max-width:480px){.status-grid.v11{grid-template-columns:1fr}}

/* v1.2 */
.report-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.report-finding{padding:14px;border-left:4px solid var(--line);background:var(--panel2);border-radius:8px;margin:12px 0}.report-finding.violation{border-left-color:var(--red)}.report-finding.warning,.report-finding.data_required{border-left-color:var(--gold)}.report-finding.compliant{border-left-color:var(--green)}.recent-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.recent-grid>div{background:var(--panel2);border-radius:10px;padding:14px}.recent-grid strong{font-size:1.8rem;display:block}.recent-grid span{color:var(--muted)}.letter{max-width:850px;margin:0 auto;line-height:1.6}.letter li{margin-bottom:12px}.meter i{background:var(--gold)}
@media(max-width:760px){.report-summary{grid-template-columns:1fr 1fr}}@media(max-width:480px){.report-summary,.recent-grid{grid-template-columns:1fr}}

/* v1.2.3 UX */
.dt-original{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}.datetime-friendly{display:grid;grid-template-columns:minmax(145px,1fr) 82px 82px auto;gap:8px;align-items:center}.datetime-friendly input,.datetime-friendly select{margin:0}.dt-now{white-space:nowrap}.was-validated input:invalid,.was-validated select:invalid,.was-validated textarea:invalid{border-color:var(--red);box-shadow:0 0 0 2px rgba(239,98,98,.18);background:var(--danger-soft)}.field-error{display:none;color:var(--red);font-size:.82rem;margin-top:6px}.was-validated :invalid~.field-error{display:block}.contact-choice{display:flex;gap:10px;align-items:flex-start;background:var(--panel2);border:1px solid var(--line);padding:12px;border-radius:10px}.contact-choice input{width:auto;margin-top:4px}.btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:620px){.datetime-friendly{grid-template-columns:1fr 72px 72px}.dt-now{grid-column:1/-1;width:100%}}

/* v1.2.4 DutyRest brand + landing/help polish */
.landing-hero h1 span{display:block;text-align:center}.hero-kicker{text-align:center;letter-spacing:.08em;font-weight:800}.hero-actions{display:flex;flex-direction:column;gap:10px;width:min(300px,100%);margin:0 auto}.hero-actions .btn{width:100%;text-align:center}.pricing-section{margin:18px 0 30px}.pricing-section>h2{text-align:center;margin-bottom:18px}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.pricing-grid .card{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:235px}.pricing.featured{border-color:var(--gold);box-shadow:0 0 0 1px rgba(245,184,46,.16)}.pricing-grid .pricing:nth-child(4){grid-column:2}.price-label{font-size:.78rem;letter-spacing:.1em;font-weight:900;color:var(--muted);margin-bottom:12px}.trial-note{font-weight:900;color:var(--green);margin:0 0 18px}.pricing .btn{margin-top:auto}.instructions-wrap{max-width:900px;margin:0 auto}.instructions-wrap .intro{font-size:1.08rem;line-height:1.6;margin-bottom:22px}.instruction{display:grid;grid-template-columns:54px 1fr;gap:16px;align-items:start}.instruction h2{margin:2px 0 8px;font-size:1.2rem}.instruction p,.important p{margin:0;color:var(--muted);line-height:1.6}.step{width:42px;height:42px;border-radius:50%;background:var(--gold);color:#17130a;display:grid;place-items:center;font-weight:900;font-size:1.1rem}.important{border-color:var(--gold)}.important h2{color:var(--gold)}.instructions-footer{text-align:center;margin-top:22px}.mobile-nav{grid-template-columns:repeat(5,1fr)}
@media(max-width:760px){.pricing-grid{grid-template-columns:1fr}.pricing-grid .pricing:nth-child(4){grid-column:auto}.pricing-grid .card{min-height:210px}.landing-hero{padding-top:42px}.instruction{grid-template-columns:44px 1fr}.step{width:36px;height:36px}.links{gap:10px}.links>a:not(:last-of-type){font-size:.9rem}}

/* v1.2.5 calendar + account foundation */
.calendar-head{display:grid;grid-template-columns:46px 1fr 46px;align-items:center;gap:10px;margin-bottom:8px}.calendar-head h2{text-align:center;margin:0}.calendar-arrow{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;text-decoration:none;color:var(--text);font-size:2rem;line-height:1}.calendar-arrow:hover{border-color:var(--gold);color:var(--gold)}.calendar-today{text-align:center;margin:8px 0 14px}.calendar-today .btn{padding:7px 14px}.locked{font-size:.65rem;letter-spacing:.08em;color:var(--gold);border:1px solid var(--gold);border-radius:5px;padding:3px 6px;vertical-align:middle}.account-card,.upgrade-card{max-width:820px;margin:24px auto}.account-status{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.account-status>div{background:var(--panel2);border-radius:10px;padding:14px}.account-status span,.account-status strong{display:block}.account-status strong{margin-top:5px}.upgrade-card{text-align:center}.lock-icon{font-size:3rem}.upgrade-features{display:grid;gap:8px;text-align:left;max-width:520px;margin:22px auto;background:var(--panel2);border-radius:12px;padding:18px}.pricing-mini{display:flex;justify-content:center;gap:14px;align-items:center;flex-wrap:wrap;margin:20px 0}.pricing-mini strong{color:var(--gold);font-size:1.2rem}@media(max-width:620px){.account-status{grid-template-columns:1fr}.calendar-head{grid-template-columns:40px 1fr 40px}.calendar-arrow{width:36px;height:36px}}
.pricing-choice{display:grid;grid-template-columns:repeat(2,minmax(180px,260px));gap:14px;justify-content:center;margin:24px 0}.pricing-choice form{margin:0}.price-button{width:100%;min-height:118px;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:12px;padding:15px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.price-button:hover,.price-button.featured{border-color:var(--gold)}.price-button span{font-size:.72rem;letter-spacing:.12em;color:var(--muted)}.price-button strong{font-size:1.4rem;color:var(--gold)}.price-button small{color:var(--muted)}.pricing-choice.compact{margin:18px 0}@media(max-width:620px){.pricing-choice{grid-template-columns:1fr}}


/* v1.5.1 account welcome-page polish */
.account-launch-actions{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px;margin:28px auto 20px;max-width:650px}.account-primary-action{font-size:1.15rem;padding:18px 22px;text-align:center}.account-settings-actions{margin-top:8px}.account-billing-actions{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:18px}.account-billing-actions form{margin:0;text-align:center}.account-billing-actions .btn{min-width:285px}.account-card>h1{text-align:center}@media(max-width:620px){.account-launch-actions{grid-template-columns:1fr}.account-primary-action{width:100%}.account-billing-actions .btn{min-width:0;width:100%}.account-billing-actions form{width:100%}}

/* v1.5.2 navigation terminology */


/* v1.5.3 launch-polish: emphasize end-of-duty transition without changing compliance logic */
.btn.warning:hover{filter:brightness(1.06)}

/* v1.5.4 calendar readability */
.calendar-wrap{overflow-x:auto;padding-bottom:4px}.calendar-wrap>.calendar{min-width:760px}.weekday-row{margin-bottom:7px}.weekday{font-weight:900;text-align:center;color:var(--muted);padding:5px 2px}.calendar-blank{background:transparent;border-style:dashed;opacity:.28}.day-name{display:none}.day-number{font-weight:900}@media(max-width:860px){.day-name{display:inline}.calendar-wrap>.calendar{min-width:700px}}

/* v1.8.0 field-tester UX */
:root{--red:#ff3b30;--danger-soft:#3a1517;--sidebar-width:236px;color-scheme:dark}
html[data-theme="light"]{--bg:#f4f7f9;--panel:#fff;--panel2:#eaf0f4;--line:#c6d2da;--text:#17232b;--muted:#526772;--gold:#c68100;--green:#087a50;--red:#d71920;--blue:#1268ad;--amber:#b46d00;--danger-soft:#fff0f0;color-scheme:light}
@media(prefers-color-scheme:light){html[data-theme="system"]{--bg:#f4f7f9;--panel:#fff;--panel2:#eaf0f4;--line:#c6d2da;--text:#17232b;--muted:#526772;--gold:#c68100;--green:#087a50;--red:#d71920;--blue:#1268ad;--amber:#b46d00;--danger-soft:#fff0f0;color-scheme:light}}
body{line-height:1.45}.brand{display:flex;align-items:center;text-decoration:none}.brand img{display:block;width:142px;height:auto}.brand-large img{width:188px}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);background:#09131c;border-right:1px solid #29404f;padding:26px 18px;z-index:40;display:flex;flex-direction:column;color:#f2f6f8}.side-links{display:grid;gap:7px;margin-top:34px}.side-links a{padding:11px 12px;border-radius:9px;text-decoration:none;color:#c9d4dc;font-weight:800}.side-links a:hover,.side-links a:focus{background:#162633;color:white}.side-links .side-cta{margin-top:14px;background:#f5b82e;color:#17130a}.sidebar-footer{margin-top:auto;display:grid;gap:9px}.theme-label{font-size:.78rem;color:#9eb0bd;margin:0}.theme-toggle{background:#162633!important;color:#fff!important;border-color:#355063!important}.full-width{width:100%}.app-page{margin-left:calc(var(--sidebar-width) + 24px);width:min(1180px,calc(100% - var(--sidebar-width) - 48px))}.mobile-header{display:none}.workspace-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:26px}.workspace-tabs a{padding:12px 20px;text-decoration:none;color:var(--muted);font-weight:900;border-bottom:4px solid transparent}.workspace-tabs a.selected{color:var(--text);border-bottom-color:var(--gold)}.floating-add{display:none;position:fixed;right:24px;bottom:24px;z-index:32;background:var(--gold);color:#17130a;padding:13px 18px;border-radius:99px;text-decoration:none;font-weight:900;box-shadow:0 8px 28px rgba(0,0,0,.28)}
.card{padding:24px;margin-bottom:22px}.grid{gap:20px}.two,.three{gap:18px 22px}.field,label{margin:14px 0}.form-section{border:1px solid var(--line);border-radius:13px;padding:18px;margin:18px 0;background:color-mix(in srgb,var(--panel) 82%,var(--panel2))}.form-section h2,.form-section h3{margin-top:0}.conditional[hidden]{display:none!important}.form-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px}
.status-label{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;letter-spacing:.05em;font-weight:900;text-transform:uppercase}.status-label::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--green)}.status-label.violation::before,.status-label.non_compliant::before{background:var(--red)}.status-label.incomplete::before{background:var(--amber)}.report-finding.violation,.result-card.violation,.result-card.non_compliant{border:4px solid var(--red);background:var(--danger-soft)}.duty-chip.violation{border-left-width:7px;border-left-color:var(--red)}.finding.violation{color:var(--red);font-weight:700}
.status-label.warning::before,.status-label.data_required::before{background:var(--amber)}.record-violation,.record-row.violation,.record-row.non_compliant{border-left:7px solid var(--red)!important}.danger-zone{border-color:var(--red)}
html[data-theme="light"] input,html[data-theme="light"] select,html[data-theme="light"] textarea{background:#fff;color:#17232b}@media(prefers-color-scheme:light){html[data-theme="system"] input,html[data-theme="system"] select,html[data-theme="system"] textarea{background:#fff;color:#17232b}}[hidden]{display:none!important}html[data-theme="light"] .btn.secondary{background:#162633;color:#fff;border-color:#355063}html[data-theme="light"] .btn.secondary:disabled{background:#dce5eb;color:#6f818c;border-color:#c6d2da}
input[type="date"]::-webkit-calendar-picker-indicator,input[type="datetime-local"]::-webkit-calendar-picker-indicator{opacity:1;filter:invert(1)}html[data-theme="light"] input[type="date"]::-webkit-calendar-picker-indicator{filter:none}@media(prefers-color-scheme:light){html[data-theme="system"] input[type="date"]::-webkit-calendar-picker-indicator{filter:none}}
.tour-overlay{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:100;display:grid;place-items:center;padding:20px}.tour-overlay[hidden]{display:none}.tour-card{width:min(520px,100%);background:var(--panel);border:2px solid var(--gold);border-radius:18px;padding:30px;box-shadow:0 20px 60px rgba(0,0,0,.5)}.tour-progress{color:var(--gold);font-weight:900;font-size:.82rem}.tour-copy{color:var(--muted);font-size:1.05rem;line-height:1.6}
@media(max-width:900px){.sidebar{transform:translateX(-105%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.mobile-header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:8px 18px;background:#09131c;border-bottom:1px solid #29404f;position:sticky;top:0;z-index:35}.mobile-header .brand img{width:145px}.nav-toggle{border:1px solid #355063;background:#162633;color:white;border-radius:8px;font-size:1.35rem;padding:6px 11px}.app-page{margin-left:auto;width:min(1180px,93%)}.mobile-nav{display:none!important}.floating-add{display:block;right:14px;bottom:14px}.floating-add span{display:none}}
@media(max-width:620px){.card{padding:18px}.page{padding-top:18px}.workspace-tabs a{flex:1;text-align:center;padding:10px 6px}.actions,.form-actions{align-items:stretch}.actions .btn,.form-actions .btn{flex:1;text-align:center}}
@media print{html,body{background:#fff!important;color:#000!important;color-scheme:light}.sidebar,.mobile-header,.floating-add,.workspace-tabs,.tour-overlay{display:none!important}.app-page{margin:0;width:100%;max-width:none}.card,.stat,.report-finding,.finding-block,.result-card,.result-stats div,.note{background:#fff!important;color:#000!important;border-color:#777!important;box-shadow:none!important}.muted,.disclaimer,th{color:#444!important}.finding.violation{color:#900!important}.scroll{overflow:visible}table{min-width:0;font-size:9pt}a{color:#000;text-decoration:none}}

/* v1.8.0.3 responsive calendar and light-mode contrast */
.calendar-wrap{overflow:visible}.calendar-wrap>.calendar{min-width:0}.day{min-width:0;background:var(--panel2);color:var(--text);overflow:hidden}.day-link{text-decoration:none}.duty-chip{color:var(--text);overflow-wrap:anywhere}
html[data-theme="light"] .day{background:#f7f9fb;border-color:#c6d2da;color:#17232b}html[data-theme="light"] .calendar-blank{background:transparent}html[data-theme="light"] .duty-chip{background:#fff0f0;color:#17232b;border-left-color:#d71920}
@media(max-width:620px){.calendar-card{padding:12px}.calendar{gap:3px}.weekday{font-size:.68rem;padding:3px 0}.day{min-height:62px;border-radius:5px;padding:4px;font-size:.72rem}.day-name{display:none}.duty-chip{font-size:.58rem;line-height:1.2;padding:3px;margin-top:3px}.calendar-head h2{font-size:1.15rem}}

/* v1.9.0.2 group checkout + light-mode compliance finding readability */
.report-finding{background:color-mix(in srgb,var(--panel) 78%,var(--panel2))}
.group-select{margin-top:8px;padding:8px 11px;font-size:.78rem;white-space:nowrap}
html[data-theme="light"] .report-finding{background:#f7f9fb;color:#17232b}
@media(prefers-color-scheme:light){html[data-theme="system"] .report-finding{background:#f7f9fb;color:#17232b}}

/* v1.9.0.3: content cards use the same theme palette as their text. */
.note,.contact-choice,.account-status>div,.upgrade-features,.price-button,.finding-block,.result-stats div,.recent-grid>div{color:var(--text)}
.contact-choice,.account-status>div{overflow-wrap:anywhere}
