/* Calm, fast-reading light workspace. Authentication artwork keeps its own
   contrast; the signed-in work area and administration canvas use this theme. */
:root {
  --bg: #f4f6fa;
  --panel: #ffffff;
  --panel-2: #f8fafc;
  --panel-3: #eef2f7;
  --line: #e3e8ef;
  --line-soft: #edf1f5;
  --text: #1f2937;
  --muted: #667085;
  --muted-2: #98a2b3;
  --accent: #6851d8;
  --accent-2: #806be6;
  --green: #14845b;
  --red: #c43d46;
  --blue: #2563a8;
}
body:has(.app-shell:not(.hidden)) { background: var(--bg); color: var(--text); }
.sidebar { background: #eeeefa; border-right: 1px solid #e0e2ef; box-shadow: 2px 0 12px rgba(18, 32, 56, .035); scrollbar-color: #c3c5db #eeeefa; }
.brand-light { color: #26314a; }
.workspace-switch { background: #f7f8fc; border-color: var(--line); color: #26314a; }
.workspace-switch small, .version, .nav-label, .nav-item, .connection, .logout { color: #667085; }
.nav-item:hover { background: #f0edff; color: #4633aa; }
.nav-item.active { background: #eeeaff; color: #4f3cc2; }
.nav-item.active .nav-icon, .nav-badge { color: var(--accent); }
.main-content { background: var(--bg); }
.topbar { background: rgba(255,255,255,.92); border-bottom-color: var(--line); color: var(--text); }
.crumb-muted, .eyebrow-muted { color: #7b8798; }
.user-name { color: #475467; }
.balance-chip { color: #667085; background: #fff; border-color: var(--line); }
.balance-chip > span:nth-child(2) { color: #1d2939; }
.view-head h1, .section-title h2, .composer-head h2 { color: #1d2939; }
.view-head p, .tiny-label, .cost-note, .model-meta, .select-wrap label, .option-label { color: #667085; }
.stat-card, .composer, .panel, .table-wrap, .asset-card, .guide-card, .jobs-pager, .asset-toolbar { background: #fff; border-color: var(--line); }
.stat-card { box-shadow: 0 2px 8px rgba(18,32,56,.035); }
.stat-number, .model-card h3, .data-table td, .panel h2, .asset-caption b { color: #1d2939; }
.prompt, .select, .select-wrap select, .panel input, .panel textarea, .modal input { background: #fff; border-color: #d9e0ea; color: #1d2939; }
.prompt::placeholder, .muted { color: #98a2b3 !important; }
.submit-row, .data-table th, .data-table td, .key-card { border-color: var(--line-soft); }
.button-ghost { background: #fff; border-color: #d9e0ea; color: #475467; }
.button-ghost:hover, .button-light:hover { background: #f5f6fa; }
.button-accent { background: var(--accent); color: white; }
.model-card { background: #fff; border-color: var(--line); }
.model-card.selected { background: #f3f0ff; border-color: var(--accent); }
.status-online { color: #117a55; background: #e6f7ef; }
.status-error { color: #b42318; background: #fff0ed; }
.status-demo { color: #9a6700; background: #fff7df; }
.asset-placeholder { background: #f3f6fa; }
.code-block { background: #f7f9fc; border-color: var(--line); color: #344054; }
.modal-backdrop { background: rgba(15, 23, 42, .38); }
.modal { background: #fff; border-color: var(--line); box-shadow: 0 20px 60px rgba(15,23,42,.18); }
.modal p, .modal .form-grid label { color: #667085; }
.icon-button { background: #f2f4f7; color: #475467; }
.page-load-note { padding: 42px 0; color: #667085; }
.connection-retry { text-align: center; }
.connection-retry p { margin: 0 0 16px; }
#auth-loading { background: #f6f7fb; color: #475467; }
.type-tabs button.selected { color: #5540bf; background: #eeeaff; }
.upload-ref { background: #f8f7ff; border-color: #c8c3e9; color: #5540bf; font-size: 12px; height: 36px; }
.ref-thumb { border-color: #d5dce7; background: #f6f7fb; }
.char-count { color: #8893a4; }
.type-tabs button, .hint-block, .studio-footer, .empty, .empty-icon { color: #667085; }
.data-table th { background: #f8f9fc; color: #667085; }
.data-table tr:hover td { background: #fbfbff; }
.code, .key-prefix, .card-code { color: #344054; }
.panel label { color: #475467; font-size: 12px; }
.panel select, select option { background: #fff; color: #1d2939; border-color: #d9e0ea; }
.gallery-image { background: #f0f2f7; }
.picker-card { background: #fff; color: #344054; border-color: #e3e8ef; }
.asset-toolbar { color: #475467; }
.asset-prompt, .key-date, .panel>p { color: #667085; }
.balance-panel { background: linear-gradient(140deg,#ffffff,#f2efff); }
.big-balance { color: #5540bf; }
.pager-button { background: #fff; border-color: #d9e0ea; color: #475467; }
.pager-button.active,.pager-button.active:disabled { background: #eeeaff; color: #5540bf; }
.reference-name-toggle { color: #475467!important; }
.reference-limit-error { color: #b42318; }
.button-light { background: #f9fafb; color: #344054; }
.notice-amber { background: #fffaeb; color: #8a5b13; border-color: #f3dfad; }
.notice-blue { background: #eff7ff; color: #2563a8; border-color: #ccdef5; }
.toast { background: #ecfdf3; color: #146347; border: 1px solid #abefc6; box-shadow: 0 8px 30px #1f293718; }
.toast[data-kind=error] { background: #fff1f0; color: #b42318; border-color: #fecdca; }
.auth-art .brand-light { color: #f8f5ed; }
@media (max-width: 650px) { .sidebar { box-shadow: 0 -2px 12px rgba(18,32,56,.08); } }
.task-number { overflow-wrap: anywhere; white-space: normal; max-width: 220px; min-width: 130px; }
.announcement-button { flex: 0 0 auto; min-width: 48px; height: 32px; border: 1px solid #d9e0ea; border-radius: 6px; background: #fff; color: #475467; cursor: pointer; padding: 0 10px; font-size: 12px; }
.announcement-button.has-announcement { border-color: #b9d7c5; color: #146347; }
.announcement-body { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 60vh; overflow-y: auto; line-height: 1.75; }
.modal-head { gap: 12px; min-width: 0; }
.modal-head h2 { min-width: 0; overflow-wrap: anywhere; }
.modal-head .icon-button { flex: 0 0 28px; }
@media (max-width: 650px) { .topbar { gap: 8px; flex-wrap: wrap; } .top-actions { gap: 8px; flex-wrap: wrap; justify-content: flex-end; } }
