:root {
  --ink: #172137;
  --muted: #71809b;
  --line: #e5eaf2;
  --soft: #f4f7fb;
  --panel: #ffffff;
  --primary: #315bea;
  --primary-dark: #2046c9;
  --success: #16a36a;
  --warning: #e99a19;
  --danger: #df4d5d;
  --purple: #7557d6;
  --shadow: 0 18px 55px rgba(34, 51, 84, .10);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--soft);
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; min-height: 100vh; background: var(--soft); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.ui-icon { display: block; width: 16px; height: 16px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
button .ui-icon { pointer-events: none; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid rgba(75, 115, 239, .24); outline-offset: 2px; }
.hidden { display: none !important; }
.eyebrow { display: block; color: #8693aa; font-size: 10px; font-weight: 800; letter-spacing: .16em; }

.login-screen { position: relative; display: grid; min-height: 100vh; place-items: center; overflow: hidden; padding: 30px; background: #eef3fb; }
.login-screen::before { position: absolute; inset: 0; content: ""; opacity: .32; background-image: linear-gradient(rgba(49,91,234,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(49,91,234,.07) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to bottom, #000, transparent 82%); }
.login-glow { position: absolute; width: 560px; height: 560px; border-radius: 50%; filter: blur(2px); }
.glow-one { top: -270px; left: -180px; background: radial-gradient(circle, rgba(49,91,234,.20), transparent 68%); }
.glow-two { right: -220px; bottom: -290px; background: radial-gradient(circle, rgba(117,87,214,.18), transparent 68%); }
.login-card { position: relative; width: min(100%, 520px); padding: 38px 42px 28px; border: 1px solid rgba(255,255,255,.9); border-radius: 22px; background: rgba(255,255,255,.94); box-shadow: 0 28px 90px rgba(40,59,95,.16); backdrop-filter: blur(18px); }
.brand-lockup { display: flex; align-items: center; gap: 11px; }
.brand-mark { display: grid; width: 38px; height: 38px; place-items: center; color: white; font-size: 17px; font-weight: 900; border-radius: 11px; background: linear-gradient(145deg, #416cf2, #2246c8); box-shadow: 0 7px 18px rgba(49,91,234,.27); }
.brand-lockup strong, .brand-lockup small { display: block; }
.brand-lockup strong { font-size: 16px; letter-spacing: -.02em; }
.brand-lockup small { margin-top: 1px; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.login-copy { padding: 39px 0 27px; }
.login-copy h1 { margin: 10px 0 12px; font-size: clamp(28px, 5vw, 38px); line-height: 1.12; letter-spacing: -.045em; }
.login-copy p { max-width: 420px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
label { display: flex; flex-direction: column; gap: 7px; color: #44516a; font-size: 12px; font-weight: 700; }
.login-card form { display: grid; gap: 16px; }
input, select, textarea { width: 100%; color: var(--ink); border: 1px solid #dce3ee; border-radius: 9px; outline: none; background: #fff; transition: border-color .15s, box-shadow .15s; }
input, select { height: 43px; padding: 0 12px; }
textarea { padding: 11px 12px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: #86a0f5; box-shadow: 0 0 0 3px rgba(49,91,234,.10); }
.primary-button, .ghost-button, .text-button, .square-button { border: 0; border-radius: 9px; font-size: 12px; font-weight: 800; }
.ghost-button, .text-button, .square-button, .danger-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.primary-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 40px; padding: 0 16px; color: #fff; background: var(--primary); box-shadow: 0 7px 18px rgba(49,91,234,.18); }
.primary-button:hover { background: var(--primary-dark); }
.primary-button:disabled { opacity: .55; cursor: wait; }
.login-button { height: 46px; margin-top: 4px; }
.login-button .ui-icon { width: 18px; height: 18px; transition: transform .18s ease; }
.login-button:hover .ui-icon { transform: translateX(2px); }
.form-message { min-height: 18px; margin: 0; color: var(--danger); font-size: 11px; line-height: 1.45; }
.security-note { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 18px 0 0; color: #8a96ab; font-size: 10px; text-align: center; }
.security-note .ui-icon { width: 14px; height: 14px; color: var(--success); }

.admin-shell { display: grid; min-height: 100vh; grid-template-columns: 232px minmax(0, 1fr); }
.sidebar { position: sticky; z-index: 10; top: 0; display: flex; width: 232px; height: 100vh; overflow-y: auto; align-self: start; flex-direction: column; padding: 24px 16px 17px; color: #dbe3f5; background: #172137; scrollbar-width: none; -ms-overflow-style: none; }
.sidebar::-webkit-scrollbar { width: 0; height: 0; }
.sidebar-brand { padding: 0 9px 27px; }
.sidebar-brand .brand-mark { width: 35px; height: 35px; }
.sidebar-brand strong { color: #fff; }
.sidebar-brand small { color: #8290ad; }
.sidebar nav { display: grid; gap: 6px; }
.nav-item { display: flex; align-items: center; gap: 10px; height: 46px; padding: 0 9px; color: #9caac5; border: 1px solid transparent; border-radius: 11px; background: transparent; font-size: 12px; font-weight: 700; text-align: left; transition: color .16s ease, background .16s ease, border-color .16s ease, transform .16s ease; }
.nav-item:hover { color: #fff; border-color: rgba(255,255,255,.045); background: rgba(255,255,255,.055); transform: translateX(1px); }
.nav-item.active { color: #fff; border-color: rgba(111,145,255,.17); background: linear-gradient(90deg, rgba(64,105,237,.30), rgba(64,105,237,.11)); box-shadow: inset 3px 0 #5c82f5, 0 7px 18px rgba(4, 11, 28, .11); }
.nav-icon { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; color: #8b9bbb; border: 1px solid rgba(255,255,255,.04); border-radius: 9px; background: rgba(255,255,255,.035); transition: color .16s ease, background .16s ease, border-color .16s ease; }
.nav-icon .ui-icon { width: 17px; height: 17px; stroke-width: 1.75; }
.nav-item.active .nav-icon { color: #a9bfff; border-color: rgba(126,157,255,.22); background: rgba(80,120,242,.20); }
.nav-group { display: grid; gap: 3px; }
.nav-parent { width: 100%; }
.nav-chevron { width: 14px; height: 14px; margin-left: auto; color: #8190ae; transition: transform .16s ease, color .16s ease; }
.nav-parent[aria-expanded="true"] .nav-chevron { color: #b7c7f8; transform: rotate(180deg); }
.nav-submenu { display: grid; gap: 3px; margin: 0 0 3px 39px; padding: 3px 0 3px 8px; border-left: 1px solid rgba(126,157,255,.22); }
.nav-subitem { min-height: 34px; padding: 0 9px; color: #91a0bd; border: 1px solid transparent; border-radius: 8px; background: transparent; font-size: 10px; font-weight: 700; text-align: left; transition: color .16s ease, background .16s ease, border-color .16s ease, transform .16s ease; }
.nav-subitem:hover { color: #fff; border-color: rgba(255,255,255,.045); background: rgba(255,255,255,.055); transform: translateX(1px); }
.nav-subitem.active { color: #dce5ff; border-color: rgba(111,145,255,.16); background: rgba(64,105,237,.2); box-shadow: inset 2px 0 #7897ff; }
.nav-subitem:focus-visible, .nav-parent:focus-visible, .organization-tab:focus-visible, .readiness-setup-link:focus-visible, .pool-back-button:focus-visible { outline: 3px solid rgba(126,157,255,.35); outline-offset: 2px; }
.admin-build-marker { display: grid; gap: 3px; margin-top: auto; padding: 9px 11px; color: #8290ad; border: 1px solid rgba(255,255,255,.07); border-radius: 9px; background: rgba(255,255,255,.025); }
.admin-build-marker span { font-size: 7px; font-weight: 900; letter-spacing: .14em; }
.admin-build-marker code { overflow: hidden; color: #c3cee3; font: 600 7.5px/1.45 ui-monospace, SFMono-Regular, Consolas, monospace; text-overflow: ellipsis; white-space: nowrap; }
.admin-build-marker + .sidebar-status { margin-top: 8px; }
.sidebar-status { display: flex; align-items: center; gap: 10px; margin-top: auto; padding: 13px 12px; border: 1px solid rgba(255,255,255,.07); border-radius: 10px; background: rgba(255,255,255,.035); }
.sidebar-status strong, .sidebar-status small { display: block; }
.sidebar-status strong { color: #dae3f5; font-size: 10px; }
.sidebar-status small { margin-top: 2px; color: #7f8da9; font-size: 9px; }
.pulse-dot { position: relative; width: 8px; height: 8px; border-radius: 50%; background: #2bc982; box-shadow: 0 0 0 4px rgba(43,201,130,.10); }
.admin-profile { display: grid; align-items: center; gap: 9px; margin-top: 11px; padding: 11px 8px 0; border-top: 1px solid rgba(255,255,255,.07); grid-template-columns: 31px minmax(0,1fr) 25px; }
.avatar { display: grid; width: 31px; height: 31px; place-items: center; color: #fff; font-size: 11px; font-weight: 900; border-radius: 9px; background: linear-gradient(145deg, #6750cf, #3c6bea); }
.admin-profile strong, .admin-profile small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-profile strong { color: #edf2fc; font-size: 10px; }
.admin-profile small { margin-top: 2px; color: #7f8da9; font-size: 8px; }
.admin-profile button { display: grid; width: 28px; height: 28px; place-items: center; padding: 0; color: #8190ae; border: 0; border-radius: 8px; background: transparent; transition: color .15s ease, background .15s ease; }
.admin-profile button:hover { color: #fff; background: rgba(255,255,255,.08); }
.admin-profile button .ui-icon { width: 15px; height: 15px; }

.main-content { min-width: 0; padding: 0 32px 38px; }
.topbar { display: flex; align-items: center; min-height: 128px; gap: 24px; }
.topbar > div:first-child { min-width: 0; }
.topbar h1 { margin: 7px 0 5px; font-size: 25px; letter-spacing: -.035em; }
.topbar p { margin: 0; color: var(--muted); font-size: 12px; }
.top-actions { display: flex; flex-shrink: 0; gap: 9px; margin-left: auto; }
.ghost-button { min-height: 39px; padding: 0 14px; color: #506079; border: 1px solid #dce3ee; background: #fff; }
.ghost-button:hover { color: var(--primary); border-color: #b9c8f5; }
.text-button { color: var(--primary); background: transparent; }
.text-button .ui-icon { width: 14px; height: 14px; }
.text-button:hover .ui-icon { transform: translateX(1px); }
.square-button { width: 34px; height: 34px; padding: 0; color: #fff; background: var(--primary); box-shadow: 0 6px 14px rgba(49,91,234,.18); }
.square-button:hover { background: var(--primary-dark); }
.square-button .ui-icon { width: 17px; height: 17px; }
.panel { border: 1px solid var(--line); border-radius: 12px; background: var(--panel); box-shadow: 0 4px 18px rgba(40,57,89,.035); }
.metric-grid { display: grid; gap: 13px; margin-bottom: 15px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.metric-card { position: relative; overflow: hidden; min-height: 116px; padding: 19px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.metric-card::after { position: absolute; right: -19px; bottom: -35px; width: 94px; height: 94px; content: ""; border-radius: 50%; background: var(--metric-soft); }
.metric-card small { display: block; color: var(--muted); font-size: 10px; font-weight: 700; }
.metric-card strong { display: block; margin-top: 12px; overflow-wrap: anywhere; font-size: 26px; letter-spacing: -.04em; }
.metric-card span { display: block; margin-top: 5px; color: var(--metric-color); font-size: 9px; font-weight: 800; }
.metric-blue { --metric-color: var(--primary); --metric-soft: rgba(49,91,234,.08); }
.metric-green { --metric-color: var(--success); --metric-soft: rgba(22,163,106,.08); }
.metric-purple { --metric-color: var(--purple); --metric-soft: rgba(117,87,214,.08); }
.metric-orange { --metric-color: var(--warning); --metric-soft: rgba(233,154,25,.09); }
.overview-grid { display: grid; gap: 15px; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr); }
.provider-health-panel, .defaults-panel, .recent-panel, .log-panel { padding: 20px; }
.release-panel { padding: 20px; }
.artifact-list { display: flex; flex-wrap: wrap; gap: 5px; }
.artifact-chip { display: inline-flex; padding: 4px 7px; color: #315f92; border: 1px solid #cfe0f4; border-radius: 999px; background: #f2f7fd; font-size: 8px; font-weight: 800; }
.release-actions { display: flex; gap: 6px; }
.release-actions button { min-height: 31px; }
.recent-panel { margin-top: 15px; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 17px; }
.section-heading h2 { margin: 5px 0 0; font-size: 15px; letter-spacing: -.02em; }
.section-heading.compact { margin: 0; padding: 17px 17px 13px; }
.health-list { display: grid; gap: 8px; }
.health-item { display: grid; align-items: center; gap: 11px; padding: 11px 12px; border: 1px solid #edf0f5; border-radius: 9px; grid-template-columns: 34px minmax(0,1fr) auto auto; }
.health-item > div { min-width: 0; }
.provider-logo { display: grid; width: 34px; height: 34px; place-items: center; color: var(--primary); font-size: 12px; font-weight: 900; border-radius: 9px; background: #edf2ff; }
.health-item strong, .health-item small { display: block; }
.health-item strong { font-size: 11px; }
.health-item small { margin-top: 3px; overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.status-pill { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; color: #687791; border-radius: 99px; background: #f1f4f8; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.status-pill::before { width: 6px; height: 6px; content: ""; border-radius: 50%; background: currentColor; }
.status-healthy, .status-completed { color: var(--success); background: #eaf8f2; }
.status-failed { color: var(--danger); background: #fff0f2; }
.status-warning, .status-processing, .status-submitted, .status-queued { color: var(--warning); background: #fff7e8; }
.default-models { display: grid; gap: 9px; }
.default-item { display: flex; align-items: center; gap: 11px; padding: 11px; border: 1px solid #edf0f5; border-radius: 9px; }
.default-item > div { min-width: 0; }
.modality-icon { display: grid; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; color: #6550c5; border: 1px solid #ddd6fb; border-radius: 9px; background: #f1eefe; }
.modality-icon .ui-icon { width: 16px; height: 16px; }
.modality-video { color: #315bea; border-color: #d5defc; background: #edf2ff; }
.modality-voice, .modality-music, .modality-soundeffect { color: #c34c86; border-color: #f2d6e4; background: #fff0f7; }
.modality-image { color: #16876a; border-color: #ccebe1; background: #eaf8f3; }
.modality-search { color: #c87912; border-color: #f1dfbd; background: #fff7e7; }
.default-item strong, .default-item small { display: block; }
.default-item strong { font-size: 10px; }
.default-item small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.empty-state { padding: 30px 14px; color: var(--muted); font-size: 11px; text-align: center; border: 1px dashed #dce3ee; border-radius: 9px; }

.provider-workspace { display: grid; align-items: start; gap: 15px; grid-template-columns: 265px minmax(0,1fr); }
.provider-list-panel { overflow: hidden; }
.provider-list { padding: 0 8px 10px; }
.provider-list-item { display: grid; align-items: center; width: 100%; gap: 10px; padding: 10px; color: var(--ink); border: 0; border-radius: 9px; background: transparent; text-align: left; grid-template-columns: 32px minmax(0,1fr) 8px; }
.provider-list-item:hover { background: #f6f8fc; }
.provider-list-item.active { background: #edf2ff; }
.provider-list-item strong, .provider-list-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.provider-list-item strong { font-size: 10px; }
.provider-list-item small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.state-dot { width: 7px; height: 7px; border-radius: 50%; background: #c4ccd9; }
.state-dot.on { background: var(--success); box-shadow: 0 0 0 3px rgba(22,163,106,.10); }
.provider-detail { display: grid; gap: 15px; }
.provider-header-card { display: flex; align-items: center; gap: 14px; padding: 19px; }
.provider-header-card .provider-logo { width: 43px; height: 43px; font-size: 15px; }
.provider-title { min-width: 0; }
.provider-title h2 { margin: 0; font-size: 17px; }
.provider-title p { margin: 5px 0 0; color: var(--muted); font-size: 9px; word-break: break-all; }
.provider-header-actions { display: flex; gap: 8px; margin-left: auto; }
.detail-grid { display: grid; gap: 15px; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.5fr); }
.detail-card { padding: 18px; }
.credential-card { padding: 13px; border: 1px solid #e8edf4; border-radius: 10px; background: #fafbfd; }
.credential-card + .credential-card { margin-top: 9px; }
.credential-top { display: flex; align-items: center; gap: 8px; }
.credential-top strong { font-size: 11px; }
.credential-top .status-pill { margin-left: auto; }
.secret-value { display: flex; align-items: center; justify-content: space-between; margin: 12px 0 9px; padding: 10px; color: #4e5d75; border-radius: 8px; background: #fff; font: 700 11px ui-monospace, SFMono-Regular, Consolas, monospace; }
.credential-meta { color: var(--muted); font-size: 8px; line-height: 1.55; }
.card-actions { display: flex; gap: 7px; margin-top: 11px; }
.card-actions button { min-height: 31px; padding: 0 10px; font-size: 9px; }
.danger-button { min-height: 31px; padding: 0 10px; color: var(--danger); border: 1px solid #f2cdd2; border-radius: 8px; background: #fff7f8; font-size: 9px; font-weight: 800; }
.danger-button:hover { border-color: #e9acb5; background: #ffeff1; }
.card-actions .ui-icon, .release-actions .ui-icon { width: 13px; height: 13px; }
.models-card { padding: 18px; }
.model-list { display: grid; gap: 9px; }
.model-row { padding: 12px; border: 1px solid #e8edf4; border-radius: 10px; }
.model-row-header { display: flex; align-items: flex-start; gap: 9px; }
.model-row-title { min-width: 0; }
.model-row-title strong, .model-row-title small { display: block; }
.model-row-title strong { font-size: 11px; }
.model-row-title small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.model-tags { display: flex; align-items: center; gap: 5px; margin-left: auto; }
.tag { padding: 4px 7px; color: #60708b; border-radius: 6px; background: #f0f3f8; font-size: 8px; font-weight: 800; }
.tag.default { color: var(--primary); background: #edf2ff; }
.rates { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.rate-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 8px; color: #66758e; border: 1px solid #e8edf4; border-radius: 7px; background: #fff; font-size: 8px; }
.rate-chip button { display: grid; width: 17px; height: 17px; place-items: center; padding: 0; color: #a5afbf; border: 0; border-radius: 5px; background: transparent; }
.rate-chip button:hover { color: var(--danger); background: #fff0f2; }
.rate-chip button .ui-icon { width: 11px; height: 11px; }

.log-panel { overflow: hidden; }
.log-heading { align-items: flex-end; }
.filters { display: flex; gap: 7px; }
.filters select { width: 150px; height: 36px; font-size: 10px; }
.filters .ghost-button { min-height: 36px; }
.data-table { width: 100%; border-collapse: collapse; }
.table-scroll { overflow-x: auto; }
.data-table th { padding: 10px 8px; color: #8b97aa; border-bottom: 1px solid var(--line); font-size: 8px; font-weight: 900; letter-spacing: .08em; text-align: left; text-transform: uppercase; }
.data-table td { padding: 12px 8px; color: #53617a; border-bottom: 1px solid #eef1f5; font-size: 9px; }
.data-table tr:last-child td { border-bottom: 0; }
.data-table strong { color: var(--ink); font-size: 9px; }
.log-error { max-width: 230px; overflow: hidden; color: var(--danger); text-overflow: ellipsis; white-space: nowrap; }

.admin-dialog { width: min(94vw, 610px); padding: 0; color: var(--ink); border: 0; border-radius: 15px; box-shadow: var(--shadow); }
.admin-dialog::backdrop { background: rgba(17,27,48,.55); backdrop-filter: blur(3px); }
.admin-dialog form { padding: 23px; }
.small-dialog { width: min(94vw, 520px); }
.dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 20px; }
.dialog-heading h2 { margin: 6px 0 0; font-size: 18px; }
.dialog-intro { max-width: 395px; margin: 8px 0 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.dialog-close { display: grid; width: 32px; height: 32px; place-items: center; color: #71809a; border: 1px solid transparent; border-radius: 9px; background: #f2f4f8; transition: color .15s ease, background .15s ease, border-color .15s ease; }
.dialog-close:hover { color: var(--ink); border-color: #dce3ee; background: #fff; }
.dialog-close .ui-icon { width: 16px; height: 16px; }
.form-grid { display: grid; gap: 15px; grid-template-columns: repeat(2, minmax(0,1fr)); }
.form-grid .full { grid-column: 1 / -1; }
.toggle-row { display: flex; align-items: center; flex-direction: row; gap: 9px; min-height: 35px; cursor: pointer; }
.toggle-row input { position: absolute; opacity: 0; pointer-events: none; }
.toggle { position: relative; width: 34px; height: 19px; border-radius: 99px; background: #cfd6e2; transition: .2s; }
.toggle::after { position: absolute; top: 3px; left: 3px; width: 13px; height: 13px; content: ""; border-radius: 50%; background: #fff; transition: .2s; box-shadow: 0 1px 4px rgba(0,0,0,.17); }
.toggle-row input:checked + .toggle { background: var(--primary); }
.toggle-row input:checked + .toggle::after { transform: translateX(15px); }
.inline-toggle { align-self: end; margin-bottom: 4px; }
.form-hint { margin: 14px 0 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.pool-setup-steps { display: flex; gap: 7px; margin: -2px 0 18px; padding: 10px; border: 1px solid #dce6fb; border-radius: 10px; background: #f6f9ff; }
.pool-setup-steps span { display: flex; align-items: center; gap: 6px; min-width: 0; color: #5d6e8d; font-size: 8px; font-weight: 700; }
.pool-setup-steps b { display: grid; width: 17px; height: 17px; flex: 0 0 17px; place-items: center; color: #315bea; border-radius: 50%; background: #dfe9ff; font-size: 8px; }
.pool-next-step { margin: 16px 0 0; padding: 10px 11px; color: #5d6e8d; border-left: 3px solid #4d76e8; border-radius: 0 8px 8px 0; background: #f7f9fe; font-size: 9px; line-height: 1.55; }
.dialog-message { margin-top: 10px; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.toast-stack { position: fixed; z-index: 100; right: 22px; bottom: 22px; display: grid; gap: 8px; width: min(360px, calc(100vw - 44px)); }
.toast { display: flex; align-items: flex-start; gap: 9px; padding: 12px 14px; color: #fff; border-radius: 10px; background: #25334d; box-shadow: 0 15px 35px rgba(21,32,54,.25); font-size: 10px; line-height: 1.45; animation: toast-in .2s ease-out; }
.toast .ui-icon { width: 15px; height: 15px; margin-top: 1px; }
.toast span { min-width: 0; }
.toast.error { background: #b83e4c; }
@keyframes toast-in { from { opacity: 0; transform: translateY(8px); } }

/* License administration */
.license-summary-panel, .plan-summary-panel, .management-panel { padding: 20px; }
.license-overview-grid { align-items: start; }
.compact-list, .plan-mini-list { display: grid; gap: 8px; }
.compact-user { display: grid; align-items: center; width: 100%; gap: 11px; padding: 10px 11px; color: var(--ink); border: 1px solid #edf0f5; border-radius: 10px; background: #fff; text-align: left; grid-template-columns: 34px minmax(0,1fr) auto 16px; transition: border-color .16s ease, background .16s ease; }
.compact-user:hover { border-color: #cbd8ef; background: #f8faff; }
.compact-user strong, .compact-user small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.compact-user strong { font-size: 10px; }.compact-user small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.compact-user > .ui-icon { width: 14px; height: 14px; color: #9aa6b8; }.online-count { color: var(--success); font-size: 8px; font-weight: 800; }
.user-avatar { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; color: #315bea; border: 1px solid #d8e1fc; border-radius: 10px; background: #edf2ff; font-size: 10px; font-weight: 900; }
.user-avatar.large { width: 48px; height: 48px; flex-basis: 48px; font-size: 14px; }
.plan-mini { display: flex; align-items: center; gap: 11px; padding: 10px 11px; border: 1px solid #edf0f5; border-radius: 10px; }
.plan-mini strong, .plan-mini small { display: block; }.plan-mini strong { font-size: 10px; }.plan-mini small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.plan-symbol { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; color: #7253cf; border: 1px solid #e2daf7; border-radius: 9px; background: #f3effe; }
.plan-symbol .ui-icon { width: 17px; height: 17px; }
.search-form { display: flex; gap: 7px; }.search-form > div { position: relative; }.search-form > div .ui-icon { position: absolute; top: 11px; left: 11px; width: 14px; height: 14px; color: #9aa6b8; }.search-form input { width: min(300px, 40vw); height: 37px; padding-left: 34px; font-size: 10px; }
.management-panel > .form-hint { margin: -8px 0 18px; }
.user-cell { display: flex; align-items: center; gap: 9px; min-width: 190px; }.user-cell strong, .user-cell small { display: block; }.user-cell small { margin-top: 3px; color: var(--muted); }
.row-actions { display: flex; align-items: center; gap: 6px; }.row-actions button { min-height: 31px; padding: 0 10px; font-size: 8px; white-space: nowrap; }
.plan-grid { display: grid; gap: 13px; grid-template-columns: repeat(3,minmax(230px,1fr)); }
.plan-card-admin { padding: 17px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }.plan-card-admin.inactive { opacity: .65; }
.plan-card-top { display: flex; align-items: center; justify-content: space-between; }.plan-card-admin h3 { margin: 13px 0 5px; font-size: 15px; }.plan-card-admin code { color: #687791; font-size: 9px; }.plan-card-admin > p { min-height: 30px; margin: 10px 0 13px; color: var(--muted); font-size: 9px; line-height: 1.55; }
.plan-card-admin dl { display: grid; gap: 7px; margin: 0 0 13px; }.plan-card-admin dl div { display: flex; justify-content: space-between; gap: 10px; padding-bottom: 6px; border-bottom: 1px solid #eef1f5; }.plan-card-admin dt { color: var(--muted); font-size: 8px; }.plan-card-admin dd { margin: 0; color: #3c4b63; font-size: 9px; font-weight: 800; }.plan-card-admin > button { width: 100%; justify-content: center; }
.dialog-shell { padding: 23px; }.user-dialog { width: min(94vw, 920px); }.user-detail-header { display: flex; align-items: center; gap: 13px; }.user-detail-header h3 { margin: 0; font-size: 16px; }.user-detail-header p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }.user-detail-header > button { margin-left: auto; }
.detail-stats { display: grid; gap: 8px; margin: 17px 0; grid-template-columns: repeat(4,minmax(0,1fr)); }.detail-stats div { padding: 10px; border: 1px solid #e9edf3; border-radius: 9px; background: #fafbfd; }.detail-stats span, .detail-stats strong { display: block; }.detail-stats span { color: var(--muted); font-size: 8px; }.detail-stats strong { margin-top: 5px; overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.detail-section { margin-top: 13px; padding: 14px; border: 1px solid #e9edf3; border-radius: 11px; }.compact-detail { margin-bottom: 11px; }.compact-detail h3 { margin: 4px 0 0; font-size: 12px; }.detail-columns { display: grid; gap: 13px; grid-template-columns: 1fr 1fr; }
.license-history { display: grid; gap: 8px; }.license-history article { padding: 10px; border: 1px solid #edf0f5; border-radius: 9px; }.license-history article > div:first-child { display: flex; align-items: center; gap: 8px; }.license-history article > div:first-child .status-pill { margin-left: auto; }.license-history article strong { font-size: 10px; }.license-history article p { margin: 7px 0; color: var(--muted); font-size: 8px; }.warning-action { color: #a2680a; border-color: #efd8ae; background: #fffaf0; }
.access-list { display: grid; gap: 7px; }.access-list article { display: grid; align-items: center; gap: 9px; padding: 9px; border: 1px solid #edf0f5; border-radius: 9px; grid-template-columns: 31px minmax(0,1fr) auto; }.access-list strong, .access-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.access-list strong { font-size: 9px; }.access-list small { margin-top: 3px; color: var(--muted); font-size: 7.5px; }.access-icon { display: grid; width: 31px; height: 31px; place-items: center; color: #416fc7; border-radius: 8px; background: #edf3ff; }.access-icon.online { color: #168760; background: #eaf8f2; }.access-icon .ui-icon { width: 15px; height: 15px; }
.error-state { color: var(--danger); }

/* Organization and AI administration */
.setup-center-panel { overflow: hidden; padding: 20px; }
.setup-center-panel > .section-heading { margin-bottom: 8px; }
.setup-center-intro { max-width: 760px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.65; }
#adminSetupCenter { min-height: 140px; }
#adminSetupCenter > .empty-state { display: flex; min-height: 140px; align-items: center; justify-content: center; margin-top: 18px; flex-direction: column; gap: 10px; background: #fafbfd; }
#adminSetupCenter > .error-state { color: #a4313f; border-color: #f1c5cb; background: #fff5f6; }
.setup-center-hero { position: relative; display: grid; align-items: center; gap: 24px; overflow: hidden; margin-top: 18px; padding: 22px; color: #fff; border: 1px solid #315bea; border-radius: 13px; background: linear-gradient(135deg, #2448c8 0%, #315bea 58%, #5e78dd 100%); grid-template-columns: minmax(0, 1fr) auto; box-shadow: 0 15px 34px rgba(49,91,234,.18); }
.setup-center-hero::after { position: absolute; right: -56px; bottom: -92px; width: 220px; height: 220px; content: ""; border: 38px solid rgba(255,255,255,.07); border-radius: 50%; pointer-events: none; }
.setup-center-hero.complete { border-color: #16875f; background: linear-gradient(135deg, #116c4d 0%, #16875f 58%, #3da27d 100%); box-shadow: 0 15px 34px rgba(22,135,95,.17); }
.setup-center-hero-copy { position: relative; z-index: 1; min-width: 0; }
.setup-progress-label { display: block; color: #dce5ff; font-size: 8px; font-weight: 900; letter-spacing: .12em; }
.setup-center-hero.complete .setup-progress-label { color: #d8f3e8; }
.setup-center-hero h3 { margin: 8px 0 6px; font-size: 18px; letter-spacing: -.025em; }
.setup-center-hero p { max-width: 660px; margin: 0; color: rgba(255,255,255,.82); font-size: 10px; line-height: 1.6; }
.setup-progress { display: block; width: min(100%, 610px); height: 8px; overflow: hidden; margin-top: 15px; border: 0; border-radius: 99px; appearance: none; background: rgba(255,255,255,.2); }
.setup-progress::-webkit-progress-bar { border-radius: inherit; background: rgba(255,255,255,.2); }
.setup-progress::-webkit-progress-value { border-radius: inherit; background: #fff; transition: width .25s ease; }
.setup-progress::-moz-progress-bar { border-radius: inherit; background: #fff; transition: width .25s ease; }
.setup-next-button { position: relative; z-index: 1; min-width: 180px; color: #2448c8; background: #fff; box-shadow: 0 9px 22px rgba(18,38,104,.22); }
.setup-next-button:hover { color: #173aa9; background: #f4f7ff; }
.setup-next-button:disabled { color: rgba(255,255,255,.88); border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.13); box-shadow: none; cursor: default; }
.setup-stage-list { display: grid; gap: 9px; margin-top: 13px; }
.setup-stage { display: grid; align-items: center; gap: 12px; padding: 13px 14px; border: 1px solid #e5eaf2; border-radius: 11px; background: #fff; grid-template-columns: 32px minmax(0, 1fr) auto; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.setup-stage:hover { border-color: #ccd7ef; transform: translateY(-1px); }
.setup-stage.pending { border-left: 3px solid #e9a12e; background: #fffdfa; }
.setup-stage.complete { border-left: 3px solid var(--success); background: #fbfefc; }
.setup-stage-number { display: grid; width: 30px; height: 30px; place-items: center; color: #9a650f; border-radius: 9px; background: #fff1d8; font-size: 9px; font-weight: 900; }
.setup-stage.complete .setup-stage-number { color: #16805a; background: #e5f7ef; }
.setup-stage-number .ui-icon { width: 16px; height: 16px; }
.setup-stage strong, .setup-stage p { display: block; }
.setup-stage strong { color: var(--ink); font-size: 10px; }
.setup-stage p { margin: 4px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.setup-stage > .status-pill { justify-self: end; white-space: nowrap; }
.setup-center-note { display: flex; align-items: flex-start; gap: 7px; margin-top: 13px; padding: 11px 13px; color: #55647d; border: 1px solid #dce5f6; border-radius: 9px; background: #f7f9fe; font-size: 9px; line-height: 1.55; }
.setup-center-note strong { flex: 0 0 auto; color: #2e4e9b; }
.organization-setup-hero { display: grid; align-items: center; gap: 14px; margin-bottom: 14px; padding: 16px; border: 1px solid #d9e3f7; border-radius: 11px; background: linear-gradient(135deg, #f4f7ff, #fff); grid-template-columns: minmax(0, 1fr) auto; }
.organization-setup-hero.complete { border-color: #cce8da; background: linear-gradient(135deg, #f0faf5, #fff); }
.organization-setup-copy { min-width: 0; }
.organization-setup-copy h3 { margin: 6px 0 5px; font-size: 14px; }
.organization-setup-copy p { max-width: 720px; margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.organization-setup-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.organization-setup-steps { display: grid; gap: 7px; padding-top: 12px; border-top: 1px solid #e3e9f4; grid-column: 1 / -1; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.organization-setup-steps span { display: flex; align-items: center; gap: 6px; min-width: 0; color: #7a6540; font-size: 8px; font-weight: 800; }
.organization-setup-steps span.complete { color: #197654; }
.organization-setup-steps i { display: block; width: 8px; height: 8px; flex: 0 0 8px; border: 2px solid #e3aa4c; border-radius: 50%; background: #fff; }
.organization-setup-steps .ui-icon { width: 14px; height: 14px; flex: 0 0 14px; }
.policy-focus-layout { display: grid; gap: 12px; margin-bottom: 18px; }
.video-policy-card { border-color: #cfdbf7; background: #fbfcff; box-shadow: 0 6px 20px rgba(49,91,234,.06); }
.organization-video-policy-form { margin-bottom: 0; grid-template-columns: minmax(220px, 1fr) auto minmax(190px, 1fr); }
.organization-video-policy-model { min-width: 0; }
.provider-focus-section { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.provider-focus-section > .section-heading { margin-bottom: 12px; }
.provider-focus-section > .section-heading h3 { margin: 4px 0 0; font-size: 13px; }
.admin-disclosure { overflow: hidden; border: 1px solid #e2e7f0; border-radius: 11px; background: #fff; }
.admin-disclosure > summary { padding: 12px 14px; color: #45546d; background: #fafbfd; font-size: 9px; font-weight: 800; cursor: pointer; }
.admin-disclosure[open] > summary { color: var(--primary); border-bottom: 1px solid #e5eaf2; background: #f5f8ff; }
.disclosure-body { padding: 13px; }
.provider-others { margin-top: 14px; }
.pricing-provider-summary { display: grid; align-items: center; min-width: 0; gap: 10px; padding: 0; color: var(--ink); border: 0; background: transparent; text-align: left; grid-template-columns: 34px minmax(0, 1fr); }
.pricing-provider-summary > span:last-child { min-width: 0; }
.pricing-provider-summary strong, .pricing-provider-summary small { display: block; }
.pricing-provider-summary strong { margin-top: 3px; font-size: 11px; }
.pricing-provider-summary small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.rate-preview { display: grid; gap: 4px; min-height: 58px; padding: 10px 12px; color: #566782; border: 1px solid #d9e3f7; border-radius: 9px; background: #f6f8ff; font-size: 8px; }
.rate-preview strong { color: #2448aa; font-size: 14px; }
.rate-preview small { color: var(--muted); line-height: 1.45; }
.view-panel { min-width: 0; }
.pool-list-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; padding: 11px 13px; color: #64738c; border: 1px solid #dfe6f3; border-radius: 10px; background: #f8faff; font-size: 9px; }
.pool-list-summary strong { color: var(--ink); font-size: 10px; }
.pool-list-summary span { text-align: right; }
#organizationPoolConsole > .table-scroll, .pool-detail-panel > .table-scroll { border: 1px solid #e7ebf2; border-radius: 10px; }
.pool-detail-panel { display: grid; gap: 14px; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line); }
.pool-detail-panel.standalone { margin: 0; padding: 0; border-top: 0; }
.pool-detail-panel > h3 { margin: 7px 0 0; color: #24324a; font-size: 12px; }
.pool-detail-panel > .section-heading { align-items: flex-start; margin: 0; padding: 17px; border: 1px solid #e5eaf2; border-radius: 11px; background: #fafbfd; }
.pool-detail-panel > .section-heading h2 { font-size: 17px; }
.pool-detail-panel > .section-heading p { margin: 5px 0 0; color: var(--muted); font-size: 9px; }
.pool-back-button { width: fit-content; min-height: 32px; justify-content: flex-start; padding: 0; }
.pool-back-button .ui-icon { transition: transform .16s ease; }
.pool-back-button:hover .ui-icon { transform: translateX(-2px); }
.pool-metrics { margin: 0; }
.pool-setup-panel { padding: 16px; border: 1px solid #dce6fb; border-radius: 12px; background: linear-gradient(135deg, #f8faff, #fff); }
.pool-setup-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.pool-setup-heading h3 { margin: 5px 0 0; color: var(--ink); font-size: 13px; }
.pool-setup-heading p { max-width: 560px; margin: 7px 0 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.pool-setup-checklist { display: grid; gap: 8px; margin-top: 14px; }
.pool-setup-checklist article { display: grid; align-items: center; gap: 10px; padding: 10px; border: 1px solid #e6ebf4; border-radius: 9px; background: #fff; grid-template-columns: 23px minmax(0, 1fr) auto; }
.pool-setup-checklist article.pending { border-color: #efdcb8; background: #fffdf8; }
.pool-setup-checklist article.complete { border-color: #d7ebdf; background: #fbfefc; }
.pool-setup-checklist article > span { display: grid; width: 23px; height: 23px; place-items: center; color: #a66a13; border-radius: 50%; background: #fff3dd; font-size: 9px; font-weight: 900; }
.pool-setup-checklist article.complete > span { color: #24805a; background: #e2f6ec; }
.pool-setup-checklist strong, .pool-setup-checklist small { display: block; }
.pool-setup-checklist strong { color: var(--ink); font-size: 9px; }
.pool-setup-checklist small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.pool-setup-checklist .primary-button, .pool-setup-checklist .ghost-button { min-height: 31px; padding: 0 10px; font-size: 8px; white-space: nowrap; }
.readiness-explanation { display: grid; gap: 5px; margin-top: 16px; padding: 12px 13px; color: #586983; border: 1px solid #d8e3f8; border-left: 3px solid var(--primary); border-radius: 9px; background: #f5f8ff; font-size: 9px; line-height: 1.55; }
.readiness-explanation strong { color: #294b9e; font-size: 9.5px; }
.inline-actions { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.ghost-button.danger { color: #b42318; }
.checkbox-label { display: flex !important; align-items: center; gap: 8px; }
.checkbox-label input { width: auto !important; }
.organization-tab { min-height: 35px; padding: 0 13px; color: #66758e; border: 0; border-radius: 7px; background: transparent; font-size: 10px; font-weight: 800; }
.organization-tab:hover { color: var(--primary); background: #f4f7ff; }
.organization-tab.active { color: #fff; background: var(--primary); box-shadow: 0 5px 13px rgba(49,91,234,.18); }
.organization-table td { min-width: 105px; }
.organization-table td:first-child { min-width: 190px; }
.organization-table td:nth-child(4) { min-width: 210px; }
.organization-table small { color: var(--muted); line-height: 1.6; }
.organization-detail-shell { overflow: hidden; }
.organization-detail-header { display: flex; align-items: center; min-height: 38px; padding: 10px 20px 0; }
.organization-back-button { min-height: 28px; justify-content: flex-start; padding: 0; }
.organization-back-button .ui-icon { transition: transform .16s ease; }
.organization-back-button:hover .ui-icon { transform: translateX(-2px); }
.organization-detail-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; margin-left: auto; }
.organization-detail-refresh-button { min-height: 32px; }
.organization-tabs { display: flex; gap: 4px; overflow-x: auto; padding: 9px 20px 11px; border-bottom: 1px solid var(--line); }
.organization-tab { flex: 0 0 auto; color: #5b6a83; background: #f4f6fa; }
.organization-tab-content { min-height: 180px; padding: 16px 20px 20px; }
.admin-pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; padding-top: 12px; color: var(--muted); border-top: 1px solid var(--line); font-size: 9px; }
.pagination-summary { white-space: nowrap; }
.pagination-controls { display: flex; gap: 4px; }
.pagination-page { display: grid; min-width: 28px; height: 28px; padding: 0 7px; color: #5f6f89; border: 1px solid #dfe5ef; border-radius: 7px; background: #fff; font-size: 9px; font-weight: 800; place-items: center; }
.pagination-page:hover:not(:disabled) { color: var(--primary); border-color: #b9c8f5; background: #f6f8ff; }
.pagination-page.active { color: #fff; border-color: var(--primary); background: var(--primary); }
.pagination-page:disabled { opacity: .45; cursor: default; }
.pagination-size { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 9px; font-weight: 700; }
.pagination-size select { width: 68px; height: 30px; padding: 0 8px; font-size: 9px; }
.organization-loading { animation: organization-pulse 1.25s ease-in-out infinite; }
@keyframes organization-pulse { 50% { opacity: .6; } }
.empty-state p { margin: 7px 0 0; line-height: 1.55; }
.empty-state .ghost-button { margin-top: 11px; }
.success-state { color: var(--success); border-color: #bfe8d8; background: #f1fbf7; }
.organization-metrics { display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.organization-metrics article { min-width: 0; padding: 14px; border: 1px solid #e7ebf2; border-radius: 10px; background: #fafbfd; }
.organization-metrics span, .organization-metrics strong, .organization-metrics small { display: block; }
.organization-metrics span { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.organization-metrics strong { margin-top: 8px; overflow-wrap: anywhere; font-size: 16px; }
.organization-metrics small { margin-top: 5px; color: #8c98aa; font-size: 8px; line-height: 1.45; }
.usage-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.usage-metrics article:nth-child(n+5) { background: #f5f7ff; }
.organization-alert { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 9px; margin-top: 12px; padding: 11px 13px; border: 1px solid #f1d3a6; border-radius: 9px; color: #8a5b0e; background: #fff9ed; font-size: 9px; line-height: 1.5; }
.organization-alert strong { flex: 0 0 auto; }
.organization-alert > span { flex: 1 1 auto; }
.organization-alert.danger { color: #a4313f; border-color: #f1c5cb; background: #fff3f4; }
.organization-alert.warning { margin: 9px 0; }
.readiness-setup-link { width: fit-content; padding: 0; color: currentColor; border: 0; border-bottom: 1px solid currentColor; background: transparent; font: inherit; font-weight: 800; line-height: 1.35; cursor: pointer; }
.readiness-setup-link:hover { color: var(--primary); }
.readiness-setup-link:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; border-bottom-color: transparent; border-radius: 2px; }
.organization-alert .readiness-setup-link { flex: 0 0 auto; margin-left: auto; }
.organization-overview-grid { display: grid; gap: 14px; margin-top: 15px; grid-template-columns: 1fr 1fr; }
.organization-overview-grid > section, .usage-groups, .usage-ledger { padding: 15px; border: 1px solid #e8ecf3; border-radius: 11px; }
.organization-overview-grid .section-heading h3, .usage-groups h3, .usage-ledger h3 { margin: 4px 0 0; font-size: 12px; }
.organization-provider-list { display: grid; gap: 8px; }
.organization-provider-summary { display: grid; align-items: center; gap: 10px; padding: 10px; border: 1px solid #edf0f5; border-radius: 9px; grid-template-columns: 34px minmax(0, 1fr) auto; }
.organization-provider-summary strong, .organization-provider-summary small { display: block; }
.organization-provider-summary strong { font-size: 10px; text-transform: capitalize; }
.organization-provider-summary small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.warning-list, .provider-blockers { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.warning-list li { display: grid; gap: 3px; padding: 9px 10px; color: #596780; border-left: 3px solid var(--warning); border-radius: 7px; background: #fff8ec; font-size: 8.5px; line-height: 1.45; }
.warning-list strong { color: #8a5b0e; text-transform: capitalize; }
.organization-tab-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 15px; }
.organization-tab-toolbar .search-form input { width: min(360px, 50vw); }
.budget-progress { margin: 13px 0; padding: 12px 14px; border: 1px solid #e8ecf3; border-radius: 10px; }
.budget-progress > div { display: flex; justify-content: space-between; margin-bottom: 8px; color: #60708a; font-size: 9px; }
.budget-progress-track { display: block; height: 8px; overflow: hidden; border-radius: 99px; background: #e9edf4; }
.budget-progress-track > span { display: block; height: 100%; border-radius: inherit; background: var(--success); transition: width .2s ease; }
.budget-progress-track > span.notice { background: #d6a329; }
.budget-progress-track > span.warning { background: var(--warning); }
.budget-progress-track > span.danger { background: var(--danger); }
.inline-budget-form { display: grid; align-items: end; gap: 10px; margin: 13px 0; padding: 14px; border: 1px solid #dfe6f3; border-radius: 10px; background: #f8faff; grid-template-columns: minmax(190px, 280px) auto minmax(180px, 1fr); }
.inline-budget-form label { min-width: 0; }
.inline-budget-form > small { align-self: center; color: var(--muted); font-size: 8px; }
.inline-budget-form .form-message { grid-column: 1 / -1; }
.usage-groups, .usage-ledger { margin-top: 13px; }
.usage-groups .section-heading, .usage-ledger .section-heading { margin-bottom: 11px; }
.provider-admin-grid { display: grid; gap: 13px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.provider-admin-card { padding: 16px; border: 1px solid #e7ebf2; border-radius: 11px; background: #fff; }
.provider-admin-heading { display: flex; align-items: center; gap: 10px; }
.provider-admin-heading > div { min-width: 0; }
.provider-admin-heading h3 { margin: 0; font-size: 13px; }
.provider-admin-heading p { margin: 4px 0 0; color: var(--muted); font-size: 8px; }
.provider-admin-heading .status-pill { margin-left: auto; }
.provider-admin-card dl { display: grid; gap: 0; margin: 13px 0; }
.provider-admin-card dl div { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid #eef1f5; }
.provider-admin-card dt { color: var(--muted); font-size: 8px; }
.provider-admin-card dd { margin: 0; color: #42516a; font-size: 8.5px; font-weight: 800; text-align: right; }
.provider-blockers li { display: grid; gap: 5px; padding: 7px 9px; color: #9a3945; border-radius: 7px; background: #fff1f3; font-size: 8px; line-height: 1.45; }
.provider-ready-note { padding: 8px 9px; color: #14784f; border-radius: 7px; background: #edfaf4; font-size: 8px; }
.provider-admin-card > .primary-button { width: 100%; margin-top: 12px; }
.pricing-provider-list { display: grid; gap: 14px; }
.pricing-provider { padding: 15px; border: 1px solid #e6eaf1; border-radius: 11px; }
.pricing-provider-heading, .pricing-model-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pricing-provider-heading h3 { margin: 4px 0 0; font-size: 14px; }
.pricing-model-list { display: grid; gap: 11px; margin-top: 12px; }
.pricing-model { padding: 13px; border: 1px solid #edf0f5; border-radius: 10px; background: #fafbfd; }
.pricing-model-heading strong, .pricing-model-heading small { display: block; }
.pricing-model-heading strong { font-size: 10px; }
.pricing-model-heading small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.pricing-model-heading .primary-button { min-height: 34px; padding: 0 11px; font-size: 9px; }
.cost-guide-page { padding: 22px; }
.cost-guide-hero { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.cost-guide-hero h2 { margin: 5px 0 7px; font-size: 21px; letter-spacing: -.03em; }
.cost-guide-hero p { max-width: 720px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.cost-guide-hero .primary-button { flex: 0 0 auto; }
.cost-guide-notice { display: flex; gap: 10px; margin: 18px 0 0; padding: 13px 15px; color: #3150a5; border: 1px solid #cad7fb; border-radius: 10px; background: #f3f6ff; font-size: 9px; line-height: 1.6; }
.cost-guide-notice strong { flex: 0 0 auto; }
.cost-guide-section { padding: 24px 0; border-bottom: 1px solid var(--line); }
.cost-guide-section:last-child { padding-bottom: 2px; border-bottom: 0; }
.cost-guide-heading { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 15px; }
.cost-guide-heading > span { display: grid; flex: 0 0 31px; width: 31px; height: 31px; color: var(--primary); border-radius: 9px; background: #edf2ff; font-size: 9px; font-weight: 900; place-items: center; }
.cost-guide-heading h3 { margin: 0; font-size: 14px; }
.cost-guide-heading p { margin: 5px 0 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.cost-guide-concepts, .cost-guide-rules, .cost-guide-live-grid { display: grid; gap: 11px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cost-guide-concepts article, .cost-guide-rules article, .cost-guide-live-grid article { min-width: 0; padding: 14px; border: 1px solid #e5eaf3; border-radius: 10px; background: #fafbfd; }
.cost-guide-concepts h4, .cost-guide-live-grid h4 { margin: 9px 0 5px; font-size: 11px; }
.cost-guide-concepts p, .cost-guide-rules p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.cost-guide-chip { display: inline-flex; padding: 4px 7px; color: #2856c9; border-radius: 99px; background: #eaf0ff; font-size: 7px; font-weight: 900; letter-spacing: .08em; }
.cost-guide-chip.output { color: #8c4b00; background: #fff1dc; }
.cost-guide-formula { display: grid; gap: 7px; margin: 12px 0; padding: 15px; color: #234da6; border: 1px solid #cddafa; border-radius: 10px; background: #f5f7ff; }
.cost-guide-formula.kling { color: #6c4c13; border-color: #ead7af; background: #fffaf0; }
.cost-guide-formula > span { font-size: 8px; font-weight: 900; text-transform: uppercase; }
.cost-guide-formula code { width: fit-content; max-width: 100%; padding: 6px 8px; overflow-wrap: anywhere; color: #1e315f; border-radius: 6px; background: rgba(255,255,255,.8); font-size: 10px; font-weight: 800; }
.cost-guide-formula small { color: #66758e; font-size: 8px; line-height: 1.5; }
.cost-guide-table { margin-top: 12px; }
.cost-guide-table code { font-size: 8px; }
.cost-guide-details { margin-top: 12px; border: 1px solid #e4e9f2; border-radius: 9px; background: #fff; }
.cost-guide-details summary { padding: 11px 13px; color: #40516f; font-size: 9px; font-weight: 800; cursor: pointer; }
.cost-guide-details > div { padding: 0 13px 12px; color: var(--muted); font-size: 8.5px; line-height: 1.55; }
.cost-guide-details p { margin: 7px 0 0; }
.cost-guide-flow { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cost-guide-flow li { display: flex; gap: 9px; min-width: 0; padding: 13px; border: 1px solid #e5eaf3; border-radius: 10px; background: #fff; }
.cost-guide-flow b { display: grid; flex: 0 0 25px; width: 25px; height: 25px; color: #fff; border-radius: 8px; background: var(--primary); font-size: 8px; place-items: center; }
.cost-guide-flow strong, .cost-guide-flow span { display: block; }
.cost-guide-flow strong { font-size: 9px; }
.cost-guide-flow span { margin-top: 4px; color: var(--muted); font-size: 8px; line-height: 1.45; }
.cost-guide-rules { margin-top: 11px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cost-guide-rules strong { font-size: 9px; }
.cost-guide-rules p { margin-top: 6px; }
.cost-guide-live-grid { margin-bottom: 12px; }
.cost-guide-live-grid article > span { color: var(--muted); font-size: 7px; font-weight: 900; letter-spacing: .08em; }
.cost-guide-live-grid article > strong { display: block; margin: 10px 0 5px; color: #16294e; font-size: 17px; }
.cost-guide-live-grid article > small { color: var(--muted); font-size: 8px; line-height: 1.45; }
.cost-guide-limitations ul { display: grid; gap: 7px; margin: 0; padding-left: 18px; color: #5d6a80; font-size: 9px; line-height: 1.55; }
.cost-guide-sources { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 15px; }
.cost-guide-sources a { padding: 8px 10px; color: var(--primary); border: 1px solid #ced9f8; border-radius: 8px; background: #f5f7ff; font-size: 8px; font-weight: 800; text-decoration: none; }
.cost-guide-sources a:hover { border-color: var(--primary); background: #edf2ff; }
.audit-data { display: grid; gap: 3px; min-width: 180px; }
.audit-data span { font-size: 8px; overflow-wrap: anywhere; }
.audit-table code, .usage-ledger code { font-size: 7.5px; overflow-wrap: anywhere; }
.input-help { display: block; color: var(--muted); font-size: 8px; font-weight: 500; line-height: 1.45; }
.warning-text { color: #a1660b; }

.tiktok-admin-panel { display: grid; gap: 24px; }
.tiktok-admin-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.tiktok-admin-metrics article { min-height: 94px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.tiktok-admin-metrics small { display: block; color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.tiktok-admin-metrics strong { display: block; margin-top: 13px; overflow-wrap: anywhere; font-size: 15px; }
.tiktok-admin-metrics strong.ready { color: #17845c; }
.tiktok-admin-metrics strong.blocked { color: #a4313f; }
.tiktok-admin-metrics strong.warning { color: #a1660b; }
.tiktok-admin-grid { display: grid; grid-template-columns: minmax(310px, .85fr) minmax(420px, 1.15fr); gap: 15px; align-items: start; }
.tiktok-settings-card, .tiktok-credentials-list { min-width: 0; padding: 17px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.tiktok-settings-card form { display: grid; gap: 12px; }
.tiktok-settings-card form > label:not(.toggle-row):not(.checkbox-label) { display: grid; gap: 6px; color: var(--text); font-size: 9px; font-weight: 750; }
.tiktok-settings-card form > label input:not([type]) { width: 100%; }
.tiktok-settings-card .checkbox-label { line-height: 1.55; }
.tiktok-policy-note { display: grid; gap: 7px; margin-top: 14px; padding: 12px; border-radius: 9px; color: var(--muted); background: #f6f8fc; font-size: 9px; }
.tiktok-policy-note strong { color: var(--text); }
.tiktok-policy-note code { overflow-wrap: anywhere; color: #195bb3; font-size: 8px; }
.tiktok-credentials-list { display: grid; gap: 11px; }
.tiktok-credential-card { display: grid; gap: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #fbfcff; }
.tiktok-credential-card p { margin: 0; color: var(--muted); font-size: 8px; }
.credential-top { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.tiktok-secret-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
.tiktok-secret-grid code { padding: 9px; overflow-wrap: anywhere; border: 1px solid #dce4f2; border-radius: 7px; color: #31415d; background: #fff; font-size: 8px; }
.tiktok-credential-card .card-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.tiktok-verification-callout { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 13px; padding: 15px; border: 1px solid #b9d3ff; border-radius: 12px; color: #174b91; background: #f1f6ff; }
.tiktok-verification-callout strong { display: block; font-size: 11px; }
.tiktok-verification-callout p { margin: 6px 0 0; font-size: 9px; line-height: 1.6; }
.tiktok-callout-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 11px; color: #fff; background: #2868c7; }
.tiktok-callout-icon .ui-icon { width: 20px; height: 20px; }

/* TikTok integration: isolated from the density of the other Admin panels. */
.tiktok-admin-panel, .tt-dialog { --tt-muted: #526079; --tt-blue: #234dbb; --tt-green: #126144; --tt-amber: #80500b; --tt-red: #a62739; color: var(--ink); font-size: 15px; line-height: 1.6; }
.tiktok-admin-panel [hidden], .tt-dialog [hidden] { display: none !important; }
.tiktok-admin-panel h2, .tt-dialog h2 { margin: 4px 0 8px; color: var(--ink); font-size: 25px; line-height: 1.3; letter-spacing: -.025em; }
.tiktok-admin-panel h3 { margin: 4px 0 0; color: var(--ink); font-size: 20px; line-height: 1.35; }
.tt-eyebrow { display: block; color: var(--tt-muted); font-size: 12px; font-weight: 750; letter-spacing: .08em; }
.tt-page-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.tt-page-heading p { margin: 0; max-width: 650px; color: var(--tt-muted); }
.tt-page-heading > button { flex-shrink: 0; }
.tiktok-admin-panel button, .tt-dialog button { min-height: 44px; font-size: 14px; line-height: 1.4; }
.tiktok-admin-panel .ghost-button, .tt-dialog .ghost-button { padding: 10px 16px; border: 1px solid var(--line); background: var(--panel); color: var(--tt-blue); }
.tiktok-admin-panel button:disabled, .tt-dialog button:disabled { opacity: .55; cursor: not-allowed; }
.tiktok-admin-panel button:focus-visible, .tiktok-admin-panel a:focus-visible, .tiktok-admin-panel summary:focus-visible, .tt-dialog button:focus-visible, .tt-dialog a:focus-visible { outline: 3px solid #315bea; outline-offset: 3px; }
.tiktok-admin-panel input:focus-visible, .tt-dialog input:focus-visible { outline: 2px solid #315bea; outline-offset: 2px; }
.tiktok-admin-panel a, .tt-dialog a { color: var(--tt-blue); text-underline-offset: 3px; }
#tiktokAdminConsole { display: grid; gap: 24px; min-width: 0; }
.tt-hero { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 20px; padding: 24px; border: 1px solid #c6d6f6; border-radius: 16px; background: #f3f7ff; }
.tt-hero.tt-success { background: #f0faf5; border-color: #b9dfcd; }
.tt-hero.tt-warning { background: #fff9ec; border-color: #eed5a8; }
.tt-hero.tt-neutral { background: #f6f7f9; border-color: var(--line); }
.tt-hero-icon { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 14px; color: var(--tt-blue); background: #e2ebff; }
.tt-success .tt-hero-icon { color: var(--tt-green); background: #d9efe3; }
.tt-warning .tt-hero-icon { color: var(--tt-amber); background: #ffedc7; }
.tt-hero-icon .ui-icon { width: 26px; height: 26px; }
.tt-hero-copy p { margin: 10px 0 0; color: var(--tt-muted); }
.tt-hero-copy h3 { font-size: 24px; }
.tt-countdown { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; }
.tt-countdown strong { font-variant-numeric: tabular-nums; color: var(--tt-blue); }
.tt-desktop-guide { margin-top: 16px; padding: 20px 24px; border-left: 3px solid #315bea; border-radius: 0 12px 12px 0; background: #f5f8ff; }
.tt-desktop-guide ol, .tt-help ol { display: grid; gap: 8px; margin: 12px 0 0; padding-left: 24px; }
.tt-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding: 20px 0; margin: 0; list-style: none; }
.tt-steps li { display: flex; align-items: center; gap: 12px; padding: 12px; color: var(--tt-muted); }
.tt-steps li > span { display: grid; place-items: center; width: 32px; height: 32px; flex-shrink: 0; border: 1px solid #d6ddea; border-radius: 50%; background: #f6f8fc; font-weight: 700; }
.tt-steps strong { display: block; color: var(--ink); font-size: 14px; }
.tt-steps small { display: block; margin-top: 2px; font-size: 12px; }
.tt-steps .is-current { background: #f3f6ff; border-radius: 12px; }
.tt-steps .is-current > span { background: #315bea; border-color: #315bea; color: white; }
.tt-steps .is-done > span { color: var(--tt-green); border-color: #b9dfcd; background: #edf8f2; }
.tt-metrics { display: grid; grid-template-columns: 1fr 1fr 1.4fr; gap: 16px; }
.tt-metrics article { display: flex; align-items: center; gap: 16px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.tt-metrics article > .ui-icon { width: 22px; height: 22px; color: var(--tt-muted); }
.tt-metrics strong, .tt-metrics span { display: block; }
.tt-metrics strong { color: var(--ink); font-size: 20px; font-variant-numeric: tabular-nums; line-height: 1.4; }
.tt-metrics span { margin-top: 4px; color: var(--tt-muted); font-size: 13px; }
.tt-updated { margin: 12px 0 0; color: var(--tt-muted); font-size: 12px; }
.tt-workspace { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.tt-card { min-width: 0; padding: 24px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); }
.tt-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.tt-card-heading > .ui-icon { width: 22px; height: 22px; color: var(--tt-muted); }
.tt-description { margin: 12px 0 20px; color: var(--tt-muted); font-size: 14px; }
#tiktokSettingsForm { display: grid; gap: 12px; }
#tiktokSettingsFields { min-width: 0; margin: 0; padding: 0; border: 0; }
.tiktok-admin-panel .tt-choice { display: flex; flex-direction: row; align-items: flex-start; gap: 12px; padding: 12px 0; color: var(--ink); font-size: 15px; font-weight: 500; cursor: pointer; }
.tt-choice > input { width: 20px; height: 20px; margin: 3px 0; flex-shrink: 0; accent-color: #315bea; cursor: inherit; }
.tt-choice strong, .tt-choice small { display: block; }
.tt-choice small { margin-top: 4px; color: var(--tt-muted); font-size: 13px; font-weight: 400; }
#tiktokSettingsFields:disabled .tt-choice { cursor: not-allowed; }
.tt-policy-explanation, .tt-next-note { padding: 12px 16px; margin: 8px 0; border-radius: 8px; color: var(--tt-muted); background: #f4f7fb; font-size: 14px; }
.tt-audit-fields { display: grid; gap: 8px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.tt-audit-fields > label, .tt-dialog-fields > label { display: block; color: var(--ink); font-size: 14px; font-weight: 650; }
.tt-audit-fields > small, .tt-dialog-fields > small { color: var(--tt-muted); font-size: 13px; }
.tt-audit-fields input:not([type]), .tt-dialog-fields input { min-width: 0; height: 46px; font-size: 16px; }
.tt-field-error, .tt-form-message { margin: 0; color: var(--tt-red); font-size: 14px; overflow-wrap: anywhere; }
.tt-field-error:empty, .tt-form-message:empty { display: none; }
.tt-form-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding-top: 16px; border-top: 1px solid var(--line); }
.tt-form-actions > span { flex-basis: 100%; color: var(--tt-muted); font-size: 13px; }
.tt-form-actions > span.tt-field-error { color: var(--tt-red); }
.tt-inline-warning { display: block; padding: 14px 16px; margin: 12px 0 0; border: 1px solid #eed5a8; border-radius: 10px; background: #fff9ec; color: var(--tt-amber); font-size: 14px; }
.tt-inline-warning p { margin: 6px 0; }
.tt-inline-warning summary { font-size: 13px; }
.tt-notice { margin: 0; padding: 14px 18px; border: 1px solid #b9dfcd; border-radius: 10px; color: var(--tt-green); background: #f0faf5; }
.tt-notice.tt-warning { color: var(--tt-amber); background: #fff9ec; border-color: #eed5a8; }
.tt-credential { margin-top: 16px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #fafbfd; }
.tt-credential p { margin: 10px 0; color: var(--tt-muted); font-size: 13px; }
.tt-badge { padding: 4px 10px; border-radius: 6px; font-size: 12px; font-weight: 700; background: #e9edf3; color: #465269; }
.tt-badge.tt-success { background: #dff2e8; color: var(--tt-green); }
.tt-badge.tt-warning { background: #fff0d1; color: var(--tt-amber); }
.tt-secret-hints { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 14px 0; }
.tt-secret-hints dt { color: var(--tt-muted); font-size: 12px; }
.tt-secret-hints dd { margin: 4px 0 0; }
.tiktok-admin-panel code { overflow-wrap: anywhere; font-size: 13px; color: #32466e; }
.tt-danger-link, .tt-text-button { padding: 8px 0; border: 0; background: transparent; text-align: left; text-decoration: underline; text-underline-offset: 3px; }
.tt-danger-link { color: var(--tt-red); }.tt-text-button { color: var(--tt-blue); }
.tt-empty { margin: 0; padding: 16px; border: 1px dashed #c7d1e2; border-radius: 8px; color: var(--tt-muted); font-size: 14px; }
.tt-history { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); }
.tt-history > p { color: var(--tt-muted); font-size: 13px; }
.tt-help > summary, .tt-history > summary { min-height: 44px; padding: 8px 0; color: var(--ink); font-size: 15px; font-weight: 650; cursor: pointer; }
.tt-help p { color: var(--tt-muted); font-size: 14px; }
.tt-copy-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 20px 0; padding: 16px; border-radius: 10px; background: #f4f7fb; }
.tt-copy-row > div { min-width: 0; }.tt-copy-row span, .tt-copy-row code { display: block; }
.tt-copy-row span { margin-bottom: 8px; color: var(--tt-muted); font-size: 13px; }
.tt-copy-row button { flex-shrink: 0; }
.tt-dialog { width: min(580px, calc(100vw - 32px)); max-width: calc(100vw - 32px); max-height: calc(100dvh - 32px); padding: 28px; border-radius: 16px; overflow-y: auto; }
.tt-dialog form { min-width: 0; }.tt-dialog .dialog-heading { align-items: flex-start; gap: 16px; }
.tt-dialog .dialog-close { min-width: 44px; color: var(--tt-muted); }
.tt-dialog p { font-size: 14px; }.tt-dialog .form-message { font-size: 14px; }
.tt-dialog .danger-button { min-height: 44px; padding: 10px 16px; background: #a62739; color: white; border: 0; border-radius: 9px; }
.tt-dialog-fields { display: grid; gap: 8px; margin: 20px 0; }.tt-dialog-fields > label:not(:first-child) { margin-top: 12px; }
.tt-dialog .dialog-actions { flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.tt-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.tt-loading, .tt-load-error { min-height: 230px; padding: 32px 24px; border: 1px solid var(--line); border-radius: 14px; color: var(--tt-muted); background: #f8faff; }
.tt-loading-bar { display: block; width: 75%; height: 24px; margin-bottom: 16px; border-radius: 6px; background: #e4ebf6; }.tt-loading-bar.short { width: 45%; height: 16px; }
@media (max-width: 1200px) {
  .tt-hero { grid-template-columns: 48px minmax(0, 1fr); }.tt-hero > button { grid-column: 2; justify-self: start; }
  .tt-page-heading { align-items: flex-start; flex-direction: column; }
  .tt-workspace { grid-template-columns: 1fr; }
}
@media (max-width: 780px) {
  .tt-steps { grid-template-columns: 1fr; gap: 4px; }.tt-metrics { grid-template-columns: 1fr; }
  .tt-hero, .tt-card { padding: 20px; }.tt-hero-copy h3 { font-size: 21px; }
}
@media (max-width: 480px) {
  .tiktok-admin-panel { padding: 16px; }.tt-hero { grid-template-columns: 1fr; gap: 12px; }
  .tt-hero > button { grid-column: 1; width: 100%; }.tt-hero-icon { width: 44px; height: 44px; }
  .tt-secret-hints { grid-template-columns: 1fr; }.tt-copy-row { flex-direction: column; align-items: stretch; }
  .tt-page-heading > button { width: 100%; }.tt-dialog { padding: 20px; }.tt-dialog h2 { font-size: 22px; }
  .tt-dialog .dialog-actions > button { flex: 1 1 100%; }.tt-form-actions > button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .tiktok-admin-panel *, .tt-dialog * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
  .tt-badge, .tt-hero, .tt-notice, .tt-steps li > span { border: 1px solid CanvasText; }
  .tiktok-admin-panel button:focus-visible, .tt-dialog button:focus-visible { outline-color: Highlight; }
}

@media (max-width: 1050px) {
  .topbar { flex-wrap: wrap; padding: 24px 0; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .overview-grid, .detail-grid { grid-template-columns: 1fr; }
  .setup-center-hero { align-items: start; grid-template-columns: 1fr; }
  .setup-next-button { min-width: 0; justify-self: start; }
  .organization-setup-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pool-detail-panel > .section-heading { flex-direction: column; }
  .provider-workspace { grid-template-columns: 1fr; }
  .provider-list { display: flex; overflow-x: auto; }
  .provider-list-item { min-width: 190px; }
  .provider-header-card { flex-wrap: wrap; }
  .log-heading { align-items: stretch; flex-direction: column; }
  .filters { flex-wrap: wrap; }
  .plan-grid { grid-template-columns: repeat(2,minmax(220px,1fr)); }
  .detail-columns { grid-template-columns: 1fr; }
  .organization-metrics, .usage-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tiktok-admin-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tiktok-admin-grid { grid-template-columns: 1fr; }
}
@media (max-width: 780px) {
  .admin-shell { display: block; }
  .sidebar { position: static; width: 100%; height: auto; padding: 14px; }
  .sidebar nav { display: grid; overflow: visible; }
  .sidebar nav .nav-item { width: 100%; flex: initial; }
  .nav-group { width: 100%; }
  .sidebar-status, .admin-profile { display: none; }
  .admin-build-marker { width: fit-content; max-width: 100%; margin-top: 12px; }
  .sidebar-brand { padding: 0 5px 14px; }
  .main-content { margin: 0; padding: 0 16px 26px; }
  .topbar { align-items: flex-start; min-height: 0; padding: 24px 0; flex-direction: column; }
  .top-actions { width: 100%; margin: 0; }
  .management-panel > .section-heading { align-items: flex-start; flex-direction: column; }
  .management-panel > .section-heading > .inline-actions { width: 100%; }
  .organization-setup-hero { align-items: start; grid-template-columns: 1fr; }
  .organization-setup-actions { justify-content: flex-start; }
  .pricing-provider-heading { align-items: flex-start; flex-direction: column; }
  .organization-overview-grid, .provider-admin-grid { grid-template-columns: 1fr; }
  .organization-tab-toolbar { align-items: stretch; flex-direction: column; }
  .organization-tab-toolbar .search-form input { width: 100%; }
  .inline-budget-form { grid-template-columns: 1fr; }
  .tiktok-secret-grid { grid-template-columns: 1fr; }
  .inline-budget-form .form-message { grid-column: auto; }
  .cost-guide-hero { align-items: flex-start; flex-direction: column; }
  .cost-guide-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cost-guide-rules { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .login-card { padding: 29px 24px 24px; }
  .metric-grid { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .full { grid-column: auto; }
  .setup-center-panel { padding: 16px; }
  .setup-center-hero { gap: 18px; padding: 18px; }
  .setup-center-hero h3 { font-size: 16px; }
  .setup-next-button { width: 100%; }
  .setup-stage { align-items: start; grid-template-columns: 30px minmax(0, 1fr); }
  .setup-stage > .status-pill { grid-column: 2; justify-self: start; }
  .setup-center-note, .pool-list-summary { flex-direction: column; }
  .pool-list-summary { align-items: flex-start; }
  .pool-list-summary span { text-align: left; }
  .organization-setup-steps { grid-template-columns: 1fr; }
  .pricing-model-heading { align-items: flex-start; flex-direction: column; }
  .pool-setup-steps { display: grid; grid-template-columns: 1fr; }
  .pool-setup-heading { display: grid; }
  .pool-setup-checklist article { align-items: start; grid-template-columns: 23px minmax(0, 1fr); }
  .pool-setup-checklist article > .primary-button, .pool-setup-checklist article > .ghost-button { grid-column: 2; justify-self: start; }
  .provider-header-card { align-items: flex-start; flex-wrap: wrap; }
  .provider-header-actions { width: 100%; margin: 5px 0 0; }
  .plan-grid, .detail-stats { grid-template-columns: 1fr; }
  .search-form { align-items: stretch; flex-direction: column; }.search-form input { width: 100%; }
  .organization-metrics, .usage-metrics { grid-template-columns: 1fr; }
  .tiktok-admin-metrics { grid-template-columns: 1fr; }
  .organization-detail-header { align-items: flex-start; flex-direction: column; gap: 8px; }
  .organization-detail-actions { width: 100%; justify-content: flex-start; margin-left: 0; }
  .cost-guide-page { padding: 16px; }
  .cost-guide-concepts, .cost-guide-live-grid, .cost-guide-flow { grid-template-columns: 1fr; }
  .cost-guide-notice { flex-direction: column; }
  .admin-pagination { align-items: flex-start; flex-direction: column; }
  .pagination-controls { order: 2; max-width: 100%; overflow-x: auto; }
  .pagination-size { order: 3; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@media (forced-colors: active) {
  .admin-build-marker,
  .setup-center-hero,
  .setup-stage,
  .setup-center-note,
  .organization-setup-hero,
  .video-policy-card,
  .admin-disclosure,
  .rate-preview,
  .pool-list-summary,
  .pool-setup-panel,
  .pool-setup-checklist article,
  .readiness-explanation,
  .pool-detail-panel > .section-heading,
  #organizationPoolConsole > .table-scroll,
  .pool-detail-panel > .table-scroll {
    color: CanvasText;
    border: 1px solid CanvasText;
    background: Canvas;
    box-shadow: none;
  }
  .setup-center-hero::after { display: none; }
  .setup-progress { accent-color: Highlight; forced-color-adjust: auto; }
  .setup-next-button { color: ButtonText; border: 1px solid ButtonText; background: ButtonFace; }
  .nav-item.active, .nav-subitem.active, .organization-tab.active { color: HighlightText; background: Highlight; box-shadow: none; }
  .status-pill::before, .pulse-dot { background: currentColor; }
}
