:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17212f;background:#f6f8fb;font-synthesis:none;font-size:14px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible{outline:3px solid #adc9fd;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:3px solid #e1edff;border-color:#759eeb}h1,h2,h3,p{margin:0}h1{font-size:28px;font-weight:650;letter-spacing:-.7px}h2{font-size:19px;font-weight:650;letter-spacing:-.35px}h3{font-size:14px;font-weight:650}.icon{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none}.muted{color:#778292}.small{font-size:12px}.shell{min-height:100vh;display:grid;grid-template-columns:224px minmax(0,1fr)}.sidebar{background:#fff;border-right:1px solid #e7ebf0;padding:28px 18px;display:flex;flex-direction:column;gap:38px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;font-weight:700;letter-spacing:-.4px;font-size:17px}.brandmark{width:34px;height:34px;border-radius:10px;color:#fff;background:#263a5b;display:grid;place-items:center;font-size:12px;letter-spacing:-.6px;flex:none}.nav-label{font-size:10px;font-weight:600;letter-spacing:1.2px;color:#98a1ad;padding:0 12px;margin-bottom:12px}.nav{display:grid;gap:5px}.nav button{display:flex;align-items:center;gap:11px;width:100%;padding:11px 12px;border:0;border-radius:8px;color:#657080;background:transparent;text-align:left;font-weight:500}.nav button:hover{background:#f7f9fc;color:#1e355a}.nav button.active{background:#edf3ff;color:#265fc0}.sidebar-foot{margin-top:auto;border-top:1px solid #edf0f4;padding:18px 10px 0;display:grid;gap:14px}.instance{display:flex;gap:8px;align-items:center;font-size:11px;color:#778292;overflow-wrap:anywhere}.dot{width:6px;height:6px;border-radius:50%;background:#5b8cce;flex:none}.logout{border:0;background:transparent;padding:0;display:flex;align-items:center;gap:9px;color:#677586;font-size:12px}.main{min-width:0}.topbar{height:72px;border-bottom:1px solid #e7ebf0;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 36px;font-size:12px;color:#8993a0}.breadcrumb{display:flex;gap:10px;align-items:center}.breadcrumb span:last-child{color:#596575}.operator{display:flex;align-items:center;gap:9px;color:#5b6674}.operator-mark{width:28px;height:28px;border-radius:50%;background:#f0f3f8;display:grid;place-items:center;font-size:10px;color:#4d617d}.page{padding:32px 36px 40px;max-width:1560px;margin:0 auto}.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.page-title p{margin-top:6px;color:#7b8695;font-size:13px}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:37px;padding:8px 13px;border:1px solid #dfe5ed;border-radius:8px;background:#fff;color:#4d5b6d;font-size:12px;font-weight:550;white-space:nowrap}.btn:hover{background:#f8fafc}.btn.primary{color:#fff;background:#2a60be;border-color:#2a60be;box-shadow:0 2px 3px #1b4c9b12}.btn.primary:hover{background:#2256b0}.btn.danger{color:#b34848;background:#fff8f8;border-color:#f0dcdc}.btn.ghost{border-color:transparent;background:transparent;color:#68798f}.btn.slim{min-height:31px;padding:5px 9px;font-size:11px}.icon-btn{width:33px;height:33px;padding:0;border:1px solid #e6eaf1;border-radius:7px;display:grid;place-items:center;background:#fff;color:#8390a1}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:26px}.stat{background:#fff;border:1px solid #e4e9f0;border-radius:11px;padding:19px 20px;display:flex;gap:16px;align-items:flex-start}.stat-icon{color:#7692bc;padding-top:2px}.stat-label{font-size:11px;color:#7b8797}.stat-value{font-size:27px;font-weight:600;line-height:1.35;letter-spacing:-.5px;margin-top:6px}.stat-foot{font-size:10px;color:#a0a8b3;margin-top:5px}.workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}.workspace.with-detail{grid-template-columns:minmax(350px,1fr) minmax(350px,405px)}.panel{background:#fff;border:1px solid #e3e8f0;border-radius:11px;min-width:0;overflow:hidden}.panel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid #edf0f5}.panel-heading{font-size:13px;font-weight:600;display:flex;align-items:center;gap:9px}.count{display:inline-flex;border-radius:5px;padding:1px 6px;background:#f0f3f8;font-size:10px;color:#8d98a8;font-weight:500}.search{position:relative;min-width:180px;max-width:260px;width:45%}.search .icon{position:absolute;left:10px;top:9px;width:15px;height:15px;color:#9ba6b3}.search input{min-height:34px;padding:7px 10px 7px 32px;font-size:11px;background:#fafbfd}.field{width:100%;padding:10px 12px;min-height:40px;border:1px solid #dfe5ed;border-radius:7px;background:#fff;color:#344258}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;white-space:normal}th{font-size:10px;color:#8d98a8;letter-spacing:.3px;font-weight:500;background:#fbfcfe}th,td{padding:13px 19px;text-align:left;border-bottom:1px solid #edf0f5}td{font-size:12px;vertical-align:middle}tbody tr:last-child td{border-bottom:0}.client-row{cursor:pointer}.client-row:hover{background:#f9fbff}.client-row.selected{background:#f0f5ff}.client-cell{display:flex;gap:11px;align-items:center;min-width:150px}.avatar{width:34px;height:34px;border-radius:9px;background:#eff3f9;color:#687f9f;display:grid;place-items:center;font-size:11px;font-weight:600;flex:none}.selected .avatar{background:#e2ecfd;color:#416da7}.name{font-size:12px;font-weight:600;color:#344258;overflow-wrap:anywhere}.contact{font-size:10px;color:#8c96a5;margin-top:3px;overflow-wrap:anywhere}.status{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:500;padding:4px 7px;border-radius:5px;background:#f0f3f7;color:#7d8999;white-space:normal}.status:before{content:"";height:5px;width:5px;border-radius:50%;background:currentColor;flex:none}.status.active,.status.completed{background:#edf7f1;color:#4a8c6b}.status.provisioning,.status.pending,.status.running{background:#eef4ff;color:#5b83be}.status.revoking,.status.expiry_pending{background:#fff5e8;color:#bd8e41}.status.failed,.status.needs_attention,.status.needs_reconciliation{background:#fcf0ef;color:#bd6a63}.status.revoked,.status.expired{background:#f1f3f6;color:#929baa}.table-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf0f5;padding:12px 19px;color:#8d97a4;font-size:10px}.detail-head{padding:22px 21px 18px;border-bottom:1px solid #edf0f5;display:flex;gap:12px;align-items:flex-start}.avatar.large{height:44px;width:44px;border-radius:11px;font-size:14px}.detail-head .name{font-size:16px;letter-spacing:-.3px}.detail-head .contact{font-size:11px;margin-top:5px}.detail-head .icon-btn{margin-left:auto;flex:none}.detail-section{padding:19px 21px;border-bottom:1px solid #edf0f5}.detail-section:last-child{border-bottom:0}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.section-title span:first-child{font-size:11px;font-weight:600;color:#52627a}.detail-note{font-size:12px;white-space:pre-wrap;color:#7b8797;overflow-wrap:anywhere}.access-card{border:1px solid #e6ebf2;border-radius:8px;margin-top:12px;overflow:hidden}.access-body{padding:14px}.access-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.server-title{display:flex;align-items:center;gap:7px;color:#475b78;font-size:12px;font-weight:550}.server-title .icon{height:15px;width:15px;color:#8a9cb5}.access-date{font-size:11px;color:#8994a3;margin-top:10px;display:flex;align-items:center;gap:6px}.access-date .icon{height:13px;width:13px}.access-controls{display:flex;gap:6px;flex-wrap:wrap;padding:10px 13px;background:#fbfcfe;border-top:1px solid #edf1f6}.access-controls .btn{background:transparent}.access-warning{font-size:11px;color:#b78347;margin-top:8px}.activity{display:grid;gap:15px}.event{display:flex;align-items:flex-start;gap:9px}.event-mark{height:5px;width:5px;border-radius:50%;background:#cbd5e3;flex:none;margin-top:6px}.event-title{font-size:11px;color:#78869a}.event-time{font-size:10px;color:#a1aab6;margin-top:3px}.empty{padding:46px 24px;text-align:center}.empty .icon{width:28px;height:28px;color:#a6b7ce;margin-bottom:12px}.empty strong{display:block;font-size:13px;font-weight:550;margin-bottom:7px;color:#556780}.empty p{font-size:12px;color:#8c98a9;max-width:340px;margin:0 auto 17px}.empty.compact{padding:23px 10px}.empty.compact .icon{display:none}.empty.compact p{font-size:11px}.notice{padding:13px 15px;border:1px solid #dce7f7;border-radius:8px;background:#f0f5fc;color:#637eaa;font-size:12px;margin-bottom:20px;display:flex;gap:10px;align-items:center}.notice.error{background:#fff2f1;border-color:#f5ddda;color:#b66d65}.notice .btn{margin-left:auto}.server-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px}.server-card{padding:23px}.server-heading{display:flex;justify-content:space-between;gap:10px;margin-bottom:23px}.server-heading .server-title{font-size:15px}.server-property{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf0f4;font-size:12px}.server-property span:first-child{color:#8996a7}.server-property span:last-child{color:#52637a;overflow-wrap:anywhere}.server-card .actions{margin-top:20px}.banner-line{margin-top:18px;font-size:11px;color:#98a2af}.modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;justify-content:center;align-items:center;padding:22px;background:#172b4566;backdrop-filter:blur(3px);overflow-y:auto}.modal{width:min(100%,470px);background:#fff;border-radius:13px;box-shadow:0 20px 90px #16263f33;max-height:calc(100vh - 44px);overflow-y:auto}.modal-head{padding:24px 25px 18px;display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.modal-head p{font-size:12px;color:#8995a5;margin-top:7px}.modal-content{padding:0 25px 22px;display:grid;gap:17px}.form-group{display:grid;gap:7px}.form-group label{font-size:11px;font-weight:550;color:#66768c}.form-help{font-size:10px;color:#97a1ae}.form-row{display:grid;grid-template-columns:1fr 100px;gap:12px}textarea.field{resize:vertical;min-height:85px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:17px 25px;border-top:1px solid #edf0f5;background:#fcfdfe}.periods{display:flex;gap:7px}.periods button{flex:1}.periods button.selected{background:#edf4ff;border-color:#a9c2ec;color:#3769b6}.confirm-summary{padding:15px;background:#f7f9fc;border-radius:8px;display:grid;gap:6px;font-size:12px;color:#6b7c92}.toast{position:fixed;bottom:24px;right:25px;background:#263c5b;color:#fff;font-size:12px;padding:13px 18px;border-radius:9px;z-index:60;box-shadow:0 5px 25px #263c5b25;max-width:min(450px,calc(100vw - 40px))}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 20% 15%,#edf3ff,transparent 50%),#f5f7fb}.login-box{width:min(100%,390px)}.login-box .brand{justify-content:center;margin-bottom:38px}.login-card{padding:29px;background:#fff;border:1px solid #e3e9f1;border-radius:13px;box-shadow:0 10px 35px #2a467009}.login-card h1{font-size:23px;text-align:center}.login-subtitle{text-align:center;font-size:12px;color:#8794a5;margin:8px 0 27px}.login-card .btn.primary{width:100%;margin-top:17px}.login-foot{text-align:center;font-size:10px;color:#9ba6b4;margin-top:22px}.loading{padding:35px;color:#8f9bad;font-size:12px}.link-btn{border:0;background:transparent;padding:0;color:#4b75ad;text-align:left;font:inherit}.danger-copy{font-size:12px;color:#8d7980}.mobile-only{display:none}@media(min-width:1600px){.workspace.with-detail{grid-template-columns:minmax(400px,1fr) minmax(400px,440px)}}@media(max-width:1180px){.workspace.with-detail{grid-template-columns:minmax(0,1fr)}.detail{max-width:none}.shell{grid-template-columns:195px minmax(0,1fr)}.page{padding:26px}.topbar{padding:0 26px}.stats{gap:10px}.stat{padding:16px 13px;gap:10px}.stat-icon{display:none}}@media(max-width:760px){.shell{display:block}.sidebar{position:static;height:auto;padding:14px 18px;border-bottom:1px solid #e5eaf1;border-right:0;gap:17px}.sidebar .brand{font-size:15px}.sidebar .brandmark{width:29px;height:29px}.nav-label,.sidebar-foot,.topbar{display:none}.nav{display:flex;gap:5px}.nav button{width:auto;font-size:12px;padding:9px 13px;gap:7px}.nav .icon{width:15px;height:15px}.page{padding:24px 17px}.page-title{align-items:flex-start;margin-bottom:22px;gap:10px}.page-title h1{font-size:24px}.page-title p{font-size:11px;max-width:210px}.page-title .actions .btn.ghost{display:none}.stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:21px}.stat-label{font-size:10px}.stat-value{font-size:24px}.stat-foot{display:none}.panel-toolbar{padding:15px}.panel-heading{font-size:12px}.search{min-width:140px;width:55%;max-width:none}th,td{padding:12px 14px}.hide-mobile{display:none}.client-cell{min-width:120px;gap:9px}.name{font-size:11px}.contact{font-size:10px}.detail-head{padding:19px}.detail-section{padding:17px 19px}.modal-backdrop{padding:12px}.modal{max-height:calc(100vh - 24px)}.modal-head{padding:22px 20px 18px}.modal-content{padding:0 20px 22px}.modal-foot{padding:16px 20px}.toast{right:16px;bottom:16px}.mobile-only{display:inline-flex}.command-table{min-width:650px}.server-grid{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:no-preference){button,tr{transition:background-color .15s,color .15s}.modal{animation:appear .16s ease-out}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:760px){.workspace.with-detail>section:first-child{display:none}.page:has(.workspace.with-detail) .stats{display:none}.page:has(.workspace.with-detail) .page-title{margin-bottom:18px}}
.admin-request{padding:23px 25px;border-bottom:1px solid #edf0f5}.admin-request:last-child{border-bottom:0}.admin-request-main{display:flex;gap:12px;align-items:center}.admin-request-main strong{font-size:13px}.admin-request-main .status{margin-left:auto}.request-meta{margin:14px 0}.request-decision{font-size:12px;color:#74839b;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0}.request-filter{max-width:210px}@media(max-width:760px){.nav{flex-wrap:wrap}.admin-request{padding:20px}.admin-request-main{flex-wrap:wrap}.request-filter{max-width:170px}.admin-request .actions{flex-wrap:wrap}}

.server-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
.server-metrics>div{min-width:0;padding:8px 10px;border-radius:8px;background:#f6f8fb}
.server-metrics span,.server-metrics strong{display:block}
.server-metrics span{font-size:12px;color:#536174}
.server-metrics strong{font-variant-numeric:tabular-nums}
.traffic-rx{color:#185bb5}
.traffic-tx{color:#a05211}
.traffic-chart{margin:12px 0;padding:10px;border:1px solid #dfe6ef;border-radius:8px}
.traffic-legend,.traffic-times{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:11px}
.traffic-legend i{display:inline-block;width:8px;height:8px;margin-right:4px;border-radius:50%;background:currentColor}
.traffic-plot{display:flex;align-items:stretch;gap:4px;margin:4px 0}
.traffic-plot svg{width:100%;min-width:0;height:104px}
.traffic-scale{display:flex;flex-direction:column;justify-content:space-between;padding:1px 0;font-size:10px;color:#536174}
.traffic-times{color:#536174}
.traffic-gridline{stroke:#dfe6ef}
.traffic-plot path{stroke:currentColor;stroke-width:2;fill:none}
.traffic-plot path.traffic-tx{stroke-dasharray:4 2}

.quota-usage{display:grid;gap:3px;margin:8px 0;font-size:13px}
.quota-usage progress{width:100%;height:8px;accent-color:#2563eb}
.quota-usage small{color:#536174}
