/* Apple Design: system type, restrained color, layered materials, immediate feedback. */
:root {
  color-scheme: light;
  font: 100%/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  font-optical-sizing: auto;
  --bg: #f5f5f7; --panel: #fff; --surface: #ededf0; --input: #fff;
  --control-line: #8d8d98; --text: #1d1d1f; --muted: #64646d; --line: #dedee3;
  --accent: #0066cc; --accent-hover: #0059b3; --accent-soft: #e5effb;
  --success: #237346; --success-bg: #edf7f0; --warning: #875b0c; --warning-bg: #fff5df; --bad: #b4232c;
  --sidebar: rgba(234,234,239,.88); --toolbar: rgba(245,245,247,.85);
  --shadow: 0 2px 8px #18182005, 0 0 0 1px #18182008;
  --radius: 1rem;
}
:root[data-theme=dark] {
  color-scheme: dark;
  --bg: #161618; --panel: #222225; --surface: #2c2c30; --input: #1c1c1f;
  --control-line: #777781; --text: #f5f5f7; --muted: #aaaab3; --line: #3b3b40;
  --accent: #72b5ff; --accent-hover: #99cbff; --accent-soft: #263c56;
  --success: #8bd5a4; --success-bg: #253a2d; --warning: #e8c378; --warning-bg: #3d3423; --bad: #ff9b9f;
  --sidebar: rgba(31,31,34,.92); --toolbar: rgba(22,22,24,.87);
  --shadow: 0 2px 8px #00000012, 0 0 0 1px #ffffff09;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text); font-size: .875rem; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button, a, input, textarea, select, summary { -webkit-tap-highlight-color: transparent; touch-action: manipulation; outline-offset: 3px; }
:focus-visible { outline: 3px solid var(--accent); }
main:focus { outline: none; }
button { min-height: 2.75rem; padding: .625rem 1rem; border: 1px solid transparent; border-radius: .625rem; background: var(--accent); color: white; font-weight: 600; cursor: pointer; transition: background-color 140ms, color 140ms, transform 100ms ease-out; }
:root[data-theme=dark] button { color: #0b243e; }
button:active:not(:disabled) { transform: scale(.97); }
button:disabled { opacity: .55; cursor: wait; }
.secondary { background: var(--surface); color: var(--text); border-color: transparent; }
.quiet { color: var(--muted); background: transparent; }
:root[data-theme=dark] .secondary { color: var(--text); }
:root[data-theme=dark] .quiet { color: var(--muted); }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
@media (hover: hover) {
  button:hover:not(:disabled) { background: var(--accent-hover); }
  button.secondary:hover:not(:disabled), button.quiet:hover:not(:disabled) { background: var(--line); color: var(--text); }
}
h1, h2, h3, p { margin: 0 0 .75rem; }
h1 { font-size: clamp(1.75rem, 2.5vw, 2.25rem); line-height: 1.15; letter-spacing: -.035em; font-weight: 700; }
h2 { font-size: 1.0625rem; line-height: 1.35; letter-spacing: -.015em; font-weight: 650; }
h3 { font-size: 1rem; line-height: 1.35; letter-spacing: -.015em; font-weight: 650; }
small, .table-caption { font-size: .75rem; line-height: 1.5; letter-spacing: .005em; color: var(--muted); }
.muted { color: var(--muted); }
.eyebrow { color: var(--muted); font-size: .75rem; font-weight: 600; letter-spacing: .025em; margin-bottom: .625rem; }
svg { display: block; width: 1.25rem; height: 1.25rem; flex-shrink: 0; }
.brand-mark { width: 2.25rem; height: 2.25rem; border-radius: .625rem; display: inline-grid; place-items: center; background: var(--accent); color: white; flex-shrink: 0; }
:root[data-theme=dark] .brand-mark { color: #0b243e; }
.brand-mark svg { width: 1.5rem; height: 1.5rem; }
.brand { display: flex; align-items: center; gap: .75rem; font-size: 1.125rem; line-height: 1.2; letter-spacing: -.03em; font-weight: 700; color: var(--text); padding: .5rem; }
.brand:hover { text-decoration: none; }
.brand small { display: block; font-size: .6875rem; font-weight: 500; margin-top: .3rem; letter-spacing: .01em; }
aside { position: fixed; inset: 0 auto 0 0; width: 14.5rem; z-index: 3; padding: 1.5rem 1rem 1rem; display: flex; flex-direction: column; background: var(--sidebar); backdrop-filter: blur(28px) saturate(130%); border-right: 1px solid var(--line); }
.nav-label { font-size: .6875rem; color: var(--muted); font-weight: 600; letter-spacing: .035em; margin: 2.5rem .75rem .5rem; }
nav [data-page] { display: flex; align-items: center; gap: .75rem; width: 100%; text-align: left; margin: .25rem 0; padding: .625rem .75rem; background: transparent; color: var(--muted); font-weight: 550; }
:root[data-theme=dark] nav [data-page] { color: var(--muted); }
nav [data-page].active, :root[data-theme=dark] nav [data-page].active { background: var(--accent-soft); color: var(--accent); }
@media (hover:hover) { nav [data-page]:hover:not(:disabled) { background: var(--surface); color: var(--text); } nav [data-page].active:hover:not(:disabled) { background: var(--accent-soft); color: var(--accent); } }
.sidebar-foot { margin-top: auto; padding: 1rem .5rem 0; border-top: 1px solid var(--line); display: flex; align-items: center; flex-wrap: wrap; gap: .625rem; }
.profile-avatar { display: grid; place-items: center; border-radius: 50%; width: 2rem; height: 2rem; background: var(--surface); font-weight: 650; }
.sidebar-caption { font-size: .6875rem; color: var(--muted); }
.sidebar-foot small { display: block; font-weight: 600; color: var(--text); overflow-wrap: anywhere; }
.sidebar-foot button { padding: .5rem 0; font-size: .75rem; width: 100%; text-align: left; }
main { margin-left: 14.5rem; }
.toolbar { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 4.5rem; padding: .75rem 2.5rem; background: var(--toolbar); backdrop-filter: blur(20px) saturate(140%); }
.toolbar::after { content: ""; position: absolute; top: 100%; left: 0; right: 0; height: .75rem; background: linear-gradient(var(--bg), transparent); pointer-events: none; opacity: .6; }
.breadcrumb { display: flex; gap: .75rem; align-items: center; font-size: .75rem; color: var(--muted); }
.breadcrumb strong { color: var(--text); font-weight: 600; }
.appearance { display: flex; align-items: center; padding: .1875rem; border-radius: .75rem; background: var(--surface); gap: .125rem; }
.appearance button, :root[data-theme=dark] .appearance button { display: flex; align-items: center; justify-content: center; gap: .375rem; color: var(--muted); background: transparent; min-height: 2.375rem; padding: .375rem .625rem; font-size: .6875rem; border-radius: .5625rem; }
.appearance svg { width: .9375rem; height: .9375rem; }
.appearance button[aria-pressed=true], :root[data-theme=dark] .appearance button[aria-pressed=true] { background: var(--panel); color: var(--text); box-shadow: 0 1px 4px #00000012; }
@media (hover:hover) { .appearance button:hover:not(:disabled) { background: var(--panel); color: var(--text); } }
.content { max-width: 92rem; margin: 0 auto; padding: 2rem 2.5rem 1rem; }
header { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; margin-bottom: 2rem; }
header p:last-child { margin: 0; }
.header-status { flex-shrink: 0; font-size: .75rem; text-align: right; }
.header-status > div { display: inline-flex; align-items: center; gap: .4375rem; border-radius: 1rem; padding: .3125rem .625rem; background: var(--success-bg); color: var(--success); font-weight: 600; }
.header-status small { display: block; font-size: .6875rem; margin-top: .5rem; }
.header-status.unhealthy > div { color: var(--bad); background: var(--surface); }
.status-dot { width: .375rem; height: .375rem; border-radius: 50%; background: currentColor; }
.metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); background: var(--panel); box-shadow: var(--shadow); border-radius: var(--radius); padding: 1.5rem 0; margin-bottom: 2.25rem; }
.metric { padding: 0 1.5rem; border-right: 1px solid var(--line); }
.metric:last-child { border: 0; }
.metric > small:first-child { display: block; color: var(--muted); font-weight: 550; }
.metric .value { font-size: 2rem; line-height: 1.2; letter-spacing: -.045em; font-weight: 650; font-variant-numeric: tabular-nums; margin: .625rem 0; }
.metric > small:last-child { display: block; font-size: .6875rem; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 1rem; }
.section-heading h2 { margin: 0; }
.cards { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,18rem),1fr)); gap: 1rem; margin-bottom: 2rem; }
.card, .panel { min-width: 0; background: var(--panel); border-radius: var(--radius); box-shadow: var(--shadow); padding: 1.5rem; }
.card { display: flex; flex-direction: column; }
.card p { overflow-wrap: anywhere; }
.card p.muted { font-size: .75rem; }
.card-top { display: flex; justify-content: space-between; align-items: center; gap: .75rem; margin-bottom: 1.125rem; }
.provider-icon { width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border-radius: .75rem; background: var(--surface); color: var(--text); font-size: .8125rem; font-weight: 700; letter-spacing: -.025em; }
.tag { display: inline-flex; align-items: center; font-size: .6875rem; font-weight: 550; letter-spacing: .01em; border-radius: 1rem; padding: .25rem .5625rem; color: var(--success); background: var(--success-bg); white-space: nowrap; }
.tag.warning { color: var(--warning); background: var(--warning-bg); }
.tag.neutral { color: var(--muted); background: var(--surface); }
.model-label { color: var(--muted); font-size: .75rem; }
.model-label code { color: var(--text); }
.quota-label { margin-bottom: 1.125rem; }
.card-details { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; border-top: 1px solid var(--line); padding-top: 1rem; margin-top: auto; color: var(--muted); font-size: .75rem; font-variant-numeric: tabular-nums; }
meter { display: block; width: 100%; height: .375rem; margin-top: .75rem; border: 0; background: var(--surface); border-radius: .25rem; appearance: none; }
meter::-webkit-meter-bar { background: var(--surface); border: 0; border-radius: .25rem; height: .375rem; }
meter::-webkit-meter-optimum-value { background: var(--accent); border-radius: .25rem; }
meter::-moz-meter-bar { background: var(--accent); border-radius: .25rem; }
.card-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.card-actions button, .card-actions a { font-size: .75rem; }
.card-actions a { padding: .625rem .5rem; }
.panel { margin: 1.5rem 0; }
.table-scroll { overflow: auto; }
table { width: 100%; border-collapse: collapse; text-align: left; font-size: .75rem; white-space: nowrap; font-variant-numeric: tabular-nums; }
th { color: var(--muted); font-weight: 500; font-size: .6875rem; letter-spacing: .01em; background: var(--bg); }
th, td { padding: .875rem .75rem; border-bottom: 1px solid var(--line); }
th:first-child { border-radius: .5rem 0 0 .5rem; }
th:last-child { border-radius: 0 .5rem .5rem 0; }
tr:last-child td { border: 0; }
td:first-child { font-weight: 550; }
.empty { padding: 2.25rem 1.25rem; text-align: center; color: var(--muted); background: var(--panel); box-shadow: var(--shadow); border-radius: var(--radius); grid-column: 1/-1; }
.empty strong { display: block; font-size: 1.0625rem; color: var(--text); margin-bottom: .5rem; }
.search { width: 16rem; margin: 0; }
.search input { margin: 0; }
.route { padding: 1rem 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.route:last-child { border: 0; }
code { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .875em; color: var(--accent); }
footer { display: flex; justify-content: space-between; gap: 1rem; color: var(--muted); font-size: .6875rem; margin-top: 2.5rem; padding: 1.25rem 0; border-top: 1px solid var(--line); }
label { display: block; color: var(--muted); font-size: .75rem; font-weight: 500; margin-bottom: 1rem; }
input, select, textarea { display: block; width: 100%; min-height: 2.75rem; margin-top: .4375rem; padding: .625rem .75rem; border-radius: .625rem; border: 1px solid var(--control-line); background: var(--input); color: var(--text); }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
input:focus, textarea:focus, select:focus { border-color: var(--accent); }
textarea { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .8125rem; line-height: 1.6; resize: vertical; }
input[type=checkbox] { display: inline; width: 1.125rem; height: 1.125rem; min-height: 0; margin: 0 .625rem 0 0; vertical-align: middle; accent-color: var(--accent); }
label:has(input[type=checkbox]) { min-height: 2.75rem; display: flex; align-items: center; }
input:read-only { background: var(--surface); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.form-grid .wide { grid-column: 1/-1; }
details { margin: 1.25rem 0; border-top: 1px solid var(--line); padding-top: .5rem; }
summary { cursor: pointer; color: var(--text); font-weight: 600; padding: .75rem 0; }
details > p { font-size: .75rem; }
dialog { width: min(36rem,calc(100% - 2rem)); max-height: 88dvh; padding: 1.75rem; border: 1px solid var(--line); border-radius: 1.25rem; background: var(--panel); color: var(--text); box-shadow: 0 24px 80px #00000040; overscroll-behavior: contain; }
dialog::backdrop { background: #10101465; backdrop-filter: blur(6px); }
dialog .section-heading { justify-content: flex-start; gap: .625rem; margin-bottom: 1.5rem; }
.icon-button { width: 2.75rem; padding: 0; border-radius: 50%; font-size: 1.5rem; font-weight: 400; }
.dialog-actions { display: flex; justify-content: flex-end; gap: .625rem; border-top: 1px solid var(--line); padding-top: 1rem; margin-top: 1rem; }
#notice { padding: 1rem 1.25rem; margin-bottom: 1.5rem; border-radius: .75rem; background: var(--accent-soft); color: var(--text); overflow-wrap: anywhere; }
#login-error, #editor-error { color: var(--bad); }
#login-error:empty, #editor-error:empty { display: none; }
.login { min-height: 100dvh; display: grid; place-items: center; padding: 6rem 1.25rem 3rem; }
.login-appearance { position: absolute; top: 1.5rem; right: 1.5rem; }
.login-card { max-width: 26rem; width: 100%; padding: 2.5rem; background: var(--panel); border-radius: 1.5rem; box-shadow: var(--shadow); }
.login-card .brand-mark { width: 3rem; height: 3rem; margin-bottom: 1.75rem; }
.login-card .brand-mark svg { width: 2rem; height: 2rem; }
.login-card h1 { font-size: 2rem; }
.login-card form { margin: 1.75rem 0 1.25rem; }
.login-card button { width: 100%; display: flex; justify-content: space-between; }
.login-card small { display: block; font-size: .6875rem; }
.skip-link { position: fixed; top: -5rem; left: 1rem; z-index: 10; background: var(--panel); padding: 1rem; border-radius: .5rem; }
.skip-link:focus { top: 1rem; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
[hidden] { display: none !important; }
.theme-changing body, .theme-changing aside, .theme-changing .toolbar, .theme-changing .card, .theme-changing .panel, .theme-changing .metrics, .theme-changing .login-card, .theme-changing dialog { transition: background-color 180ms ease, color 180ms ease; }
@media (max-width:1100px) {
  .content { padding: 1.75rem; } .toolbar { padding-inline: 1.75rem; }
  .metrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem 0; }
  .metric:nth-child(2) { border: 0; }
  .header-status small { max-width: 8rem; }
}
@media (max-width:760px) {
  aside { position: relative; width: auto; padding: .75rem 1rem 0; border-right: 0; }
  .brand { width: fit-content; }
  .nav-label { display: none; }
  nav { scrollbar-width: thin; display: flex; overflow: auto; gap: .25rem; margin-top: .75rem; padding-bottom: .5rem; }
  nav [data-page] { width: auto; flex-shrink: 0; padding: .625rem .75rem; font-size: .8125rem; gap: .5rem; }
  nav svg { width: 1.0625rem; height: 1.0625rem; }
  .sidebar-foot { position: absolute; right: 1rem; top: .75rem; border: 0; padding: 0; gap: .25rem; }
  .sidebar-foot .profile-avatar, .sidebar-foot > div:not(.profile-avatar) { display: none; }
  .sidebar-foot button { width: auto; padding: .625rem; }
  main { margin-left: 0; }
  .toolbar { min-height: 4rem; padding: .625rem 1.25rem; }
  .breadcrumb { font-size: .6875rem; gap: .375rem; }
  .breadcrumb > span { display: none; }
  .appearance button { min-height: 2.75rem; padding: .5rem .625rem; }
  .appearance button span { display: none; }
  .appearance svg { width: 1.125rem; height: 1.125rem; }
  .content { padding: 1.5rem 1.25rem .75rem; }
  header { display: block; margin-bottom: 1.5rem; }
  .header-status { text-align: left; margin-top: 1rem; display: flex; align-items: center; gap: .625rem; }
  .header-status small { max-width: none; margin: 0; }
  .metrics { margin-bottom: 1.75rem; padding: 1.25rem 0; gap: 1.25rem 0; }
  .metric { padding: 0 1rem; }
  .metric .value { font-size: 1.75rem; }
  .cards { grid-template-columns: 1fr; }
  .card, .panel { padding: 1.25rem; }
  .section-heading { flex-wrap: wrap; gap: .75rem; }
  .section-heading button { font-size: .75rem; }
  .form-grid { grid-template-columns: 1fr; }
  input, select, textarea { font-size: 1rem; }
  .search { width: 100%; }
  dialog { padding: 1.25rem; }
  footer { font-size: .625rem; }
  .login-card { padding: 2rem; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
  button:active:not(:disabled) { transform: none; }
}
@media (prefers-reduced-transparency:reduce) {
  aside { background: var(--surface); backdrop-filter: none; }
  .toolbar { background: var(--bg); backdrop-filter: none; }
  dialog::backdrop { backdrop-filter: none; background: #101014b0; }
}
@media (prefers-contrast:more) {
  :root { --muted: #45454e; --line: #858590; }
  :root[data-theme=dark] { --muted: #d0d0da; --line: #8e8e99; }
  aside, .toolbar { background: var(--bg); backdrop-filter: none; }
  .card, .panel, .metrics, .login-card, button { border: 1px solid var(--line); }
}
@media (forced-colors:active) { .card, .panel, .metrics, .appearance button[aria-pressed=true], nav [data-page].active { outline: 1px solid CanvasText; } }
/* Routing policies use the same surfaces, controls and focus behavior as accounts. */
#policy-editor { width: min(50rem,calc(100% - 2rem)); }
#policy-editor .section-heading { align-items: center; }
#policy-impact { font-size: .75rem; margin: .375rem 0 0; }
#policy-error { color: var(--bad); }
#policy-error:empty { display: none; }
.policy-section { border-top: 1px solid var(--line); padding-top: 1.25rem; margin-top: 1.25rem; }
.policy-section > p { font-size: .75rem; }
.policy-section .section-heading { justify-content: space-between; margin-bottom: .5rem; }
.policy-section h3 { margin-bottom: .5rem; }
.policy-order { overflow-wrap: anywhere; font-size: .8125rem; }
.policy-order span { color: var(--muted); margin: 0 .25rem; }
.model-checklist { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem; max-height: 18rem; overflow: auto; padding: .25rem; }
label.model-choice { display: flex; align-items: center; padding: .75rem; margin: 0; border: 1px solid var(--line); border-radius: .75rem; background: var(--bg); min-width: 0; }
.model-choice:has(input:checked) { border-color: var(--accent); background: var(--accent-soft); }
.model-choice strong { display: block; color: var(--text); overflow-wrap: anywhere; }
.model-choice small { display: block; font-size: .6875rem; overflow-wrap: anywhere; }
.model-choice input { flex-shrink: 0; }
.order-editor ol { list-style: none; padding: 0; margin: .75rem 0; }
.order-editor li { display: flex; align-items: center; gap: .375rem; margin-bottom: .5rem; }
.order-editor select { min-width: 0; margin: 0; }
.order-number { color: var(--muted); font-variant-numeric: tabular-nums; min-width: 1.25rem; }
.order-control { flex-shrink: 0; padding: .375rem; width: 2.75rem; font-size: 1rem; }
.task-rule { background: var(--bg); border-radius: .75rem; padding: 1rem; margin-top: .75rem; }
.task-rule-heading { display: flex; align-items: center; gap: 1rem; }
.task-rule-heading label { flex: 1; min-width: 0; }
.task-rule-heading button { font-size: .75rem; }
.inline-empty { color: var(--muted); padding: 1rem; border-radius: .75rem; background: var(--bg); font-size: .75rem; }
.endpoint-checklist { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .25rem 1rem; }
.endpoint-checklist label { margin: 0; overflow-wrap: anywhere; }
.policy-key { border: 1px solid var(--line); border-radius: .75rem; padding: 1rem; margin: 1rem 0; min-width: 0; }
.policy-key legend { color: var(--text); font-weight: 600; padding: 0 .375rem; }
#key-policy-summary { font-size: .75rem; overflow-wrap: anywhere; }
@media(max-width:760px){
 .model-checklist, .endpoint-checklist { grid-template-columns: 1fr; }
 .order-editor li { flex-wrap: wrap; }
 .order-editor select { width: calc(100% - 1.625rem); }
 .order-editor li .order-control:first-of-type { margin-left: auto; }
 .task-rule-heading { align-items: flex-end; gap: .5rem; }
}

#policy-form > .section-heading { flex-wrap: nowrap; align-items: flex-start; }
#policy-form > .section-heading .icon-button { flex-shrink: 0; }
@media(max-width:760px) { .model-checklist { max-height: none; } }
/* Large model catalogs: compact grouped rows, persistent filters and bounded pages. */
.model-picker { border: 1px solid var(--line); border-radius: .875rem; overflow: hidden; }
.model-picker-filters { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: .75rem; padding: 1rem; background: var(--bg); }
.model-picker-filters label { margin: 0; min-width: 0; }
.model-picker-filters input, .model-picker-filters select { font-size: .75rem; }
.model-picker-tools, .model-picker-bulk, .model-pagination { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .625rem 1rem; font-size: .75rem; }
.model-picker-tools { border-block: 1px solid var(--line); }
.model-view { display: flex; gap: .25rem; padding: .1875rem; border-radius: .625rem; background: var(--surface); }
.model-view button { min-height: 2.375rem; padding: .375rem .625rem; font-size: .75rem; }
.model-view button[aria-pressed=true] { background: var(--panel); color: var(--text); box-shadow: var(--shadow); }
#model-selected-count { margin-left: .375rem; font-variant-numeric: tabular-nums; }
.model-picker-bulk { color: var(--muted); }
.model-picker-bulk > div, .model-pagination > div { display: flex; gap: .375rem; }
.model-picker-bulk button, .model-pagination button { font-size: .75rem; padding: .5rem .625rem; }
#model-results { max-height: 20rem; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.model-provider-group { margin: 0; }
label.model-provider-heading { display: flex; align-items: center; gap: .5rem; padding: .625rem 1rem; margin: 0; background: var(--surface); font-size: .75rem; color: var(--text); }
.model-provider-heading input, .model-result input { flex-shrink: 0; margin-right: .375rem; }
.model-provider-heading span { margin-left: auto; color: var(--muted); font-size: .6875rem; text-align: right; }
label.model-result { display: flex; gap: .5rem; align-items: center; padding: .625rem 1rem; margin: 0; border-bottom: 1px solid var(--line); }
.model-result:has(input:checked) { background: var(--accent-soft); }
.model-result strong { display: block; color: var(--text); font-size: .8125rem; font-weight: 550; overflow-wrap: anywhere; }
.model-result small { display: block; font-size: .6875rem; overflow-wrap: anywhere; }
.model-pagination { border-top: 1px solid var(--line); color: var(--muted); }
.model-empty { text-align: center; padding: 1.75rem 1rem; }
.model-empty p { color: var(--muted); margin-top: .5rem; }
.model-picker-hint { display: block; margin-top: .625rem; }
#model-picker-error { color: var(--bad); margin: .5rem 1rem; font-size: .75rem; }
@media(max-width:760px){
 .model-picker-filters { grid-template-columns: 1fr 1fr; gap: .625rem; padding: .75rem; }
 .model-search { grid-column: 1/-1; }
 .model-picker-filters input, .model-picker-filters select { font-size: 1rem; }
 .model-picker-tools, .model-picker-bulk { flex-wrap: wrap; padding-inline: .75rem; }
 .model-picker-bulk > div { margin-left: auto; }
 .model-picker-tools > .muted { font-size: .6875rem; }
 label.model-provider-heading, label.model-result { padding-inline: .75rem; }
 .model-provider-heading { flex-wrap: wrap; }
 .model-provider-heading span { font-size: .625rem; }
 .model-pagination { padding-inline: .75rem; }
}
@media(max-width:480px) { .model-picker-filters { grid-template-columns: 1fr; } }

#account-auth-description { font-size: .75rem; }
.button-link { display: inline-flex; align-items: center; min-height: 2.75rem; padding: .625rem 1rem; border-radius: .625rem; background: var(--accent); color: white; font-weight: 600; }
:root[data-theme=dark] .button-link { color: #0b243e; }
.button-link:active { opacity: .8; }
/* Provider catalog: a quiet directory, with context beside the selection. */
.catalog-overview{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin:.5rem 0 2rem}.catalog-overview>p{font-size:1.3rem;font-weight:600;letter-spacing:-.025em;line-height:1.4;margin:0}.catalog-overview>p>span{color:var(--muted);font-weight:450}.catalog-totals{display:flex;gap:2.5rem}.catalog-totals>div{display:flex;flex-direction:column}.catalog-totals strong{font-size:1.5rem;line-height:1.3;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.035em}.catalog-totals span{font-size:.7rem;color:var(--muted);margin-top:.2rem}
.catalog-controls{display:flex;gap:.75rem}.catalog-search{flex:1;position:relative;display:flex;align-items:center;margin:0}.catalog-search svg{position:absolute;left:.875rem;width:1rem;color:var(--muted)}.catalog-search input{padding-left:2.5rem;width:100%;border-color:var(--line);background:var(--panel)}.catalog-capability{margin:0;min-width:12rem}.catalog-capability select{border-color:var(--line);background:var(--panel);height:100%}.catalog-filter-line{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.25rem 0}.catalog-segments{display:flex;gap:.25rem;flex-wrap:wrap}.catalog-segments button{min-height:2.25rem;background:transparent;color:var(--muted);padding:.375rem .75rem;font-size:.75rem;font-weight:550}.catalog-segments button[aria-pressed=true],:root[data-theme=dark] .catalog-segments button[aria-pressed=true]{background:var(--panel);color:var(--text);box-shadow:var(--shadow)}:root[data-theme=dark] .catalog-segments button{color:var(--muted)}.catalog-segments span{margin-left:.35rem;color:var(--muted);font-variant-numeric:tabular-nums}.catalog-filter-line>span{color:var(--muted);font-size:.75rem;white-space:nowrap}
.catalog-workspace{display:grid;grid-template-columns:minmax(0,1fr) 19rem;gap:1.5rem;align-items:start}.catalog-list-shell{overflow:hidden;border:1px solid var(--line);border-radius:.875rem;background:var(--panel)}.catalog-column-labels,.provider-row{display:grid;grid-template-columns:minmax(12rem,1.25fr) minmax(8rem,1fr) 6.5rem;gap:.75rem;align-items:center;padding:0 1rem}.catalog-column-labels{padding-top:.75rem;padding-bottom:.75rem;color:var(--muted);font-size:.6875rem;font-weight:550;background:var(--bg)}.catalog-column-labels>span:last-child{text-align:right}.provider-row{min-height:4.625rem;border-top:1px solid var(--line);position:relative}.provider-row.is-inspected{background:color-mix(in srgb,var(--accent-soft) 55%,var(--panel))}.provider-row.is-inspected:before{content:'';position:absolute;inset:0 auto 0 0;width:3px;background:var(--accent)}.provider-identity{min-width:0;display:flex;align-items:center;gap:.75rem;padding:.65rem 0;text-align:left;background:none!important;color:var(--text)!important;font-weight:500;min-height:4.5rem}.provider-identity>span:last-child{min-width:0}.provider-identity strong{display:block;font-size:.8125rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.provider-identity small{display:block;font-size:.6875rem;margin-top:.15rem;color:var(--muted);font-weight:400}.catalog-mark{display:grid;place-items:center;width:2.25rem;height:2.25rem;flex-shrink:0;border-radius:.625rem;background:hsl(var(--provider-hue) 22% 94%);color:hsl(var(--provider-hue) 32% 28%);font-size:.8125rem;font-weight:700;letter-spacing:-.03em;border:1px solid #00000008}:root[data-theme=dark] .catalog-mark{background:hsl(var(--provider-hue) 15% 24%);color:hsl(var(--provider-hue) 30% 84%);border-color:#ffffff08}.catalog-mark.large{width:3rem;height:3rem;font-size:1.125rem;border-radius:.8rem}.catalog-capabilities{display:flex;flex-wrap:wrap;gap:.25rem .5rem;font-size:.6875rem;line-height:1.6;color:var(--muted)}.catalog-capabilities span+span:before{content:'·';margin-right:.5rem;opacity:.6}.catalog-connect,:root[data-theme=dark] .catalog-connect{display:flex;align-items:center;justify-content:center;gap:.4rem;white-space:nowrap;min-height:2.25rem;padding:.3rem .5rem;background:var(--surface);color:var(--text);font-size:.6875rem;font-weight:550;border-radius:.5rem}.catalog-connect span{font-size:1rem;font-weight:400}.catalog-connect.is-connected,:root[data-theme=dark] .catalog-connect.is-connected{background:transparent;color:var(--success)}.catalog-connect i{height:.35rem;width:.35rem;border-radius:50%;background:currentColor}.provider-detail{padding:1.5rem;background:var(--panel);border:1px solid var(--line);border-radius:.875rem;position:sticky;top:6rem;scroll-margin-top:5rem}.provider-detail-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.provider-detail h2{font-size:1.15rem;margin-bottom:.5rem;letter-spacing:-.025em}.provider-detail-intro{font-size:.75rem;color:var(--muted);line-height:1.65;margin-bottom:1.25rem}.provider-detail-connect{width:100%;display:flex;align-items:center;justify-content:space-between;font-size:.75rem}.provider-detail-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line)}.provider-detail h3{font-size:.6875rem;letter-spacing:.03em;color:var(--muted);font-weight:600;margin-bottom:1rem}.provider-detail ul{margin:0;padding:0;list-style:none}.provider-detail-section li{display:flex;gap:.65rem;margin:.9rem 0}.provider-detail-section li strong{display:block;font-size:.75rem;font-weight:550}.provider-detail-section li small{display:block;font-size:.6875rem;line-height:1.55;margin-top:.2rem}.capability-dot{width:.35rem;height:.35rem;background:var(--accent);border-radius:50%;margin-top:.45rem;flex-shrink:0}.provider-detail dl{margin:0;font-size:.75rem}.provider-detail dl>div{display:flex;justify-content:space-between;gap:.5rem;margin:.625rem 0}.provider-detail dt{color:var(--muted)}.provider-detail dd{margin:0;font-variant-numeric:tabular-nums;font-weight:550}.provider-route-preview{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.875rem}.provider-route-preview span{font-size:.65rem;background:var(--surface);padding:.2rem .4rem;border-radius:.3rem;overflow-wrap:anywhere}.catalog-detail-note{font-size:.6875rem;color:var(--muted);margin:.875rem 0 0}.provider-technical{margin:1.5rem 0 1rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.75rem}.provider-technical summary{color:var(--muted);font-weight:500}.provider-technical li{font-size:.65rem;overflow-wrap:anywhere;margin:.35rem 0}.provider-doc-link{display:flex;align-items:center;justify-content:space-between;font-size:.75rem}.catalog-experimental{font-size:.65rem;color:var(--warning);background:var(--warning-bg);border-radius:.4rem;padding:.25rem .5rem}.catalog-empty{padding:4rem 1.5rem;text-align:center}.catalog-empty strong{font-size:1rem}.catalog-empty p{color:var(--muted);margin:.5rem 0 1.5rem}.catalog-footnote{font-size:.6875rem;color:var(--muted);margin:1rem 0}
@media(hover:hover){.provider-row:hover{background:var(--bg)}.provider-row.is-inspected:hover{background:var(--accent-soft)}}
@media(max-width:1250px){.catalog-workspace{grid-template-columns:minmax(0,1fr) 16rem;gap:1rem}.catalog-column-labels,.provider-row{grid-template-columns:minmax(10rem,1fr) 6.5rem}.catalog-column-labels>span:nth-child(2),.provider-row>.catalog-capabilities{display:none}.provider-detail{padding:1.25rem}.catalog-totals{gap:1.5rem}}
@media(max-width:1100px){.catalog-workspace{grid-template-columns:1fr}.provider-detail{position:static}.provider-detail-section ul{display:flex;flex-wrap:wrap;gap:1rem}.provider-detail-section li{max-width:18rem}.catalog-column-labels,.provider-row{grid-template-columns:minmax(12rem,1fr) 1fr 6.5rem}.catalog-column-labels>span:nth-child(2),.provider-row>.catalog-capabilities{display:flex}.catalog-overview{align-items:flex-start;flex-direction:column;gap:1.25rem}.catalog-totals{gap:2.5rem}}
@media(max-width:600px){.catalog-controls{flex-wrap:wrap}.catalog-search{flex-basis:100%}.catalog-capability{min-width:0;width:100%}.catalog-filter-line{align-items:flex-start;flex-direction:column;gap:.625rem}.catalog-segments{gap:0}.catalog-segments button{font-size:.6875rem;padding:.4rem .55rem;min-height:2.75rem}.catalog-column-labels,.provider-row{grid-template-columns:minmax(0,1fr) 6rem;gap:.5rem;padding-left:.875rem;padding-right:.875rem}.catalog-column-labels>span:nth-child(2),.provider-row>.catalog-capabilities{display:none}.provider-identity{gap:.625rem}.provider-identity strong{font-size:.75rem}.catalog-totals{justify-content:space-between;gap:1rem;width:100%}.catalog-totals span{font-size:.625rem;max-width:5.5rem}.catalog-overview>p{font-size:1.15rem}.catalog-connect{min-height:2.75rem}.provider-detail{scroll-margin-top:8rem}}
@media(prefers-contrast:more){.catalog-list-shell,.provider-detail{border-color:var(--text)}.provider-row.is-inspected{outline:2px solid var(--accent);outline-offset:-2px}}

.catalog-mark.tone-0{--provider-hue:215}.catalog-mark.tone-1{--provider-hue:165}.catalog-mark.tone-2{--provider-hue:25}.catalog-mark.tone-3{--provider-hue:275}.catalog-mark.tone-4{--provider-hue:335}.catalog-mark.tone-5{--provider-hue:195}
#provider-detail-dialog{width:min(30rem,calc(100vw - 2rem));padding:0}#provider-detail-dialog .provider-detail{position:static;border:0;border-radius:0}.provider-sheet-bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-bottom:1px solid var(--line);font-size:.8125rem;font-weight:600}.provider-sheet-bar button{min-height:2.75rem}
@media(max-width:1100px){.catalog-workspace>#provider-detail{display:none}}

/* Provider marks are local static assets; labels carry their accessible names. */
.provider-logo{width:1.5rem;height:1.5rem;display:inline-block;object-fit:contain;flex:none;vertical-align:middle}.provider-logo.small{width:1.125rem;height:1.125rem}:root[data-theme=dark] .provider-logo.mono{filter:invert(1)}.catalog-mark.large .provider-logo{width:2rem;height:2rem}.provider-icon .provider-logo{width:1.75rem;height:1.75rem}.provider-label{display:inline-flex;align-items:center;gap:.45rem;vertical-align:middle}.provider-select{display:block;position:relative;margin-top:.4rem}.provider-select>select{padding-left:2.8rem;margin-top:0}.provider-select-icon{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);display:flex;pointer-events:none}.order-model-select{display:flex;align-items:center;gap:.6rem;min-width:0}.order-model-select select{min-width:0;width:100%}.model-provider-heading .provider-logo{margin-right:.1rem}.policy-order{line-height:2}.catalog-mark{background:var(--surface)!important;border-color:var(--line)!important}

.capability-status{display:block;font-size:.72rem;font-weight:600;color:var(--muted);margin:.15rem 0}.capability-adapter_gap .capability-dot{background:transparent;border:1.5px dashed currentColor}.capability-adapter_gap .capability-status{color:var(--text)}.capability-source{display:inline-block;font-size:.75rem;margin-top:.3rem}.catalog-capabilities{flex-wrap:wrap}

.capability-detail{width:100%;margin:0;padding:0;border:0}.capability-detail summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.3rem;cursor:pointer;padding:.25rem 0}.capability-detail summary:before{content:'›';color:var(--muted)}.capability-detail[open] summary:before{content:'⌄'}.capability-detail summary strong{flex:1}.capability-detail .capability-status{margin:0;font-size:.65rem}.capability-detail small{padding:.25rem 0 .25rem .75rem}.capability-detail .capability-source{margin-left:.75rem}

.device-code-panel{margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:14px}.device-code-panel[hidden]{display:none}.device-code-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0}.device-code-row code{font-size:1.5rem;letter-spacing:.12em;user-select:all;overflow-wrap:anywhere}.device-code-panel p{margin-bottom:0;font-size:.85rem}@media(max-width:420px){.device-code-row{align-items:flex-start;flex-direction:column}}

/* Account catalogs remain bounded and independent of overview refreshes. */
#account-model-dialog{width:min(48rem,calc(100% - 2rem))}
.model-browser-heading,.model-browser-summary,.model-browser-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.model-browser-heading h2{margin:.375rem 0 0;letter-spacing:-.02em}.model-browser-heading>div{min-width:0;overflow-wrap:anywhere}
.model-browser-summary{font-size:.8125rem;color:var(--muted);margin:1rem 0 .5rem;flex-wrap:wrap}
.discovered-models{list-style:none;margin:0;padding:0;max-height:45dvh;overflow:auto;overscroll-behavior:contain;border-block:1px solid var(--line)}
.discovered-model{display:flex;align-items:center;gap:1rem;padding:.875rem .25rem;border-bottom:1px solid var(--line)}.discovered-model:last-child{border:0}.discovered-model>div{flex:1;min-width:0}.discovered-model strong,.discovered-model code,.discovered-model small{display:block;overflow-wrap:anywhere}.discovered-model code{font-size:.75rem;color:var(--muted);user-select:text;background:none;padding:.2rem 0}.discovered-model small{font-size:.75rem;color:var(--muted)}.discovered-model button{flex-shrink:0}.discovery-empty{padding:2rem .5rem;color:var(--muted);text-align:center}.model-browser-pagination{margin-top:1rem;font-size:.8125rem}
.key-permissions{border:0;padding:0;margin:1.5rem 0}.key-permissions legend{font-weight:650;font-size:1rem}.key-permissions>p{margin:.25rem 0 .75rem}.permission-choice{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border:1px solid var(--line);border-radius:.625rem;margin:.5rem 0;cursor:pointer;background:var(--input)}.permission-choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.permission-choice input{flex:0 0 auto;margin-top:.2rem}.permission-choice strong,.permission-choice small{display:block}.permission-choice small{font-weight:400;color:var(--muted);margin-top:.2rem}.danger-text{color:var(--bad)}.danger-button{background:var(--bad);color:var(--panel)}
@media(max-width:480px){.discovered-model{gap:.5rem}.discovered-model button{padding:.5rem}.model-browser-pagination{gap:.5rem}}

.docs-nav-link { display:flex; align-items:center; margin:.25rem 0; padding:.625rem .75rem; border-radius:var(--radius-sm, .625rem); color:var(--muted); font-weight:550; text-decoration:none; }
@media (hover:hover) { .docs-nav-link:hover { background:var(--surface); color:var(--text); } }
@media (max-width:760px) { .docs-nav-link { flex-shrink:0; font-size:.8125rem; } }

.team-list { display:flex; flex-wrap:wrap; gap:.75rem; margin-bottom:1.5rem; }
.team-choice { text-align:left; background:var(--panel); color:var(--text); border:1px solid var(--border); min-width:12rem; }
.team-choice small,.team-member small { display:block; color:var(--muted); margin-top:.25rem; }
.team-choice.active { background:var(--accent-soft); border-color:var(--accent); }
.team-member { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--border); overflow-wrap:anywhere; }
.team-metrics { display:flex; flex-wrap:wrap; gap:1.5rem; margin:1.5rem 0; color:var(--muted); }
.team-metrics strong { color:var(--text); }
#team-detail h3 { margin-top:1.5rem; }
#team-action-dialog,#invite-dialog { width:min(32rem,calc(100vw - 2rem)); }
#team-invite-link { font-family:ui-monospace,monospace; font-size:.8125rem; }
@media(max-width:600px){#team-detail>.section-heading{align-items:flex-start;flex-direction:column}.team-choice{flex:1}.team-member .card-actions{flex-direction:column;align-items:flex-end}}

:root[data-theme=dark] .team-choice { color:var(--text); }

/* Account and key access pickers share the existing model row presentation. */
.access-model-field{margin:1rem 0}.access-model-field>span{display:block;margin-bottom:.4rem;color:var(--muted)}.access-model-open{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;text-align:left}.access-model-open>span+span{color:var(--accent);font-size:.8rem}
#access-model-dialog{width:min(48rem,calc(100vw - 2rem));max-height:90dvh;overflow:auto}.access-model-mode,.access-preset-buttons,.access-model-tools{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.access-model-mode label{display:flex;align-items:center;gap:.5rem}.access-model-mode input{width:auto}.access-model-presets{margin:.75rem 0}.access-model-filters{display:grid;grid-template-columns:2fr 1fr;gap:1rem}.access-model-filters input,.access-model-filters select{width:100%}#access-model-results{max-height:36vh;overflow:auto;border:1px solid var(--line);border-radius:.75rem}#access-model-results .model-result{margin:0}#access-model-results .model-result>span{min-width:0;overflow-wrap:anywhere}#access-model-results .provider-logo{display:inline-block;vertical-align:middle}#access-model-error{color:var(--bad)}#access-model-count{font-size:.8rem;color:var(--muted)}
@media(max-width:600px){.access-model-filters{grid-template-columns:1fr;gap:0}.access-model-open{flex-wrap:wrap}.access-model-tools{gap:.25rem}#access-model-dialog{padding:1rem}}

#access-model-dialog[open]{display:flex;flex-direction:column}#access-model-dialog> :not(#access-model-results){flex-shrink:0}#access-model-results{flex:1 1 auto;min-height:8rem}.access-model-presets{padding-top:.75rem}.access-model-mode label{margin-bottom:.25rem}.access-model-tools button{min-height:2.25rem}#access-model-dialog .dialog-actions{margin-top:.75rem}

#google-code-form,#google-project-form{margin-top:1.25rem}

nav a[data-page] { text-decoration: none; border-radius: var(--radius-sm, 10px); }

.chat-controls { padding: 1.25rem; }
.chat-options { display:flex; align-items:end; gap:.75rem; flex-wrap:wrap; margin-top:1rem; }
.chat-options label { flex:1; min-width:160px; }
.chat-options > span { flex:1; }
.chat-transcript { max-width: 900px; margin:0 auto; }
.chat-message { margin:1rem 0; padding:1.25rem; border:1px solid var(--line); border-radius:var(--radius); background:var(--panel); overflow-wrap:anywhere; }
.chat-message[data-role=user] { background:var(--accent-soft); margin-left:8%; }
.chat-message strong.chat-sender { display:block; margin-bottom:.5rem; }
.chat-message pre { overflow:auto; padding:1rem; background:var(--surface); border-radius:.5rem; }
.chat-message p { white-space:pre-wrap; }
.chat-message .chat-meta { display:block; margin-top:1rem; color:var(--muted); }
.chat-composer { max-width:900px; margin:1rem auto; }
.chat-composer textarea { resize:vertical; }
#chat-provider-icon:empty { display:none; }
#chat-status:not(:empty) { margin-bottom:0; }
