/* Evolvent workspace: paper, ink, precise data, one indigo accent. */
:root {
  --color-bg-deep: 255 255 255;
  --color-bg-surface: 245 245 245;
  --color-accent-primary: 7 14 176;
  --color-accent-secondary: 44 52 204;
  --color-accent-tertiary: 17 17 17;
  --color-text-primary: 10 10 10;
  --color-text-secondary: 85 85 85;
  --color-border: 0 0 0;
  --nav-bg: rgb(255 255 255 / .9);
  --ink: rgb(var(--color-text-primary));
  --muted: rgb(var(--color-text-secondary));
  --paper: rgb(var(--color-bg-deep));
  --soft: rgb(var(--color-bg-surface));
  --line: rgb(var(--color-border) / .1);
  --control-focus: rgb(var(--color-border) / .5);
  --accent: rgb(var(--color-accent-primary));
  --accent-soft: rgb(var(--color-accent-primary) / .06);
  --danger: #b42332;
  --warning: #966022;
  --mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;
  --heading: "Space Grotesk", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color-scheme: light;
}
:root.dark {
  --color-bg-deep: 0 0 0;
  --color-bg-surface: 17 17 17;
  --color-accent-primary: 76 84 236;
  --color-accent-secondary: 124 132 246;
  --color-accent-tertiary: 255 255 255;
  --color-text-primary: 250 250 250;
  --color-text-secondary: 136 136 136;
  --color-border: 255 255 255;
  --nav-bg: rgb(0 0 0 / .85);
  --danger: #ef8790;
  --warning: #d5ad74;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 14px/1.6 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; }
button:disabled { opacity: .4; cursor: not-allowed; }
:focus-visible { outline: 2px solid var(--control-focus); outline-offset: 3px; }
::selection { background: rgb(var(--color-accent-primary) / .16); }
.hidden, [hidden] { display: none !important; }
h1, h2, h3, h4, p { margin: 0; }
h1, h2, h3, h4 { font-family: var(--heading); font-weight: 500; }
h1 { font-size: clamp(30px, 2.8vw, 42px); line-height: 1.2; letter-spacing: -.045em; font-weight: 300; }
h2 { font-size: 24px; letter-spacing: -.035em; line-height: 1.4; }
h3 { font-size: 18px; letter-spacing: -.025em; }
h4 { font-size: 15px; }
code, pre { font-family: var(--mono); }
svg { display: block; }
.app-shell { min-height: 100vh; display: flex; }
.sidebar { position: sticky; top: 0; width: 228px; flex: 0 0 228px; height: 100dvh; display: flex; flex-direction: column; padding: 34px 18px 18px; border-right: 1px solid var(--line); background: var(--paper); }
.brand { display: block; padding: 0 12px; text-decoration: none; }
.brand-logo { display: block; width: 165px; height: 28px; object-fit: contain; }
.logo-dark, .dark .logo-light { display: none; }
.dark .logo-dark { display: block; }
.brand-product { display: flex; gap: 8px; align-items: center; margin-top: 20px; color: var(--ink); font: 10px var(--mono); letter-spacing: .05em; }
.brand-product > span { padding: 3px 5px; border: 1px solid var(--line); border-radius: 3px; color: var(--muted); font-size: 8px; }
.nav-caption { margin: 54px 12px 14px; color: var(--muted); font: 9px var(--mono); letter-spacing: .16em; }
.nav { display: grid; gap: 5px; }
.nav-item { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 6px; color: var(--muted); text-decoration: none; font-size: 14px; transition: background .18s, color .18s; }
.nav-item:hover { color: var(--ink); background: var(--soft); }
.nav-item.active { background: var(--accent-soft); color: var(--accent); font-weight: 600; }
.nav-item.active::after { content: ""; width: 4px; height: 4px; margin-left: auto; border-radius: 50%; background: currentColor; }
.nav-icon { width: 17px; flex: 0 0 17px; }
.nav-icon svg, .icon-button svg, .key-copy-button svg, .search-box svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.sidebar-user { display: flex; align-items: center; gap: 9px; margin-top: auto; padding: 20px 5px 2px; border-top: 1px solid var(--line); }
.user-avatar, .user-cell-avatar { width: 32px; height: 32px; flex: 0 0 32px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--soft); color: var(--muted); font: 12px var(--mono); }
.sidebar-note-copy { flex: 1; min-width: 0; }
.sidebar-note-copy strong, .sidebar-note-copy span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-note-copy strong { font-size: 12px; font-weight: 500; }
.sidebar-note-copy span { margin-top: 2px; color: var(--muted); font-size: 10px; }
.sidebar-logout { padding: 7px 0 7px 5px; border: 0; color: var(--muted); background: transparent; font-size: 10px; white-space: nowrap; }
.sidebar-logout:hover { color: var(--accent); }
.main-content { flex: 1; min-width: 0; max-width: 1800px; padding: 0 clamp(24px, 3.5vw, 64px) 32px; margin: 0 auto; }
.workspace-bar { height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line); }
.workspace-label { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 12px; }
.workspace-label strong { color: var(--ink); font-family: var(--heading); font-weight: 500; }
.workspace-label span::before { content: "/"; margin-right: 12px; color: rgb(var(--color-border) / .24); }
.workspace-tools { display: flex; align-items: center; gap: 14px; }
.workspace-tools > span { color: var(--muted); font: 9px var(--mono); letter-spacing: .06em; }
.icon-button { display: inline-grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 1px solid var(--line); border-radius: 6px; color: var(--muted); background: var(--paper); transition: color .18s, border-color .18s; }
.icon-button:hover { color: var(--accent); border-color: var(--control-focus); }
.theme-toggle { border-color: transparent; }
.theme-toggle .sun-icon, .dark .theme-toggle .moon-icon { display: none; }
.dark .theme-toggle .sun-icon { display: block; }
.mobile-menu-button { display: none; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 42px 0 34px; }
.eyebrow, .section-kicker { display: block; margin-bottom: 13px; color: var(--muted); font: 9px/1.4 var(--mono); letter-spacing: .15em; }
.eyebrow { color: var(--accent); }
.page-description { margin-top: 12px; color: var(--muted); font-size: 13px; }
.topbar-actions { display: flex; align-items: center; gap: 9px; }
.refresh-button.is-loading svg { animation: refresh-spin .8s linear infinite; }
@keyframes refresh-spin { to { transform: rotate(360deg); } }
.page-section { margin-bottom: 32px; scroll-margin-top: 24px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.section-description { margin-top: 7px; color: var(--muted); font-size: 12px; }
.last-updated, .users-count { color: var(--muted); font: 11px var(--mono); }
.workspace-footer { display: flex; justify-content: space-between; gap: 16px; padding: 24px 0 0; margin-top: 44px; border-top: 1px solid var(--line); color: var(--muted); font: 9px var(--mono); letter-spacing: .06em; }
/* Metrics read as one ledger instead of five competing cards. */
.metric-grid { display: grid; grid-template-columns: 1.3fr 1.3fr .95fr 1.15fr 1fr; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 28px 0; }
.metric-card { min-width: 0; padding: 0 24px; border-right: 1px solid var(--line); }
.metric-card:first-child { padding-left: 0; }
.metric-card:last-child { border-right: 0; padding-right: 0; }
.metric-label { color: var(--muted); font-size: 11px; font-weight: 500; }
.metric-value { margin-top: 22px; font: 400 clamp(21px, 1.9vw, 30px)/1.1 var(--mono); letter-spacing: -.065em; white-space: nowrap; }
.metric-card-dark .metric-value { color: var(--accent); }
.metric-foot { margin-top: 14px; color: var(--muted); font-size: 10px; }
.metric-card-accent .metric-label::before { content: ""; display: inline-block; width: 5px; height: 5px; margin-right: 6px; background: var(--warning); border-radius: 50%; vertical-align: 2px; }
.overview-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 24px; margin-top: 32px; }
.panel { border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }
.provider-panel, .quick-panel { min-height: 352px; padding: 28px; }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.panel-heading .section-kicker { margin-bottom: 8px; }
.provider-panel-actions { display: flex; align-items: center; gap: 12px; }
.panel-chip { color: var(--muted); font: 10px var(--mono); }
.provider-period-toggle { display: flex; gap: 2px; padding: 3px; border: 1px solid var(--line); border-radius: 6px; }
.provider-period-toggle button { min-height: 29px; padding: 0 12px; border: 0; border-radius: 3px; color: var(--muted); background: transparent; font-size: 11px; }
.provider-period-toggle button[aria-pressed="true"] { color: var(--paper); background: var(--ink); }
.provider-bars { display: grid; gap: 28px; margin-top: 36px; }
.provider-row { display: grid; gap: 11px; }
.provider-row-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--ink); font: 12px var(--mono); }
.provider-name { font-weight: 500; }
.provider-row-top small { margin-left: 14px; color: var(--muted); font: 10px var(--mono); }
.provider-track { height: 5px; overflow: hidden; background: var(--soft); }
.provider-fill { height: 100%; background: var(--accent); }
.provider-row:nth-child(2) .provider-fill { opacity: .58; }
.provider-row:nth-child(3) .provider-fill { opacity: .3; }
.empty-state { min-height: 100px; align-content: center; color: var(--muted); font-size: 13px; }
.quick-actions { display: grid; margin-top: 20px; }
.quick-action { display: flex; align-items: center; gap: 16px; padding: 19px 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.quick-action:last-child { border-bottom: 0; }
.quick-action::after { content: "↗"; margin-left: auto; color: var(--muted); font-size: 18px; transition: transform .18s; }
.quick-action:hover { color: var(--accent); }
.quick-action:hover::after { color: var(--accent); transform: translate(2px,-2px); }
.quick-action-icon { color: var(--muted); font: 10px var(--mono); }
.quick-action strong, .quick-action small { display: block; }
.quick-action strong { font-size: 13px; font-weight: 500; }
.quick-action small { margin-top: 4px; color: var(--muted); font-size: 11px; }
.workflow-section { margin-top: 44px; }
.workflow-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 20px; }
.workflow-heading .section-kicker { width: 100%; margin-bottom: 8px; }
.workflow-heading h3 { font-size: 18px; font-weight: 400; }
.workflow-heading a { margin-left: auto; color: var(--muted); font-size: 11px; text-decoration: none; }
.workflow-heading a:hover { color: var(--accent); }
.workflow-heading a span { margin-left: 10px; }
.workflow-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; margin-top: 26px; }
.workflow-steps > div { padding: 18px 0 0; border-top: 1px solid var(--line); }
.workflow-steps span { color: var(--accent); font: 9px var(--mono); letter-spacing: .1em; }
.workflow-steps h4 { margin-top: 14px; }
.workflow-steps p { margin-top: 6px; color: var(--muted); font-size: 11px; }
/* Controls */
input, select, .custom-select-trigger { height: 42px; padding: 0 13px; border: 1px solid var(--line); border-radius: 6px; outline: none; color: var(--ink); background: var(--paper); transition: border-color .18s; }
/* Form controls use one neutral border; keyboard links and buttons keep a visible outline. */
input:focus, select:focus, textarea:focus, .custom-select-trigger:focus-visible { outline: none; border-color: var(--control-focus); box-shadow: none; }
input::placeholder { color: var(--muted); font-size: 12px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 18px; border: 1px solid transparent; border-radius: 6px; font-size: 12px; font-weight: 500; text-decoration: none; transition: background .18s, box-shadow .18s; }
.button-accent, .button-dark { background: var(--ink); color: var(--paper); }
.button-accent:hover, .button-dark:hover { background: var(--accent); color: #fff; }
.button-ghost { color: var(--ink); background: var(--soft); }
.button-ghost:hover { border-color: var(--line); }
.button-full { width: 100%; }
.button-danger { color: #fff; background: #b42332; }
.toolbar { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.toolbar-create { margin-left: auto; white-space: nowrap; }
.search-box { display: flex; align-items: center; gap: 10px; flex: 1; max-width: 440px; padding: 0 13px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); }
.search-box span { color: var(--muted); }
.search-box input { width: 100%; min-width: 0; padding: 0; border: 0; outline: none; box-shadow: none; background: transparent; font-size: 13px; }
.search-box:focus-within { border-color: var(--control-focus); }
.select-control { min-width: 140px; }
.custom-select { position: relative; min-width: 140px; }
.custom-select-trigger { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 12px; text-align: left; }
.custom-select-trigger::after { content: "⌄"; color: var(--muted); }
.custom-select.open .custom-select-trigger { border-color: var(--control-focus); }
.custom-select-menu { display: none; position: absolute; z-index: 15; top: calc(100% + 6px); left: 0; right: 0; padding: 5px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); box-shadow: 0 8px 24px rgb(0 0 0 / .08); }
.custom-select.open .custom-select-menu { display: grid; }
.custom-select-option { padding: 9px 10px; border: 0; border-radius: 4px; color: var(--muted); background: transparent; font-size: 12px; text-align: left; }
.custom-select-option:hover, .custom-select-option.selected { color: var(--accent); background: var(--accent-soft); }
.native-select-hidden { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; }
/* Tables: quiet chrome and legible, tabular data. */
.table-panel { overflow: hidden; border-radius: 12px; }
.table-scroll { overflow-x: auto; scrollbar-width: thin; scrollbar-color: rgb(var(--color-border) / .2) transparent; }
.keys-table { width: 100%; min-width: 850px; border-collapse: separate; border-spacing: 0; }
.keys-table th { padding: 16px 18px; background: var(--soft); color: var(--muted); font-size: 11px; font-weight: 500; text-align: left; white-space: nowrap; }
.keys-table td { padding: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; vertical-align: middle; }
.keys-table tbody tr:hover td { background: var(--soft); }
.keys-table td strong { font-weight: 500; color: var(--ink); }
.virtual-keys-table { min-width: 1580px; }
.virtual-keys-table th:first-child, .virtual-keys-table td:first-child { position: sticky; z-index: 1; left: 0; min-width: 168px; border-right: 1px solid var(--line); background: var(--paper); }
.virtual-keys-table th:first-child { background: var(--soft); }
.key-name { display: inline-block; color: var(--ink); font-weight: 500; line-height: 1.5; }
.key-link { text-decoration: none; }
.key-link:hover { color: var(--accent); }
.key-line { display: flex; align-items: center; gap: 7px; }
.key-sub, .key-timestamp { font: 11px/1.8 var(--mono); white-space: nowrap; }
.key-timestamp span { display: block; color: var(--muted); }
.key-time-empty { white-space: nowrap; }
.key-copy-button { display: grid; place-items: center; width: 25px; height: 25px; border: 0; border-radius: 4px; background: transparent; color: var(--muted); }
.key-copy-button svg { width: 14px; height: 14px; }
.key-copy-button:hover { color: var(--accent); background: var(--accent-soft); }
.project-name { font: 11px/1.7 var(--mono); color: var(--ink); }
.cell-sub { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; }
.owner-cell { margin: 0; font-size: 12px; white-space: nowrap; }
.cell-warn { color: var(--warning); }
.provider-badge, .status-badge, .role-badge { display: inline-flex; align-items: center; gap: 6px; padding: 3px 8px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font: 10px/1.7 var(--mono); white-space: nowrap; }
.provider-badge { text-transform: uppercase; }
.status-badge { color: var(--accent); border-color: rgb(var(--color-accent-primary) / .16); }
.status-badge::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.status-badge.disabled { color: var(--muted); border-color: var(--line); }
.status-badge.disabled::before { background: transparent; border: 1px solid currentColor; width: 5px; height: 5px; }
.status-badge.exhausted { color: var(--warning); border-color: currentColor; }
.detail-identity-badges { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.role-badge { color: var(--accent); }
.role-badge.member { color: var(--muted); }
.row-actions { display: flex; align-items: center; justify-content: end; gap: 5px; }
.key-actions-trigger { display: inline-flex; align-items: center; gap: 7px; }
.key-actions-menu { position: fixed; z-index: 36; min-width: 144px; padding: 5px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); box-shadow: 0 8px 24px rgb(0 0 0 / .08); }
.key-actions-item { display: block; width: 100%; padding: 9px 12px; border: 0; border-radius: 4px; color: var(--ink); background: transparent; text-align: left; font-size: 12px; }
.key-actions-item:hover, .key-actions-item:focus-visible { background: var(--soft); }
.key-actions-danger { margin-top: 4px; border-top: 1px solid var(--line); border-radius: 0 0 4px 4px; color: var(--danger); }
#approval-provider-field .custom-select { min-width: 0; }
#approval-provider-field .custom-select-trigger { font-family: Inter, sans-serif; }
.row-button { display: inline-block; padding: 6px 10px; border: 1px solid var(--line); border-radius: 5px; color: var(--muted); background: var(--paper); font-size: 11px; text-decoration: none; white-space: nowrap; }
.row-button:hover { color: var(--accent); border-color: var(--control-focus); }
.row-button-danger { color: var(--danger); }
.row-button-danger:hover { color: var(--danger); border-color: var(--danger); }
.budget-meter { width: 215px; }
.budget-meter-label { display: none; }
.budget-meter-top { display: flex; justify-content: space-between; gap: 8px; font: 10px var(--mono); white-space: nowrap; }
.budget-meter-track { height: 3px; margin: 9px 0; overflow: hidden; background: rgb(var(--color-border) / .07); }
.budget-meter-fill { height: 100%; background: var(--accent); }
.budget-meter-fill.warning { background: var(--warning); }
.budget-meter-foot { margin-top: 4px; font-size: 10px; line-height: 1.7; overflow-wrap: anywhere; }
.budget-unlimited { color: var(--muted); }
.empty-table { height: 200px; text-align: center; }
.pagination { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 20px; color: var(--muted); font-size: 11px; }
.table-pagination { justify-content: space-between; flex-wrap: wrap; }
.table-pagination-controls, .page-size-field { display: flex; align-items: center; gap: 10px; }
.table-pagination .custom-select { min-width: 80px; width: 80px; }
.table-pagination .custom-select-trigger { height: 32px; font-size: 11px; }
.table-pagination .custom-select-menu { top: auto; bottom: calc(100% + 6px); }
.user-cell { display: flex; align-items: center; gap: 12px; }
.user-cell-name strong, .user-cell-name span { display: block; }
.user-cell-name strong { font-size: 13px; }
.user-cell-name span { margin-top: 4px; color: var(--muted); font: 10px var(--mono); }
.users-table .row-actions { justify-content: start; }
/* Pricing, docs and usage share the same visual vocabulary. */
.info-grid, .operation-grid, .operation-strip { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }
.info-card, .operation-card { display: flex; align-items: start; gap: 18px; padding: 26px; border: 1px solid var(--line); border-radius: 16px; }
.operation-card { display: block; }
.info-icon, .operation-icon, .docs-provider-mark { width: 40px; height: 40px; flex: 0 0 40px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 8px; color: var(--accent); background: var(--accent-soft); font: 18px var(--heading); }
.info-card p, .operation-card p { margin-top: 10px; color: var(--muted); font-size: 12px; line-height: 1.8; }
.info-status { display: inline-block; margin-top: 15px; color: var(--accent); font: 10px var(--mono); }
.price-summary { display: grid; gap: 8px; margin-top: 16px; color: var(--muted); font: 10px var(--mono); }
.price-summary span { display: flex; justify-content: space-between; gap: 12px; }
.price-summary strong { color: var(--ink); font-weight: 400; }
.operation-card-top { display: flex; gap: 14px; min-height: 90px; }
.operation-result { min-height: 18px; margin-top: 13px; color: var(--muted); font-size: 11px; }
.operation-inline { display: flex; align-items: center; gap: 12px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; }
.operation-inline-copy { min-width: 0; flex: 1; }
.operation-inline-copy h3 { font-size: 14px; }
.operation-inline-copy span { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; }
.operation-inline .button { min-height: 36px; padding: 0 12px; white-space: nowrap; }
.definition-list { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; }
.definition-list > div { display: grid; grid-template-columns: 190px 1fr; gap: 20px; padding: 18px 22px; border-bottom: 1px solid var(--line); }
.definition-list > div:last-child { border: 0; }
.definition-list strong { color: var(--accent); font: 12px var(--mono); }
.definition-list span { color: var(--muted); font-size: 12px; }
.pricing-toolbar { display: flex; gap: 10px; }
.pricing-table-toolbar { justify-content: end; margin-bottom: 16px; }
.pricing-search-box { width: 250px; }
.pricing-table th, .pricing-table td { white-space: nowrap; }
.pricing-table td strong { color: var(--accent); font: 11px var(--mono); }
.docs-hero { padding: 0 0 32px; }
.docs-hero h2 { max-width: 760px; font-size: clamp(25px,3vw,36px); font-weight: 300; }
.docs-hero p { max-width: 740px; margin-top: 16px; color: var(--muted); font-size: 13px; line-height: 1.8; }
.docs-section { margin-top: 44px; }
.docs-section-heading { margin-bottom: 20px; }
.docs-section-heading h2 { font-size: 22px; }
.docs-steps, .docs-check-grid, .docs-faq-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.docs-step { display: flex; gap: 14px; padding: 24px 0; border-top: 1px solid var(--line); }
.docs-step > span { color: var(--accent); font: 11px var(--mono); }
.docs-step strong { font-size: 13px; font-weight: 500; }
.docs-step p { margin-top: 8px; color: var(--muted); font-size: 11px; line-height: 1.8; }
.provider-doc-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 28px; }
.docs-four-providers { grid-template-columns: repeat(2,minmax(0,1fr)); }
.docs-provider-card { min-width: 0; padding: 24px; border: 1px solid var(--line); border-radius: 16px; }
.docs-provider-heading { display: flex; align-items: center; gap: 12px; }
.docs-provider-heading > div:nth-child(2) { flex: 1; }
.docs-provider-heading h2 { font-size: 21px; }
.docs-provider-heading .section-kicker { font-size: 8px; margin-bottom: 4px; }
.docs-provider-description { min-height: 84px; margin-top: 20px; color: var(--muted); font-size: 12px; line-height: 1.8; }
.docs-label { margin-top: 18px; font-size: 11px; font-weight: 500; }
.docs-content pre { min-width: 0; max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; overflow: auto; }
.docs-content code { overflow-wrap: anywhere; }
.docs-section > pre { margin: 9px 0 0; padding: 15px; border: 1px solid var(--line); border-radius: 6px; background: var(--soft); color: var(--ink); font: 12px/1.9 var(--mono); }
.docs-section > pre code { font: inherit; }
.docs-provider-card pre { overflow: auto; margin: 9px 0 0; padding: 15px; border: 1px solid var(--line); border-radius: 6px; background: var(--soft); color: var(--ink); font: 10px/1.9 var(--mono); white-space: pre-wrap; overflow-wrap: anywhere; }
.docs-provider-card pre code { font: inherit; }
.docs-note { margin-top: 16px; padding: 12px; border-left: 2px solid var(--line); color: var(--muted); font-size: 11px; line-height: 1.8; }
.docs-note code { color: var(--accent); }
.docs-official-link { display: inline-block; margin-top: 20px; color: var(--accent); font-size: 11px; text-decoration: none; }
.docs-check-card, .docs-faq-list > div { display: grid; gap: 10px; padding: 22px 0; border-top: 1px solid var(--line); }
.docs-check-card strong, .docs-faq-list strong { font-size: 13px; font-weight: 500; }
.docs-check-card code { color: var(--accent); font-size: 11px; overflow-wrap: anywhere; }
.docs-check-card span, .docs-faq-list p { color: var(--muted); font-size: 11px; line-height: 1.8; }
/* Documentation: compact entry points, complete guides in a native dialog. */
.docs-start { padding: 28px; border: 1px solid var(--line); border-radius: 16px; background: var(--soft); }
.docs-start-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.docs-start-heading h2 { font-size: 24px; font-weight: 400; }
.docs-start-heading p { margin-top: 8px; color: var(--muted); font-size: 13px; }
.docs-start-heading .button { flex: 0 0 auto; }
.docs-common-config { margin-top: 22px; }
.docs-guide-section { margin-top: 38px; }
.docs-guide-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.docs-guide-heading h2 { font-size: 19px; font-weight: 500; }
.docs-guide-heading > span { color: var(--muted); font-size: 12px; }
.docs-guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.docs-guide-card { display: flex; flex-direction: column; min-width: 0; padding: 25px; border: 1px solid var(--line); border-radius: 16px; transition: border-color .18s, background .18s; }
.docs-guide-card:hover { border-color: var(--control-focus); }
.docs-guide-card-top h3 { font-size: 23px; font-weight: 500; }
.docs-guide-kind { display: block; margin-top: 6px; color: var(--muted); font: 10px/1.5 var(--mono); }
.docs-guide-card > p { min-height: 46px; margin-top: 17px; color: var(--muted); font-size: 13px; line-height: 1.8; }
.docs-guide-route { display: flex; align-items: baseline; gap: 12px; margin-top: 18px; }
.docs-guide-route > span { flex: 0 0 auto; color: var(--muted); font-size: 11px; }
.docs-guide-route code { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.docs-guide-snippet { display: block; overflow: hidden; margin-top: 12px; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.docs-guide-open { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-top: 23px; padding: 16px 0 0; border: 0; border-top: 1px solid var(--line); color: var(--ink); background: transparent; font-size: 12px; text-align: left; }
.docs-guide-open:hover { color: var(--accent); }
.docs-guide-open > span { font-size: 17px; }
.docs-help { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 32px; padding: 24px 0; border-top: 1px solid var(--line); }
.docs-help strong { font-size: 13px; font-weight: 500; }
.docs-help p { margin-top: 5px; color: var(--muted); font-size: 12px; }
.docs-help .button { flex: 0 0 auto; }
body.docs-dialog-open { overflow: hidden; }
.docs-dialog { width: min(900px, calc(100vw - 40px)); max-height: calc(100dvh - 64px); margin: auto; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); color: var(--ink); }
.docs-dialog::backdrop { background: rgb(0 0 0 / .4); backdrop-filter: blur(4px); }
.docs-dialog[open] { display: flex; flex-direction: column; }
.docs-dialog-heading { display: flex; flex: 0 0 auto; align-items: start; justify-content: space-between; gap: 20px; padding: 26px 32px; border-bottom: 1px solid var(--line); }
.docs-dialog-heading h2 { font-size: 28px; font-weight: 400; }
.docs-dialog-heading .section-kicker { margin-bottom: 6px; }
.docs-dialog-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 24px 32px 32px; }
#docs-dialog-description { max-width: 700px; color: var(--muted); font-size: 14px; line-height: 1.8; }
#docs-dialog-content > section { margin-top: 28px; }
#docs-dialog-content h3 { margin-bottom: 12px; font-size: 16px; font-weight: 500; }
#docs-dialog-content p { margin-top: 10px; color: var(--muted); font-size: 13px; line-height: 1.9; }
#docs-dialog-content p code { color: var(--ink); font-size: 12px; overflow-wrap: anywhere; }
.docs-code { position: relative; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--soft); }
.docs-code pre { max-width: 100%; margin: 0; padding: 42px 18px 18px; overflow: auto; color: var(--ink); font: 12px/1.85 var(--mono); white-space: pre; overflow-wrap: normal; tab-size: 4; }
.docs-code pre code { font: inherit; overflow-wrap: normal; }
.docs-code-copy { position: absolute; top: 9px; right: 11px; padding: 3px 8px; border: 1px solid var(--line); border-radius: 5px; color: var(--muted); background: var(--paper); font-size: 11px; }
.docs-code-copy:hover { color: var(--ink); border-color: var(--control-focus); }
.docs-common-config .docs-code { background: var(--paper); }
.docs-common-config .docs-code pre { padding: 18px 76px 18px 18px; font-size: 11px; }
@media (max-width: 1100px) { .docs-guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .docs-start { padding: 22px; }
  .docs-start-heading { align-items: start; flex-direction: column; gap: 18px; }
  .docs-start-heading h2 { font-size: 23px; }
  .docs-guide-grid { grid-template-columns: 1fr; }
  .docs-guide-heading { align-items: start; flex-direction: column; gap: 6px; }
  .docs-help { align-items: start; flex-direction: column; gap: 16px; }
  .docs-dialog { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); }
  .docs-dialog-heading { padding: 22px; }
  .docs-dialog-heading h2 { font-size: 24px; }
  .docs-dialog-body { padding: 20px 22px 26px; }
}
.costs-filter-panel { padding: 24px; }
.costs-filter-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.costs-filter-grid .select-control { width: 100%; }
.costs-filter-actions { display: flex; justify-content: end; gap: 10px; margin-top: 22px; }
.costs-results-section { margin-top: 32px; }
.costs-table { min-width: 1250px; }
.costs-table .cost-user, .costs-table .cost-resource { color: var(--ink); }
.costs-table small { display: block; margin-top: 4px; font-size: 10px; }
.costs-table .cost-value { color: var(--ink); font: 11px var(--mono); }
/* Dialogs keep approval data readable and aligned. */
.modal { position: fixed; z-index: 40; inset: 0; display: grid; place-items: center; padding: 24px; }
.modal-backdrop { position: absolute; inset: 0; background: rgb(0 0 0 / .36); backdrop-filter: blur(5px); }
.modal-card { position: relative; width: min(620px,100%); max-height: calc(100dvh - 48px); overflow-y: auto; padding: 36px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); box-shadow: 0 24px 90px rgb(0 0 0 / .15); }
.modal-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; margin-bottom: 30px; }
.modal-heading h2 { font-size: 27px; font-weight: 400; }
.modal-heading .section-kicker { margin-bottom: 9px; color: var(--accent); }
.modal-close { width: 30px; height: 30px; flex: 0 0 30px; padding: 0; border: 1px solid var(--line); border-radius: 6px; color: var(--muted); background: transparent; font-size: 20px; }
.modal-subtitle { margin-top: 8px; color: var(--muted); font-size: 12px; }
.field { display: grid; gap: 9px; min-width: 0; }
.field > span { color: var(--muted); font-size: 12px; }
.field em { font-style: normal; }
.field-wide { grid-column: 1/-1; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 20px; }
.form-hint { margin-top: 18px; padding: 12px; border-radius: 6px; background: var(--soft); color: var(--muted); font-size: 11px; }
.approval-preview { padding: 24px; margin-top: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--soft); }
.approval-preview:empty { display: none; }
.approval-preview[data-preview-state="loading"] .approval-details > div:not(#approval-provider-field),
.approval-preview[data-preview-state="error"] .approval-details > div:not(#approval-provider-field) { opacity: .5; }
.approval-preview[data-preview-state="error"] [data-provider-status] { color: var(--danger); }
.approval-details { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 0; }
.approval-details > div { min-width: 0; }
.approval-details .approval-note { grid-column: 1 / -1; }
.approval-details dt { margin-bottom: 7px; color: var(--muted); font-size: 13px; }
.approval-details dd { margin: 0; color: var(--ink); font: 15px/1.7 var(--mono); overflow-wrap: anywhere; }
.approval-details .approval-amount { font-size: 23px; letter-spacing: -.04em; }
.approval-details .approval-rate, .approval-details small { display: block; margin-top: 7px; color: var(--muted); font: 11px Inter,sans-serif; }
.approval-detail-wide { grid-column: 1/-1; }
.modal-actions { display: flex; justify-content: end; gap: 10px; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--line); }
.confirm-card { width: min(430px,100%); text-align: center; }
.confirm-icon, .success-mark { display: grid; place-items: center; width: 44px; height: 44px; margin: 0 auto 20px; border: 1px solid var(--line); border-radius: 50%; color: var(--accent); font-size: 22px; }
.confirm-icon.danger { color: var(--danger); }
.confirm-message { margin-top: 12px; color: var(--muted); font-size: 13px; }
.confirm-card .modal-actions { justify-content: center; }
.secret-card { text-align: center; }
.secret-card p { margin-top: 12px; color: var(--muted); font-size: 12px; }
.secret-box { display: flex; align-items: center; gap: 10px; padding: 10px; margin: 24px 0 16px; border: 1px solid var(--line); border-radius: 6px; background: var(--soft); }
.secret-box code { min-width: 0; flex: 1; overflow: auto; color: var(--accent); font-size: 11px; white-space: nowrap; text-align: left; }
.detail-card { width: min(720px,100%); }
.back-link { display: inline-block; margin-bottom: 14px; color: var(--muted); font-size: 12px; text-decoration: none; }
.detail-identity { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px; margin-bottom: 28px; border: 1px solid var(--line); border-radius: 12px; }
.detail-project { margin-top: 8px; font: 18px var(--mono); }
.large-summary { grid-template-columns: repeat(4,1fr); }
.chart-panel { padding: 28px; margin-top: 28px; }
.chart-controls { display: flex; gap: 10px; }
.chart-controls select { min-width: 115px; }
.cost-chart { min-height: 285px; display: flex; align-items: end; gap: 7px; padding: 28px 8px 20px; border-bottom: 1px solid var(--line); background: repeating-linear-gradient(to top, transparent 0, transparent 55px, var(--line) 56px); }
.chart-column { min-width: 0; flex: 1; height: 230px; display: flex; flex-direction: column; justify-content: end; align-items: center; gap: 8px; }
.chart-bar { width: min(28px,82%); min-height: 2px; background: var(--accent); opacity: .75; transition: opacity .18s; }
.chart-bar:hover { opacity: 1; }
.chart-label, .chart-value { color: var(--muted); font: 8px var(--mono); white-space: nowrap; }
.chart-label { writing-mode: vertical-rl; transform: rotate(180deg); }
.detail-content { display: grid; gap: 16px; }
.detail-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.detail-stat { padding: 18px; border: 1px solid var(--line); border-radius: 8px; }
.detail-stat span, .detail-stat strong { display: block; }
.detail-stat span, .detail-stat-foot { color: var(--muted); font-size: 11px; }
.detail-stat strong { margin-top: 12px; font: 18px var(--mono); }
.detail-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; border-top: 1px solid var(--line); padding-top: 12px; }
.detail-meta span, .detail-meta strong { display: block; font-size: 12px; }
.detail-meta span { color: var(--muted); }
.detail-meta strong { margin-top: 6px; }
.toast { position: fixed; z-index: 60; top: 24px; left: 50%; max-width: calc(100vw - 32px); padding: 12px 18px; border-radius: 6px; background: var(--ink); color: var(--paper); opacity: 0; pointer-events: none; transform: translate(-50%,-12px); transition: opacity .2s, transform .2s; font-size: 12px; }
.toast.show { opacity: 1; transform: translate(-50%,0); }
.toast.error { background: #b42332; color: #fff; }
/* Keep the four key metrics on one row; the generic dialog summary has three. */
.detail-summary.large-summary { grid-template-columns: repeat(4,minmax(0,1fr)); }
.detail-summary.large-summary .detail-stat strong { font-size: 23px; }
.virtual-keys-table th:last-child, .virtual-keys-table td:last-child { position: sticky; right: 0; z-index: 2; width: 180px; min-width: 180px; border-left: 1px solid var(--line); background: var(--paper); }
.virtual-keys-table th:last-child { background: var(--soft); }
body[data-page="keys"] .table-scroll { max-height: min(660px,65vh); }
.virtual-keys-table thead { position: sticky; top: 0; z-index: 3; }
.dark .nav-item.active, .dark .eyebrow, .dark .workflow-steps span, .dark .preview-label { color: rgb(var(--color-accent-secondary)) !important; }
/* Login is part of the same product. */
body[data-page="login"] { min-height: 100dvh; display: grid; place-items: center; padding: 44px 24px; }
.login-shell { width: min(460px,100%); }
.login-shell .brand { padding: 0; margin-bottom: 60px; }
.login-shell .brand-product { display: none; }
.login-card { border: 1px solid var(--line); border-radius: 16px; padding: 36px; }
.card-head h1 { margin-top: 20px; font-size: 42px; line-height: 1.2; }
.card-head p { margin-top: 24px; color: var(--muted); font-size: 12px; }
.card-body { margin-top: 34px; }
.login-button { width: 100%; }
.login-hint { margin-top: 20px; color: var(--muted); font-size: 11px; line-height: 1.8; }
.accent-dot { color: var(--accent); }
.login-theme { position: fixed; top: 28px; right: 28px; display: flex; align-items: center; gap: 14px; }
.environment-badge, .workspace-tools > .environment-badge { color: var(--warning); border: 1px solid currentColor; border-radius: 4px; padding: 5px 8px; font: 11px var(--mono); white-space: nowrap; }
.provider-badge.universal { color: var(--ink); background: var(--soft); white-space: nowrap; }
.error { margin-top: 18px; color: var(--danger); font-size: 12px; }
.skeleton-bar { height: 8px; border-radius: 2px; background: var(--soft); animation: skeleton-pulse 1.2s infinite alternate; }
.skeleton-bar.wide { width: 78%; }.skeleton-bar.mid { width: 54%; }.skeleton-bar.narrow { width: 32%; }
@keyframes skeleton-pulse { to { opacity: .35; } }
/* Local preview label is injected only by scripts/preview_frontend.py. */
.preview-label { padding: 3px 8px; border: 1px solid var(--line); border-radius: 999px; color: var(--accent) !important; font: 10px Inter,sans-serif !important; white-space: nowrap; }
@media (min-width: 1700px) { .metric-value { font-size: 34px; } }
@media (max-width: 1250px) {
  .sidebar { width: 200px; flex-basis: 200px; padding-left: 12px; padding-right: 12px; }
  .brand { padding-left: 8px; }.brand-logo { width: 155px; }
  .main-content { padding-left: 28px; padding-right: 28px; }
  .metric-card { padding: 0 14px; }.metric-value { font-size: 22px; }
  .metric-foot { font-size: 9px; }
  .provider-panel, .quick-panel { padding: 24px; }
  .overview-grid { gap: 18px; }
  .provider-doc-grid { grid-template-columns: 1fr; }
  .docs-four-providers { grid-template-columns: 1fr; }
  .docs-provider-description { min-height: auto; }
}
@media (max-width: 1000px) {
  .metric-grid { grid-template-columns: repeat(3,1fr); gap: 28px 0; }
  .metric-card:nth-child(3) { border: 0; }.metric-card:nth-child(4) { padding-left: 0; }
  .metric-value { font-size: 24px; }.metric-foot { font-size: 10px; }
  .overview-grid { grid-template-columns: 1fr; }.provider-panel, .quick-panel { min-height: auto; }
  .provider-bars { margin-bottom: 10px; }.quick-actions { margin-top: 10px; }
  .info-grid, .operation-strip { grid-template-columns: 1fr; }
  .docs-check-grid, .docs-faq-list { grid-template-columns: 1fr; }
  .large-summary, .detail-summary.large-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .large-summary .metric-card:nth-child(3) { padding-left: 0; border-right: 1px solid var(--line); }
  .large-summary .metric-card:nth-child(4) { padding-left: 14px; }
}
@media (max-width: 760px) {
  .sidebar { display: none; position: fixed; z-index: 35; width: 228px; top: 65px; bottom: 0; height: calc(100dvh - 65px); box-shadow: 16px 0 40px rgb(0 0 0 / .1); }
  body.nav-open .sidebar { display: flex; }
  .mobile-menu-button { display: inline-grid; }
  .main-content { padding: 0 20px 24px; width: 100%; }
  .workspace-bar { height: 65px; position: sticky; z-index: 30; top: 0; background: var(--nav-bg); backdrop-filter: blur(12px); }
  .workspace-label { gap: 8px; }.workspace-label span { display: none; }
  .workspace-tools { gap: 3px; }.workspace-tools > .workspace-timezone { display: none; }
  .topbar { padding: 30px 0 26px; gap: 12px; }h1 { font-size: 32px; }
  .page-description { font-size: 12px; }.eyebrow { font-size: 8px; }
  .metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 24px 0; }
  .metric-card { padding: 0 0 0 20px; }.metric-card:nth-child(2n) { border: 0; }
  .metric-card:nth-child(2n+1) { padding-left: 0; border-right: 1px solid var(--line); }
  .metric-card:nth-child(4) { padding-left: 20px; }.metric-card:last-child { border: 0; }
  .metric-value { font-size: 25px; margin-top: 15px; }.metric-foot { font-size: 9px; }
  .overview-grid { margin-top: 24px; }.provider-panel, .quick-panel { padding: 22px; }
  .provider-panel .panel-heading { flex-wrap: wrap; }.provider-panel-actions { gap: 10px; }
  .workflow-heading a { margin: 10px 0 0; width: 100%; }.workflow-steps { grid-template-columns: 1fr; gap: 20px; }
  .workflow-section { margin-top: 32px; }
  .toolbar { flex-wrap: wrap; gap: 10px; }.search-box { flex-basis: 100%; max-width: none; }
  .toolbar .custom-select { flex: 1; min-width: 100px; }.toolbar-create { margin-left: 0; }
  .section-heading { align-items: start; flex-wrap: wrap; }
  .virtual-keys-table td:last-child, .virtual-keys-table th:last-child { position: static; }
  .virtual-keys-table th:first-child, .virtual-keys-table td:first-child { min-width: 150px; max-width: 150px; }
  .table-pagination { gap: 18px; }.table-pagination-controls { flex-wrap: wrap; gap: 8px; }
  .table-pagination-controls .page-size-field > span { display: none; }
  .table-pagination-controls > span { font-size: 10px; }
  .modal { padding: 14px; }.modal-card { padding: 26px 22px; max-height: calc(100dvh - 28px); }
  .modal-heading h2 { font-size: 24px; }.approval-preview { padding: 18px; }
  .approval-details { gap: 20px 14px; }.approval-details dd { font-size: 13px; }.approval-details .approval-amount { font-size: 20px; }
  .approval-details dt { font-size: 12px; }.approval-details .approval-rate, .approval-details small { font-size: 10px; }
  .info-grid, .operation-grid, .docs-steps, .costs-filter-grid, .definition-list > div { grid-template-columns: 1fr; }
  .pricing-toolbar { width: 100%; }.pricing-search-box { min-width: 0; width: auto; }
  .pricing-toolbar .custom-select { min-width: 120px; }
  .operation-inline { flex-wrap: wrap; }.operation-inline .button { margin-left: 52px; }
  .docs-provider-card, .costs-filter-panel { padding: 20px; }
  .detail-identity { align-items: start; flex-direction: column; }.chart-panel { padding: 20px; }
  .chart-panel .panel-heading { flex-wrap: wrap; }.chart-controls { width: 100%; }.chart-controls .custom-select { min-width: 100px; flex: 1; }
  .cost-chart { overflow-x: auto; }.chart-column { min-width: 14px; }.chart-value { display: none; }
  .workspace-footer { font-size: 8px; }.workspace-footer span:last-child { display: none; }
  .login-card { padding: 30px; }.card-head h1 { font-size: 38px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }

/* Prices and resource metering have distinct purposes and independent schedules. */
.pricing-sync-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.pricing-section-note { color: var(--muted); margin: 12px 0 20px; font-size: 14px; }
.pricing-footnote { margin-bottom: 0; font-size: 13px; }
.pricing-sync-card, .pricing-meter-card { display: flex; flex-direction: column; padding: 24px; border: 1px solid var(--line); border-radius: 16px; min-width: 0; }
.pricing-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.pricing-sync-card h3, .pricing-meter-card h3 { font-size: 19px; }
.pricing-sync-card p, .pricing-meter-card p { color: var(--muted); font-size: 14px; line-height: 1.8; }
.pricing-meter-card h3 { margin-bottom: 12px; }
.pricing-status { border: 1px solid var(--line); padding: 4px 9px; border-radius: 999px; font: 12px var(--mono); white-space: nowrap; }
.pricing-status[data-status="ok"] { color: var(--accent); border-color: rgb(var(--color-accent-primary) / .2); }
.pricing-status[data-status="error"], .pricing-status[data-status="stale"] { color: var(--warning); }
.pricing-schedule { margin-top: 12px; }
.pricing-sync-card .pricing-schedule { margin-top: auto; padding-top: 12px; }
.pricing-meter-card > p:first-of-type { flex: 1; }
.pricing-sync-times { display: grid; gap: 10px; padding: 16px 0; margin: 16px 0 0; border-top: 1px solid var(--line); }
.pricing-sync-times > div { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.pricing-sync-times dt { color: var(--muted); font-size: 13px; }
.pricing-sync-times dd { margin: 0; font: 12px/1.6 var(--mono); }
.pricing-source-link { color: var(--muted); font-size: 13px; text-underline-offset: 4px; margin-top: 12px; }
.pricing-source-links { display: flex; flex-wrap: wrap; gap: 0 16px; }
.pricing-sync-card .pricing-sync-error { color: var(--warning); margin-bottom: 12px; }
.pricing-meter-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 18px; min-height: 38px; }
.pricing-meter-footer span { color: var(--muted); font: 12px var(--mono); }
.pricing-meter-footer .button { min-height: 36px; }
.pricing-meter-result:empty { display: none; }
@media (max-width: 1350px) { .pricing-sync-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pricing-sync-grid > :last-child:nth-child(odd) { grid-column: 1 / -1; } }
@media (max-width: 1000px) { .pricing-sync-grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .pricing-sync-card, .pricing-meter-card { padding: 18px; } }
