:root{--bg:#f0f5fa;--surface:#fff;--surface-alt:#f4f8fc;--ink:#18344c;--muted:#536d82;--line:#dce6ef;--blue:#176495;--hover:#e9f2fa;--shadow:0 6px 24px #183c6510;color-scheme:light;background:var(--bg);color:var(--ink)}
:root[data-theme=dark]{--bg:#0d1723;--surface:#152333;--surface-alt:#1b2d40;--ink:#e3eef8;--muted:#a8bdd0;--line:#30465c;--blue:#85c8f2;--hover:#253c52;--shadow:0 6px 24px #0002;color-scheme:dark}
body{background:var(--bg);color:var(--ink)}button,input,select,textarea{background:var(--surface);color:var(--ink);border-color:var(--line);border-radius:9px}button:hover{background:var(--hover)}button:focus-visible,input:focus,select:focus,textarea:focus{outline-color:#75b8e7}.primary{background:#176495;border-color:#176495;color:#fff;box-shadow:0 3px 8px #123d6220}.primary:hover{background:#104e79}.sidebar{background:linear-gradient(165deg,#153f60,#102c46);padding:28px 18px;color:#e7f2fb}.sidebar button{color:#d6e7f5;padding:13px 14px;border-radius:10px}.sidebar button:hover{background:#ffffff10}.sidebar button.active{background:#285777;box-shadow:inset 3px 0 #8acdf1}.sidebar .user{border-color:#38556e}.brand{gap:10px;margin-bottom:34px}.brand-logo{width:57px;height:57px;object-fit:contain;flex-shrink:0;background:#f0f7fc;border-radius:14px;padding:5px}.brand-name{font-size:10px;letter-spacing:1.1px;font-weight:600;line-height:1.5}.brand-name strong{display:block;font-size:15px;letter-spacing:.2px;line-height:1.35;margin-top:3px}.shell{grid-template-columns:258px 1fr}.topbar{background:var(--surface);border-color:var(--line);color:var(--muted);padding:15px 34px;gap:16px}.topbar-tools{display:flex;align-items:center;gap:20px}.theme-toggle{display:inline-flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap;padding:9px 12px}.theme-icon:before{content:'☾';font-size:18px;line-height:1}:root[data-theme=dark] .theme-icon:before{content:'☀'}.content{padding:32px}.heading{margin-bottom:28px}h1{font-size:29px;letter-spacing:-.8px}.muted,.card span,.empty,td small,.notice-item small{color:var(--muted)}.card,.panel,.login,dialog{background:var(--surface);border-color:var(--line);color:var(--ink);box-shadow:var(--shadow);border-radius:14px}.card{padding:23px}.card strong{font-size:35px;letter-spacing:-1px}.panel{padding:25px}.panel-title{gap:14px}th{background:var(--surface-alt);color:var(--muted)}td,th{border-color:var(--line)}tbody tr:hover{background:var(--surface-alt)}.link{background:transparent;color:var(--blue)}.closing-info{background:#e6f2fb;border-color:#c7def0;border-left-color:#277cad}.closing-info small{color:var(--muted)}.closing-info.closed{background:#fff4e4;border-color:#e9c58e}.notice-item{border-color:var(--line)}.note{background:var(--surface-alt);border-left-color:#4e9dd0}.login{max-width:485px;padding:32px 38px;margin:7vh auto}.login .brand{color:var(--ink);margin:15px 0 32px}.login .brand-logo{width:74px;height:74px}.login .brand-name{font-size:12px}.login .brand-name strong{font-size:20px}.login-tools{display:flex;justify-content:flex-end}.login .primary{padding:13px}.login h1{font-size:27px}dialog::backdrop{background:#05132199;backdrop-filter:blur(3px)}#notice:not(:empty){background:#163f60;color:#fff;box-shadow:0 8px 30px #0004}
:root[data-theme=dark] .closing-info{background:#19364b;border-color:#305773;border-left-color:#78bdea}:root[data-theme=dark] .closing-info.closed{background:#3b3020;border-color:#79623e}:root[data-theme=dark] .badge{background:#203f39;color:#b8e8cf}:root[data-theme=dark] .badge.falta{background:#4a2e2d;color:#ffc1b6}:root[data-theme=dark] .badge.atestado{background:#433c24;color:#f4da8b}:root[data-theme=dark] .badge.folga{background:#203c5b;color:#b9d8ff}:root[data-theme=dark] .badge.troca{background:#3a3053;color:#decbff}:root[data-theme=dark] .error,:root[data-theme=dark] .form-error{background:#442b2c;color:#ffc5bd}:root[data-theme=dark] .demo{background:#3b3221;color:#f6d797}
@media(max-width:1050px){.shell{grid-template-columns:225px 1fr}.brand-logo{width:48px;height:48px}.brand-name strong{font-size:13px}.content{padding:24px}.topbar{padding:15px 24px}}
@media(max-width:640px){.shell{display:block}.sidebar{padding:18px 16px}.brand{margin-bottom:18px}.brand-name strong{font-size:16px}.sidebar nav button{padding:11px 13px}.sidebar .user{padding-top:12px}.topbar{padding:12px 16px;flex-wrap:wrap;font-size:12px}.topbar-tools{gap:12px}.content{padding:24px 16px}.panel{padding:16px}.card{padding:17px}.login{margin:24px 14px;padding:24px}.login .brand-name strong{font-size:17px}.login .brand-logo{width:62px;height:62px}h1{font-size:26px}.panel-title{flex-wrap:wrap}}
.card{border-top-color:var(--accent,#277cad)}
