:root{font-family:Inter,Arial,sans-serif;color:#202631;background:#f3f5f8;font-size:16px;line-height:1.5;--red:#9e0000;--line:#e1e5eb;--muted:#586577;--surface:#fff}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a{color:var(--red)}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #4379ce;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:1.8rem;line-height:1.25;letter-spacing:-.035em}h2{font-size:1.1rem}h3{font-size:1rem}p{color:var(--muted)}.shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{background:#19222f;color:#e6ebf3;padding:26px 16px;display:flex;flex-direction:column;gap:22px}.brand{display:flex;align-items:center;gap:10px;padding:0 8px}.mark{display:grid;place-items:center;background:var(--red);color:#fff;border-radius:9px;width:42px;height:42px;font-size:1.3rem;font-weight:800;flex:none}.brand strong{display:block;font-size:1rem}.brand small{color:#afb9c7;font-size:.75rem}.navlabel{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#a5b1c1;padding:6px 12px}.navlink{display:flex;text-decoration:none;gap:10px;align-items:center;color:#c9d2df;padding:10px 12px;margin-bottom:3px;border-radius:7px;font-size:.9rem}.navlink.active{background:#fff;color:#8d0808;font-weight:600}.navlink:hover:not(.active){background:#29374a}.navsymbol{width:21px;font-size:1rem;text-align:center}.sidebar-foot{margin-top:auto;font-size:.75rem;color:#aeb9c8;padding:12px}.workspace{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);padding:16px 30px;gap:12px}.topbar strong{font-size:.9rem}.identity{display:flex;align-items:center;gap:12px}.avatar{background:#f1e5e5;border-radius:50%;color:#870909;padding:8px;font-weight:600}.small{font-size:.8rem;color:var(--muted)}.content{padding:28px 30px 45px;max-width:1600px}.heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:6px}.subtitle{margin-top:7px;font-size:.9rem}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 14px;border-radius:6px;border:1px solid #cbd2dc;background:#fff;color:#263244;font-size:.875rem;text-decoration:none;min-height:40px}.button.primary{background:var(--red);border-color:var(--red);color:#fff}.button.danger{color:#9e0000}.button.quiet{background:transparent;border-color:transparent}.button.smallbtn{padding:5px 10px;min-height:34px;font-size:.8rem}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:20px}.panelhead{padding:17px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.panelbody{padding:20px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric{background:#fff;border:1px solid var(--line);border-radius:9px;padding:20px}.metric span{font-size:.875rem;color:var(--muted)}.metric strong{display:block;font-size:2rem;font-weight:650;margin:6px 0;line-height:1.2}.metric a{font-size:.8rem}.columns{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.task{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line)}.task:last-child{border:0}.task p{font-size:.875rem;margin-top:3px}.badge{display:inline-block;background:#edf1f6;border-radius:5px;padding:4px 8px;font-size:.75rem;font-weight:600;color:#40516a;white-space:nowrap}.badge.good{background:#e7f3ec;color:#22613e}.badge.warn{background:#fff2da;color:#795013}.badge.red{background:#f9e8e8;color:#951919}.toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:18px}.toolbar label{min-width:170px;flex:0 1 250px}.toolbar input,.toolbar select{margin:4px 0 0}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.formgrid .wide{grid-column:1/-1}label{font-size:.875rem;font-weight:500;display:block}input:not([type=checkbox]),select,textarea{width:100%;padding:10px 11px;margin-top:6px;border:1px solid #c9d1dd;border-radius:6px;background:#fff;color:#202631;min-height:44px}textarea{resize:vertical;min-height:92px}.check{display:flex;gap:9px;align-items:center;font-weight:400;padding:7px 0}.check input{width:18px;height:18px;margin:0}.hint{font-size:.8rem;color:var(--muted);margin-top:6px}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.875rem;text-align:left}th{background:#f8f9fb;font-weight:600;color:#506078;font-size:.8rem}td,th{padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}tbody tr:last-child td{border-bottom:0}td .small{display:block;margin-top:3px}.num{text-align:right;font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.empty{padding:40px 22px;text-align:center;color:var(--muted)}.empty strong{display:block;color:#283445;margin-bottom:8px}.flow{display:flex;gap:8px;flex-wrap:wrap}.flow span{background:#f0f3f7;border-radius:5px;padding:7px 11px;font-size:.8rem}.section-space{margin-top:20px}.error{background:#fff0ee;border:1px solid #eec5bf;color:#942717;padding:12px;border-radius:6px;margin:12px 0}.info{background:#eef3fa;color:#354b69;border:1px solid #d6e1f1;padding:12px;border-radius:6px;font-size:.875rem;margin-bottom:16px}.success{color:#22613e;background:#e7f3ec;padding:12px;border-radius:6px}dialog{border:0;border-radius:12px;padding:0;width:min(820px,calc(100% - 28px));max-height:90vh;color:#202631;background:#fff;box-shadow:0 18px 90px #11182755}dialog::backdrop{background:#101d325c}.dialoghead{padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.dialogbody{padding:24px}.dialogfoot{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding:18px 24px;background:#f8f9fb}.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:#19222f}.loginbox{background:white;border-radius:13px;max-width:460px;width:100%;padding:35px}.loginbox h1{margin:20px 0 8px;font-size:1.6rem}.loginbox label{margin-top:18px}.loginbox .button{width:100%;margin-top:22px}.loginbox .small{margin-top:20px}.detail-list{display:grid;grid-template-columns:150px 1fr;gap:12px;margin-top:16px}.detail-list dt{color:var(--muted);font-size:.875rem}.detail-list dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.lineitems{display:grid;grid-template-columns:1fr 2fr .8fr .8fr .8fr auto;gap:8px;align-items:end;margin:12px 0}.lineitems label{font-size:.8rem}.connection{display:flex;gap:16px;padding:22px}.connection-icon{background:#eef1f6;padding:14px;border-radius:10px;height:54px;font-weight:700}.connection p{font-size:.9rem;margin:8px 0}.loading{padding:50px;color:var(--muted)}#notice{position:fixed;bottom:24px;right:24px;max-width:calc(100% - 48px);padding:0;background:#1e344e;color:#fff;border-radius:8px;box-shadow:0 4px 20px #0002;z-index:10}#notice:not(:empty){padding:14px 20px}.reporttext{white-space:pre-wrap;overflow-wrap:anywhere}.applicant{max-width:780px;margin:30px auto;padding:24px}.mobile-only{display:none}button svg{width:16px;height:16px}@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.columns{grid-template-columns:1fr}.shell{grid-template-columns:195px minmax(0,1fr)}.content{padding:24px 20px}.topbar{padding-left:20px;padding-right:20px}.lineitems{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:740px){.shell{grid-template-columns:1fr}.sidebar{padding:15px;gap:12px}.sidebar .brand{padding:0}.sidebar nav{display:flex;overflow-x:auto;gap:5px;padding-bottom:4px}.navlabel,.sidebar-foot{display:none}.navlink{white-space:nowrap;margin:0;padding:8px 11px}.sidebar .brand strong{font-size:1rem}.topbar{padding:12px 16px}.topbar .small{display:none}.content{padding:22px 16px}.heading{flex-wrap:wrap;gap:12px}h1{font-size:1.5rem}.metric{padding:15px}.metric strong{font-size:1.6rem}.formgrid{grid-template-columns:1fr}.formgrid .wide{grid-column:auto}.dialogbody{padding:18px}.dialoghead,.dialogfoot{padding:16px 18px}.toolbar label{flex:1 1 160px}.task{padding:15px;align-items:flex-start;flex-wrap:wrap}.detail-list{grid-template-columns:1fr;gap:5px}.detail-list dd{margin-bottom:10px}.button{min-height:44px}.lineitems{grid-template-columns:repeat(2,minmax(0,1fr))}.loginbox{padding:25px}.panelhead{flex-wrap:wrap}.identity{gap:4px}}@media print{.sidebar,.topbar,.heading .actions,.toolbar,.button,#notice,dialog{display:none!important}.shell{display:block}.content{padding:0;max-width:none}.panel{break-inside:avoid;border-color:#bbb}table{font-size:10pt}.tablewrap{overflow:visible}.metric-grid{display:flex}.metric{flex:1}body{background:white}.columns{display:block}}

.company-logo{display:block;width:82px;height:52px;object-fit:contain;background:transparent;border-radius:0;padding:0;flex-shrink:0}.brand{flex-wrap:wrap}.loginbox>.company-logo,.applicant>.company-logo{width:150px;height:90px}

.checklist-item{border:1px solid var(--line);border-radius:8px;padding:18px;min-width:0}.checklist-item legend{font-weight:600;padding:0 8px}details summary{cursor:pointer;font-weight:600}

/* White identity area with the existing dark navigation. */
.sidebar>.brand{background:#fff;color:#202631;margin:-26px -16px 0;padding:22px 12px;flex-wrap:nowrap;gap:8px}.sidebar>.brand small{color:#586577}.sidebar>.brand .company-logo{width:64px;height:48px}.sidebar>.brand strong{font-size:.87rem;white-space:nowrap}
[hidden]{display:none!important}.paper-application{background:#fff;padding:24px}.paper-page{padding:10px 0 25px}.paper-brand{display:flex;align-items:center;gap:16px;margin-bottom:18px}.paper-field{min-height:55px;font-size:14px}.paper-line{height:30px;border-bottom:1px solid #777}.paper-tall .paper-line{height:66px}.paper-page+.paper-page{border-top:1px solid #ccc;padding-top:25px}
@media(max-width:740px){.sidebar>.brand{margin:-15px -15px 0;padding:14px 16px}.sidebar>.brand strong{font-size:1rem}}
@media print{.paper-application{padding:0}.paper-page{break-after:page;padding:0}.paper-page:last-child{break-after:auto}.paper-page+.paper-page{border:0;padding-top:0}.paper-page .formgrid{grid-template-columns:1fr 1fr;gap:10px}.paper-page .section-space{margin-top:12px}.paper-page p{font-size:10pt}.paper-brand .company-logo{width:65px;height:42px}.paper-page .paper-field{min-height:48px}.paper-application~*{display:none}}

@media(min-width:741px) and (max-width:1050px){.sidebar>.brand .company-logo{width:42px}.sidebar>.brand strong{font-size:.8rem}.sidebar>.brand small{font-size:.65rem}}
@media print{.content:has(.paper-application)>.heading{display:none}.paper-page .paper-field{min-height:36px}.paper-page .paper-line{height:24px}.paper-page .paper-tall .paper-line{height:44px}.paper-page .formgrid{gap:8px}.paper-page .section-space{margin-top:10px}.paper-page h2{font-size:13pt}.paper-page h3{font-size:11pt}}

/* Guided onboarding: usable without reducing browser zoom. */
.applicant.journey{max-width:900px;width:calc(100% - 24px);margin:24px auto}
.journey-nav{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.journey-nav .button{font-size:13px;min-height:40px}
.journey .panelbody{padding:24px}
.journey details>summary{cursor:pointer;font-weight:600}
@media(max-width:600px){.journey-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.journey-nav .button{padding:8px 4px;font-size:11px;white-space:normal}.journey .panelbody{padding:16px}.journey .task{flex-wrap:wrap;gap:8px}}

[data-ssn-input][readonly]{background:#f3f5f7;color:#263445;cursor:default;}

.journey-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;border-top:1px solid var(--line)}
.journey-footer-back{flex:1}.journey-footer-next{display:flex;justify-content:flex-end;flex:1}.journey-exit{display:flex;align-items:center;gap:14px}.journey-exit .hint{max-width:560px}.form-step-actions{justify-content:flex-end}
@media(max-width:600px){.journey-footer{align-items:stretch;gap:10px}.journey-footer .button{width:100%;white-space:normal}.journey-exit{align-items:flex-start;flex-direction:column}.form-step-actions{justify-content:stretch}.form-step-actions .button{flex:1}}

.form-pdf-preview{width:100%;height:65vh;min-height:360px;border:1px solid #ccd3df;border-radius:6px;background:white}.review-actions{position:sticky;bottom:0;background:#fff;padding:14px 0;border-top:1px solid #dce1e8;z-index:2}

.paper-pdf-preview{display:block;width:100%;height:65vh;border:1px solid #cbd3df;margin-top:12px;}

.language-choice{display:flex;justify-content:flex-end;margin:0 0 14px}.language-choice label{display:flex;align-items:center;gap:8px;font-size:.85rem}.language-choice select{width:auto;min-width:115px}.language-help{border-left:3px solid #a60000;padding:10px 12px;background:#faf3f3;margin:12px 0;font-size:.9rem}
.crew-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin:18px 0;gap:3px}.crew-tab{border:1px solid #dce2e9;background:white;padding:10px;cursor:pointer;text-align:left;color:#193044}.crew-tab span,.crew-tab strong,.crew-tab small{display:block}.crew-tab.selected{background:#193044;color:white}.crew-row{border:1px solid #dce2e9;border-radius:6px;margin:12px 0;padding:14px;min-width:0}.crew-main{display:grid;grid-template-columns:minmax(165px,1.5fr) repeat(3,minmax(105px,1fr)) 65px minmax(100px,1fr);gap:12px;align-items:center}.crew-main input{width:100%;min-width:0}.crew-hours{display:block;font-size:20px}.crew-locations{display:flex;flex-wrap:wrap;gap:12px;align-items:end;background:#f3f8f7;padding:12px;margin:12px -4px}.crew-locations label{flex:1;min-width:110px}.crew-return{color:#a40000}.crew-save{position:sticky;bottom:0;padding:14px;background:white;border-top:1px solid #dce2e9}.crew-row:disabled{opacity:.8}.crew-main .actions{flex-wrap:wrap}@media(max-width:800px){.crew-main{grid-template-columns:repeat(2,minmax(0,1fr))}.crew-main>div:first-child{grid-column:1/-1}.crew-tab{padding:7px 3px}.crew-tab small{font-size:10px}}

.crew-quick{border:1px solid #ccd5df;border-radius:6px;background:#f7f9fb}.crew-quick>summary{padding:14px;font-weight:700;cursor:pointer}.crew-quick-workers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.crew-quick-workers label{display:flex;gap:8px;align-items:center;padding:8px;background:white}.crew-quick input[type=checkbox]{width:auto}.crew-absent{background:#f2f4f7}.crew-attendance{font-weight:600;color:#654412}@media(max-width:600px){.crew-quick-workers{grid-template-columns:1fr}}

/* Grouped navigation: all sections start open, collapse is optional. */
.sidebar nav{display:block;min-width:0}
.navgroup{margin:7px 0;border:0;padding:0}
.navgroup>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;color:#c2ccda;font-size:.75rem;font-weight:600;letter-spacing:.045em;text-transform:uppercase;border-radius:6px}
.navgroup>summary::-webkit-details-marker{display:none}
.navgroup>summary::after{content:'›';font-size:1.15rem;line-height:1;transform:rotate(0deg)}
.navgroup[open]>summary::after{transform:rotate(90deg)}
.navgroup>summary:hover{background:#29374a}
.navgroup>summary:focus-visible,.menu-toggle:focus-visible{outline:2px solid white;outline-offset:2px}
.navgroup .navlink{padding:8px 12px;margin-bottom:2px}
.menu-toggle{display:none}
@media(max-width:740px){
 .sidebar .menu-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:10px 12px;background:#29374a;color:white;border:1px solid #586579;border-radius:6px;text-align:left;font-weight:600}
 .menu-toggle span{font-size:.8rem;font-weight:400;color:#d4dce8}
 .sidebar nav{display:none;overflow:visible;padding:0}
 .sidebar.menu-open nav{display:block}
 .navgroup .navlink{white-space:normal;min-height:44px}
 .navgroup>summary{min-height:44px}
}

.crew-row-invalid{border:2px solid #b51c2b;background:#fffafa}.crew-row [aria-invalid="true"]{border:2px solid #b51c2b}.crew-save #crew-save-error{flex-basis:100%}.crew-row-error{margin:10px 0 0}

.crew-weekly{margin:0 0 18px;border-bottom:1px solid var(--line);padding-bottom:12px}.crew-weekly>summary{cursor:pointer;font-weight:600;padding:8px 0}.crew-weekly>summary .small{margin-left:12px;font-weight:400}.crew-weekly .tablewrap{margin-top:12px}.crew-weekly table{min-width:780px}.crew-weekly tbody th{background:white;color:inherit;font-weight:500;min-width:190px}.crew-weekly td,.crew-weekly th{padding:9px 12px}.crew-weekly-status{display:block;font-size:.68rem;font-weight:400;color:var(--muted);white-space:nowrap;margin-top:3px}.crew-weekly tfoot{background:#f4f7fa}.crew-weekly .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Payroll setup sections keep existing forms and tables mounted when collapsed. */
.union-section>summary{display:flex;align-items:center;gap:12px;cursor:pointer;padding:18px 20px;font-weight:600;list-style:none;min-height:56px}
.union-section>summary::-webkit-details-marker{display:none}
.union-section>summary::before{content:'›';font-size:22px;line-height:1;transition:transform .15s}
.union-section[open]>summary::before{transform:rotate(90deg)}
.union-section>summary:focus-visible{outline:2px solid #a00000;outline-offset:-3px}
.union-section[open]>summary{border-bottom:1px solid #dce2eb}
.union-section-count{margin-left:auto;white-space:nowrap;font-size:12px;font-weight:400;color:#52647b;background:#f1f4f8;border-radius:12px;padding:3px 9px}
.union-agreements{padding:12px}
.union-agreements>.union-agreement{margin:0 0 10px}
.union-agreements>.union-agreement:last-child{margin-bottom:0}
@media(max-width:600px){.union-section>summary{padding:14px 12px}.union-agreements{padding:8px}}

.paper-tax-review-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.paper-tax-review-layout .form-pdf-preview{height:70vh}.paper-tax-review-layout form{min-width:0}@media(max-width:800px){.paper-tax-review-layout{grid-template-columns:1fr}}

.crew-quick-hours{display:block;width:5.5rem;max-width:100%;margin-top:6px;padding:6px 8px;border:1px solid var(--border,#c8d1df);border-radius:6px;background:#f5f7fa;text-align:center;font-variant-numeric:tabular-nums;font-weight:600;color:#172332}

.expiration-overdue{background:#fee2e2;color:#991b1b}.expiration-soon{background:#fef3c7;color:#92400e}.medical-row{padding:16px;border:1px solid #d5dce5;border-radius:8px}

.crew-order-list{list-style:none;padding:0;max-height:55vh;overflow:auto}.crew-order-list li{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid #d5dce5;border-radius:6px;margin:5px 0;background:white}.crew-order-list strong{flex:1}.crew-order-grip{cursor:grab;font-size:22px}

