:root{--navy:#0b1f33;--navy2:#163652;--cyan:#22d3ee;--bg:#f3f6f8;--text:#102235;--muted:#64748b;--border:#dce4ea;--white:#fff;--danger:#b42318;--warning:#92400e;--success:#166534;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.button-link,.primary-link{border:0;border-radius:9px;background:var(--navy);color:#fff;padding:.78rem 1rem;font-weight:700;text-decoration:none;cursor:pointer}.brand-mark{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;background:var(--cyan);color:var(--navy);font-weight:900}.brand{display:flex;align-items:center;gap:.75rem}.brand small,.sidebar-user small,td small{display:block;color:#94a3b8}.eyebrow{color:#67e8f9;font-size:.78rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.eyebrow.dark{color:#087f8c}.muted{color:var(--muted)}label{display:grid;gap:.45rem;font-size:.9rem;font-weight:700}input,select{width:100%;border:1px solid var(--border);border-radius:9px;background:#fff;padding:.78rem;color:var(--text)}input:focus,select:focus{outline:3px solid #22d3ee33;border-color:#0891b2}.notice,.demo-note,.warning-panel{border-radius:12px;padding:1rem}.notice.error{background:#fff1f0;color:var(--danger);border:1px solid #fecaca}.notice.success{background:#f0fdf4;color:var(--success);border:1px solid #bbf7d0}.login-shell{display:grid;min-height:100vh;background:var(--navy)}.login-intro{display:none}.login-panel{display:grid;place-items:center;background:#fff;padding:2rem}.login-form{width:min(390px,100%);display:grid;gap:1.2rem}.login-form h2{font-size:2rem;margin:0}.login-form p{margin:0}.install-page{min-height:100vh;display:grid;place-items:center;padding:2rem}.install-card{width:min(560px,100%);background:#fff;border-radius:16px;padding:2rem;box-shadow:0 16px 50px #0b1f3318}.install-card form{display:grid;gap:1rem}.button-link{display:inline-block}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--navy);color:#fff;display:flex;flex-direction:column;padding:1.25rem}.sidebar nav{display:grid;gap:.35rem;margin-top:2rem}.sidebar nav a{color:#cbd5e1;padding:.8rem 1rem;border-radius:9px;text-decoration:none}.sidebar nav a.active{background:var(--cyan);color:var(--navy);font-weight:800}.sidebar-user{margin-top:auto;border-top:1px solid #ffffff1a;padding-top:1rem}.text-button{background:transparent;color:#cbd5e1;padding:.6rem 0}.app-main{min-height:100vh;margin-left:250px}.topbar{height:82px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 2rem}.topbar small{color:var(--muted)}h1,h2,p{margin-top:0}.topbar h1{margin:.15rem 0 0;font-size:1.35rem}.content{max-width:1450px;margin:auto;padding:2rem}.warning-panel{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fffbeb;border:1px solid #fcd34d;color:var(--warning);margin-bottom:1rem}.warning-panel p{margin:.25rem 0 0}.password-form{display:flex;gap:.5rem}.password-form input{min-width:170px}.demo-note{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;margin-bottom:1.25rem}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.metric-grid article,.panel{background:#fff;border-radius:14px;box-shadow:0 5px 18px #0b1f330d}.metric-grid article{padding:1.3rem;display:grid;gap:.75rem}.metric-grid article span,.metric-grid article small,.panel-heading p{color:var(--muted)}.metric-grid article strong{font-size:1.9rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:1.25rem;margin-top:1.25rem}.panel{padding:1.35rem;margin-top:1.25rem;min-width:0}.dashboard-grid .panel{margin-top:0}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.panel-heading h2{margin-bottom:.25rem}.panel-heading p{margin:0}.impact-panel{background:var(--navy);color:#fff;border-radius:14px;padding:1.5rem}.impact-panel>strong{font-size:2.5rem}.impact-panel>p{color:#cbd5e1}.impact-panel>div{display:flex;justify-content:space-between;background:#ffffff12;border-radius:8px;padding:.65rem .8rem;margin-top:.5rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:650px}th,td{text-align:left;padding:.9rem;border-bottom:1px solid #edf1f4;white-space:nowrap}th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.empty{text-align:center;color:var(--muted);padding:2rem}.reason-list{display:grid;gap:1rem}.reason-list>div{display:grid;grid-template-columns:1fr auto;gap:.4rem}.reason-list i{grid-column:1/-1;height:7px;background:linear-gradient(90deg,#06b6d4 var(--width),#e8eef2 var(--width));border-radius:10px}.leave-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.leave-form .wide,.form-actions{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:1rem}.form-actions a{color:var(--muted)}.report-actions,.report-actions form{display:flex;align-items:center;gap:.5rem}.report-actions a{color:var(--navy);font-weight:700}.report-actions input{width:auto}
@media(min-width:900px){.login-shell{grid-template-columns:1.15fr .85fr}.login-intro{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:3.5rem;color:#fff;background:radial-gradient(circle at 20% 20%,#22d3ee38,transparent 35%),radial-gradient(circle at 80% 70%,#3b82f62e,transparent 40%),var(--navy)}.login-intro h1{font-size:3rem;line-height:1.1}.login-intro p:not(.eyebrow){max-width:600px;color:#cbd5e1;font-size:1.1rem;line-height:1.7}}
@media(max-width:900px){.sidebar{position:static;width:auto}.sidebar nav{grid-template-columns:repeat(3,1fr);margin-top:1rem}.sidebar-user{display:none}.app-main{margin-left:0}.metric-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.warning-panel,.password-form{align-items:stretch;flex-direction:column}.topbar,.content{padding-left:1rem;padding-right:1rem}}
@media(max-width:560px){.metric-grid{grid-template-columns:1fr}.sidebar nav a{font-size:.82rem;padding:.7rem .45rem;text-align:center}.topbar{height:auto;padding-top:1rem;padding-bottom:1rem}.leave-form{grid-template-columns:1fr}.leave-form .wide,.form-actions{grid-column:auto}.panel-heading,.report-actions,.report-actions form{align-items:stretch;flex-direction:column}.primary-link{padding:.7rem}.content{padding-top:1rem}}
