/* Brand fonts, self-hosted (OFL): Inter for body text and headings. Latin subset, variable weight. */
@font-face{font-family:"Inter";src:url(fonts/inter-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Nunito";src:url(fonts/nunito-latin-wght-normal.woff2) format("woff2");font-weight:200 1000;font-style:normal;font-display:swap}
:root {
--brand-start: #7B55E3; --brand-end: #AF90FD;
--ink: #212730; --ink-soft: #2F3546; --rail-muted: #AFB5C7;
--font-heading: var(--font-body);
--font-body: "Inter", system-ui, sans-serif;
--font-code: "IBM Plex Mono", ui-monospace, monospace;
--radius-control: 8px; --radius-panel: 12px; --motion-fast: 140ms; --motion-dialog: 200ms; --motion-menu: 150ms; --motion-rail: 200ms; --motion-ease: cubic-bezier(.33,1,.68,1);
--floating-shadow: 0 24px 48px -12px rgba(16,18,27,.28), 0 4px 12px -2px rgba(16,18,27,.10);
--pop-shadow: 0 8px 20px -6px rgba(16,18,27,.12), 0 2px 4px -1px rgba(16,18,27,.06);
--dialog-backdrop-opacity: 1; --dialog-backdrop-blur: 4px;
}
[data-theme="light"] {
--canvas: #FBFAFC; --backdrop: #EFF0F4; --surface: #FFFFFF; --raised: #F0F2F9; --text: #303034;
--dialog-backdrop: rgba(16,18,27,.5);
--secondary: #515761; --muted: #616976; --border: #737D8E; --divider: #E2E4EA;
--control-border: var(--divider); --control-border-hover: #A6ADBD;
--chart-1: #6D49CB; --chart-2: #66A9FE; --chart-3: #048C60;
--action: #6D49CB; --hover: #5B3BB0; --pressed: #4C2C96; --on-action: #FFFFFF;
--link: #5B3BB0; --focus: #343A92; --selected: #EBEAFC; --on-selected: #5B3BB0;
--disabled: #DFE1EB; --on-disabled: #666D7C;
--info: #3558A8; --info-bg: #EBF0FC; --success: #21634D; --success-bg: #EAF5EF;
--warning: #80520B; --warning-bg: #FFF3DB; --error: #A72D3D; --error-bg: #FDEEF0;
}
[data-theme="dark"] {
--canvas: #1D2124; --backdrop: #16181B; --surface: #303034; --raised: #353840; --text: #F8F5F8;
--dialog-backdrop: rgba(0,0,0,.6);
--secondary: #C5C9D5; --muted: #A2AABC; --border: #8B93AB; --divider: #414652;
--control-border: var(--divider); --control-border-hover: #606678;
--chart-1: #985EEB; --chart-2: #72C6FF; --chart-3: #4ADCAA;
--action: #AF90FD; --hover: #BFAFFE; --pressed: #9777E5; --on-action: #1D1B31;
--link: #C5B8FE; --focus: #CCC0FE; --selected: #342A52; --on-selected: #CCC0FE;
--disabled: #3E4250; --on-disabled: #AAB1C6;
--info: #9DBBFF; --info-bg: #273550; --success: #8CDBB2; --success-bg: #203E33;
--warning: #F2C36B; --warning-bg: #45361D; --error: #FFA4B0; --error-bg: #4B2930;
}
.chart-kit{display:grid;justify-items:center;gap:16px;min-width:0;width:100%;font-variant-numeric:tabular-nums}.chart-svg{width:100%;max-width:640px;height:auto;overflow:visible}.chart-radial{width:min(220px,100%);height:auto}.chart-grid{stroke:var(--divider);stroke-width:1;vector-effect:non-scaling-stroke}.chart-axis-label{fill:var(--muted);font-size:11px}.chart-value-label,.chart-centre,.chart-centre-caption{fill:var(--text)}.chart-value-label{font-size:11px;font-weight:600}.chart-centre{font:700 25px var(--font-heading)}.chart-centre-caption{font-size:11px}.chart-color-1{--series:var(--chart-1)}.chart-color-2{--series:var(--chart-2)}.chart-color-3{--series:var(--chart-3)}.chart-mark{fill:var(--series)}.chart-track{fill:none;stroke:var(--divider);stroke-width:24}.chart-arc{fill:none;stroke:var(--series);stroke-width:24}.chart-area{fill:var(--chart-1);opacity:.16}.chart-line{fill:none;stroke:var(--chart-1);stroke-width:2;vector-effect:non-scaling-stroke}.chart-point{fill:var(--chart-1);stroke:var(--surface);stroke-width:2}.chart-legend{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;padding:0;margin:0;color:var(--text);font-size:12px}.chart-legend li{display:flex;align-items:center;gap:7px;min-width:0;overflow-wrap:anywhere}.chart-swatch{width:12px;height:12px;flex:none;background:var(--series)}.chart-table{width:100%;min-width:0;font-size:12px}.chart-table summary{color:var(--link);cursor:pointer;width:max-content;max-width:100%;padding:8px;border-radius:var(--radius-control)}.chart-table summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.chart-table .table-wrap{max-width:100%;overflow-x:auto}.chart-table table{width:100%;margin-top:8px}.chart-table th{overflow-wrap:anywhere}.chart-state{min-height:180px;display:grid;place-items:center;color:var(--muted);text-align:center}.chart-meters{width:100%;display:grid;gap:18px}.chart-meter{min-width:0}.chart-meter-label{display:flex;gap:12px;justify-content:space-between;align-items:end;font-size:12px;overflow-wrap:anywhere}.chart-meter-label span{min-width:0}.chart-meter-label strong{font-variant-numeric:tabular-nums;flex:none}.chart-meter-track{height:18px;background:var(--divider);padding:2px;margin-top:5px}.chart-meter-fill{height:100%;background:var(--series)}
.chart-meter-track{display:flex;gap:2px;padding:0;background:var(--surface)}.chart-meter-fill,.chart-meter-rest{min-width:0;height:18px;background:var(--series)}.chart-track{pointer-events:none}
/* Rail focus and selection use the dark Lilac focus token in both themes, giving more than
   3:1 contrast against the fixed brand rail. */
:root{--rail-focus:#CCC0FE;--rail-divider:#616774;--rail-text:#F8F5F8}
*{box-sizing:border-box}body{margin:0;font:400 14px/1.5 var(--font-body);background:var(--backdrop);color:var(--text)}[data-theme=dark]{color-scheme:dark}[data-theme=light]{color-scheme:light}
button,input{font:inherit;color:inherit}button{cursor:pointer}button,input,a{touch-action:manipulation}button{transition:background var(--motion-fast),color var(--motion-fast);font-size:12px;line-height:1.25rem;font-weight:500}button:focus-visible,input:focus-visible,a:focus-visible,[tabindex='-1']:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button:disabled{background:var(--disabled);color:var(--on-disabled);cursor:not-allowed}button:active:not(:disabled){background:var(--selected)}::selection{background:var(--action);color:var(--on-action)}input::placeholder,textarea::placeholder{color:var(--muted)}input,textarea,select{accent-color:var(--action);caret-color:var(--action)}h1,h2,h3,p{margin:0}h1{font:700 30px/40px var(--font-heading)}h2{font:600 18px/28px var(--font-heading)}h3{font:600 15px/24px var(--font-heading)}p{max-width:72ch}svg{display:block}.ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.muted{color:var(--muted)}.small{font-size:12px;line-height:1.25rem}.mono{font-variant-numeric:tabular-nums}.money{font-variant-numeric:tabular-nums}.row{display:flex;gap:12px;align-items:center}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.stack{display:grid;gap:16px}.grow{flex:1;min-width:0}.break{overflow-wrap:anywhere}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:6px 12px;border:1px solid var(--control-border);border-radius:var(--radius-control);background:var(--surface);color:var(--text);max-width:100%;overflow-wrap:anywhere}.btn:hover{background:var(--raised);border-color:var(--control-border-hover)}.btn.primary{background:var(--action);color:var(--on-action);border-color:var(--action)}.btn.primary:hover{background:var(--hover)}.btn.primary:active{background:var(--pressed)}.btn.quiet{border-color:transparent;background:transparent;color:var(--text)}.btn.quiet:hover{background:var(--raised)}.icon-btn{padding:6px;width:36px;min-width:36px}.full{width:100%}.chip{display:inline-flex;align-items:center;gap:4px;border-radius:var(--radius-control);padding:4px 8px;font-size:12px;line-height:1.25rem;font-weight:500;max-width:100%;overflow-wrap:anywhere}.chip .ic{width:16px;height:16px}.chip.good{background:var(--success-bg);color:var(--success)}.chip.info{background:var(--info-bg);color:var(--info)}.chip.warn{background:var(--warning-bg);color:var(--warning)}.chip.bad{background:var(--error-bg);color:var(--error)}.chip.neutral{background:var(--raised);color:var(--secondary)}
html:has(.app),body:has(.app){height:100%;overflow:clip}.app{display:grid;grid-template-columns:280px minmax(0,1fr);height:100vh;min-height:0;padding:12px;gap:12px;overflow:hidden}.app.review{grid-template-columns:280px minmax(0,1fr) 296px}.rail{position:static;top:0;height:100%;background:var(--surface);color:var(--text);padding:26px 12px 12px;border:1px solid var(--divider);border-radius:var(--radius-panel);display:flex;flex-direction:column;gap:24px;overflow:auto}.brand{padding:12px 0;width:216px;flex:none}.brand>svg{width:216px;height:auto}.rail .muted{color:var(--rail-muted)}.rail button{color:var(--rail-text);background:transparent}.rail button:hover,.rail button[aria-current=page]{background:var(--ink-soft)}.rail :focus-visible{outline-color:var(--rail-focus)}.scope-wrap{display:flex;gap:4px;min-width:0}.scope-trigger{flex:1;min-width:0;display:flex;gap:12px;align-items:center;text-align:left;padding:12px;border:1px solid var(--rail-muted);border-radius:var(--radius-control);overflow-wrap:anywhere}.scope-trigger .small{display:block;color:var(--rail-muted);font-weight:400;margin-bottom:4px}.scope-trigger strong{font-weight:600}.rail nav{display:grid;gap:4px}.nav-item{border:0;border-radius:var(--radius-control);text-align:left;padding:12px;min-height:44px;display:flex;align-items:center;gap:12px;position:relative}.nav-item[aria-current=page]:before{content:'';position:absolute;left:-8px;top:12px;bottom:12px;width:3px;background:var(--rail-focus);border-radius:var(--radius-control)}.nav-item[aria-current=page]>.ic{color:var(--rail-focus)}.nav-section{margin-top:16px}.rail-foot{margin-top:auto;border-top:0;padding-top:12px}
/* Scope and Review stay fixed; only the navigation scrolls.
   The inset keeps the full 3px + 3px keyboard focus ring visible. */
.rail{overflow:hidden}.rail>nav{min-height:0;overflow:auto;padding:8px;margin:-8px;scroll-padding:8px}.rail>.rail-foot{flex:none;background:var(--surface)}.rail .clear{color:var(--rail-text)}[data-theme=dark] :is(.rail,.rail>.rail-foot,.main-shell,.main-shell>.topbar){background:var(--canvas)}.main-shell{min-width:0;height:100%;border:1px solid var(--divider);border-radius:var(--radius-panel);background:var(--surface);overflow:hidden;display:flex;flex-direction:column}.topbar{height:64px;background:var(--surface);border-bottom:1px solid var(--divider);padding:12px 24px;display:flex;gap:24px;align-items:center;justify-content:space-between}.crumb{font-size:12px;line-height:1.25rem;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap;overflow-wrap:anywhere}.crumb strong{color:var(--text);font-weight:500}.user{min-width:0;max-width:280px;display:flex;align-items:center;gap:8px}.avatar{border-radius:var(--radius-control);width:40px;height:40px;flex:none;background:var(--selected);color:var(--on-selected);display:grid;place-items:center;font-size:12px;font-weight:600}.user-text{font-size:12px;line-height:1.25rem;overflow-wrap:anywhere}.user-text strong{font-weight:500;display:block}.mobile-head{display:none}.content{padding:24px;max-width:1600px;margin:0 auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.eyebrow{font-size:10px;line-height:14px;font-weight:500;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);margin-bottom:8px}.panel{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-panel);min-width:0}.panel-head{padding:16px 24px;display:flex;gap:16px;justify-content:space-between;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--divider)}.pad{padding:24px}.placeholder{padding:48px 24px;display:grid;justify-items:center;text-align:center;gap:16px;max-width:880px;margin:0 auto}.placeholder .symbol{padding:16px;border-radius:var(--radius-panel);background:var(--raised);color:var(--muted)}.placeholder .symbol .ic{width:32px;height:32px}.placeholder p{max-width:48ch}.scope-note{display:flex;align-items:center;gap:8px;justify-content:center;font-size:12px;line-height:1.25rem;color:var(--secondary);overflow-wrap:anywhere}.review-drawer{position:static;top:0;height:100%;border:1px solid var(--divider);border-radius:var(--radius-panel);padding:24px 16px;border-left:1px solid var(--divider);background:var(--surface);overflow:auto}.drawer-content{display:grid;gap:24px}.drawer-field{display:grid;gap:8px}.segment{display:flex;gap:4px;padding:4px;border:0;border-radius:var(--radius-control);background:var(--raised)}[data-theme=dark] .segment{background:var(--canvas)}.segment button{flex:1;min-height:24px;border:1px solid transparent;border-radius:var(--radius-control);padding:1px 8px;background:transparent;color:var(--secondary)}.segment button[aria-pressed=true]{background:var(--surface);border-color:var(--control-border);color:var(--text)}#rail-style{justify-self:start;width:240px}[data-theme=dark] .segment button[aria-pressed=true]{background:var(--raised)}.preview-banner{padding:12px 16px;background:var(--raised);border-radius:var(--radius-control);margin-bottom:24px;display:flex;gap:8px;align-items:flex-start;color:var(--secondary);font-size:12px;line-height:1.25rem}.filters{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:16px 24px;border-bottom:1px solid var(--divider)}.filter-control{display:grid;gap:4px;min-width:120px}.filter-control label{font-size:12px;line-height:1.25rem;font-weight:500}.select-wrap{display:flex;gap:4px;align-items:center;min-width:0}.select-wrap .btn{justify-content:space-between;text-align:left;flex:1;min-width:0}.clear{border:0;background:transparent;color:var(--link);border-radius:var(--radius-control);padding:6px;min-width:36px;min-height:36px;display:grid;place-items:center}.clear:hover{background:var(--raised)}.applied{padding:8px 24px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--divider)}.filter-tag{display:flex;gap:4px;align-items:center;background:var(--raised);color:var(--secondary);border-radius:var(--radius-control);font-size:12px;line-height:1.25rem;max-width:100%;padding-left:8px;overflow-wrap:anywhere}.filter-tag button{color:inherit}.record-name{font-weight:500;overflow-wrap:anywhere}.section-head{margin:24px 0 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.tile{border:1px solid var(--divider);border-radius:var(--radius-panel);background:var(--surface);min-width:0;overflow-wrap:anywhere}.tile-trigger{width:100%;text-align:left;border:0;background:transparent;color:var(--text);padding:24px;border-radius:var(--radius-panel);display:grid;gap:16px;font-size:14px;line-height:20px;font-weight:400}.tile-trigger:hover{background:var(--raised)}.tile-trigger[aria-expanded=true]{background:var(--raised);border-radius:var(--radius-panel) var(--radius-panel) 0 0}.tile-name{font:600 15px/24px var(--font-heading)}.tile-details{padding:24px;border-top:1px solid var(--divider);display:grid;gap:16px}.kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}.kv dt{font-size:12px;line-height:1.25rem;color:var(--muted);margin-bottom:4px}.kv dd{margin:0;overflow-wrap:anywhere}.summary-list{display:grid;gap:12px;list-style:none;margin:0;padding:0}.summary-list li{padding:12px 0;border-bottom:1px solid var(--divider);overflow-wrap:anywhere}.summary-list li:last-child{border:0}.summary-list .row{align-items:flex-start}.state-demo{margin-top:24px}.state-demo .panel-head{align-items:start}.state-box{padding:32px 24px;display:grid;justify-items:center;gap:12px;text-align:center}.state-box p{color:var(--muted)}.error-message{color:var(--error);font-size:12px;line-height:1.25rem;display:flex;gap:8px}.skeleton{height:12px;background:var(--divider);border-radius:var(--radius-control);width:min(280px,100%)}
#pop{position:fixed;z-index:20;background:var(--surface);color:var(--text);border:1px solid var(--control-border);border-radius:var(--radius-panel);padding:8px;max-height:min(440px,70vh);overflow:auto;width:320px}#pop[hidden]{display:none}.pop-search{padding:8px}.pop-search label{display:block;font-size:12px;line-height:1.25rem;margin-bottom:8px}.input{border:1px solid var(--control-border);border-radius:var(--radius-control);background:var(--surface);padding:8px 12px;min-height:40px;width:100%;min-width:0;font-size:14px;line-height:20px}.input[aria-invalid=true]{border-color:var(--error)}.option{display:flex;align-items:center;gap:12px;text-align:left;width:100%;min-height:44px;padding:12px;border:0;background:transparent;border-radius:var(--radius-control);overflow-wrap:anywhere;color:var(--text)}.option:hover{background:var(--raised)}.option[aria-selected=true],.option[aria-checked=true]{color:var(--link)}.option .meta{font-size:12px;line-height:1.25rem;color:var(--muted);font-weight:400;margin-top:4px}.option .grow{overflow-wrap:anywhere}
dialog{padding:0;background:var(--surface);color:var(--text);border:1px solid transparent;border-radius:var(--radius-panel);width:min(600px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto}dialog::backdrop{background:var(--dialog-backdrop);opacity:var(--dialog-backdrop-opacity);-webkit-backdrop-filter:blur(var(--dialog-backdrop-blur));backdrop-filter:blur(var(--dialog-backdrop-blur))}dialog.sheet{width:min(400px,calc(100% - 16px));max-height:calc(100dvh - 16px);margin:8px 8px 8px auto;height:calc(100dvh - 16px)}.dialog-head{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--divider)}.dialog-body{padding:24px;display:grid;gap:16px}.dialog-foot{padding:16px 24px;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;border-top:1px solid var(--divider)}.field{display:grid;gap:8px}.field label{font-size:12px;line-height:1.25rem;font-weight:500}.history-item{list-style:none;border-bottom:1px solid var(--divider);padding:16px 0;display:grid;gap:8px}.history-item:last-child{border:0}.history-item:first-child{padding-top:0}.history-list{padding:0;margin:0}.diff{padding:12px;background:var(--raised);border-radius:var(--radius-control);display:grid;gap:8px;font-size:12px;line-height:1.25rem;overflow-wrap:anywhere}.mobile-nav{display:grid;gap:4px}.mobile-nav .nav-item{background:var(--surface);color:var(--text)}.mobile-nav .nav-item[aria-current=page]{background:var(--selected);color:var(--on-selected)}.mobile-nav .nav-item:before{display:none}.toast{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:100;max-width:calc(100% - 32px);width:max-content;background:var(--success-bg);color:var(--success);border:1px solid var(--success);border-radius:var(--radius-control);padding:8px 8px 8px 16px;display:flex;align-items:center;gap:12px;font-size:12px;line-height:1.25rem}.toast:empty{display:none}.toast button{color:var(--success);background:transparent}.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}.skip{position:fixed;top:-200px;left:16px;z-index:100;background:var(--surface);padding:12px;color:var(--link)}.skip:focus{top:16px}
dialog{box-shadow:var(--floating-shadow)}:is(#pop,.pop-ghost){box-shadow:var(--pop-shadow)}
.modal-ghost{display:block}.modal-ghost:is(.search-dialog,.workspace-picker){display:flex;flex-direction:column}.pop-ghost{display:flex;flex-direction:column;overflow:hidden;padding:8px;background:var(--surface);color:var(--text);border:1px solid var(--control-border);border-radius:var(--radius-panel)}.backdrop-ghost{position:fixed;inset:0;z-index:89;background:var(--dialog-backdrop);-webkit-backdrop-filter:blur(var(--dialog-backdrop-blur));backdrop-filter:blur(var(--dialog-backdrop-blur))}
.app{transition:grid-template-columns var(--motion-rail) var(--motion-ease)}
.rail>*{min-width:15.5rem}.rail>nav{min-width:16.5rem}.rail-collapsed .rail>*{min-width:0;max-width:48px}.rail-collapsed .rail>nav{max-width:64px}
@media(max-width:1199px){.app.review{grid-template-columns:280px minmax(0,1fr)}.topbar{gap:16px}.tiles{grid-template-columns:1fr}.content{padding:24px}}
@media(max-width:759px){.app,.app.review{display:block;height:100dvh;padding:0}.main-shell{border:0;border-radius:0}.rail{display:none}.topbar{height:auto;padding:16px;display:grid;gap:12px}.mobile-head{display:flex;align-items:center;gap:12px;min-width:0}.mobile-brand{padding:8px;width:48px;flex:none}.mobile-brand>svg{width:32px;height:32px}.mobile-scope{display:flex;min-width:0;flex:1}.mobile-scope .btn{min-width:0;justify-content:space-between;overflow-wrap:anywhere;text-align:left}.crumb{order:3}.user{max-width:none;flex:1}.topbar>.row{flex-wrap:wrap}.content{padding:24px 16px 80px}.page-head{margin-bottom:16px}h1{overflow-wrap:anywhere}.placeholder{padding:32px 16px}.filters,.applied{padding:16px}.filter-control{flex:1;min-width:100%}.panel-head{padding:16px}.tile-trigger,.tile-details,.pad{padding:16px}.kv{grid-template-columns:1fr}.dialog-head,.dialog-body{padding:16px}.dialog-foot{padding:16px}.toast{bottom:8px;max-width:calc(100% - 16px)}.review-mobile-footer{display:block}.state-box{padding:24px 16px}}
@media(prefers-reduced-motion:reduce){:root{--motion-dialog:0ms;--motion-menu:0ms;--motion-rail:0ms}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.rail .btn.quiet{color:var(--rail-text)}

.segment{flex-wrap:wrap}.segment button{min-width:64px;white-space:nowrap}.topbar{flex-wrap:wrap}.state-demo .segment{max-width:100%}dialog.sheet{max-width:calc(100% - 16px)}
body{overflow-wrap:anywhere}.panel-head>div{min-width:0;max-width:100%}.row>div{min-width:0}

@media(min-width:1200px){.app{grid-template-columns:17.5rem minmax(0,1fr)}.app.review{grid-template-columns:17.5rem minmax(0,1fr) 18.5rem}}
.rail .scope-wrap{flex-direction:column;flex:none}.rail .scope-wrap>.clear{align-self:flex-end;display:flex;gap:8px}.scope-trigger strong{display:block;white-space:normal;overflow-wrap:anywhere}.scope-trigger .small{overflow-wrap:normal}.rail .scope-trigger{display:grid;grid-template-columns:28px minmax(0,1fr) 20px;gap:8px}.rail .scope-trigger>.grow{display:contents}.rail .scope-trigger .small{grid-column:2;grid-row:1;margin:0}.rail .scope-trigger>.ic:last-child{grid-column:3;grid-row:1}.rail .scope-trigger strong{grid-column:1/-1;grid-row:2}.btn[role=switch][aria-checked=true]{background:var(--selected);color:var(--on-selected)}

.rail .btn.quiet:hover,.rail .btn.quiet:active{background:var(--ink-soft)}/* A viewport notification lane outside the dialog: toasts never change the dialog's
   geometry or cover its controls. */
dialog{bottom:80px;max-height:calc(100dvh - 112px);scroll-padding:8px}
dialog .toast{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);margin:0}

/* Navigation fits an 800px viewport height; longer names show their overflow. */
.rail{gap:16px}.rail .nav-section{margin-top:8px}
.rail .scope-wrap>.clear{min-height:24px;padding:0 8px}
.rail .nav-hint{margin-bottom:8px;text-align:center}
.mobile-scope .small{display:block;font-weight:400;color:var(--muted);margin-bottom:4px}.mobile-scope strong{display:block}
@media(max-width:759px){.user-text{flex:1}}

/* Compact rail and workspace picker. The PAS rail uses the smaller droplet lockup. */
.rail{gap:16px}.brand{width:100%;padding:8px 0}.brand>svg{width:112px;height:auto;color:var(--text)}
.rail .nav-item{min-height:36px;padding:8px 12px;font-size:12px;line-height:20px;font-weight:400;gap:12px;color:var(--rail-muted)}
.rail .nav-item[aria-current=page]{color:var(--on-selected);background:var(--selected)}
.rail .nav-item>.ic{width:18px;height:18px}.rail .nav-item[aria-current=page]:before{display:none}
.nav-group-label{font-size:12px;line-height:16px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--rail-muted);padding:0 12px;margin:8px 0 0}
.rail .scope-trigger{display:flex;gap:8px;padding:12px;min-height:64px;background:var(--ink-soft);border-color:var(--rail-muted)}
.rail .scope-trigger>.ic:first-child{display:none}.rail .scope-trigger>.grow{display:block}.rail .scope-trigger>.ic{width:16px;height:16px;color:var(--rail-muted)}
.rail .scope-trigger .small{font-size:12px;line-height:16px;text-transform:uppercase;letter-spacing:.4px;margin:0}
.rail .scope-trigger strong{font-size:12px;line-height:20px;font-weight:500;white-space:normal;overflow-wrap:anywhere}
.rail-foot .btn{font-size:12px;min-height:36px}.rail-foot .ic{width:16px;height:16px}
/* Shared selects: geometry does not change with the selection or Clear. */
.filters{align-items:flex-start}.filter-control{width:192px;min-width:192px;flex:none}
.select-wrap{position:relative;display:block;width:100%}
.select-wrap>.btn:first-child{display:flex;justify-content:space-between;width:100%;height:40px;min-height:40px;padding:8px 8px 8px 12px;white-space:nowrap;overflow-wrap:normal;gap:8px}
.select-wrap>.btn:first-child>.ic{width:16px;height:16px;flex:none}
.select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.select-wrap.has-clear>.btn:first-child{padding-right:48px}
.select-wrap>.select-clear{position:absolute;right:8px;top:8px;width:28px;min-width:28px;height:28px;min-height:28px;padding:4px;border:0}
.select-clear .ic{width:16px;height:16px}
/* Workspace modal uses the same dialog, buttons and selection tokens as the kit. */
dialog.workspace-picker{width:720px;height:min(688px,calc(100dvh - 112px));overflow:hidden}
dialog.workspace-picker[open]{display:flex;flex-direction:column}
.workspace-picker .dialog-head{flex:none}

.workspace-picker .dialog-body{padding:16px 24px 0;gap:12px;flex:none}
.workspace-picker .picker-description{font-size:12px;line-height:20px;max-width:none;color:var(--secondary)}
.picker-controls{display:grid;grid-template-columns:minmax(0,1fr) 196px;gap:12px;align-items:center}
.picker-controls .filter-control{width:100%;min-width:0}.picker-controls .filter-control>label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.picker-controls .btn,.picker-controls .input{font-size:12px;line-height:20px}
.picker-search{position:relative}.picker-search>.ic{position:absolute;left:12px;top:14px;width:16px;height:16px;color:var(--muted)}
.picker-search .input{height:36px;padding:8px 40px 8px 36px}
.picker-search>.btn{position:absolute;right:8px;top:8px;width:28px;min-width:28px;height:28px;min-height:28px;padding:4px}
.product-option{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:12px 8px;border:0;border-bottom:1px solid var(--divider);background:transparent;color:var(--text);min-height:64px;border-radius:0;flex:none}
.product-option:hover{background:var(--raised)}.product-option[aria-current=true]{background:var(--selected)}
.product-option .product-name{display:block;font-size:13px;line-height:20px;font-weight:600;overflow-wrap:anywhere}
.product-option .product-meta{display:block;font-size:12px;line-height:20px;color:var(--muted);font-weight:400;overflow-wrap:anywhere}
.product-option .ic{width:20px;height:20px}.product-option>.ic:last-child{width:16px;height:16px}
.product-current{font-size:12px;line-height:20px;font-weight:500;color:var(--link);white-space:nowrap}
.product-all{border:1px solid var(--border);border-radius:var(--radius-control);padding:12px}
.picker-count{font-size:12px;line-height:20px;color:var(--muted)}
.product-results{padding:0 24px 8px;overflow:auto;min-height:0;flex:1;scroll-padding:8px}
.product-results .product-option{border-radius:var(--radius-control)}
.workspace-picker .dialog-foot{flex:none}.workspace-picker .dialog-foot .btn{font-size:12px}
.workspace-picker #pop .option{font-size:12px;line-height:20px}
.workspace-picker .picker-empty{padding:32px 16px;text-align:center;font-size:13px;line-height:20px;color:var(--muted)}


/* Shared density, light control focus, menu anatomy and audit timeline. */
.input{font-size:12px;line-height:20px;padding:7px 12px}
.tile-trigger{padding:16px;gap:12px}.tile-details{padding:16px}
.dialog-head h2{font-size:18px;line-height:28px;font-weight:600;min-width:0}
.dialog-head .icon-btn{flex:none;color:var(--muted)}
.input:focus:not(.affix .input),.select-wrap>.btn:first-child:focus-visible,.btn.search-bar:focus-visible,.password-wrap .btn.quiet.reveal:focus-visible,.affix:focus-within{border-color:var(--action);outline:none;box-shadow:0 0 0 3px var(--selected)}
#pop .option:focus-visible{outline:1px solid var(--action);outline-offset:-1px;background:var(--raised)}
.pop-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 8px 8px;margin-bottom:4px;border-bottom:1px solid var(--divider);font-size:12px;line-height:20px;color:var(--muted)}
.pop-heading .btn{min-height:32px;padding:4px 10px;margin-right:-4px;font-size:12px;flex:none}
.option{font-size:12px;line-height:20px;gap:12px;padding:6px 8px;min-height:32px;font-weight:400}
.option>.ic{width:16px;height:16px;margin-left:auto}
#pop{padding:8px}
.filter-control:has(#select-owners),.filter-control:has(#select-statuses){width:220px}
dialog.history-modal{width:840px}
.history-context{display:grid;gap:4px;color:var(--muted);font-size:12px;line-height:20px}
.history-list{padding:0 0 0 8px;margin:4px 0 0}
.history-item{position:relative;border:0;border-left:1px solid var(--divider);padding:0 0 24px 20px;display:grid;gap:8px}
.history-item:first-child{padding-top:0}.history-item:last-child{border-left:1px solid transparent;padding-bottom:0}
.history-item:before{content:'';position:absolute;left:-4px;top:6px;width:7px;height:7px;border-radius:50%;background:var(--muted);outline:3px solid var(--surface)}
.history-item.updated:before{background:var(--action)}
.history-title{font-size:12px;line-height:20px;font-weight:600}
.history-meta{font-size:12px;line-height:20px;color:var(--muted)}
.history-change{display:grid;gap:4px}.history-field{font-size:12px;line-height:20px;font-weight:500}
.history-diff{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.history-value{padding:12px;border-radius:var(--radius-control);background:var(--raised);font-size:12px;line-height:20px;overflow-wrap:anywhere}
.history-value.after{background:var(--selected);color:var(--on-selected)}
.history-value dt{font-size:12px;line-height:20px;color:var(--muted);margin-bottom:4px}.history-value.after dt{color:var(--on-selected)}
.history-value dd{margin:0}.history-diff{margin:0}
.history-note{font-size:12px;line-height:20px;color:var(--muted)}

/* Kit state matrices: existing component tokens, anatomy and controls. */
.kit-index{margin-top:32px}.kit-index .row{margin-top:12px}.kit-index a{font-size:12px;color:var(--link);padding:4px 0}
.kit-matrix{scroll-margin-top:16px}.kit-matrix .panel-head{display:grid;gap:12px}
.kit-matrix .segment{width:100%;flex-wrap:wrap;justify-content:flex-start}
.kit-matrix .segment button{flex:0 1 auto;min-height:24px;padding:1px 12px}
.kit-stage{padding:24px;min-height:140px;display:grid;gap:16px;min-width:0;background:var(--canvas)}.kit-stage:last-child{border-radius:0 0 11px 11px}
.kit-stage>.filter-control{width:320px;max-width:100%}
.kit-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted)}
.kit-scroll{max-height:360px;overflow:auto;scroll-padding:8px;padding:8px;border:1px solid var(--divider);border-radius:var(--radius-control)}
.kit-stage .filters{padding:0 0 16px}.kit-stage .applied{padding:8px 0}
.kit-stage .state-box{padding:24px}.kit-stage .tiles{gap:16px}
.kit-dialog{width:min(840px,100%);border:1px solid var(--divider);border-radius:var(--radius-panel);overflow:hidden;margin:auto}
.kit-dialog .dialog-body{max-height:360px;overflow:auto;scroll-padding:8px}
.kit-dialog .dialog-head{background:var(--surface)}
.kit-toast{position:static;transform:none;max-width:100%;width:fit-content;margin:0}
.kit-stage .input:disabled,#modal .input:disabled,.select-wrap>.btn:first-child:disabled{background:var(--raised);border-color:var(--divider);color:var(--on-disabled);cursor:not-allowed}
.kit-stage .tile-trigger:disabled:hover{background:var(--disabled)}
.kit-footnote{padding:0 24px 16px;font-size:12px;color:var(--muted);background:var(--canvas);margin:0;max-width:none;border-radius:0 0 11px 11px}
.kit-stage .filter-control:has([aria-invalid=true]) .select-wrap>.btn:first-child{border-color:var(--error)}
.kit-stage .chip{vertical-align:middle}
.kit-pill-list{display:grid;gap:16px}.kit-pill-list>div{padding:8px 0;border-bottom:1px solid var(--divider)}
.kit-stage>.btn{justify-self:start}.kit-caption .segment{width:auto;flex:none}.kit-caption>span{white-space:nowrap}
#matrix-edit .kit-dialog{width:min(600px,100%)}
.kit-scroll:focus-visible,.kit-dialog .dialog-body:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}


/* Field validation, locked disclosure, inset rounded scrollbars and split records. */
#pop{display:flex;flex-direction:column;overflow:hidden;padding:8px}
#pop .pop-heading,#pop .pop-search{flex:none}
.pop-options{overflow:auto;min-height:0;scroll-padding:8px;border-radius:var(--radius-control);scrollbar-width:thin;scrollbar-color:var(--border) var(--surface)}
.pop-options::-webkit-scrollbar,.product-results::-webkit-scrollbar{width:8px}
.pop-options::-webkit-scrollbar-thumb,.product-results::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-control);border:2px solid var(--surface)}
.pop-options::-webkit-scrollbar-track,.product-results::-webkit-scrollbar-track{background:var(--surface);border-radius:var(--radius-control);margin-block:8px}
.product-results{scrollbar-width:thin;scrollbar-color:var(--border) var(--surface)}
.error-message{margin:4px 0 0;align-items:flex-start;gap:8px;font-size:12px;line-height:20px}
.error-message .ic{width:16px;height:20px;flex:none}
.filter-tag.locked{background:var(--disabled);color:var(--secondary)}
.pill-lock{display:grid;place-items:center;min-width:32px;min-height:36px}.pill-lock .ic{width:16px;height:16px}
.records-section{display:grid;gap:16px}.records-summary{padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.records-summary .segment button{display:flex;gap:8px;align-items:center;min-height:24px;padding:1px 12px}
.records-summary .segment .ic{width:16px;height:16px}
.records-filters .filters{gap:10px}.records-filters .filter-control{flex:1;min-width:144px;width:auto}
.records-filters .record-search{flex:1.4;min-width:200px}.record-search .input{height:36px}
.records-data{overflow:hidden}
.records-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 8px}
.records-footer .filter-control{display:flex;align-items:center;gap:8px;min-width:0;width:136px}.records-footer .filter-control label{white-space:nowrap}.records-footer .select-wrap{width:72px}
.records-tiles{padding:16px}.records-footer .row{gap:8px}
.record-tab{background:var(--selected);color:var(--on-selected);border-color:var(--divider);min-height:36px}@supports selector(::-webkit-scrollbar){.pop-options,.product-results{scrollbar-width:auto;scrollbar-color:auto}}
.pop-options::-webkit-scrollbar-button,.product-results::-webkit-scrollbar-button{display:none}
.field>.error-message{margin-top:0}
.field-hint{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;line-height:20px}.field-hint .counter{margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums}
/* Optional per-table row actions, using the shared dropdown surface. */
.row-actions{justify-self:end;color:var(--secondary)!important}
.row-actions[aria-expanded=true]{background:var(--raised)}
.option.destructive,.btn.destructive{color:var(--error)}
.btn.destructive{border-color:var(--control-border);background:var(--surface)}
.option.destructive:hover,.btn.destructive:hover{background:var(--error-bg)}
.action-separator{height:1px;background:var(--divider);margin:8px 0}
.option[aria-disabled=true]{color:var(--on-disabled);background:var(--disabled);cursor:not-allowed}
.actions-matrix-tables{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;min-width:0}
.actions-matrix-tables h3{margin-bottom:12px}
/* Shared tile anatomy and an independent pagination panel. */
.records-data.tile-view{background:transparent;border:0;border-radius:0;overflow:visible}
.records-tiles{padding:0}
.records-footer{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;padding:12px 16px;background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-panel)}
.records-footer .filter-control{width:auto;justify-self:center}
.records-footer .pagination{justify-self:end;flex-wrap:nowrap;white-space:nowrap}
.records-footer .btn{min-height:36px}
.tiles{align-items:stretch}
.tile{display:flex;flex-direction:column;transition:background var(--motion-fast),border-color var(--motion-fast)}
.tile-head{padding:16px 16px 0;display:flex;align-items:flex-start;gap:16px;min-height:64px}
.tile-heading{margin:0;min-width:0;flex:1;display:flex;font-size:15px;line-height:24px}
.tile-name{color:var(--link);font:600 15px/24px var(--font-heading);padding:0;border:0;background:transparent;text-align:left;min-height:24px;min-width:0;flex:1;white-space:normal;overflow-wrap:anywhere;cursor:pointer;border-radius:var(--radius-control)}
.tile-name:hover{text-decoration:underline}.tile-head .chip{flex:none;margin-top:2px}
.tile-meta{padding:0 8px;margin:8px 8px 0;min-height:40px;display:flex;gap:8px;align-items:center;border-radius:var(--radius-control);transition:background var(--motion-fast)}
.tile-meta:hover,.tile-meta:focus-within{background:var(--selected)}
.tile-meta-text{flex:1;min-width:0;display:flex;gap:4px;flex-wrap:wrap;color:var(--muted);font-size:12px;line-height:20px}
.tile-trigger{width:32px;min-width:32px;min-height:32px;padding:8px;display:grid;place-items:center;gap:0;border:0;border-radius:var(--radius-control);background:transparent;color:var(--secondary)}
.tile-trigger:hover,.tile-trigger[aria-expanded=true]{background:var(--selected);color:var(--on-selected);border-radius:var(--radius-control)}
.tile-trigger .ic{width:16px;height:16px;transition:transform var(--motion-fast)}
.tile-trigger[aria-expanded=true] .ic{transform:rotate(180deg)}
.tile-metrics{display:flex;justify-content:space-between;gap:16px;margin:12px 16px 0;padding:12px 0 16px;border-top:1px solid var(--divider)}
.tile-metrics>div:last-child{text-align:right}.tile-metrics dt{font-size:12px;color:var(--muted);line-height:20px}.tile-metrics dd{margin:4px 0 0;font:600 18px/24px var(--font-body);font-variant-numeric:tabular-nums}
.tile-metrics .metric-currency{font-size:12px;font-weight:400}
.tile-details .summary-list li{padding:8px;border-radius:var(--radius-control)}
.tile-details .summary-list li:hover,.tile-details .summary-list li:focus-within{background:var(--selected)}
.tile.is-disabled{background:var(--disabled);color:var(--text)}
.tile.is-disabled .tile-meta-text,.tile.is-disabled .tile-metrics dt{color:var(--secondary)}
.tile.is-disabled .tile-name{color:var(--on-disabled);cursor:not-allowed;text-decoration:none}
.tile.is-disabled .tile-meta:hover{background:transparent}
@media(prefers-reduced-motion:reduce){.tile,.tile-meta,.tile-trigger .ic{transition:none}}
/* Insured data table: quiet header, compact 12 px rows, top-aligned cells, right-aligned figures. */
.table-wrap{overflow-x:auto}
.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;line-height:18px}
.data-table th{background:var(--canvas);color:var(--muted);font-size:10px;line-height:14px;letter-spacing:.4px;font-weight:600;padding:16px;vertical-align:middle;border-bottom:1px solid var(--divider)}
.data-table td{padding:16px;vertical-align:middle;border-bottom:1px solid var(--divider);color:var(--text);overflow-wrap:break-word}
.data-table th:first-child,.data-table td:first-child{padding-left:24px;width:24%;min-width:176px}
.data-table th:last-child,.data-table td:last-child{padding-right:24px}
.data-table tbody tr:last-child td{border-bottom:0}
.data-table tbody tr{transition:background var(--motion-fast)}
.data-table tbody tr:hover,.data-table tbody tr:focus-within{background:var(--canvas)}
.data-table small{display:block;margin-top:4px;font-size:10px;line-height:15px;color:var(--muted)}
.data-table .num{text-align:right;white-space:nowrap}
.data-table th.num{white-space:normal;min-width:80px}
.data-table td:nth-child(3){white-space:nowrap}
.data-table td:nth-child(4){min-width:136px}
.data-table .chip{margin-top:-3px;white-space:nowrap}
.table-name{color:var(--link);font:600 12px/18px var(--font-body);padding:0;border:0;background:transparent;text-align:left;cursor:pointer;border-radius:var(--radius-control);overflow-wrap:break-word}
.table-name:hover{text-decoration:underline}
.data-table th.table-actions,.data-table td.table-actions{width:44px;padding:3px 16px 3px 0;text-align:right}
.actions-matrix-tables .data-table{table-layout:fixed}
.actions-matrix-tables .data-table th,.actions-matrix-tables .data-table td{padding-left:12px;padding-right:12px}
.actions-matrix-tables .data-table th:nth-child(5){width:112px}
.actions-matrix-tables .data-table th.table-actions,.actions-matrix-tables .data-table td.table-actions{padding-left:0;padding-right:8px}
/* Tiles per row (1-4) in the tile view; hovering a tile does not fill the whole card. */
.records-tiles{grid-template-columns:repeat(var(--tile-columns,2),minmax(0,1fr))}
.tile-columns{display:flex;align-items:center;gap:8px}
.tile-columns .segment button{min-width:36px;justify-content:center}
.records-tiles[data-columns="4"] .tile-head{flex-wrap:wrap;gap:8px}.records-tiles[data-columns="4"] .tile-heading{flex-basis:100%}
/* Favourite views, more filters, reset, result count and kit state strip. */
.favourite-bar{padding:12px 24px;gap:12px}
.favourite-list{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}
.favourite-list>.small{margin-right:4px}
.favourite-chip{min-height:32px;padding:4px 12px;gap:8px;font-size:12px}
.favourite-chip[aria-pressed=true]{background:var(--selected);color:var(--on-selected);border-color:var(--divider)}
.favourite-bar .ic,.filter-actions .ic{width:16px;height:16px}
.favourite-actions{gap:8px;margin-left:auto}
.records-filters .filters{border-bottom:0;padding-bottom:8px}
.records-filters .filter-control:has(#select-statuses),.records-filters .filter-control:has(#select-owners){width:auto}
.view-toggle{flex:none;align-self:end}
.view-toggle button{display:flex;gap:8px;align-items:center;min-height:24px;padding:1px 12px}
.view-toggle .ic{width:16px;height:16px}
.more-filters{padding-top:8px}
.more-filters .filter-control{flex:0 1 220px}
.filter-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0 16px 12px}
.filter-actions .applied{padding:0;border:0;flex:1}
.records-filters .filter-control:has(#select-sort){width:134px;min-width:134px;flex:none}
.records-filters .filters:not(.more-filters){flex-wrap:nowrap}
.records-filters .record-search{flex:1 1 160px;min-width:160px}
.records-filters .filter-control:has(#select-statuses),.records-filters .filter-control:has(#select-owners){flex:0 1 auto;min-width:120px}
#reset-filters{flex:none;align-self:end;min-height:36px;padding:4px 8px;gap:8px;font-size:12px}
#reset-filters .ic{width:16px;height:16px}
.filter-actions>.btn.quiet{min-height:36px;padding:4px 8px;gap:8px;font-size:12px}
#more-filters-toggle[aria-expanded=true]>.ic:last-child{transform:rotate(180deg)}
.records-count{margin:16px 0 8px}
.records-section>.records-count+.panel{margin-top:0}
.records-state{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:8px 12px;border:1px dashed var(--divider);border-radius:var(--radius-control)}
.records-state .btn{min-height:36px}
.tiles{align-items:start}
.select-wrap>.btn:first-child:hover:not(:focus-visible):not([aria-invalid=true]):not([aria-expanded=true]):not(:disabled),.input:hover:not(:focus):not([aria-invalid=true]):not(:disabled){border-color:var(--control-border-hover)}
.select-wrap>.btn:first-child[aria-expanded=true]{border-color:var(--action);box-shadow:0 0 0 3px var(--selected)}
.records-footer .select-wrap{width:72px}
.filter-actions .filter-tag{min-height:32px;padding:0 2px 0 10px;font-size:12px;gap:2px}
.filter-actions .filter-tag .icon-btn{width:28px;min-width:28px;height:28px;min-height:28px;padding:6px}
/* Subtle disabled buttons: no grey fill, soft outline, muted label. */
button:disabled,.kit-stage .btn:disabled,#modal .btn:disabled,.kit-stage .tile-trigger:disabled{background:transparent;color:var(--on-disabled);cursor:not-allowed}
.btn:not(.quiet):disabled{border-color:var(--divider)}
.kit-stage .tile-trigger:disabled:hover{background:transparent}
/* One chip size, soft dialog and picker boundaries, a shared meta line and a shared filter action row in the kit. */
.filter-tag{min-height:32px;padding:0 2px 0 10px;font-size:12px;gap:2px}
.filter-tag .icon-btn{width:28px;min-width:28px;height:28px;min-height:28px;padding:6px}
.filter-tag.locked{padding-right:10px}
.kit-stage .filter-actions{padding:0}
.kit-stage .filters{border-bottom:0;padding-bottom:12px}
.filter-actions>.btn.quiet:last-child:not(#more-filters-toggle){margin-left:auto}
.product-all{border-color:var(--divider)}
.panel-meta{margin-bottom:16px}
/* Record detail components: header, stepper, next-step callout, summary figure cards, tabs, section cards, timeline, documents, layout. */
.record-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;min-width:0}
.record-heading{min-width:0;display:grid;gap:4px}
.record-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}
.record-title{font:700 30px/40px var(--font-heading);margin:0;min-width:0;overflow-wrap:anywhere}
.record-meta{font-size:12px;line-height:20px;color:var(--muted);max-width:none;overflow-wrap:anywhere}
.record-actions{display:flex;gap:8px;flex:none}
.stepper{list-style:none;margin:0;padding:16px 24px;display:flex;align-items:center;border:1px solid var(--divider);border-radius:var(--radius-panel);background:var(--surface);min-width:0}
.step{display:flex;align-items:center;gap:8px;flex:1 1 0;min-width:0;font-size:12px;line-height:20px;color:var(--secondary)}
.step:last-child{flex:0 1 auto}
.step:not(:last-child)::after{content:'';flex:1 1 16px;min-width:16px;height:1px;background:var(--divider);margin:0 8px}
.step-marker{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:10px;line-height:14px;font-weight:600;border:1px solid var(--divider);color:var(--secondary)}
.step-marker .ic{width:14px;height:14px}
.step.done .step-marker{background:var(--success-bg);border-color:var(--success-bg);color:var(--success)}
.step.current .step-marker{background:var(--action);border-color:var(--action);color:var(--on-action)}
.step.current .step-label{color:var(--link);font-weight:600}
.step-label{min-width:0;overflow-wrap:anywhere}
.callout{background:var(--selected);border:1px solid var(--divider);border-radius:var(--radius-panel);padding:24px;display:grid;gap:8px;justify-items:start;min-width:0}
.callout .eyebrow{color:var(--on-selected);margin:0}
.callout-title{font:600 18px/28px var(--font-heading);margin:0;overflow-wrap:anywhere}
.callout-text{font-size:14px;line-height:21px}
.callout .row{margin-top:8px}
.figure-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.figure-slot{display:grid;gap:8px;min-width:0}
.figure-card{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-panel);padding:24px;display:grid;gap:4px;min-width:0}
.figure-card .eyebrow{margin:0 0 8px}
.figure{font:700 36px/44px var(--font-heading);color:var(--link);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.figure-note{font-size:12px;line-height:20px;color:var(--muted)}
.figure-rows{margin:16px 0 0;display:grid}
.figure-rows>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-top:1px solid var(--divider);font-size:12px;line-height:20px}
.figure-rows dt{color:var(--secondary);min-width:0;overflow-wrap:anywhere}
.figure-rows dd{margin:0;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.figure-foot{font-size:10px;line-height:15px;color:var(--muted)}
.figure-card.dark{background:var(--ink);border-color:var(--ink);color:var(--rail-text)}
.figure-card.dark .eyebrow{color:var(--rail-focus)}
.figure-card.dark .figure{color:var(--rail-text)}
.figure-card.dark .figure-note,.figure-card.dark .figure-foot,.figure-card.dark dt{color:var(--rail-muted)}
.figure-card.dark .figure-rows>div{border-color:var(--rail-divider)}
[data-theme=dark] .figure-card.dark{border-color:var(--rail-divider)}
.tabs{display:flex;flex-wrap:wrap;column-gap:24px;border-bottom:1px solid var(--divider);min-width:0}
.btn.tab{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;min-height:40px;padding:8px 0;margin-bottom:-1px;font-size:14px;line-height:21px;font-weight:400;color:var(--secondary);overflow-wrap:anywhere}
.btn.tab:hover{background:transparent;color:var(--text)}
.btn.tab[aria-selected=true]{color:var(--link);border-bottom-color:var(--action);font-weight:500}
.tab-panel{padding-top:16px;min-width:0}
.section-card{min-width:0}
.section-card .panel-head,.kit-matrix .section-card .panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px}
.section-card .panel-head .btn.quiet{min-height:36px;padding:4px 8px;gap:8px;font-size:12px}
.section-card .panel-head .ic{width:16px;height:16px}
.card-title{font:600 15px/24px var(--font-heading);margin:0;min-width:0;overflow-wrap:anywhere}
.section-body{padding:24px;min-width:0}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;margin:0}
.detail-grid dt{font-size:12px;line-height:20px;color:var(--muted)}
.detail-grid dd{margin:4px 0 0;font-size:14px;line-height:21px;overflow-wrap:anywhere}
.detail-side .detail-grid{grid-template-columns:minmax(0,1fr)}
.contact{display:grid;gap:2px;font-size:14px;line-height:21px;overflow-wrap:anywhere}
.contact strong{font-weight:600}
.contact+.detail-grid{margin-top:16px;padding-top:16px;border-top:1px solid var(--divider)}
.timeline{list-style:none;margin:0;padding:0;display:grid;gap:20px}
.timeline>li{position:relative;padding-left:40px;min-height:28px;min-width:0}
.timeline-icon{position:absolute;left:0;top:0;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--selected);color:var(--on-selected)}.timeline-icon .ic{width:16px;height:16px}
.timeline>li:not(:last-child)::after{content:'';position:absolute;left:13px;top:32px;bottom:-16px;width:2px;background:var(--divider)}
.timeline-title{font-size:14px;line-height:20px;font-weight:600;overflow-wrap:anywhere}
.timeline-meta{font-size:12px;line-height:16px;color:var(--muted)}
.doc-list{list-style:none;margin:0;padding:0}
.doc-list>li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--divider);min-width:0}
.doc-list>li:first-child{padding-top:0}
.doc-list>li>.ic{color:var(--secondary)}
.doc-name{font-size:12px;line-height:20px;font-weight:600;overflow-wrap:anywhere}
.doc-meta{font-size:10px;line-height:15px;color:var(--muted);overflow-wrap:anywhere}
.btn.doc-preview{min-height:36px;padding:4px 12px;font-size:12px;flex:none}
.doc-foot{display:grid;gap:8px;justify-items:start;padding-top:16px}
.doc-foot .btn.quiet{min-height:36px;padding:4px 8px;gap:8px;font-size:12px}
.doc-foot .ic{width:16px;height:16px}
.detail-page{display:grid;gap:24px;min-width:0}
.detail-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:24px;align-items:start}
.detail-main,.detail-side{display:grid;gap:24px;min-width:0}
.action-stack{display:grid;gap:8px}
/* Rail: quiet group eyebrows, a borderless workspace control and more space between groups. */
.rail{--rail-text:var(--text);--rail-muted:var(--secondary);--rail-focus:var(--focus);--rail-divider:var(--divider);--ink-soft:var(--raised);background:var(--surface);color:var(--text);padding:26px 12px 12px}
.rail .scope-wrap{margin:18px 0 0}
.rail .scope-trigger{min-height:48px;padding:6px 8px;border-color:transparent;background:var(--raised);transition:border-color var(--motion-fast)}
.rail .scope-trigger:hover{border-color:var(--rail-muted)}
.rail .scope-trigger .small{font-size:11px;line-height:14px;letter-spacing:0;text-transform:none;font-weight:400;color:var(--muted)}
.rail .scope-trigger strong{font-size:13px;line-height:18px;font-weight:600}
.rail nav{gap:2px}
.nav-group-label{font-size:11px;line-height:16px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--muted);padding:0 10px;margin:14px 0 2px}
.rail .nav-item{min-height:36px;padding:8px 10px;font-size:13px;font-weight:500;color:var(--text);transition:background var(--motion-fast),color var(--motion-fast)}.rail .nav-item>.ic{width:18px;height:18px}
.rail a.nav-item{color:var(--text);text-decoration:none;font-size:13px;line-height:20px;font-weight:500}
.rail a.nav-item:hover{color:var(--text);background:var(--raised)}.rail a.nav-item[aria-current=page]{color:var(--on-selected);background:var(--selected)}.rail a.nav-item[aria-current=page]>.ic{color:var(--on-selected)}.rail a.nav-item[aria-current=page]:before{display:none}
.app.rail-ink .rail{--rail-text:#F8F5F8;--rail-muted:#AFB5C7;--rail-focus:#CCC0FE;--rail-divider:#616774;--ink-soft:#2F3546;background:var(--ink);color:var(--rail-text);border-color:var(--ink)}.app.rail-ink .rail>.rail-foot{background:var(--ink)}.app.rail-ink .rail .brand>svg{color:var(--rail-text)}.app.rail-ink .rail .scope-trigger{background:var(--ink-soft)}.app.rail-ink .rail .scope-trigger:hover{border-color:var(--rail-muted)}.app.rail-ink .rail .scope-trigger .small,.app.rail-ink .nav-group-label{color:var(--rail-muted)}.app.rail-ink .scope-badge{border-color:var(--rail-divider);background:var(--ink);color:var(--rail-text)}.app.rail-ink .rail .nav-item{color:var(--rail-muted)}.app.rail-ink .rail .nav-item:hover{background:var(--ink-soft);color:var(--rail-text)}.app.rail-ink .rail .nav-item[aria-current=page]{background:var(--ink-soft);color:var(--rail-text)}.app.rail-ink .rail .nav-item[aria-current=page]>.ic{color:var(--rail-focus)}
.search-option[href]{color:inherit;text-decoration:none}
.mobile-nav a.nav-item{text-decoration:none}
.rail .nav-item:hover{color:var(--text)}
/* Collapsible rail: a 72 px icon rail with the droplet favicon, dividers between groups and tooltips for labels. */
.brand-mark{display:none}
.rail-actions{display:flex;align-items:center;gap:8px}
.rail-actions>#review-rail{flex:1;justify-content:center;gap:8px}
.rail-actions .icon-btn{color:var(--rail-muted)}
.app.rail-collapsed{grid-template-columns:72px minmax(0,1fr)}
.app.rail-collapsed.review{grid-template-columns:72px minmax(0,1fr) 18.5rem}
.rail-collapsed .rail{padding:26px 11px 12px}
.rail-collapsed .brand{display:flex;justify-content:center;padding:4px 0}
.rail-collapsed .brand>svg{display:none}
.rail-collapsed .brand-mark{display:block;width:32px;height:32px}
.rail-collapsed .brand-mark svg{width:32px;height:32px;display:block}
.rail-collapsed .rail .scope-trigger{justify-content:center;min-height:44px;padding:8px}
.rail-collapsed .rail .scope-trigger>.scope-badge{display:grid}
.rail-collapsed .rail .scope-trigger>.grow,.rail-collapsed .rail .scope-trigger>.ic:last-child{display:none}
.rail-collapsed .nav-group-label{font-size:0;line-height:0;height:1px;width:32px;max-width:none;justify-self:center;padding:0;margin:10px 0;background:var(--rail-divider);overflow:hidden}
.rail-collapsed .rail .nav-item{justify-content:center;padding:10px;gap:0}
.rail-collapsed .rail .nav-item>.ic{width:18px;height:18px}
.rail-collapsed .rail .rail-text{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.rail-collapsed .rail-actions{flex-direction:column}
.rail-collapsed .rail-actions>#review-rail{width:44px;padding:8px}
.rail-collapsed .rail .nav-hint{display:none}

.form-block{display:grid;gap:24px;width:100%;min-width:0}
.form-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px 24px;align-items:start;min-width:0}.form-grid>.field{grid-column:span 3}.form-grid>.field.span-2{grid-column:span 2}.form-grid>.field.span-4{grid-column:span 4}.form-grid>.field.span-6{grid-column:span 6}
.form-grid .field{align-content:start}
.form-grid .wide{grid-column:1/-1}
.field-group{border:0;padding:0;margin:0;min-width:0;display:grid;gap:8px}
.field-group legend{padding:0;margin-bottom:8px;font-size:12px;line-height:20px;font-weight:500}
.field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;align-items:start;min-width:0}
textarea.input{resize:vertical;font:400 12px/20px var(--font-body);color:var(--text);min-height:88px}
.input[readonly]{background:var(--canvas);border-color:var(--divider)}
.affix{display:flex;align-items:center;min-width:0;border:1px solid var(--control-border);border-radius:var(--radius-control);background:var(--surface)}
.affix>span{display:grid;place-items:center;padding:0 0 0 12px;color:var(--muted);font-size:12px;line-height:20px}
.affix .input{border:0;min-height:38px;height:38px;padding-block:7px;flex:1;min-width:0;background:transparent}.affix .input:focus{border:0}.affix:hover:not(:focus-within):not(:has([aria-invalid=true])):not(:has(.input:disabled)){border-color:var(--control-border-hover)}.affix:focus-within{border-color:var(--action)}.affix:has([aria-invalid=true]){border-color:var(--error)}.affix:has(.input:disabled){border-color:var(--divider);background:var(--raised)}
.error-summary{background:var(--error-bg);border-radius:var(--radius-panel);padding:16px 24px;display:grid;gap:8px}
.error-summary h4{margin:0;font:600 15px/24px var(--font-heading);color:var(--text)}
.error-summary ul{margin:0;padding-left:20px;display:grid;gap:4px}
.error-summary a{color:var(--error);font-weight:500;font-size:14px;line-height:20px}
.field label.check{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:20px;font-weight:400}
.check input{width:18px;height:18px;margin:1px 0 0;flex:none}
.check input[aria-invalid=true]{outline:2px solid var(--error);outline-offset:2px}
.wizard{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;align-items:start;min-width:0}
.wizard-steps{list-style:none;margin:0;padding:0;display:grid}
.wizard-step{position:relative;padding-bottom:24px;min-width:0}
.wizard-step:last-child{padding-bottom:0}
.wizard-step:not(:last-child)::before{content:'';position:absolute;left:15px;top:36px;bottom:4px;width:1px;background:var(--divider)}
.wizard-step.done:not(:last-child)::before{background:var(--success)}
.wizard-item{display:flex;gap:12px;align-items:flex-start;text-align:left;width:calc(100% + 8px);padding:4px;margin:-4px;border:0;background:none;border-radius:var(--radius-control);font:inherit;color:inherit;min-width:0}
button.wizard-item{cursor:pointer}
button.wizard-item:hover .wizard-title{color:var(--link);text-decoration:underline}
.wizard-marker{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--divider);font-size:12px;line-height:20px;font-weight:600;color:var(--secondary)}
.wizard-marker .ic{width:16px;height:16px}
.wizard-step.done .wizard-marker{background:var(--success-bg);border-color:var(--success-bg);color:var(--success)}
.wizard-step.current .wizard-marker{background:var(--action);border-color:var(--action);color:var(--on-action)}
.wizard-text{display:grid;gap:2px;min-width:0;padding-top:4px}
.wizard-title{font-size:14px;line-height:20px;font-weight:600;overflow-wrap:anywhere}
.wizard-step.current .wizard-title{color:var(--link)}
.wizard-step:not(.done):not(.current) .wizard-title{color:var(--secondary)}
.wizard-sub{font-size:12px;line-height:20px;color:var(--muted);overflow-wrap:anywhere}
.wizard-head .eyebrow{margin:0 0 4px}
.wizard-head .small{text-align:right;overflow-wrap:anywhere;min-width:0}
.wizard-foot{display:flex;justify-content:space-between;gap:12px;padding:16px 24px;border-top:1px solid var(--divider)}
.review:not(.app){display:grid;gap:24px;min-width:0}
.review-group{display:grid;gap:8px;padding-bottom:24px;border-bottom:1px solid var(--divider);min-width:0}
.review-group h4,.breakdown h4{margin:0;font:600 15px/24px var(--font-heading)}
.review-list{margin:0;display:grid}
.review-list>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px;padding:8px 0}
.review-list dt{font-size:12px;line-height:20px;color:var(--muted)}
.review-list dd{margin:0;font-size:14px;line-height:20px;overflow-wrap:anywhere}
.breakdown{background:var(--canvas);border-radius:var(--radius-control);padding:16px 24px;display:grid;gap:8px}
.breakdown dl{margin:0}
.breakdown dl>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;font-size:14px;line-height:20px}
.breakdown dl>div+div{border-top:1px solid var(--divider)}
.breakdown dt{color:var(--secondary)}
.breakdown dd{margin:0;font-variant-numeric:tabular-nums;text-align:right}
.breakdown .total{font-weight:700}
.breakdown .total dt{color:var(--text)}
.outcome{display:grid;justify-items:center;text-align:center;gap:12px;padding:24px 0;max-width:560px;margin:0 auto;min-width:0}
.outcome h3{font:600 18px/28px var(--font-heading);overflow-wrap:anywhere}
.outcome p{color:var(--secondary);overflow-wrap:anywhere}
.outcome .row{justify-content:center;margin-top:8px}
.outcome-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center}
.outcome-icon .ic{width:28px;height:28px}
.outcome-icon.good{background:var(--success-bg);color:var(--success)}
.outcome-icon.warn{background:var(--warning-bg);color:var(--warning)}
.outcome-icon.bad{background:var(--error-bg);color:var(--error)}
.outcome-icon.neutral{background:var(--raised);color:var(--secondary)}

.upload{display:grid;gap:16px;min-width:0}
.dropzone{display:grid;justify-items:center;gap:8px;padding:24px;border:1px dashed var(--border);border-radius:var(--radius-panel);text-align:center;position:relative;min-width:0}
.dropzone>.ic{width:24px;height:24px;color:var(--secondary)}
.dropzone p{margin:0;overflow-wrap:anywhere}
.dropzone.drag{background:var(--selected);border-color:var(--action)}
.dropzone[aria-disabled=true]{border-color:var(--divider)}
.upload-list>li.bad>.ic{color:var(--error)}
.upload-list .error-message{margin:4px 0 0}
.upload-progress{height:4px;border-radius:2px;background:var(--divider);overflow:hidden;margin:8px 0 4px;max-width:320px}
.upload-progress>span{display:block;height:100%;background:var(--action)}
.thread{list-style:none;margin:0;padding:0;display:grid}
.message{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid var(--divider);min-width:0}
.message:first-child{padding-top:0}.thread>.message:last-child{border-bottom:0}
.avatar{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--selected);color:var(--on-selected);font-size:12px;line-height:20px;font-weight:600}
.message-body{display:grid;gap:8px;min-width:0;justify-items:start}
.message-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:12px;line-height:20px;color:var(--muted)}
.message-author{font-size:14px;font-weight:600;color:var(--text)}
.message-text{font-size:14px;line-height:21px;overflow-wrap:anywhere}
.attachment{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:36px;padding:6px 12px;border:1px solid var(--divider);border-radius:var(--radius-control);background:none;color:var(--link);font:inherit;font-size:12px;line-height:20px;cursor:pointer;text-align:left}
.attachment:hover{background:var(--raised)}
.attachment .ic{flex:none;width:16px;height:16px}.attachment>span:first-child{display:grid;flex:none}.file-tile{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-control)}.file-tile .ic{width:16px;height:16px}.file-tile.file-pdf{background:var(--error-bg)}.file-tile.file-image{background:var(--warning-bg)}.file-tile.file-doc{background:var(--info-bg)}.file-pdf{color:var(--error)}.file-image{color:var(--warning)}.file-doc{color:var(--info)}
.attachment-name{overflow-wrap:anywhere;min-width:0}
.thread-empty{padding-bottom:24px}
.thread-reply{margin:0 -24px -24px;padding:16px 24px 24px;background:var(--raised);border-top:1px solid var(--divider);border-radius:0 0 var(--radius-panel) var(--radius-panel)}
/* The top bar is a sticky context bar; the profile sits at the rail foot. */
html{scroll-padding-top:72px;scrollbar-gutter:auto}.topbar{position:static;top:0;z-index:10;flex:none}.main-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.main-scroll>.content{padding:24px}body:has(dialog[open]) .main-scroll{overflow-y:scroll}
.rail-foot .user{max-width:none;margin-bottom:0}.rail .user-text strong{color:var(--rail-text)}.rail .user-text .muted{color:var(--rail-muted)}
.rail-collapsed .rail .user{justify-content:center}
@media(max-width:759px){html{scroll-padding-top:128px}}
/* Universal search. */
.rail .brand{display:flex;align-items:center;justify-content:space-between;gap:0;padding:0 0 0 9.3px}.scope-badge{flex:none;display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--divider);border-radius:var(--radius-control);background:var(--surface);color:var(--text);font-size:11px;line-height:1;font-weight:600}
.rail-collapsed .rail .brand{flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:0}.rail-collapsed .rail .brand-mark{width:28px;height:28px}.rail-collapsed .rail .brand-mark svg{width:28px;height:28px}
.keycap{font:500 11px/16px var(--font-body);padding:0 6px;border:1px solid var(--border);border-radius:var(--radius-control);color:var(--muted);white-space:nowrap}
dialog.search-dialog{width:min(640px,calc(100% - 32px));margin-top:12vh;overflow:hidden}dialog.search-dialog[open]{display:flex;flex-direction:column}
.search-box{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--divider)}.search-box>.ic{color:var(--muted);flex:none}
.search-input{flex:1;min-width:0;border:0;background:transparent;color:var(--text);font:400 14px/20px var(--font-body);padding:4px 0}.search-input:focus-visible{outline:0}
.search-list{max-height:min(400px,50vh);overflow-y:auto;overflow-x:hidden;padding:4px 8px}.search-list:empty{display:none}
.search-group-label{font-size:10px;line-height:14px;font-weight:500;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);margin:12px 8px 4px}
.search-option{display:flex;align-items:center;gap:12px;padding:8px;border-radius:var(--radius-control);cursor:pointer;min-width:0}.search-option>.ic{flex:none;color:var(--muted)}
.search-option[aria-selected=true]{background:var(--selected);color:var(--on-selected)}.search-option[aria-selected=true]>.ic{color:var(--on-selected)}
.search-label{display:block;overflow-wrap:anywhere}.search-meta{display:block;font-size:12px;line-height:1.25rem;color:var(--muted);overflow-wrap:anywhere}.search-option[aria-selected=true] .search-meta{color:var(--on-selected)}
.search-option mark{background:transparent;color:var(--link);font-weight:600}.search-option[aria-selected=true] mark{color:inherit}
.search-status{margin:0;padding:24px 16px;text-align:center;color:var(--muted);max-width:none}
.search-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 16px;border-top:1px solid var(--divider);background:var(--canvas);font-size:12px;line-height:1.25rem;color:var(--muted)}
.search-kit{max-width:640px;padding:0;overflow:hidden}
@media(max-width:759px){dialog.search-dialog{margin-top:16px}.search-foot>span:last-child{display:none}}
/* Focus moves to these headings so screen readers announce the new view; they are not controls, so no ring. */
:is(h1,h2,h3,h4)[tabindex="-1"]:focus{outline:none}

/* Password field, button loading state and sign-in layout. */
.password-wrap{position:relative}.password-wrap .input{padding-right:42px}
.password-wrap .reveal{position:absolute;top:50%;right:4px;transform:translateY(-50%);min-height:32px;height:32px;width:32px;min-width:32px;padding:0;color:var(--muted)}
.signin .password-wrap .input{padding-right:46px}.signin .password-wrap .reveal{min-height:36px;height:36px;width:36px;min-width:36px}
.field-head{justify-content:space-between}.btn.quiet.field-link{min-height:24px;padding:0 4px}
.btn.block{width:100%}.btn[aria-busy=true]{cursor:progress}
.spinner{width:16px;height:16px;flex:none;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin 800ms linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.kit-narrow{max-width:360px;width:100%}
.signin{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px;background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-panel);max-width:1040px;width:100%;justify-self:center}
.signin-brand{background:var(--ink);color:var(--rail-text);border-radius:var(--radius-panel);padding:32px;display:flex;flex-direction:column;gap:32px;min-width:0}
[data-theme=dark] .signin-brand{border:1px solid var(--rail-divider)}
.signin-logo{display:flex;align-items:center;gap:16px}.signin-logo svg{width:184px;height:auto;flex:none}
.signin-logo span{font-size:10px;line-height:14px;letter-spacing:1.2px;text-transform:uppercase;color:var(--rail-muted);border-left:1px solid var(--rail-divider);padding-left:16px}
.signin-copy{display:grid;gap:12px;margin-top:auto}.signin-brand .eyebrow{color:var(--rail-focus);margin:0}
.signin-display{font:700 36px/44px var(--font-heading);color:var(--rail-text)}.signin-display em{font-style:normal;color:var(--rail-focus)}
.signin-lede,.signin-foot{color:var(--rail-muted)}.signin-foot{margin-top:auto}
.signin-side{padding:40px 32px;display:grid;gap:24px;align-content:center;min-width:0}
.signin-form{display:grid;gap:16px}.signin-form .eyebrow{margin:0}#signin-title{font:700 30px/40px var(--font-heading)}
.signin-fine{text-align:center;justify-self:center;text-wrap:balance}

/* Search bar centred in the context bar. Mouse focus shows nothing; keyboard focus takes the field focus edge and halo. */
.topbar{flex-wrap:nowrap}.topbar>.crumb{flex:1 1 0;min-width:max-content}.topbar-actions{flex:1 1 0;display:flex;justify-content:flex-end;gap:4px}.topbar-actions .icon-btn{color:var(--secondary)}.topbar::after{display:none}.topbar>.search-bar{flex:0 1 480px;min-width:200px}
.btn.search-bar{justify-content:flex-start;gap:8px;width:100%;min-height:40px;padding:6px 8px 6px 12px;background:var(--surface);border-color:var(--control-border);color:var(--muted);font-weight:400}
.btn.search-bar:hover{border-color:var(--control-border-hover);background:var(--surface)}.btn.search-bar .ic{width:16px;height:16px}
.input[aria-invalid=true]:hover,.select-wrap>.btn[aria-invalid=true]:hover{border-color:var(--error)}
.input:focus:hover,.select-wrap>.btn:focus-visible:hover,.select-wrap>.btn[aria-expanded=true]:hover,.btn.search-bar:focus-visible:hover{border-color:var(--action)}
.btn.primary:hover:not(:disabled){border-color:var(--action)}
.btn.quiet:hover:not(:disabled){border-color:transparent}
.btn.destructive:hover:not(:disabled){border-color:var(--control-border-hover)}
.btn.compact,.records-filters .btn,.records-footer .btn,.favourite-bar .btn,.filter-actions .btn,.kit-stage .filters .btn{min-height:36px;padding-block:4px}
.records-filters .select-wrap>.btn:first-child,.records-footer .select-wrap>.btn:first-child,.kit-stage .filters .select-wrap>.btn:first-child{height:36px;min-height:36px}
.records-filters .input,.records-footer .input{min-height:36px;height:36px}
.records-filters .select-wrap>.select-clear,.records-footer .select-wrap>.select-clear{top:2px}
.segment{min-height:36px}.segment button{min-height:28px}
.segment.segment-large{min-height:44px}.segment.segment-large button{min-height:36px}
.kit-stage>.segment{align-self:start;justify-self:start;width:max-content;max-width:100%}
.signin .input,.signin .btn{min-height:44px}.signin .input{height:44px}
.search-bar-text{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:759px){.topbar>.search-bar,.topbar::after{display:none}}

.btn.secondary{background:var(--surface);border-color:var(--control-border);color:var(--text)}.btn.secondary:hover:not(:disabled){background:var(--raised);border-color:var(--control-border-hover)}
.btn.tertiary{background:transparent;border-color:transparent;color:var(--text)}.btn.tertiary:hover:not(:disabled){background:var(--raised);border-color:transparent}
.button-matrix{display:grid;gap:16px}.button-levels{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.button-levels>.small{min-width:72px}.button-levels>.destructive{margin-left:auto}
.select-chips{gap:8px}.select-chips .chip{font-weight:400}.select-chips .btn{width:16px;min-width:16px;height:16px;min-height:16px;padding:0;border:0;color:var(--secondary)}
#reset-filters,.filter-actions>.btn.quiet{min-height:36px;padding-block:4px}
.records-filters .segment button.btn{min-height:28px;padding-block:1px}

input.input:not(textarea){height:40px}
.date-wrap{position:relative;display:block}.date-input{padding-right:40px;cursor:pointer}.date-wrap .date-input[readonly]{background:var(--surface);border-color:var(--control-border)}.date-wrap .date-input[readonly]:hover:not(:focus):not([aria-invalid=true]):not(:disabled){border-color:var(--control-border-hover)}.date-wrap .date-input[readonly]:focus{border-color:var(--action);outline:none}.date-wrap .date-input[aria-invalid=true],.date-wrap .date-input[aria-invalid=true]:hover:not(:focus){border-color:var(--error)}.date-wrap .date-input:disabled{background:var(--raised);border-color:var(--divider);color:var(--on-disabled);cursor:not-allowed}.date-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;color:var(--muted);pointer-events:none}
.date-calendar{width:100%;font-size:12px;line-height:20px}.date-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.date-nav strong{text-align:center;font-weight:600}.date-weekdays,.date-grid [role=row]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;text-align:center}.date-grid{display:flex;flex-direction:column;gap:2px}.date-weekdays{color:var(--muted);font-weight:600}.date-day{border:1px solid transparent;background:transparent;color:var(--text);min-height:36px;min-width:0;width:100%;border-radius:var(--radius-control);font:inherit;cursor:pointer}.date-day:hover:not(:disabled){background:var(--raised)}.date-day.selected{background:var(--selected);color:var(--on-selected)}.date-day.today:not(.selected){border-color:var(--action)}.date-day:focus-visible{outline:1px solid var(--action);outline-offset:-2px}.date-day:disabled{color:var(--on-disabled);cursor:not-allowed}.date-foot{display:flex;justify-content:flex-end;border-top:1px solid var(--divider);margin-top:8px;padding-top:8px}
.picker-search .input{height:40px}
.kit-state-row .btn,[id^="kit-state-"]{min-height:24px}
.btn.icon-btn:not(.select-chips *):not(.filter-tag *):not(.signin *):not(.brand *):not(.password-wrap *){height:36px;min-height:36px}
.select-chips .btn,.kit-stage .filters .select-chips .btn,.records-filters .select-chips .btn{height:16px;min-height:16px}
.affix .input:focus,.affix .input:focus-visible{outline:none}
.rail .brand .icon-btn{color:var(--rail-muted);flex:none;width:36px;min-width:36px;height:36px;min-height:36px;padding:8px;border-radius:var(--radius-control)}
.rail-collapsed .rail .brand{align-items:stretch}
.rail-collapsed .rail .brand .brand-mark{align-self:center}
.rail-collapsed .rail .brand .icon-btn{width:100%;min-width:0;height:auto;min-height:36px;padding:10px;border:0}
.rail-collapsed .rail .brand .icon-btn>.ic{width:18px;height:18px}


@media(min-width:1200px) and (max-width:1399px){.app.review .content{padding-inline:12px}}
