:root{color-scheme:dark;--bg:#090f20;--panel:#121c31;--panel2:#152339;--border:#293953;--text:#e9efff;--muted:#9db0ca;--mint:#55e7c4;--mintdark:#153d3a;--amber:#f6c768;--red:#ff8189;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 75% 0%,#142c42 0%,transparent 33%),var(--bg);color:var(--text);font-size:15px;line-height:1.55}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid #69f6d9;outline-offset:2px}.shell{max-width:1220px;margin:auto;padding:0 30px}.topbar{border-bottom:1px solid #1a293e}.bar-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-size:24px;font-weight:820;letter-spacing:-1px;display:flex;align-items:center;gap:7px}.brandmark{display:inline-grid;place-items:center;color:var(--mint);font-size:26px;border:1px solid #36756e;background:#11383b;border-radius:12px;width:39px;height:39px;margin-right:5px}.accent{color:var(--mint)}.beta{font-size:11px;letter-spacing:.06em;font-weight:700;border:1px solid #466275;color:#b7c9db;border-radius:20px;padding:3px 8px;margin-left:6px}.local-pill{font-size:12px;color:var(--mint);background:#0e3537;border:1px solid #225953;border-radius:99px;padding:9px 14px;white-space:nowrap}.dot{display:inline-block;background:var(--mint);width:7px;height:7px;border-radius:50%;margin-right:6px}.hero{padding:62px 0 30px}.eyebrow{letter-spacing:.16em;color:var(--mint);font-size:12px;font-weight:800}.eyebrow.small{color:#8dbbfb;font-size:11px;letter-spacing:.08em}h1{font-size:clamp(38px,5vw,67px);line-height:1.08;letter-spacing:-.05em;margin:15px 0 18px;max-width:930px}h2{font-size:24px;letter-spacing:-.035em;margin:8px 0}p{margin-top:0}.hero p{max-width:750px;font-size:17px;color:var(--muted)}.hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:24px}.btn{border:1px solid #3a506b;border-radius:11px;padding:11px 17px;color:var(--text);font-weight:700;background:#213149;min-height:44px}.btn:hover{filter:brightness(1.15)}.btn.primary{background:var(--mint);border-color:var(--mint);color:#07232b}.btn.secondary{background:#213049}.btn.danger{background:transparent;border-color:#754354;color:#ffadb1;padding:5px 11px;min-height:30px;font-size:12px}.notice{margin-top:18px;max-width:900px;background:#19283a;border:1px solid #2d4c62;border-radius:10px;padding:11px 15px;color:#b4d3e5;font-size:13px}.notice.error{background:#472632;color:#ffe2e2;border-color:#a54c57}.notice.success{background:#123b37;color:#b0ffeb;border-color:#2c786c}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:14px 0 24px}.kpi{min-height:157px;border:1px solid var(--border);background:var(--panel);border-radius:17px;padding:21px}.kpi.highlight{background:linear-gradient(135deg,#133637,#11283c);border-color:#34756d}.kpi-label{font-size:13px;color:var(--muted)}.big-figure{font-weight:800;letter-spacing:-.04em;font-size:clamp(23px,2.7vw,35px);line-height:1.2;margin:16px 0 8px}.kpi small{color:var(--muted);font-size:12px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:17px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:28px;margin-bottom:18px}.sectionhead{display:flex;align-items:start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{font-weight:650;font-size:13px;color:#d9e5f5;display:flex;flex-direction:column;gap:6px}label small{font-size:11px;font-weight:400;color:var(--muted)}input{background:#0d1728;border:1px solid #40526b;color:var(--text);height:44px;border-radius:10px;padding:9px 12px;min-width:0;width:100%}input::placeholder{color:#7289a5}input[type=date],input[type=time]{color-scheme:dark}.full{grid-column:1/-1}.muted{font-size:13px;color:var(--muted);margin-bottom:0}.tablewrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px}table{border-collapse:collapse;width:100%;min-width:760px;text-align:left}th{background:#1c2c43;color:#bad0ea;text-transform:uppercase;font-size:11px;letter-spacing:.04em;padding:15px}td{padding:13px 15px;border-top:1px solid var(--border);font-size:13px}tr:nth-child(even) td{background:#18263a}td.nodata{text-align:center;color:var(--muted);padding:24px}.table-footer{font-size:12px;color:var(--muted);margin-top:12px}.summarygrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.sumcard{background:#0d192a;border:1px solid var(--border);border-radius:11px;padding:15px}.sumcard span{display:block;color:var(--muted);font-size:12px}.sumcard strong{display:block;font-size:20px;margin-top:4px}.state{display:inline-block;padding:6px 11px;border-radius:8px;font-weight:750;font-size:13px}.state.ok{color:#aaffdb;background:#194536}.state.warn{color:#ffe3ab;background:#4e3c25}.state.info{color:#b5d6ff;background:#243c56}.disclaimer{margin-top:23px;border-top:1px solid var(--border);padding-top:16px;font-size:12px;color:#b3c1d3}.footer{display:flex;justify-content:space-between;gap:16px;padding:24px 0 35px;color:#94a6c0;font-size:12px}.footer a{color:#8fddd1}.reportline{font-size:13px;color:var(--muted);margin:10px 0}.reportline strong{color:var(--text)}@media(max-width:950px){.kpis{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.shell{padding:0 20px}}@media(max-width:520px){.bar-inner{min-height:72px}.local-pill{display:none}.hero{padding:38px 0 22px}.kpis{gap:10px}.kpi{padding:16px;min-height:140px}.panel{padding:18px}.form-grid{gap:11px}.summarygrid{grid-template-columns:1fr}.footer{flex-direction:column}}@media print{:root{color-scheme:light;--text:#122031;--muted:#44546b;--border:#c3cbd5;--panel:white}body{background:white;color:#122031}.shell{max-width:none;padding:0 10px}.topbar,.hero,.kpis,.two-col,.shiftpanel,.footer,.btn,.noprint{display:none!important}.reportpanel{border:0;padding:0}.reportpanel h2{font-size:28px}.reportpanel:before{content:'PayCheck — Gross Pay Review';display:block;font-weight:800;font-size:23px;margin:12px 0}.summarygrid{grid-template-columns:repeat(3,1fr)}.sumcard{background:white;color:#122031}.reportline strong{color:#122031}.state{border:1px solid #666;background:white!important;color:black!important}}

/* Print-only corrections for a complete, legible, non-scrolling PDF report. */
@page { size: A4; margin: 12mm 11mm; }
@media print {
  html, body { width: auto !important; height: auto !important; overflow: visible !important; }
  body { font-size: 11px; line-height: 1.28; }
  .shell { max-width: none !important; width: auto !important; padding: 0 !important; margin: 0 !important; }
  .reportpanel { padding: 0 !important; margin: 0 !important; border: 0 !important; break-inside: auto; }
  .reportpanel:before { font-size: 17px; margin: 0 0 4px; }
  .reportpanel .sectionhead { margin-bottom: 4px; }
  .reportpanel .eyebrow { font-size: 8px; }
  .reportpanel h2 { font-size: 19px; margin: 2px 0 5px; }
  .reportpanel h3 { font-size: 13px; margin: 10px 0 5px !important; }
  .reportpanel .state { font-size: 10px; padding: 3px 7px; }
  .reportpanel .reportline { font-size: 10px; line-height: 1.4; margin: 5px 0 !important; }
  .reportpanel .summarygrid { gap: 6px; margin: 7px 0; }
  .reportpanel .sumcard { padding: 7px 8px; border-radius: 4px; }
  .reportpanel .sumcard span { font-size: 9px; }
  .reportpanel .sumcard strong { font-size: 15px; margin-top: 1px; }
  .reportpanel .tablewrap { overflow: visible !important; max-width: none !important; width: 100% !important; border-radius: 0; }
  .reportpanel table, .reportpanel .report-table { width: 100% !important; min-width: 0 !important; table-layout: fixed; font-size: 10px; }
  .reportpanel .report-table th, .reportpanel .report-table td { padding: 5px 7px; font-size: 10px; overflow-wrap: anywhere; }
  .reportpanel .report-table th:nth-child(1) { width: 23%; }
  .reportpanel .report-table th:nth-child(2) { width: 23%; }
  .reportpanel .report-table th:nth-child(3) { width: 18%; }
  .reportpanel .report-table th:nth-child(4) { width: 18%; }
  .reportpanel .report-table th:nth-child(5) { width: 18%; }
  .reportpanel .report-table thead { display: table-header-group; }
  .reportpanel .report-table tr { break-inside: avoid; page-break-inside: avoid; }
  .reportpanel .disclaimer { font-size: 9px; line-height: 1.35; margin-top: 8px; padding-top: 7px; break-inside: avoid; }
  .reportpanel .reportline:last-child { break-inside: avoid; }
}
@media print {
  .reportpanel .report-table th { background: #e7edf5 !important; color: #1d3149 !important; }
  .reportpanel .report-table td { background: #fff !important; color: #14263b !important; }
  .reportpanel .report-table tr:nth-child(even) td { background: #f4f7fa !important; color: #14263b !important; }
  .reportpanel .disclaimer, .reportpanel .disclaimer strong { color: #26394f !important; }
}

/* iOS safe areas; print layout remains unchanged. */
@media screen {
 body { min-height:100vh; min-height:100dvh; }
 .topbar .bar-inner { padding-top:env(safe-area-inset-top); }
 .footer { padding-bottom:max(24px,env(safe-area-inset-bottom)); }
 input, select, textarea {font-size:16px;} /* prevent automatic focus zoom on iOS */
 .hero-actions .btn {touch-action:manipulation;}
}
