/* ACZZ visual layer. Existing controls and semantic status colours are retained. */
:root{--ink:#071d30;--green:#00a9ce;--line:#dce6ef;--muted:#61758a;color:var(--ink);background:#f3f7fb}
body{background:#f3f7fb;color:var(--ink)}
header{min-height:102px;background:#fff;border-bottom:1px solid var(--line);padding-inline:max(5%,calc((100% - 1360px)/2))}
.brand-logo{width:238px;height:auto;aspect-ratio:1000/330;object-fit:contain}.brand-sub{font-size:14px;letter-spacing:.02em;color:#61758a;border-left:1px solid #dce6ef;padding-left:18px}
.private-label{color:#61758a}main{max-width:1360px;margin:auto;padding:42px 5% 64px}
.login-layout{gap:64px;min-height:calc(100vh - 220px);align-items:center}.intro{padding:40px 0}.intro .eyebrow{color:#0087a7;letter-spacing:.18em}.intro h1{font-size:clamp(38px,4.6vw,66px);line-height:1.08;letter-spacing:-.045em;max-width:650px}.intro h1 em{font-style:normal;color:#009fc3}.intro p{font-size:18px;line-height:1.8;color:#61758a;max-width:480px}.intro-footer{font-size:10px;font-weight:700;letter-spacing:.1em;color:#61758a;margin-top:42px}.dot{background:#00a9ce}
.card{border-color:var(--line);border-radius:20px;box-shadow:0 8px 28px #071d3006}.login-card{background:#fff;padding:38px;box-shadow:0 16px 50px #183d5710;border-top:4px solid #00a9ce}.login-card h2{letter-spacing:-.025em;font-size:27px}.eyebrow{color:#0087a7}
input,select{border-color:#cddbe7;border-radius:10px;background:#fbfdff}input:focus,select:focus,button:focus-visible{outline:3px solid #00a9ce66;outline-offset:3px}
button{border-color:var(--line);background:#f3f7fb}button.primary,.vacation-buttons button[type=submit]{color:#fff;background:#008eaf;border-color:#008eaf}button.primary:hover{background:#007e9b;filter:none}button.dark{background:#071d30}nav button.selected{background:#071d30}nav{scrollbar-width:thin}.clock{color:#071d30}.clock-card{background:#fff}.event-icon{background:#e8f7fb}.report-totals>div,.report-table th{background:#eaf3f8}.presence-person:hover{background:#eef8fc}.rule-check input{accent-color:#008eaf}dialog{border-color:var(--line);color:#071d30}dialog::backdrop,#vacation-dialog::backdrop{background:#071d3066}#vacation-dialog{color:#071d30}
footer{background:#fff;color:#61758a;border-color:var(--line);gap:12px}.brand{color:#071d30}
@media(max-width:900px){.login-layout{gap:30px}.intro h1{font-size:44px}.intro p{font-size:16px}.login-card{padding:28px}}
@media(max-width:740px){header{min-height:84px;padding:8px 18px}.brand-logo{width:180px}.brand-sub{padding-left:10px;font-size:11px}main{padding:22px 18px 36px}.login-layout{min-height:auto}.intro{padding:16px 4px 24px}.intro h1{font-size:38px;line-height:1.13;margin:14px 0}.intro p{font-size:15px;line-height:1.7;max-width:none}.intro-footer{display:none}.login-card{border-radius:16px;padding:24px}.login-card h2{font-size:24px}.card{border-radius:16px}.brand-sub{max-width:100px}.dashboard{gap:18px}footer{flex-wrap:wrap}}
@media print{body,main{background:#fff}main{max-width:none}.card{box-shadow:none}.brand{color:#071d30}.report-totals>div{background:#eaf3f8;print-color-adjust:exact}}
