:root{color-scheme:dark;--bg:#091322;--nav:#101b2c;--nav2:#122033;--card:#121e30;--card2:#172538;--border:#28374b;--txt:#f2f6fa;--muted:#97a7b9;--teal:#4ad4b3;--blue:#8cbcff;--amber:#ffcc72;--rose:#fb8a96;--ok:#4ad4b3;--shadow:0 10px 40px rgba(0,0,0,.16)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--txt)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--teal)}.boot{min-height:100vh;display:flex;gap:16px;align-items:center;justify-content:center;color:var(--muted)}.brandlogo{width:40px;height:40px;background:var(--teal);color:#052720;display:grid;place-items:center;font-size:22px;font-weight:900;border-radius:12px}
.shell{min-height:100vh;display:flex}.sidebar{width:248px;min-width:248px;min-height:100vh;position:sticky;top:0;align-self:flex-start;background:var(--nav);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:26px 16px;gap:30px}.logo-wrap{display:flex;align-items:center;gap:11px;padding:0 9px}.logo-copy strong{font-size:15px;letter-spacing:.04em;display:block}.logo-copy span{font-size:10px;color:var(--muted);letter-spacing:.17em;text-transform:uppercase}.sb-label{font-size:10px;font-weight:800;color:#71869c;letter-spacing:.14em;padding:0 13px;margin-bottom:9px}.navlist{display:flex;flex-direction:column;gap:4px}.navitem{width:100%;display:flex;align-items:center;gap:10px;color:#a6b7c9;background:none;border:0;border-radius:10px;padding:11px 12px;font-weight:600;text-align:left}.navitem:hover{background:#1d2d42;color:white}.navitem.active{background:#1d3b47;color:#75e6c7}.navicon{font-size:17px;width:20px;text-align:center}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--border);padding:20px 7px 0}.modebox{padding:12px;border:1px solid #325166;background:#142a37;border-radius:12px;color:#c3e5de;font-size:12px}.modebox b{display:block;margin-bottom:5px;color:#71dec3}.main{width:calc(100% - 248px);min-width:0}.topbar{height:76px;background:rgba(11,21,36,.74);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:12px}.breadcrumb{font-size:12px;color:var(--muted)}.topright{display:flex;align-items:center;gap:12px}.userpill{background:#1c2c40;border:1px solid var(--border);border-radius:40px;padding:8px 12px;color:#dbe9f0;font-size:12px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page{max-width:1500px;margin:auto;padding:33px 36px 75px}.pagehead{margin-bottom:25px}.kicker{text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:800;color:var(--teal);margin:0 0 9px}.pagehead h1{font-weight:760;letter-spacing:-.04em;font-size:31px;line-height:1.13;margin:0 0 12px}.pagehead p{color:var(--muted);max-width:820px;font-size:14px;margin:0}.line{height:1px;background:var(--border);margin:18px 0}.grid2{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat{background:var(--card);border:1px solid var(--border);border-radius:15px;padding:21px;min-height:116px}.stat .label{color:var(--muted);font-size:12px;margin-bottom:10px}.stat .number{font-size:33px;font-weight:800;letter-spacing:-.055em;line-height:1.05}.stat .sub{color:#8aa1b4;font-size:11px;margin-top:10px}.panel{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:23px;margin-bottom:18px;box-shadow:var(--shadow)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.panel-title{font-weight:750;font-size:16px;margin:0;letter-spacing:-.015em}.panel-sub{font-size:12px;color:var(--muted);margin-top:3px}.eyebrow{font-size:11px;font-weight:700;color:#b6c2cf;letter-spacing:.06em}.muted{color:var(--muted)}.tiny{font-size:11px}.small{font-size:12px}.note{padding:14px 16px;background:#172d3c;border:1px solid #31546a;border-radius:12px;color:#c4dfe5;font-size:12px}.warning{background:#302922;border-color:#6d5331;color:#f6dab0}.critical{background:#371f2d;border-color:#7c3b51;color:#fcc1ca}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:9px;padding:10px 15px;color:#08211c;background:var(--teal);border:1px solid var(--teal);font-weight:800;font-size:12px;line-height:1.3}.btn:hover{filter:brightness(1.08)}.btn.secondary{color:#eaf4fb;background:#1c2e42;border-color:#365069}.btn.ghost{color:#b9c9db;background:transparent;border-color:var(--border)}.btn.red{color:#ffe3e6;background:#6f3540;border-color:#a34b5b}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.sm{padding:6px 10px;font-size:11px}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:40px;padding:5px 9px;font-size:10px;font-weight:800;letter-spacing:.01em;border:1px solid #435466;background:#203046;color:#c6d1de;white-space:nowrap}.badge.teal{border-color:#246d62;background:#163b39;color:#87e9d1}.badge.amber{border-color:#6d5535;background:#342e25;color:#f7d591}.badge.red{border-color:#823b4b;background:#38232f;color:#ffa9b8}.badge.blue{border-color:#3a5f8e;background:#1a304e;color:#b6d7ff}.tbl-scroll{overflow-x:auto}.table{border-collapse:collapse;width:100%;text-align:left}.table th{color:#88a0b6;letter-spacing:.06em;font-size:10px;text-transform:uppercase;font-weight:800;border-bottom:1px solid var(--border);padding:12px 13px;white-space:nowrap}.table td{padding:14px 13px;vertical-align:top;border-bottom:1px solid #26364a;font-size:12px}.table tr:last-child td{border-bottom:0}.table tr:hover td{background:#17263a}.td-main{font-weight:700;color:#e5edf7}.td-sub{color:var(--muted);font-size:11px;margin-top:3px}.progress-track{width:100%;height:7px;border-radius:20px;background:#223449;overflow:hidden}.progress-fill{height:100%;border-radius:20px;background:var(--teal)}.step{display:flex;gap:14px;align-items:flex-start;margin:13px 0}.step-num{width:27px;height:27px;flex:0 0 27px;border-radius:8px;background:#22403d;border:1px solid #37685d;color:#9df2de;display:grid;place-items:center;font-size:11px;font-weight:800}.step-body strong{display:block;font-size:13px;margin-bottom:2px}.step-body span{color:var(--muted);font-size:12px}.filterrow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px;flex-wrap:wrap}.filterrow input,.filterrow select{width:auto;min-width:175px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:11px;color:#b5c6d8;font-weight:800;letter-spacing:.03em}.field input,.field select,.field textarea,input.search{background:#0c192b;color:#edf3f8;border:1px solid #37506a;border-radius:9px;padding:11px 12px;outline:none;width:100%}.field textarea{min-height:80px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus,input.search:focus{border-color:var(--teal);box-shadow:0 0 0 2px #3bcfad22}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.field .helper{font-size:11px;color:#809cb3}.input-error{background:#462432;color:#ffcbd2;border:1px solid #925469;padding:11px;border-radius:9px;font-size:12px;margin-bottom:12px}.select{appearance:auto}.callout{border-left:3px solid var(--teal);padding:10px 14px;background:#172b38;border-radius:0 9px 9px 0;font-size:12px;color:#b5d5d7}.empty{padding:38px 20px;text-align:center;color:#94a8bb;font-size:13px}.empty .glyph{font-size:33px;margin-bottom:8px;opacity:.8}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-visual{background:radial-gradient(circle at 80% 24%,#245249 0,transparent 38%),linear-gradient(125deg,#11283a,#0a172a 70%);padding:10vh 8vw;display:flex;flex-direction:column;justify-content:space-between}.login-visual h1{font-size:52px;line-height:1.05;letter-spacing:-.055em;max-width:580px}.login-visual p{color:#a9c1d2;max-width:430px}.login-form-wrap{display:flex;align-items:center;justify-content:center;padding:32px}.login-card{width:100%;max-width:380px}.login-card h2{font-size:29px;letter-spacing:-.035em;margin:0 0 4px}.login-card p{color:var(--muted);margin:0 0 28px}.login-card .btn{width:100%;padding:13px}.login-footer{color:#71889d;font-size:11px;margin-top:16px}.modal-layer{position:fixed;inset:0;background:#03080bdc;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}.modal{width:min(700px,100%);max-height:94vh;overflow:auto;background:#132135;border:1px solid #3a536d;border-radius:17px;padding:24px;box-shadow:0 30px 80px #0009}.modal h2{margin:0;font-size:19px}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.close{font-size:24px;line-height:1;background:none;border:0;color:#aabbd0}.text-action{color:var(--teal);background:none;border:0;font-weight:700;font-size:12px;text-decoration:underline;text-underline-offset:3px}.sep{width:100%;height:1px;background:var(--border);margin:14px 0}.person-row{display:flex;align-items:center;gap:12px}.avatar{display:grid;place-items:center;border:1px solid #376252;background:#173c39;width:36px;height:36px;border-radius:11px;color:#b5f2df;font-weight:800}.sparkline{display:flex;gap:5px;margin-top:8px}.sparkline div{height:5px;flex:1;background:#2b394c;border-radius:10px}.sparkline .on{background:#46c7a8}.toast{position:fixed;right:22px;bottom:22px;max-width:430px;z-index:200;background:#1a503f;border:1px solid #57c3a0;box-shadow:0 10px 40px #0007;border-radius:12px;padding:13px 16px;color:white;font-weight:650;font-size:12px}.toast.err{background:#602e3d;border-color:#c56c85}.count-chip{font-size:11px;padding:7px 11px;border:1px solid #33485e;border-radius:8px;color:#9db2c7}.head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.milestone{display:flex;align-items:start;gap:9px;margin:12px 0}.milestone .dot{height:9px;width:9px;border-radius:50%;background:#4ad4b3;margin-top:5px}.milestone .dot.off{background:#8196a9}.milestone .label{font-weight:650;font-size:12px}.milestone .desc{font-size:11px;color:var(--muted)}.bar-legend{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.bar{height:10px;border-radius:20px;overflow:hidden;background:#24364a;display:flex}.bar span{height:100%}.projectgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.projectcard{background:#152438;border:1px solid var(--border);border-radius:13px;padding:16px;cursor:pointer;text-align:left;color:var(--txt)}.projectcard:hover{border-color:#68adac}.projectcard .pid{font-weight:800;color:#6edac0;font-size:11px}.projectcard h3{font-size:14px;margin:10px 0 4px}.projectcard .foot{margin-top:15px;display:flex;justify-content:space-between;gap:5px;align-items:center}.eyebrowtag{text-transform:uppercase;font-size:10px;letter-spacing:.13em;color:#7d98b0;font-weight:800}.detailback{display:block;margin-bottom:15px}.meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.meta-box{border:1px solid var(--border);background:#112035;padding:16px;border-radius:12px}.meta-box b{display:block;margin:6px 0 0}.policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.bullet{margin:6px 0 0;padding-left:16px;font-size:12px;color:var(--muted)}.bullet li{margin:7px 0}.footer{font-size:11px;color:#71869b;margin-top:18px}.mini-head{font-weight:750;font-size:13px;margin:0 0 12px}.triple{display:grid;grid-template-columns:1fr 1fr 1fr;gap:11px}.caps{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--muted)}.hide{display:none!important}
@media(max-width:1200px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid2{grid-template-columns:1fr}.projectgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.sidebar{width:70px;min-width:70px;padding:20px 10px}.logo-copy,.sb-label,.navtext,.sidebar-bottom{display:none}.logo-wrap{padding:0;justify-content:center}.navitem{justify-content:center;padding:12px}.main{width:calc(100% - 70px)}.topbar{padding:0 18px}.page{padding:24px 17px 50px}.pagehead h1{font-size:26px}.login-wrap{grid-template-columns:1fr}.login-visual{display:none}.field-grid,.policy-grid{grid-template-columns:1fr}}
@media(max-width:540px){.grid3,.grid4,.projectgrid,.meta-grid{grid-template-columns:1fr}.userpill{max-width:145px}.topbar{height:62px}.pagehead h1{font-size:23px}.panel{padding:16px}.stat{min-height:auto}.login-form-wrap{min-height:100vh}.triple{grid-template-columns:1fr}}
