/* Workspace shell — sidebar rail, top bar, brand, nav groups. Signal tokens only
   (theme.css loads after this file, so every var() resolves at the theme boundary).
   Geometry is a retained contract: 228px rail, 56px bar, 30px page inset. */
:root{--workspace-rail:var(--rail-width,228px)}
.workspace{margin:0;background:var(--bg)}

/* Top bar */
.workspace-bar{height:var(--bar-height,56px);display:flex;align-items:center;gap:var(--space-4,16px);padding:0 var(--space-6,24px);background:var(--surface-inset);color:var(--text);border-bottom:var(--line-width,1px) solid var(--border);position:sticky;top:0;z-index:60;margin-left:var(--workspace-rail);font:var(--weight-normal,400) var(--type-base,14px)/var(--leading-normal,1.5) var(--font-body)}
.workspace-bar>a{margin-left:auto;color:var(--muted);text-decoration:none;font-size:var(--type-sm,13px);font-weight:var(--weight-medium,500);padding:var(--space-2,8px) var(--space-3,12px);border-radius:var(--radius-sm,6px)}
.workspace-bar>a:hover{color:var(--text);background:var(--surface-hover)}
.workspace-bar button{margin:0}
#workspace-toggle{display:inline-grid;place-items:center;width:var(--control-height,36px);height:var(--control-height,36px);padding:0;background:var(--clear,transparent);border:var(--line-width,1px) solid var(--border-strong);color:var(--text);border-radius:var(--radius-sm,6px);cursor:pointer;font-size:var(--type-md,16px);line-height:1;transition:background var(--motion-fast,120ms) var(--ease),border-color var(--motion-fast,120ms) var(--ease)}
#workspace-toggle:hover{background:var(--surface-hover);border-color:var(--accent)}
/* Theme switch: compact square control, glyph follows the active theme. The text label
   stays in the DOM (and in aria-label) for assistive tech; only the glyph is painted. */
.workspace-bar #cc-theme-toggle{display:inline-grid;place-items:center;width:var(--control-height,36px);height:var(--control-height,36px);min-height:0;padding:0;margin-left:auto;font-size:0;line-height:0;color:var(--muted);background:var(--clear,transparent);border:var(--line-width,1px) solid var(--border);border-radius:var(--radius-sm,6px)}
.workspace-bar #cc-theme-toggle::before{content:"\263E";font-size:var(--type-md,16px);line-height:1;font-family:var(--font-body)}
[data-theme="light"] .workspace-bar #cc-theme-toggle::before{content:"\2600"}
.workspace-bar #cc-theme-toggle:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}
.workspace-bar #cc-theme-toggle+a{margin-left:0}
.workspace-mini-brand{display:flex;align-items:center;gap:var(--space-3,12px);font:var(--weight-bold,600) var(--type-md,16px)/1 var(--font-display);color:var(--text);white-space:nowrap;letter-spacing:var(--tracking-tight,-0.025em)}
.workspace-mini-brand .brand-mark{align-items:center;height:18px}
.workspace-mini-brand .brand-mark span{background:var(--accent);animation:none}

/* Sidebar */
.workspace-sidebar{position:fixed;inset:0 auto 0 0;width:var(--workspace-rail);box-sizing:border-box;background:var(--surface-inset);color:var(--muted);border-right:var(--line-width,1px) solid var(--border);z-index:var(--layer-nav,70);overflow-y:auto;display:flex;flex-direction:column;font:var(--weight-normal,400) var(--type-base,14px)/var(--leading-normal,1.5) var(--font-body);padding:var(--space-6,24px) var(--space-3,12px)}
.workspace-brand{display:flex;align-items:center;gap:var(--space-3,12px);font:var(--weight-bold,600) var(--type-lg,18px)/var(--leading-tight,1.2) var(--font-display);color:var(--text);padding:0 var(--space-1,4px) var(--space-7,28px);text-decoration:none;letter-spacing:var(--tracking-tight,-0.025em)}
.workspace-brand-copy{white-space:nowrap}
.workspace-brand-copy small{display:block;font:var(--weight-normal,400) var(--type-xs,12px)/var(--leading-normal,1.5) var(--font-body);color:var(--muted);letter-spacing:normal;margin-top:var(--space-1,4px)}
.workspace-emblem{display:grid;place-items:center;flex:none;width:var(--space-10,40px);height:var(--space-10,40px);border:var(--line-width,1px) solid var(--accent);border-radius:var(--radius-md,10px);background:var(--accent-soft);box-shadow:none}
.workspace-emblem .brand-mark{height:18px;gap:2px;align-items:center}
.workspace-emblem .brand-mark span{width:3px;background:var(--accent);animation:none}
.workspace-sidebar nav>a,.workspace-group summary,.workspace-group a,.workspace-signout{display:block;padding:var(--space-3,12px) var(--space-3,12px);border-radius:var(--radius-sm,6px);color:var(--muted);text-decoration:none;cursor:pointer;transition:background var(--motion-fast,120ms) var(--ease),color var(--motion-fast,120ms) var(--ease)}
.workspace-sidebar nav>a:hover,.workspace-group a:hover,.workspace-group summary:hover,.workspace-signout:hover{background:var(--surface-hover);color:var(--text)}
.workspace-group{border:0;margin:var(--space-1,4px) 0;padding:0}
.workspace-group summary{list-style:none;font-weight:var(--weight-normal,400)}
.workspace-group summary::-webkit-details-marker{display:none}
.workspace-group summary:after{content:'›';float:right;color:var(--muted);font-size:var(--type-md,16px);line-height:var(--leading-normal,1.5)}
.workspace-group[open] summary{color:var(--text)}
.workspace-group[open] summary:after{content:'⌄';line-height:1}
.workspace-group>div{padding:0 0 var(--space-2,8px) var(--space-3,12px)}
.workspace-group a{font-size:var(--type-sm,13px);padding:var(--space-2,8px) var(--space-3,12px)}
.workspace-sidebar a[aria-current=page]{color:var(--accent);background:var(--accent-soft);box-shadow:var(--shadow-active)}
.workspace-signout{margin-top:auto;padding-top:var(--space-6,24px);font-size:var(--type-sm,13px)}
.workspace-signout:hover{background:var(--clear,transparent)}

/* Page area */
.workspace>.container{box-sizing:border-box;margin:0 0 0 var(--workspace-rail);width:calc(100% - var(--workspace-rail));max-width:none;padding:var(--page-padding,30px);min-width:0}
.workspace.nav-closed>.workspace-sidebar{display:none}
.workspace.nav-closed>.container,.workspace.nav-closed>.workspace-bar{margin-left:0;width:100%}
.workspace-skip{position:fixed;left:var(--space-4,16px);top:-80px;z-index:var(--layer-toast,100);padding:var(--space-3,12px);background:var(--surface);color:var(--text);border:var(--line-width,1px) solid var(--accent);border-radius:var(--radius-sm,6px)}
.workspace-skip:focus{top:var(--space-2,8px)}
.workspace :is(.workspace-sidebar,.workspace-bar) :focus-visible{outline:var(--focus-width,2px) solid var(--accent);outline-offset:2px}

/* Signed-out shell (login / forgot / set password) */
.workspace-login-brand{display:flex;align-items:center;gap:var(--space-3,12px);height:var(--bar-height,56px);padding:0 var(--space-8,32px);background:var(--surface-inset);color:var(--text);border-bottom:var(--line-width,1px) solid var(--border);font:var(--weight-bold,600) var(--type-md,16px)/1 var(--font-display);letter-spacing:var(--tracking-tight,-0.025em)}
.workspace-backdrop{display:none}

/* Sales keeps its workflow controls as tabs rather than a second sidebar. */
body.workspace:has(#sales-command)>.container{margin-left:var(--workspace-rail);width:calc(100% - var(--workspace-rail));padding:0}
body.workspace.nav-closed:has(#sales-command)>.container{margin-left:0;width:100%}
.workspace #sales-command{grid-template-columns:minmax(0,1fr);min-height:calc(100vh - var(--bar-height,56px))}
.workspace #sales-command>.sc-nav{flex-direction:row;flex-wrap:wrap;gap:var(--space-2,8px);padding:var(--space-3,12px) var(--space-6,24px);border-right:0;border-bottom:var(--line-width,1px) solid var(--border)}
.workspace #sales-command>.sc-nav .sc-brand,.workspace #sales-command>.sc-nav .sc-kicker,.workspace #sales-command>.sc-nav .sc-nav-foot{display:none}
.workspace #sales-command>.sc-nav>button{width:auto;min-height:var(--control-height,36px);padding:var(--space-2,8px) var(--space-3,12px)}

@media(max-width:800px){
.workspace>.container,body.workspace:has(#sales-command)>.container{margin-left:0;width:100%;padding:var(--space-4,16px)}
body.workspace:has(#sales-command)>.container{padding:0}
.workspace-bar{margin-left:0;padding:0 var(--space-4,16px);gap:var(--space-3,12px)}
.workspace-sidebar{width:260px;box-shadow:var(--shadow-pop)}
.workspace:not(.nav-closed)>.workspace-backdrop{display:block;position:fixed;inset:0;z-index:65;background:color-mix(in srgb,var(--bg) 65%,transparent);border:0;border-radius:0;width:100%;height:100%;padding:0;margin:0}
.workspace>.workspace-backdrop[hidden]{display:none}
.workspace-login-brand{padding:0 var(--space-4,16px)}
}
