/* One shell for every authenticated route. Workspaces keep their own palette. */
.app-layout { --sidebar-width:260px; }
.tars-brand { display:inline-flex; align-items:center; flex-shrink:0; gap:12px; width:max-content; color:#efefec; text-decoration:none; }
.tars-brand-symbol { display:block; flex-shrink:0; width:32px; height:32px; }
.tars-brand-word { display:block; width:94px; height:25px; }.tars-brand-word>img { display:block; width:100%; height:100%; }
.tars-brand-name { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.tars-brand:focus-visible { outline:2px solid #dfe590; outline-offset:6px; border-radius:2px; }
.app-sidebar { --shell-bg:#111215; --shell-panel:#1c1e22; --shell-soft:#27292f; --shell-line:#34363c; --shell-text:#efefec; --shell-muted:#a1a5ac; --shell-accent:#dfe590; --shell-selected:#303328; position:fixed; z-index:40; inset:0 auto 0 0; display:flex; width:var(--sidebar-width); flex-direction:column; padding:24px 16px 16px; border-right:1px solid #292b31; background:var(--shell-bg); color:var(--shell-text); color-scheme:dark; }
.app-sidebar-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-inline:8px; margin-bottom:26px; }
.app-sidebar svg { fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.app-sidebar .app-icon-button { border-color:var(--shell-line); background:transparent; color:var(--shell-muted); }.app-sidebar .app-icon-button:hover { background:var(--shell-soft); color:var(--shell-text); }
.app-sidebar :focus-visible { outline:2px solid var(--shell-accent); outline-offset:3px; }
.app-main { min-width:0; margin-left:var(--sidebar-width); }
.app-header { position:sticky; z-index:30; top:0; display:flex; min-height:calc(66px + var(--safe-top)); align-items:center; justify-content:space-between; padding:var(--safe-top) 30px 0; border-bottom:1px solid var(--line); background:rgba(245,247,246,.97); gap:20px; }
.app-header-context { display:flex; min-width:0; align-items:center; font-size:12px; gap:12px; }.app-header-product { color:var(--ink-muted); }.app-header-divider { color:#99aaa2; }.app-header-page { overflow:hidden; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.app-private-indicator { display:flex; flex:0 0 auto; align-items:center; color:var(--ink-muted); font-size:11px; gap:7px; }.app-private-indicator svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.5; }
.app-layout .workspace { padding-top:34px; padding-bottom:48px; }.app-layout .workspace:focus-visible { outline:none; }
.app-icon-button { display:inline-flex; width:42px; height:42px; flex:0 0 auto; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink-soft); }.app-icon-button svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.7; }.app-icon-button:hover { border-color:var(--line-strong); background:var(--surface-soft); }
.app-navigation-toggle,.app-navigation-close,.app-navigation-backdrop { display:none; }
.app-sidebar-session { flex-shrink:0; border-top:1px solid #292b31; }.app-operator { display:grid; min-width:0; margin-bottom:8px; gap:4px; }.app-operator strong,.app-operator>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.app-sidebar-session form { margin:0; }.app-logout { display:flex; align-items:center; gap:10px; width:100%; padding:8px 0; border:0; background:transparent; text-align:left; cursor:pointer; }.app-logout:hover { color:#efefec; }.app-logout svg { width:17px; height:17px; flex-shrink:0; }
.app-sidebar .clara-navigation { display:flex; flex:1; min-height:0; flex-direction:column; overflow:hidden; }
.app-sidebar .clara-nav-heading { display:flex; flex-shrink:0; align-items:center; justify-content:space-between; margin:0 6px 12px; }
.app-sidebar .clara-nav-heading>a:first-child { color:var(--shell-muted); font-size:11px; font-weight:550; text-decoration:none; }
.app-sidebar .clara-nav-heading>a:first-child:hover { color:var(--shell-text); }
.app-sidebar .clara-nav-manage { display:flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:7px; color:var(--shell-muted); }
.app-sidebar .clara-nav-manage:hover { background:var(--shell-soft); }
.app-sidebar .clara-nav-manage svg,.app-sidebar .clara-nav-search svg { width:16px; height:16px; }
.app-sidebar .clara-agent-list { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#41434a transparent; }
.app-sidebar .clara-agent-link { display:flex; align-items:center; min-height:60px; gap:11px; padding:10px; margin-bottom:5px; border-radius:9px; color:var(--shell-text); text-decoration:none; }
.app-sidebar .clara-agent-link:hover { background:#202126; }
.app-sidebar .clara-agent-link[aria-current] { background:#24262b; }
.app-sidebar .clara-agent-link>span:nth-child(2) { flex:1; min-width:0; }
.app-sidebar .clara-agent-link strong { display:block; font-size:13px; font-weight:570; line-height:1.45; overflow-wrap:anywhere; }
.app-sidebar .clara-agent-link small { display:block; margin-top:3px; font-size:10px; color:var(--shell-muted); line-height:1.5; }
.app-sidebar .clara-agent-avatar { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:32px; height:32px; border:1px solid #41443a; border-radius:10px; background:#292c25; color:var(--shell-accent); font-size:12px; font-weight:650; }
.app-sidebar .clara-agent-avatar-personal { border-color:#393d48; background:#242831; color:#b7c0d7; }
.app-sidebar .clara-agent-avatar svg { width:20px; height:20px; }
.app-sidebar .clara-agent-chevron { flex-shrink:0; width:14px; height:14px; color:var(--shell-muted); }
.app-sidebar .clara-room-branch { margin:4px 0 16px 24px; padding-left:13px; border-left:1px solid #36383e; }
.app-sidebar .clara-room-link { display:flex; align-items:flex-start; gap:9px; min-height:40px; padding:10px 9px; margin:3px 0; border-radius:7px; color:var(--shell-muted); font-size:12px; line-height:1.5; text-decoration:none; }
.app-sidebar .clara-room-link svg { flex-shrink:0; width:14px; height:14px; margin-top:2px; }
.app-sidebar .clara-room-link span { min-width:0; overflow-wrap:anywhere; }
.app-sidebar .clara-room-link small { display:block; color:#c7b484; font-size:10px; margin-top:2px; }
.app-sidebar .clara-room-link:hover { background:#24262b; color:var(--shell-text); }
.app-sidebar .clara-room-link[aria-current] { color:var(--shell-accent); background:var(--shell-selected); }
.app-sidebar .clara-create-room,.app-sidebar .clara-create-agent { display:flex; align-items:center; gap:8px; min-height:42px; padding:9px; border:0; border-radius:7px; font-size:11px; text-decoration:none; }
.app-sidebar .clara-create-room { color:var(--shell-muted); }
.app-sidebar .clara-create-room>span,.app-sidebar .clara-create-agent>span { font-size:19px; font-weight:350; line-height:1; }
.app-sidebar .clara-create-room:hover { color:var(--shell-text); background:#222429; }
.app-sidebar .clara-create-agent { flex-shrink:0; margin:10px 3px 4px; color:var(--shell-accent); }
.app-sidebar .clara-create-agent:hover { background:var(--shell-selected); }
.app-sidebar .clara-nav-search { position:relative; display:block; margin:0 4px 10px; }
.app-sidebar .clara-nav-search svg { position:absolute; left:10px; top:11px; color:var(--shell-muted); }
.app-sidebar .clara-nav-search input { width:100%; min-width:0; height:38px; border:1px solid var(--shell-line); border-radius:7px; background:var(--shell-panel); color:var(--shell-text); font-size:11px; padding:8px 10px 8px 32px; }
.app-sidebar .clara-room-search { margin:8px 0; }
.app-sidebar .clara-room-search input { padding-left:10px; }
.app-sidebar .clara-nav-pagination { display:flex; flex-shrink:0; align-items:center; justify-content:center; gap:15px; color:var(--shell-muted); font-size:10px; padding:5px; }
.app-sidebar .clara-nav-pagination button { width:32px; height:32px; border:1px solid var(--shell-line); border-radius:6px; color:var(--shell-text); background:transparent; }
.app-sidebar .clara-nav-pagination button:disabled { opacity:.35; }
.app-sidebar .clara-nav-note { padding:6px 10px; color:var(--shell-muted); font-size:11px; line-height:1.6; }
.app-sidebar .clara-nav-note button { color:var(--shell-accent); border:0; background:none; padding:4px; }
.app-sidebar .clara-utilities { flex-shrink:0; display:grid; gap:2px; padding:14px 5px 10px; border-top:1px solid #292b31; margin-top:12px; }
.app-sidebar .clara-utilities>a,.app-sidebar .clara-operations summary,.app-sidebar .clara-operations nav a { display:flex; align-items:center; gap:10px; min-height:38px; padding:8px; border-radius:7px; color:var(--shell-muted); font-size:11px; text-decoration:none; }
.app-sidebar .clara-utilities svg { width:16px; height:16px; flex-shrink:0; }
.app-sidebar .clara-utilities>a:hover,.app-sidebar .clara-operations summary:hover,.app-sidebar .clara-operations nav a:hover { color:var(--shell-text); background:#222429; }
.app-sidebar .clara-utilities>a[aria-current] { color:var(--shell-accent); background:var(--shell-selected); }
.app-sidebar .clara-operations summary { cursor:pointer; list-style:none; }
.app-sidebar .clara-operations summary::-webkit-details-marker { display:none; }
.app-sidebar .clara-operations summary>svg:last-child { width:12px; margin-left:auto; }
.app-sidebar .clara-operations[open] summary>svg:last-child { transform:rotate(180deg); }
.app-sidebar .clara-operations nav { padding:0 0 0 26px; }
.app-sidebar .clara-operations nav a { min-height:34px; }
.app-sidebar .app-sidebar-session { padding:13px 10px 0; margin-top:0; border-color:#292b31; }
.app-sidebar .app-session-label { display:none; }
.app-sidebar .app-operator strong { color:var(--shell-text); font-size:11px; }
.app-sidebar .app-operator span { font-size:10px; color:var(--shell-muted); }
.app-sidebar .app-logout { color:var(--shell-muted); font-size:10px; min-height:32px; padding:8px 0 0; }

.app-sidebar .clara-operations nav a[aria-current="page"] { color:var(--shell-accent); background:var(--shell-selected); }
.app-sidebar .clara-operations[data-current="true"]>summary { color:var(--shell-text); }
.app-sidebar .aw-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; }
@media(min-width:961px) and (max-width:1180px) { .app-layout .codex-analysis-insights { grid-template-columns:1fr; } }
@media(max-width:960px) {
 .app-main { margin-left:0; }.app-header { min-height:calc(64px + var(--safe-top)); padding-inline:22px; }.app-header-product,.app-header-divider { display:none; }.app-navigation-toggle,.app-navigation-close { display:inline-flex; }
 .app-sidebar { z-index:80; width:min(320px,calc(100vw - 36px)); padding-top:calc(18px + var(--safe-top)); padding-bottom:calc(16px + var(--safe-bottom)); visibility:hidden; transform:translateX(-100%); }
 .app-navigation-open { overflow:hidden; }.app-navigation-open .app-sidebar { visibility:visible; transform:translateX(0); }
 .app-navigation-backdrop { position:fixed; z-index:70; inset:0; width:100%; height:100%; padding:0; border:0; background:#060709a6; }.app-navigation-open .app-navigation-backdrop { display:block; }
 .app-sidebar .clara-nav-manage { width:36px; height:36px; }
}
@media(max-width:720px) { .app-header { padding-inline:16px; gap:12px; }.app-header-context { font-size:13px; gap:12px; }.app-layout .workspace { padding-top:27px; padding-bottom:calc(32px + var(--safe-bottom)); } }
.access-denied-card .tars-brand { margin-bottom:48px; }
