/* Content-first extension: one title, one filter bar, records before secondary actions. */
:root{--compact-gap:12px;--compact-control:42px}
.batch-dialog{width:min(1180px,calc(100vw - 24px));max-width:1180px}
.batch-dialog .detail-body{padding:18px 24px;min-width:0}
.batch-dialog .detail-body>p{font-size:.84rem;line-height:1.6;margin:0 0 14px}
.batch-controls{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:12px 0}
.batch-controls label{font-size:.8rem;flex:0 1 180px;min-width:0}
.batch-controls :is(input,select){width:100%;min-width:0;min-height:42px;font-size:.88rem;padding:8px;margin-top:5px}
.batch-controls label:has(input[type=checkbox]){flex:0 0 auto;display:flex;align-items:center;gap:6px}
.batch-dialog input[type=checkbox],.appearance-settings input[type=checkbox]{width:18px;height:18px;min-height:18px;display:inline-block;margin:0 8px;vertical-align:middle;accent-color:var(--primary)}
.batch-dialog .detail-body button{font-size:.8rem;min-height:42px;margin:0;padding:9px 14px}
.batch-table-scroll{max-height:46dvh;overflow:auto;border:1px solid var(--line);border-radius:14px;margin:12px 0}
.batch-table{width:100%;border-collapse:separate;border-spacing:0;text-align:left;font-size:.8rem}
.batch-table thead{position:sticky;top:0;z-index:1;background:var(--primary-light)}
.batch-table :is(td,th){padding:7px;border-bottom:1px solid var(--line);white-space:nowrap}
.batch-table th{font-weight:600}.batch-table tbody th{color:var(--muted);font-size:.72rem}
.batch-table :is(input,select){width:100%;min-width:120px;min-height:42px;margin:0;padding:8px;font-size:.85rem;background:white;border-radius:8px}
.batch-table input[data-field=description]{min-width:190px}.batch-table input[data-field=url]{min-width:260px}
.week-matrix{table-layout:fixed;min-width:620px}.week-matrix th:first-child{width:68px}.week-matrix input{min-width:0;text-align:center}
.schedule-import{padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--primary-light);margin:14px 0}
.schedule-import summary{cursor:pointer;font-weight:650;font-size:.9rem}.schedule-import p,.schedule-import label{font-size:.8rem}.schedule-import textarea{font-size:.85rem}
.schedule-save{position:sticky;bottom:0;background:var(--page);padding:10px 0;z-index:2;margin-bottom:0}
.schedule-dialog .batch-table :is(td,th){padding:4px 7px}
.schedule-dialog .batch-table :is(input,select){min-height:36px;padding:6px 8px}
.schedule-dialog .week-matrix{font-size:.78rem}
.schedule-dialog .batch-table-scroll{max-height:38dvh}
.continue-entry{display:flex!important;align-items:center;gap:8px;font-size:.8rem;margin-top:14px}.continue-entry input[type=checkbox]{width:18px;min-height:18px;height:18px;margin:0;accent-color:var(--primary)}
.appearance-settings{border:0;padding:12px 0;margin:12px 0 0;min-width:0}.appearance-settings legend{font-weight:700}.appearance-settings p{font-size:.7rem;line-height:1.6}
.theme-swatches{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px}
.workspace-shell .theme-swatches button{background:white;color:var(--text);font-size:.68rem;min-height:38px;padding:7px;border:1px solid var(--line);text-align:left}
.theme-swatches button::before{content:'';display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--swatch);margin-right:5px}
.workspace-shell .theme-swatches button[aria-pressed=true]{border:2px solid var(--primary);background:var(--primary-light)}
html[data-theme] .workspace-shell{background:radial-gradient(ellipse at top left,var(--theme-glow),transparent 48%),var(--page)}
html[data-theme] .workspace-shell :is(.top-banner,.site-header){background:transparent}
html[data-theme] #app-sidebar{background:color-mix(in srgb,var(--page) 88%,transparent)}
html[data-theme] .workspace-shell .home-welcome{background:linear-gradient(120deg,var(--primary-dark),var(--primary))}
html[data-theme] .workspace-shell :is(#record-actions,.detail-heading,.collection-help #section-description){background:var(--page)}
html[data-theme] .workspace-shell #record-actions button{background:var(--primary-light)}
html[data-theme] .workspace-shell #items>.summary-card{background:linear-gradient(135deg,#ffffffef,var(--page))}
html[data-motion=reduced] *,html[data-motion=reduced] *::before,html[data-motion=reduced] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:600px){.batch-dialog .detail-body{padding:14px}.batch-controls label{flex:1 1 125px}.batch-controls button{flex:1 1 auto}.batch-table-scroll{max-height:42dvh}}
.workspace-shell:not([data-page=home]) .top-banner{min-height:48px;padding-block:4px}
.workspace-shell:not([data-page=home]) .top-banner .container>span{display:none}
.workspace-shell:not([data-page=home]) .top-banner .container{justify-content:flex-end}
.workspace-shell:not([data-page=home]) .site-header{padding-block:8px;min-height:0}
.workspace-shell:not([data-page=home]) .site-header :is(.brand,.header-date){display:none}
.workspace-shell:not([data-page=home]) .site-header #global-search{max-width:none;width:100%;flex:1}
.workspace-shell:not([data-page=home]) .site-header input{padding:10px 16px;min-height:42px}
.workspace-shell .page-heading,.workspace-shell.admin-mode .page-heading{padding:10px 0 14px;min-height:0}
.workspace-shell .page-eyebrow{display:none}
.workspace-shell #page-title{font-size:1.3rem;line-height:1.4;margin:0}
#page-title:focus{outline:none}
.workspace-shell:not([data-page=home]) .site-header{display:none}
.workspace-shell .top-banner #global-search{display:flex;gap:8px;flex:1;max-width:720px;min-width:0;margin:0}
.workspace-shell .top-banner #global-search input{background:#f1f6f6;color:var(--text);border:1px solid var(--control-border);min-width:0;flex:1;padding:10px 14px;min-height:42px;font-size:.85rem;border-radius:13px}
.workspace-shell .top-banner #global-search button{min-height:42px;padding:8px 14px;background:var(--primary);color:white;border:0}
.workspace-shell:not([data-page=home]) .top-banner .container{gap:16px;justify-content:space-between}
.workspace-shell .display-preferences .page-text-control{margin:14px 0 0;display:block;white-space:normal}
.workspace-shell .display-preferences .page-text-control select{width:100%;min-width:0}
.workspace-shell #content{padding:18px 20px;border-radius:24px}
.workspace-shell .collection-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 10px;position:relative}
.workspace-shell:not([data-page=home]) .collection-title{display:none}
.workspace-shell .collection-toolbar #module-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;flex:1;margin:0;min-width:0}
.workspace-shell .collection-toolbar #module-actions:empty{display:none}
.workspace-shell .collection-toolbar :is(button,select,summary){min-height:var(--compact-control);padding:8px 12px;font-size:.82rem;margin:0;border-radius:12px}
.workspace-shell #module-actions label{display:flex;align-items:center;gap:6px;margin:0;font-size:.75rem}
.workspace-shell #module-actions select{max-width:220px;min-width:0;width:auto}
.collection-help,#collection-actions{position:relative;margin:0;border:0;padding:0;flex-shrink:0}
.collection-help{margin-left:auto}
.collection-help summary,#collection-actions summary{cursor:pointer;display:flex;align-items:center;gap:6px;list-style:none;white-space:nowrap;color:var(--primary-dark);border:1px solid var(--control-border);background:#ffffffb3}
.collection-help summary::-webkit-details-marker,#collection-actions summary::-webkit-details-marker{display:none}
#collection-actions summary{background:var(--primary);color:white;border-color:var(--primary)}
.collection-help[open] summary,#collection-actions[open] summary{box-shadow:0 0 0 3px #62aa9b24}
.collection-help #section-description,#record-actions{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:min(360px,calc(100vw - 48px));padding:16px;margin:0;border:1px solid var(--glass-line);border-radius:18px;background:#f8fcfc;box-shadow:0 16px 40px #163e4220;color:var(--text);font-size:.84rem;line-height:1.7}
.workspace-shell #record-actions{display:grid;gap:8px;width:260px}
.workspace-shell #record-actions button{text-align:left;white-space:normal;border-radius:10px;background:#e9f3ef;color:var(--primary-dark)}
.workspace-shell #editor{margin:0}
.workspace-shell #filters{padding:0;background:transparent;margin:0 0 6px;gap:8px;align-items:center;border:0}
.workspace-shell #filters>label{font-size:0;min-width:140px}
.workspace-shell #filters input{margin:0;padding:10px 14px;font-size:.88rem;min-height:42px;background:#f2f6f7b8;border-radius:13px}
.workspace-shell #filters button{min-height:42px;padding:8px 12px;font-size:.8rem;border-radius:12px}
.workspace-shell #date-filters{gap:8px}.workspace-shell #date-filters label{font-size:.75rem}
.workspace-shell #content #empty-message{padding:4px 0;margin:2px 0 8px;background:transparent;font-size:.75rem;line-height:1.5;border:0;border-radius:0;color:var(--muted)}
.workspace-shell #content #empty-message:has(strong){padding:22px;border-radius:18px;background:#eef5f580}
.workspace-shell #items:has(>.summary-card){gap:12px}
.workspace-shell #items>.summary-card{padding:18px;border-radius:20px;min-height:0;background:linear-gradient(130deg,#ffffffec,#f7fbfce6);transition:transform .18s ease,box-shadow .18s ease}
.workspace-shell #items>.summary-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #21564c12}
.workspace-shell #items .summary-card h3{margin:0 0 8px;font-size:1rem}
.workspace-shell #items .summary-card .card-open{font-size:1rem;line-height:1.45;padding:0;min-height:0;text-wrap:pretty}
.workspace-shell #items .card-preview{font-size:.82rem;line-height:1.6;margin:0 0 10px;-webkit-line-clamp:2}
.workspace-shell #items .card-hint{font-size:.72rem;margin-top:8px}
.workspace-shell #items>.storage-card{position:relative;padding-right:88px;min-height:174px;border-color:#cddfdc}
.storage-art{position:absolute;width:66px;height:66px;right:12px;top:14px;object-fit:contain;pointer-events:none}
.workspace-shell #items .storage-state{font-size:.7rem;line-height:1.5;margin:8px 0 0}
.workspace-shell #items .quick-edit{min-height:36px;margin-top:8px;padding:7px 10px;font-size:.75rem}
.workspace-shell #content:has(#editor .edit-dialog) :is(#filters,#module-actions,#items,#empty-message,#list-pager){display:revert}
.workspace-shell #content:has(#editor .edit-dialog) #filters,.workspace-shell #content:has(#editor .edit-dialog) #module-actions,.workspace-shell #content:has(#editor .edit-dialog) #list-pager{display:flex}
.workspace-shell #content:has(#editor .edit-dialog) #items:has(>.summary-card){display:grid}
.workspace-shell #master-panel>.toolbar,.workspace-shell #master-panel>p{display:none}
.workspace-shell .admin-layout{padding-top:0;margin-top:0;border-top:0;gap:18px;grid-template-columns:190px minmax(0,1fr)}
.workspace-shell.admin-mode #admin-body{padding:20px;border-radius:24px}
.workspace-shell.admin-mode #master-panel{padding-top:0}
#admin-nav-toggle{display:none}
.workspace-shell #utility-panel>.toolbar{margin-bottom:12px}
/* The campus is a visual workspace: its secondary admin menu is opt-in. */
.workspace-shell .admin-layout:has(.campus-review){grid-template-columns:minmax(0,1fr);gap:8px}
.workspace-shell .admin-layout:has(.campus-review) #admin-nav-toggle{display:block;width:max-content;padding:6px 12px;min-height:34px;font-size:.8rem}
.workspace-shell .admin-layout:has(.campus-review):not(.admin-nav-open) #master-links{display:none}
.workspace-shell .admin-layout:has(.campus-review).admin-nav-open #master-links{display:flex;position:static;max-height:240px}
.workspace-shell #utility-panel:has(.campus-review)>h2{display:none}
.workspace-shell[data-page=spaces] #utility-panel{padding:14px;border-radius:22px}
.workspace-shell[data-page=spaces] .page-heading{margin-bottom:10px}
.workspace-shell #utility-panel:has(.campus-review)>p{margin:0 0 4px;font-size:.8rem}
.workspace-shell #utility-panel .campus-review .space-source{padding:0;margin:0;border:0;background:transparent}
.workspace-shell .campus-review .space-source>summary{padding:4px 0;margin:0;font-size:.8rem}
.workspace-shell .campus-review .space-toolbar{margin:8px 0;gap:8px}
.workspace-shell #utility-panel .campus-review .space-toolbar label{margin:0;font-size:.8rem}
.workspace-shell .campus-review .space-toolbar :is(input,select){margin-top:4px;min-height:40px;padding:8px 10px}
.brand-book{position:absolute;right:26px;top:50%;transform:translateY(-50%);width:150px;height:150px;object-fit:contain;pointer-events:none}
.home-welcome:has(.brand-book) .office-art,.home-welcome:has(.brand-book) .welcome-stamp{display:none}
.home-welcome:has(.brand-book)>div:first-child{padding-right:0}
.workspace-shell .home-welcome:has(.brand-book){display:grid;grid-template-columns:minmax(200px,1fr) minmax(280px,1.1fr) 130px;gap:16px}
.home-welcome:has(.brand-book)>.brand-book{position:static;transform:none;grid-column:3;grid-row:1;width:130px;height:130px}
.home-welcome:has(.brand-book)>.welcome-metrics{grid-column:2;grid-row:1;width:auto}
.workspace-shell[data-page=home] .home-welcome h2{white-space:normal;text-wrap:balance}
.account-art{margin-left:auto;object-fit:contain}
.workspace-shell[data-page=home] .collection-help,.workspace-shell[data-page=home] #collection-actions{display:none}
@media(min-width:901px){.workspace-shell:not([data-page=home]) #items:has(>.summary-card){max-height:max(300px,calc(100dvh - 335px))}}
@media(max-width:1100px){.workspace-shell .admin-layout{grid-template-columns:160px minmax(0,1fr)}.workspace-shell #module-actions label{font-size:0}.workspace-shell #module-actions select{font-size:.82rem}}
@media(max-width:900px){.workspace-shell .admin-layout{display:block}.workspace-shell .site-header #global-search{flex-basis:auto}.workspace-shell .collection-toolbar{gap:6px}.workspace-shell .collection-toolbar #module-actions{flex-basis:100%}.workspace-shell .collection-help{margin-left:0}.workspace-shell #items>.storage-card{min-height:166px}.workspace-shell .top-actions button{padding:8px 12px;font-size:.78rem}}
@media(max-width:600px){.workspace-shell #content{padding:14px}.workspace-shell #filters .filter-actions{gap:5px}.workspace-shell #filters{gap:6px}.workspace-shell #filters>label{flex-basis:100%}.workspace-shell #filters .filter-actions{margin-left:auto}.workspace-shell #page-title{font-size:1.12rem}.workspace-shell #items>.storage-card{padding-right:84px}.brand-book{width:95px;height:95px;right:12px}.home-welcome:has(.brand-book)>div:first-child{padding-right:76px}.workspace-shell.admin-mode #admin-body{padding:14px}.collection-help #section-description{right:auto;left:0;width:min(300px,calc(100vw - 60px))}}
@media(prefers-reduced-motion:reduce){.workspace-shell #items>.summary-card{transition:none}.workspace-shell #items>.summary-card:hover{transform:none}}
@media(max-width:600px){.workspace-shell .top-banner .container{flex-wrap:wrap;gap:6px!important}.workspace-shell .top-banner #global-search{order:2;flex-basis:100%}.workspace-shell .top-banner .top-actions{margin-left:auto}.workspace-shell .top-banner #global-search input{width:0}.workspace-shell .top-banner .container>span{display:none}}
@media(max-width:900px){#admin-nav-toggle{display:block;width:100%;text-align:left;margin-bottom:10px;background:#ffffffa6;color:var(--primary-dark);border:1px solid var(--control-border);border-radius:12px;padding:10px 14px;font-size:.86rem}.workspace-shell .admin-layout:not(.admin-nav-open) #master-links{display:none}.workspace-shell .admin-layout.admin-nav-open #master-links{position:static;max-height:280px;overflow:auto;margin-bottom:12px}}
@media(max-width:1100px){.workspace-shell .home-welcome:has(.brand-book){grid-template-columns:minmax(0,1fr) 90px}.home-welcome:has(.brand-book)>.brand-book{grid-column:2;width:90px;height:90px}.home-welcome:has(.brand-book)>.welcome-metrics{grid-column:1/-1;grid-row:2}.home-welcome:has(.brand-book)>div:first-child{padding-right:0}}
/* Direct-view layouts: content owns its height; chips must never flex-shrink. */
.workspace-shell #mini-calendar{max-height:72dvh;overflow:auto;scrollbar-gutter:stable}
.workspace-shell #mini-calendar .calendar-grid{grid-auto-rows:auto;align-items:stretch}
.workspace-shell #mini-calendar .calendar-grid>.cal-day{height:auto;max-height:none;min-height:96px;overflow:visible;justify-content:flex-start}
.workspace-shell #mini-calendar .cal-chips{display:flex;flex:0 0 auto;max-height:none;overflow:visible;gap:4px}
.workspace-shell #mini-calendar .cal-chip{flex:0 0 auto;max-height:none;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:keep-all;line-height:1.5;font-size:.74rem;text-align:left;padding:4px 6px}
.workspace-shell :is(#items,#utility-panel) .lookup-clear{width:auto;justify-self:start;display:inline-flex;margin:4px 0 12px;padding:8px 12px;background:transparent;color:var(--muted);border:1px solid var(--line)}
.workspace-shell :is(#items,#utility-panel) .lookup-clear[hidden]{display:none}
.workspace-shell .contact-search{display:block;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:16px}
.contact-search-fields{display:grid;grid-template-columns:minmax(180px,2fr) minmax(140px,1fr) auto;align-items:end;gap:12px}
.workspace-shell .contact-search-fields label{max-width:none;min-width:0;margin:0}
.workspace-shell .contact-search-fields :is(input,select,button){height:46px;margin-bottom:0}
.contact-result-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
.contact-result-actions>span{color:var(--muted);font-size:.8rem;margin-right:auto}
.workspace-shell .contact-result-actions button{min-height:38px;padding:8px 12px}
@media(max-width:600px){.contact-search-fields{grid-template-columns:minmax(0,1fr)}.contact-result-actions>span{width:100%}}
.workspace-shell .roster-names{max-height:42dvh;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.workspace-shell .directory-board{max-height:58dvh;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:2px}
.workspace-shell .class-roster{margin-top:12px}
.workspace-shell #items .card-direct-link{display:inline-flex;align-items:center;min-height:40px;color:var(--primary);font-weight:700;margin:4px 12px 4px 0;text-underline-offset:4px}
.auth-privacy-note{font-size:.75rem;color:var(--muted);line-height:1.6;margin:12px 0 0}
/* Compact shared editor patterns; retain native controls and existing theme tokens. */
.workspace-shell .edit-dialog form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.workspace-shell .edit-dialog form>label{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;font-size:.82rem}
.workspace-shell .edit-dialog form>label:has([name=title]),.workspace-shell .edit-dialog form>label:has(textarea),.workspace-shell .edit-dialog form>label:has([name=url]),.workspace-shell .edit-dialog form>div,.workspace-shell .edit-dialog form>p{grid-column:1/-1}
.workspace-shell .edit-dialog form>.calendar-editor{grid-column:1/-1;margin:0}
.calendar-plan-launch{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:12px 0 20px}
.calendar-plan-launch>span{font-size:.85rem;color:var(--muted)}
.workspace-shell .calendar-plan{width:min(1160px,calc(100vw - 24px));max-height:92dvh}
.calendar-plan .detail-body{padding:20px 24px}
.plan-toolbar{display:flex;align-items:end;gap:16px;flex-wrap:wrap}
.plan-toolbar label{display:grid;gap:6px;max-width:220px}
.plan-toolbar strong{padding:10px 0;font-size:.9rem}
.plan-steps{color:var(--primary);font-weight:700;background:var(--primary-light);padding:12px 16px;border-radius:12px}
.calendar-plan .plan-paste{width:100%;box-sizing:border-box;min-height:66px;background:var(--surface);border:1px dashed var(--primary);border-radius:12px;padding:12px}
.plan-table-wrap{overflow:auto;max-height:52dvh;border:1px solid var(--line);border-radius:12px}
.plan-table-wrap table{width:100%;min-width:670px;border-collapse:collapse;table-layout:fixed;margin:0}
.plan-table-wrap th,.plan-table-wrap td{padding:8px;border:1px solid var(--line);vertical-align:top}
.plan-table-wrap thead th{position:sticky;top:0;z-index:1;background:var(--primary-light);text-align:left}
.plan-table-wrap th:first-child{width:150px}.plan-table-wrap th:last-child{width:22%}
.plan-table-wrap input[type=date]{width:100%;box-sizing:border-box;min-width:0;padding:8px 4px;font-size:.8rem}
.plan-table-wrap .plan-include{display:flex;align-items:center;gap:8px;min-height:36px;font-weight:400}
.plan-table-wrap .plan-include input{width:20px;height:20px;min-height:20px;margin:0}
.plan-table-wrap tbody th{background:var(--surface);font-size:.8rem;font-weight:650;white-space:nowrap}
.plan-table-wrap th small{display:block;font-size:.7rem;font-weight:400;color:var(--muted);margin-top:8px}
.plan-table-wrap textarea{display:block;resize:vertical;width:100%;box-sizing:border-box;min-height:72px;border:1px solid transparent;border-radius:6px;background:transparent;padding:6px;margin:0;font-size:.85rem;line-height:1.5}
.plan-table-wrap textarea:focus{background:var(--surface);border-color:var(--primary)}
.plan-actions{display:flex;gap:12px;justify-content:flex-end;position:sticky;bottom:-1px;background:var(--surface,#fff);padding:14px 0;border-top:1px solid var(--line);z-index:2}
.plan-review-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px}
.plan-review-row label{display:grid;gap:6px;font-size:.8rem;min-width:0}
.plan-review-row :is(input,textarea){min-width:0;width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit;background:var(--surface);color:var(--text)}
.plan-review-row .plan-select{display:flex;align-items:center;gap:8px;grid-column:1/-1;font-size:.9rem}
.plan-select input[type=checkbox]{width:20px;height:20px;min-height:20px;flex:none;margin:0;padding:0}
.plan-consent{display:flex;align-items:center;gap:8px;font-size:.85rem;margin:16px 0}.plan-consent[hidden]{display:none}.plan-consent input{width:20px;height:20px;min-height:20px;flex:none}
.plan-field-title,.plan-field-description,.plan-original{grid-column:1/-1}
.plan-original{font-size:.8rem;color:var(--muted);white-space:pre-wrap;margin:0;padding:10px;background:var(--primary-light);border-radius:8px}
@media(max-width:700px){.calendar-plan .detail-body{padding:16px}.plan-review-row{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-toolbar{gap:8px}.plan-table-wrap{max-height:48dvh}.plan-actions button{flex:1}.plan-steps{font-size:.8rem}}
.workspace-shell .edit-dialog :is(input,select,textarea){min-height:44px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);width:100%}
.workspace-shell .edit-dialog textarea{min-height:130px;resize:vertical}
.workspace-shell :is(.edit-dialog,.batch-dialog) input[type=checkbox]{width:20px;height:20px;min-height:20px;margin:0;padding:0;accent-color:var(--primary);flex:none}
.workspace-shell .edit-dialog .flag-row{display:flex;gap:10px;flex-wrap:wrap}
.workspace-shell .edit-dialog :is(.flag,.continue-entry){display:flex;flex-direction:row;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;font-size:.82rem}
.workspace-shell .edit-dialog .flag:has(:checked){background:var(--primary-light);border-color:var(--primary)}
.workspace-shell .edit-dialog .continue-entry{grid-column:1/-1;justify-content:flex-start}
.workspace-shell .edit-dialog .form-save-bar{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:16px}
.workspace-shell .edit-dialog .form-save-bar button{width:auto;min-width:96px;border-radius:12px}
.workspace-shell .edit-dialog .form-save-bar .secondary{order:-1;background:var(--surface);color:var(--text);border:1px solid var(--line)}
.workspace-shell .form-status:empty{display:none}
.workspace-shell .work-starters{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px;border:1px dashed var(--line);border-radius:16px;background:var(--primary-light)}
.workspace-shell .work-starters small{flex-basis:100%;color:var(--muted);font-size:.75rem}
.workspace-shell .bell-preview{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.bell-preview>h3,.bell-preview>p{grid-column:1/-1}.bell-preview>div{padding:16px;background:var(--primary-light);border-radius:16px}.bell-preview>div p{font-size:.8rem;margin-top:6px}
.workspace-shell .top-banner>.container{flex-wrap:wrap}
html[data-theme] .workspace-shell .top-banner{position:sticky;top:0;z-index:40;background:var(--surface);border-bottom:1px solid var(--line)}
.school-live-status{flex-basis:100%;display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--text);font-size:.73rem;border-top:1px solid var(--line);padding-top:6px}
.school-live-status time{font-variant-numeric:tabular-nums;font-weight:700}.school-live-status a{font-size:.62rem;color:var(--muted)}.school-live-period{margin-left:auto;font-size:.7rem}
.workspace-shell .space-sidebar{padding:16px;gap:12px;border-radius:22px;background:var(--surface);font-size:.8rem}
.workspace-shell .space-sidebar h3{font-size:.92rem;margin:0}
.workspace-shell .space-sidebar .space-introduction{font-size:.75rem;margin:0 0 8px}
.workspace-shell .space-controls-card{background:var(--primary-light);border-radius:16px;padding:12px}
.workspace-shell .space-control-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:'left up right' 'minus down plus';gap:6px;margin:10px 0}
.space-control-pad button:nth-child(1){grid-area:left}.space-control-pad button:nth-child(2){grid-area:up}.space-control-pad button:nth-child(3){grid-area:down}.space-control-pad button:nth-child(4){grid-area:right}.space-control-pad button:nth-child(5){grid-area:plus}.space-control-pad button:nth-child(6){grid-area:minus}
.workspace-shell .space-control-pad button{min-width:0;min-height:44px;padding:4px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:10px;font-size:1rem}
.workspace-shell .space-control-pad button:hover{border-color:var(--primary);background:var(--primary-light)}
.workspace-shell .space-sidebar details{font-size:.75rem;margin:8px 0;padding:0;border:0}
.workspace-shell .space-control-help,.workspace-shell .space-source p{font-size:.75rem;line-height:1.6}
.workspace-shell .space-sidebar .space-list{display:grid;gap:4px;max-height:38dvh;overflow:auto;margin:0}
.workspace-shell .space-list button{min-height:42px;padding:8px 10px;text-align:left;border-radius:10px;font-size:.8rem;border:1px solid transparent;background:transparent;color:var(--text)}
.workspace-shell .space-list button:hover,.workspace-shell .space-list button[aria-pressed=true]{background:var(--primary-light);border-color:var(--line);color:var(--primary-dark)}
.workspace-shell .space-list>p{font-size:.72rem;margin:2px 0 8px}.workspace-shell .space-pagination{padding-top:8px;margin-top:4px}
.workspace-shell .space-all-toggle{font-size:.72rem;min-height:40px;margin:4px 0}
@media(prefers-reduced-motion:no-preference){.edit-dialog button,.space-control-pad button{transition:background .15s,transform .18s}.edit-dialog button:active,.space-control-pad button:active{transform:scale(.97)}}
:root[data-motion=reduced] :is(.edit-dialog button,.space-control-pad button){transition:none;transform:none}
@media(max-width:700px){.workspace-shell .edit-dialog form,.workspace-shell .bell-preview{grid-template-columns:minmax(0,1fr)}.school-live-period{margin-left:0;flex-basis:100%}.school-live-status{gap:6px}}
@media(max-width:600px){
  .workspace-shell #mini-calendar .calendar-weekdays{display:none}
  .workspace-shell #mini-calendar .calendar-grid{grid-template-columns:minmax(0,1fr);gap:8px}
  .workspace-shell #mini-calendar .calendar-grid>.cal-day{min-height:44px;padding:10px 12px}
  .workspace-shell #mini-calendar .calendar-grid>.cal-day.blank{display:none}
  .workspace-shell #mini-calendar .cal-date{text-align:left}
  .workspace-shell #mini-calendar .cal-date::after{content:'일'}
  .workspace-shell #mini-calendar .cal-count{display:block}
  .workspace-shell #mini-calendar .cal-chip{font-size:.85rem}
}
.workspace-shell .campus-review .space-layout{grid-template-columns:minmax(0,1fr) 200px;gap:10px}
.workspace-shell .campus-review .space-visual{padding:5px;border-radius:18px}
.workspace-shell .campus-review .space-model{min-height:0}
.workspace-shell .campus-review .space-map{max-height:none}
.workspace-shell .campus-review .space-camera-controls{padding:6px;gap:6px;margin:0}
.workspace-shell .campus-review .space-camera-controls button{min-height:36px;padding:6px 12px;font-size:.82rem}
.workspace-shell .campus-review .space-sidebar{padding:10px}
.workspace-shell .space-room-label{font-size:14px;max-width:180px}
.space-map{touch-action:none;user-select:none}
.space-map-name{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.25;overflow:hidden;overflow-wrap:anywhere;padding:2px;box-sizing:border-box;font-weight:650;color:var(--text);pointer-events:none}
.space-map-name span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.workspace-shell .space-immersive{position:fixed;inset:0;z-index:100;background:var(--page);padding:12px;overflow:auto}
.workspace-shell :is(#utility-panel,#utility-view,.admin-layout,#content):has(.space-immersive){transform:none;animation:none;backdrop-filter:none;filter:none}
body:has(.space-immersive){overflow:hidden}
.workspace-shell .space-immersive .space-layout{grid-template-columns:minmax(0,1fr) 180px}
.workspace-shell .campus-review .space-sidebar{max-height:calc(100dvh - 330px);overflow:auto;min-height:300px}
.workspace-shell .space-immersive .space-sidebar{max-height:calc(100dvh - 180px)}
.space-map .space-cell:focus rect{stroke:var(--primary);stroke-width:2}
.space-map-controls{display:flex;gap:6px;flex-wrap:wrap}
.workspace-shell .collection-support{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.workspace-shell .collection-support .collection-toolbar{margin-top:10px;margin-bottom:0}
.workspace-shell .reference-note,.workspace-shell .reference-tools{font-size:.78rem;color:var(--muted);line-height:1.65;margin-top:18px}
.workspace-shell .reference-tools{border-top:1px solid var(--line);padding-top:12px}
.workspace-shell .reference-tools summary{cursor:pointer;min-height:36px}
.workspace-shell .meal-page-heading{margin-bottom:14px}
.workspace-shell .meal-page-heading .eyebrow{display:none}
.workspace-shell .meal-week-controls{border-top:1px solid var(--line);padding-top:16px;margin-top:20px}
.workspace-shell .bell-board{grid-column:1/-1;min-width:0}
.workspace-shell .bell-board-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.workspace-shell .bell-board-heading h3{margin:0;font-size:1.05rem}
.workspace-shell .bell-board-heading button{min-height:44px;padding:10px 14px;border-radius:12px;font-size:.8rem}
.workspace-shell .bell-board-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.bell-board-table caption{text-align:left;color:var(--muted);font-size:.78rem;padding-bottom:8px}
.workspace-shell .bell-board-table :is(th,td){padding:13px 10px;text-align:center;border:0;border-bottom:1px solid var(--line);font-size:.9rem;font-variant-numeric:tabular-nums}
.workspace-shell .bell-board-table thead th{background:var(--primary);color:#fff;font-size:.85rem}
.workspace-shell .bell-board-table tbody th{background:var(--primary-light);font-weight:650}
.workspace-shell .bell-board-table td{background:var(--surface)}
.workspace-shell .bell-board-table .bell-lunch td{background:var(--primary-light);color:var(--primary-dark)}
.workspace-shell .bell-board-table tr:last-child :is(th,td){border-bottom:0}
.workspace-shell .bell-board details{font-size:.78rem;color:var(--muted);margin-top:16px;line-height:1.6}
.workspace-shell .admin-welcome{padding:14px 18px;margin-bottom:14px;background:var(--primary-light);border:1px solid var(--line);border-radius:16px}
.workspace-shell .admin-welcome .eyebrow,.workspace-shell .admin-emblem{display:none}
.workspace-shell .admin-welcome h3{font-size:1.2rem;color:var(--text);margin:0 0 4px}
.workspace-shell .admin-welcome p{color:var(--muted);margin:0;font-size:.8rem}
.admin-live-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:22px}
.workspace-shell .admin-live-summary button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text)}
.admin-live-summary span{font-size:.8rem}.admin-live-summary strong{font-size:1.8rem;line-height:1.25;color:var(--primary-dark)}.admin-live-summary small{font-size:.7rem;color:var(--muted)}
.workspace-shell .admin-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}
.workspace-shell .admin-shortcuts button{padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text)}
.workspace-shell .admin-shortcuts button:hover{background:var(--primary-light);transform:none}
.workspace-shell .admin-shortcuts strong{font-size:.87rem;color:var(--text)}
.workspace-shell .admin-shortcuts span{color:var(--muted);font-size:.73rem}
.sidebar-editor-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:20px;align-items:start}
.sidebar-edit-list{display:grid;gap:14px}
.workspace-shell .sidebar-edit-list fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px;border:1px solid var(--line);border-radius:14px;min-width:0}
.sidebar-edit-list legend{font-size:.85rem;font-weight:650;padding:0 6px}
.workspace-shell .sidebar-edit-list label{display:flex;flex-direction:column;gap:6px;font-size:.76rem;margin:0;min-width:0}
.workspace-shell .sidebar-edit-list label:has([list]){grid-column:1/-1}
.workspace-shell .sidebar-edit-list :is(input,select){width:100%;min-width:0;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text)}
.workspace-shell .sidebar-edit-list label:has([type=checkbox]){flex-direction:row;align-items:center}
.workspace-shell .sidebar-edit-list input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--primary)}
.workspace-shell .sidebar-edit-list button{min-height:40px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font-size:.74rem}
.sidebar-edit-form .form-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.sidebar-preview{padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--primary-light);position:sticky;top:160px}
.sidebar-preview h4{font-size:.9rem;margin:0 0 16px}.sidebar-preview strong{display:block;font-size:.78rem;margin-top:14px}.sidebar-preview p{font-size:.8rem;padding:9px 10px;margin:5px 0;background:var(--surface);border-radius:8px;overflow-wrap:anywhere}
.custom-sidebar-items:empty{display:none}
@media(max-width:700px){.sidebar-editor-layout{grid-template-columns:minmax(0,1fr)}.sidebar-preview{position:static}.admin-live-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-shell .admin-shortcuts{grid-template-columns:minmax(0,1fr)}.workspace-shell .bell-board-heading{align-items:flex-start;flex-direction:column}.workspace-shell .bell-board-table{min-width:500px}}
.school-identity{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;border-radius:14px;background:var(--primary-light)}
.school-identity span{font-size:.8rem;color:var(--muted)}
.workspace-shell .school-statistics{border:0;margin:12px 0;padding:0}
.workspace-shell .school-statistics>.toolbar{display:flex;justify-content:flex-end;gap:10px;align-items:center}
.school-statistics .toolbar h3{margin-right:auto}
.school-statistics .toolbar label{display:flex;align-items:center;gap:8px;font-size:.8rem}
.school-statistics [role=status]{font-size:.78rem;color:var(--muted);margin:8px 0}
.school-stat-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0}
.school-stat-metrics>div{padding:16px 20px;border-radius:16px;background:var(--primary-light);border:1px solid var(--line)}
.school-stat-metrics span{display:block;font-size:.82rem;color:var(--muted)}
.school-stat-metrics strong{font-size:2rem;letter-spacing:-.04em;margin-right:6px;color:var(--primary-dark)}
.school-stat-metrics small{font-size:.8rem}
.workspace-shell .school-stat-chart{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.workspace-shell .school-stat-row{padding:12px 16px;border:1px solid var(--line)}
.school-stat-row span{font-size:.82rem;color:var(--muted)}
.school-statistics details,.school-info-more{font-size:.78rem;margin-top:12px;color:var(--muted)}
.school-info-status{padding:0!important;background:transparent!important;margin:6px 0!important}
.workspace-shell #school-info{padding:16px}
.workspace-shell #school-info>.toolbar .eyebrow{display:none}
.workspace-shell #school-info>.toolbar{margin:0 0 6px}
.workspace-shell #school-info>.toolbar h2{margin:0;font-size:1rem}
.workspace-shell .school-identity{padding:8px 12px}
.workspace-shell .school-stat-metrics>div{padding:10px 16px}
.workspace-shell .school-stat-metrics strong{font-size:1.8rem}
.workspace-shell .school-statistics .toolbar :is(select,button){min-height:36px;padding:6px 10px;margin:0}
.workspace-shell .school-statistics .toolbar label{white-space:nowrap}
.workspace-shell .school-stat-row{padding:8px 12px}
.workspace-shell .school-stat-row .bar-track{height:6px;margin-top:6px}
@media(max-width:1000px){.workspace-shell .campus-review .space-layout{grid-template-columns:minmax(0,1fr)}.workspace-shell .campus-review .space-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:8px}.space-sidebar .space-source{grid-column:1/-1}}
@media(max-width:600px){.school-stat-metrics{gap:6px}.school-stat-metrics>div{padding:12px 8px}.school-stat-metrics strong{font-size:1.6rem}.workspace-shell .school-stat-chart{grid-template-columns:repeat(2,minmax(0,1fr))}.school-identity{display:block}.school-identity span{display:block;margin-top:6px}.workspace-shell .school-statistics>.toolbar{flex-wrap:wrap}.workspace-shell .campus-review .space-sidebar{display:block}}
@media(max-width:600px){.workspace-shell .campus-review .space-toolbar{display:grid;grid-template-columns:minmax(0,1fr)}.workspace-shell .campus-review .space-toolbar>label{width:100%;min-width:0}.workspace-shell .space-view-toggle{display:flex;gap:6px;flex-wrap:wrap}.workspace-shell .space-view-toggle button{padding:8px 10px;min-height:40px;font-size:.8rem}.workspace-shell .campus-review .space-sidebar{max-height:none;min-height:0}.workspace-shell .space-immersive .space-layout{grid-template-columns:minmax(0,1fr)}}

/* A compact daily strip and paired trip inputs, using existing theme tokens. */
.workspace-shell .school-live-status{justify-content:flex-end;gap:12px;padding:10px 0 2px;font-size:.8rem}
.workspace-shell .school-live-status time{white-space:nowrap;font-size:.86rem}
.workspace-shell .school-live-period{display:flex;gap:6px;flex-wrap:wrap;margin:0;font-size:.73rem}
.school-live-period>span{display:flex;gap:6px;align-items:center;padding:5px 9px;background:var(--surface-soft,#f8eee7);border-radius:8px;white-space:nowrap}
.school-live-period strong{font-weight:650;color:var(--accent,#974f35)}
.school-live-weather{white-space:nowrap;color:var(--muted)}
.school-live-notes{position:relative;font-size:.68rem}
.school-live-notes summary{min-height:32px;display:flex;align-items:center;cursor:pointer;color:var(--muted)}
.school-live-notes>div{position:absolute;top:100%;right:0;z-index:50;width:min(360px,85vw);padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface,#fff);box-shadow:0 8px 30px #0002;font-size:.8rem}
.school-live-notes p{margin:0 0 10px}.school-live-notes a{font-size:inherit!important}
.workspace-shell #home-view .widgets{grid-template-columns:repeat(3,minmax(0,1fr))}
.workspace-shell .edit-dialog .trip-entry-form{display:block}
.trip-entry-form .trip-entry-hint{color:var(--muted);margin:0 0 20px}
.trip-field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}
.trip-field-pair label{display:flex;flex-direction:column;gap:8px;min-width:0}
.trip-field-pair input{width:100%;min-width:0;font-variant-numeric:tabular-nums}
.sidebar-base-options fieldset{border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:12px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}
.sidebar-base-options legend{font-weight:700;padding:0 6px}
.sidebar-base-options label{display:flex!important;align-items:center;gap:10px;min-height:44px;cursor:pointer}
.sidebar-base-options input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;accent-color:var(--accent,#974f35)}
.sidebar-edit-form>details{margin:20px 0}.sidebar-preview p{margin:6px 0;font-size:.8rem}
.workspace-shell .sidebar-base-options .sidebar-section-editor{display:flex;flex-direction:column;gap:12px;padding:16px}
.sidebar-section-heading{display:flex;gap:12px;align-items:end;padding-bottom:12px;border-bottom:1px solid var(--line)}
.sidebar-section-heading>label{flex:1}
.sidebar-builtin-row{display:grid;grid-template-columns:48px minmax(120px,1fr) minmax(110px,.8fr) auto;gap:10px;align-items:end;padding:10px 0}
.workspace-shell .sidebar-base-options :is(.sidebar-section-heading,.sidebar-builtin-row)>label{display:flex!important;flex-direction:column;align-items:stretch;gap:6px;min-width:0;margin:0;font-size:.73rem}
.workspace-shell .sidebar-base-options :is(input:not([type=checkbox]),select){width:100%;min-width:0;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text)}
.workspace-shell .sidebar-builtin-row>label:has([type=checkbox]){align-items:center;justify-content:center;min-height:68px}
.sidebar-order-actions{display:flex;gap:4px}
.sidebar-edit-form>.form-actions{position:sticky;bottom:12px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;z-index:2}
.workspace-shell .sidebar-order-actions button{min-width:36px;min-height:44px;padding:6px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:9px}
@media(max-width:1100px){.sidebar-editor-layout{grid-template-columns:minmax(0,1fr)}.sidebar-preview{position:static}.sidebar-builtin-row{grid-template-columns:44px minmax(100px,1fr) minmax(100px,1fr) auto}}
@media(max-width:600px){.sidebar-builtin-row{grid-template-columns:44px minmax(0,1fr) auto}.sidebar-builtin-row>label:has(select){grid-column:2;grid-row:2}.sidebar-builtin-row>.sidebar-order-actions{grid-column:3;grid-row:1/3;align-self:center;flex-direction:column}.sidebar-builtin-row>label:has([type=checkbox]){grid-row:1/3}.sidebar-section-heading{align-items:center}}
@media(max-width:700px){.workspace-shell .school-live-period{flex-basis:100%;order:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.school-live-period>span{flex-direction:column;gap:1px;padding:6px 3px;font-size:.66rem}.workspace-shell #home-view .widgets{grid-template-columns:1fr}.sidebar-base-options fieldset{grid-template-columns:1fr}.trip-field-pair{gap:10px}.school-live-notes>div{right:0;left:auto;max-width:75vw}}
/* Private, on-device capture review: explicit confirmation before any write. */
.trip-capture-dialog{width:min(900px,95vw);max-width:95vw}
.trip-capture-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}
.trip-capture-rows fieldset{min-width:0;border:1px solid var(--border,#e4d8cc);border-radius:16px;padding:16px}
.trip-capture-rows input{width:100%;min-width:0;font-variant-numeric:tabular-nums}
.trip-capture-rows .trip-review-check{display:flex;align-items:center;gap:10px;margin:14px 0;font-size:13px}
.trip-review-check input{width:20px;height:20px;flex-shrink:0}
.trip-capture-dialog textarea{width:100%;min-height:140px}
.trip-capture-rows [data-saved=true]{opacity:.65}
@media(max-width:700px){.trip-capture-rows{grid-template-columns:1fr}}
