:root{--bg:#f4f5f7;--panel:#fff;--text:#22272f;--muted:#6c737f;--border:#dfe3e8;--accent:#5a5bd8;--sidebar:#fafafa;--shadow:0 1px 3px rgba(0,0,0,.06)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif}.app-shell{display:flex;min-height:100vh}.sidebar{width:245px;position:fixed;inset:0 auto 0 0;background:var(--sidebar);border-right:1px solid var(--border);padding:16px 12px;display:flex;flex-direction:column;z-index:30}.brand{font-size:19px;font-weight:800;padding:8px 10px 18px}.brand i{color:var(--accent);margin-right:8px}.sidebar a{display:flex;gap:12px;align-items:center;padding:10px 12px;text-decoration:none;color:var(--text);border-radius:8px;margin-bottom:3px}.sidebar a:hover{background:#e9e9eb}.sidebar-bottom{margin-top:auto}.workspace{margin-left:245px;width:calc(100% - 245px)}.topbar{height:62px;background:var(--panel);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 22px;gap:16px;position:sticky;top:0;z-index:20}.icon-btn{border:0;background:transparent;padding:8px 11px;border-radius:7px}.searchbar{display:flex;align-items:center;gap:10px;border:1px solid #ccd2d9;border-radius:7px;padding:8px 12px;max-width:600px;flex:1}.searchbar input{border:0;outline:0;background:transparent;width:100%}.top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.avatar{width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center}.main-content{padding:24px 28px;max-width:1600px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-head h1{font-size:26px}.breadcrumb-line{font-size:14px;color:var(--muted)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.widget,.metric-card,.promo{background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);margin-bottom:20px}.widget-title{padding:15px 20px;border-bottom:1px solid var(--border);font-weight:700;display:flex;justify-content:space-between}.widget-body{padding:20px}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.metric-row.five{grid-template-columns:repeat(5,1fr)}.metric-row>div{border-right:1px solid var(--border)}.metric-row>div:last-child{border:0}.metric-row span{display:block;color:var(--muted);font-size:14px}.metric-row strong{font-size:27px;color:var(--accent)}.chip{background:#eceaff;color:#5146c8;padding:4px 10px;border-radius:14px;font-size:12px}.chart-wrap{height:280px}.score-ring{--score:0;width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--score)*1%),#e2e5e9 0);display:grid;place-items:center;position:relative}.score-ring:after{content:"";position:absolute;inset:22px;border-radius:50%;background:var(--panel)}.score-ring span{z-index:1;font-size:28px;font-weight:800;color:var(--accent)}.audit-overview{display:flex;gap:30px;align-items:center}.severity{padding:4px 9px;border-radius:14px}.severity.error{background:#fde8e8;color:#b42318}.severity.warning{background:#fff2d8;color:#9a5a00}.severity.notice{background:#e9edff;color:#3949b7}.ai-output{white-space:pre-wrap;min-height:450px;background:#f8f9ff;padding:18px;border-radius:8px}.auth-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#171238,#5a4ce0)}.auth-card{width:min(470px,94vw);background:#fff;border-radius:18px;padding:34px;box-shadow:0 24px 70px rgba(0,0,0,.25)}.promo{padding:38px;background:linear-gradient(110deg,#fff,#eee9ff,#e8f5ff)}.dark{--bg:#17191d;--panel:#22252b;--text:#f0f2f5;--muted:#a6adb7;--border:#363b43;--sidebar:#1d2025}.dark .form-control,.dark .form-select,.dark .searchbar{background:#292d34;color:#fff;border-color:#414751}.collapsed .sidebar{width:78px}.collapsed .sidebar span{display:none}.collapsed .workspace{margin-left:78px;width:calc(100% - 78px)}@media(max-width:992px){.sidebar{transform:translateX(-100%)}.workspace{margin-left:0;width:100%}.collapsed .sidebar{transform:translateX(0);width:245px}.collapsed .workspace{margin-left:0;width:100%}.grid2,.grid3,.metric-row.five{grid-template-columns:1fr}.main-content{padding:18px}.page-head{flex-direction:column;align-items:flex-start;gap:12px}}