/* Graphite operator workspace. Neutral surfaces; venue accents remain optional. */
html[data-bb-visual=graphite]:not([data-display-mode=ascii]){
 --bg:#181b1d!important;--chrome:#141719!important;--surface:#1e2224!important;--raised:#272d30!important;
 --text:#f2f0e9!important;--muted:#aeb5b7!important;--line:#3a4145!important;--border:#687277!important;
 --table-head:#202528!important;--row-hover:#2b3235!important;--focus-sep:#181b1d!important;
 --caption-start:#141719!important;--caption-end:#141719!important;--tab-start:#141719!important;--tab-end:#141719!important;
 font-family:"Segoe UI Variable","Segoe UI",system-ui,sans-serif;color-scheme:dark;
}
html[data-bb-visual=graphite][data-accent=Blue]:not([data-display-mode=ascii]){
 --accent:#dedccf!important;--hover:#eeecdf!important;--pressed:#c6c4b7!important;--on:#202424!important;
 --selected:#364139!important;--subtle:#29312c!important;--focus:#dedccf!important;--selection-text:#f2f0e9!important;
 --tab-active:#272e2a!important;--tab-active-end:#272e2a!important;
}
html[data-bb-visual=graphite][data-theme=light]:not([data-display-mode=ascii]){
 --bg:#f2f3f1!important;--chrome:#e9ece8!important;--surface:#fff!important;--raised:#e8ece8!important;
 --text:#252b2c!important;--muted:#546064!important;--line:#cdd4d0!important;--border:#899590!important;
 --table-head:#eef1ed!important;--row-hover:#e7ece6!important;--focus-sep:#f2f3f1!important;
 color-scheme:light;
}
html[data-bb-visual=graphite][data-theme=light][data-accent=Blue]:not([data-display-mode=ascii]){
 --accent:#3e5546!important;--hover:#304537!important;--on:#fff!important;--selected:#dce6dc!important;--subtle:#e5ece4!important;
}
html[data-bb-visual=graphite] :is(button,input,select,textarea){border-radius:5px}
html[data-bb-visual=graphite] :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
html[data-bb-visual=graphite] .icon-svg{stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
html[data-bb-visual=graphite] .shell{grid-template-columns:208px minmax(0,1fr);grid-template-rows:42px 58px minmax(0,1fr)}
html[data-bb-visual=graphite] .shell.collapsed{grid-template-columns:64px minmax(0,1fr)}
html[data-bb-visual=graphite] #app>.shell.dashboard-shell{grid-template-columns:208px minmax(0,1fr)!important;grid-template-rows:42px 58px minmax(0,1fr)!important}
html[data-bb-visual=graphite] #app>.shell.dashboard-shell.collapsed{grid-template-columns:64px minmax(0,1fr)!important}
html[data-bb-visual=graphite] .window-strip{background:var(--chrome);min-height:34px;border-bottom:1px solid var(--line)}
html[data-bb-visual=graphite] .window-strip .tab{border-radius:4px 4px 0 0;box-shadow:none;border-top:0}
html[data-bb-visual=graphite] .window-strip :is(button,.tab){min-height:30px}
html[data-bb-visual=graphite] .topbar{padding:8px 18px;gap:12px;background:var(--chrome)}
html[data-bb-visual=graphite] .topbar-left{gap:10px;min-width:0;flex:1}
html[data-bb-visual=graphite] .dashboard-label{font-size:13px;letter-spacing:.15em;text-transform:uppercase}
html[data-bb-visual=graphite] .dashboard-label{font-size:13px!important}
html[data-bb-visual=graphite] .bb-help-launch{display:none}
html[data-bb-visual=graphite] .bb-module-switcher{display:flex;gap:3px;margin:0;overflow-x:auto;max-width:100%}
html[data-bb-visual=graphite] .bb-module-switcher button{padding:9px 12px;min-height:38px;white-space:nowrap;font-size:13px;border:1px solid transparent;border-radius:4px}
html[data-bb-visual=graphite] .bb-module-switcher button[aria-current]{background:var(--selected);color:var(--text);border-bottom-color:var(--accent)}
html[data-bb-visual=graphite] .topbar-right{gap:12px}.operator-venue{display:flex;flex-direction:column;gap:6px;padding:18px 12px 20px;border-bottom:1px solid var(--line);margin-bottom:14px}
.operator-venue-brand{background:none!important;border:0!important;padding:0!important;align-self:flex-start}
.operator-venue .venue-mark{width:100%;height:72px;max-width:150px;background:transparent;box-shadow:none;border:0;border-radius:0;justify-content:flex-start}
.operator-venue .venue-mark img{height:100%;max-width:150px;width:auto;object-fit:contain}
.operator-venue>strong{font-size:19px;font-weight:650;letter-spacing:-.02em}.operator-venue>span{font-size:12px;color:var(--muted)}
.operator-switch{margin-top:10px;display:flex;align-items:center;gap:8px;width:100%;text-align:left;font-size:12px}.operator-switch span{flex:1}
html[data-bb-visual=graphite] .sidebar{padding:0 10px 12px;background:var(--chrome);gap:0;display:flex;flex-direction:column}
html[data-bb-visual=graphite] .sidebar .nav-item{min-height:38px;margin:2px 0;padding:8px 10px;font-size:13px;gap:11px;border-radius:4px}
html[data-bb-visual=graphite] .sidebar .nav-item.active{background:var(--selected);color:var(--text);border-color:transparent;box-shadow:inset 2px 0 var(--accent)}
html[data-bb-visual=graphite] .sidebar .eyebrow{font-size:10px;letter-spacing:.14em;margin:4px 10px 8px}
html[data-bb-visual=graphite] .sidebar-bottom{margin-top:auto;padding-top:15px}.operator-context-summary{display:flex;flex-direction:column;gap:7px;font-size:12px;margin:24px 10px;line-height:1.5}.operator-context-summary:empty{display:none}.operator-context-summary .eyebrow{margin:0!important}.operator-context-summary>span:last-child{color:var(--muted)}
.collapsed .operator-venue{padding:12px 0}.collapsed .operator-venue :is(strong,span:not(.venue-mark),.operator-switch),.collapsed .operator-context-summary{display:none}.collapsed .operator-venue .venue-mark{height:32px;width:40px}.collapsed .operator-venue img{max-width:40px}
html[data-bb-visual=graphite] .content{padding:20px 24px 12px;max-width:none}
html[data-bb-visual=graphite] .page-heading{margin:0 0 16px;padding:0;gap:16px;min-height:0}
html[data-bb-visual=graphite] .page-heading h1{font-size:28px;line-height:1.2;letter-spacing:-.035em;margin:4px 0 6px}
html[data-bb-visual=graphite] .page-heading p{font-size:13px;margin:0;color:var(--muted)}
html[data-bb-visual=graphite] .breadcrumb{font-size:9px;letter-spacing:.14em;margin-bottom:6px}
html[data-bb-visual=graphite] .workspace-actions{padding:0;margin:0 0 14px;gap:7px;min-height:0}
html[data-bb-visual=graphite] .workspace-actions button{min-height:34px;padding:7px 11px;font-size:12px}
html[data-bb-visual=graphite] .setup-guide{margin:0 0 12px;padding:0;border:0;background:none}
html[data-bb-visual=graphite] .setup-guide summary{font-size:12px;padding:7px 0}
html[data-bb-visual=graphite] .stock-page .page-heading{margin-bottom:10px}
html[data-bb-visual=graphite] .stock-page .page-heading .breadcrumb{display:none}
html[data-bb-visual=graphite] .stock-page .page-heading h1{font-size:24px;margin:0 0 3px}
html[data-bb-visual=graphite] .stats{display:flex!important;gap:28px;padding:8px 0 12px!important;margin:0!important;border:0;background:none}
html[data-bb-visual=graphite] .stats>*{border:0!important;background:none!important;box-shadow:none!important;padding:0!important;min-height:0!important;flex:0 1 auto!important}
html[data-bb-visual=graphite] .stats strong{font-size:19px!important}
html[data-bb-visual=graphite] .stats .icon-svg{display:none}
html[data-bb-visual=graphite] .stock-table{min-width:850px}
html[data-bb-visual=graphite] .stock-page{flex:1;min-height:0}
html[data-bb-visual=graphite] .stock-main{display:flex;flex-direction:column;min-height:0}
html[data-bb-visual=graphite] .stock-layout{flex:1;min-height:0}
html[data-bb-visual=graphite] .stock-page .table-card{height:100%}
html[data-bb-visual=graphite] .stock-table :is(td,th){height:38px!important;padding:7px 10px!important}
html[data-bb-visual=graphite] .toolbar{padding:8px 0 12px;gap:8px}.stock-page .toolbar .search{flex:1;max-width:440px}
html[data-bb-visual=graphite] .stock-table :is(td,th){padding:8px 10px;font-size:13px}
html[data-bb-visual=graphite] .stock-table td{height:38px}
html[data-bb-visual=graphite] .stock-table :is(img,.photo-placeholder){max-height:27px;width:27px;object-fit:contain}
html[data-bb-visual=graphite] .table-card{border-radius:5px;box-shadow:none}
html[data-bb-visual=graphite] .stock-page.with-inspector{grid-template-columns:minmax(0,1fr) 300px;gap:14px}
html[data-bb-visual=graphite] .inspector{border-radius:5px}.inspector .metric-grid{gap:6px}
html[data-bb-visual=graphite] .statusbar{font-size:10px;margin-top:12px;padding-top:8px}
html[data-bb-visual=graphite] .vb-page{max-width:none;padding:0}
html[data-bb-visual=graphite] .vb-tabs{gap:4px;margin:0 0 12px;flex-wrap:wrap}
html[data-bb-visual=graphite] .vb-tabs button{padding:6px 10px;min-height:32px;font-size:12px;border-radius:4px}
html[data-bb-visual=graphite] .vb-section{margin:8px 0 14px;padding:0;align-items:center;justify-content:flex-start;gap:8px}
html[data-bb-visual=graphite] .vb-section label{display:flex;align-items:center;gap:8px;font-size:12px;max-width:280px}
html[data-bb-visual=graphite] .vb-section input{min-height:32px;padding:5px 8px;max-width:160px}
html[data-bb-visual=graphite] .vb-section>.muted{margin-left:auto;font-size:11px}
html[data-bb-visual=graphite] .vb-widget-toolbar{margin:8px 0 14px;padding:0;align-items:center}
html[data-bb-visual=graphite] .vb-widget-toolbar h2{font-size:20px;margin:4px 0}
html[data-bb-visual=graphite] .vb-widget-toolbar p{display:none}
html[data-bb-visual=graphite] .vb-widget-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
html[data-bb-visual=graphite] .vb-widget{grid-column:auto!important;min-height:0;padding:0;box-shadow:none;border:1px solid var(--line);border-radius:6px;background:var(--surface)!important;color:var(--text)!important;overflow:hidden}
html[data-bb-visual=graphite] .vb-widget header{padding:14px 16px 10px;gap:9px;min-height:0}
html[data-bb-visual=graphite] .vb-widget h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em}
html[data-bb-visual=graphite] .vb-widget-icon{width:24px;height:24px;border-radius:0;background:none!important}
html[data-bb-visual=graphite] .vb-widget-body{padding:0 16px 14px;font-size:13px;min-height:0}
html[data-bb-visual=graphite] .vb-widget :is(p,.vb-widget-empty){font-size:12px;line-height:1.5;margin:6px 0}
html[data-bb-visual=graphite] .vb-widget-metric{font-size:30px;line-height:1.3;letter-spacing:-.04em;margin:4px 0}
html[data-bb-visual=graphite] .vb-widget-metric span{font-size:13px;letter-spacing:0}
html[data-bb-visual=graphite] .vb-widget-open{padding:9px 16px;font-size:11px;background:transparent!important;border-top:1px solid var(--line);color:var(--muted);min-height:32px}
html[data-bb-visual=graphite] .vb-event-artwork{display:none}
html[data-bb-visual=graphite] .vb-widget .vb-brand-art{display:none}
html[data-bb-visual=graphite] .vb-widget-context{color:var(--muted);font-size:10px!important}
html[data-bb-visual=graphite] .vb-event-summary{gap:7px;margin:8px 0 0}
html[data-bb-visual=graphite] .vb-event-summary>strong{font-size:23px;letter-spacing:-.03em}
html[data-bb-visual=graphite] .vb-widget-body{flex:1;margin:0}
html[data-bb-visual=graphite] .vb-widget-open{margin:0;width:100%;border-radius:0;box-sizing:border-box}
html[data-bb-visual=graphite] .operator-briefing-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:4px 0 18px}
.operator-briefing-heading h1{font-size:30px;font-weight:650;letter-spacing:-.04em;line-height:1.2;margin:6px 0}.operator-briefing-heading p{font-size:12px;color:var(--muted);margin:0}
.operator-briefing-controls{display:flex;gap:6px;align-items:center}.operator-briefing-controls input{max-width:145px;min-height:34px;font-size:12px}.operator-briefing-controls button{min-height:34px;padding:7px 10px;font-size:12px}
.operator-more-briefing{margin-top:16px;padding:12px 0;border-top:1px solid var(--line)}.operator-more-briefing summary{font-size:12px;color:var(--muted);cursor:pointer;margin-bottom:12px}
@media(min-width:961px){html[data-bb-visual=graphite] .vb-widget-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
html[data-bb-visual=graphite] .vb-widget-events :is(.vb-artwork,.vb-event-art){max-height:70px}
html[data-bb-visual=graphite] .vb-widget-events img{max-height:65px;object-fit:contain}
html[data-bb-visual=graphite] .vb-hour-strip{padding-top:10px;margin-top:10px;gap:8px}
html[data-bb-visual=graphite] .vb-hour-strip strong{font-size:18px}html[data-bb-visual=graphite] .vb-widget-list li{padding:7px 0}
html[data-bb-visual=graphite] .vb-widget-list strong{font-size:12px;font-weight:550}
html[data-bb-visual=graphite] .vb-footer{font-size:10px;line-height:1.5;margin-top:16px;color:var(--muted)}

@media(max-width:1200px){html[data-bb-visual=graphite] .topbar .company-identity{display:none}html[data-bb-visual=graphite] .topbar .connection-state{display:none}html[data-bb-visual=graphite] .content{padding:16px}html[data-bb-visual=graphite] .bb-module-switcher button{padding:8px}html[data-bb-visual=graphite] .vb-widget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){html[data-bb-visual=graphite] .shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}html[data-bb-visual=graphite] .content{padding:12px}html[data-bb-visual=graphite] .vb-widget-grid{grid-template-columns:1fr}html[data-bb-visual=graphite] .stock-page.with-inspector{grid-template-columns:1fr}html[data-bb-visual=graphite] .vb-section{flex-wrap:wrap}html[data-bb-visual=graphite] .vb-section>.muted{margin-left:0}html[data-bb-visual=graphite] :is(input,select,textarea){font-size:16px}html[data-bb-visual=graphite] button{min-height:42px}}
@media(forced-colors:active){html[data-bb-visual=graphite]{--text:CanvasText!important;--bg:Canvas!important;--surface:Canvas!important;--chrome:Canvas!important;--line:CanvasText!important;--accent:Highlight!important;--on:HighlightText!important}}
html[data-bb-visual=graphite] [hidden]{display:none!important}
@media(min-width:961px){html[data-bb-visual=graphite] .vb-widget-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:960px){.operator-briefing-heading{align-items:flex-start!important;flex-direction:column}.operator-briefing-controls{flex-wrap:wrap}}
@media(max-width:760px){html[data-bb-visual=graphite] #app>.shell.dashboard-shell{grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important}}

/* Compact framing, with a quiet warm highlight for the next event. */
html[data-bb-visual=graphite] .vb-page{--vb-ink:var(--text);--vb-muted:var(--muted);--vb-line:var(--line);--vb-card:var(--surface)}
html[data-bb-visual=graphite] .vb-widget>header{margin-bottom:2px;padding:13px 16px 11px}
html[data-bb-visual=graphite] .vb-widget-icon{flex-basis:24px;color:var(--accent)}
html[data-bb-visual=graphite] .vb-widget-body{padding:4px 16px 12px}
html[data-bb-visual=graphite] .vb-widget-list{margin-top:8px}
html[data-bb-visual=graphite] .vb-widget-list span{margin-top:3px}
html[data-bb-visual=graphite] .vb-widget .vb-widget-open{padding:8px 16px;min-height:34px}
html[data-bb-visual=graphite] .vb-widget .vb-widget-open:hover{background:var(--row-hover)!important;color:var(--text)}
html[data-bb-visual=graphite] .vb-widget-events{background:var(--subtle)!important;border-top-color:var(--accent)}
html[data-bb-visual=graphite] .vb-event-summary{border-left:2px solid var(--accent);padding-left:12px;margin:12px 0}
html[data-bb-visual=graphite] .vb-widget-metric{display:flex;gap:6px;align-items:baseline;font-variant-numeric:tabular-nums}
html[data-bb-visual=graphite] .vb-widget-hours .vb-widget-list strong{font-size:21px;font-weight:600;letter-spacing:-.03em}
html[data-bb-visual=graphite] .vb-widget-weather .vb-temperature{font-size:38px}
html[data-bb-visual=graphite] .operator-venue>strong{font-size:17px}
html[data-bb-visual=graphite] .operator-venue{padding-top:16px;padding-bottom:16px;margin-bottom:12px}
html[data-bb-visual=graphite] .operator-context-summary{border-top:1px solid var(--line);padding-top:16px}
html[data-bb-visual=graphite] .vb-size-large{grid-column:1 / -1!important}
html[data-bb-visual=graphite] .vb-size-small .vb-widget-list li:nth-child(n+3){display:none}
@media(min-width:761px){html[data-bb-visual=graphite] .vb-widget{min-height:215px}}

html[data-bb-visual=graphite] .stock-page .page-heading{background:none;align-items:center;margin-bottom:8px}
html[data-bb-visual=graphite] .stock-page .heading-actions{flex-wrap:wrap;justify-content:flex-end}
html[data-bb-visual=graphite] .stock-page .heading-actions button{font-size:12px;min-height:34px;padding:7px 10px}
html[data-bb-visual=graphite] .stock-page .toolbar{margin-bottom:8px}
html[data-bb-visual=graphite] .stock-table{min-width:720px}
html[data-bb-visual=graphite] .stock-table .stock-category{max-width:115px;overflow:hidden;text-overflow:ellipsis}
@media(min-width:761px) and (max-width:1250px){
 html[data-bb-visual=graphite] .stock-table .product-name{max-width:240px}
 html[data-bb-visual=graphite] .stock-table :is(td,th){font-size:12px;padding:6px 8px!important}
}
html[data-bb-visual=graphite][data-device=phone] .stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
html[data-bb-visual=graphite][data-device=phone] .stats .stat-card>div{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
html[data-bb-visual=graphite][data-device=phone] .stock-table td{height:auto!important;padding:4px!important}
html[data-bb-visual=graphite][data-device=phone] .stock-page .page-heading{align-items:flex-start;flex-direction:column}
html[data-bb-visual=graphite][data-device=phone] .stock-page .heading-actions{justify-content:flex-start}
html[data-bb-visual=graphite][data-device=phone] .stock-page .heading-actions button{min-height:44px}
html[data-bb-visual=graphite] .ambient-settings-row{display:block;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}

/* The rail gives everyday navigation first priority, then a compact briefing. */
html[data-bb-visual=graphite] .sidebar{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;min-height:0}
html[data-bb-visual=graphite] .sidebar .operator-context{flex:0 0 auto;margin:0;padding:0}
html[data-bb-visual=graphite] .sidebar .operator-context>.eyebrow{margin:2px 8px 6px;padding:0;line-height:14px}
html[data-bb-visual=graphite] .sidebar .operator-context .nav-item{min-height:34px;padding:6px 9px;margin:1px 0;width:100%;line-height:1.25;font-size:13px}
html[data-bb-visual=graphite] .operator-tools{margin:2px 0 0}
html[data-bb-visual=graphite] .operator-tools>summary{display:flex;align-items:center;gap:11px;min-height:34px;padding:6px 9px;color:var(--muted);font-size:13px;cursor:pointer;list-style:none;border-radius:4px}
html[data-bb-visual=graphite] .operator-tools>summary::-webkit-details-marker{display:none}
html[data-bb-visual=graphite] .operator-tools>summary>span{flex:1}
html[data-bb-visual=graphite] .operator-tools>summary>.icon-svg:last-child{width:13px;height:13px}
html[data-bb-visual=graphite] .operator-tools[open]>summary>.icon-svg:last-child{transform:rotate(90deg)}
html[data-bb-visual=graphite] .operator-tools>summary:hover{background:var(--raised);color:var(--text)}
html[data-bb-visual=graphite] .operator-tools .nav-item{padding-left:15px!important}
html[data-bb-visual=graphite] .operator-rail-glance{margin-top:auto;padding-top:12px;flex:0 0 auto}
html[data-bb-visual=graphite] .operator-context-summary{margin:0 7px 10px;padding:10px 0 0;gap:3px;font-size:12px;line-height:1.3}
html[data-bb-visual=graphite] .operator-context-summary>strong{font-weight:600;overflow-wrap:anywhere}
html[data-bb-visual=graphite] .operator-context-summary>span:last-child{font-size:11px}
html[data-bb-visual=graphite] .operator-weather{padding:8px 9px;border:1px solid var(--line);border-radius:5px;background:var(--surface);margin:0 0 8px}
html[data-bb-visual=graphite] .operator-weather:empty{display:none}
html[data-bb-visual=graphite] .operator-weather-open{display:flex;align-items:center;justify-content:flex-start;text-align:left;white-space:normal;width:100%;padding:0;gap:10px;border:0;background:none;box-shadow:none!important;min-height:48px}
html[data-bb-visual=graphite] .operator-weather-open:hover{background:none!important}
.operator-weather-icon{flex:0 0 26px;display:grid;place-items:center;color:var(--accent)}
.operator-weather-icon svg{width:26px;height:26px}
.operator-weather-copy{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:11px;line-height:1.25}
.operator-weather-copy strong{font-size:21px;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.operator-weather-label{font-size:10px;color:var(--muted)}
.operator-weather-caption{font-size:10px;color:var(--muted);line-height:1.3;margin-top:5px;overflow-wrap:anywhere}
.operator-weather-source{font-size:9px;line-height:1.3;margin-top:3px;color:var(--muted)}
.operator-weather-source a{color:inherit;text-decoration:underline;text-underline-offset:2px}
html[data-bb-visual=graphite] .sidebar-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:0;padding:6px 0 0;flex:0 0 auto}
html[data-bb-visual=graphite] .sidebar-bottom .collapse-control{width:32px;min-width:32px;min-height:32px;padding:6px;margin:0}
html[data-bb-visual=graphite] .sidebar-bottom .collapse-control>span{display:none}
html[data-bb-visual=graphite] .sidebar-bottom .storage{padding:0 4px;font-size:10px;line-height:1.3;gap:5px}
html[data-bb-visual=graphite] .collapsed :is(.operator-rail-glance,.operator-tools>summary>span,.operator-tools>summary>.icon-svg:last-child,.sidebar-bottom .storage){display:none}
html[data-bb-visual=graphite] .collapsed .operator-tools>summary{justify-content:center;padding:6px}

/* Caption and panel alignment: one shared height, without inherited offsets. */
html[data-bb-visual=graphite] .window-strip{height:42px;min-height:42px;align-items:center}
html[data-bb-visual=graphite] .window-strip>.tabs{flex:1 1 auto;height:42px;min-height:0;padding:4px 6px;align-items:center;gap:5px;scrollbar-width:thin}
html[data-bb-visual=graphite] .window-strip .window-shortcuts{height:42px;align-items:center;padding:4px 10px}
html[data-bb-visual=graphite] .window-strip .tab{display:flex;align-items:center;flex:0 0 auto;min-width:112px;height:32px;padding:0;gap:0;border:1px solid var(--line);border-radius:5px;box-shadow:none}
html[data-bb-visual=graphite] .window-strip .tab.active{background:var(--selected);border-color:var(--accent);box-shadow:inset 0 -2px var(--accent)}
html[data-bb-visual=graphite] .window-strip .tab>button{height:30px;min-height:30px;margin:0;padding:0 10px;line-height:1.2;display:inline-flex;align-items:center;justify-content:center;color:var(--text)}
html[data-bb-visual=graphite] .window-strip .tab>.tab-close{width:24px;min-width:24px;height:24px;min-height:24px;margin:0 4px 0 0;padding:4px;color:var(--muted)}
html[data-bb-visual=graphite] .window-strip .tab>.tab-close:hover{color:var(--text);background:var(--row-hover)}
html[data-bb-visual=graphite] .window-strip>.new-workspace{height:30px;min-height:30px;width:32px;margin:0 10px 0 4px}
html[data-bb-visual=graphite] .window-strip .tab>button>.icon-svg{color:currentColor}
html[data-bb-visual=graphite] .operator-venue{align-items:center;gap:8px;padding:12px 8px;margin-bottom:8px;flex:0 0 auto}
html[data-bb-visual=graphite] .operator-venue-brand{align-self:center;width:100%;display:flex;justify-content:center}
html[data-bb-visual=graphite] .operator-venue .venue-mark{justify-content:center;height:56px;min-height:56px;max-width:154px;width:100%;transition:none}
html[data-bb-visual=graphite] .operator-venue .venue-mark img{display:block;width:100%;height:100%;max-width:154px;object-fit:contain;transition:none;animation:none}
html[data-bb-visual=graphite] .operator-venue img:not([data-logo-ready=true]):not([data-logo-ready=failed]):not([data-logo-cached=true]){visibility:hidden}
html[data-bb-visual=graphite] .operator-venue>strong{text-align:center}
html[data-bb-visual=graphite] .operator-switch{margin-top:4px}
html[data-bb-visual=graphite] .collapsed .operator-venue .venue-mark{height:34px;min-height:34px;width:40px}
html[data-bb-visual=graphite] .topbar :is(button,.bb-module-switcher),
html[data-bb-visual=graphite] .sidebar .nav-item{align-items:center;line-height:1.25}
html[data-bb-visual=graphite] .vb-widget>header{display:flex;align-items:center;min-height:52px;padding:12px 16px;margin:0;border-bottom:1px solid var(--line);gap:10px}
html[data-bb-visual=graphite] .vb-widget>header h3{margin:0;padding:0;line-height:1.25;align-self:center}
html[data-bb-visual=graphite] .vb-widget-icon{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;line-height:1}
html[data-bb-visual=graphite] .vb-widget-icon svg{display:block;width:22px;height:22px}
html[data-bb-visual=graphite] .vb-widget-body{padding:14px 16px 12px}
html[data-bb-visual=graphite] .vb-widget .vb-widget-open{display:flex;align-items:center;line-height:1.25}
html[data-bb-visual=graphite] .stock-table :is(th,td){vertical-align:middle}
html[data-bb-visual=graphite] .stock-table th button{align-items:center;min-height:30px;line-height:1.2;margin:0}
html[data-bb-visual=graphite] :is(.section-heading,.inspector-head,.vb-section,.cash-panel>header){align-items:center}
html[data-bb-visual=graphite] :is(.section-heading,.inspector-head,.cash-panel>header) :is(h2,h3){margin:0;line-height:1.25}
html[data-bb-visual=graphite] :is(.badge,.vb-badge){display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;line-height:1.25}

/* Glass is presentation only. Lists and stock figures keep opaque surfaces. */
html[data-bb-visual=graphite]{--operator-glass:rgba(27,32,34,.91);--operator-glass-head:rgba(57,65,68,.38);--operator-glint:rgba(255,255,255,.09)}
html[data-bb-visual=graphite][data-theme=light]{--operator-glass:rgba(241,244,241,.93);--operator-glass-head:rgba(231,237,232,.72);--operator-glint:rgba(255,255,255,.8)}
@supports ((backdrop-filter:blur(12px)) or (-webkit-backdrop-filter:blur(12px))){
 html[data-bb-visual=graphite][data-panel-finish=glass]:not([data-display-mode=ascii]) :is(.window-strip,.topbar,.sidebar){background:var(--operator-glass)!important;backdrop-filter:blur(12px) saturate(115%);-webkit-backdrop-filter:blur(12px) saturate(115%);box-shadow:inset 0 1px var(--operator-glint)}
 html[data-bb-visual=graphite][data-panel-finish=glass]:not([data-display-mode=ascii]) :is(.vb-widget>header,.inspector-head,.section-heading){background:var(--operator-glass-head);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:inset 0 1px var(--operator-glint)}
 html[data-bb-visual=graphite][data-panel-finish=glass]:not([data-display-mode=ascii]) :is(.vb-widget,.table-card,.settings-section,.vb-panel){box-shadow:inset 0 1px var(--operator-glint),0 4px 16px rgba(0,0,0,.08)}
}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more),(forced-colors:active){
 html[data-bb-visual=graphite][data-panel-finish=glass] :is(.window-strip,.topbar,.sidebar){background:var(--chrome)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}
 html[data-bb-visual=graphite][data-panel-finish=glass] :is(.vb-widget>header,.inspector-head,.section-heading){background:var(--surface)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}
}

@media(max-height:940px) and (min-width:761px){
 html[data-bb-visual=graphite] .sidebar:has(.operator-context[data-section=stock]) .operator-context-summary{display:none}
}
@media(max-height:850px) and (min-width:761px){
 html[data-bb-visual=graphite] .operator-context-summary{display:none}
 html[data-bb-visual=graphite] .operator-rail-glance{padding-top:8px}
 html[data-bb-visual=graphite] .operator-venue{padding:8px;margin-bottom:6px;gap:5px}
 html[data-bb-visual=graphite] .operator-venue .venue-mark{height:48px;min-height:48px}
 html[data-bb-visual=graphite] .operator-switch{min-height:30px;padding:5px 8px;margin-top:0}
 html[data-bb-visual=graphite] .sidebar .operator-context .nav-item,html[data-bb-visual=graphite] .operator-tools>summary{min-height:28px;padding-top:4px;padding-bottom:4px;margin-top:0;margin-bottom:0}
 html[data-bb-visual=graphite] .sidebar .nav-divider{margin-top:4px;margin-bottom:4px}
 html[data-bb-visual=graphite] .operator-weather{padding:6px 9px}
 html[data-bb-visual=graphite] .operator-weather-copy{gap:1px}
 html[data-bb-visual=graphite] .operator-weather-copy strong{font-size:18px}
}
@media(pointer:coarse){
 html[data-bb-visual=graphite] .sidebar .operator-context .nav-item,html[data-bb-visual=graphite] .operator-tools>summary{min-height:44px}
}

/* A bounded decorative layer, behind opaque working surfaces. */
#workspace-atmosphere{position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 25% 65%,color-mix(in srgb,var(--atmosphere-first) 38%,transparent),transparent 65%),radial-gradient(ellipse at 80% 25%,color-mix(in srgb,var(--atmosphere-second) var(--atmosphere-mix),transparent),transparent 65%)}
#workspace-atmosphere[hidden]{display:none}
#workspace-atmosphere canvas{display:block;width:100%;height:100%}
#workspace-atmosphere canvas[hidden]{display:none}
html[data-bb-visual=graphite] #app{position:relative;z-index:1}
html[data-bb-visual=graphite] .atmosphere-controls{width:100%;min-width:0;margin-top:12px}
.atmosphere-presets{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.atmosphere-presets button{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;font-size:12px}
.atmosphere-presets button[aria-pressed=true]{border-color:var(--accent);background:var(--selected)}
.atmosphere-presets i{display:block;width:16px;height:16px;border-radius:50%;border:1px solid #ffffff33}
.atmosphere-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}
.atmosphere-grid label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--muted);min-width:0}
.atmosphere-grid :is(select,input){width:100%;min-width:0;margin:0}
.atmosphere-grid input[type=color]{height:36px;padding:3px;cursor:pointer}
.atmosphere-range{display:flex;align-items:center;gap:10px}
.atmosphere-range output{min-width:36px;font-variant-numeric:tabular-nums;text-align:right}
.atmosphere-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 8px;font-size:11px;color:var(--muted)}
.atmosphere-foot button{font-size:11px;padding:6px 9px}
.atmosphere-accent{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 18px}
.atmosphere-accent button{font-size:12px;padding:6px 10px}
@media(max-width:500px){.atmosphere-grid{grid-template-columns:1fr}.atmosphere-foot{align-items:flex-start;flex-direction:column}}
@media(forced-colors:active){#workspace-atmosphere{display:none}}

/* Optional complete dashboard palettes; Neutral retains the original treatment. */
html[data-bb-visual=graphite][data-dashboard-look=spotify]:not([data-display-mode=ascii]){--accent:#1ed760!important;--hover:#3be477!important;--pressed:#18b650!important;--on:#07140b!important;--selected:#163d26!important;--subtle:#14291c!important;--focus:#1ed760!important;--bg:#101212!important;--chrome:#121615!important;--surface:#1b2220!important;--raised:#26332c!important;--text:#f7fbf8!important;--muted:#b5c7bc!important;--line:#35493d!important;--border:#6a8d76!important;--operator-glass:rgba(18,24,20,.93);--operator-glass-head:rgba(30,215,96,.09);--table-head:#1e2e23!important;--row-hover:#244332!important;--selection-text:#fff!important;color-scheme:dark}
html[data-bb-visual=graphite][data-dashboard-look=room12]:not([data-display-mode=ascii]){--accent:#f2c477!important;--hover:#ffdb9b!important;--pressed:#d7a85e!important;--on:#251308!important;--selected:#512730!important;--subtle:#35232a!important;--focus:#f2c477!important;--bg:#181419!important;--chrome:#22191e!important;--surface:#2a2026!important;--raised:#3b2c33!important;--text:#fff5e3!important;--muted:#cdbbb9!important;--line:#594048!important;--border:#a17c78!important;--operator-glass:rgba(37,24,31,.94);--operator-glass-head:rgba(174,38,61,.17);--table-head:#392831!important;--row-hover:#493039!important;--selection-text:#fff5e3!important;color-scheme:dark}
html[data-bb-visual=graphite][data-dashboard-look=electric]:not([data-display-mode=ascii]){--accent:#c3a4ff!important;--hover:#dfcbff!important;--pressed:#a684e8!important;--on:#211033!important;--selected:#44305c!important;--subtle:#2c233e!important;--focus:#e2c9ff!important;--bg:#15131e!important;--chrome:#1b1729!important;--surface:#262034!important;--raised:#352943!important;--text:#faf5ff!important;--muted:#c3b7d6!important;--line:#50415e!important;--border:#917da6!important;--operator-glass:rgba(28,22,42,.94);--operator-glass-head:rgba(186,90,230,.13);--table-head:#322840!important;--row-hover:#49335e!important;--selection-text:#fff!important;color-scheme:dark}
html[data-bb-visual=graphite][data-dashboard-look]:not([data-dashboard-look=neutral]) .vb-widget>header{border-top:2px solid var(--accent)}
html[data-bb-visual=graphite][data-dashboard-look=room12] .vb-widget>header h3{letter-spacing:.06em;text-transform:uppercase;font-size:12px}
html[data-bb-visual=graphite][data-theme=light][data-dashboard-look=spotify]:not([data-display-mode=ascii]){--bg:#eaf4ed!important;--chrome:#e0eee4!important;--surface:#f9fffa!important;--raised:#d7ebdd!important;--text:#132c1d!important;--muted:#466150!important;--accent:#116f35!important;--hover:#095226!important;--pressed:#084b23!important;--on:#fff!important;--focus:#116f35!important;--selected:#c2e5ce!important;--subtle:#dceee1!important;--selection-text:#132c1d!important;--line:#acc8b6!important;--border:#658a72!important;--table-head:#dceee1!important;--row-hover:#cfe7d6!important;--operator-glass:rgba(225,240,229,.94);--operator-glass-head:rgba(29,185,84,.10);color-scheme:light}
html[data-bb-visual=graphite][data-theme=light][data-dashboard-look=room12]:not([data-display-mode=ascii]){--bg:#f4eade!important;--chrome:#eee1d2!important;--surface:#fff9ee!important;--raised:#eddbcb!important;--text:#3b2027!important;--muted:#75535a!important;--accent:#9a2940!important;--hover:#7c1d31!important;--pressed:#661627!important;--on:#fff!important;--focus:#9a2940!important;--selected:#eed0d0!important;--subtle:#f2e0d9!important;--selection-text:#3b2027!important;--line:#cbb0a5!important;--border:#9d766f!important;--table-head:#efded0!important;--row-hover:#edd4c6!important;--operator-glass:rgba(241,227,211,.94);--operator-glass-head:rgba(176,49,66,.09);color-scheme:light}
html[data-bb-visual=graphite][data-theme=light][data-dashboard-look=electric]:not([data-display-mode=ascii]){--bg:#f1eafa!important;--chrome:#e8def3!important;--surface:#fffaff!important;--raised:#e7d7f3!important;--text:#30203d!important;--muted:#6b547c!important;--accent:#7430ae!important;--hover:#582087!important;--pressed:#48196e!important;--on:#fff!important;--focus:#7430ae!important;--selected:#e3c8f2!important;--subtle:#edddf6!important;--selection-text:#30203d!important;--line:#c5add6!important;--border:#9571af!important;--table-head:#eadbf4!important;--row-hover:#e7d2f3!important;--operator-glass:rgba(237,224,247,.94);--operator-glass-head:rgba(154,59,206,.10);color-scheme:light}

/* Fixed logo frame, then navigation; event and hourly forecast anchor the foot. */
html[data-bb-visual=graphite] .operator-venue{padding:10px 6px;margin-bottom:6px;gap:5px}
html[data-bb-visual=graphite] .operator-venue .venue-mark{height:96px;min-height:96px;max-width:174px}
html[data-bb-visual=graphite] .operator-venue .venue-mark img{max-width:174px}
html[data-bb-visual=graphite] .operator-rail-glance{margin-top:auto;padding-top:10px;display:flex;flex-direction:column;gap:8px}
html[data-bb-visual=graphite] .operator-context-summary{display:block!important;border:0;margin:0;padding:0}
html[data-bb-visual=graphite] .operator-context-summary:empty{display:none!important}
html[data-bb-visual=graphite] .operator-event-card{position:relative;isolation:isolate;display:block;text-align:left;width:100%;min-height:100px;padding:12px;border:1px solid var(--line);border-radius:6px;overflow:hidden;white-space:normal;background:#241a20;color:#fff8e9}
.operator-event-art,.operator-event-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.operator-event-shade{z-index:-1;background:linear-gradient(90deg,rgba(12,10,15,.84),rgba(12,10,15,.46))}
.operator-event-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.operator-event-copy>strong{font-size:17px;line-height:1.15;font-weight:650;overflow-wrap:anywhere}
.operator-event-day{font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.08em;display:flex;justify-content:space-between;gap:4px;flex-wrap:wrap;color:#ffe4ac}
.operator-event-day>span{font-size:9px;letter-spacing:0;text-transform:none;color:#ddd2cb}
.operator-event-time{font-size:12px;font-variant-numeric:tabular-nums}
.vb-stage-art{position:relative;isolation:isolate;overflow:hidden;border-radius:6px;padding:24px;background:#271922;color:#fff5df;min-height:130px}
.vb-stage-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;opacity:.6}
.vb-stage-art>div{display:flex;flex-direction:column;gap:6px}.vb-stage-art strong{font-size:24px}.vb-stage-art span{font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.operator-event-empty{border:1px solid var(--line);padding:10px;border-radius:5px;display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted)}
.operator-event-empty>strong{font-size:12px;font-weight:500}
html[data-bb-visual=graphite] .operator-weather{margin:0;padding:9px}
html[data-bb-visual=graphite] .operator-weather-open{display:flex;flex-direction:column;gap:7px;align-items:stretch;min-height:0}
.operator-weather-heading{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:10px;color:var(--muted)}
.operator-weather-heading>strong{font-size:16px;line-height:1.2;color:var(--text);font-variant-numeric:tabular-nums}
.operator-weather-heading small{font-size:9px;color:var(--muted);font-weight:400}
.operator-weather-hours{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:3px}
.operator-weather-hour{display:flex;align-items:center;flex-direction:column;gap:4px;font-size:10px;color:var(--muted);border-left:1px solid var(--line)}
.operator-weather-hour:first-child{border-left:0}
.operator-weather-hour strong{font-size:17px;font-weight:600;color:var(--text);line-height:1.1}
.operator-weather-hour small{font-size:9px;white-space:nowrap}
.operator-weather-note{font-size:9px;line-height:1.2;color:var(--muted)}
html[data-bb-visual=graphite] .operator-weather-caption{font-size:9px;margin-top:4px}
html[data-bb-visual=graphite] .operator-weather-source{font-size:9px;margin-top:2px}
html[data-bb-visual=graphite] .sidebar-bottom{padding-top:4px}
html[data-bb-visual=graphite] .collapsed .operator-rail-glance{display:none}
html[data-bb-visual=graphite] .collapsed .operator-venue .venue-mark{height:38px;min-height:38px;width:40px}
@media(max-height:850px) and (min-width:761px){
 html[data-bb-visual=graphite] .operator-venue .venue-mark{height:72px;min-height:72px}
 html[data-bb-visual=graphite] .operator-venue{padding:6px;margin-bottom:4px;gap:4px}
 html[data-bb-visual=graphite] .operator-rail-glance{padding-top:6px;gap:6px}
 html[data-bb-visual=graphite] .operator-event-card{min-height:82px;padding:9px}
 .operator-event-copy{gap:3px}.operator-event-copy>strong{font-size:15px}
 html[data-bb-visual=graphite] .operator-weather{padding:7px}
 html[data-bb-visual=graphite] .operator-weather-open{gap:5px}
 .operator-weather-hour{gap:2px}.operator-weather-hour strong{font-size:15px}
}

/* The shared shell footer has greater specificity than the older rail rules.
   Use explicit rows so short menus cannot split the available vertical space. */
@media(min-height:650px){
 html[data-bb-visual=graphite]:not([data-device=phone]) [data-bb-shell]>.sidebar:has(.operator-context){display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;align-self:stretch;align-content:stretch;height:100%;min-height:0;overflow:hidden}
 html[data-bb-visual=graphite] [data-bb-shell]>.sidebar>.operator-context{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;margin:0;padding:0}
 html[data-bb-visual=graphite] [data-bb-shell]>.sidebar>.operator-rail-glance{margin-top:0;align-self:end}
 html[data-bb-visual=graphite] [data-bb-shell]>.sidebar>.sidebar-bottom{margin-top:0;align-self:end;padding-top:4px}
 html[data-bb-visual=graphite] [data-bb-shell].collapsed>.sidebar:has(.operator-context){grid-template-rows:auto minmax(0,1fr) auto}
}
html[data-bb-visual=graphite]:not([data-device=phone]) [data-bb-shell]>.topbar .dashboard-label{display:inline-flex;align-items:center;flex:0 0 auto;line-height:1;margin:0 clamp(16px,2.4vw,42px) 0 2px;padding-right:22px;border-right:1px solid var(--line)}
.barblade-wordmark{display:block;width:146px;height:29px;overflow:visible;color:var(--text)}
.barblade-wordmark .wordmark-blade{color:var(--accent)}
html[data-bb-visual=graphite] [data-bb-shell]>.topbar .bb-module-switcher{min-width:0}
html[data-bb-visual=graphite][data-dashboard-look=spotify] .operator-event-art{filter:grayscale(1);opacity:.65}
html[data-bb-visual=graphite][data-dashboard-look=spotify] .operator-event-card{background:#13221a;border-color:#365b42;color:#f5fff8}
html[data-bb-visual=graphite][data-dashboard-look=spotify] .operator-event-shade{background:linear-gradient(100deg,rgba(7,20,12,.95),rgba(9,30,16,.67))}
html[data-bb-visual=graphite][data-dashboard-look=spotify] .operator-event-day{color:#6bed95}
html[data-bb-visual=graphite][data-dashboard-look=spotify] .operator-weather-heading>strong{color:var(--accent)}
html[data-bb-visual=graphite][data-dashboard-look=spotify] .operator-weather{background:linear-gradient(145deg,var(--surface),var(--subtle));border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}
html[data-bb-visual=graphite][data-dashboard-look=spotify] .operator-weather-hour:first-child>span{color:var(--accent);font-weight:650}
@media(max-width:1100px){
 html[data-bb-visual=graphite]:not([data-device=phone]) [data-bb-shell]>.topbar .dashboard-label{margin-right:18px;padding-right:16px}
 .barblade-wordmark{width:130px;height:26px}
}
@media(max-height:649px){
 html[data-bb-visual=graphite] [data-bb-shell]>.sidebar>.operator-rail-glance{margin-top:auto}
 html[data-bb-visual=graphite] [data-bb-shell]>.sidebar>.sidebar-bottom{margin-top:0}
}
