/* Tenant tokens sourced from sollors.com; licensed brand fonts not bundled. */
:root, html.light {
 --brand-ground:#FDFAEB; --brand-paper:#FFFFF8; --brand-ink:#00001E;
 --brand-blue:#0078FF; --brand-cyan:#46E1E6; --brand-gray:#B1C2D2; --brand-muted:#8CA0B9;
 --bg-primary:var(--brand-ground); --bg-secondary:var(--brand-paper); --bg-card:var(--brand-paper);
 --bg-tertiary:#eeeede; --bg-header:var(--brand-paper); --text-primary:var(--brand-ink);
 --text-secondary:#424256; --text-tertiary:#525268; --border-primary:#d2d2c5;
 --accent:#005fc9; --accent-hover:#004ea8; --accent-ink:var(--brand-paper);
 --accent-subtle:#e2edf2; --border-hover:var(--brand-blue); --font-sans:Arial,Helvetica,system-ui,sans-serif;
 --scrollbar-track:var(--brand-ground); --scrollbar-thumb:var(--brand-gray); --shadow-button:none;
 --radius-md:.4rem; --radius-lg:.6rem; --shadow-card:none;
}
html.dark {--bg-primary:#00001E;--bg-secondary:#13132f;--bg-card:#13132f;--bg-header:#13132f;--bg-tertiary:#22223b;--text-primary:#FFFFF8;--text-secondary:#B1C2D2;--text-tertiary:#B1C2D2;--border-primary:#42425c;--accent:#46E1E6;--accent-hover:#8aedee;--accent-ink:#00001E;--accent-subtle:#16343e;--scrollbar-track:#00001E;--scrollbar-thumb:#8CA0B9}
body,html.light body {background:var(--bg-primary)}
::selection {background:var(--brand-cyan);color:var(--brand-ink)}
input {caret-color:var(--accent)}
a {text-underline-offset:.2em}
:focus-visible {outline:3px solid var(--accent);outline-offset:4px}
button,input {font:inherit}button,a.btn {min-height:44px}button {cursor:pointer}
[hidden] {display:none!important}
.sidebar,.topbar,.site-header {backdrop-filter:none}
.sidebar {transition:transform 200ms ease-out}.app-content {transition:none}
.btn,.btn:hover {box-shadow:none}
.tenant-brand {display:flex;flex-direction:column;gap:.3rem;text-decoration:none;color:var(--text-secondary);font-size:.8rem}
.tenant-brand img {object-fit:contain;object-position:left;width:154px;height:40px}
html.dark .tenant-brand img {filter:invert(1)}
.sidebar-head {padding:1.4rem;min-height:112px}.sidebar .nav-link {min-height:44px;font-size:1rem;border-radius:.35rem}
.sidebar-nav {padding:1.2rem;gap:.5rem}.sidebar-foot {padding:1.2rem}
.not-connected {display:grid;gap:.75rem;margin-top:2rem;color:var(--text-tertiary);font-size:.875rem}
.not-connected p {margin:0 0 .2rem;font-size:.75rem}.not-connected span {padding:.2rem .65rem}
.session-note {font-size:.75rem;color:var(--text-secondary);margin:0}
.workspace-label {color:var(--text-secondary);font-size:.875rem}
.topbar {gap:1rem;padding:1rem 2.5rem;min-height:82px}.topbar .header-actions {margin-left:auto;gap:1rem;flex-wrap:wrap}
.site-main {padding:3rem 2.5rem;width:100%;max-width:84rem}.app-content {min-width:0}
.hero {margin-bottom:3rem}.page-title {font-size:clamp(1.9rem,3vw,3rem);letter-spacing:-.035em;margin-bottom:1rem}
.page-lead {max-width:65ch}.section-head {align-items:center;flex-wrap:wrap}
.field-input {border:1px solid var(--border-primary);border-radius:.35rem;background:var(--bg-secondary);color:var(--text-primary);padding:.7rem 1rem;width:100%;max-width:23rem}
.field-input::placeholder {color:var(--text-tertiary)}
.tenant-apps {display:flex;gap:1.5rem;flex-wrap:wrap}.tenant-apps>a {text-decoration:none;min-height:250px;padding:2rem;display:flex;flex-direction:column;justify-content:space-between;gap:2rem;transition:background-color 180ms ease-out}
.chat-launch {flex:2 1 360px;background:var(--brand-cyan);color:var(--brand-ink);border-radius:.5rem}
.chat-launch:hover {background:#77e9ed}.tenant-apps h3 {font-size:2rem;margin:.5rem 0}.tenant-apps p {max-width:48ch;margin:0}.app-type {font-size:.875rem}
.launch-label {display:flex;align-items:center;gap:1rem;font-weight:700}.admin-launch {flex:1 1 250px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:.5rem}
.admin-launch:hover {border-color:var(--accent)}.admin-launch span {color:var(--accent);font-weight:700}
.overview-section {margin-top:3.5rem}.overview-row {padding:1.6rem 0;border-bottom:1px solid var(--border-primary);display:flex;align-items:center;justify-content:space-between;gap:2rem}.overview-row h3 {margin:0 0 .5rem;font-size:1.1rem}.overview-row p {margin:0;color:var(--text-secondary);max-width:65ch}.overview-row a {flex-shrink:0}
.tenant-footer {padding:1.5rem 2.5rem;border-top:1px solid var(--border-primary);display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.8rem;color:var(--text-secondary);margin-top:auto}.tenant-footer a {color:inherit}
.public-header {padding:1.5rem clamp(1.5rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-primary)}
.public-main {max-width:90rem;margin:auto;padding:5rem clamp(1.5rem,5vw,5rem)}
.welcome {display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;align-items:center;min-height:55vh}.welcome h1 {font-size:clamp(2.8rem,5vw,5.5rem);line-height:1.05;letter-spacing:-.035em;margin:0 0 2rem;text-wrap:balance}.welcome p {max-width:55ch;color:var(--text-secondary);font-size:1.1rem}.welcome .btn {margin-top:1.5rem}.welcome-aside {background:var(--brand-cyan);padding:3rem;border-radius:.5rem;color:var(--brand-ink)}.welcome-aside h2 {font-size:2.4rem;line-height:1.15;margin:0 0 2rem}.welcome-aside p {color:var(--brand-ink)}
.notice {border:1px solid var(--border-primary);padding:1.5rem;margin-top:2rem}.notice p {font-size:.95rem;margin-bottom:0}
.message,.usage-empty {max-width:70ch;padding:1rem 0 4rem}.message .btn {margin-top:2rem}.usage-empty h2,.message h2 {font-size:1.6rem}.usage-empty p {color:var(--text-secondary);line-height:1.7}
.skip-link {position:absolute;left:1rem;top:-100px;background:var(--bg-card);padding:1rem;z-index:100;color:var(--text-primary)}.skip-link:focus {top:1rem}
#sidebar-open,.sidebar-close {display:none}
@media(max-width:1023px) {
 #sidebar-open,.sidebar-close {display:inline-flex}.sidebar-head {flex-wrap:wrap}.sidebar {width:min(320px,90vw)}
 .topbar {padding:1rem;flex-wrap:wrap}.workspace-label {display:none}.topbar .header-actions {gap:.5rem}.user-name {display:none}
 .site-main {padding:2rem 1.25rem}.hero {margin-bottom:2rem}.section-head>div {width:100%}.tenant-apps>a {flex-basis:100%;padding:1.5rem;min-height:220px}
 .overview-row {align-items:flex-start;flex-direction:column;gap:1rem}.tenant-footer {padding:1.5rem 1.25rem}
 .welcome {grid-template-columns:1fr;gap:3rem}.welcome-aside {padding:2rem}.public-main {padding:3rem 1.5rem}.welcome h1 {font-size:3.2rem}
}
@media(prefers-reduced-motion:reduce) {* {scroll-behavior:auto!important;transition:none!important;animation:none!important}}
