@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');
:root{--topbar-h:73px;--blue:#3155f5;--ink:#1b2030;--muted:#858b9b;--border:#e7eaf1;--surface:#f7f8fc}*{box-sizing:border-box}body{margin:0;font:14px 'DM Sans','Noto Sans SC',sans-serif;color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #8fa4ff;outline-offset:3px}input:focus,textarea:focus,select:focus{outline:2px solid #acbbff;outline-offset:1px}button{color:inherit}label{display:block;font-size:13px;font-weight:500;margin-bottom:21px}input,select,textarea{display:block;width:100%;padding:11px 13px;border:1px solid #dfe3ee;background:#fff;border-radius:6px;color:var(--ink);margin-top:9px;min-width:0}input::placeholder,textarea::placeholder{color:#a4a9b6}input:disabled{background:#f8f9fc;color:#9399a8}textarea{resize:vertical;line-height:1.8}h1,h2,h3,p{margin-top:0}.brand{font-size:23px;letter-spacing:-1px;display:flex;align-items:center;font-weight:700;white-space:nowrap}.brand>span:last-child{color:#9ba1af;font-weight:400}.mark{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:8px;margin-right:9px;font-size:33px;line-height:1;color:#fff;background:var(--blue);transform:rotate(-10deg)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:13px;min-height:40px;padding:10px 17px;border:1px solid #dfe4ef;border-radius:6px;background:white;font-size:13px;font-weight:500;transition:background .15s,box-shadow .15s}.btn:hover{background:#f4f6fd;box-shadow:0 2px 7px #1c315308}.btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn.primary:hover{background:#2647dd}.full{width:100%}.text-button{background:none;border:0;padding:5px 0;color:var(--blue);font-size:12px}.danger{color:#cf5e69}.muted{color:var(--muted)}.mono,code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.positive{color:#328d77}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.4px;color:var(--blue)}.sidebar{width:242px;background:#fff;border-right:1px solid var(--border);padding:27px 17px 0;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:30}.sidebar>.brand{margin:0 10px 31px}.space-chip{border:1px solid var(--border);border-radius:7px;padding:11px;display:flex;align-items:center;gap:10px;margin-bottom:27px}.space-icon{display:grid;place-items:center;background:#edf1ff;color:#5571cf;border-radius:6px;width:30px;height:32px;font-weight:700}.space-chip b{font-size:12px;font-weight:600;display:block}.space-chip small{font-size:10px;color:#9aa1b2;display:block;margin-top:4px}.space-chip>span:last-child{margin-left:auto;color:#9aa1b2}.nav-label{font-size:9px;font-weight:600;color:#a5adbc;letter-spacing:1.3px;padding-left:14px;margin-bottom:12px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav a{display:flex;align-items:center;gap:13px;padding:12px 15px;color:#6b7384;font-size:13px;border-radius:6px}.sidebar nav a>span{font-size:19px;width:20px;text-align:center;font-family:sans-serif}.sidebar nav a:hover{background:#f7f8fc}.sidebar nav a.selected{color:var(--blue);background:#edf1ff;font-weight:500}.avatar,.top-avatar{width:32px;height:32px;display:grid;place-items:center;flex-shrink:0;background:#eaf0ff;color:#5871be;border-radius:50%;font-size:13px;font-weight:600}.work-main{margin-left:242px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:73px;padding:0 35px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:15px;position:sticky;top:0;z-index:20}.topbar>div{display:flex;align-items:center;gap:17px;font-size:12px}.topbar>div>span{color:#939aab}.topbar b{font-weight:500}.topbar i{font-style:normal;color:#c8cdda}.lang-select{font-size:12px;width:auto;background:transparent;border:1px solid var(--border);padding:7px 9px;margin:0;color:#6d768a}#content{padding:32px 35px 45px;flex:1;max-width:1600px;width:100%;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:20px}.page-heading h1{font-size:25px;letter-spacing:-.6px;font-weight:600;margin:0 0 9px}.page-heading p{font-size:13px;color:#939aab;margin:0;line-height:1.7}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:25px}.metric{border:1px solid var(--border);background:white;border-radius:9px;padding:20px}.metric>span{display:flex;justify-content:space-between;align-items:center;color:#81899a;font-size:12px}.metric i{font-style:normal;color:#9ca9c6;font-size:17px}.metric>b{display:block;font-size:28px;letter-spacing:-.9px;margin-top:17px;font-weight:600;overflow-wrap:anywhere}.metric small{display:block;font-size:10px;color:#a6adbc;margin-top:8px}.panel{border:1px solid var(--border);border-radius:9px;background:#fff;overflow:hidden}.panel-title{display:flex;align-items:center;justify-content:space-between;padding:20px 23px;gap:15px}.panel-title h2{font-size:14px;font-weight:600;margin:0}.panel-title>span,.panel-title>a{font-size:11px;color:#949cac}.panel-title>a{color:#7889af}.overview-middle{display:grid;grid-template-columns:1.8fr 1fr;gap:23px;margin-bottom:25px}.chart{height:205px;display:flex;align-items:stretch;justify-content:space-between;gap:20px;padding:0 35px 24px;background:repeating-linear-gradient(to top,transparent 0,transparent 42px,#f5f7fb 42px,#f5f7fb 43px)}.chart-column{width:100%;display:flex;flex-direction:column;text-align:center}.chart-column>span{font-size:10px;color:#8e9bbb;margin-bottom:7px}.bar-track{height:135px;display:flex;align-items:flex-end;margin:0 auto;width:27px;max-width:100%;border-bottom:1px solid #c8d3f4}.bar-track>div{width:100%;background:linear-gradient(#5376ff,#90a8ff);border-radius:4px 4px 0 0;min-height:0}.chart-column small{font-size:10px;color:#9ca5b7;margin-top:14px}.quickstart{border:1px solid #e0e6fc;background:linear-gradient(130deg,#eff3ff,#f5f7ff);border-radius:9px;padding:24px;position:relative}.quickstart .eyebrow{font-size:8px}.quick-icon{position:absolute;right:25px;top:30px;color:#a1b4ed;font-size:29px}.quickstart h2{font-size:18px;line-height:1.55;margin:34px 0 10px;font-weight:600}.quickstart p{font-size:12px;color:#8c99b6;line-height:1.8;margin-bottom:21px}.quickstart>a{font-size:12px;color:#486ada}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th{background:#fafbfe;border-block:1px solid #eef0f5;font-size:10px;color:#97a0b1;font-weight:500;padding:12px 23px}td{padding:16px 23px;font-size:12px;border-bottom:1px solid #f0f2f7;color:#818a9e}td b{font-size:12px;color:#4f5d77;font-weight:500}tbody tr:last-child td{border-bottom:0}.row-id{display:block;font-size:9px;font-family:monospace;color:#a4adbf;margin-top:5px}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:4px;font-size:10px;background:#f1f3f8;color:#939aab;white-space:nowrap}.badge.active,.badge.simulated{color:#408b78;background:#edf7f3}.badge.active:before,.badge.simulated:before{content:'';width:4px;height:4px;background:#59a58f;border-radius:50%}.badge.disabled,.badge.revoked,.badge.suspended{color:#ac7176;background:#fff0f1}.badge.adminRole{background:#eff2ff;color:#6580d6}.table-note{padding:13px 23px;border-top:1px solid var(--border);font-size:10px;color:#a4acbd;margin:0;line-height:1.7}.filters{display:flex;gap:13px;margin-bottom:23px}.filters input{max-width:340px;margin:0}.filters select{width:auto;min-width:155px;margin:0;font-size:12px}.model-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.model-card{background:white;border:1px solid var(--border);border-radius:9px;padding:23px}.model-card-top{display:flex;align-items:center;justify-content:space-between}.provider-logo{font-size:34px;color:#343e50}.provider-logo.anthropic{color:#c17f62}.provider-logo.google{color:#6490e3}.provider-logo.deepseek{color:#4579ee}.model-card h2{font-size:19px;margin:22px 0 6px;font-weight:600}.model-card>code{font-size:10px;color:#a0a9bb}.model-card>p{font-size:11px;color:#a0a8b8;margin-top:13px}.model-card dl{padding:16px 0 7px;border-top:1px solid var(--border);margin-top:20px}.model-card dl>div{display:flex;justify-content:space-between;gap:15px;font-size:11px;padding:7px 0}.model-card dt{color:#929caf}.model-card dd{margin:0;font-weight:500;color:#65728b}.model-card .btn{font-size:11px;margin-top:10px}.empty{padding:55px 20px;text-align:center}.empty>span{font-size:32px;color:#aebbe0}.empty h3{font-size:15px;font-weight:500;margin:12px 0;color:#76829a}.empty p{font-size:12px;color:#a2abbd}.loading,.error-state{padding:80px 25px;text-align:center;color:#8a96b0}.error-state h2{font-size:18px}.playground-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:23px}.prompt-panel{padding:25px}.response-panel{min-height:460px}.response-empty{padding:80px 30px;text-align:center;color:#9da8bd;line-height:1.8;font-size:13px}.response-empty>span{font-size:40px;color:#c0ccee;display:block;margin-bottom:20px}.response-text{white-space:pre-wrap;line-height:2;padding:24px;font-size:14px;color:#52617d}.response-stats{display:flex;gap:20px;margin:10px 24px 0;padding:15px 0;border-top:1px solid var(--border);font-size:11px;color:#8391aa}.request-ref{display:block;margin:0 24px 24px;font-size:9px;color:#a4afc1;overflow-wrap:anywhere}.balance-card{background:linear-gradient(110deg,#3155f5,#496af5);border-radius:10px;padding:29px;color:white;display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:20px}.balance-card span{font-size:13px;color:#c4d0ff}.balance-card h2{font-size:37px;margin:13px 0;font-weight:600;letter-spacing:-1px}.balance-card p{font-size:11px;color:#bfcfff;margin-bottom:0}.balance-card .btn{font-size:12px;white-space:nowrap}.settings-panel{max-width:650px}.settings-panel form{padding:0 25px 27px}.profile-meta{margin:25px 0}.profile-meta>div{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding:15px 0;align-items:center;font-size:12px;color:#909caf}.table-user{display:flex;align-items:center;gap:9px}.table-user .avatar{width:29px;height:29px;font-size:11px}.table-holder{display:flex;flex-direction:column;gap:4px}.table-holder small{font-size:10px;color:#a4adbf}dialog{border:1px solid var(--border);border-radius:12px;width:min(490px,calc(100% - 32px));padding:26px;color:var(--ink);box-shadow:0 24px 100px #101d4833}dialog::backdrop{background:#16244366;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.dialog-heading h2{font-size:19px;font-weight:600;margin:0}.icon-button{border:0;background:none;font-size:22px;color:#8d99ad;padding:2px 5px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}dialog p{font-size:13px;color:#909aaf;line-height:1.9}.secret{font-family:monospace;font-size:12px;word-break:break-all;height:100px;background:#f7f9fe}#toast{position:fixed;top:auto;right:auto;margin:0;border:0;overflow:visible;bottom:25px;left:50%;transform:translateX(-50%);background:#1f2b44;color:white;box-shadow:0 8px 20px #0002;border-radius:7px;padding:13px 22px;z-index:100;max-width:90%;font-size:13px}#toast:empty{display:none}.form-error,#demo-error{font-size:12px;color:#c25b67;line-height:1.7;margin-top:15px}.fineprint{font-size:11px;color:#9ba5b9;line-height:1.9}.auth{min-height:100vh;display:grid;grid-template-columns:44% 56%;background:#fff}.auth-aside{padding:42px 11%;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(ellipse at 70% 50%,#e3eaff,transparent 70%),#f1f5ff;border-right:1px solid #e7edff}.auth-aside>div{padding:45px 0 85px}.auth-aside .eyebrow{font-size:10px}.auth-aside h1{font-size:48px;line-height:1.3;letter-spacing:-1.7px;font-weight:600;margin:22px 0}.auth-aside p{font-size:14px;line-height:1.9;max-width:290px;color:#8d9ab8}.auth-aside small{font-size:11px;color:#a0abc2}.auth-nodes{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:47px;max-width:330px}.auth-nodes span{padding:12px 20px;border:1px solid #dbe3fb;border-radius:8px;color:#8092b8;background:#ffffff66;font-size:12px}.auth-nodes b{background:var(--blue);color:white;width:50px;height:50px;font-size:40px;text-align:center;border-radius:13px;font-weight:400}.auth-main{padding:30px 7%}.auth-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#8a95ac}.auth-form{max-width:380px;margin:95px auto 50px}.auth-form h1{font-size:26px;font-weight:600;letter-spacing:-.5px;margin-bottom:12px}.auth-form>p{font-size:13px;color:#939db0;line-height:1.8}.auth-form form{margin-top:34px}.auth-link{text-align:center;font-size:12px!important;margin-top:22px}.auth-link>a{color:var(--blue);margin-left:6px}.divider{display:flex;align-items:center;gap:15px;color:#a5adbc;font-size:10px;margin:29px 0 21px}.divider:before,.divider:after{content:'';height:1px;background:var(--border);flex:1}.demo-buttons{display:flex;gap:10px}.demo-buttons .btn{font-size:11px;flex:1}.auth-form .fineprint{font-size:10px;text-align:center;margin-top:20px}#mobile-nav{display:none}@media(min-width:1600px){#content{padding-top:45px}.model-cards{grid-template-columns:repeat(4,1fr)}}@media(max-width:1150px){.sidebar{width:216px;padding-inline:12px}.sidebar .brand{font-size:21px}.work-main{margin-left:216px}#content{padding:28px 24px}.topbar{padding-left:24px;padding-right:24px}.metric{padding:16px}.metrics{gap:12px}.metric>b{font-size:24px}.overview-middle{grid-template-columns:1.5fr 1fr}.model-cards{grid-template-columns:repeat(2,1fr)}.playground-grid{grid-template-columns:1fr}.auth-aside h1{font-size:39px}.auth-aside{padding-inline:10%}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:235px;box-shadow:15px 0 60px #25375c18}.sidebar.mobile-open{transform:none}.work-main{margin-left:0}.topbar{height:64px;padding:0 18px}:root{--topbar-h:64px}.topbar>div{font-size:10px;gap:10px}.topbar .top-avatar{display:none}.topbar .lang-select{font-size:10px}#mobile-nav{display:block}#content{padding:25px 18px}.page-heading{align-items:flex-start;gap:10px;margin-bottom:23px}.page-heading h1{font-size:22px}.page-heading p{font-size:12px;max-width:400px}.page-heading .btn{font-size:11px;white-space:nowrap;padding:9px 11px}.metrics{grid-template-columns:repeat(2,1fr);gap:12px}.metric>b{font-size:27px}.overview-middle{grid-template-columns:1fr}.quickstart{padding:23px}.quickstart h2{margin-top:24px}.quickstart p{max-width:400px}.panel-title{padding:18px}.chart{padding-inline:22px;gap:15px}th,td{padding:13px 18px}.model-cards{gap:13px}.model-card{padding:17px}.model-card h2{font-size:17px}.model-card dl>div{font-size:10px;gap:8px}.filters{flex-wrap:wrap}.filters input{max-width:100%}.filters select{flex:1}.prompt-panel{padding:20px}.balance-card{padding:23px;flex-wrap:wrap}.balance-card h2{font-size:32px}.auth{grid-template-columns:1fr}.auth-aside{display:none}.auth-main{padding:25px 7%}.auth-form{margin:70px auto 30px}.auth-form h1{font-size:25px}.sidebar nav a{padding:11px 15px}.sidebar .space-chip{margin-bottom:20px}.sidebar>.brand{margin-bottom:25px}}@media(max-width:420px){.model-cards{grid-template-columns:1fr}.page-heading{flex-wrap:wrap}.metric>b{font-size:24px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Final readability pass: regular UI text is at least 14px; secondary metadata 12px. */
body{font-size:16px;color:#263149}label,.btn,.text-button,.sidebar nav a,.sidebar-bottom>button,.space-chip b,.page-heading p,.panel-title h2,.panel-title>a,.metric>span,td,td b,.model-card dl>div,.model-card .btn,.model-card>p,.auth-form>p{font-size:14px}.topbar>div,.lang-select,th,.badge,.metric small,.chart-column>span,.chart-column small,.quickstart p,.quickstart>a,.table-note,.model-card>code,.model-card dt,.model-card dd,.response-stats,.request-ref,.balance-card p,.profile-meta>div,.fineprint,.auth-form .fineprint,.auth-link,.divider,.demo-buttons .btn,.row-id,.space-chip small,.auth-aside small{font-size:12px}.page-heading p,.metric>span,.quickstart p,.table-note,.fineprint,.auth-form .fineprint{color:#73819a}td{color:#65738e}.metric small,.chart-column small,.panel-title>span{color:#8490a8}.model-card dt{color:#7a879e}.auth-form h1{line-height:1.4}.sidebar-bottom>button{line-height:1.5}.sidebar nav a{padding:11px 14px}.space-chip{padding:10px}.quickstart .eyebrow,.nav-label{font-size:10px}.auth-main .lang-select{font-size:13px}@media(max-width:1150px){.metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.page-heading .btn{font-size:12px}.topbar>div{font-size:12px}.topbar .lang-select{font-size:12px}.page-heading p{font-size:14px}.model-card dl>div{font-size:12px}.sidebar{width:250px}.model-cards{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Keep translated navigation, form actions and financial values readable. */
.page-heading>div,.topbar>div,.auth-form,.auth-aside,.work-main,.metric,.model-card{min-width:0}
.sidebar nav a{line-height:1.5}.sidebar nav a>span{flex-shrink:0}
.space-chip>div{min-width:0}.space-chip b{overflow-wrap:anywhere}
.lang-select{max-width:150px}
.auth-form h1,.auth-aside h1,.quickstart h2,.page-heading h1{overflow-wrap:break-word}
.auth-aside h1{font-size:clamp(32px,3.5vw,48px)}
.auth-link,.demo-buttons .btn{line-height:1.6}
.metric>b{font-size:clamp(23px,2vw,28px);overflow-wrap:normal;word-break:normal}
.metric>span{gap:8px;line-height:1.5}.metric>span>i{flex-shrink:0}
.response-stats{flex-wrap:wrap}.auth-top>a{line-height:1.5}.profile-meta>div{gap:12px}
@media(max-width:760px){
 .topbar-lead .palette-trigger{width:auto;max-width:none}
 .topbar>div:last-of-type{flex-shrink:0;gap:8px}.topbar .lang-select{max-width:110px}
 .page-heading{flex-wrap:wrap}.page-heading .btn{white-space:normal;text-align:center}
 .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding:15px 12px}
 .metric>b{font-size:22px}.balance-card h2{font-size:30px;overflow-wrap:anywhere}
 .demo-buttons{flex-wrap:wrap}.demo-buttons .btn{min-width:130px}
 .model-card dl>div{gap:15px}.model-card dt{min-width:0}
}

/* Account menu behind the topbar avatar, and the settings page's group navigation. */
.account-menu{position:relative}
button.top-avatar{border:0;padding:0;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
button.top-avatar[aria-expanded=true]{box-shadow:0 0 0 2px var(--blue)}
.account-popover{position:absolute;top:calc(100% + 10px);right:0;z-index:40;min-width:248px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 18px 44px -18px #16244340;padding:6px;text-align:left}
.account-popover[hidden]{display:none}
.account-head{padding:11px 12px 12px}
.account-head b{display:block;font-size:13px;font-weight:600}
.account-head small{display:block;font-size:11px;color:#9299aa;margin-top:4px;overflow-wrap:anywhere}
.account-group{border-top:1px solid var(--border);padding:5px 0}
.account-group:first-of-type{border-top:0}
.account-popover :is(a,button){display:flex;align-items:center;gap:11px;width:100%;padding:9px 12px;border:0;background:none;color:#5d6577;font:inherit;font-size:13px;text-align:left;border-radius:7px}
.account-popover :is(a,button):hover{background:#f4f6fd;color:var(--ink)}
.account-popover :is(a,button):focus-visible{outline:2px solid #8fa4ff;outline-offset:-2px}
.account-icon{font-size:15px;width:17px;text-align:center;color:#9aa1b2;font-family:sans-serif}
.account-meta{margin-left:auto;font-size:11px;color:#8a92a4;font-variant-numeric:tabular-nums}
.account-danger{color:#c25b67}
.account-danger:hover{background:#fff0f1;color:#b04e59}









.settings-main{display:flex;flex-direction:column;gap:18px;max-width:720px}
.settings-card{border:1px solid var(--border);border-radius:9px;background:#fff;padding:23px 25px}
.settings-card h2{font-size:14px;font-weight:600;margin:0 0 6px}
.settings-card>div>p{font-size:12px;color:#939aab;margin:0;line-height:1.7}
.settings-identity{display:flex;align-items:center;gap:17px}
.settings-identity h2{font-size:18px;margin:0}
.settings-identity p{font-size:12px;color:#939aab;margin:5px 0 0;overflow-wrap:anywhere}
.settings-avatar{display:grid;place-items:center;width:58px;height:58px;flex-shrink:0;border-radius:12px;background:#eaf0ff;color:#5871be;font-size:21px;font-weight:600}
/* Title and action share a row until the action would be squeezed. */
.settings-row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.settings-row .btn{white-space:nowrap}
.settings-card form label:last-of-type{margin-bottom:0}
.settings-card .profile-meta{margin:22px 0}

html[data-theme=dark] .account-popover{background:#141d2d;box-shadow:0 18px 44px -18px #0008}
html[data-theme=dark] .settings-card{background:#141d2d}

@media(max-width:760px){
  
  
  
  .account-popover{min-width:214px}
}

/* Command palette: a search field over the pages, models and actions the console already has. */
.palette-trigger{display:flex;align-items:center;gap:9px;min-height:34px;padding:0 10px;border:1px solid var(--border);border-radius:7px;background:transparent;color:#9aa1b2;font:inherit;font-size:12px;max-width:230px}
.palette-trigger>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.palette-trigger:hover{background:#f4f6fd;color:#6d768a}
.palette-trigger kbd{font:inherit;font-size:10px;padding:2px 5px;border:1px solid var(--border);border-radius:4px;color:#a4abbb}
dialog.palette-dialog{width:min(560px,calc(100% - 32px));padding:0;overflow:hidden}
.palette-search{display:flex;align-items:center;gap:11px;padding:15px 18px;border-bottom:1px solid var(--border);color:#9aa1b2;font-size:17px}
.palette-search input{margin:0;border:0;padding:0;background:none;font-size:14px;min-height:24px}
.palette-search input:focus{outline:none}
.palette-list{max-height:min(56vh,420px);overflow:auto;padding:7px}
.palette-group{font-size:10px;font-weight:600;letter-spacing:1.2px;color:#a5adbc;margin:11px 0 5px;padding-left:11px}
.palette-group:first-child{margin-top:4px}
.palette-item{display:flex;align-items:center;gap:11px;width:100%;padding:9px 11px;border:0;border-radius:7px;background:none;color:#5d6577;font:inherit;font-size:13px;text-align:left}
.palette-item.active,.palette-item:hover{background:#edf1ff;color:var(--ink)}
.palette-icon{font-size:15px;width:17px;text-align:center;color:#9aa1b2;font-family:sans-serif;flex-shrink:0}
.palette-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.palette-hint{margin-left:auto;font-size:11px;color:#a4abbb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45%}
.palette-danger{color:#c25b67}
.palette-danger.active,.palette-danger:hover{background:#fff0f1;color:#b04e59}
.palette-empty{padding:34px 20px;text-align:center;font-size:13px;color:#9aa1b2;margin:0}
html[data-theme=dark] .palette-item.active,html[data-theme=dark] .palette-item:hover{background:#1d2a49}
html[data-theme=dark] .palette-trigger:hover{background:#192335}

@media(max-width:760px){
  /* The placeholder and shortcut do not fit beside the language select on a phone. */
  .palette-trigger>span:nth-child(2),.palette-trigger kbd{display:none}
  .palette-trigger{padding:0 9px}
  .palette-hint{display:none}
}

/* Role control in the member list, and the destructive corner of the settings page. */
.role-select{width:auto;min-width:118px;margin:0;padding:6px 9px;font-size:12px}
/* The details as they will appear, read down rather than laid out as a form, so it is obvious this
   is a confirmation and not another thing to fill in. */
.receipt-preview{margin:14px 0 4px;padding:14px 16px;list-style:none;border:1px solid #dfe4ef;border-radius:9px;background:#f7f9fd;font:13px/1.8 system-ui,sans-serif}
html[data-theme=dark] .receipt-preview{border-color:#2c374a;background:#111827}
/* Two columns where there is room: these are short fields, and one tall column of them reads as a
   longer form than it is. */
.billing-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin-top:16px}
.billing-grid label{display:flex;flex-direction:column;gap:6px}
.billing-grid button{grid-column:1/-1;justify-self:start}
@media (max-width:720px){.billing-grid{grid-template-columns:1fr}}
.settings-danger{border-color:#e6c9cd}
.settings-danger h2{color:#c25b67}
.btn.danger-btn{border-color:#e0b7bd;color:#c25b67}
.btn.danger-btn:hover{background:#fff0f1;border-color:#d49aa2}
html[data-theme=dark] .settings-danger{border-color:#4a2b31}
html[data-theme=dark] .btn.danger-btn{border-color:#5c343b}
html[data-theme=dark] .btn.danger-btn:hover{background:#3a2228}
/* Owner and member badges alongside the existing administrator one. */
.badge.ownerRole{background:#ecf1ff;color:#4a63c8}
.badge.memberRole{background:#f1f3f8;color:#7b8395}
html[data-theme=dark] .badge.ownerRole{background:#1d2a49;color:#9db0ea}
html[data-theme=dark] .badge.memberRole{background:#192335;color:#96a0b5}
.rate-value{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;font-variant-numeric:tabular-nums;color:#65728b;white-space:nowrap}
html[data-theme=dark] .rate-value{color:#9aa6bd}

/* A workspace notice rather than a strip under the header. It slides down from the top edge, can be
   dismissed, and removes itself after eight seconds, so the message is read once instead of ignored
   on every page. Deliberately not #toast: a toast confirms something the person just did. */
.notice{position:fixed;top:calc(var(--topbar-h) + 14px);left:0;right:0;margin-inline:auto;width:fit-content;z-index:10;display:flex;align-items:center;gap:10px;max-width:min(640px,calc(100% - 32px));padding:12px 14px 12px 16px;border:1px solid #d9e2ff;border-radius:10px;background:#f0f3ff;color:#5b6b9c;font-size:13px;line-height:1.6;box-shadow:0 12px 28px #1b203026;transform:translateY(calc(-100% - var(--topbar-h) - 14px));transition:transform .28s cubic-bezier(.16,1,.3,1)}
.notice.open{transform:translateY(0)}
.notice[hidden]{display:none}
.notice .notice-mark{color:#7491dd;flex-shrink:0}
.notice p{margin:0}
.notice-close{margin-left:4px;flex-shrink:0;border:0;background:none;color:#8a95b8;font-size:19px;line-height:1;padding:0 2px;cursor:pointer}
.notice-close:hover{color:#5b6b9c}
@media (prefers-reduced-motion:reduce){.notice{transition:none}}

/* The page name keeps its line; the command search gives up width instead. Without this the
   title wrapped mid-word on a narrow desktop once the docs link joined the header. */
.topbar-lead{flex:0 1 auto;min-width:0}
.topbar-lead .palette-trigger{max-width:320px;width:100%}
.topbar .palette-trigger{min-width:0}
/* Search leads, then the link that leaves the console, then a rule, then what the account owns. */
.topbar-tools{gap:10px;flex-shrink:0}
.topbar-docs{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 11px;font-size:12px;color:#6b7384;border-radius:7px;white-space:nowrap}
.topbar-docs>svg{flex:none;opacity:.75}
.topbar-docs:hover{background:var(--surface);color:var(--ink)}
.topbar-rule{width:1px;height:20px;background:var(--border);flex-shrink:0}

/* Balance in the header, because the number decides whether a request will run at all. Empty is
   not an error, so it is stated rather than alarmed: a warning tone, not a red one. */
.topbar-balance{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 11px;border:1px solid var(--border);border-radius:7px;font-size:12px;color:#6d768a;font-variant-numeric:tabular-nums;white-space:nowrap}
.topbar-balance>span{font-size:12px;opacity:.75}
.topbar-balance:hover{background:var(--surface);color:var(--ink)}
.topbar-balance.low{border-color:#f0cfc3;background:#fdf5f1;color:#b2683f}
.topbar-balance.low:hover{background:#fbebe2;color:#9a5732}

/* The platform's select arrow never matches the rest of a header. This one inherits currentColor. */
.lang-field{position:relative;display:inline-flex;align-items:center}
.lang-field .lang-select{appearance:none;-webkit-appearance:none;min-height:34px;padding:0 26px 0 11px;border-radius:7px}
.lang-field:hover .lang-select{background:var(--surface);color:var(--ink)}
.lang-caret{position:absolute;right:11px;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.5;pointer-events:none}

@media(max-width:760px){
  /* The phone header keeps the page name, search, language and theme. /docs stays one command-palette
     entry away and the balance stays one tap away in the account menu, which already shows it. */
  .topbar-docs,.topbar-rule,.topbar-balance{display:none}
}

/* Buying credits. Tiles rather than a select, because the choice is the page's whole job and a
   collapsed menu hides three of four options. The total is restated next to the action so the
   amount is never inferred from which tile looks pressed. */
/* Panels stack flush elsewhere because a page is one panel; the billing page is three, so the
   ones after the purchase panel need air between them. */
.buy-panel~.panel{margin-top:22px}
.buy-body{padding:0 23px 23px}
.buy-note{font-size:12px;color:#939aab;line-height:1.7;margin:0 0 18px}
.credit-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:12px}
.buy-range{font-size:12px;color:var(--muted)}
.save-method{display:flex;align-items:center;gap:8px;margin:14px 0 0;font-size:13px;font-weight:400}.save-method[hidden]{display:none}.save-method input{width:auto;margin:0}
.saved-pay{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.saved-pay select{width:auto;margin:0;min-height:40px}
.saved-methods-panel .saved-method-list{list-style:none;margin:0;padding:0 23px 18px}.saved-method{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--border);font-size:13px}.saved-method-info{flex:1;display:flex;align-items:baseline;gap:12px;min-width:0;flex-wrap:wrap}.saved-method-name{font-weight:500}.saved-method-expiry{color:var(--muted);font-size:12px}.order-paid-with{font-size:11px;color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:1px 6px;margin-left:6px}
.saved-method-add{display:flex;gap:8px;flex-wrap:wrap;padding:0 23px 18px}
.auto-topup-form{padding:0 23px 20px}.auto-topup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px 16px;margin:14px 0}.auto-topup-grid label{display:flex;flex-direction:column;gap:6px;margin:0;font-size:12px}.auto-topup-grid input,.auto-topup-grid select{margin:0}.auto-topup-switch,.auto-topup-terms{display:flex;align-items:flex-start;gap:8px;font-size:13px;font-weight:400;margin:10px 0}.auto-topup-terms[hidden]{display:none}.auto-topup-switch input,.auto-topup-terms input{width:auto;margin:3px 0 0}.auto-topup-terms span{line-height:1.6;color:var(--muted)}.auto-topup-notice{font-size:12px;color:#c25b67;margin:8px 0}
.saved-method-provider{color:var(--muted);font-size:11px;border:1px solid var(--border);border-radius:4px;padding:1px 6px}
.payment-options-field{display:grid;gap:8px;margin-bottom:16px}.payment-options-field>span{font-size:13px;color:var(--muted)}
.credit-tile{padding:16px 12px;border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--ink);cursor:pointer;text-align:center;transition:border-color .15s,background .15s}
.credit-tile b{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}
.credit-tile:hover{border-color:#b9c4e8;background:var(--surface)}
.credit-tile.selected{border-color:var(--blue);background:#edf1ff;color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.buy-custom[hidden]{display:none}
.buy-custom{display:flex;align-items:center;gap:12px;margin-top:16px;font-size:12px;color:#6d768a}
.buy-custom input{width:140px;min-height:38px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:transparent;color:inherit;font-variant-numeric:tabular-nums}
.buy-summary{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:22px 0 18px;padding-top:18px;border-top:1px solid var(--border);font-size:12px;color:#939aab}
.buy-summary b{font-size:24px;font-weight:600;color:var(--ink);letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.buy-cta{min-width:220px;justify-content:center}
.buy-actions{display:flex;justify-content:flex-end}
.buy-cta:disabled{opacity:.5;cursor:not-allowed}
.buy-pending{font-size:12px;color:#939aab;line-height:1.7;margin:12px 0 0}
.order-state{font-size:12px;color:#6d768a}
.order-state.orderSucceeded{color:#2f855a}
.order-state.refunded{color:#b2683f}
@media(max-width:760px){.buy-body{padding:0 18px 18px}}
.panel-empty{margin:0;padding:34px 23px;text-align:center;font-size:12px;color:#939aab;line-height:1.7}
/* Key lifecycle forms keep long configuration usable on small screens. */
dialog{max-height:calc(100dvh - 32px);overflow-y:auto}
.key-controls{border:1px solid var(--border);border-radius:8px;padding:16px;margin:0 0 21px;min-width:0}
.key-controls legend{font-weight:600;padding:0 6px}
.key-toggle{display:flex;align-items:center;gap:10px;min-height:40px;cursor:pointer;margin-bottom:12px}
.key-toggle input{width:18px;height:18px;margin:0;flex:none}
.key-controls [hidden]{display:none}
.key-controls input,.key-controls select{font-variant-numeric:tabular-nums;min-height:40px}
.key-controls .fineprint{margin-bottom:0}
dialog input[type=datetime-local]{min-height:40px}
.act-as-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 20px;background:#b45309;color:#fff;font-size:13px;position:sticky;top:0;z-index:5}
.act-as-banner button{background:transparent;border:1px solid currentColor;color:inherit;border-radius:6px;padding:3px 12px;font:inherit;cursor:pointer}
.act-as-banner button:hover,.act-as-banner button:focus-visible{background:#fff;color:#b45309}
/* Playground conversation, code samples and the Keys first-run state. */
.heading-actions{display:flex;gap:10px;flex-wrap:wrap}
.system-prompt{margin:-6px 0 21px;border:1px dashed #dfe3ee;border-radius:6px;padding:0 13px}
.output-limit input[type=number]{width:9rem;display:block;margin-top:6px}.output-limit .fineprint{display:block;margin-top:5px}.chat-truncated{color:#9a5b00}.chat-failed{color:#b42318}
.system-prompt summary{cursor:pointer;padding:11px 0;font-size:13px;font-weight:500;color:#5d6880}
.system-prompt[open]{padding-bottom:13px}.system-prompt textarea{margin-top:0}
.shortcut-hint{margin:12px 0 0;text-align:center}
.shortcut-hint kbd{font:inherit;font-size:12px;color:#8e98ad;background:#f5f7fb;border:1px solid var(--border);border-radius:4px;padding:3px 8px}
.response-panel{display:flex;flex-direction:column}
#response{flex:1;display:flex;flex-direction:column;max-height:calc(100vh - 230px);min-height:400px;overflow:auto}
.chat-thread{list-style:none;margin:0;padding:6px 24px 0;display:flex;flex-direction:column;gap:18px}
.chat-turn{display:flex;flex-direction:column;gap:6px}
.chat-role{font-size:12px;font-weight:600;color:#7b879e}
.chat-bubble{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:14px;padding:12px 15px;border-radius:9px;color:#3f4b63;background:#f6f8fc;border:1px solid #edf0f6}
.chat-turn.user{align-items:flex-end}.chat-turn.user .chat-bubble{background:#edf1ff;border-color:#dfe6ff;color:#2d3b66;max-width:85%}
.chat-turn .response-stats{margin:0;padding:4px 0 0;border:0;align-items:center}
.chat-turn .response-stats .text-button{margin-left:auto}
.chat-turn .request-ref{margin:0}
.chat-note{margin:0;font-size:12px;color:#9a7b33;max-width:85%;text-align:right;line-height:1.6}
.chat-total{position:sticky;bottom:0;margin-top:auto;display:flex;flex-wrap:wrap;gap:16px;padding:13px 24px;border-top:1px solid var(--border);background:#fbfcfe;font-size:12px;color:#7c889f}
.chat-total span:first-child{font-weight:600;margin-right:auto}
.code-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin:6px 0 12px}
.code-tab{border:0;background:none;padding:9px 13px;font-size:13px;color:#7b879e;border-bottom:2px solid transparent;margin-bottom:-1px}
.code-tab[aria-selected=true]{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}
.code-sample{margin:0;padding:16px;background:#101a2e;color:#e2eaff;border-radius:8px;overflow:auto;max-height:50vh;font-size:12px;line-height:1.7}
.code-sample code{white-space:pre}
dialog:has(.code-sample){width:min(720px,calc(100% - 32px))}
.keys-empty p{max-width:460px;margin-inline:auto;line-height:1.8}
.empty-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:18px}
@media(max-width:760px){.heading-actions .btn{padding:9px 11px}#response{max-height:none;min-height:320px}.chat-thread{padding-inline:16px}.chat-total{padding-inline:16px}}
@media(hover:none){.shortcut-hint{display:none}}
.field-hint{display:block;margin-top:7px;font-size:12px;font-weight:400;line-height:1.6;color:#8e98ad}
.key-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.key-tags .mon-tag{font:11px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;padding:1px 6px;border-radius:4px;background:#eef2ff;color:#4b5f9e}
.key-models [data-model-fields]{display:flex;flex-direction:column;gap:10px;margin-top:4px;max-height:260px;overflow:auto}
.key-model-group{border:1px solid var(--border);border-radius:6px;padding:8px 11px}
.key-model-group>b{display:block;font-size:12px;margin-bottom:4px}
.key-model-list{display:flex;flex-direction:column;padding-left:22px}
.key-model-option{display:flex;align-items:center;gap:8px;margin:4px 0;font-size:13px;font-weight:400}
.key-model-group>.key-model-option{font-weight:500}
.key-model-option input{width:auto;margin:0;min-height:0}
.key-model-option[hidden],.key-model-group[hidden],[data-search-heading][hidden]{display:none}
.key-model-search-label{position:sticky;top:0;background:var(--panel);padding:4px 0;z-index:1}
.key-model-unavailable{opacity:.78}
.key-model-unavailable input{cursor:not-allowed}
.key-model-summary{display:block;margin-top:6px;font-size:11px;color:#7b879e;max-width:260px;overflow:hidden;text-overflow:ellipsis}
.member-budget-panel{margin-bottom:22px}
.member-budget-body{padding:0 23px 20px}
.member-budget-figures{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}
.member-budget-figures b{font-size:22px;font-weight:600}
.member-budget-figures span{color:#8a96b0;font-size:13px}
.member-budget-track{height:8px;border-radius:4px;background:#edf0f7;overflow:hidden}
.member-budget-track i{display:block;height:100%;background:var(--blue);border-radius:4px}
.member-budget-track.near i{background:#d4902a}
.member-budget-track.full i{background:#cf5e69}
.member-budget-body .fineprint{margin:10px 0 0}
.member-rate{display:block;margin-top:4px;font-size:11px;color:#7b879e}
.rate-value small{display:block;margin-top:2px;font-size:12px}
/* Upstream ceiling for the customer's limits: settled, on its way, or refused and retrying. */
.upstream-sync{display:inline-block;margin-top:4px;padding:1px 6px;border-radius:4px;font-size:11px;line-height:16px;background:#f1f3f8;color:#6a7488}
.upstream-sync.upstream-synced{background:#e8f6ee;color:#23774b}
.upstream-sync.upstream-pending,.upstream-sync.upstream-waiting{background:#fff5e0;color:#8a5a00}
.upstream-sync.upstream-error{background:#fdecec;color:#b42318}
html[data-theme=dark] .upstream-sync{background:#232a38;color:#9aa6bd}
html[data-theme=dark] .upstream-sync.upstream-synced{background:#163325;color:#7ed3a4}
html[data-theme=dark] .upstream-sync.upstream-pending,html[data-theme=dark] .upstream-sync.upstream-waiting{background:#3a2d12;color:#f0c46b}
html[data-theme=dark] .upstream-sync.upstream-error{background:#3d1c1c;color:#f19a92}
.key-traffic textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;resize:vertical}
.management-panel{margin-top:18px}
.management-panel .panel-title{align-items:flex-start}
.key-form-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:0 24px}
.key-form-layout .key-form-basic,.key-form-layout .key-form-models{min-width:0}
.key-form-layout .key-form-models .key-controls{margin-bottom:0}
.key-form-layout .dialog-actions{grid-column:1/-1}
dialog:has(.key-form-layout){width:min(980px,calc(100% - 32px))}
.key-models [data-model-fields]{max-height:480px}
.model-info-button{width:29px;height:29px;border:1px solid var(--border);border-radius:50%;background:#fff;color:#7887a2;font:600 13px/1 ui-monospace,monospace;cursor:pointer}
.model-info-button:hover{border-color:var(--blue);color:var(--blue);background:#f3f5ff}
@media(max-width:760px){.key-form-layout{grid-template-columns:minmax(0,1fr)}.key-form-layout .dialog-actions{grid-column:auto}.key-form-layout .key-form-models{margin-top:2px}}
.panel-sub{margin:6px 0 0;font-size:12px;color:#8e98ad;line-height:1.7;max-width:640px}

/* Customer live-access snapshot uses the same panel hierarchy as the overview. */
.inference-status{margin-bottom:24px;padding:0 24px 20px}
.inference-status .panel-title{padding-inline:0}
.inference-status p{margin:0 0 12px;font-size:14px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}
.inference-status code{color:var(--ink)}
@media(max-width:760px){.inference-status{padding:0 18px 18px}}
.balance-card .credit-split{display:flex;flex-wrap:wrap;gap:8px 28px;margin:4px 0 10px}.balance-card .credit-split dt{font-size:12px;color:#c4d0ff}.balance-card .credit-split dd{margin:4px 0 0;font-size:17px;font-weight:600}
dialog:has(.model-detail-entry){width:min(650px,calc(100% - 32px))}
.model-detail-entry{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}
.model-detail-entry h3{font-size:16px;margin:0 0 5px}
.model-detail-entry>code{display:block;color:#8e98ad;overflow-wrap:anywhere;margin-bottom:12px}
.model-detail-entry dl{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2fr);gap:10px 16px;margin:0}
.model-detail-entry dt{color:#8e98ad;font-size:12px}
.model-detail-entry dd{margin:0;overflow-wrap:anywhere;line-height:1.6}
.model-detail-entry dd p{margin:5px 0}
@media(max-width:520px){.model-detail-entry dl{grid-template-columns:1fr;gap:4px}.model-detail-entry dd{margin-bottom:7px}}

/* Capability details follow Eden's task grouping, while showing only endpoint-backed facts. */
dialog:has(.model-detail-entry){width:min(760px,calc(100% - 32px));max-height:88dvh;overflow:auto}
.model-detail-entry{border-top:1px solid var(--border);margin-top:17px;padding-top:18px}
.model-detail-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}
.model-detail-entry h3{font-size:20px;letter-spacing:-.35px;margin:0 0 5px}
.model-detail-entry>header code{color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.model-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.model-detail-card{min-width:0;border:1px solid var(--border);border-radius:9px;background:var(--surface);padding:14px 16px}
.model-detail-card h4{font-size:11px;line-height:1.5;color:var(--muted);font-weight:500;margin:0 0 9px}
.model-detail-card p{font-size:14px;line-height:1.6;color:var(--ink);margin:0;overflow-wrap:anywhere}
.model-detail-card small{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin-top:7px}
.model-detail-wide{grid-column:1/-1}
.model-detail-price>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.model-detail-price>div+div{margin-top:7px;padding-top:7px;border-top:1px solid var(--border)}
.model-detail-price>div span{font-size:12px;color:var(--muted);text-transform:capitalize}
.model-detail-price>div b{font-size:17px;font-weight:600;letter-spacing:-.2px}
.model-capability-category{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;padding:5px 8px;border:1px solid #dfe5f3;border-radius:6px;background:#fff}
.model-capability-category span{font-size:11px;color:var(--muted)}
.model-capability-category b{font-size:12px;font-weight:600}
.model-capability-chips{display:flex;flex-wrap:wrap;gap:7px}
.model-capability-chip{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border:1px solid #dfe5f3;border-radius:999px;background:#fff;font-size:11px;color:var(--ink)}
.model-capability-empty{font-size:12px;color:var(--muted)}
.model-tier-line{padding-top:9px!important;margin-top:9px!important;border-top:1px solid var(--border);font-size:12px!important}
.model-tier-line span{display:block;color:var(--muted);font-size:11px}
.key-models [data-model-fields]{max-height:none;overflow:visible}
.key-models [data-model-fields]:not([hidden]){display:flex;flex-direction:column;gap:5px;margin-top:4px}
.key-model-search-label{position:static;background:transparent;padding:0;z-index:auto;margin-bottom:4px}
.key-model-scroll{max-height:min(42vh,440px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--border);border-radius:8px;padding:9px;background:var(--surface);scrollbar-gutter:stable}
.key-model-group{border:1px solid var(--border);border-radius:7px;padding:9px 11px;background:#fff}
.key-model-group+.key-model-group{margin-top:8px}
.key-model-group>b{font-size:12px;margin-bottom:6px}
.key-model-option{min-height:27px;gap:9px;margin:3px 0;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.key-model-list{padding-left:22px}
dialog:has(.key-form-layout){max-height:90dvh;overflow:auto}
@media(max-width:520px){.model-detail-grid{grid-template-columns:minmax(0,1fr)}.model-detail-wide{grid-column:auto}.model-detail-price>div b{font-size:15px}.key-model-scroll{max-height:38vh}}

/* No-result feedback fills the workspace model grid instead of looking like one model. */
.model-search-empty{grid-column:1/-1;border:1px dashed var(--line);border-radius:9px;padding:40px 20px}
#workspace-model-count{font-size:12px;white-space:nowrap;align-self:center;margin-left:auto}

.model-id-picker{display:grid;gap:6px;margin-top:8px;font-size:11px;color:var(--muted)}
.model-id-picker select{width:100%;min-width:0;min-height:40px;font-family:var(--mono,monospace);font-size:11px}
.playground-model-warning{padding:12px 16px;margin:0 0 18px;border-radius:10px;background:var(--surface);color:var(--muted);text-wrap:pretty}
.playground-model-warning a{color:var(--blue)}
.playground-key-required{display:flex;gap:14px;align-items:flex-start;padding:18px;margin-bottom:21px;border:1px solid #f0d9a8;border-radius:10px;background:#fff8e8;color:#6b5a2e}.playground-key-required>span{font-size:22px;line-height:1;color:#c99a3a}.playground-key-required b{display:block;font-size:14px;margin-bottom:6px;color:#4a3c16}.playground-key-required p{font-size:12px;line-height:1.8;margin:0 0 14px}.playground-key-required .btn{font-size:12px}
.response-pending{display:flex;align-items:center;gap:10px;padding:18px 24px;font-size:13px;color:#8391aa}.spinner{display:inline-block;width:14px;height:14px;border:2px solid #c8d3f4;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none;border-top-color:#c8d3f4}}

.model-info-button{width:40px;height:40px;flex-shrink:0}
/* Service activation details stay beside the workspace list. */
dialog.activation-drawer{position:fixed;inset:0 0 0 auto;margin:0;padding:0;width:min(620px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-left:1px solid var(--border);border-radius:20px 0 0 20px;background:#fff;color:var(--ink);box-shadow:-16px 0 64px rgba(19,32,57,.14);overflow:hidden;transition:transform .24s cubic-bezier(.2,0,0,1),opacity .24s;transform:translateX(0);opacity:1}
dialog.activation-drawer[open]{display:flex;flex-direction:column}
dialog.activation-drawer::backdrop{background:rgba(13,23,43,.32);backdrop-filter:blur(3px)}
@starting-style{dialog.activation-drawer[open]{transform:translateX(48px);opacity:0}}
.activation-drawer-head{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;padding:28px 30px 22px;border-bottom:1px solid var(--border);background:transparent}
.activation-drawer-head h2{margin:8px 0 0;font-size:24px;letter-spacing:-.5px;text-wrap:balance}
.activation-drawer-close{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:12px;background:var(--surface);color:var(--muted);font-size:28px;line-height:1;transition:background .15s,transform .15s}
.activation-drawer-close:hover{background:var(--border);color:var(--ink)}.activation-drawer-close:active{transform:scale(.96)}
.activation-customer{display:flex;align-items:center;gap:14px;padding:24px 30px 8px;flex-shrink:0;min-width:0}
.activation-customer-icon{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border-radius:14px;background:color-mix(in srgb,var(--blue) 10%,transparent);color:var(--blue);font-size:20px;font-weight:600}
.activation-customer>div{min-width:0;display:grid;gap:5px}.activation-customer b{font-size:16px;overflow-wrap:anywhere}.activation-customer span:not(.activation-customer-icon){font-size:13px;color:var(--muted);overflow-wrap:anywhere}.activation-customer code{font-size:11px;color:var(--muted);overflow-wrap:anywhere}
.activation-drawer-body{padding:20px 30px 28px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0}
.activation-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-radius:16px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--border)}
.activation-summary h3{margin:9px 0 0;font-size:22px;font-weight:600;letter-spacing:-.4px}.activation-summary .eyebrow{font-size:10px;color:var(--muted)}
.activation-status-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:color-mix(in srgb,var(--blue) 9%,transparent);color:var(--blue);font-size:24px}.activation-status-icon.ready{background:#2b977416;color:#269673}
.activation-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 26px}.activation-stats>div{display:grid;gap:9px;padding:18px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--border)}.activation-stats span{font-size:12px;color:var(--muted)}.activation-stats b{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.activation-progress h3{font-size:15px;margin:0 0 20px}.activation-progress ol{list-style:none;padding:0;margin:0}.activation-progress li{position:relative;display:flex;align-items:flex-start;gap:14px;min-height:78px;padding:0 0 20px}.activation-progress li:not(:last-child)::after{content:'';position:absolute;top:34px;bottom:4px;left:15px;width:1px;background:var(--border)}.activation-progress li:last-child{min-height:0;padding-bottom:0}
.activation-step-icon{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.activation-progress .done .activation-step-icon{background:color-mix(in srgb,var(--blue) 10%,transparent);color:var(--blue);box-shadow:none}.activation-progress .current .activation-step-icon{background:var(--blue);color:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 10%,transparent)}
.activation-progress li>div{flex:1;min-width:0;padding-top:4px}.activation-progress b{font-size:14px;font-weight:500}.activation-progress p{font-size:12px;color:var(--muted);line-height:1.6;margin:5px 0 0;text-wrap:pretty}.activation-progress .badge{margin-top:4px;white-space:nowrap}
.activation-meta{display:grid;grid-template-columns:1fr auto;gap:14px;margin-top:26px;padding-top:22px;border-top:1px solid var(--border);font-size:12px}.activation-meta span{color:var(--muted)}.activation-meta b{font-weight:400;text-align:right;font-variant-numeric:tabular-nums}
.activation-records{margin-top:24px;padding:16px 18px;background:var(--surface);border-radius:14px;font-size:12px}.activation-records summary{cursor:pointer;min-height:24px;line-height:24px;font-size:13px;font-weight:500}.activation-records h3{font-size:14px;margin:20px 0 12px}.activation-records dl{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;margin:18px 0}.activation-records dt{color:var(--muted)}.activation-records dd{margin:0;overflow-wrap:anywhere}.activation-records p{font-size:12px;color:var(--muted);line-height:1.8;text-wrap:pretty}.activation-records code{overflow-wrap:anywhere}
.activation-alert{padding:13px 16px;margin:16px 0 0;border-radius:12px;background:#da9b2212;color:#b07b1b;font-size:13px;line-height:1.7}
.activation-drawer-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;padding:18px 30px;border-top:1px solid var(--border);background:transparent}.activation-drawer-foot>span{font-size:11px;color:var(--muted);line-height:1.6}.activation-drawer-foot .btn{flex-shrink:0}.activation-drawer-loading{display:grid;place-items:center;min-height:260px;font-size:14px;color:var(--muted)}
html[data-theme=dark] dialog.activation-drawer{background:#141d2d;box-shadow:-16px 0 64px rgba(0,0,0,.3)}html[data-theme=dark] .activation-drawer-head{background:transparent}
@media(max-width:600px){dialog.activation-drawer{border-radius:0}.activation-drawer-head{padding:22px}.activation-customer{padding:20px 22px 8px}.activation-drawer-body{padding:18px 22px 24px}.activation-drawer-foot{padding:16px 22px}.activation-stats{gap:10px}.activation-stats>div{padding:15px}.activation-stats b{font-size:18px}}
@media(prefers-reduced-motion:reduce){dialog.activation-drawer{transition:none}}

/* Shared centering also covers catalogue links for accounts awaiting activation. */
.model-info-button{display:inline-grid;place-items:center;padding:0;text-decoration:none;line-height:1;background:var(--surface);color:var(--muted)}
.service-policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.service-policy-card{padding:24px;display:flex;flex-direction:column;gap:16px}
.service-policy-card .panel-title,.service-policy-card p{margin:0}
.service-policy-card h2,.service-workspaces h2{font-size:17px}
.service-policy-card p{color:var(--muted);font-size:14px;line-height:1.7}
.service-policy-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto}
.service-policy-bottom>span{font-size:12px;color:var(--muted)}
.service-worker-dot{width:9px;height:9px;border-radius:50%;background:var(--muted);box-shadow:0 0 0 5px color-mix(in srgb,var(--muted) 10%,transparent)}
.service-worker-dot.ready{background:#20a174;box-shadow:0 0 0 5px #20a17418}
.service-policy-details{font-size:13px;color:var(--muted)}
.service-policy-details summary{cursor:pointer;color:var(--ink);padding:4px 0}
.service-policy-details dl{margin:16px 0;display:grid;gap:10px}
.service-policy-details dl>div{display:flex;justify-content:space-between;gap:16px}.service-policy-details dd{margin:0;color:var(--ink)}
.service-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}
.service-counts article{border:1px solid var(--border);border-radius:12px;padding:18px 22px;background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:16px}
.service-counts span{color:var(--muted);font-size:13px}.service-counts b{font-size:26px;font-variant-numeric:tabular-nums}
.service-workspaces{padding:0;overflow:hidden}.service-workspaces>.panel-title{padding:24px 24px 18px;margin:0}.service-workspaces .panel-title p{font-size:13px;color:var(--muted);margin:7px 0 0}
.service-list-toolbar{display:flex;gap:12px;padding:0 24px 20px}.service-list-toolbar input{max-width:440px;flex:1;min-width:0}.service-list-toolbar select{width:180px}
.service-workspaces th{font-size:12px;color:var(--muted)}.service-workspaces td,.service-workspaces th{padding:16px 24px}
.service-customer{display:flex;align-items:center;gap:12px}.service-customer-avatar{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--blue) 12%,transparent);color:var(--blue);flex-shrink:0;font-weight:600}
.service-customer small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.service-phase{font-size:13px;color:var(--muted)}
.service-row-actions{display:flex;align-items:center;gap:16px;white-space:nowrap}.service-details-button{font-size:12px;padding:8px 12px}.service-row-actions .text-button{font-size:12px}
.service-list-footer{display:flex;justify-content:space-between;gap:16px;padding:16px 24px;border-top:1px solid var(--border);color:var(--muted);font-size:12px}.service-no-matches{padding:24px;text-align:center;color:var(--muted)}
.customer-ledger-entries{margin-top:24px;border:1px solid var(--border);border-radius:12px;overflow:hidden}.customer-ledger-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:20px;border-bottom:1px solid var(--border)}.customer-ledger-entry:last-child{border-bottom:0}.customer-ledger-entry b{font-size:14px}.customer-ledger-entry time{display:block;font-size:12px;color:var(--muted);margin-top:7px}.customer-ledger-entry strong{font-size:15px}.customer-ledger-entry code{grid-column:1/-1;font-size:11px;overflow-wrap:anywhere;color:var(--muted)}
@media(max-width:700px){.service-policy-grid{grid-template-columns:1fr;gap:16px}.service-policy-card{padding:20px}.service-policy-bottom{align-items:flex-start;flex-direction:column}.service-counts{grid-template-columns:repeat(2,1fr);gap:10px}.service-counts article{padding:16px}.service-list-toolbar{padding:0 16px 16px;flex-direction:column}.service-list-toolbar input,.service-list-toolbar select{width:100%;max-width:none}.service-workspaces>.panel-title{padding:20px 16px}.service-list-footer{flex-direction:column;gap:8px;padding:16px}.service-workspaces .panel-title{gap:12px}}

.fund-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:500;line-height:1.5;white-space:nowrap;background:var(--surface);color:var(--muted)}
.fund-cash{background:color-mix(in srgb,#20a174 12%,transparent);color:#209879}.fund-trial{background:color-mix(in srgb,#9568ee 14%,transparent);color:#9165db}
html[data-theme=dark] .fund-cash{color:#7bd7b6}html[data-theme=dark] .fund-trial{color:#c5a3ff}
.wallet-fund-metrics .metric>span{font-size:12px}.wallet-fund-metrics .metric>b{font-variant-numeric:tabular-nums}
.wallet-fund-trial{box-shadow:inset 0 3px 0 color-mix(in srgb,#9568ee 22%,transparent)}.wallet-fund-cash{box-shadow:inset 0 3px 0 color-mix(in srgb,#20a174 22%,transparent)}
.drawer-fund-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.drawer-fund-metrics .metric{padding:18px}.drawer-fund-metrics .metric>b{font-size:22px;overflow-wrap:anywhere}.drawer-fund-metrics .metric small{font-size:11px}
.customer-channels{margin:4px 0 26px}.customer-channel-list{border:1px solid var(--border);border-radius:12px;overflow:hidden}.customer-channel{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px 16px;padding:16px 20px;border-bottom:1px solid var(--border)}.customer-channel:last-child{border-bottom:0}.customer-channel-main b{display:block;font-size:14px;overflow-wrap:anywhere}.customer-channel-provider{display:block;font-size:12px;color:var(--muted);margin-top:5px}.customer-channel-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted);white-space:nowrap}.customer-channel-weight{font-variant-numeric:tabular-nums}.customer-channel .text-button{white-space:nowrap}.customer-channel-note{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.7}
@media(max-width:700px){.customer-channel{grid-template-columns:minmax(0,1fr) auto;padding:14px 16px}.customer-channel-meta{grid-column:1/-1;flex-wrap:wrap}}
.customer-ledger-entry .fund-badge{margin-left:5px}.customer-ledger-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:12px;overflow-wrap:anywhere;line-height:1.7}
.balance-topup-total{border-left:1px solid #ffffff35;padding-left:32px;margin-left:auto;display:grid;gap:10px;max-width:320px}.balance-topup-total>b{font-size:28px;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.balance-topup-total small{color:#c4d0ff;font-size:12px;line-height:1.6}
.metrics.customer-overview-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.customer-overview-metrics .metric>b{font-size:clamp(19px,1.8vw,26px)}
.trial-credit-recipient{display:flex;align-items:center;gap:12px;margin:12px 0 24px}.trial-credit-recipient small{display:block;color:var(--muted);font-size:12px;margin-top:5px;overflow-wrap:anywhere}
.trial-credit-balances{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;border-radius:12px;background:var(--surface);padding:16px;margin-bottom:24px}.trial-credit-balances>span{color:var(--muted);font-size:12px}.trial-credit-balances b{display:block;color:var(--ink);font-size:18px;margin-top:8px;font-variant-numeric:tabular-nums}
@media(max-width:1150px){.metrics.customer-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.balance-topup-total{border-left:0;border-top:1px solid #ffffff35;padding:20px 0 0;margin:14px 0 0;max-width:none;width:100%}.drawer-fund-metrics .metric{padding:14px}.drawer-fund-metrics .metric>b{font-size:19px}.customer-ledger-entry .fund-badge{margin:6px 0 0}}
.account-section-label{display:block;padding:8px 12px 4px;color:var(--muted);font-size:11px}
.account-switch-list{max-height:300px;overflow-y:auto}.account-switch-name{flex:1;min-width:0}.account-switch-name b,.account-switch-name small{display:block;overflow:hidden;text-overflow:ellipsis}.account-switch-name small{font-size:11px;color:var(--muted);margin-top:3px}.account-switch-avatar{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:9px;background:var(--surface);color:var(--accent)}
.account-popover button:disabled{opacity:.65;cursor:default}.auth-account-choices{margin-top:24px;border-top:1px solid var(--border);padding-top:16px}.auth-account-choices>p{color:var(--muted);font-size:12px}.auth-account-choices button{display:flex;align-items:center;gap:12px;padding:12px;width:100%;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--ink);text-align:left;margin:8px 0}.auth-account-choices button:hover{border-color:var(--accent)}
.login-history-panel{padding:24px}.login-history-toolbar{display:flex;align-items:flex-end;gap:12px;justify-content:flex-end}.login-search-label{flex:1;margin:0;max-width:420px}.login-search-label>span{display:block;font-size:12px;margin-bottom:6px;color:var(--muted)}.login-history-note{color:var(--muted);font-size:12px;line-height:1.7;margin:16px 0 20px;max-width:900px}.login-session-list{display:grid;gap:14px}.login-session-card{border:1px solid var(--border);border-radius:14px;padding:20px;background:var(--surface);min-width:0}.login-session-card>header{display:flex;align-items:center;gap:12px}.login-session-card header>div{flex:1;min-width:0}.login-session-card header small{display:block;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}.login-device-icon{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;background:var(--border);border-radius:11px;color:var(--muted);font-size:24px}.login-session-state{font-size:11px;padding:5px 9px;border-radius:7px;white-space:nowrap;background:var(--border);color:var(--muted)}.login-session-state.active{color:#167a56;background:#dff4e9}.login-session-card dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0 16px}.login-session-card dt{font-size:11px;color:var(--muted);margin-bottom:6px}.login-session-card dd{margin:0;font-size:13px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.login-session-card details{border-top:1px solid var(--border);padding-top:12px;font-size:12px}.login-session-card summary{cursor:pointer;color:var(--muted)}.login-session-detail{color:var(--muted);line-height:1.6}.login-session-detail p{margin:10px 0}.login-session-detail b{font-weight:500;margin-right:8px}.login-session-detail code{display:block;padding:10px;border:1px solid var(--border);border-radius:8px;overflow-wrap:anywhere;white-space:normal;margin-top:6px;color:var(--ink)}.login-load-more{display:block;margin:20px auto 0}.login-load-more[hidden]{display:none}
html[data-theme=dark] .login-session-state.active{background:#173c32;color:#92dbb4}
@media(max-width:850px){.login-session-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.login-history-panel{padding:18px}}
@media(max-width:760px){.topbar .top-avatar{display:grid}.account-popover{max-height:calc(100dvh - 90px);overflow-y:auto}.sidebar{overflow-y:auto}}
@media(max-width:500px){.login-session-card{padding:16px}.login-session-card>header{gap:9px}.login-session-card header small{font-size:11px}.login-history-toolbar{flex-wrap:wrap}.login-search-label{min-width:100%}.login-history-panel{padding:14px}.login-session-card dl{gap:16px 10px}.account-popover{max-width:calc(100vw - 28px)}}

/* Available balances and settled usage are distinct from wallet movements. */
.customer-ledger-summary-note{font-size:12px;line-height:1.7;color:var(--muted);margin:14px 0 24px;text-wrap:pretty}
.wallet-fund-metrics .metric>b{font-variant-numeric:tabular-nums}
.login-session-card dl{grid-template-columns:1fr 1.5fr 1fr}
.mobile-sidebar-close,.mobile-sidebar-help,.mobile-nav-backdrop{display:none}
@media(max-width:760px){
  .work-main{min-width:0;min-height:100dvh}
  .topbar{gap:8px;padding-inline:12px;padding-top:env(safe-area-inset-top);height:calc(64px + env(safe-area-inset-top))}
  .topbar>div{gap:6px}.topbar .topbar-tools{gap:6px}
  #mobile-nav,.topbar .theme-toggle,.topbar .top-avatar,.topbar .help-trigger,.topbar .palette-trigger{min-width:40px;min-height:40px;width:40px;height:40px;flex-shrink:0;padding:0;display:grid;place-items:center}
  .topbar .palette-trigger>span:nth-child(2),.topbar .palette-trigger kbd,.topbar .help-trigger>span{display:none}
  .topbar .lang-select{min-height:40px;max-width:100px;padding-left:8px;font-size:12px}
  .topbar-lead{flex:0 0 40px}
  .sidebar{width:min(290px,calc(100vw - 56px));padding-top:calc(26px + env(safe-area-inset-top));padding-bottom:calc(20px + env(safe-area-inset-bottom));overscroll-behavior:contain}
  .sidebar>.brand{margin-right:34px;font-size:21px}
  .sidebar nav a{min-height:44px}
  .mobile-sidebar-close{display:grid;place-items:center;position:absolute;right:8px;top:calc(16px + env(safe-area-inset-top));width:40px;height:40px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:26px}
  .mobile-sidebar-help{display:block;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}
  .mobile-sidebar-help .help-trigger{width:100%;min-height:44px;justify-content:flex-start}
  .mobile-nav-backdrop:not([hidden]){display:block;position:fixed;inset:0;border:0;background:#080e1b80;z-index:29;backdrop-filter:blur(3px)}
  input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px}
  .btn,.text-button,.dialog-heading .icon-button,.activation-drawer-close{min-height:44px}
  .text-button{padding:10px 6px}
  .table-scroll{max-width:100%;overscroll-behavior-x:contain}
  .table-scroll td:last-child{white-space:normal;min-width:180px}
  .table-scroll td:last-child .text-button{white-space:nowrap}
  .filters select{min-width:0;max-width:100%}
  .settings-row{flex-wrap:wrap}
  dialog:not(.activation-drawer):not(.help-drawer){max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
  dialog.activation-drawer{height:100dvh;max-height:100dvh;width:100%;max-width:100%;padding-top:env(safe-area-inset-top)}
  .activation-drawer-body{min-height:0;overscroll-behavior:contain}
  .activation-drawer-foot{padding-bottom:calc(16px + env(safe-area-inset-bottom))}
  .activation-customer>div{min-width:0}.activation-customer span,.activation-customer b{overflow-wrap:anywhere}
  .account-popover{width:min(320px,calc(100vw - 24px));right:0;max-height:calc(100dvh - 90px - env(safe-area-inset-top));overscroll-behavior:contain}
  .account-popover a,.account-popover button{min-height:44px}
  .account-switch-list{max-height:none}
  .login-session-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .login-session-card dl>div:nth-child(2){grid-column:1 / -1;grid-row:2}
  .login-session-card summary{min-height:40px;align-content:center}
  #content{padding-bottom:calc(32px + env(safe-area-inset-bottom))}
  #toast{bottom:calc(16px + env(safe-area-inset-bottom))}
}
@media(max-width:360px){.topbar-tools>.help-trigger{display:none}.activation-drawer-head,.activation-customer,.activation-drawer-body,.activation-drawer-foot{padding-left:16px;padding-right:16px}.drawer-fund-metrics{gap:8px}.drawer-fund-metrics .metric>b{font-size:17px}.dialog-actions{flex-wrap:wrap}.dialog-actions .btn{flex:1}}

.management-title{display:flex;align-items:center;gap:8px}.management-title .help-icon-only{display:grid;place-items:center;width:40px;height:40px;min-width:40px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted)}.management-title .help-icon-only:hover{color:var(--blue);background:var(--surface)}

@media(max-width:600px){.management-panel .panel-title{flex-direction:column;align-items:stretch}.management-panel .panel-title>button{align-self:flex-start;white-space:nowrap}.management-panel .panel-title>div{min-width:0}}

.login-user-flags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.login-user-flags:empty{display:none}.login-user-flag{font-size:12px;padding:5px 9px;border-radius:7px;background:#fff0d6;color:#825409}.login-user-card details>.login-session-list{margin-top:14px}.login-user-card .login-session-card{background:var(--bg);padding:16px}html[data-theme=dark] .login-user-flag{background:#47351c;color:#f0ca80}

/* Consistent outline icons across navigation, cards and controls. */
.ui-icon{display:inline-block;width:20px;height:20px;flex-shrink:0;vertical-align:middle;pointer-events:none}
.sidebar nav a>span{display:grid;place-items:center;width:20px;height:20px;flex-shrink:0}
.sidebar nav a .ui-icon{width:20px;height:20px}
.account-icon,.palette-icon{display:grid;place-items:center;width:18px;height:18px;flex-shrink:0}
.account-icon .ui-icon,.palette-icon .ui-icon{width:18px;height:18px}
.metric i{display:grid;place-items:center}
.quick-icon .ui-icon{width:30px;height:30px}
.empty>span>.ui-icon{width:36px;height:36px}
.btn>.ui-icon,.text-button>.ui-icon,.topbar-docs>.ui-icon,.panel-title>a>.ui-icon,.quickstart>a>.ui-icon{width:16px;height:16px}
.notice-mark,.notice-close,.mobile-sidebar-close,.icon-button{align-items:center;justify-content:center}
.notice-close{display:flex}
.notice-mark .ui-icon,.notice-close .ui-icon,.mobile-sidebar-close .ui-icon{width:18px;height:18px}
.space-chip>span:last-child .ui-icon{width:16px;height:16px}
.activation-step-icon .ui-icon{width:16px;height:16px}
.activation-status-icon .ui-icon,.login-device-icon .ui-icon{width:24px;height:24px}
.model-info-button .ui-icon{width:18px;height:18px}

.response-empty>span>.ui-icon{width:32px;height:32px}
.badge>.ui-icon,.mon-legend .ui-icon{width:14px;height:14px}
.help-close .ui-icon,.help-clear .ui-icon,.activation-drawer-close .ui-icon{width:18px;height:18px}
.help-back .ui-icon,.help-footer .ui-icon{width:16px;height:16px}
/* Upstream key limits: the five rule fields sit in one row on wide screens and wrap on narrow ones. */
.key-limit-rule{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px 16px;align-items:start}
.key-limit-rule label{margin:0}
.key-limit-rule .dialog-actions{grid-column:1/-1;margin-top:0}

/* Unified customer inbox and operator announcement editor. */
.messages-menu{position:relative;display:flex;align-items:center}
.messages-trigger{position:relative;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--ink);cursor:pointer}
.messages-trigger>span{position:absolute;top:-6px;right:-8px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#3155f5;color:white;font-size:10px;line-height:18px;text-align:center}
.messages-popover{position:absolute;right:0;top:calc(100% + 10px);z-index:50;width:min(340px,calc(100vw - 32px));padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--card,#fff);box-shadow:0 18px 44px -18px #16244340}
.messages-popover[hidden]{display:none}
.messages-popover p{padding:8px 10px;color:var(--muted,#73819a)}
.message-preview-row,.message-preview-all{display:flex;width:100%;flex-direction:column;gap:5px;padding:10px;border:0;border-radius:7px;background:transparent;text-align:left;color:var(--ink);cursor:pointer}
.message-preview-row:hover,.message-preview-all:hover{background:var(--surface,#f4f6fd)}
.message-preview-row small{color:var(--muted,#8490a8)}
.message-preview-all{border-top:1px solid var(--border);color:var(--blue,#3155f5)}
.message-center,.message-admin{max-width:1200px}
.message-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.message-toolbar-actions{display:flex;align-items:center;gap:8px}
.feedback-compose{margin:0 0 14px;border:1px solid var(--border);border-radius:12px;background:var(--card,#fff)}
.feedback-compose summary{display:none}
.feedback-compose:not([open]){display:none}
.feedback-compose-panel{padding:18px 20px}
.feedback-compose>div>p{margin:0 0 14px;color:var(--muted,#73819a);font-size:13px}
.feedback-compose form{display:grid;grid-template-columns:1fr;gap:10px;max-width:760px}
.feedback-compose label{display:grid;gap:5px;color:var(--muted,#73819a);font-size:12px}
.feedback-compose input,.feedback-compose textarea{width:100%;min-width:0}
.feedback-compose textarea{resize:vertical}
.feedback-compose-actions{display:flex;align-items:center;gap:12px}
.feedback-compose [data-feedback-status]{align-self:center;color:var(--muted,#73819a);font-size:12px}
.feedback-dialog{width:min(600px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--border);border-radius:16px;background:var(--panel-surface,var(--card,#fff));color:var(--ink);box-shadow:0 24px 80px #0c173255;overflow:auto}
.feedback-dialog::backdrop{background:#10182888;backdrop-filter:blur(3px)}
.feedback-dialog .feedback-compose-panel{padding:24px}
.feedback-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;padding:0;border:0;background:transparent}
.feedback-dialog header h2{margin:0 0 6px;font-size:18px}
.feedback-dialog header p{margin:0;color:var(--muted,#73819a);font-size:13px}
.feedback-dialog-close{display:grid;place-items:center;flex:none;width:36px;height:36px;border:0;border-radius:9px;background:transparent;color:var(--muted,#73819a);font-size:24px;line-height:1}
.feedback-dialog-close:hover{background:var(--ui-hover,#eef1f8);color:var(--ink)}
.message-filters{display:flex;gap:8px}
.message-filters .selected{border-color:var(--blue,#3155f5);color:var(--blue,#3155f5)}
.message-list,.announcement-list{display:flex;flex-direction:column;gap:9px}
.message-row,.announcement-row{display:flex;align-items:center;gap:8px;padding:14px 16px;border:1px solid var(--border);border-radius:9px;background:var(--card,#fff)}
.message-row.unread{border-left:3px solid var(--blue,#3155f5)}
.message-row>button:first-child{display:flex;flex:1;min-width:0;flex-direction:column;gap:7px;border:0;background:transparent;text-align:left;color:var(--ink);cursor:pointer}
.message-row-heading{display:flex;justify-content:flex-start;align-items:center;gap:10px;min-width:0}.message-row-heading b{min-width:0;overflow-wrap:anywhere}.message-row-heading time{margin-left:auto}
.message-row-heading time,.message-row-body,.announcement-row small{font-size:12px;color:var(--muted,#73819a)}
.message-row-body{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.message-archive{flex:none;border:0;background:transparent;color:var(--muted,#73819a);font-size:20px;cursor:pointer}
.message-detail{margin-top:14px;padding:20px;border:1px solid var(--border);border-radius:9px;background:var(--card,#fff)}
.message-detail[hidden]{display:none}
.message-detail header{display:flex;justify-content:space-between;align-items:start;gap:12px}
.message-detail h2{font-size:18px;margin:0}
.message-detail time{font-size:12px;color:var(--muted,#73819a)}
.message-content{margin:18px 0;line-height:1.8;overflow-wrap:anywhere;white-space:normal}
.message-content a{color:var(--blue,#3155f5);text-decoration:underline}
.message-more{margin-top:12px}
.message-more[hidden]{display:none}
.message-empty{padding:28px 16px;color:var(--muted,#73819a);text-align:center}
.message-inbox{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}.message-inbox .message-detail{display:none}.message-inbox.has-selection{grid-template-columns:minmax(0,1fr)}.message-inbox .message-list{min-width:0}.message-inbox.has-selection .message-detail{display:block;position:relative;min-height:160px;margin:0;max-height:none;overflow:visible}.message-row.unread{background:color-mix(in srgb,var(--blue,#3155f5) 5%,var(--card,#fff))}.message-row>button[aria-current=true] b{color:var(--blue,#3155f5)}.message-unread-mark{width:9px;height:9px;flex:none;border-radius:50%;background:var(--blue,#3155f5);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue,#3155f5) 15%,transparent)}.message-detail-close{display:none;flex:none;border:0;background:transparent;color:var(--muted,#73819a);font-size:22px;cursor:pointer}.message-inbox.has-selection .message-detail header{position:relative;padding-right:36px}.message-inbox.has-selection .message-detail header time{margin-left:auto}
.announcement-form{margin-bottom:20px;padding:20px;border:1px solid var(--border);border-radius:9px;background:var(--card,#fff)}
.announcement-form h2{margin:0 0 16px;font-size:16px}
.announcement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.announcement-grid textarea{min-height:100px;resize:vertical}
.announcement-grid label{min-width:0}
.message-form-actions,.announcement-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.announcement-row{justify-content:space-between}
.announcement-row p{margin:6px 0;font-size:12px;color:var(--muted,#73819a)}
.message-admin-tabs{display:flex;gap:8px;margin:0 0 18px;border-bottom:1px solid var(--border)}
.message-admin-tabs [role=tab]{display:flex;align-items:center;gap:8px;padding:11px 14px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted,#73819a);font:inherit;cursor:pointer}
.message-admin-tabs [role=tab][aria-selected=true]{border-bottom-color:var(--blue,#3155f5);color:var(--ink);font-weight:650}
.message-admin-tabs [role=tab]:focus-visible,.feedback-thread-trigger:focus-visible{outline:2px solid var(--blue,#3155f5);outline-offset:2px}
.feedback-tab-count{display:grid;min-width:20px;height:20px;place-items:center;padding:0 5px;border-radius:10px;background:var(--surface,#edf1fb);color:var(--blue,#3155f5);font-size:11px}
.feedback-admin-row{gap:14px}
.feedback-thread-trigger{display:grid;flex:1;min-width:0;gap:5px;padding:0;border:0;background:transparent;text-align:left;color:var(--ink);cursor:pointer}
.feedback-thread-trigger>span:not(.feedback-thread-heading),.feedback-thread-trigger small{overflow:hidden;color:var(--muted,#73819a);text-overflow:ellipsis;white-space:nowrap}
.feedback-thread-heading{display:flex;align-items:center;gap:8px}
.feedback-thread-heading b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.feedback-unread-dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--blue,#3155f5)}
.feedback-thread-dialog{width:min(720px,calc(100vw - 28px));max-width:none;max-height:min(820px,calc(100dvh - 28px));padding:0;border:1px solid var(--border);border-radius:16px;background:var(--panel-surface,var(--card,#fff));color:var(--ink);box-shadow:0 24px 80px #0c173255;overflow:auto}
.feedback-thread-dialog::backdrop{background:#10182888;backdrop-filter:blur(3px)}
.feedback-thread-panel{padding:22px}
.feedback-thread-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.feedback-thread-panel h2{margin:0;font-size:19px;overflow-wrap:anywhere}
.feedback-thread-person{margin:8px 0 16px;color:var(--muted,#73819a);font-size:12px}
.feedback-conversation{display:grid;gap:10px;max-height:48dvh;overflow:auto;margin-bottom:18px}
.feedback-conversation-message{padding:13px 14px;border:1px solid var(--border);border-radius:11px;background:var(--surface,#f7f8fc)}
.feedback-conversation-message>header{display:flex;justify-content:space-between;gap:12px;color:var(--muted,#73819a);font-size:12px}
.feedback-conversation-message p{margin:9px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.feedback-thread-panel form{display:grid;gap:10px}
.feedback-thread-panel form label{display:grid;gap:6px;color:var(--muted,#73819a);font-size:12px}
.feedback-thread-panel textarea{width:100%;resize:vertical}
.feedback-thread-panel [data-reply-status]{color:var(--muted,#73819a);font-size:12px}
.message-admin [data-admin-panel][hidden]{display:none}
.announcement-actions{margin:0}
.target-field[hidden]{display:none}
.message-target-picker{position:relative;min-width:0}
.message-target-picker>input[type=search]{display:block;width:100%;min-height:44px}
.message-target-picker>small{display:block;margin-top:6px;color:var(--muted,#73819a);font-size:11px;overflow-wrap:anywhere}
.message-target-options{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;max-height:280px;overflow:auto;padding:4px;border:1px solid var(--border);border-radius:9px;background:var(--card,#fff);box-shadow:0 12px 28px -12px #16244340}
.message-target-options[hidden]{display:none}
.message-target-options button{display:flex;width:100%;min-height:44px;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.message-target-options button:hover,.message-target-options button:focus-visible{background:var(--surface,#f4f6fd)}
.message-target-options button small,.message-target-empty{color:var(--muted,#73819a);font-size:11px;overflow-wrap:anywhere}
.message-target-empty{padding:12px}
@media(max-width:650px){.announcement-grid{grid-template-columns:1fr}.message-row-heading{align-items:flex-start;flex-direction:column;gap:4px}.announcement-row{align-items:flex-start;flex-direction:column}.message-detail header{flex-direction:column}}
@media(max-width:760px){.message-inbox.has-selection{grid-template-columns:minmax(0,1fr)}.message-inbox.has-selection .message-list{display:flex}.message-inbox.has-selection .message-detail{position:static;max-height:none}.message-detail-close{display:inline-grid;place-items:center;position:absolute;right:0;top:-4px;width:32px;height:32px}}
html[data-theme=dark] .messages-popover,html[data-theme=dark] .message-row,html[data-theme=dark] .message-detail,html[data-theme=dark] .announcement-form,html[data-theme=dark] .announcement-row,html[data-theme=dark] .message-target-options,html[data-theme=dark] .feedback-compose,html[data-theme=dark] .feedback-thread-dialog{background:#141d2d}html[data-theme=dark] .feedback-conversation-message{background:#101827}

/* Invite-only beta: sign-in gate, member invites page, operator beta page */
.beta-gate-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--blue);margin-bottom:14px}
.beta-gate-eyebrow:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px #3155f51f}
.beta-code-input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:18px;letter-spacing:3px;text-transform:uppercase;text-align:center;padding:14px 13px}
.beta-code-input::placeholder{letter-spacing:3px;color:#c3c8d6}
.beta-gate-divider{display:flex;align-items:center;gap:12px;margin:26px 0 16px;color:var(--muted);font-size:12px}
.beta-gate-divider:before,.beta-gate-divider:after{content:'';flex:1;height:1px;background:var(--border)}
.beta-waitlist p{color:var(--muted);font-size:13px;line-height:1.6;margin:0 0 12px}
.beta-waitlist .beta-waitlist-state{border:1px solid var(--border);border-radius:8px;padding:13px 15px;color:var(--ink);background:var(--surface)}
.beta-waitlist .beta-waitlist-state.waiting{border-color:#cfd8ff;background:#f3f6ff}
.beta-gate-account{margin-top:22px}
.invite-generate{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 25px;margin-bottom:18px;border-radius:9px;color:#fff;background:linear-gradient(120deg,#1f3fd8,#3155f5 55%,#5b7bff)}
.invite-generate h2{margin:0 0 6px;font-size:17px}.invite-generate p{margin:0;opacity:.85;font-size:13px}
.invite-generate .btn.primary{background:#fff;color:#1f3fd8;border-color:#fff;white-space:nowrap}
.invite-cards{display:grid;gap:18px}
.invite-card{border:1px solid var(--border);border-radius:9px;background:#fff;padding:20px 24px}
.invite-card header{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:0;background:transparent;border:0;position:static;height:auto}
.invite-card.expired,.invite-card.disabled{opacity:.7}
.invite-code-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.invite-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:26px;font-weight:600;letter-spacing:4px;color:var(--ink)}
.invite-copy{display:flex;gap:8px;flex-wrap:wrap}
.invite-seats{display:flex;align-items:center;gap:14px;margin:18px 0 6px;font-size:12px;color:var(--muted)}
.invite-seats b{color:var(--ink)}
.invite-seat-track{display:flex;gap:4px}
.invite-seat-track span{width:22px;height:6px;border-radius:3px;background:#e3e8f6}
.invite-seat-track span.used{background:var(--blue)}
.invite-card h3{font-size:12px;font-weight:600;color:var(--muted);margin:18px 0 8px;text-transform:uppercase;letter-spacing:.8px}
.invite-people{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}
.invite-people li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}
.invite-people span,.invite-people time{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.beta-metrics .metric b{display:block;font-size:22px;margin-top:8px}
.beta-metrics .metric span{font-size:12px;color:var(--muted)}
.beta-settings,.beta-issue{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px;align-items:end}
.beta-settings .key-toggle,.beta-settings .dialog-actions,.beta-issue .dialog-actions{grid-column:1/-1}
.beta-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.beta-bulk{display:flex;gap:8px}
html[data-theme=dark] .invite-card{background:#141d2d}
html[data-theme=dark] .invite-seat-track span{background:#26324a}
html[data-theme=dark] .invite-seat-track span.used{background:#5b7bff}
html[data-theme=dark] .invite-card header{background:transparent}
html[data-theme=dark] .beta-waitlist .beta-waitlist-state{background:#141d2d}
html[data-theme=dark] .beta-waitlist .beta-waitlist-state.waiting{background:#18244a;border-color:#2c3d78}
@media(max-width:760px){
  .invite-generate{flex-direction:column;align-items:flex-start;padding:18px}
  .invite-card{padding:16px}
  .invite-code{font-size:21px;letter-spacing:3px}
  .invite-people li{grid-template-columns:1fr;gap:2px}
  .beta-settings,.beta-issue{grid-template-columns:1fr}
.beta-section-head{flex-direction:column;align-items:flex-start}
}

/* Compact login history cards; user summaries fit three across on desktop. */
.login-session-card[data-login-session],.login-user-card{cursor:pointer;transition:border-color .15s,background-color .15s}
.login-session-card[data-login-session]:hover,.login-user-card:hover{border-color:var(--accent)}
.login-session-card[data-login-session]:focus-visible,.login-user-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.login-session-list.admin-login-user-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.admin-login-user-list .login-session-card{padding:14px}
.admin-login-user-list .login-session-card>header{gap:8px}
.admin-login-user-list .login-device-icon{width:32px;height:32px;font-size:20px}
.admin-login-user-list .login-session-state{font-size:10px;padding:4px 6px}
.admin-login-user-list .login-session-card dl{grid-template-columns:1fr;margin:12px 0 0;gap:10px}
.admin-login-user-list .login-session-card dl>div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px;align-items:baseline}
.admin-login-user-list .login-session-card dt{margin:0}
.admin-login-user-list .login-session-card dd{font-size:12px}
.admin-login-user-list .login-user-flags{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.admin-login-user-list .login-user-flag{font-size:10px;padding:3px 6px;border-radius:6px;background:var(--border);color:var(--muted)}
.playground-raw{margin-top:12px;border-top:1px solid var(--border);padding-top:10px;font-size:12px}.playground-raw summary{cursor:pointer;color:var(--muted)}.playground-raw>div{display:grid;gap:8px;margin-top:10px}.playground-raw pre{max-height:320px;overflow:auto;margin:0;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:1050px){.login-session-list.admin-login-user-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.login-session-list.admin-login-user-list{grid-template-columns:1fr}}

/* Grouped navigation and compact, interactive overview. */
.sidebar nav{flex:1;min-height:0;overflow-y:auto;padding-bottom:18px;gap:18px}
.nav-group{display:flex;flex-direction:column;gap:3px}.nav-group .nav-label{margin:0 0 5px;padding:0 14px;letter-spacing:.06em}.nav-group a{min-height:40px}
.sidebar-collapsed .nav-group .nav-label{display:none}.sidebar-collapsed .nav-group+.nav-group{border-top:1px solid var(--border);padding-top:12px}
.overview-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.metrics.overview-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}
.overview-metrics .metric{padding:16px;text-align:left;min-width:0;color:var(--ink);border-radius:9px}
.overview-metrics .metric>b{font-size:clamp(20px,1.9vw,28px);margin-top:12px;font-variant-numeric:tabular-nums}
.trend-metric{transition:background .15s,border-color .15s,box-shadow .15s}.trend-metric:hover{border-color:var(--blue)}
.trend-metric[aria-pressed=true]{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 6%,var(--card,#fff));box-shadow:0 0 0 1px var(--blue)}
.overview-trend{margin-bottom:16px}.overview-trend .chart{height:240px;gap:12px;padding:12px 24px 24px}.overview-trend .bar-track{height:160px;width:40px}
.overview-trend .chart-column>span{font-variant-numeric:tabular-nums;font-size:12px;white-space:nowrap}
.overview-recent .panel-title{padding:16px 20px}.overview-recent td,.overview-recent th{padding:12px 16px}.overview-recent .text-button{min-height:40px;padding:8px}
@media(max-width:1150px){.metrics.overview-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.metrics.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-trend .chart{padding-inline:12px;gap:5px}.overview-trend .bar-track{width:25px}.overview-trend .chart-column>span{font-size:10px}.overview-actions{gap:6px}.sidebar nav{flex:none;overflow-y:visible}}

.overview-trend .chart-column{min-width:0;flex:1}.overview-trend .chart-column>span{max-width:100%;overflow:hidden;text-overflow:ellipsis}

/* Operator MFA (public/operator-mfa.js): sign-in gate before /admin and the Settings passkey card */
.mfa-gate{position:relative}
.mfa-gate-seal{display:grid;place-items:center;width:52px;height:52px;margin-bottom:18px;border-radius:16px;color:var(--blue);background:linear-gradient(145deg,#eef2ff,#f7f8fc);box-shadow:inset 0 0 0 1px #d8e0ff,0 10px 24px -14px #3155f5}
.mfa-gate>p{color:var(--muted);line-height:1.6}
.mfa-method{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;transition:transform .15s ease,box-shadow .15s ease}
.mfa-method:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px -12px #3155f5}
.mfa-method:active:not(:disabled){transform:translateY(0)}
.mfa-method[aria-busy=true]{opacity:.7;cursor:progress}
.mfa-email{margin-top:4px}
.mfa-sent{margin:0 0 14px;padding:12px 14px;border-radius:9px;background:var(--surface);box-shadow:inset 3px 0 0 var(--blue);color:var(--ink);font-size:13px;line-height:1.6}
.mfa-code-input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:24px;letter-spacing:12px;text-align:center;padding:14px 13px 14px 25px;font-variant-numeric:tabular-nums}
.mfa-code-input::placeholder{color:#c3c8d6;letter-spacing:12px}
.mfa-code-form .btn{margin-top:4px}
.mfa-resend{display:block;margin:12px auto 0}
.mfa-gate-status{margin:16px 0 0;padding:11px 14px;border-radius:8px;background:#fff0f1;color:#a84452;font-size:13px;line-height:1.5}
.passkeys-card .settings-row>div{flex:1 1 320px;min-width:0}.passkeys-card .settings-row>div>p{font-size:12px;color:#939aab;margin:0;line-height:1.7}
.passkeys-card .settings-row .btn{display:inline-flex;align-items:center;gap:8px}
.passkey-list{list-style:none;margin:18px 0 0;padding:0;border-top:1px solid var(--border)}
.passkey-list[aria-busy=true]{min-height:52px}
.passkey-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}
.passkey-row:last-child{border-bottom:0}
.passkey-glyph{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:var(--blue);background:#eef2ff}
.passkey-row b{display:block;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.passkey-row small{display:block;margin-top:3px;color:var(--muted);font-size:12px}
.passkey-empty{padding:16px 0 2px;color:var(--muted);font-size:13px}
html[data-theme=dark] .mfa-gate-seal{background:linear-gradient(145deg,#18244a,#141d2d);box-shadow:inset 0 0 0 1px #2c3d78,0 10px 24px -14px #000}
html[data-theme=dark] .mfa-gate-status{background:#3a1d24;color:#f0a7b1}
html[data-theme=dark] .mfa-sent{background:#141d2d}
html[data-theme=dark] .passkey-glyph{background:#18244a}
@media(prefers-reduced-motion:reduce){.mfa-method{transition:none}.mfa-method:hover:not(:disabled){transform:none}}
@media(max-width:520px){.passkey-row{grid-template-columns:auto minmax(0,1fr)}.passkey-row .btn{grid-column:1/-1;justify-self:start}.mfa-code-input{letter-spacing:8px}}

/* Billing summary: the available total and its two sources share the full card width. */
.balance-card.billing-balance{display:grid;grid-template-columns:minmax(240px,1.05fr) minmax(0,2fr);align-items:center;gap:28px;padding:30px}
.billing-balance .balance-available{min-width:0}
.billing-balance .balance-available h2{font-size:clamp(28px,2.7vw,40px);font-variant-numeric:tabular-nums;margin:16px 0 12px;overflow-wrap:anywhere;letter-spacing:-.8px}
.billing-balance .balance-available p{margin:0;line-height:1.7;color:#d6e1ff}
.balance-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;padding:4px 0 4px 28px;border-left:1px solid #ffffff35}
.balance-breakdown>div{min-width:0}
.balance-breakdown dt{font-size:13px;color:#d6e1ff}
.balance-breakdown dd{margin:14px 0 10px;font-size:clamp(18px,1.65vw,25px);font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;letter-spacing:-.3px}
.balance-breakdown small{display:block;color:#d6e1ff;font-size:12px;line-height:1.7;text-wrap:pretty}
.billing-balance .balance-environment-note{grid-column:1/-1;margin:0;padding-top:16px;border-top:1px solid #ffffff35;line-height:1.7}
@media(max-width:1100px){.balance-card.billing-balance{grid-template-columns:1fr;gap:24px}.balance-breakdown{border-left:0;border-top:1px solid #ffffff35;padding:24px 0 0}}
@media(max-width:540px){.balance-card.billing-balance{padding:23px;gap:20px}.balance-breakdown{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px;padding-top:20px}.balance-breakdown>div:last-child{grid-column:1/-1;border-top:1px solid #ffffff35;padding-top:20px}.balance-breakdown dd{font-size:21px;margin:10px 0 8px}}
/* Image models in the playground (public/playground-images.js). */
.image-controls{display:grid;gap:14px;margin:0 0 18px}
.image-mode{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;border:0}
.image-mode legend{padding:0;margin:0 0 6px;font-weight:600}
.image-mode label{display:inline-flex;align-items:center;gap:6px;margin:0;font-weight:500}
.image-edit-files{display:grid;gap:10px}
.image-controls[hidden],.image-edit-files[hidden]{display:none}
.image-edit-files input[type=file]{width:100%;margin-top:6px;font:inherit}
.image-options{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:10px}
.image-options label{margin:0}
.image-results{list-style:none;margin:0;padding:6px 24px 18px;display:flex;flex-direction:column;gap:22px}
.image-result{display:grid;gap:10px}
.image-prompt{margin:0;color:var(--ink);overflow-wrap:anywhere}
.image-prompt .chat-role{margin-right:6px}
.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.image-grid figure{margin:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}
.image-grid img{display:block;width:100%;height:auto;aspect-ratio:auto}
.image-grid figcaption{display:flex;flex-wrap:wrap;gap:8px;padding:10px}
.image-grid figcaption .btn{padding:6px 10px}
.image-revised{margin:0;overflow-wrap:anywhere}
.image-result .response-stats{margin:0;padding:0;border:0}
@media(max-width:760px){.image-options{grid-template-columns:1fr 1fr}.image-options label:first-child{grid-column:1/-1}.image-results{padding-inline:16px}.image-grid{grid-template-columns:1fr}}

/* /admin/site-settings (public/site-settings-page.js) */
/* /admin/site-settings (public/site-settings-page.js): section index, cards with a field grid, image tiles, sticky save bar. */
.ss-layout{display:grid;grid-template-columns:184px minmax(0,1fr);gap:28px;align-items:start;max-width:1240px}
.ss-index{position:sticky;top:calc(var(--topbar-h) + 16px);display:grid;gap:2px}
.ss-index button{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:7px 10px;border:0;border-radius:7px;background:none;color:var(--muted);font-size:13px;text-align:left;cursor:pointer;transition:background-color .15s,color .15s}
.ss-index button .ui-icon{width:17px;height:17px;flex:none}
.ss-index button span{flex:1;min-width:0}
.ss-index button:hover{background:var(--ui-hover,#eef2f8);color:var(--ink)}
.ss-index button.active{background:var(--ui-selected,#edf1ff);color:var(--ui-selected-ink,#3454d1);font-weight:600}
.ss-index button:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.ss-dirty{width:7px;height:7px;border-radius:50%;background:#e0a100;flex:none}
.ss-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-width:0}
.ss-form>*{grid-column:1/-1}
@media(min-width:1200px){.ss-form>.ss-card-compact{grid-column:auto}}
.ss-intro{font-size:13px;color:var(--muted);margin:0}
.ss-card{border:1px solid var(--border);border-radius:12px;background:var(--panel-surface,#fff);padding:22px 24px 24px;scroll-margin-top:calc(var(--topbar-h) + 16px);box-shadow:var(--ui-shadow,none)}
.ss-card-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}
.ss-card-head>div{flex:1;min-width:0}
.ss-card-head h2{font-size:15px;font-weight:600;margin:1px 0 3px;color:var(--ink)}
.ss-card-head p{font-size:12.5px;line-height:1.6;color:var(--muted);margin:0;max-width:68ch}
.ss-card-head .ss-dirty{margin-top:8px}
.ss-card-icon{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:9px;background:var(--ui-selected,#edf1ff);color:var(--ui-selected-ink,#3454d1)}
.ss-card-icon .ui-icon{width:19px;height:19px}
.ss-block+.ss-block{margin-top:22px;padding-top:20px;border-top:1px solid var(--border)}
.ss-block-title{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.ss-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px 20px}
.ss-wide{grid-column:1/-1}
.ss-field{display:grid;gap:6px;min-width:0;margin:0;font-size:13px}
.ss-label{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;font-weight:500;color:var(--ink)}
.workspace .ss-field input:not([type=color]),.workspace .ss-field textarea{margin:0;min-height:38px;padding:8px 11px;font-size:13.5px;border-color:var(--border);background:var(--panel-surface,#fff);color:var(--ink);transition:border-color .15s,box-shadow .15s}
.workspace .ss-field input:not([type=color]):focus,.workspace .ss-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 18%,transparent);outline:none}
.workspace .ss-field input:disabled,.workspace .ss-field textarea:disabled{background:var(--panel-soft,#f5f7fb);color:var(--muted);cursor:not-allowed}
.ss-code{font:12.5px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical;min-height:180px}
.ss-hint{font-size:12px;line-height:1.55;color:var(--muted)}
.ss-hint-warn{color:#9a6700}
.ss-locked{display:flex;align-items:center;gap:5px}
.ss-locked .ui-icon{width:13px;height:13px;flex:none}
.ss-invalid .ss-field input,.ss-invalid textarea{border-color:#c0392b!important}
.ss-color{display:flex;gap:8px;align-items:center}
.workspace .ss-color input[type=color]{flex:none;width:38px;height:38px;margin:0;padding:3px;border:1px solid var(--border);border-radius:7px;background:var(--panel-surface,#fff);cursor:pointer}
.ss-color input[type=text]{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.ss-switches{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:18px;padding:14px 16px;border-radius:9px;background:var(--panel-soft,#f5f7fb)}
.workspace .ss-switch{display:flex;align-items:center;gap:10px;margin:0;cursor:pointer;font-size:13px}
.workspace .ss-switch input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.ss-switch-track{position:relative;flex:none;width:34px;height:20px;border-radius:999px;background:#cfd5e2;transition:background-color .15s}
.ss-switch-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s}
.ss-switch input:checked+.ss-switch-track{background:var(--blue)}
.ss-switch input:checked+.ss-switch-track:after{transform:translateX(14px)}
.ss-switch input:focus-visible+.ss-switch-track{outline:2px solid var(--blue);outline-offset:2px}
.ss-switch input:disabled+.ss-switch-track{opacity:.5}
.ss-scopes{border:0;padding:0}
.ss-scopes legend{padding:0;margin-bottom:6px}
.ss-scope-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.workspace .ss-scope{display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px 14px;border:1px solid var(--border);border-radius:9px;background:var(--panel-surface,#fff);font-size:13px;line-height:1.45;cursor:pointer;transition:border-color .15s,background-color .15s}
.workspace .ss-scope input{margin-top:1px}
.ss-scope:hover{border-color:color-mix(in srgb,var(--blue) 45%,var(--border))}
.ss-scope:has(input:checked){border-color:var(--blue);background:var(--ui-selected,#edf1ff)}
.ss-assets{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:18px}
.ss-asset{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--panel-surface,#fff)}
.ss-asset-preview{display:grid;place-items:center;height:96px;padding:14px;background-color:var(--panel-soft,#f5f7fb);background-image:linear-gradient(45deg,#0000000a 25%,transparent 25%,transparent 75%,#0000000a 75%),linear-gradient(45deg,#0000000a 25%,transparent 25%,transparent 75%,#0000000a 75%);background-size:14px 14px;background-position:0 0,7px 7px;border-bottom:1px solid var(--border)}
.ss-asset-dark .ss-asset-preview{background-color:#121722}
.ss-asset-preview img{max-width:100%;max-height:64px;object-fit:contain}
.ss-asset-body{display:grid;align-content:start;gap:4px;padding:11px 13px 13px}
.ss-asset-actions{display:flex;align-items:center;gap:12px;margin-top:6px}
.workspace .ss-btn-sm{display:inline-flex!important;min-height:30px;padding:5px 12px;font-size:12px;white-space:nowrap;cursor:pointer;margin:0}
.workspace .ss-btn-sm input[type=file]{display:none}
.ss-savebar{position:sticky;bottom:16px;z-index:5;display:flex;align-items:center;gap:12px;padding:10px 12px 10px 18px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--panel-surface,#fff) 92%,transparent);backdrop-filter:blur(8px);box-shadow:0 8px 24px #1e345a14}
.ss-savebar-state{flex:1;min-width:0;font-size:13px;color:var(--muted)}
.ss-savebar-dirty{border-color:color-mix(in srgb,#e0a100 55%,var(--border))}
.ss-savebar-dirty .ss-savebar-state{color:var(--ink);font-weight:500}
.ss-savebar-dirty .ss-savebar-state:before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:#e0a100;vertical-align:1px}
.ss-version{font-size:12px;color:var(--muted);white-space:nowrap}
.ss-savebar .btn{min-height:36px;margin:0}
.ss-savebar .btn:disabled{opacity:.5;cursor:default}
[data-theme=dark] .ss-hint-warn{color:#f3c969}
[data-theme=dark] .ss-switch-track{background:#3a4760}
[data-theme=dark] .ss-asset-preview{background-image:linear-gradient(45deg,#ffffff08 25%,transparent 25%,transparent 75%,#ffffff08 75%),linear-gradient(45deg,#ffffff08 25%,transparent 25%,transparent 75%,#ffffff08 75%)}
[data-theme=dark] .ss-asset:not(.ss-asset-dark) .ss-asset-preview{background-color:#e9edf5}
[data-theme=dark] .ss-savebar{box-shadow:0 8px 24px #0006}
@media(max-width:1024px){.ss-layout{grid-template-columns:minmax(0,1fr);gap:14px}.ss-card{scroll-margin-top:calc(var(--topbar-h) + 64px)}.ss-index{position:sticky;top:var(--topbar-h);z-index:6;display:flex;gap:6px;overflow-x:auto;margin:0 -4px;padding:6px 4px;background:var(--surface,#f7f8fc);scrollbar-width:none}.ss-index button{width:auto;flex:none;min-height:32px;padding:5px 12px;border:1px solid var(--border);border-radius:999px;background:var(--panel-surface,#fff)}}
@media(max-width:640px){.ss-card{padding:18px 16px 20px;border-radius:10px}.ss-card-icon{display:none}.ss-grid{grid-template-columns:minmax(0,1fr)}.ss-savebar{flex-wrap:wrap;bottom:8px}.ss-savebar-state{flex-basis:100%}.ss-version{flex:1}}
@media(prefers-reduced-motion:reduce){.ss-index button,.ss-switch-track,.ss-switch-track:after,.ss-scope{transition:none}}
