@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--navy:#142b4a;--blue:#2467bd;--blue2:#eaf2ff;--ink:#172b46;--muted:#718096;--line:#e4eaf1;--bg:#f4f7fb;--green:#11856b;--red:#c83f4d;--amber:#b76a12}
*{box-sizing:border-box}body{margin:0;background:var(--bg);font:14px Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}.app{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:246px;background:#102542;color:#d8e4f4;padding:22px 15px;display:flex;flex-direction:column;z-index:3}.brand{display:flex;align-items:center;gap:11px;padding:4px 8px 27px;color:#fff}.brand b{display:block;font-size:19px;letter-spacing:1.5px}.brand small{display:block;color:#91a9c6;font-size:11px;margin-top:3px}.brand-mark{width:54px;height:54px;border-radius:17px;background:linear-gradient(135deg,#377de0,#1d4f96);display:grid;place-items:center;color:#fff;font-size:25px;font-weight:800;box-shadow:0 8px 24px #153c7066}.brand-mark.small{width:40px;height:40px;border-radius:12px;font-size:20px}.nav-label{font-size:10px;letter-spacing:1.4px;color:#7890af;font-weight:700;margin:13px 10px 9px}.nav{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:10px;margin:2px 0;color:#b9cbe0;font-weight:500;font-size:13px}.nav span{width:18px;text-align:center;font-size:17px}.nav:hover,.nav.active{background:#23446c;color:white}.sidebar-bottom{margin-top:auto}.user-pill{display:flex;gap:10px;align-items:center;padding:13px 7px;border-top:1px solid #29415f;margin-top:18px}.user-pill b{display:block;color:#fff;font-size:12px}.user-pill small{display:block;color:#8ca3bf;font-size:10px;margin-top:4px}.avatar{width:33px;height:33px;display:grid;place-items:center;border-radius:50%;background:#e4efff;color:#215a9e;font-weight:800}.main{margin-left:246px;padding:0 30px 20px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:28px 0 22px}.eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:700;color:var(--blue);margin:0 0 8px}.topbar h1{font-size:25px;margin:0;font-weight:800;letter-spacing:-.6px}.top-actions{display:flex;align-items:center;gap:12px}.date-chip{border:1px solid var(--line);background:white;border-radius:9px;padding:10px 12px;color:#52647a;font-size:12px}.panel,.filter-panel{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 3px 12px #193e6507;margin-bottom:19px;min-width:0}.panel{padding:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.panel-head h2{font-size:16px;margin:0 0 5px}.panel-head p{font-size:12px;color:var(--muted);margin:0}.panel-actions{display:flex;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:9px;padding:10px 13px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.btn.primary{background:var(--blue);color:#fff}.btn.primary:hover{background:#1956a6}.btn.ghost{background:#fff;border-color:#dce4ee;color:#4a5e75}.btn.full{width:100%;margin-top:19px;padding:13px}.filter-panel{padding:17px 18px 13px}.filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.filters>div{min-width:145px;flex:1}.filters .search-field{flex:1.4}.filters label,.data-form label,.import-form label,.login-card label{display:block;font-size:11px;font-weight:700;color:#53657a;margin-bottom:7px}.filters input,.filters select,.data-form input,.data-form select,.data-form textarea,.import-form input,.import-form select,.login-card input{width:100%;min-width:0;border:1px solid #dce4ee;border-radius:8px;padding:10px 11px;background:#fff;color:var(--ink);outline:none}.filters input:focus,.data-form input:focus,.data-form textarea:focus,.login-card input:focus{border-color:#7eabe8;box-shadow:0 0 0 3px #2467bd15}.filter-buttons{display:flex;gap:7px;flex:0 0 auto!important}.quick-filters{display:flex;gap:12px;align-items:center;margin-top:13px;font-size:11px;color:var(--muted);flex-wrap:wrap}.quick-filters a{color:var(--blue);font-weight:700}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0 0 19px}.metric-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.metric{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px 16px;min-width:0;box-shadow:0 3px 12px #193e6505}.metric-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;font-size:21px;font-weight:700;margin-bottom:14px}.metric-icon.blue{background:#eaf2ff;color:#2766bb}.metric-icon.green{background:#e5f7f0;color:#11856b}.metric-icon.red{background:#fff0f1;color:#c83f4d}.metric-icon.amber{background:#fff5e6;color:#b76a12}.metric-label{display:block;font-size:11px;color:#63748a;font-weight:600;min-height:30px;line-height:1.4}.metric strong{display:block;font-size:25px;letter-spacing:-.6px;margin:7px 0 5px;overflow-wrap:anywhere}.metric small{font-size:10px;color:#91a0b2;line-height:1.4}.table-panel{padding:0;overflow:hidden}.table-panel .panel-head{padding:20px 20px 0}.table-wrap{overflow:auto;width:100%;border-top:1px solid var(--line)}table{border-collapse:separate;border-spacing:0;width:100%;font-size:11px;white-space:nowrap}th{background:#f7f9fc;color:#65768b;font-size:10px;text-transform:uppercase;letter-spacing:.45px;text-align:left;padding:13px 12px;border-bottom:1px solid var(--line)}td{padding:13px 12px;border-bottom:1px solid #edf1f6;color:#465970;max-width:210px}tbody tr:hover{background:#f9fbff}tbody tr:last-child td{border-bottom:0}.strong{font-weight:700;color:#1d3657}.remark{max-width:170px;overflow:hidden;text-overflow:ellipsis}.status{display:inline-flex;padding:5px 8px;border-radius:20px;font-size:10px;font-weight:800}.status.breach{background:#ffe9eb;color:#b92d3a}.status.on-time{background:#e3f7ee;color:#087b5c}.status.in-progress{background:#fff2dc;color:#9b5b05}.status.pending{background:#eef1f5;color:#66768a}.actions{display:flex;align-items:center;gap:5px}.actions form{margin:0}.icon-btn{width:28px;height:28px;border:1px solid #dfe6ef;border-radius:7px;background:#fff;display:grid;place-items:center;color:#3268a7;cursor:pointer;font-size:15px}.danger-text{color:#c83f4d}.empty{text-align:center;padding:35px;color:#8190a3}.table-foot{display:flex;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid var(--line);font-size:10px;color:#8190a3}.data-form{padding-top:3px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.form-grid .span-2{grid-column:span 3}.data-form textarea{resize:vertical}.form-footer{display:flex;gap:8px;margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}.notice{padding:14px 16px;background:#edf5ff;border:1px solid #d7e8ff;color:#31577f;border-radius:10px;font-size:12px;line-height:1.6;margin-bottom:20px}.import-form{max-width:540px;display:grid;gap:9px;margin:18px 0 25px}.import-form button{justify-self:start;margin-top:8px}.small{font-size:12px}.muted{color:var(--muted)}.footer{display:flex;justify-content:space-between;padding:12px 2px;color:#9aa7b6;font-size:10px}.alert{padding:12px 14px;border-radius:9px;margin:0 0 16px;font-size:12px}.alert.success{background:#e7f8ef;color:#087b52}.alert.danger{background:#fff0f1;color:#b92d3a}.login-bg{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 10% 10%,#d8e9ff,transparent 35%),linear-gradient(135deg,#eff5fc,#f8faff)}.login-card{width:min(100%,420px);background:#fff;padding:36px;border-radius:20px;border:1px solid #e2eaf4;box-shadow:0 20px 70px #193e6512}.login-card .brand-mark{margin-bottom:23px}.login-card h1{font-size:26px;letter-spacing:-.7px;margin:0 0 9px}.login-card>p{font-size:12px;line-height:1.6}.login-card form{margin-top:25px}.login-card input{margin-bottom:17px;padding:12px}.login-card .tiny{text-align:center;margin:20px 0 0;font-size:10px}.login-card .alert{margin-top:15px}
@media(max-width:1200px){.main{padding:0 20px}.metric-grid.five{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.sidebar{position:static;width:auto;height:auto;padding:12px 12px 8px;display:block}.brand{padding:0 6px 12px}.sidebar .nav-label,.sidebar-bottom{display:none}.sidebar>.nav{display:inline-flex;padding:9px 10px;margin:2px;font-size:11px}.sidebar>.nav span{display:none}.main{margin:0;padding:0 12px 15px}.topbar{padding:19px 1px 16px;align-items:flex-start}.topbar h1{font-size:20px}.top-actions{gap:6px}.date-chip{font-size:10px;padding:8px}.top-actions .avatar{display:none}.panel{padding:14px}.panel-head{align-items:flex-start;flex-direction:column}.panel-actions{width:100%}.panel-actions .btn{flex:1}.filters{align-items:stretch}.filters>div{min-width:calc(50% - 8px)}.filters .search-field{flex:1 1 100%}.filter-buttons{width:100%;flex:1 1 100%!important}.filter-buttons .btn{flex:1}.metric-grid,.metric-grid.five{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric{padding:13px}.metric strong{font-size:22px}.metric-label{min-height:unset}.metric small{display:block}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid .span-2{grid-column:span 2}.table-panel{padding:0}.table-panel .panel-head{padding:15px 14px}.table-foot{flex-direction:column}.footer{gap:8px;flex-direction:column}.login-card{padding:27px 22px}}
@media(max-width:390px){.sidebar>.nav{padding:8px 7px;font-size:10px}.filters>div{min-width:100%}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}.topbar h1{font-size:18px}}
