:root{--navy:#14274a;--blue:#285ebd;--blue2:#eaf2ff;--ink:#132238;--muted:#66758a;--line:#dbe4ef;--bg:#f4f7fb;--white:#fff;--red:#b42318;--green:#147d64;--amber:#a15c00;--shadow:0 18px 50px rgba(27,51,84,.1)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 Inter,"Noto Sans SC","Microsoft YaHei",sans-serif}a{color:inherit}.sidebar{background:linear-gradient(180deg,#102447,#183968);bottom:0;color:#fff;display:flex;flex-direction:column;left:0;padding:24px 18px;position:fixed;top:0;width:250px;z-index:5}.brand{align-items:center;display:flex;gap:12px;text-decoration:none}.brand>span{align-items:center;background:#fff;border-radius:15px;color:var(--blue);display:flex;font-size:26px;font-weight:900;height:48px;justify-content:center;width:48px}.brand strong{font-size:17px}.brand small{display:block;font-size:11px;font-weight:500;letter-spacing:.08em;opacity:.68}.sidebar nav{display:grid;gap:7px;margin-top:38px}.sidebar nav a{border-radius:10px;color:#dce8fb;padding:10px 12px;text-decoration:none}.sidebar nav a:hover{background:rgba(255,255,255,.11);color:#fff}.sidebar-foot{border-top:1px solid rgba(255,255,255,.15);display:grid;margin-top:auto;padding:18px 8px 0}.sidebar-foot small{opacity:.66}.text-button{background:transparent;border:0;color:inherit;cursor:pointer;padding:8px 0;text-align:left}.app-main{margin-left:250px;max-width:1700px;padding:34px 38px 80px}.auth-main{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:24px}.page-head{align-items:flex-start;display:flex;gap:30px;justify-content:space-between;margin-bottom:26px}.page-head h1{font-size:34px;letter-spacing:-.04em;line-height:1.2;margin:4px 0 8px}.page-head h1 small{color:var(--muted);font-size:17px;font-weight:600}.page-head p{color:var(--muted);margin:0}.eyebrow{color:var(--blue)!important;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.status-pill,.status-dot{border-radius:999px;display:inline-block;font-size:12px;font-weight:750;padding:5px 10px}.status-pill{background:var(--blue2);color:var(--blue)}.status-dot.ok{background:#e5f6ef;color:var(--green)}.status-dot.off{background:#fdecea;color:var(--red)}.metric-grid{display:grid;gap:14px;grid-template-columns:repeat(5,minmax(130px,1fr));margin-bottom:20px}.metric-grid.compact{grid-template-columns:repeat(2,minmax(180px,240px))}.metric-grid article,.panel,.auth-card,.empty-state{background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.metric-grid article{padding:20px}.metric-grid small{color:var(--muted);display:block}.metric-grid strong{display:block;font-size:30px;letter-spacing:-.04em;margin-top:8px}.panel{margin-bottom:20px;padding:24px}.panel h2{font-size:20px;margin:0 0 16px}.panel ul{color:var(--muted);padding-left:20px}.two-col{display:grid;gap:20px;grid-template-columns:1fr 1fr}.notice{border:1px solid;border-radius:14px;display:flex;gap:10px;margin:16px 0;padding:13px 16px}.notice span{color:var(--muted)}.notice.warning{background:#fff8e8;border-color:#f1d38b}.notice.danger{background:#fff0ef;border-color:#efb2ac}.notice.success{background:#eaf8f3;border-color:#a6ddcd}.flash{border-radius:12px;margin:0 0 16px;padding:12px 16px}.flash.success{background:#eaf8f3;color:var(--green)}.flash.danger{background:#fff0ef;color:var(--red)}.auth-card{max-width:560px;padding:42px;width:100%}.auth-card h1{font-size:30px;line-height:1.25;margin:8px 0}.auth-card>p:not(.eyebrow),.auth-card>small{color:var(--muted)}.auth-mark{align-items:center;background:var(--navy);border-radius:17px;color:#fff;display:flex;font-size:30px;font-weight:900;height:58px;justify-content:center;width:58px}.stack-form{display:grid;gap:15px;margin:24px 0}.stack-form label,.form-grid label{color:#3c4d62;display:grid;font-size:13px;font-weight:700;gap:6px}input,select,button{font:inherit}input,select{background:#fff;border:1px solid #cbd7e5;border-radius:10px;color:var(--ink);min-height:44px;padding:9px 11px;width:100%}input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(40,94,189,.12);outline:0}button,.button-link{background:#fff;border:1px solid #c9d6e6;border-radius:10px;color:var(--ink);cursor:pointer;font-weight:750;padding:10px 15px;text-align:center;text-decoration:none}.primary{background:var(--blue);border-color:var(--blue);color:#fff}.danger{background:var(--red);border-color:var(--red);color:#fff}.mfa-qr{border:8px solid #fff;border-radius:12px;box-shadow:0 8px 25px rgba(0,0,0,.1);display:block;margin:18px auto;max-width:240px;width:100%}.secret{background:#edf2f8;border-radius:8px;display:block;overflow-wrap:anywhere;padding:10px;text-align:center}.form-grid{display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}.form-grid .wide{grid-column:span 2}.form-grid button{align-self:end}.search{display:flex;gap:10px;margin-bottom:18px;max-width:520px}.table-wrap{overflow:auto}table{border-collapse:collapse;min-width:700px;width:100%}th,td{border-bottom:1px solid #e6edf5;padding:12px 10px;text-align:left;vertical-align:top}th{color:var(--muted);font-size:12px;text-transform:uppercase}td small{color:var(--muted);display:block}.permission-row{align-items:end;background:#f7f9fc;border-radius:12px;display:grid;gap:10px;grid-template-columns:1.2fr 1fr 1fr;padding:12px}.action-row{display:flex;flex-wrap:wrap;gap:9px}.danger-zone{border-color:#efd7d4}.muted{color:var(--muted)}.ranking{list-style:none;margin:0;padding:0}.ranking li{align-items:center;border-bottom:1px solid #edf1f5;display:flex;justify-content:space-between;padding:10px 0}.empty-state{padding:40px;text-align:center}.empty-state h2{margin-top:0}.empty-state p{color:var(--muted)}.alert-list{display:grid;gap:12px}.alert-list .notice{margin:0}@media(max-width:1200px){.metric-grid{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.sidebar{position:static;width:auto}.sidebar nav{grid-template-columns:1fr 1fr;margin-top:20px}.sidebar-foot{display:none}.app-main{margin:0;padding:24px 16px}.two-col{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.page-head{display:block}.status-pill{margin-top:12px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.permission-row{grid-template-columns:1fr}.auth-card{padding:28px 22px}}@media(max-width:480px){.metric-grid{grid-template-columns:1fr}.sidebar nav{grid-template-columns:1fr}.page-head h1{font-size:28px}}
