.usage-account{margin-top:22px;overflow-wrap:anywhere}.usage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px}.usage-period{padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--card2);min-width:0}.usage-period h4{margin:0 0 12px}.usage-period strong{font-size:22px}.usage-period p{font-size:12px;margin:8px 0}.usage-period progress{width:100%;height:8px;accent-color:var(--accent)}.usage-error{color:var(--red)}
/* Geometry and light-blue finish ported from random-image-api's console.
   Textures: local copies of web/public/art/mkw; no runtime dependencies. */
:root{--bg:#f1f7fd;--card:#ffffffed;--card2:#f0f6fd;--border:#d5e3f1;--text:#203d63;--dim:#566d88;--accent:#2463ad;--green:#356448;--orange:#795916;--red:#963c35;--ink:var(--text);--muted:var(--dim);color-scheme:light;font-size:15px}
*{box-sizing:border-box}body{padding:0;margin:0;max-width:none;min-width:280px;font-family:'Geist Variable','PingFang SC','Microsoft YaHei',system-ui,sans-serif;line-height:1.6;color:var(--text);background:#ebf0ff}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}button{min-height:40px;padding:9px 15px;border:1px solid var(--accent);border-radius:7px;font-weight:500;background:var(--accent);line-height:1.4}button:hover:not(:disabled){background:#194e8d;border-color:#194e8d}button.ghost,.btn{background:#fff;border-color:#b6cee6;color:#28578b}button.ghost:hover:not(:disabled),.btn:hover:not(:disabled){background:#eaf3ff;border-color:#88afd6;color:#194e8d}.btn.primary{background:#2463ad;border-color:#2463ad;color:#fff}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex='0']:focus-visible{outline:3px solid #2463ad;outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-80px;left:16px;z-index:100;padding:10px 18px;background:#fff;border:1px solid var(--accent);border-radius:8px}.skip-link:focus{top:12px}
.console-site{position:relative;isolation:isolate;min-height:100dvh}.console-site::before,.admin-sidebar::before,.admin-topbar::before{content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.2;background-color:#99c5ff;background-image:radial-gradient(at 23% 26%,hsl(178,100%,51%) 0px,transparent 50%),radial-gradient(at 3% 60%,hsl(272,100%,73%) 0px,transparent 50%),radial-gradient(at 53% 16%,hsl(318,100%,70%) 0px,transparent 50%),radial-gradient(at 95% 14%,hsl(278,100%,71%) 0px,transparent 50%),radial-gradient(at 34% 75%,hsl(359,100%,82%) 0px,transparent 50%),radial-gradient(at 86% 16%,hsl(241,100%,73%) 0px,transparent 50%),radial-gradient(at 26% 40%,hsl(260,100%,78%) 0px,transparent 50%)}.console-site::after,.admin-sidebar::after,.admin-topbar::after{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:url('/art/mkw/bg_texture.svg'),url('/art/mkw/soft-geo-lines.svg');background-size:clamp(600px,70vw,1200px) auto,960px 540px;background-position:center,center top;background-repeat:repeat;opacity:.48}.admin-sidebar,.admin-topbar{isolation:isolate;background:#fff}.admin-sidebar::before,.admin-sidebar::after,.admin-topbar::before,.admin-topbar::after{position:absolute;background-attachment:scroll}.admin-sidebar::before,.admin-topbar::before{background-size:100vw 100dvh;background-repeat:no-repeat}
.admin-shell{min-height:100dvh}.admin-sidebar{width:244px;position:fixed;inset:0 auto 0 0;height:100dvh;padding:16px 12px 12px;display:flex;flex-direction:column;z-index:60;overflow:hidden;box-shadow:inset -1px 0 0 var(--border),6px 0 24px #355a8506}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--text);font-size:23px;font-weight:700;line-height:1.3;letter-spacing:.015em}.brand-mark{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;color:#fff;background:linear-gradient(145deg,#4086c9,#2463ad);box-shadow:0 4px 12px #2463ad20,inset 0 1px 0 #ffffff40}.brand-mark svg{width:23px;height:23px}.brand small{display:block;font-weight:400;font-size:9px;letter-spacing:.13em;color:var(--dim);margin-top:4px}.admin-sidebar>.brand{margin:0 10px 16px;flex-shrink:0}.admin-sidebar nav{display:flex;flex-direction:column;gap:2px;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.nav-group{font-size:10px;letter-spacing:.12em;color:var(--dim);margin:4px 0 2px;padding:0 12px;line-height:16px}.nav-group:not(:first-child){margin-top:16px}.admin-sidebar nav>a{min-height:40px;display:flex;align-items:center;padding:7px 12px;gap:10px;font-size:13px;color:#4f6681;border-radius:6px;flex-shrink:0}.admin-sidebar nav>a:hover{color:#194e8d;background:#e9f3ff}.admin-sidebar nav>a.router-link-active{color:#194e8d;background:#dcecff;box-shadow:inset 3px 0 0 #4b8dce,inset 0 1px 0 #ffffffa6;font-weight:600}.sidebar-bottom{padding-top:8px;flex-shrink:0}.sidebar-note{font-size:12px;padding:12px;color:var(--dim)}.sidebar-note small{display:block;font-size:10px;margin-top:3px}.user-block{display:flex;gap:10px;align-items:center;padding:14px 8px 2px;border-top:1px solid var(--border)}.avatar{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;background:#dcecff;border-radius:50%;color:#315784;font-weight:600}.user-block strong{font-size:12px;display:block}.user-block small{display:block;color:var(--dim);font-size:11px}.user-block .icon-btn{margin-left:auto}.icon-btn{width:40px;height:40px;min-height:40px;display:inline-grid;place-items:center;padding:0;border:0;background:transparent;color:#496c94;flex-shrink:0}.icon-btn:hover:not(:disabled){color:#194e8d;background:#e2efff}.admin-workspace{margin-left:244px;min-height:100dvh;display:flex;flex-direction:column;min-width:0}.admin-topbar{height:70px;flex-shrink:0;position:relative;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);box-shadow:0 2px 12px #355a8505;gap:12px}.inline{display:flex;align-items:center;gap:14px;font-size:13px;min-width:0}.muted,.help{color:var(--dim)}.breadcrumb-divider{color:var(--dim)}.admin-menu{display:none}.admin-main{padding:28px 32px 40px;max-width:1600px;width:100%;flex:1;min-width:0}.connection-bar{display:flex;align-items:center;gap:10px;font-size:12px;margin-bottom:26px;min-width:0}.live-dot{height:7px;width:7px;flex-shrink:0;border-radius:50%;background:#579276}.proxy-address{background:none;border:0;color:#315e8e;font-family:Consolas,monospace;font-size:12px;padding:4px 0;min-height:30px;overflow-wrap:anywhere;text-align:left;min-width:0}.proxy-address:hover:not(:disabled){background:none;color:#194e8d;text-decoration:underline}.connection-label{font-size:9px;letter-spacing:.09em;margin-left:auto;color:var(--dim);white-space:nowrap}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}.eyebrow{font-size:10px;color:var(--accent);letter-spacing:.12em;font-weight:600}.admin-heading h1{font-size:30px;line-height:1.4;font-weight:600;margin:6px 0 7px;letter-spacing:-.035em}.admin-heading p{font-size:13px;color:var(--dim);margin:0}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:25px;margin-bottom:18px;box-shadow:0 8px 28px #355a8510,inset 0 1px 0 #fff;min-width:0}.card h2{font-size:18px;font-weight:600;letter-spacing:-.025em;margin-bottom:16px}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.stat-grid .card{padding:20px 23px}.stat-grid span{font-size:12px;color:var(--dim);display:block}.stat-grid strong{display:block;font-size:32px;font-weight:600;line-height:1.5;margin:5px 0;color:var(--text);font-variant-numeric:tabular-nums}.stat-grid small{font-size:11px;color:var(--dim)}.table-scroll{overflow:auto;max-width:100%;margin-top:14px;overscroll-behavior-x:contain}table{font-size:13px;width:100%;border-collapse:collapse}th{color:#425f80;background:#eef5fd;font-size:11px;letter-spacing:.025em;font-weight:600;padding:12px 13px;border-bottom:1px solid #e1ebf5}td{color:#405c7b;padding:13px;border-bottom:1px solid #e1ebf5;vertical-align:middle}tr:hover td{background:#f3f8ff}.mono{font-family:Consolas,'SFMono-Regular',monospace;font-size:12px}.row-actions{gap:6px}.row-actions button{white-space:nowrap}.badge,.ups-sum .sum-chip{color:#315e8e;background:#eaf3fd;border-radius:5px;font-size:11px;padding:3px 8px}.badge.green{color:#356448;background:#e7f4ec}.badge.orange{color:#795916;background:#fff3d6}.ups-sum .sum-chip.sum-ex{color:#963c35;background:#fcebe7}.ups-panel{background:#f7fbff;border-color:var(--border);padding:8px;min-width:410px}.uprow{border-color:#d5e3f1}.upno{background:#fff}.pill{min-height:32px;border-color:#b6cee6}.pill:hover:not(:disabled){color:#194e8d;background:#eaf3ff;border-color:#88afd6}.pill.prio-on{background:var(--accent);color:#fff}.pill.excl-on{background:var(--red);color:#fff}.pill.prio-on:hover:not(:disabled){background:#194e8d;color:#fff}.pill.excl-on:hover:not(:disabled){background:#7c302a;color:#fff}.mini{min-height:32px}.empty{padding:32px 14px;color:var(--dim);text-align:center}.result{color:#405c7b;background:#f0f6fd;border-color:var(--border);white-space:normal;overflow-wrap:anywhere}.kvs{gap:20px}.trace{line-height:1.8}.guide-copy{font-size:13px;line-height:1.95;color:var(--dim);margin-top:18px}.usage-guide{box-shadow:none;background:#ffffffad}.usage-guide summary{color:#315e8e;font-size:13px}.guide-copy code{color:#315e8e;background:#eaf3fd;padding:2px 4px;border-radius:3px}
input:not([type=checkbox]):not([type=radio]),select,textarea{background:#fcfeff!important;color:var(--text);border:1px solid #b6cbe0!important;border-radius:7px;padding:9px 11px;font-size:13px;min-height:42px;max-width:100%}input:focus,select:focus,textarea:focus{outline:3px solid #2463ad38;border-color:#2463ad!important}input::placeholder{color:#647992;opacity:1}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:16px;height:16px;vertical-align:middle}.field{display:flex;flex-direction:column;gap:8px;font-size:13px;margin-bottom:18px;color:var(--text)}.field input{width:100%;font-size:14px!important;min-height:46px}.password-card form{max-width:460px}.card-heading p{font-size:13px;margin-bottom:24px}.card-heading h2{margin-bottom:6px}.help{font-size:12px;margin:14px 0}.notice{border:1px solid #c4daef;border-radius:7px;padding:12px 15px;font-size:13px;margin-bottom:18px;overflow-wrap:anywhere}.notice.error{color:#963c35;background:#fff5f2;border-color:#ebc9c2}.notice.info{color:#315e8e;background:#edf5ff}.notice.success{color:#356448;background:#edf8f1;border-color:#c8e2d2}#status:empty{display:none}#status{color:#315e8e;background:#edf5ff;border:1px solid #c4daef;border-radius:7px;padding:10px 14px;font-size:13px;margin-bottom:18px}#accMsg,#secMsg{display:block;line-height:1.7}#testModel,#testUpstream{flex:1;min-width:0!important;max-width:400px;width:100%}#view-test form{align-items:end!important}#testResult{min-height:100px}#secProxyKey,#secPublicBase{max-width:100%}#securityForm>div>label:first-child{min-width:100px}#accountsForm{gap:12px!important}.admin-footer{margin:0 32px;padding:18px 0 24px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--dim)}
.login-page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:70px 20px 40px}.login-page>.brand{margin-bottom:32px}.login-page .brand-mark{height:44px;width:44px}.login-card{width:460px;max-width:100%;padding:38px;border-radius:14px;box-shadow:0 20px 60px #355a8517,inset 0 1px 0 #fff}.login-card h1{font-size:27px;font-weight:600;line-height:1.4;letter-spacing:-.035em;margin:9px 0 10px}.login-card>.muted{font-size:14px;margin:0 0 26px}.wide{width:100%;display:flex;align-items:center;justify-content:center;gap:14px;min-height:46px}.login-help{text-align:center;margin:22px 0 0}.login-foot{max-width:460px;text-align:center;font-size:12px;color:var(--dim);margin:6px 0}.sidebar-overlay{position:fixed;inset:0;background:#18355452;border:0;border-radius:0;z-index:55;min-height:100dvh}.sidebar-overlay:hover:not(:disabled){background:#18355452}.drawer-open{overflow:hidden}
@keyframes newflash{0%,70%{background:#e3f0ff}100%{background:transparent}}@media(min-width:1600px){.admin-main{margin-inline:auto}}@media(max-width:1200px){.admin-sidebar{width:224px}.admin-workspace{margin-left:224px}.admin-main{padding:30px 26px 40px}.admin-topbar{padding-inline:26px}.admin-footer{margin-inline:26px}.connection-label{display:none}}@media(max-width:760px){.admin-sidebar{width:min(224px,calc(100vw - 48px));visibility:hidden;transform:translateX(-100%);padding-top:max(14px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom))}.admin-sidebar.open{visibility:visible;transform:translateX(0)}.admin-sidebar nav>a{min-height:44px;padding-block:8px}.admin-sidebar>.brand{margin-bottom:12px}.admin-workspace{margin-left:0}.admin-menu{display:inline-grid}.admin-topbar{height:64px;padding-inline:14px}.inline{gap:9px}.admin-topbar .muted{display:none}.admin-main{padding:24px 18px 32px}.admin-heading{align-items:flex-start;flex-direction:column;gap:14px}.admin-heading h1{font-size:26px}.admin-heading>button{width:100%}.card{padding:20px}.stat-grid{gap:10px}.stat-grid .card{padding:15px 12px}.stat-grid strong{font-size:28px}.stat-grid small{font-size:10px}.stat-grid span{font-size:11px}.connection-bar{margin-bottom:20px}.admin-footer{margin-inline:18px;flex-wrap:wrap}.login-page{padding-top:42px}.login-card{padding:28px}.login-card h1{font-size:24px}#testModel,#testUpstream{flex-basis:100%;max-width:none}#testBtn{width:100%}#view-models>.card>div:first-child>div{flex-wrap:wrap}#view-models>.card>div:first-child>div button{width:100%}.table-scroll{margin-inline:-4px}#securityForm>div{align-items:stretch!important}#securityForm>div>label:first-child{width:100%}.ups-panel{min-width:390px}}
@media(max-width:400px){.admin-main{padding-inline:14px}.card{padding:18px}.stat-grid{grid-template-columns:1fr}.stat-grid .card{display:grid;grid-template-columns:1fr auto;margin-bottom:0}.stat-grid{margin-bottom:18px}.stat-grid strong{grid-column:2;grid-row:1/3;margin:0}.login-card{padding:24px}.brand{font-size:22px}.admin-topbar strong{font-size:12px}.admin-topbar button.ghost{padding-inline:10px}.admin-footer{margin-inline:14px}}
@supports(backdrop-filter:blur(12px)){.login-card{backdrop-filter:blur(12px)}}@media(prefers-reduced-transparency:reduce){.card,.login-card{background:#fff;backdrop-filter:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
