/* Tennessee Management — shared public design tokens and cross-site refinements.
   Scoped selectors preserve the existing dashboard features and bot UI behavior. */
:root{--tm-page:#0a111c;--tm-surface:#111d2c;--tm-raised:#18283b;--tm-line:#2a3a4d;--tm-text:#edf3fb;--tm-muted:#9bacc1;--tm-blue:#78adff;--tm-radius:14px;color-scheme:dark}
:where(body){font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--tm-blue);outline-offset:3px}
.site-api-home,.site-api-docs,.site-status,.site-portal,.site-support,.site-privacy,.site-studio{background-color:var(--tm-page)}
/* API portal */
.site-api-home .top{background:#0b1420;border-bottom-color:var(--tm-line)}
.site-api-home .top-inner{min-height:82px}.site-api-home .wrap{max-width:1160px}
.site-api-home .logo,.site-api-docs .brandmark{background:#1a304d;border-color:#416084;color:#cae0ff}
.site-api-home .card,.site-api-home .resource,.site-api-home .url{border-color:var(--tm-line);border-radius:var(--tm-radius);background:var(--tm-surface)}
.site-api-home .resource{min-height:94px}.site-api-home .links{gap:20px;flex-wrap:wrap}
.site-api-home .hero{padding-top:76px}.site-api-home .hero h1{letter-spacing:-.055em}
.site-api-docs .sidebar{background:#0d1724}.site-api-docs .topbar{background:#0b1420;border-bottom-color:var(--tm-line)}
.site-api-docs .card,.site-api-docs .box,.site-api-docs .endpoint{border-radius:var(--tm-radius)}
.site-api-docs .main{max-width:1200px}.site-api-docs .toplinks{align-items:center;flex-wrap:wrap;justify-content:flex-end}
/* Status: same header rhythm and card geometry as portal / API. */
.site-status .navwrap{padding:0}.site-status .nav{min-height:82px;border:0;border-bottom:1px solid var(--tm-line);border-radius:0;background:#0b1420;box-shadow:none;max-width:none;padding:13px max(22px,calc((100vw - 1116px)/2))}
.site-status .container{max-width:1160px}.site-status .overview{border-radius:16px;background:linear-gradient(115deg,#122238,#0d1725)}
.site-status .fact,.site-status .service,.site-status .note{border-radius:var(--tm-radius);border-color:var(--tm-line);background-color:var(--tm-surface)}
.site-status .brandmark{object-fit:contain;padding:4px;border:1px solid var(--tm-line);background:#1a304d}
.site-status .navlinks a{border-radius:8px}.site-status .service-left>div:not(.service-icon){min-width:0;overflow-wrap:anywhere}
/* Portal */
.site-portal .site-header{background:#0b1420;border-bottom-color:var(--tm-line)}
.site-portal .header-inner{min-height:82px}.site-portal .shell{max-width:1116px}
.site-portal .header-nav{gap:20px;flex-wrap:wrap}.site-portal .header-nav a{white-space:nowrap}
.site-portal .workspace-card{border-radius:var(--tm-radius);background:var(--tm-surface);border-color:var(--tm-line)}
.site-portal main{padding-top:clamp(60px,7vw,90px)}
/* Support and policy nav */
.site-support,.site-privacy{min-height:100vh;color:var(--tm-text);background:radial-gradient(ellipse at 22% -150px,#17324d 0,transparent 55%),var(--tm-page);font-family:Inter,system-ui,sans-serif}
.tm-public-nav{min-height:82px;border-bottom:1px solid var(--tm-line);background:#0b1420;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px max(24px,calc((100vw - 1116px)/2))}
.tm-public-nav>div{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.tm-public-nav a{font-size:13px;text-decoration:none;color:var(--tm-muted)}.tm-public-nav a:hover{color:white}
.tm-public-nav .tm-nav-brand{display:flex;align-items:center;gap:12px;color:var(--tm-text);font-size:14px;font-weight:750}
.tm-nav-icon{width:39px;height:39px;display:grid;place-items:center;color:#cfe3ff;background:#1a304d;border:1px solid #416084;border-radius:10px;font-weight:800}
.tm-page{max-width:1160px;margin:auto;padding:78px 22px 90px}.tm-kicker{font-weight:800;letter-spacing:.15em;text-transform:uppercase;font-size:11px;color:var(--tm-blue);margin:0 0 15px}.tm-page h1{font-size:clamp(35px,5.5vw,60px);line-height:1.13;letter-spacing:-.055em;margin:0 0 20px}.tm-lead{color:var(--tm-muted);max-width:720px;line-height:1.75;font-size:15px;margin:0 0 44px}.tm-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.tm-link-card{display:flex;flex-direction:column;gap:13px;min-width:0;min-height:240px;border:1px solid var(--tm-line);padding:26px;border-radius:var(--tm-radius);background:var(--tm-surface);text-decoration:none;color:var(--tm-text)}.tm-link-card:hover{border-color:#6789b3;background:var(--tm-raised)}.tm-link-card strong{font-size:18px}.tm-link-card>span:nth-of-type(2){color:var(--tm-muted);font-size:13px;line-height:1.6}.tm-card-icon{font-size:24px;color:var(--tm-blue)}.tm-more{margin-top:auto;color:var(--tm-blue);font-weight:700;font-size:12px}.tm-callout{margin-top:32px;padding:25px 28px;border:1px solid var(--tm-line);background:var(--tm-surface);border-radius:var(--tm-radius)}.tm-callout h2{margin:0 0 10px;font-size:17px}.tm-callout p{color:var(--tm-muted);font-size:13px;line-height:1.7;margin:0}.tm-footer{margin:30px auto 0;max-width:1116px;padding:25px 22px;color:var(--tm-muted);font-size:12px;border-top:1px solid var(--tm-line)}.tm-footer a{color:#a8caff}
.site-privacy main{padding-top:60px}.site-privacy article{border-color:var(--tm-line);background:var(--tm-surface);border-radius:var(--tm-radius)}.site-privacy .brand{color:var(--tm-blue)}.site-privacy .contact{border-left-color:var(--tm-blue)}
/* Studio */
.site-studio{min-height:100vh;color:var(--tm-text)}.site-studio .tm-studio-header{min-height:82px;background:#0b1420;border-bottom:1px solid var(--tm-line);padding:12px max(22px,calc((100vw - 1116px)/2));gap:22px}
.site-studio .tm-nav-brand{font-size:13px;font-weight:700;display:flex;align-items:center;gap:10px;white-space:nowrap;color:var(--tm-text);text-decoration:none}
.site-studio .tm-studio-title{flex:1;min-width:180px}.site-studio .tm-studio-title h1{font-size:18px}.site-studio .tm-studio-links{display:flex;gap:9px;flex-wrap:wrap}
.site-studio main{max-width:1200px;margin:auto;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.site-studio .panel,.site-studio .block,.site-studio .box{border-color:var(--tm-line);border-radius:var(--tm-radius);background:var(--tm-surface);min-width:0}
.site-studio .panel h2{margin-top:0}.site-studio .row>*{min-width:0;flex-shrink:1}.site-studio .row>.grow{flex:1 1 170px}
.site-studio input,.site-studio select,.site-studio textarea{min-width:0;background:#0b1725;border-color:#34485f}
.site-studio .primary{background:#326fbd;border-color:#4f89d6}.site-studio .primary:hover{background:#4181d2}
.site-studio .preview{overflow:hidden;overflow-wrap:anywhere}
/* Keep dense admin tools intact while sharing color, borders and spacing. */
body.theme-management,body.theme-utilities{--tm-page:#0a111c;--tm-line:#2a3a4d;--tm-text:#edf3fb;font-family:Inter,system-ui,sans-serif}
body.theme-management{--accent:#78adff;--accent-soft:rgba(120,173,255,.12);--accent-border:rgba(120,173,255,.3)}
body.theme-utilities{--accent:#79b9cd;--accent-hover:#91cad9}
body.theme-management #login-view>div,body.theme-utilities #login-view>.login-shell{border-radius:var(--tm-radius)}
body.theme-management button:focus-visible,body.theme-utilities button:focus-visible{outline:2px solid var(--tm-blue);outline-offset:3px}
@media(max-width:900px){.site-studio main{grid-template-columns:minmax(0,1fr)}.site-portal .header-inner{gap:14px}}
@media(max-width:720px){.site-api-home .top-inner{min-height:75px}.site-api-home .hero{padding-top:60px}.site-api-home .links{gap:14px}.site-api-docs .toplinks{gap:10px}
.site-status .nav{padding:13px 16px;flex-wrap:wrap}.site-status .navlinks{flex-wrap:wrap}.site-status .navlinks a{padding:9px 10px}.site-status .updated{padding-left:0}
.site-portal .header-inner{padding-block:17px;align-items:flex-start;flex-wrap:wrap}.site-portal .header-nav{gap:15px}.site-portal .shell{width:calc(100% - 32px)}
.tm-public-nav{padding:15px 18px;flex-wrap:wrap}.tm-page{padding:50px 18px 70px}.tm-card-grid{grid-template-columns:1fr}.tm-link-card{min-height:195px}.site-studio .tm-studio-header{padding:15px 18px;flex-wrap:wrap}.site-studio main{padding:18px}.site-studio .row label{min-width:0;max-width:100%}}
@media(max-width:420px){.site-status .brand b{font-size:13px}.site-status .navlinks{width:100%}.site-status .navlinks a:nth-child(2){display:inline-flex}.site-status .overview{padding:20px 17px}.site-status .service{align-items:flex-start}.site-status .right{min-width:88px}.site-studio .tm-studio-title{flex-basis:100%}.site-studio .tm-studio-links{width:100%}.tm-public-nav>div{gap:15px}}
