/* Volley — legacy helper names, restyled to the Teli look.
   The real design system lives in /static/theme.css (loaded first by base.html);
   every class below still exists so older templates keep working, but their values
   now come from theme.css tokens. Nothing here may introduce a colour that is not
   a TELI-LOOK.md token. */
[x-cloak] { display: none !important; }

/* .card / .badge-* / .flash-* / .bubble-* / .btn-* / .label / .help / .input /
   .select / .textarea / .table / .stat-* / .progress / .dot-* / .mono / .error-code
   are all defined in theme.css. Only additive compatibility shims live here. */

/* older templates put utilities like !py-1 on buttons: keep them honoured */
.btn-primary.\!py-1, .btn-secondary.\!py-1, .btn-danger.\!py-1 { height: auto; padding-top: 4px !important; padding-bottom: 4px !important; }
.btn-primary.text-xs, .btn-secondary.text-xs, .btn-danger.text-xs { font-size: 12px; }

/* <a class="card stat-tile"> hover lift is handled by .stat-tile in theme.css */

/* inline-list separators in older tables */
.table td .text-xs.text-slate-400 { color: var(--text-muted); }

/* the LLM-misconfigured banner is a full-width flash strip under the header */
[data-llm-misconfigured] { border-radius: 0; border-left: 0; border-right: 0; border-top: 0; box-shadow: none; }

/* Branding (services.branding): an uploaded logo sits in the same 42px tile as the "V" mark */
.sidebar-logo-img { background-image: none; background: var(--card); overflow: hidden; padding: 4px; }
.sidebar-logo-img img { display: block; max-height: 100%; max-width: 100%; object-fit: contain; }

/* Phones: every row of the slide-down menu and the menu button are a 44px tap target */
.mobile-nav-item { display: flex; align-items: center; min-height: 44px; }
@media (max-width: 767px) {
  .mobile-menu-btn.btn-icon.btn-sm { height: 44px; width: 44px; border-radius: var(--r-xl, 12px); }
}

/* Sign-in (auth/login.html): centred, branded, phone-friendly */
.login-shell { width: 100%; max-width: 400px; margin: 0 auto; padding: 32px 16px calc(32px + env(safe-area-inset-bottom)); }
.login-mark { height: 56px; width: 56px; font-size: 26px; border-radius: 16px; }
.login-mark.sidebar-logo-img { padding: 6px; }
.login-card .input, .login-card .btn-primary, .login-card .btn-secondary { min-height: 44px; }
.login-card .input { font-size: 16px; } /* 16px stops iOS zooming into the field */
.login-foot { margin-top: 20px; text-align: center; font-size: 12px; font-weight: 500; color: var(--text-secondary); }

/* Settings → General → Branding card */
.accent-choice { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px 0 10px; border-radius: var(--r-pill, 999px); border: 1px solid var(--border); background: var(--surface); font-size: 13px; font-weight: 500; color: var(--text-body); cursor: pointer; }
.accent-choice:hover { border-color: var(--border-medium); }
.accent-choice.is-on { border-color: var(--ink); box-shadow: 0 0 0 1px var(--ink) inset; color: var(--ink); }
.accent-choice:focus-within { outline: 2px solid var(--accent-ring); outline-offset: 2px; }
.accent-dot { height: 18px; width: 18px; border-radius: 50%; flex: none; box-shadow: 0 0 0 2px var(--surface), 0 0 0 3px var(--border); }
.brand-preview-frame { display: flex; flex-direction: column; gap: 10px; padding: 16px; border-radius: var(--r-card, 16px); border: 1px solid var(--border); background: var(--surface); }
.brand-preview-nav { position: relative; display: flex; align-items: center; gap: 8px; height: 38px; padding: 0 14px 0 18px; border-radius: 999px; font-size: 14px; font-weight: 600; overflow: hidden; }
.brand-preview-nav.is-quiet { font-weight: 500; color: var(--text-secondary); }
.brand-preview-bar { position: absolute; left: 0; top: 6px; bottom: 6px; width: 3px; border-radius: 3px; }
.brand-preview-btn { align-self: flex-start; display: inline-flex; align-items: center; height: 36px; padding: 0 18px; border-radius: var(--r-md, 10px); color: #fff; font-size: 13px; font-weight: 600; }
.brand-preview-link { font-size: 13px; font-weight: 500; }
