@font-face{font-family:Inter;src:url('/fonts/InterVariable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--ink:#172e27;--muted:#53665e;--paper:#f5f7f6;--card:#fff;--border:#dce4df;--border-light:#edf1ee;--green:#206147;--green-hover:#174c37;--lime:#c4f36b;--rail:#132d24;--rail-active:#25483b;--rail-hover:#1d3c30;--radius:8px;--shadow:0 4px 16px #132d240a;--mono:ui-monospace,SFMono-Regular,Consolas,'Cascadia Code',monospace}
body{font-family:Inter,'Segoe UI',sans-serif;font-size:14px;line-height:1.5;background:var(--paper);color:var(--ink)}
button,input,select,textarea{font-family:inherit}button,a,input,select,textarea{touch-action:manipulation}
h1,h2,h3,h4{font-weight:600;letter-spacing:-.025em;overflow-wrap:anywhere}h1{font-size:24px;line-height:1.3;margin:0 0 8px}h2{font-size:18px;line-height:1.4}h3{font-size:16px}
small,.small,.muted.small,.help,.field-help,.field-note,.lead,.intro,.breadcrumb{font-size:12px;line-height:1.6}.lead,.intro{font-size:14px;color:var(--muted)}
.ui-icon{display:inline-block;flex:none;width:18px;height:18px;vertical-align:middle;background:currentColor;mask:var(--icon) center/contain no-repeat;-webkit-mask:var(--icon) center/contain no-repeat}
.button,.btn,.submit,.token-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 14px;border-radius:6px;font-size:13px;font-weight:500;box-shadow:none}
.button.small,.btn.small{min-height:32px;padding:6px 10px;font-size:12px}.button.primary,.submit{background:var(--green);border-color:var(--green);color:white}.button.primary:hover,.submit:hover{background:var(--green-hover);transform:none}
input:not([type=checkbox]):not([type=radio]),select{min-height:40px;border-radius:6px;font-size:14px}textarea{font-family:var(--mono);font-size:13px;line-height:1.6;max-width:100%;border-radius:6px}label,.label{font-size:13px;font-weight:500}input[type=checkbox],input[type=radio]{accent-color:var(--green)}
:focus-visible{outline:2px solid #287953!important;outline-offset:3px!important}.button:disabled{opacity:.55}
.rail{width:232px;padding:24px 16px 16px;background:var(--rail)}.brand{font-size:21px;font-weight:600;letter-spacing:-.6px;gap:10px}.brand small,.brand-sub{font-size:10px;letter-spacing:1px;font-weight:500}.brand-mark,.brand-symbol{width:34px;height:34px;border-radius:7px;font-size:24px;font-weight:600}.brand-mark span,.brand-symbol span{display:none}
.rail-label{font-size:11px;letter-spacing:.08em;font-weight:500;color:#a3bbaf;margin:24px 8px 8px}.rail-nav{display:grid;gap:4px}.rail-nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;min-height:40px;font-size:13px;font-weight:500;border-radius:6px}.rail-nav a>span:first-child:not(.ui-icon){width:18px;display:inline-flex}.rail-nav a.active{background:var(--rail-active);color:#fff}.rail-nav a:hover{background:var(--rail-hover)}.nav-count{font-size:11px}.rail-card{display:none}.rail-footer{font-size:12px;color:#b3c6bb;letter-spacing:0}
.workspace{margin-left:232px;min-width:0}.topbar{height:64px;padding:0 32px;background:#fff;border-bottom:1px solid var(--border);gap:16px}.topbar-right{gap:8px;flex-wrap:wrap}.breadcrumb{font-size:13px}.breadcrumb strong{font-weight:500}main,#main{padding:32px;max-width:1600px;min-width:0}.page-header,.view-header,.page-head{margin-bottom:24px;gap:16px;flex-wrap:wrap}.page-header h1,.view-header h1,.page-head h1{font-size:24px}
.card,.panel,.info-card,.snippet-panel{border-radius:8px;box-shadow:none}.card-header,.panel-heading{gap:16px;flex-wrap:wrap}.card-header h2,.panel-heading h2{font-size:18px}.kpis{gap:16px}.kpi .value{font-size:28px;font-weight:600}.kpi .label{font-size:12px}
.table-wrap{overflow:auto;max-width:100%}table{font-size:13px;width:100%;border-collapse:collapse}th{font-size:12px;font-weight:500;text-transform:none;letter-spacing:0;background:#f5f7f6;position:sticky;top:0;z-index:1}th,td{padding:12px 16px}td{vertical-align:middle}td.actions{white-space:nowrap}.tag,.method{font-size:12px;letter-spacing:0;font-weight:500;border-radius:4px;padding:3px 8px}.mono,code{font-family:var(--mono);font-size:12px}.tiny-label,.eyebrow{font-size:12px;letter-spacing:.04em;font-weight:500}.conn{font-size:12px}
.modal-backdrop{padding:24px;overflow:auto;background:#10291fc2}.modal{border-radius:8px;max-width:min(560px,100%);max-height:calc(100dvh - 48px);display:flex;flex-direction:column}.modal.large{width:960px;max-width:100%}.modal header,.modal footer{padding:16px 24px;flex:none}.modal header h2{font-size:18px}.modal .body{padding:24px;overflow:auto;min-height:0}.modal footer{gap:8px;flex-wrap:wrap}.form-row{gap:16px}.form-error,.message{font-size:13px;line-height:1.6;border-radius:6px}.empty,.empty-state{font-size:14px;padding:32px}
.row-menu{position:relative;display:inline-block;margin-left:8px;text-align:left}.row-menu summary{list-style:none;cursor:pointer;min-height:32px;border:1px solid var(--border);border-radius:6px;padding:6px 10px;display:flex;align-items:center;gap:8px;font-size:12px;background:white}.row-menu summary::-webkit-details-marker{display:none}.row-menu[open]{z-index:3}.row-menu-items{position:absolute;right:0;top:100%;padding:8px;background:white;box-shadow:0 6px 24px #132d2426;border:1px solid var(--border);border-radius:6px;min-width:176px}.row-menu-items .button{display:flex;width:100%;justify-content:flex-start;margin:0!important;border:0}
.release-steps{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px;padding:16px;background:white;border:1px solid var(--border);border-radius:8px}.release-steps li{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;list-style:none;flex:1;min-width:110px}.release-steps b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#eaf2ed;color:var(--green);font-size:12px;font-weight:500}
.catalog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.catalog-header p{margin:0;color:var(--muted)}.catalog-heading{border:0;padding:0;margin-bottom:16px}.catalog-heading h2{font-size:18px;margin:0}.catalog-tools{margin:0;gap:12px}.filter{font-size:13px;min-height:40px}.filter.active{background:#e6f0e9;color:#1b573e}.search{min-height:40px;flex:1;max-width:360px}.search .ui-icon{font-size:inherit}.search input{min-height:38px}.api-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.api-card{padding:20px;border-radius:8px}.api-card h3{font-size:16px;margin:0 0 8px}.api-card p{font-size:13px;line-height:1.6}.api-icon{width:32px;height:32px;border-radius:6px;background:#eaf2ed;color:var(--green)}.card-top{margin-bottom:16px}.api-path{font-size:12px}.card-meta,.card-actions a{font-size:12px}.card-meta{color:var(--muted)}.api-grid.catalog-list{grid-template-columns:1fr}.catalog-list .api-card{display:grid;grid-template-columns:120px minmax(160px,1fr) minmax(160px,1fr) 200px;gap:8px 16px;align-items:center}.catalog-list .card-top,.catalog-list h3,.catalog-list p,.catalog-list .api-path,.catalog-list .card-meta{margin:0;padding:0}.catalog-list .api-card p{grid-column:2/4}.catalog-list .card-actions{grid-column:4;grid-row:1/4;flex-direction:column;border:0;padding:0}.view-switch{display:flex;gap:4px}.view-switch button[aria-pressed=true]{background:#e6f0e9;color:var(--green);border-color:#9bb9a7}
.quickstart-panel{display:flex;align-items:center;gap:16px;padding:16px;margin:16px 0 24px;border:1px solid var(--border);border-radius:8px;background:#fff}.quickstart-panel p{margin:4px 0 0;font-size:13px;color:var(--muted)}.quickstart-panel .dismiss{margin-left:auto}.bottom-banner{display:none}.page-footer{font-size:12px}.count{font:12px Inter,sans-serif}.workbench-grid,.reference-layout,.guide-layout,.register-layout{gap:24px}.reference-heading{flex-wrap:wrap}
.auth-shell{grid-template-columns:1fr .9fr}.entry{padding:32px 40px}.form-wrap{max-width:400px;padding:40px 0}.form-wrap h1{font-size:24px;font-weight:600;letter-spacing:-.5px;margin:16px 0 8px}.story{background:var(--rail);padding:40px;justify-content:center}.story:before,.story:after,.story-top,.story-footer,.story-points{display:none}.story-content{max-width:440px;padding:32px 0;margin:auto}.story h2{font-size:36px;letter-spacing:-1px;font-weight:500}.story h2 em{color:#c4f36b}.story-description{font-size:15px;line-height:1.6}.signal-card{transform:none;box-shadow:none;border-radius:8px;padding:24px}.signal-head,.signal-bottom,.flow small{font-size:12px;letter-spacing:0}.request{flex-wrap:wrap;gap:12px}.request code{font-size:12px}.flow{gap:8px}.flow strong{font-size:13px}.flow-icon{width:32px;height:32px}.entry-footer,.help-line,.label-row>span,.approval-note,.divider,.hub-link{font-size:12px}.brand-sub{left:44px}.submit{width:100%;margin-top:24px;justify-content:center}.submit span:last-child{font-size:inherit}.token-button{width:100%;color:var(--green)}.password-wrap button{top:12px;font-size:12px}.mode-tabs a{font-size:13px}.entry-header{gap:16px}.message.success{color:#1a533a}.ui-menu-toggle{display:none}
@media(min-width:1100px){.api-card .card-actions{gap:16px}}
@media(max-width:1100px){.api-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-list .api-card{display:flex}.topbar{padding:0 24px;height:auto;min-height:64px}.topbar-right{justify-content:flex-end}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.auth-shell{grid-template-columns:1fr .8fr}.entry{padding:24px}.story{padding:24px}.story h2{font-size:30px}}
@media(max-width:760px){.rail{position:fixed;inset:0 auto 0 0;transform:translateX(-100%);width:232px;transition:transform .15s;box-shadow:8px 0 40px #10291f30;z-index:60}.nav-open .rail{transform:translateX(0)}.workspace{margin-left:0}.topbar{padding:12px 16px;flex-wrap:wrap;gap:12px}.topbar-right{gap:8px}.breadcrumb{flex:1}.ui-menu-toggle{display:inline-flex}.nav-open:after{content:'';position:fixed;inset:0;background:#10291f66;z-index:50}main,#main{padding:24px 16px}.api-grid{grid-template-columns:1fr}.catalog-tools,.catalog-header,.quickstart-panel{flex-wrap:wrap}.search{margin:0;max-width:none;width:100%;order:2}.catalog-tools select{max-width:100%}.quickstart-panel .dismiss{margin-left:0}.view-switch{margin-left:auto}.workbench-grid,.reference-layout,.guide-layout,.register-layout{grid-template-columns:1fr}.auth-shell{display:block}.entry{min-height:100dvh;padding:24px}.form-wrap{margin:40px auto;padding:0}.story{display:none}.entry-header{flex-wrap:wrap}.entry-footer{flex-wrap:wrap}.modal-backdrop{padding:12px}.modal{max-height:calc(100dvh - 24px)}.modal header,.modal footer,.modal .body{padding:16px}.form-row,.two-fields{grid-template-columns:1fr}.kpis{grid-template-columns:1fr!important}.topbar #config-badge{display:none}.card-header{align-items:flex-start}.row-menu-items{position:static;min-width:140px}.release-steps li{flex-basis:120px}.panel,.info-card{padding:16px}.button{white-space:normal}.request-line{grid-template-columns:80px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.ui-icon{pointer-events:none}.brand-symbol{background:var(--lime);color:var(--rail);letter-spacing:0}.story .signal-card{background:#1d3f31}.story .flow-icon,.story .request .method,.story .request .allowed{color:#d7ecc9}.story .flow small,.story .signal-head,.story .signal-bottom{color:#c3d4c8}.story-description{color:#d0ded5}.field-diff{margin:8px 0;padding:8px;border:1px solid var(--border);border-radius:6px}.field-diff dt{font-weight:500;margin-bottom:4px}.field-diff dd{margin:0;display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px}.field-diff code{white-space:pre-wrap;overflow-wrap:anywhere}.field-diff dd>span{color:var(--muted);font-size:12px}code{overflow-wrap:anywhere}.toolbar{flex-wrap:wrap;gap:8px}.toolbar .muted{flex-basis:100%;font-size:14px}.toolbar h1{margin:0;font-size:24px}.table-wrap{max-height:650px}.row-menu-items{position:fixed;max-height:280px;overflow:auto;z-index:80}.catalog-list .api-card{min-width:0}.catalog-list .card-top{min-width:0}.catalog-list .api-path{overflow-wrap:anywhere}.card-actions a{display:inline-flex;align-items:center;gap:8px}.card-header .muted{font-size:12px}.tag.error,.tag.red{color:#9b2835;background:#fcecef}.tag.warn,.tag.amber{color:#795015;background:#fff4db}.tag.success,.tag.green{color:#20543d;background:#e6f2e9}
@media(max-width:760px){.toolbar .spacer{display:none}.toolbar>input,.toolbar>select{max-width:100%;width:100%}.toolbar .muted{width:100%;min-width:0}.catalog-heading{gap:16px;flex-wrap:wrap}.catalog-list .api-card{display:block}.catalog-list .api-card>*{margin-bottom:8px}.catalog-list .card-actions{flex-direction:row}.filter-group{flex-wrap:wrap}.row-menu-items{position:fixed}.rail{overflow-y:auto}.nav-open .ui-menu-toggle{position:relative;z-index:65}.form-grid,.grid.two,.grid.three,.grid.four{grid-template-columns:1fr!important}.panel,.card{min-width:0}.kv{grid-template-columns:minmax(80px,1fr) minmax(0,2fr)}pre{max-width:100%;overflow:auto}.topbar .breadcrumb{min-width:120px}.topbar-right{margin-left:0}.story .signal-card{display:none}}

.product-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.product-page-header p{color:var(--muted);margin:0;font-size:14px}.product-page-header h1{font-size:24px;margin:0 0 8px}.search-box{min-width:0;display:flex;gap:8px}.search-box input{width:100%;min-width:0}.rail [hidden]{display:none!important}.toolbar:empty{display:none}.card .table-wrap td .row-menu[hidden]{display:none}.form-error,.alert{border-radius:6px}

.loading-state{display:flex;align-items:center;gap:12px;padding:32px;background:white;border:1px solid var(--border);border-radius:8px;color:var(--muted)}.loading-spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--green);border-radius:50%;animation:loading-spin .8s linear infinite}@keyframes loading-spin{to{transform:rotate(360deg)}}.story .request .method,.story .allowed{font-size:12px}.modal[aria-modal=true] .body>p{margin-top:0}.form-error p{margin:8px 0 16px}#view>.card:has(>.form-error){padding:24px}

strong,b{font-weight:600}input::placeholder,textarea::placeholder{color:#65756e}.signal-bottom .mono{color:#c3d4c8}.search-box>.muted:empty{display:none}

@media(max-width:760px){.rail-nav{grid-template-columns:1fr}.rail-nav a{font-size:13px;padding:10px 12px}.rail .brand{display:flex}.rail .rail-label{display:block}.rail-footer{display:block}.workspace{width:auto}.catalog-tools .filter-group{gap:4px}.topbar>a{max-width:100%}}
.search input{font-size:14px}.topbar .button{font-size:12px;min-height:40px}@media(max-width:760px){.rail{display:flex}.rail-nav a{white-space:normal}.rail .rail-nav{margin-top:0}.catalog-tools select{max-width:100%}}
/* Progressive deployment workspace */
.canary-overview{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:24px;margin:0 0 24px;min-width:0}.canary-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.canary-heading h2{margin:4px 0 8px}.canary-heading h3{margin:0}.canary-heading p{margin:0;color:var(--muted);max-width:640px}.canary-eyebrow{font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--green)}.canary-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:32px;margin-top:24px}.canary-layout>div{min-width:0}.canary-layout h3{margin:0 0 16px}.canary-allocation{display:flex;height:12px;background:#dce4df;border-radius:6px;overflow:hidden}.canary-allocation>span{background:var(--green)}.canary-allocation-labels{display:flex;justify-content:space-between;gap:16px;margin-top:8px;font-size:13px}.canary-facts{display:flex;flex-wrap:wrap;gap:16px 24px;margin:16px 0}.canary-facts>div{display:flex;flex-direction:column;gap:4px;min-width:0}.canary-facts span,.canary-facts dt{font-size:12px;color:var(--muted)}.canary-facts dd{margin:0;font-size:13px;overflow-wrap:anywhere}.canary-metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px}.canary-metric{padding:16px;background:var(--paper);border:1px solid var(--border-light);border-radius:8px;display:flex;flex-direction:column;gap:8px;min-width:0}.canary-metric>span,.canary-metric small{font-size:12px;color:var(--muted)}.canary-metric strong{font-size:20px;overflow-wrap:anywhere}.canary-notice{font-size:12px;color:var(--muted);padding:12px 16px;background:#f6f8f6;border-left:3px solid #81998b;border-radius:0 6px 6px 0;margin:16px 0 0}.canary-next{display:flex;justify-content:space-between;gap:24px;align-items:center;border-top:1px solid var(--border);padding-top:20px;margin-top:24px;flex-wrap:wrap}.canary-next>div:first-child{flex:1;min-width:180px}.canary-next p{font-size:12px;color:var(--muted);max-width:560px;margin:4px 0 0}.canary-actions{display:flex;gap:8px;flex-wrap:wrap}.release-history-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px}.release-history-card{border:1px solid var(--border);border-radius:8px;padding:20px;min-width:0}.release-history-card>p{overflow-wrap:anywhere}.release-history-card .canary-actions{border-top:1px solid var(--border-light);padding-top:16px}.modal .canary-overview{padding:16px}.modal .canary-layout{gap:20px}
@media(max-width:1024px){.canary-layout{grid-template-columns:1fr;gap:24px}.canary-next{align-items:flex-start}.canary-actions{width:100%}}
@media(max-width:760px){.canary-overview{padding:16px}.release-history-cards{grid-template-columns:1fr;padding:12px}.release-history-card{padding:16px}.canary-metrics{gap:8px}.canary-metric{padding:12px}.canary-metric strong{font-size:18px}.canary-actions .button{flex:1 1 140px}.canary-allocation-labels{flex-wrap:wrap}.canary-heading .tag{white-space:normal}}

/* Keep large release and Studio dialogs inside the viewport; grid auto tracks
   must not use the dialog's intrinsic 960px width as their minimum. */
.modal-backdrop{grid-template-columns:minmax(0,1fr)}
.modal,.modal.large{min-width:0;width:min(960px,100%)}
.modal fieldset{min-width:0}.modal input,.modal textarea{max-width:100%;min-width:0}
@media(max-width:760px){.modal .grid.two{grid-template-columns:minmax(0,1fr)}}

/* ---- APIs table ---- */
.api-name-cell{min-width:180px;max-width:300px}.api-name{white-space:nowrap}
.api-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:2px}
.tag-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.tag-row:empty{display:none}
.truncate{display:inline-block;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.nowrap{white-space:nowrap}
/* Protocol tags share one palette across the console and portal */
.tag.proto-graphql{background:#fdf2f8;border-color:#f6d5e8;color:#a3346f}
.tag.proto-grpc{background:#eef6ff;border-color:#d4e6fb;color:#1f5f9e}
.tag.proto-mcp{background:#effaf3;border-color:#cdebd8;color:#1e6b45}

/* ---- Navigation rail: fits a laptop screen, slim scrollbar when it does not ---- */
.rail{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#2f5a4a transparent}
.rail::-webkit-scrollbar{width:6px}.rail::-webkit-scrollbar-thumb{background:#2f5a4a;border-radius:3px}.rail::-webkit-scrollbar-track{background:transparent}
.rail-nav{gap:2px}.rail-nav a{min-height:34px;padding:7px 12px}.rail-label{margin:18px 8px 6px}
@media (max-height:820px){.rail-nav a{min-height:30px;padding:5px 12px}.rail-label{margin:12px 8px 4px}}

/* ---- Tables become labelled cards on small screens ---- */
@media (max-width:760px){
  #view table.stackable,#view table.stackable tbody{display:block;width:100%;min-width:0!important}
  #view table.stackable thead{display:none}
  #view table.stackable tbody tr{display:block;border:1px solid var(--border);border-radius:var(--radius);margin:0 0 10px;padding:8px 12px;background:var(--card)}
  #view table.stackable tbody td{display:grid;grid-template-columns:minmax(88px,36%) minmax(0,1fr);column-gap:12px;row-gap:4px;align-items:start;padding:6px 0;border:0;text-align:left;min-width:0;max-width:none;white-space:normal;overflow-wrap:anywhere}
  #view table.stackable tbody td::before{content:attr(data-label);grid-column:1;grid-row:1/span 6;font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:500;color:var(--muted)}
  #view table.stackable tbody td>*{grid-column:2;min-width:0;max-width:100%;justify-self:start}
  #view table.stackable tbody td[colspan]{display:block;text-align:center}
  #view table.stackable tbody td[colspan]::before{content:none}
  #view table.stackable tbody td.actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
  #view table.stackable tbody td.actions::before{flex-basis:100%}
  #view .table-wrap{overflow-x:visible;max-height:none}
  #view .card:has(table.stackable){padding-left:12px;padding-right:12px}
  .truncate{max-width:100%}
}

/* ---- Audit details ---- */
.audit-detail{min-width:260px;max-width:420px}.audit-detail .kv{display:flex;gap:8px;font-size:12px;line-height:1.5}
.audit-detail .k{color:var(--muted);flex:none;min-width:84px}.audit-detail .v{overflow-wrap:anywhere}
.audit-detail details{margin-top:4px}.audit-detail summary{cursor:pointer;color:var(--green)}
.audit-detail pre{white-space:pre-wrap;max-height:260px;overflow:auto;background:var(--paper);padding:8px;border-radius:6px;margin:6px 0 0;font-size:11px}

/* ---- Live tail: one line per request ---- */
#tail td{white-space:nowrap}
#tail td .tag{max-width:180px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}

/* APIs table: fits a 1440px laptop without sideways scrolling */
#apis-table th,#apis-table td{padding-left:10px;padding-right:10px}
#apis-table .truncate{max-width:200px}
#apis-table td.actions{white-space:nowrap}
/* Older releases collapse behind a toggle so the fleet page stays short. */
.release-history-more{border-top:1px solid var(--border-light);margin:0 16px 16px}.release-history-more>summary{cursor:pointer;padding:12px 0 4px;font-size:13px;font-weight:600;color:var(--green);list-style:none}.release-history-more>summary::-webkit-details-marker{display:none}.release-history-more>summary::before{content:"\25B8";display:inline-block;margin-right:6px;transition:transform .15s}.release-history-more[open]>summary::before{transform:rotate(90deg)}.release-history-more .release-history-cards{padding:12px 0 0}
/* Toolbar filters: selects match the search box instead of native chrome. */
.toolbar select:not(.input){appearance:none;-webkit-appearance:none;height:36px;padding:0 34px 0 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;font-weight:500;color:var(--ink);cursor:pointer;min-width:150px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2353665e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;transition:border-color .15s}
.toolbar select:not(.input):hover{border-color:#b9c7bf}
.toolbar select:not(.input):focus-visible{border-color:var(--green);outline:3px solid #b7dfc9;outline-offset:0}
.toolbar .search-box{height:36px;flex:1 1 260px;max-width:420px}
.toolbar .search-box:focus-within{border-color:var(--green);outline:3px solid #b7dfc9}
.toolbar .field.check{display:flex;align-items:center;gap:6px}
.toolbar .field.check label{font-size:13px;font-weight:500;color:var(--muted);flex-basis:auto;width:auto;margin:0}
.toolbar .field.check input{width:auto;accent-color:var(--green)}
@media(max-width:760px){.toolbar select:not(.input){flex:1 1 140px;min-width:0}.toolbar .search-box{max-width:none;flex-basis:100%}}
/* Request-log cards on phones: denser rows, client IP left to the decision drawer. */
@media(max-width:760px){#view table.stackable td.hide-mobile{display:none}#log-table.stackable tbody tr{padding:6px 12px;margin-bottom:8px}#log-table.stackable td{padding-top:3px;padding-bottom:3px}}
/* --- Consistency pass (2026-10-10) --- */
/* Page header actions: one row of equal-height buttons, primary last. */
.page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.page-actions .button{min-height:38px;padding:8px 14px;font-size:13px}
.page-actions .button.ghost{background:#fff;border:1px solid var(--border)}
.page-actions .button .ui-icon{width:16px;height:16px}
/* Stacked cards never touch. */
#view>.card+.card{margin-top:20px}
#view>p.muted{margin:0 0 16px;font-size:13px}
/* Every in-page select (filters, inline plan pickers) shares one control style. */
#view select:not(.input):not(.field select){appearance:none;-webkit-appearance:none;height:34px;padding:0 32px 0 12px;border:1px solid var(--border);border-radius:6px;font:inherit;font-size:13px;font-weight:500;color:var(--ink);cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2353665e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 11px center;max-width:100%}
#view select:not(.input):not(.field select):hover{border-color:#b9c7bf}
#view select:not(.input):not(.field select):focus-visible{border-color:var(--green);outline:3px solid #b7dfc9;outline-offset:0}
#view td select:not(.input){height:32px;min-width:160px}
/* Row actions: buttons and the overflow menu sit on one baseline. */
#view td.actions{white-space:nowrap;text-align:right}
#view td.actions>.button,#view td.actions>.row-menu{vertical-align:middle}
#view td.actions>.button+.button{margin-left:6px}
.row-menu summary{min-height:30px;padding:5px 10px}
/* Role badge in the brand palette. */
.tag.role-superadmin{background:var(--rail);color:var(--lime);border-color:var(--rail)}
@media(max-width:760px){.page-actions{width:100%}.page-actions .button{flex:1 1 auto;justify-content:center}#view td.actions{text-align:left;white-space:normal}}
/* Form selects use the same chevron as the rest of the console. */
.field select{appearance:none;-webkit-appearance:none;padding-right:34px;background:#fbfcf9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2353665e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;text-overflow:ellipsis}
.field select[multiple]{background-image:none;padding-right:12px}
/* Request decision trail */
.trail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.trail-head code{overflow-wrap:anywhere}
.diagnosis{border:1px solid var(--border);border-radius:8px;padding:16px;margin:16px 0;background:var(--paper)}
.diagnosis-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.diagnosis h3,.trail-title{font-size:14px;margin:0}
.diagnosis>p{font-size:13px;line-height:1.5;margin:0 0 12px}
.diagnosis .grid.two{gap:12px}
.remedy{background:#fff;border:1px solid var(--border-light);border-radius:6px;padding:12px}
.remedy h4{font-size:12px;margin:0 0 6px;color:var(--ink)}
.remedy-list{margin:0;padding-left:18px;font-size:12px;line-height:1.5}
.remedy-list li+li{margin-top:4px}
.trail-title{margin:20px 0 8px}
.decision-trail .step-icon{width:22px;height:22px;border-radius:50%;flex:0 0 22px;display:grid;place-items:center;font-size:12px;font-weight:700;line-height:1}
.decision-trail .step-icon.ok::before{content:"\2713"}
.decision-trail .step-icon.fail::before{content:"\2715"}
.decision-trail .step-icon.skip{background:var(--border-light);color:var(--muted)}
.decision-trail .step-icon.skip::before{content:"\2013"}
.decision-step.skip b{color:var(--muted);font-weight:500}
.trail-details{margin-top:16px;border:1px solid var(--border);border-radius:8px;padding:0 14px}
.trail-details>summary{cursor:pointer;padding:12px 0;font-size:13px;font-weight:600;color:var(--green)}
.trail-details table{margin-bottom:12px}
.trail-json{margin:0;max-height:240px;overflow:auto;font:12px/1.45 var(--mono);white-space:pre-wrap;word-break:break-word}
.consumer-detail-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,660px),1fr));align-items:start}
/* Loose inputs inside dialogs (outside .field wrappers) match form fields. */
.modal .body input:not([type=checkbox]):not([type=radio]):not([type=file]):not(.input){border:1px solid #d4ded3;border-radius:6px;background:#fbfcf9;padding:8px 10px;font:inherit;font-size:13px;color:var(--ink);min-height:36px}
.modal .body input:not([type=checkbox]):not([type=radio]):not(.input):focus{border-color:var(--green);outline:3px solid #b7dfc9}
.modal .body input[type=checkbox]{accent-color:var(--green)}
/* Bare .input controls (used by some views) match standard form fields. */
.input{width:100%;border:1px solid #d4ded3;border-radius:6px;background:#fbfcf9;padding:9px 12px;font:inherit;font-size:13px;color:var(--ink);min-height:38px}
.input:focus{border-color:var(--green);outline:3px solid #b7dfc9;outline-offset:0}
select.input{appearance:none;-webkit-appearance:none;padding-right:34px;background:#fbfcf9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2353665e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center}
.passport-facts{background:var(--paper);border:1px solid var(--border);border-radius:8px;padding:14px 16px;margin-bottom:16px;font:12px/1.6 var(--mono);overflow-wrap:anywhere}
.passport-facts p{margin:0 0 4px}
/* --- Orbit AI assistant --- */
.orbit-trigger{display:inline-flex;align-items:center;gap:6px;border-color:#b9dcc8;background:linear-gradient(180deg,#f4fbf6,#e9f6ee);color:var(--green);font-weight:600}
.orbit-trigger:hover{border-color:var(--green)}
.orbit-trigger .ui-icon{width:15px;height:15px}
.orbit-trigger kbd{font:600 10px/1 var(--mono);color:var(--muted);background:#fff;border:1px solid var(--border);border-radius:4px;padding:3px 5px}
.orbit-panel{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);z-index:60;background:var(--card);border-left:1px solid var(--border);box-shadow:-12px 0 40px #132d241f;display:flex;flex-direction:column;animation:orbit-in .18s ease-out}
.orbit-panel[hidden]{display:none}
@keyframes orbit-in{from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}
.orbit-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,var(--rail),#1d4436);color:#fff}
.orbit-mark{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--lime);color:var(--rail);flex:0 0 34px}
.orbit-mark .ui-icon{width:18px;height:18px}
.orbit-title{flex:1;min-width:0}
.orbit-title h2{margin:0;font-size:16px;color:#fff}
.orbit-title p{margin:2px 0 0;font-size:12px;color:#b9d3c6}
.orbit-head .button.ghost{color:#dbe9e2;border-color:#ffffff33;background:transparent}
.orbit-head .button.ghost:hover{background:#ffffff14}
.orbit-log{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:14px;background:var(--paper)}
.orbit-intro .orbit-lede{margin:0 0 14px;font-size:13px;line-height:1.55;color:var(--ink)}
.orbit-section{margin:16px 0 8px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.orbit-prompts{display:flex;flex-direction:column;gap:8px}
.orbit-prompt{text-align:left;font:inherit;font-size:13px;color:var(--ink);background:#fff;border:1px solid var(--border);border-radius:8px;padding:10px 12px;cursor:pointer;transition:border-color .15s,background .15s}
.orbit-prompt:hover{border-color:var(--green);background:#f4fbf6}
.orbit-setup{border:1px solid #f1d9a6;background:#fffaf0;border-radius:8px;padding:12px 14px;font-size:12px;line-height:1.5}
.orbit-setup p{margin:6px 0 0}
.orbit-msg{display:flex;flex-direction:column;max-width:100%}
.orbit-msg.user{align-items:flex-end}
.orbit-bubble{background:var(--rail);color:#fff;border-radius:12px 12px 2px 12px;padding:9px 13px;font-size:13px;line-height:1.5;max-width:88%;white-space:pre-wrap;overflow-wrap:anywhere}
.orbit-answer{background:#fff;border:1px solid var(--border);border-radius:2px 12px 12px 12px;padding:12px 14px;font-size:13px;line-height:1.55;color:var(--ink);overflow-wrap:anywhere}
.orbit-answer p{margin:0 0 8px}
.orbit-answer p:last-child,.orbit-answer ul:last-child,.orbit-answer ol:last-child{margin-bottom:0}
.orbit-answer .orbit-h{font-weight:700;margin-top:4px}
.orbit-answer ul,.orbit-answer ol{margin:0 0 8px;padding-left:20px}
.orbit-answer li+li{margin-top:3px}
.orbit-answer code{font:12px var(--mono);background:var(--paper);border:1px solid var(--border-light);border-radius:4px;padding:1px 4px}
.orbit-steps{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}
.orbit-steps-label{font-size:11px;color:var(--muted);margin-right:2px}
.orbit-chip{font-size:11px;color:var(--green);background:#eaf5ee;border:1px solid #cde6d7;border-radius:999px;padding:2px 8px}
.orbit-chip.failed{color:#8a5a00;background:#fff6e5;border-color:#f1d9a6}
.orbit-meta{font-size:11px;color:var(--muted);margin-top:6px}
.orbit-error{background:#fff4f4;border:1px solid #f3cccc;color:#7a1f1f;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.5}
.orbit-thinking{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);background:#fff;border:1px solid var(--border);border-radius:999px;padding:7px 12px}
.orbit-thinking span{width:6px;height:6px;border-radius:50%;background:var(--green);animation:orbit-dot 1s infinite ease-in-out}
.orbit-thinking span:nth-child(2){animation-delay:.15s}
.orbit-thinking span:nth-child(3){animation-delay:.3s;margin-right:4px}
@keyframes orbit-dot{0%,80%,100%{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:none}}
.orbit-input{display:flex;align-items:flex-end;gap:8px;padding:12px 14px 6px;border-top:1px solid var(--border);background:var(--card)}
.orbit-input textarea{flex:1;resize:none;border:1px solid var(--border);border-radius:10px;padding:10px 12px;font:inherit;font-size:13px;line-height:1.45;max-height:160px;background:#fbfcf9;color:var(--ink)}
.orbit-input textarea:focus{border-color:var(--green);outline:3px solid #b7dfc9;outline-offset:0}
.orbit-send{width:38px;height:38px;border-radius:10px;border:0;background:var(--green);color:#fff;display:grid;place-items:center;cursor:pointer;flex:0 0 38px}
.orbit-send:disabled{opacity:.5;cursor:default}
.orbit-send .ui-icon{width:18px;height:18px}
.orbit-foot{margin:0;padding:0 16px 12px;font-size:11px;color:var(--muted);background:var(--card)}
@media(min-width:1180px){body.orbit-open .workspace{margin-right:440px}}
@media(max-width:760px){.orbit-trigger kbd,.orbit-trigger span{display:none}.orbit-panel{width:100vw;border-left:0}}
@media(prefers-reduced-motion:reduce){.orbit-panel{animation:none}.orbit-thinking span{animation:none}}
/* With Orbit open the workspace narrows: keep the top bar on one line. */
@media(min-width:1180px){body.orbit-open .topbar{flex-wrap:nowrap}body.orbit-open .breadcrumb{white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}body.orbit-open .topbar-right{flex-wrap:nowrap}body.orbit-open #config-badge,body.orbit-open .topbar-right a[href="/portal"],body.orbit-open .orbit-trigger kbd{display:none}}
/* Orbit signals ("Needs attention") */
.orbit-signals-card{margin-bottom:20px}
.orbit-signals-card .card-header{align-items:flex-start}
.orbit-signals-card .card-header p{margin:4px 0 0}
.orbit-signals-loading{padding:18px 24px;font-size:13px;color:var(--muted)}
.orbit-signal-list{list-style:none;margin:0;padding:0 24px 12px}
.orbit-signal{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 0;border-top:1px solid var(--border-light)}
.orbit-signal:first-child{border-top:0}
.orbit-sev{width:10px;height:10px;border-radius:50%;margin-top:5px;background:#8aa59a}
.orbit-signal.warning .orbit-sev{background:#d97706;box-shadow:0 0 0 3px #fdecc8}
.orbit-signal.critical .orbit-sev{background:#dc2626;box-shadow:0 0 0 3px #fde0e0}
.orbit-signal-body strong{font-size:13px;display:block}
.orbit-signal-body p{margin:3px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}
.orbit-signal-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.orbit-signal-actions .button{white-space:nowrap}
.orbit-signal-actions .ui-icon{width:13px;height:13px;margin-right:4px}
.orbit-signals-clear{display:flex;gap:12px;align-items:flex-start;padding:4px 24px 20px;color:var(--green)}
.orbit-signals-clear .ui-icon{width:20px;height:20px;margin-top:2px}
.orbit-signals-clear strong{color:var(--ink);font-size:13px}
.orbit-signals-clear p{margin:2px 0 0}
.orbit-signal-list.compact{padding:0;background:#fff;border:1px solid var(--border);border-radius:8px}
.orbit-signal-list.compact .orbit-signal{grid-template-columns:auto minmax(0,1fr);padding:10px 12px}
.orbit-signal-list.compact .orbit-signal-actions{grid-column:2;justify-content:flex-start}
.orbit-badge{min-width:18px;height:18px;border-radius:9px;background:#d97706;color:#fff;font:700 11px/18px Inter,system-ui,sans-serif;text-align:center;padding:0 5px}
/* Orbit proposals */
.orbit-prop{margin-top:10px;background:#fff;border:1px solid #c9dcf2;border-left:3px solid #3b6fb6;border-radius:8px;padding:12px 14px;font-size:13px}
.orbit-prop.applied{border-color:#cde6d7;border-left-color:var(--green)}
.orbit-prop-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.orbit-prop-reason{margin:8px 0 0;color:var(--ink);line-height:1.5}
.orbit-prop-table{width:100%;margin:10px 0 0;border-collapse:collapse;font-size:12px}
.orbit-prop-table td{padding:6px 4px;border-top:1px solid var(--border-light)}
.orbit-prop-table td:first-child{color:var(--muted)}
.orbit-prop-table .from{text-decoration:line-through;color:var(--muted);font-family:var(--mono)}
.orbit-prop-table .to{font-weight:700;font-family:var(--mono);color:var(--green)}
.orbit-prop-table .arrow{color:var(--muted);width:16px;text-align:center}
.orbit-prop-impacts{margin:10px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.orbit-prop-impacts li{font-size:12px;line-height:1.45;padding:7px 10px;border-radius:6px;background:var(--paper)}
.orbit-prop-impacts li.critical{background:#fff4f4;color:#7a1f1f}
.orbit-prop-impacts li.warning{background:#fff8eb;color:#7a4b00}
.orbit-prop-impacts li span{display:block;opacity:.8;margin-top:2px}
.orbit-prop-traffic,.orbit-prop-muted{margin:8px 0 0;font-size:12px;color:var(--muted)}
.orbit-prop-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.orbit-prop-done{display:flex;align-items:center;gap:6px;margin:12px 0 0;color:var(--green);font-weight:600;font-size:12px}
.orbit-prop-done .ui-icon{width:14px;height:14px}
.orbit-prop-error{margin:10px 0 0;font-size:12px;color:#7a1f1f;background:#fff4f4;border-radius:6px;padding:7px 10px}
@media(max-width:760px){.orbit-signal{grid-template-columns:auto minmax(0,1fr)}.orbit-signal-actions{grid-column:2;justify-content:flex-start}.orbit-signal-list{padding:0 16px 8px}}
.orbit-table-wrap{overflow-x:auto;margin:0 0 8px}
.orbit-table{border-collapse:collapse;font-size:12px;min-width:100%}
.orbit-table th{text-align:left;font-weight:600;color:var(--muted);background:var(--paper);padding:6px 8px;border-bottom:1px solid var(--border)}
.orbit-table td{padding:6px 8px;border-bottom:1px solid var(--border-light);vertical-align:top}
