:root{--navy:#071d35;--navy2:#0d2d4e;--red:#e32929;--gold:#f5a623;--bg:#f4f7fb;--text:#172536;--muted:#718096;--line:#e3e9f1;--green:#13a66b}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:linear-gradient(135deg,#06192e,#123e66)}.login-brand{padding:8vw;color:#fff;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 20% 30%,#e3292933,transparent 35%)}.mark{width:72px;height:72px;border-radius:20px;background:var(--red);display:grid;place-items:center;font-weight:900;font-size:30px;color:#fff;box-shadow:0 15px 40px #0004}.login-brand h1{font-size:48px;margin:25px 0 10px}.login-brand p{color:#bbcad9;font-size:18px}.login-panel{background:#fff;margin:4vw;border-radius:28px;padding:55px;align-self:center;box-shadow:0 30px 80px #0005}.login-panel h2{font-size:30px;margin:0}.sub{color:var(--muted);margin:10px 0 30px}.field{margin-bottom:18px}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}.input,.select,textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;outline:none}.input:focus,.select:focus,textarea:focus{border-color:#2684ff;box-shadow:0 0 0 3px #2684ff1c}.btn{border:0;border-radius:10px;padding:11px 17px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:7px}.btn-primary{background:var(--red);color:#fff}.btn-navy{background:var(--navy);color:#fff}.btn-light{background:#edf2f7;color:#334}.btn-danger{background:#fee2e2;color:#b91c1c}.btn-block{width:100%;justify-content:center;padding:14px}.shell{display:grid;grid-template-columns:255px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:#d9e5f0;padding:25px 18px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:12px;align-items:center;padding:4px 7px 25px;border-bottom:1px solid #ffffff16}.brand .mark{width:42px;height:42px;font-size:16px;border-radius:12px}.brand b{display:block;color:#fff}.brand small{color:#8fa8bf}.menu{margin-top:20px}.menu small{display:block;color:#718ca5;text-transform:uppercase;font-weight:800;font-size:10px;letter-spacing:1.5px;padding:14px 10px 7px}.menu a{display:flex;align-items:center;gap:11px;padding:11px 12px;margin:4px 0;border-radius:9px;font-size:14px}.menu a:hover,.menu a.active{background:#ffffff12;color:#fff}.main{min-width:0}.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:4}.userpill{display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:50%;background:#fee2e2;color:var(--red);display:grid;place-items:center;font-weight:800}.content{padding:30px;max-width:1600px}.pagehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.pagehead h1{margin:0;font-size:27px}.pagehead p{margin:6px 0;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.stat,.card{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 5px 20px #16324b08}.stat{padding:21px}.stat strong{display:block;font-size:29px;margin-top:11px}.stat span{color:var(--muted);font-size:13px}.stat i{float:right;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#fff0f0;color:var(--red);font-style:normal}.card{padding:22px;margin-bottom:22px}.card h3{margin:0 0 18px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tablewrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;color:#627184;font-size:11px;text-transform:uppercase;letter-spacing:.5px;background:#f8fafc}.table th,.table td{padding:13px 12px;border-bottom:1px solid #edf1f5;white-space:nowrap}.badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#e9f7f1;color:#087b4f;font-weight:700;font-size:11px}.badge.off{background:#feeaea;color:#b42323}.actions{display:flex;gap:6px}.actions .btn{padding:7px 9px}.filters{display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:10px}.alert{padding:13px 16px;border-radius:10px;margin-bottom:18px;background:#eaf8f1;color:#08784d}.alert.error{background:#feecec;color:#a51e1e}.section-title{grid-column:1/-1;margin:15px 0 0;padding-bottom:9px;border-bottom:1px solid var(--line);font-size:15px}.checkrow{display:flex;flex-wrap:wrap;gap:16px}.checkrow label{font-size:14px}.hero{background:linear-gradient(135deg,var(--navy),#174d7b);padding:65px 7%;color:#fff}.public-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:50px}.hero h1{font-size:42px;max-width:650px;margin:0 0 15px}.hero p{color:#c1d3e4;font-size:18px}.searchbox{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:8px;background:#fff;padding:10px;border-radius:14px;margin-top:30px;max-width:1000px}.public{padding:45px 7%}.office-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.office-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:21px}.office-card h3{margin:10px 0 7px}.office-card p{color:var(--muted);min-height:40px}.profile{max-width:1000px;margin:30px auto}.profile-hero{background:linear-gradient(135deg,var(--navy),#164e7d);color:#fff;border-radius:18px;padding:35px}.pager{display:flex;gap:5px;margin-top:18px}.pager a{padding:7px 11px;background:#fff;border:1px solid var(--line);border-radius:7px}.pager a.active{background:var(--navy);color:#fff}@media(max-width:1000px){.stats,.office-grid{grid-template-columns:repeat(2,1fr)}.shell{grid-template-columns:80px 1fr}.brand div,.menu span,.menu small{display:none}.sidebar{padding:20px 12px}.menu a{justify-content:center}.login{grid-template-columns:1fr}.login-brand{display:none}.filters{grid-template-columns:1fr 1fr}.searchbox{grid-template-columns:1fr 1fr}}@media(max-width:650px){.stats,.grid2,.grid3,.office-grid{grid-template-columns:1fr}.shell{display:block}.sidebar{height:auto;position:static}.brand{border:0;padding:0}.menu{display:none}.topbar{padding:0 16px}.content{padding:18px}.login-panel{margin:20px;padding:30px}.filters,.searchbox{grid-template-columns:1fr}.pagehead{align-items:flex-start;gap:10px}.pagehead h1{font-size:22px}.hero{padding:35px 20px}.hero h1{font-size:31px}}
@media print{.sidebar,.topbar,.btn,.filters{display:none!important}.shell{display:block}.content{padding:0}.card{box-shadow:none}}
