/* Qiri site-theme plugin / Studio shell.
   Apple-inspired web materials, not an Apple framework.
   Geometry and interaction remain upstream. Never target work-card descendants.
   Radius rule: 18px sheets, 10px controls, circular identity/status markers. */
html[data-site-theme=studio]:root,
html[data-site-theme=studio]:root[data-theme],
html[data-site-theme=studio][data-theme] .app-shell {
  --bg:#eceeef; --surface:#fff; --panel:#fff; --surface-soft:#f1f2f3;
  --surface-raised:#fafafa; --soft:#f1f2f3; --ink:#25272b; --muted:#64676d; --line:#d8dadd;
  --qiri-accent:#ae294b; --qiri-on-accent:#fff; --qiri-tint:#faeaf0;
  --qiri-day:#fff; --qiri-weekend:#f9f9fa; --qiri-outside:#e7e9eb; --qiri-today:#fff4f6;
  --qiri-chrome:#fafbfce8; --qiri-field:#eceef0; --qiri-control:#fff; --qiri-segment:#e1e3e6;
  --qiri-graphite:#fafbfc; --qiri-graphite-soft:#eef0f3; --qiri-graphite-ink:#25272b;
  --qiri-graphite-muted:#64676d; --qiri-graphite-line:#d8dadd;
  --qiri-nav-selected:var(--qiri-tint); --qiri-nav-hover:#eef0f3;
  --qiri-header-control:#fff; --qiri-header-field:#eceef0; --qiri-header-selected:#e1e4e8;
  --qiri-shadow:0 1px 2px #1a1f2810,0 6px 18px #1a1f2806;
  --qiri-sheet-shadow:0 26px 90px #171b2938,0 3px 12px #171b2914;
  --qiri-inset:inset 0 1px 0 #ffffffc0;
  --today-ink:var(--qiri-accent); --today-border:var(--qiri-accent);
  --today-surface:var(--qiri-today); --today-fill:var(--qiri-today);
}
html[data-site-theme=studio]:root[data-theme=dark],
html[data-site-theme=studio][data-theme=dark] .app-shell {
  --bg:#181a1d; --surface:#292c30; --panel:#292c30; --surface-soft:#222529;
  --surface-raised:#32363b; --soft:#35393f; --ink:#f1f2f4; --muted:#b9bec6; --line:#474c54;
  --qiri-accent:#ff9eb9; --qiri-on-accent:#3e1022; --qiri-tint:#462c36;
  --qiri-day:#292c30; --qiri-weekend:#26292e; --qiri-outside:#1e2125; --qiri-today:#3e2c35;
  --qiri-chrome:#25282de8; --qiri-field:#202327; --qiri-control:#373c43; --qiri-segment:#1e2125;
  --qiri-graphite:#131517; --qiri-graphite-soft:#2b2e33;
  --qiri-graphite-ink:#f7f7f8; --qiri-graphite-muted:#c0c2c7; --qiri-graphite-line:#44484f;
  --qiri-nav-selected:#3c4047; --qiri-nav-hover:#41454c;
  --qiri-header-control:#555b64; --qiri-header-field:#363a41; --qiri-header-selected:#535a65;
  --qiri-shadow:0 2px 8px #0002,0 8px 24px #0001;
  --qiri-sheet-shadow:0 28px 90px #0008; --qiri-inset:inset 0 1px 0 #ffffff12;
}
html[data-site-theme=studio]:root[data-theme=dark][data-tone=gray],
html[data-site-theme=studio][data-theme=dark][data-tone=gray] .app-shell {
  --bg:#272a2f; --surface:#34383e; --panel:#34383e; --surface-soft:#2c3036;
  --qiri-day:#34383e; --qiri-weekend:#30343a; --qiri-outside:#292d33; --qiri-chrome:#353940ed;
}
html[data-site-theme=studio]:root[data-theme=dark][data-tone=green],
html[data-site-theme=studio][data-theme=dark][data-tone=green] .app-shell {
  --bg:#19211f; --surface:#29332f; --panel:#29332f; --surface-soft:#222c28;
  --qiri-day:#29332f; --qiri-weekend:#25302b; --qiri-outside:#1e2824; --qiri-chrome:#29342eed;
}
html[data-site-theme=studio] body { background:var(--bg); }
html[data-site-theme=studio] :is(h1,.section-heading h2,.portal-heading h1,.login-panel h2) {
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft JhengHei',sans-serif;
  font-optical-sizing:auto; font-weight:650;
}
html[data-site-theme=studio] :is(button,input,select,textarea):focus-visible {
  outline:2px solid var(--qiri-accent); outline-offset:3px;
}
html[data-site-theme=studio] .site-logo,
html[data-site-theme=studio] .sidebar-brand>.site-logo {
  background:transparent!important; border:0!important; box-shadow:none!important;
}
html[data-site-theme=studio] .site-logo img { object-fit:contain; }

/* Navigation follows the current surface mode; all slots stay in place. */
html[data-site-theme=studio][data-theme] .app-shell .sidebar {
  --ink:var(--qiri-graphite-ink); --muted:var(--qiri-graphite-muted); --line:var(--qiri-graphite-line);
  background:var(--qiri-graphite); border-color:transparent; color:var(--ink);
  box-shadow:inset -1px 0 var(--line); backdrop-filter:none;
}
html[data-site-theme=studio][data-theme] .sidebar .sidebar-brand { color:var(--ink); }
html[data-site-theme=studio][data-theme] .sidebar .sidebar-brand strong { font-weight:600; }
html[data-site-theme=studio][data-theme] .sidebar :is(.sidebar-brand small,.workspace-label,.sidebar-user small) { color:var(--muted); }
html[data-site-theme=studio][data-theme] .app-shell .sidebar :is(nav button,.sidebar-bottom>button) {
  color:var(--muted); border-radius:10px; background:transparent;
}
html[data-site-theme=studio][data-theme] .app-shell .sidebar :is(nav button.current,.sidebar-bottom>button.current) {
  color:var(--ink); background:var(--qiri-nav-selected); box-shadow:inset 3px 0 var(--qiri-accent);
}
html[data-site-theme=studio][data-theme] .app-shell .sidebar :is(.workspace-dot,button.current>svg) { color:var(--qiri-accent); }
html[data-site-theme=studio][data-theme] .sidebar .workspace-dot { background:var(--qiri-accent); }
html[data-site-theme=studio][data-theme] .sidebar .nav-count { color:var(--qiri-accent); background:var(--qiri-tint); }
html[data-site-theme=studio][data-theme] .sidebar .sidebar-user { border-color:var(--line); }
html[data-site-theme=studio][data-theme] .sidebar .sidebar-user button { color:var(--ink); background:transparent; }

/* Translucency only on floating chrome, never on data or forms. */
html[data-site-theme=studio][data-theme] .app-shell .topbar {
  background:var(--qiri-chrome); border-color:transparent;
  box-shadow:0 1px 0 #171c2510; backdrop-filter:blur(20px) saturate(120%);
}
html[data-site-theme=studio][data-theme] .topbar :is(.breadcrumb,.breadcrumb strong) { color:var(--muted); }
html[data-site-theme=studio][data-theme] .topbar .breadcrumb strong { color:var(--ink); }
html[data-site-theme=studio][data-theme] .topbar button:not(.avatar) {
  color:var(--ink); background:transparent; border-color:var(--line); border-radius:10px; box-shadow:none;
}
html[data-site-theme=studio][data-theme] .app-shell .topbar .theme-toggle { background:var(--surface); box-shadow:var(--qiri-shadow); }
html[data-site-theme=studio][data-theme] .notification-button>span { background:var(--qiri-accent); color:var(--qiri-on-accent); }
html[data-site-theme=studio][data-theme] .workspace-content>footer,
html[data-site-theme=studio][data-theme] .site-footer { color:var(--muted); border-color:transparent; background:transparent; }

/* Continuous calendar surface; existing event lanes and card dimensions stay upstream. */
html[data-site-theme=studio][data-theme] .calendar-view .calendar-fixed-heading {
  --ink:var(--qiri-graphite-ink); --muted:var(--qiri-graphite-muted); --line:var(--qiri-graphite-line);
  --qiri-control:var(--qiri-header-control); --qiri-field:var(--qiri-header-field);
  background:var(--qiri-graphite); border-radius:14px; box-shadow:0 4px 12px #15191e18;
  backdrop-filter:none; -webkit-backdrop-filter:none;
}
html[data-site-theme=studio][data-theme] .calendar-view .calendar-toolbar-compact h2 {
  color:var(--ink); font-weight:600; letter-spacing:-.7px;
}
html[data-site-theme=studio][data-theme] .calendar-view .calendar-fixed-heading :is(input,select,button):not(.modal *):not(.primary) { color:var(--ink); }
html[data-site-theme=studio][data-theme] .calendar-view .calendar-fixed-heading :is(.search-field,.people-filter-trigger,.platform-filter-trigger,.calendar-month-navigation) {
  background:var(--qiri-header-field); border-color:transparent; box-shadow:var(--qiri-inset);
}
html[data-site-theme=studio][data-theme] .calendar-view .calendar-fixed-heading .calendar-month-navigation button:nth-child(2) {
  background:var(--qiri-header-selected); color:var(--ink); box-shadow:none;
}
html[data-site-theme=studio][data-theme] .calendar-view .calendar-weekday-heading .day-off { color:var(--qiri-accent); }
html[data-site-theme=studio][data-theme] .calendar-view :is(.people-filter-menu,.platform-filter-panel) {
  --ink:#25272b; --muted:#64676d; --surface:#fff; --line:#d8dadd;
  background:var(--surface); color:var(--ink); border-radius:14px; box-shadow:var(--qiri-sheet-shadow);
}
html[data-site-theme=studio][data-theme=dark] .calendar-view :is(.people-filter-menu,.platform-filter-panel) {
  --ink:#f1f2f4; --muted:#b9bec6; --surface:#292c30; --line:#474c54;
}
html[data-site-theme=studio][data-theme] .calendar-view :is(.people-filter-menu,.platform-filter-panel) :is(input,button,label) { color:var(--ink); }
html[data-site-theme=studio][data-theme] .calendar-view .calendar-wide .calendar-week>.calendar-cell::before {
  inset:0; border-radius:0; box-shadow:none;
}
html[data-site-theme=studio][data-theme] .calendar-view .calendar-wide .calendar-week>.calendar-cell:first-child::before { border-radius:0; }
html[data-site-theme=studio][data-theme] .calendar-view .calendar-wide .calendar-week>.calendar-cell:nth-child(7)::before { border-radius:0; box-shadow:none; }
html[data-site-theme=studio][data-theme] .calendar-view .calendar-wide .calendar-week>.calendar-cell.today::before {
  border-radius:0; box-shadow:inset 0 0 0 1.5px var(--qiri-accent);
}
html[data-site-theme=studio][data-theme] .calendar-view .calendar-cell>header .calendar-date-number { font-size:22px; font-weight:500; }
html[data-site-theme=studio][data-theme] .calendar-view .calendar-cell.today>header .calendar-date-number {
  font-size:20px; font-weight:600; box-shadow:none;
}
html[data-site-theme=studio][data-theme] .calendar-view .calendar-cell>header .calendar-holiday-label { color:var(--qiri-accent); }
html[data-site-theme=studio][data-theme] .calendar-view .mobile-overview-day::before { inset:0; border-radius:0; box-shadow:none; }
html[data-site-theme=studio][data-theme] .calendar-view .mobile-overview-day[aria-current=date]::before { border-radius:0; box-shadow:inset 0 0 0 1.5px var(--qiri-accent); }

/* Solid sheets, quiet fields. No global button rules can bleed into work cards. */
html[data-site-theme=studio][data-theme] .app-shell :is(.panel,.notebook-card,.finance-record,.album-card,.settings-card,.stat-card) {
  background:var(--surface); border-color:transparent; border-radius:18px; box-shadow:var(--qiri-shadow);
}
html[data-site-theme=studio][data-theme] .app-shell :is(.admin-console,.home-todos,.notebook-page,.finance-page,.album-page,.personal-center,.settings-grid,.template-page) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea),
html[data-site-theme=studio] .login-panel :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
  background:var(--surface-soft); color:var(--ink); border-color:transparent; border-radius:10px;
  box-shadow:inset 0 1px 2px #191e2610;
}
html[data-site-theme=studio] :is(input,textarea)::placeholder { color:var(--muted); opacity:1; }
html[data-site-theme=studio][data-theme] .app-shell :is(.admin-console,.home-note-form,.notebook-page,.finance-page,.album-page,.personal-center) button:not(.primary):not(.selected):not([aria-pressed=true]):not(.calendar-event-open) {
  border-color:var(--line); border-radius:10px; color:var(--ink);
}
html[data-site-theme=studio][data-theme] .app-shell :is(.admin-console,.home-todos,.notebook-page,.finance-page,.album-page,.personal-center,.mobile-portal-actions) .primary,
html[data-site-theme=studio] .login-panel .primary {
  background:var(--green); color:var(--accent-ink,#fff); border-color:transparent; border-radius:10px;
  box-shadow:inset 0 1px 0 #ffffff20,0 2px 4px #1a1d2410;
}
/* Override action tokens on the controls themselves, preserving work-card colors. */
html[data-site-theme=studio] :is(.app-shell,.login-panel) .primary {
  --green:var(--qiri-accent); --green-dark:var(--qiri-accent); --accent-ink:var(--qiri-on-accent);
  background:var(--qiri-accent); color:var(--qiri-on-accent); border-color:var(--qiri-accent);
}
html[data-site-theme=studio] .app-shell .toast {
  background:var(--qiri-tint); color:var(--qiri-accent); border:1px solid color-mix(in srgb,var(--qiri-accent) 25%,transparent);
  box-shadow:var(--qiri-shadow);
}
html[data-site-theme=studio] .app-shell .toast button { color:var(--qiri-accent); }
html[data-site-theme=studio][data-theme] .app-shell :is(.admin-tabs,.home-note-tabs,.home-todo-switch,.home-confirm-switch,.finance-tabs) {
  background:var(--qiri-segment); border-color:transparent; border-radius:12px;
}
html[data-site-theme=studio][data-theme] .app-shell :is(.admin-tabs,.home-note-tabs,.finance-tabs)>button {
  border-color:transparent; border-radius:9px; background:transparent; color:var(--muted); box-shadow:none;
}
html[data-site-theme=studio][data-theme] .app-shell :is(.admin-tabs,.home-note-tabs,.finance-tabs)>button:is(.selected,.current,[aria-pressed=true]) {
  color:var(--ink); background:var(--surface); box-shadow:0 1px 4px #11182016;
}
html[data-site-theme=studio][data-theme] .app-shell :is(.member-table,.data-table) :is(th,td) { border-color:var(--line); }
html[data-site-theme=studio][data-theme] .app-shell :is(.member-table,.data-table) th { color:var(--muted); background:var(--surface-soft); }
html[data-site-theme=studio][data-theme] .admin-console .admin-hero {
  background:var(--qiri-graphite); color:var(--qiri-graphite-ink); border-color:transparent; border-radius:18px;
}
html[data-site-theme=studio][data-theme] .admin-console .admin-hero h1 { color:var(--qiri-graphite-ink); }
html[data-site-theme=studio][data-theme] .admin-console .admin-hero p { color:var(--qiri-graphite-muted); }
html[data-site-theme=studio][data-theme] .admin-console .admin-stats>div {
  background:var(--surface); border-color:transparent; border-radius:14px; box-shadow:var(--qiri-shadow);
}
html[data-site-theme=studio][data-theme] .admin-console .admin-stats strong { color:var(--ink); }
html[data-site-theme=studio][data-theme] .admin-console :is(.notice.subtle,.status) {
  background:var(--surface-soft); color:var(--muted); border-color:var(--line);
}
html[data-site-theme=studio][data-theme] .admin-console .overview-line { border-color:var(--line); }
html[data-site-theme=studio][data-theme] .app-foot { color:var(--muted); border-color:var(--line); }

/* Home: a studio desk, with the existing work and review columns kept intact. */
html[data-site-theme=studio][data-theme] .home-welcome { color:var(--ink); }
html[data-site-theme=studio][data-theme] .home-welcome .eyebrow { color:var(--muted); }
html[data-site-theme=studio][data-theme] .home-welcome h1 { letter-spacing:-.8px; }
html[data-site-theme=studio][data-theme] .home-welcome .portal-date { color:var(--muted); font-variant-numeric:tabular-nums; }
html[data-site-theme=studio][data-theme] .home-pet-placeholder {
  position:relative; isolation:isolate; background:var(--qiri-graphite); border-color:transparent;
  border-radius:18px; color:var(--qiri-graphite-ink); box-shadow:none; overflow:hidden;
}
html[data-site-theme=studio][data-theme] .home-pet-placeholder::after {
  content:''; position:absolute; z-index:-1; width:220px; height:220px; right:-62px; bottom:-82px;
  border:1px solid var(--qiri-graphite-line); border-radius:50%; box-shadow:0 0 0 22px color-mix(in srgb,var(--qiri-graphite-ink) 2%,transparent),0 0 0 44px color-mix(in srgb,var(--qiri-graphite-ink) 2%,transparent); pointer-events:none;
}
html[data-site-theme=studio][data-theme] .home-pet-placeholder :is(h2,p,small) { color:var(--qiri-graphite-ink); }
html[data-site-theme=studio][data-theme] .home-pet-placeholder .home-pet-icon { color:var(--qiri-accent); background:var(--qiri-tint); border-color:transparent; }
html[data-site-theme=studio][data-theme] .home-notes { box-shadow:var(--qiri-shadow),inset 0 3px 0 var(--qiri-accent); }
html[data-site-theme=studio][data-theme] .home-workspace .home-section-heading { border-color:var(--line); }
html[data-site-theme=studio][data-theme] .home-workspace .hw-empty>svg { opacity:1; color:var(--muted); }
html[data-site-theme=studio][data-theme] .mobile-portal-calendar {
  background:var(--qiri-graphite)!important; color:var(--qiri-graphite-ink)!important; border-color:transparent!important; border-radius:16px; box-shadow:none;
}
html[data-site-theme=studio][data-theme] .mobile-portal-calendar :is(strong,small,svg) { color:var(--qiri-graphite-ink); }
html[data-site-theme=studio][data-theme] .mobile-portal-calendar .mobile-portal-calendar-icon { background:var(--qiri-tint); color:var(--qiri-accent); }
html[data-site-theme=studio][data-theme] .mobile-portal-action-grid button { background:var(--surface); border-color:transparent; border-radius:12px; box-shadow:var(--qiri-shadow); }

/* Login uses the same mode-aware surfaces; fields stay in their original column. */
html[data-site-theme=studio] .login-page { background:var(--surface); }
html[data-site-theme=studio] .login-story {
  position:relative; isolation:isolate; overflow:hidden; background:var(--qiri-graphite); color:var(--qiri-graphite-ink);
}
html[data-site-theme=studio] .login-story::before {
  content:''; position:absolute; z-index:-1; inset:auto -10% -40% auto; width:95%; aspect-ratio:1;
  border:1px solid var(--qiri-graphite-line); border-radius:50%; box-shadow:0 0 0 32px color-mix(in srgb,var(--qiri-graphite-ink) 2%,transparent),0 0 0 64px color-mix(in srgb,var(--qiri-graphite-ink) 2%,transparent); pointer-events:none;
}
html[data-site-theme=studio] .login-story::after {
  content:''; position:absolute; z-index:-1; inset:auto 0 0; height:5px;
  background:linear-gradient(90deg,#f65332,#d82d7a); pointer-events:none;
}
html[data-site-theme=studio] .login-story .brand { color:var(--qiri-graphite-ink); }
html[data-site-theme=studio] .login-story :is(.brand span,.eyebrow,p,small) { color:var(--qiri-graphite-muted); }
html[data-site-theme=studio] .login-copy h1 { color:var(--qiri-graphite-ink); letter-spacing:-1.2px; font-weight:600; }
html[data-site-theme=studio] .login-copy .eyebrow { color:var(--qiri-accent); }
html[data-site-theme=studio] .login-panel { background:var(--surface); }
html[data-site-theme=studio] .login-panel .primary { background:var(--qiri-accent); color:var(--qiri-on-accent); }
html[data-site-theme=studio] .login-panel input[type=checkbox] { accent-color:var(--qiri-accent); }
html[data-site-theme=studio] .login-panel form { position:relative; }
html[data-site-theme=studio] .login-panel form::before {
  content:''; position:absolute; width:52px; height:52px; top:-78px; left:0;
  background:url('/site-theme/studio-icon.png') center/contain no-repeat; pointer-events:none;
}
html[data-site-theme=studio] .login-panel .registration-back { background:transparent; color:var(--ink); border-color:var(--line); border-radius:10px; }
html[data-site-theme=studio] .login-theme-toggle button { background:var(--surface-soft); color:var(--ink); border-radius:50%; }

/* Sheets and small utilities share the same material hierarchy. */
html[data-site-theme=studio] .modal { --ink:#25272b; --muted:#64676d; --surface:#fff; --surface-soft:#f1f2f3; --line:#d8dadd; background:var(--surface); color:var(--ink); border-color:var(--line); border-radius:20px; box-shadow:var(--qiri-sheet-shadow); }
html[data-site-theme=studio][data-theme=dark] .modal { --ink:#f1f2f4; --muted:#b9bec6; --surface:#292c30; --surface-soft:#222529; --line:#474c54; }
html[data-site-theme=studio][data-theme] .calendar-view .calendar-toolbar-compact .modal h2 { color:var(--ink); font-size:22px; line-height:1.6; letter-spacing:-.5px; }
html[data-site-theme=studio] .modal::backdrop { background:#14192362; backdrop-filter:blur(8px); }
html[data-site-theme=studio] .modal :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),textarea,select) { background:var(--surface-soft); color:var(--ink); border-color:var(--line); border-radius:10px; }
html[data-site-theme=studio] .modal .modal-head .icon-button { border-radius:50%; background:var(--surface-soft); }
html[data-site-theme=studio][data-theme] .app-shell :is(.chat-dock,.notification-panel,.profile-menu) { background:var(--surface); border-color:var(--line); border-radius:18px; box-shadow:var(--qiri-sheet-shadow); }
html[data-site-theme=studio][data-theme] .app-shell :is(.chat-launcher,.idea-launcher) { background:var(--surface); color:var(--ink); border-color:var(--line); box-shadow:var(--qiri-shadow); }

/* Immediate reversible feedback. No new gesture recognizers or waiting periods. */
html[data-site-theme=studio] :is(.login-panel,.sidebar,.topbar,.admin-console,.home-note-tabs,.home-note-form,.mobile-portal-actions,.modal) button {
  transition:background-color 140ms ease,color 140ms ease,box-shadow 140ms ease;
}
html[data-site-theme=studio] :is(.login-panel,.sidebar,.topbar,.admin-console,.home-note-tabs,.home-note-form,.mobile-portal-actions,.modal) button:active {
  filter:brightness(.91); transition-duration:0s;
}
@media(hover:hover) and (pointer:fine) {
  html[data-site-theme=studio][data-theme] .app-shell .sidebar :is(nav button,.sidebar-bottom>button):hover { background:var(--qiri-nav-hover); color:var(--ink); }
  html[data-site-theme=studio][data-theme] .calendar-view .calendar-fixed-heading button:not(.modal *):not(.primary):hover { background:var(--qiri-header-selected); color:var(--ink); }
  html[data-site-theme=studio][data-theme] .app-shell :is(.admin-tabs,.home-note-tabs,.finance-tabs)>button:hover { background:var(--surface-raised); color:var(--ink); }
}
@media(max-width:760px) {
  html[data-site-theme=studio] .login-panel form::before { display:none; }
  html[data-site-theme=studio] .login-story::before { width:180px; bottom:-115px; right:-30px; }
  html[data-site-theme=studio] .login-story::after { height:3px; }
  html[data-site-theme=studio][data-theme] .calendar-view .calendar-fixed-heading { border-radius:12px; }
}
@media(prefers-reduced-motion:reduce) {
  html[data-site-theme=studio] :is(.login-panel,.sidebar,.topbar,.admin-console,.home-note-tabs,.home-note-form,.mobile-portal-actions,.modal) button { transition:none; }
}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more) {
  html[data-site-theme=studio][data-theme] .app-shell .topbar { background:var(--surface); backdrop-filter:none; }
  html[data-site-theme=studio] .modal::backdrop { backdrop-filter:none; background:#141923bb; }
}
@media(prefers-contrast:more) {
  html[data-site-theme=studio][data-theme] .app-shell :is(.panel,.notebook-card,.admin-tabs) { border-color:var(--muted); }
  html[data-site-theme=studio][data-theme] .calendar-view .calendar-fixed-heading button { border-color:#b9bec6; }
}


/* Keep raster marks inside their 48px brand slot instead of an intrinsic grid row. */
html[data-site-theme=studio] .sidebar-brand>.site-logo { display:flex; align-items:center; justify-content:center; }
html[data-site-theme=studio] .sidebar-brand>.site-logo img { min-width:0; min-height:0; display:block; }

/* Let the page own vertical scrolling when navigation exceeds the viewport. */
@media (min-width:701px) {
  html[data-site-theme=studio] .app-shell:not(.calendar-view) {
    display:grid; grid-template-columns:228px minmax(0,1fr); align-items:start;
  }
  html[data-site-theme=studio] .app-shell:not(.calendar-view) .sidebar {
    position:sticky; inset:auto; top:0; min-height:100dvh; overflow:clip; overscroll-behavior:auto;
  }
  html[data-site-theme=studio] .app-shell:not(.calendar-view) .main-area { margin-left:0; min-width:0; }
}
@media (min-width:701px) and (max-width:1150px) {
  html[data-site-theme=studio] .app-shell:not(.calendar-view) { grid-template-columns:200px minmax(0,1fr); }
}

/* Mouse navigation: reveal labels over the content without shifting the page. */
@media (min-width:901px) and (hover:hover) and (pointer:fine) {
  html[data-site-theme=studio] .app-shell .sidebar { width:80px; padding-inline:16px; overflow:clip; transition:width 160ms ease-out; }
  html[data-site-theme=studio] .app-shell .sidebar:is(:hover,:focus-within) { width:228px; }
  html[data-site-theme=studio] .app-shell:not(.calendar-view) { grid-template-columns:80px minmax(0,1fr); }
  html[data-site-theme=studio] .sidebar .sidebar-brand { gap:12px; padding-inline:0; min-height:75px; }
  html[data-site-theme=studio] .sidebar .sidebar-brand>.site-logo { width:48px; height:48px; }
  html[data-site-theme=studio] .sidebar .sidebar-brand-copy { flex-shrink:0; white-space:nowrap; opacity:0; visibility:hidden; }
  html[data-site-theme=studio] .sidebar:is(:hover,:focus-within) .sidebar-brand-copy { opacity:1; visibility:visible; }
  html[data-site-theme=studio] .sidebar .workspace-label { white-space:nowrap; gap:0; padding-inline:0; height:47px; justify-content:center; }
  html[data-site-theme=studio] .sidebar .workspace-label .sidebar-label { display:none; }
  html[data-site-theme=studio] .sidebar:is(:hover,:focus-within) .workspace-label { justify-content:flex-start; gap:8px; padding-inline:12px; }
  html[data-site-theme=studio] .sidebar:is(:hover,:focus-within) .workspace-label .sidebar-label { display:inline; }
  html[data-site-theme=studio] .sidebar :is(nav button,.sidebar-bottom>button) { min-height:44px; white-space:nowrap; gap:0; position:relative; }
  html[data-site-theme=studio] .sidebar :is(nav button,.sidebar-bottom>button)>svg { flex-shrink:0; }
  html[data-site-theme=studio] .sidebar :is(nav button,.sidebar-bottom>button)>.sidebar-label { max-width:0; opacity:0; overflow:hidden; }
  html[data-site-theme=studio] .sidebar:is(:hover,:focus-within) :is(nav button,.sidebar-bottom>button) { gap:13px; }
  html[data-site-theme=studio] .sidebar:is(:hover,:focus-within) :is(nav button,.sidebar-bottom>button)>.sidebar-label { max-width:160px; opacity:1; }
  html[data-site-theme=studio] .sidebar .nav-count { position:absolute; right:2px; top:0; padding-inline:3px; font-size:10px; }
  html[data-site-theme=studio] .sidebar:is(:hover,:focus-within) .nav-count { position:static; padding-inline:6px; font-size:11px; }
  html[data-site-theme=studio] .sidebar .sidebar-user { height:76px; flex-shrink:0; gap:0; }
  html[data-site-theme=studio] .sidebar .sidebar-user-copy,
  html[data-site-theme=studio] .sidebar .sidebar-user>.icon-button { display:none; }
  html[data-site-theme=studio] .sidebar:is(:hover,:focus-within) .sidebar-user { gap:9px; }
  html[data-site-theme=studio] .sidebar:is(:hover,:focus-within) .sidebar-user-copy { display:grid; min-width:0; }
  html[data-site-theme=studio] .sidebar:is(:hover,:focus-within) .sidebar-user>.icon-button { display:inline-flex; }
  html[data-site-theme=studio] .sidebar .sidebar-user-copy strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}
@media (prefers-reduced-motion:reduce) {
  html[data-site-theme=studio] .app-shell .sidebar { transition:none; }
}
