/* v0.0.2-R2: graphite workspace, restored visual data and interaction feedback. */
:root{--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}
:root[data-theme=dark]{--bg:#101319;--surface:#191e27;--subtle:#232a36;--line:#343d4d;--text:#f0f3fa;--muted:#b0bacb;--accent:#91b5ff;--accent-soft:#25344f;--blue:#91b5ff;--red:#ff999b;--danger:#ff999b;--green:#8ed2b4;--purple:#c0b1f4;--shadow:0 10px 32px #080a102b;color:var(--text);background:var(--bg)}
.pulse-shell .brand-home{flex-direction:row;align-items:center;justify-content:flex-start;gap:10px}
.pulse-shell .brand-home img{width:110px;max-height:40px;flex-shrink:0}
.pulse-shell .brand-home .brand-title{font-size:13px;line-height:1.3;max-width:65px}
:root[data-theme=dark] .pulse-shell .sidebar{background:#151a22}
:root[data-theme=dark] .pulse-shell .topbar{background:#151a22}
.pulse-shell .nav button{transition:background-color 150ms ease,color 150ms ease,transform 150ms var(--ease-out)}
.pulse-shell .tab{transition:background-color 150ms ease}
.pulse-shell .nav button.active,:root[data-theme=dark] .pulse-shell .nav button.active{background:var(--accent-soft);color:var(--accent)}
.design-dashboard .home-metrics{gap:10px;border:0;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}
.design-dashboard .home-metric,:root[data-theme=dark] .design-dashboard .home-metric{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:16px 13px;min-height:128px;overflow:hidden;transition:transform 180ms var(--ease-out),border-color 150ms ease,background-color 150ms ease}
.design-dashboard .home-metric+.home-metric{border-left:1px solid var(--line)}
.design-dashboard .home-metric>i{display:grid!important;place-items:center;width:34px;height:36px;border-radius:10px;background:var(--accent-soft);color:var(--accent);transition:transform 180ms var(--ease-out)}
.design-dashboard .home-metric>i svg{width:21px;height:21px;stroke-width:1.7}
.design-dashboard .home-metric.red>i{background:color-mix(in srgb,var(--red) 13%,var(--surface));color:var(--red)}
.design-dashboard .home-metric.green>i{background:color-mix(in srgb,var(--green) 13%,var(--surface));color:var(--green)}
.design-dashboard .home-metric.purple>i{background:color-mix(in srgb,var(--purple) 13%,var(--surface));color:var(--purple)}
.design-dashboard .home-metric strong{font-size:29px;line-height:1.12;margin-top:8px}
.design-dashboard .home-metric small{font-size:11px;line-height:1.45;min-height:29px}
.design-dashboard .home-metric em{font-size:10px;line-height:1.4}
.design-dashboard .home-metric .metric-spark{display:flex!important;position:absolute;right:12px;bottom:13px;opacity:.65;width:40px;gap:3px;pointer-events:none}
.metric-spark i{width:3px;min-height:2px;background:var(--accent);border-radius:2px}
.design-dashboard .home-metric:first-child em{max-width:14ch}
.department-visual{background:var(--surface);padding:17px;border-radius:12px;border:1px solid var(--line)}
.department-visual header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.department-visual h2{font-size:15px;margin:0}.department-visual header strong{font-size:20px;color:var(--accent)}
.department-visual>p{font-size:11px;color:var(--muted);margin-bottom:14px}
.department-track{display:grid;grid-template-columns:89px minmax(0,1fr) 20px;gap:8px;align-items:center;margin:12px 0;font-size:11px}
.department-track>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.department-track>strong{text-align:right;font-size:12px;font-weight:600}
.department-track>i{height:6px;background:var(--subtle);border-radius:3px;overflow:hidden}
.department-track b{display:block;height:100%;border-radius:3px;background:var(--dept-color,var(--accent));transform-origin:left center}
.department-visual footer{border-top:1px solid var(--line);padding-top:11px;font-size:10px;color:var(--muted);margin-top:15px}
.department-track:nth-of-type(2n) b{opacity:.8}
button{transition:transform 140ms var(--ease-out),background-color 150ms ease,color 150ms ease,border-color 150ms ease}
button:active:not(:disabled){transform:scale(.98)}
button.primary{border-radius:8px!important}
:root[data-theme=dark] button.primary{background:#91b5ff!important;color:#142440!important}
:root[data-theme=dark] .display-period-form button.primary{background:var(--surface)!important;color:var(--text)!important}
.theme-switch span{transition:background-color 180ms ease,transform 180ms var(--ease-out)}
.theme-switch:active span{transform:scale(.9)}
.home-order-preview header h2{font-size:18px;font-weight:650}
.header-bell i{box-shadow:0 0 0 3px var(--surface)}
.order-banner{border-top-color:var(--accent)!important}
:root[data-theme=dark] .badge.blue{background:#273751;color:#b7cdf9}
:root[data-theme=dark] .badge.red{background:#472b34;color:#ffb4b5}
:root[data-theme=dark] .badge.green{background:#263d35;color:#b5dfc8}
:root[data-theme=dark] .badge.amber{background:#433928;color:#e7cd9b}
:root[data-theme=dark] .badge.purple{background:#39314b;color:#d6c8ff}
.scene-enter .department-track b{animation:track-appear 220ms var(--ease-out) both}
@keyframes track-appear{from{transform:scaleX(.05);opacity:.4}to{transform:scaleX(1);opacity:1}}
@media(hover:hover) and (pointer:fine){.design-dashboard .home-metric:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}.design-dashboard .home-metric:hover>i{transform:scale(1.06)}.pulse-shell .nav button:hover{transform:translateX(2px)}.home-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.photo-gallery a img{transition:transform 180ms var(--ease-out)}.photo-gallery a:hover img{transform:scale(1.025)}}
@supports(transition-behavior:allow-discrete){dialog{transition:opacity 200ms var(--ease-out),transform 200ms var(--ease-out),display 200ms allow-discrete,overlay 200ms allow-discrete;opacity:0;transform:translateY(8px) scale(.97)}dialog[open]{opacity:1;transform:translateY(0) scale(1)}dialog::backdrop{transition:opacity 200ms var(--ease-out),display 200ms allow-discrete,overlay 200ms allow-discrete;opacity:0}dialog[open]::backdrop{opacity:1}@starting-style{dialog[open]{opacity:0;transform:translateY(8px) scale(.97)}dialog[open]::backdrop{opacity:0}}}
@media(max-width:1100px){.design-dashboard .home-metric{min-height:115px;gap:9px;padding:13px 11px;grid-template-columns:29px minmax(0,1fr)}.design-dashboard .home-metric>i{width:29px;height:32px}.design-dashboard .home-metric small{font-size:11px}}
@media(max-width:720px){.design-dashboard .home-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.design-dashboard .home-metric{min-height:112px}.pulse-shell .brand-home{height:60px;min-height:60px}.pulse-shell .brand-home img{width:110px}.pulse-shell .brand-home .brand-title{max-width:none}.department-visual{padding:15px}.department-track{grid-template-columns:110px minmax(0,1fr) 24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}button:active:not(:disabled){transform:none}.design-dashboard .home-metric:hover,.design-dashboard .home-metric:hover>i,.pulse-shell .nav button:hover{transform:none}}

.design-dashboard .home-metric em{white-space:normal;overflow:visible;text-overflow:clip;max-width:20ch}.design-dashboard .home-metric strong{font-style:normal}
@media(max-width:720px){.pulse-shell{grid-template-rows:auto minmax(0,1fr)}.pulse-shell .sidebar{max-height:124px;overflow:hidden}.pulse-shell .nav{display:flex;flex-direction:row;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.pulse-shell .nav button{flex:0 0 auto;width:auto}.pulse-shell .brand-home{height:48px;min-height:48px}.pulse-shell .nav button.active{border-radius:7px}}
