/* Hallmark · macrostructure: Workbench · tone: modern-minimal · anchor hue: coral
 * pre-emit critique: P5 H5 E5 S5 R5 V4
 * contrast: pass (40–41) · nav: N3 · slop: pass (42–45)
 * honest: pass (46) · chrome: pass (47) · tokens: pass (48) · responsive: pass (49) · icons: pass (30)
 * mobile: pass (34, 49, 50–57)
 */
html,body{overflow-x:clip}
.console{grid-template-columns:17.5rem minmax(0,1fr)}
.sidebar{padding:var(--space-5) var(--space-3)}
.sidebar .compact{padding-inline:var(--space-2)}
.sidebar .nav-groups{display:grid;align-content:start;gap:var(--space-2);margin-top:var(--space-4);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.nav-group{min-width:0}
.sidebar nav .nav-group-toggle,.sidebar nav .nav-group-items button{width:100%;display:flex;align-items:center;gap:var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;text-align:left;white-space:nowrap;color:var(--color-muted);font-weight:700;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}
#nav button.nav-group-toggle{min-height:2.75rem;padding:var(--space-2) var(--space-3);color:var(--color-ink);font-size:.82rem;letter-spacing:.015em}
.sidebar nav .nav-group-items{display:grid;gap:var(--space-1);padding:var(--space-1) 0 var(--space-2) var(--space-3)}
.sidebar nav .nav-group-items[hidden]{display:none}
.sidebar nav .nav-group-items button{position:relative;min-height:2.35rem;padding:var(--space-2) var(--space-3);font-size:.79rem}
.sidebar nav .nav-group-items button::before{content:"";position:absolute;inset-block:.45rem;inset-inline-start:0;width:.125rem;border-radius:var(--radius-pill);background:transparent}
.sidebar nav .nav-group-items button.active{background:var(--color-paper-soft);color:var(--color-ink);box-shadow:none}
.sidebar nav .nav-group-items button.active::before{background:var(--color-accent)}
.nav-icon,.nav-group-icon{width:1.05rem;height:1.05rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nav-group-icon{color:var(--color-accent);width:1.1rem;height:1.1rem}
.nav-chevron{width:1rem;height:1rem;margin-inline-start:auto;fill:none;stroke:currentColor;stroke-width:2;transition:transform var(--duration-fast) var(--ease-standard)}
.nav-group.is-open .nav-chevron{transform:rotate(180deg)}
.sidebar .logout{min-height:2.75rem;margin-top:var(--space-3);padding-inline:var(--space-3)}
.console-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-5);align-items:start}
.page-heading{min-width:0}
.page-title-row{display:flex;align-items:baseline;gap:var(--space-5);min-width:0}
.page-title-row h1{flex:0 0 auto;overflow-wrap:anywhere;font-style:normal}
.page-title-row p{max-width:44rem;margin:0;color:var(--color-muted);font-size:.86rem;line-height:1.65}
.console-header .status{white-space:nowrap}
@media(hover:hover) and (pointer:fine){.sidebar nav .nav-group-toggle:hover,.sidebar nav .nav-group-items button:hover{background:var(--color-paper-soft);color:var(--color-ink)}.sidebar nav .nav-group-items button:hover{transform:translateX(.125rem)}}
.sidebar nav button:focus-visible,.sidebar .logout:focus-visible{outline:.125rem solid var(--color-focus);outline-offset:.125rem}
.sidebar nav button:disabled{opacity:.45;cursor:not-allowed;transform:none}
.sidebar nav button[data-state="loading"]{cursor:progress}.sidebar nav button[data-state="error"]{color:var(--color-error)}.sidebar nav button[data-state="success"]{color:var(--color-success)}
@media(max-width:56.25rem){.console{grid-template-columns:minmax(0,1fr)}.sidebar{position:static;height:auto}.sidebar .nav-groups{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.nav-group{border:1px solid var(--color-rule);border-radius:var(--radius-md);padding:var(--space-1)}.sidebar .logout{display:flex}.console-header{grid-template-columns:minmax(0,1fr)}.page-title-row{align-items:flex-start;flex-direction:column;gap:var(--space-1)}.page-title-row p{max-width:60ch}.console-header .status{position:absolute;inset-block-start:var(--space-5);inset-inline-end:var(--space-4)}}
@media(max-width:32.5rem){.sidebar .nav-groups{grid-template-columns:minmax(0,1fr)}.page-title-row h1{font-size:1.65rem}.console-header .status{display:none}}
@media(prefers-reduced-motion:reduce){.sidebar nav .nav-group-toggle,.sidebar nav .nav-group-items button,.nav-chevron{transition-duration:150ms;transform:none!important}}
