:root{--ink:#172033;--muted:#7b8494;--line:#e7e9ee;--blue:#315efb;--bg:#f8f9fb;--nav:#fff}
body{background:var(--bg);color:var(--ink);font-size:14px}
aside{width:238px;padding:26px 16px;background:#fff;color:var(--ink);border-right:1px solid var(--line);box-shadow:none}
.logo{padding:0 10px;color:var(--ink);gap:11px}
.logo>span,.login-brand{background:var(--ink);border-radius:9px}
.logo small{color:#9aa2af;letter-spacing:1.5px}
nav{margin-top:34px;gap:3px}
nav a{padding:11px 12px;color:#687284;border-radius:7px;font-weight:500}
nav a:hover{background:#f5f6f8;color:var(--ink)}
nav a.on{background:#eef2ff;color:var(--blue);font-weight:600}
nav p{margin:22px 12px 6px;color:#a2a9b4;font-size:9px}
.user{border-color:var(--line)}
.user i{background:#f0f2f5;color:#556071}
.user small{color:#9ca4af}.user a{color:#8b94a1}
main{margin-left:238px}
header{height:72px;padding:0 32px;border-color:var(--line);background:#fff}
header b{font-size:15px}header small{margin-top:2px;color:#929aa7}
.header-actions{display:none}.header-brand{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;font:700 13px Manrope}.header-brand>span{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--ink);color:#fff;font-size:16px}.header-brand small{display:block;margin:0;color:#9aa2af;font-size:8px;letter-spacing:.8px;text-transform:uppercase}
.content{padding:38px 34px;max-width:1440px}
.topline{margin-bottom:26px}.topline h1,h1{font-size:28px;letter-spacing:-.5px}
.eyebrow{color:#8b94a1;letter-spacing:1.6px;font-size:9px}
.panel,.stats article{border:1px solid var(--line);border-radius:10px;box-shadow:none}
.stats{gap:12px}.stats article{padding:18px}.stats i{border-radius:8px}
.stats .dark{background:var(--ink);border-color:var(--ink)}
.primary{background:var(--blue);padding:10px 16px;border-radius:7px;box-shadow:none}
.primary:hover{background:#234ce0}
.secondary{border-color:var(--line);border-radius:7px;color:#596476}
input,select{padding:10px 12px;border-color:#dfe2e8;border-radius:7px;box-shadow:none;outline:none}
input:focus,select:focus{border-color:#8ba4ff;box-shadow:0 0 0 3px #315efb12}
.filters{gap:8px}.filters button{border-radius:7px;background:var(--ink)}
th{background:#fafafa;color:#9199a5;font-weight:600;border-color:var(--line)}
td{border-color:var(--line)}tbody tr:last-child td{border-bottom:0}
.table-wrap{border-radius:10px}
.toast{border:1px solid #cfe9dc;background:#f3fbf7;border-radius:8px}
dialog{border-radius:12px;box-shadow:0 22px 70px #1118272b}
.project-modal::backdrop,dialog::backdrop{background:#17203373;backdrop-filter:blur(2px)}
.login{background:#f4f5f7}
.login-card{width:min(410px,90vw);padding:38px;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 55px #17203312}
.login-brand{margin:0 auto 24px;color:#fff}
.login-card .eyebrow{text-align:center}.login-card h1{text-align:center;font-size:26px}.login-card>p:not(.eyebrow){text-align:center}
@media(max-width:720px){main{margin-left:0}.content{padding:24px 18px}header{padding:0 18px}.top-actions{align-items:stretch;flex-direction:column}.topline{align-items:flex-start;gap:16px}}
