:root{--navy:#0d1b3e;--navy2:#17285a;--purple:#6c5ce7;--line:#e8eaf0;--muted:#778094;--bg:#f4f5f9;--green:#20ad78}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:#232a3a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,input{font:inherit}.ops-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.ops-sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--navy),#111a36);color:#dbe2fb;display:flex;flex-direction:column}.ops-brand{padding:26px 22px 20px;border-bottom:1px solid hsla(0,0%,100%,.08)}.ops-logo{font-size:22px;font-weight:800;color:#fff}.ops-logo small{display:block;font-size:10px;letter-spacing:2px;color:#aca4ff;margin:5px 0 0 24px}.ops-brand p{font-size:11px;color:#8f9bb9;line-height:1.6;margin:14px 0 0}.ops-sidebar nav{padding:13px 10px;overflow:auto;flex:1 1}.nav-group{font-size:10px;color:#7280a1;letter-spacing:1.2px;padding:14px 12px 6px}.ops-sidebar nav button{width:100%;border:0;background:transparent;color:#b9c2dc;padding:10px 12px;border-radius:9px;text-align:left;margin:2px 0;cursor:pointer;display:flex;gap:10px;align-items:center;font-size:13px}.ops-sidebar nav button.active,.ops-sidebar nav button:hover{background:rgba(108,92,231,.22);color:#fff}.ops-sidebar nav button.active{box-shadow:inset 3px 0 #8f82ff}.ops-user{padding:15px 16px;border-top:1px solid hsla(0,0%,100%,.08);display:flex;justify-content:space-between;align-items:center}.ops-user small,.ops-user span{display:block}.ops-user small{font-size:9px;color:#7f8baa;margin-top:3px}.ops-user button{border:0;background:transparent;color:#9fa9c4;cursor:pointer}.ops-main{padding:30px 34px 50px;min-width:0}.ops-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--purple);font-weight:800}.eyebrow.light{color:#aca4ff}.ops-top h1{font-size:28px;margin:5px 0 0;color:#142044}.top-actions{display:flex;align-items:center;gap:12px}.live-dot{font-size:11px;color:var(--green)}button.secondary{border:1px solid #d9dce6;background:#fff;color:#455066;border-radius:8px;padding:8px 13px;cursor:pointer}button.primary{border:0;background:linear-gradient(135deg,var(--purple),#8b7cf0);color:#fff;border-radius:9px;padding:11px 18px;cursor:pointer}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:16px}.metric{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px;box-shadow:0 4px 15px rgba(13,27,62,.035)}.metric small,.metric span{display:block;color:var(--muted);font-size:11px}.metric b{display:block;font-size:28px;color:#142044;margin:7px 0 4px}.metric small{color:#9098a9}.two-col{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:16px;gap:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:13px;margin-bottom:16px;overflow:hidden;box-shadow:0 4px 15px rgba(13,27,62,.03)}.panel>header{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid #eff0f4}.panel h2{font-size:15px;margin:0;color:#1b2748}.panel>header>span{font-size:10px;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#7a8397;background:#fafafd;font-weight:600;padding:11px 13px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:12px 13px;border-bottom:1px solid #f0f1f4;color:#4d566a}td b,td small{display:block}td b{color:#202943}td small{font-size:9px;color:#8c94a5;margin-top:3px}.status{display:inline-block;border-radius:9px;padding:3px 7px;font-size:9px;background:#edf0f5;color:#687286}.status.active{background:#e7f8f1;color:#168a61}.status.archived,.status.disabled{background:#fff0f0;color:#cc4a55}.status.draft{background:#fff6dc;color:#a67014}.status.ended{background:#eef1f8;color:#58637c}.audit-list{padding:4px 16px}.audit-row{display:grid;grid-template-columns:24px 1fr auto;grid-gap:9px;gap:9px;align-items:start;padding:11px 0;border-bottom:1px solid #f0f1f4}.audit-row>i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#e9f8f2;color:#149266;font-style:normal;font-size:9px}.audit-row b,.audit-row span{display:block}.audit-row b{font-size:11px}.audit-row span{font-size:9px;color:#8a93a5;margin-top:4px}.audit-row code{font-size:8px;color:#7568d7;background:#f1efff;border-radius:6px;padding:3px 5px}.empty,.loading{padding:38px;text-align:center;color:#9299a8}.empty-rich{padding:28px}.empty-rich b{color:#26304b}.empty-rich p{color:#727c90;line-height:1.75;max-width:720px}.alert{background:#fff2e4;border:1px solid #ffd6a6;color:#9a611e;padding:12px 15px;border-radius:10px;margin-bottom:16px}.alert button{float:right;border:0;background:transparent;color:#7b57d6;cursor:pointer}.bar-chart{padding:18px}.bar-row{display:grid;grid-template-columns:150px minmax(50px,1fr) 36px;align-items:center;grid-gap:10px;gap:10px;margin:12px 0;font-size:11px}.bar-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-row i{height:9px;border-radius:5px;background:linear-gradient(90deg,var(--purple),#9e91ff)}.bar-row b{color:#5548bb}.system-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}.status-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px}.status-card>div{display:flex;justify-content:space-between}.status-card span{font-weight:700}.status-card b{color:var(--green)}.status-card p{font-size:11px;color:var(--muted);margin:10px 0 0}.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:#fff}.login-story{background:radial-gradient(circle at 18% 16%,rgba(108,92,231,.28),transparent 34%),linear-gradient(135deg,#091431,#17285a);color:#fff;padding:10vh 9vw;position:relative;overflow:hidden}.login-story h1{font-size:44px;line-height:1.25;max-width:620px;margin:22px 0}.login-story p{color:#aeb9d6;line-height:1.8}.login-orbit{position:absolute;width:380px;height:380px;border:1px solid hsla(0,0%,100%,.12);border-radius:50%;right:-60px;bottom:-80px}.login-orbit:after,.login-orbit:before{content:"";position:absolute;border:1px solid hsla(0,0%,100%,.1);border-radius:50%;inset:45px}.login-orbit:after{inset:100px}.login-orbit b{position:absolute;inset:0;display:grid;place-items:center;font-size:42px}.login-orbit i{position:absolute;width:12px;height:12px;border-radius:50%;background:#8f82ff}.login-orbit i:first-child{left:50%;top:-6px}.login-orbit i:nth-child(2){right:26px;top:95px}.login-orbit i:nth-child(3){left:20px;bottom:78px}.login-panel{display:grid;place-items:center;padding:40px}.login-card{width:min(410px,100%)}.login-mark{width:48px;height:48px;border-radius:13px;background:linear-gradient(135deg,var(--purple),#8c7ef5);color:#fff;display:grid;place-items:center;font-size:24px;box-shadow:0 9px 24px rgba(108,92,231,.25)}.login-card h2{font-size:26px;margin:22px 0 6px;color:#142044}.login-card>p{color:var(--muted);font-size:12px;margin-bottom:28px}.login-card label{display:block;font-size:12px;font-weight:600;margin:17px 0}.login-card input{display:block;width:100%;margin-top:8px;padding:12px 13px;border:1px solid #dfe2ea;border-radius:9px;outline:0}.login-card input:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(108,92,231,.1)}.login-submit{width:100%;margin:5px 0 15px}.login-card>small{display:block;color:#9299a8;line-height:1.65}.form-error{font-size:11px;color:#d84e5b;background:#fff1f2;padding:9px 11px;border-radius:8px;margin-bottom:10px}@media (max-width:980px){.ops-shell{grid-template-columns:76px 1fr}.ops-brand p,.ops-logo,.ops-logo small,.ops-sidebar nav button:not(.active){font-size:0}.ops-logo:first-letter{font-size:22px}.nav-group{display:none}.ops-sidebar nav button{justify-content:center}.ops-sidebar nav button span{font-size:18px}.ops-user span{display:none}.metric-grid{grid-template-columns:repeat(2,1fr)}.login-page,.two-col{grid-template-columns:1fr}.login-story{display:none}}@media (max-width:640px){.ops-main{padding:20px 14px}.ops-shell{grid-template-columns:58px 1fr}.metric-grid,.system-grid{grid-template-columns:1fr}.ops-top{align-items:flex-start}.live-dot{display:none}.login-panel{padding:24px}.bar-row{grid-template-columns:90px 1fr 28px}}