/* Shared Studio surfaces. Functional visibility and plan geometry stay local. */
html[data-workspace-design=studio] .main-content:not(.booking-plan-main) {
  --radius:10px; --radius-lg:18px; --glass-bg:var(--st-surface);
  --glass-border:var(--st-line); --glass-blur:none;
}
html[data-workspace-design=studio] :is(.booking-entry,.mb-page,.rf-page,.groups-page,.lz-page,.periods-page,.bl-page,.room-admin-shell,.admin-panel-modern,.config-layout,.res-page,.lst-page,.studio-directory) {
  color:var(--st-ink);
}
html[data-workspace-design=studio] .main-content:not(.booking-plan-main) :is(h1,.mb-title,.rf-title,.admin-header h2,.room-admin-header h2,.studio-directory>header h2) {
  font-size:clamp(1.6rem,2.5vw,2.2rem)!important; font-weight:650!important;
  letter-spacing:-.045em; line-height:1.2;
}
html[data-workspace-design=studio] .main-content:not(.booking-plan-main) :is(h3,.rf-card-name,.admin-list-title,.res-section h2) {
  font-weight:650!important; letter-spacing:-.015em;
}
html[data-workspace-design=studio] :is(.booking-room-card,.mb-page-intro,.mb-control-panel,.agenda-row,.rf-panel,.rf-toolbar,.rf-card,.group-card,.groups-explain,.lz-panel,.lz-card,.section-card,.bl-card,.room-admin-card,.admin-context-panel,.admin-workflow-section,.config-section,.config-overview-card,.res-section,.res-list-card,.lst-panel,.inquiry-card,.notification-card,.cs-card,.cs-start,.studio-surface) {
  background:var(--st-surface)!important; color:var(--st-ink);
  border:1px solid var(--st-line)!important; border-radius:18px!important;
  box-shadow:none!important;
}
html[data-workspace-design=studio] :is(.rf-toolbar,.mb-control-panel,.bl-filterbar,.groups-explain) {
  padding:18px!important; background:var(--st-surface)!important; border:1px solid var(--st-line); border-radius:16px;
}
html[data-workspace-design=studio] :is(.booking-room-grid,.rf-grid,.cs-cards,.config-overview-grid) {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:18px;
}
html[data-workspace-design=studio] :is(.booking-room-card,.rf-card,.config-overview-card,.cs-card) { padding:22px; }
html[data-workspace-design=studio] :is(.booking-room-card,.rf-card,.config-overview-card):hover { border-color:var(--st-accent)!important; box-shadow:var(--st-shadow)!important; }
html[data-workspace-design=studio] .booking-room-plan-tile { min-height:250px; gap:14px; transform:none; }
.studio-room-symbol { display:none; }
html[data-workspace-design=studio] .studio-room-symbol {
  display:flex; width:44px; height:44px; align-items:center; justify-content:center;
  background:var(--st-blue); border-radius:13px; color:var(--st-accent);
}
html[data-workspace-design=studio] .booking-room-card:nth-child(3n+2) .studio-room-symbol { background:var(--st-peach); color:var(--st-ink); }
html[data-workspace-design=studio] .booking-room-card:nth-child(3n) .studio-room-symbol { background:var(--st-sage); color:var(--st-ink); }
html[data-workspace-design=studio] .booking-room-plan-open { margin-top:auto; background:var(--st-canvas); border-radius:10px; font-size:.875rem; }
html[data-workspace-design=studio] .booking-room-search { padding:20px; border:1px solid var(--st-line); border-radius:18px; background:var(--st-surface); display:grid; grid-template-columns:minmax(0,1fr) minmax(150px,.45fr); gap:10px 20px; align-items:end; }
html[data-workspace-design=studio] .booking-room-search>label { margin:0; font-size:.8125rem; }
html[data-workspace-design=studio] .booking-room-search>label[for=room-query] { grid-column:1; grid-row:1; }
html[data-workspace-design=studio] .booking-room-search>div { grid-column:1; grid-row:2; }
html[data-workspace-design=studio] .booking-room-search>label[for=room-type] { grid-column:2; grid-row:1; }
html[data-workspace-design=studio] .booking-room-search>select { grid-column:2; grid-row:2; width:100%; }
html[data-workspace-design=studio] .booking-room-search>label:has(input[type=checkbox]) { grid-column:1 / -1; padding-top:8px; }
html[data-workspace-design=studio] .main-content:not(.booking-plan-main) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=hidden]):not([type=range]):not([type=submit]):not(.lz-search-field input),select,textarea) {
  border:1px solid var(--st-line)!important; border-radius:10px!important;
  background:var(--st-surface)!important; color:var(--st-ink)!important;
  min-height:42px; max-width:100%; box-sizing:border-box; font:inherit;
}
html[data-workspace-design=studio] .main-content:not(.booking-plan-main) :is(.btn,.res-btn,.aqb-item,.lz-primary,.lz-secondary,.cs-primary,.bcr-action-label) {
  min-height:40px; border-radius:10px!important; box-shadow:none!important;
  font-weight:600; line-height:1.4; align-content:center;
}
html[data-workspace-design=studio] .main-content :is(.btn-primary,.res-btn-primary,.lz-primary,.cs-primary) { background:var(--st-accent)!important; border-color:var(--st-accent)!important; color:var(--st-surface)!important; }
html[data-workspace-design=studio] .main-content :is(.btn-secondary,.res-btn:not(.res-btn-primary),.lz-secondary,.aqb-item) { background:var(--st-surface)!important; color:var(--st-ink)!important; border:1px solid var(--st-line)!important; }
html[data-workspace-design=studio] :is(.rf-tab,.groups-tab,.mb-tab,.posteingang-tab) { border-radius:10px!important; min-height:42px; box-shadow:none!important; }
html[data-workspace-design=studio] :is(.rf-tab,.groups-tab,.mb-tab,.posteingang-tab).active { background:var(--st-blue)!important; color:var(--st-accent)!important; border-color:transparent!important; }
html[data-workspace-design=studio] :is(.rf-card-name,.group-card-name) { font-size:1rem; line-height:1.4; }
html[data-workspace-design=studio] .rf-card { min-height:160px; gap:12px; }
html[data-workspace-design=studio] .group-card { padding:20px; gap:16px; margin-bottom:12px; flex-wrap:wrap; }
html[data-workspace-design=studio] .group-card-actions { flex-wrap:wrap; }
html[data-workspace-design=studio] .mb-page .agenda-row { padding:22px; gap:16px; }
html[data-workspace-design=studio] .mb-page .mb-time strong { font-size:1.4rem; font-weight:650; letter-spacing:-.035em; }
html[data-workspace-design=studio] .mb-page .mb-col-actions { border-color:var(--st-line); }
html[data-workspace-design=studio] .mb-page .mb-page-intro { background:var(--st-blue)!important; padding:24px!important; }
html[data-workspace-design=studio] .admin-list-group { background:transparent!important; border:0!important; padding:0!important; box-shadow:none!important; gap:14px!important; }
html[data-workspace-design=studio] .admin-list-item {
  background:var(--st-surface)!important; border:1px solid var(--st-line)!important;
  border-radius:16px!important; padding:20px!important; align-items:flex-start;
}
html[data-workspace-design=studio] .admin-list-item:hover { border-color:var(--st-accent)!important; transform:none; }
html[data-workspace-design=studio] .admin-list-icon { background:var(--st-blue)!important; border-radius:12px!important; color:var(--st-ink)!important; box-shadow:none!important; flex-shrink:0; }
html[data-workspace-design=studio] .admin-list-item:nth-child(3n+2) .admin-list-icon { background:var(--st-peach)!important; }
html[data-workspace-design=studio] .admin-list-item:nth-child(3n) .admin-list-icon { background:var(--st-sage)!important; }
html[data-workspace-design=studio] .admin-list-desc { line-height:1.6; color:var(--st-muted); }
html[data-workspace-design=studio] .admin-workflow-section { padding:22px; }
html[data-workspace-design=studio] :is(.config-overview-icon,.rf-card-icon) { background:var(--st-blue); color:var(--st-ink); border-radius:12px; }
html[data-workspace-design=studio] :is(.config-sidebar,.config-nav) { background:var(--st-surface); border-color:var(--st-line); border-radius:16px; }
html[data-workspace-design=studio] :is(.config-section,.section-card,.studio-surface) { padding:22px!important; }
html[data-workspace-design=studio] :is(.studio-directory,.admin-panel-modern,.periods-page,.bl-page,.room-admin-shell,.config-layout,.res-page,.course-admin-surface,.lst-page) table { border-collapse:separate; border-spacing:0; width:100%; font-size:.875rem; }
html[data-workspace-design=studio] :is(.studio-directory,.admin-panel-modern,.periods-page,.bl-page,.room-admin-shell,.config-layout,.res-page,.course-admin-surface,.lst-page) table th { background:var(--st-canvas)!important; color:var(--st-muted)!important; padding:13px 16px!important; font-weight:600; border-bottom:1px solid var(--st-line)!important; }
html[data-workspace-design=studio] :is(.studio-directory,.admin-panel-modern,.periods-page,.bl-page,.room-admin-shell,.config-layout,.res-page,.course-admin-surface,.lst-page) table td { padding:14px 16px!important; border-bottom:1px solid var(--st-line)!important; color:var(--st-ink); }
html[data-workspace-design=studio] :is(.studio-directory,.admin-panel-modern,.periods-page,.bl-page,.room-admin-shell,.config-layout,.res-page,.course-admin-surface,.lst-page) table tbody tr:hover { background:var(--st-selected); }
html[data-workspace-design=studio] .studio-table-scroll { overflow-x:auto; max-width:100%; }
html[data-workspace-design=studio] .studio-directory .klassen-grid { grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr)!important; }
html[data-workspace-design=studio] .studio-directory .klassen-grid>div { min-width:0; }
html[data-workspace-design=studio] :is(.lst-kpis,.res-stat) { background:var(--st-blue)!important; border:1px solid var(--st-line); border-radius:14px; }
html[data-workspace-design=studio] .lz-panel { padding:22px; }
html[data-workspace-design=studio] .lz-card { padding:18px; }
html[data-workspace-design=studio] .lz-step.done { background:var(--st-sage); color:var(--st-ink); }
html[data-workspace-design=studio] .main-content :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--st-accent); outline-offset:3px; }
@media (max-width:1100px) {
  html[data-workspace-design=studio] .booking-room-search { display:flex; flex-direction:column; align-items:stretch; }
  html[data-workspace-design=studio] .booking-room-search>div { flex-wrap:wrap; }
  html[data-workspace-design=studio] .studio-directory .klassen-grid { grid-template-columns:minmax(0,1fr)!important; }
  html[data-workspace-design=studio] .admin-list-group { grid-template-columns:minmax(0,1fr)!important; }
}
@media print { .studio-room-symbol { display:none!important; } }
html[data-workspace-design=studio] :is(.room-manage-card,.roster-card,.desktop-table-container,.ticket-mobile-card,.ticket-empty-state) { background:var(--st-surface)!important; border:1px solid var(--st-line)!important; border-radius:18px!important; box-shadow:none!important; }
html[data-workspace-design=studio] .room-manage-card { padding:22px; }
html[data-workspace-design=studio] .room-card-grid { gap:18px; }
html[data-workspace-design=studio] .room-card-icon { background:var(--st-blue)!important; border-radius:12px; }
html[data-workspace-design=studio] .room-card-accent { height:3px; }
html[data-workspace-design=studio] .desktop-table-container { overflow-x:auto; }
html[data-workspace-design=studio] body[data-reception-url] { --ink:var(--st-ink); --muted:var(--st-muted); --line:var(--st-line); --accent:var(--st-accent); background:var(--st-canvas); }
html[data-workspace-design=studio] body[data-reception-url] .reception-header { background:var(--st-surface); padding:24px 32px; }
html[data-workspace-design=studio] body[data-reception-url] :is(.reception-card,.view-menu>div,dialog,button,#connection-status) { background:var(--st-surface); color:var(--st-ink); border-color:var(--st-line); border-radius:12px; box-shadow:none; }
html[data-workspace-design=studio] body[data-reception-url] .reception-column { background:var(--st-blue); border:1px solid var(--st-line); border-radius:18px; padding:20px; }
html[data-workspace-design=studio] body[data-reception-url] .reception-column.sent { background:var(--st-peach); }
html[data-workspace-design=studio] body[data-reception-url] .reception-column.arrived { background:var(--st-sage); }
html[data-workspace-design=studio] body[data-reception-url] .reception-card { padding:20px; border-radius:16px; }
html[data-workspace-design=studio] body[data-reception-url] button.primary { background:var(--st-accent); color:var(--st-surface); }
html[data-workspace-design=studio] body[data-reception-url] h1 { font-size:1.8rem; font-weight:650; letter-spacing:-.04em; }
html[data-workspace-design=studio] body[data-reception-url] :is(.room-icon,.class-label) { background:var(--st-blue); color:var(--st-accent); }
html[data-workspace-design=studio] :is(.lz-room-picker,.lz-room-card,.lz-header,.studio-roster-panel) { background:var(--st-surface)!important; border:1px solid var(--st-line)!important; border-radius:18px!important; box-shadow:none!important; }
html[data-workspace-design=studio] .lz-title { color:var(--st-ink); font-weight:650; letter-spacing:-.035em; }
html[data-workspace-design=studio] .lz-room-card { padding:20px; }
html[data-workspace-design=studio] .lz-room-btn { background:var(--st-surface); color:var(--st-ink); border-radius:10px; min-height:40px; box-shadow:none; }
html[data-workspace-design=studio] .lz-tab.active { background:var(--st-blue); color:var(--st-accent); box-shadow:none; }
html[data-workspace-design=studio] :is(.room-card-open,.room-create-primary) { background:var(--st-accent)!important; color:var(--st-surface)!important; box-shadow:none!important; border-radius:10px; }
html[data-workspace-design=studio] .studio-roster-link { margin:6px; border:0!important; border-radius:10px; min-height:44px; }
html[data-workspace-design=studio] .studio-roster-link:hover { background:var(--st-blue)!important; }
.studio-roster-search { display:block; padding:12px; font-size:.8rem; }
.studio-roster-search input { width:100%; padding:10px; margin-top:6px; }
[data-studio-filter] { padding-inline:12px; }
/* The HTML hidden attribute must win over a row's existing flex/grid display. */
.studio-roster-link[hidden],tr[hidden] { display:none!important; }
html[data-workspace-design=studio] .config-nav-item { color:var(--st-muted)!important; border-radius:10px; }
html[data-workspace-design=studio] .config-nav-item.active { background:var(--st-blue)!important; color:var(--st-accent)!important; }
html[data-workspace-design=studio] .mb-page .mb-data-table { background:transparent!important; box-shadow:none!important; border:0!important; }
html[data-workspace-design=studio][data-workspace-theme=night] #appSidebar .sidebar-link:not(.active) { color:var(--st-muted)!important; }

/* Section composition: shared hierarchy, generous tiles and quiet task groups. */
html[data-workspace-design=studio] body { font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-optical-sizing:auto; }
html[data-workspace-design=studio] .main-content :is(.studio-section-hero,.booking-room-card,.admin-list-item,.config-overview-card) { overflow-wrap:anywhere; }
html[data-workspace-design=studio] body .main-content .studio-section-hero {
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap;
  gap:24px; padding:1.5rem!important; margin:.5rem 0 1.5rem!important;
  background:var(--st-blue)!important; border:0!important; border-radius:24px!important;
  box-shadow:none!important; color:var(--st-ink);
}
html[data-workspace-design=studio] .studio-section-hero>div:first-child { flex:1; min-width:min(260px,100%); }
html[data-workspace-design=studio] .main-content .studio-section-hero :is(h1,h2) {
  font-size:calc(clamp(1.8rem,3vw,2.6rem) * var(--font-scale-headings,100) / 100)!important; font-weight:600!important;
  letter-spacing:-.025em!important; line-height:1.15; margin:0 0 12px!important;
  color:var(--st-ink)!important;
}
html[data-workspace-design=studio] .studio-section-hero p { max-width:620px; margin:0; line-height:1.6; color:var(--st-muted); font-size:.95rem; }
html[data-workspace-design=studio] .studio-section-hero .studio-section-kicker { margin:0 0 16px; color:var(--st-accent); font-size:.68rem; letter-spacing:.15em; font-weight:700; }
html[data-workspace-design=studio] .studio-section-count { display:flex; flex-direction:column; gap:8px; padding:16px 24px; border-left:1px solid var(--st-line); }
html[data-workspace-design=studio] .studio-section-count strong { font-size:3rem; font-weight:550; line-height:1; letter-spacing:-.07em; }
html[data-workspace-design=studio] .studio-section-count span { font-size:.8rem; color:var(--st-muted); }
.studio-hero-action { display:inline-flex; align-items:center; justify-content:center; padding:14px 20px; border-radius:12px; background:var(--st-accent); color:var(--st-surface); min-height:44px; font-weight:650; text-decoration:none; }
html[data-workspace-design=studio] .rf-header.studio-section-hero,
html[data-workspace-design=studio] .room-admin-header.studio-section-hero,
html[data-workspace-design=studio] .lz-header.studio-section-hero { background:var(--st-sage)!important; }
html[data-workspace-design=studio] .groups-header.studio-section-hero,
html[data-workspace-design=studio] .cs-head.studio-section-hero,
html[data-workspace-design=studio] .res-head.studio-section-hero { background:var(--st-peach)!important; }
html[data-workspace-design=studio] .booking-room-plan-tile { min-height:240px; padding:1.5rem; background:var(--st-blue)!important; border:0!important; }
html[data-workspace-design=studio] .booking-room-plan-tile:nth-child(3n+2) { background:var(--st-peach)!important; }
html[data-workspace-design=studio] .booking-room-plan-tile:nth-child(3n) { background:var(--st-sage)!important; }
html[data-workspace-design=studio] .booking-room-plan-tile>strong { font-size:1.35rem; letter-spacing:-.035em; font-weight:650; }
html[data-workspace-design=studio] .booking-room-plan-open { background:var(--st-surface); padding:12px; }
html[data-workspace-design=studio] .studio-room-symbol { background:var(--st-surface)!important; width:48px; height:48px; }
html[data-workspace-design=studio] .admin-workflow-grid { grid-template-columns:1fr!important; gap:28px; }
html[data-workspace-design=studio] .admin-workflow-section { background:transparent!important; border:0!important; padding:0!important; }
html[data-workspace-design=studio] .admin-workflow-section>h4 { font-size:1.2rem; margin:0 0 6px; }
html[data-workspace-design=studio] .admin-workflow-section>.admin-list-group,
html[data-workspace-design=studio] .admin-category-group>.admin-list-group { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))!important; gap:16px!important; }
html[data-workspace-design=studio] .admin-panel-modern .admin-list-item { display:flex; flex-direction:column; position:relative; min-height:165px; gap:18px; padding:24px!important; }
html[data-workspace-design=studio] .admin-panel-modern .admin-list-item::after { content:'↗'; position:absolute; right:22px; top:20px; color:var(--st-muted); font-size:1.2rem; }
html[data-workspace-design=studio] .admin-list-title { display:block; font-size:1.1rem; margin-bottom:6px; }
html[data-workspace-design=studio] .admin-panel-modern .admin-list-icon { width:42px; height:42px; display:grid; place-items:center; filter:none!important; }
html[data-workspace-design=studio] .admin-panel-modern .admin-context-panel { background:transparent!important; border:0!important; padding:0 0 18px!important; }
html[data-workspace-design=studio] .admin-tabs { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); padding:6px!important; gap:6px!important; border:1px solid var(--st-line)!important; border-radius:16px!important; background:var(--st-surface)!important; }
html[data-workspace-design=studio] .admin-tabs .admin-tab { justify-content:center; min-height:48px; border:0!important; margin:0; border-radius:12px!important; }
html[data-workspace-design=studio] .admin-tabs .admin-tab.active { background:var(--st-ink)!important; color:var(--st-surface)!important; }
html[data-workspace-design=studio] .groups-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr)); gap:18px; }
html[data-workspace-design=studio] .groups-list .group-card { display:flex; flex-direction:column; align-items:stretch; margin:0; padding:24px; }
html[data-workspace-design=studio] .group-card-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:12px; background:var(--st-peach); }
html[data-workspace-design=studio] .group-card-actions { margin-top:auto; padding-top:16px; border-top:1px solid var(--st-line); }
html[data-workspace-design=studio] .main-content .rf-card { min-height:190px; border:0!important; background:var(--st-sage)!important; padding:24px; }
html[data-workspace-design=studio] .rf-card-name { font-size:1.15rem; }
html[data-workspace-design=studio] .config-layout { display:block; padding:0!important; }
html[data-workspace-design=studio] .config-sidebar { position:static; width:100%; max-width:none; margin-bottom:28px; padding:18px; box-sizing:border-box; }
html[data-workspace-design=studio] .config-nav { display:flex; flex-direction:row; flex-wrap:wrap; gap:6px; }
html[data-workspace-design=studio] .config-nav-group { display:none; }
html[data-workspace-design=studio] .config-nav-item { padding:10px 14px; min-height:42px; width:auto; flex:0 1 auto; }
html[data-workspace-design=studio] .config-content { width:100%; min-width:0; }
html[data-workspace-design=studio] .config-page-header { padding:28px!important; background:var(--st-blue)!important; border:0!important; border-radius:22px!important; }
html[data-workspace-design=studio] .config-overview-card { min-height:160px; padding:24px; background:var(--st-canvas)!important; }
html[data-workspace-design=studio] .config-overview-card strong { font-size:1.15rem; }
@media(max-width:700px) {
  html[data-workspace-design=studio] body .main-content .studio-section-hero { padding:24px!important; gap:18px; }
  html[data-workspace-design=studio] .studio-section-count { flex-direction:row; align-items:center; border-left:0; padding:0; }
  html[data-workspace-design=studio] .studio-section-count strong { font-size:1.8rem; }
  html[data-workspace-design=studio] .admin-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html[data-workspace-design=studio] .config-nav { flex-wrap:nowrap; overflow-x:auto; }
  html[data-workspace-design=studio] .config-nav-item { white-space:nowrap; flex-shrink:0; }
}
/* Press feedback is immediate; committing the action still happens on release. */
html[data-workspace-design=studio] .main-content :is(.btn,.studio-hero-action,.admin-tab,.rf-tab,.groups-tab,.booking-room-plan-tile,.admin-list-item,.config-nav-item) { touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
html[data-workspace-design=studio] .main-content :is(.btn,.studio-hero-action,.admin-tab,.rf-tab,.groups-tab):active { filter:brightness(.92); }
html[data-workspace-design=studio] .main-content :is(.booking-room-plan-tile,.admin-list-item,.config-overview-card):active { box-shadow:inset 0 0 0 2px var(--st-accent)!important; }
@media(prefers-reduced-motion:no-preference) {
  html[data-workspace-design=studio] .main-content :is(.btn,.studio-hero-action,.admin-tab,.rf-tab,.groups-tab) { transition:transform 100ms ease-out,background-color 100ms ease-out; }
  html[data-workspace-design=studio] .main-content :is(.btn,.studio-hero-action,.admin-tab,.rf-tab,.groups-tab):active { transform:scale(.98); }
}
@media(prefers-contrast:more) {
  html[data-workspace-design=studio] body .main-content :is(.studio-section-hero,.booking-room-plan-tile,.admin-list-item) { border:2px solid var(--st-ink)!important; }
}
@media(prefers-reduced-transparency:reduce) {
  html[data-workspace-design=studio] .studio-pagebar { background:var(--st-canvas); backdrop-filter:none; }
}
