.schedule-scale-controls{border-bottom:1px solid var(--line);gap:4px;padding:12px 20px;display:flex}.schedule-scale-controls button,.schedule-navigation button{color:#35484c;min-height:36px;font:inherit;cursor:pointer;background:#fffefa;border:1px solid #d8dcd7;border-radius:5px;padding:6px 13px;font-size:12px}.schedule-scale-controls button[aria-pressed=true]{color:#fffefa;background:#293e46;border-color:#293e46}.schedule-group-toggle{z-index:2;color:#35484c;width:100%;min-height:36px;font:inherit;text-align:left;cursor:pointer;background:#eef1eb;border:0;border-bottom:1px solid #dce1dc;align-items:center;gap:10px;padding:8px 20px;font-size:12px;display:flex;position:relative}.schedule-group-toggle span{color:#5c6b6d;font-size:11px}.long-schedule{min-width:0}.long-schedule-controls{flex-wrap:wrap;align-items:end;gap:12px;padding:16px 20px 8px;display:flex}.long-schedule-controls label{color:#536568;gap:5px;min-width:0;max-width:100%;font-size:11px;display:grid}.long-schedule-controls select,.schedule-navigation input{color:#293e46;max-width:100%;min-height:36px;font:inherit;background:#fffefa;border:1px solid #cbd4cf;border-radius:5px;padding:6px 10px;font-size:12px}.long-schedule-controls select{width:260px}.schedule-navigation{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.schedule-range-label{color:#536568;padding:8px 0;font-size:12px}.long-schedule-help,.stage-help{color:#536568;margin:6px 20px 14px;font-size:12px;line-height:1.7}.long-schedule-scroll{scrollbar-color:#aebbb3 #f6f7f1;max-height:680px;overflow:auto}.long-schedule-grid{--label-width:210px;width:calc(var(--label-width) + var(--timeline-width));min-width:100%;position:relative}.long-schedule-row{grid-template-columns:var(--label-width) minmax(0,1fr);border-bottom:1px solid #e5e8e1;min-height:58px;display:grid;position:relative}.long-schedule-label{z-index:3;color:#293e46;min-width:0;font:inherit;text-align:left;cursor:pointer;background:#fffef9;border:0;border-right:1px solid #d4dcd4;flex-direction:column;justify-content:center;gap:5px;padding:10px 14px;display:flex;position:sticky;left:0}.long-schedule-label b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.long-schedule-label small{color:#596b6e;white-space:nowrap;font-size:10px}.long-schedule-header{z-index:5;background:#f1f3ed;position:sticky;top:0}.long-schedule-header .long-schedule-label{background:#f1f3ed;font-size:12px;font-weight:600}.long-schedule-months{display:flex}.long-schedule-months>span{color:#697777;border-left:1px solid #dce2db;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:10px;display:flex}.long-schedule-months b{color:#293e46;font-size:13px}.long-schedule-body{position:relative}.long-schedule-lines{inset:0 0 0 var(--label-width);pointer-events:none;position:absolute}.long-schedule-lines i{border-left:1px solid #e5e8e1;position:absolute;top:0;bottom:0}.long-schedule-lines .long-schedule-today{z-index:2;border-left:2px solid #c86836}.long-schedule-track{min-width:0;position:relative}.long-schedule-bar{color:#fffefa;min-width:3px;height:28px;font:inherit;text-align:left;cursor:pointer;background:#476f86;border:0;border-radius:3px;font-size:11px;position:absolute;top:15px;overflow:hidden}.long-schedule-bar span{white-space:nowrap;padding:0 8px}.long-schedule-bar.preparation{color:#344c42;background:#e5ebe3;border:1px dashed #71877a}.long-schedule-outside{color:#647573;padding:20px 12px;font-size:11px;display:block}.long-schedule-project{color:#293e46;width:100%;min-height:42px;font:inherit;text-align:left;cursor:pointer;background:#e0e7e0;border:0;align-items:center;gap:14px;padding:10px 14px;font-size:12px;font-weight:600;display:flex;position:relative}.long-schedule-project span{color:#4e6665;font-size:11px;font-weight:400}.long-schedule-events summary{color:#735939;cursor:pointer;background:#f9efe1;padding:9px 20px;font-size:12px}.long-schedule-empty{color:#5a6d6c;padding:16px 20px;font-size:12px}.preparation-section .stage-help{margin:0 0 12px}.preparation-stage{border-bottom:1px solid #dce1d9}.preparation-stage summary{cursor:pointer;align-items:center;gap:10px;min-height:66px;padding:10px 0;display:flex}.preparation-stage summary>span:first-child{flex:1;gap:6px;min-width:0;display:grid}.preparation-stage summary b{color:#293e46;font-size:13px}.preparation-stage summary small{color:#576c6b;font-size:11px;line-height:1.6}.stage-status{color:#566659;background:#eef0e8;border-radius:4px;flex-shrink:0;padding:4px 8px;font-size:11px;font-style:normal}.stage-status.in_progress{color:#315c79;background:#e3edf4}.stage-status.completed{color:#3c6342;background:#e2ede0}.stage-status.blocked{color:#954d25;background:#f8e6d9}.stage-edit-form{gap:12px;padding:6px 0 16px;display:grid}.stage-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stage-edit-form label{color:#506461;gap:6px;min-width:0;font-size:12px;display:grid}.stage-edit-form input,.stage-edit-form select,.stage-edit-form textarea{box-sizing:border-box;color:#293e46;width:100%;min-width:0;min-height:38px;font:inherit;background:#fffefa;border:1px solid #c9d3ca;border-radius:5px;padding:8px}.stage-edit-form small,.stage-readonly-note{color:#5c706d;font-size:12px;line-height:1.6}.stage-template-picker{margin-top:14px}.stage-template-picker>summary,.detail-task-group>summary{color:#344e4b;cursor:pointer;padding:10px 0;font-size:13px;font-weight:600}.stage-template-picker fieldset{border:0;padding:12px 0}.stage-template-picker legend{color:#576c6b;padding-top:10px;font-size:12px}.stage-template-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stage-template-options label{color:#344e4b;align-items:center;gap:8px;min-height:32px;font-size:12px;display:flex}.stage-template-options input{accent-color:#344e4b;width:16px;height:16px}.schedule-scale-controls button:focus-visible,.schedule-group-toggle:focus-visible,.long-schedule button:focus-visible,.long-schedule-scroll:focus-visible{outline-offset:-2px;outline:2px solid #bd5c27}@media (max-width:600px){.long-schedule-grid{--label-width:155px}.long-schedule-label{padding:9px}.long-schedule-label small{font-size:9px}.long-schedule-controls{gap:8px;padding:12px}.long-schedule-controls label,.long-schedule-controls select{width:100%}.long-schedule-help{margin:6px 12px 12px}.long-schedule-scroll{max-height:560px}.stage-fields{grid-template-columns:1fr}}.long-schedule .schedule-sticky-caption{color:#344e4b;align-items:center;gap:12px;font-size:12px;font-weight:600;display:inline-flex;position:sticky;left:14px}.schedule-sticky-caption em{color:#536b63;font-size:11px;font-style:normal;font-weight:400}.long-schedule .long-schedule-project .schedule-sticky-caption{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;width:560px;max-width:calc(100vw - 90px);display:grid}.long-schedule-project .schedule-sticky-caption>b{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.long-schedule-project .project-schedule-summary{grid-column:1/-1;margin:0;line-height:1.6}.long-schedule-project .schedule-sticky-caption>em{white-space:nowrap}
:root{--reading-body:16px;--reading-small:14px;--reading-title:22px;--muted:#53635d}html[data-text-size=large]{--reading-body:18px;--reading-small:16px;--reading-title:25px}body{font-size:var(--reading-body);line-height:1.65}:is(button,a,input,select,textarea,summary):focus-visible{outline-offset:3px;outline:3px solid #9c461c}:is(button,a,summary){touch-action:manipulation}.reading-tools{color:#33483e;background:#eef1eb;border-bottom:1px solid #d8dfd9;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:8px clamp(16px,4vw,58px);font-size:14px;display:flex}.reading-tools button{color:#33483e;background:#fffefa;border:1px solid #85988c;border-radius:4px;min-height:44px;padding:6px 14px;font-size:16px}.reading-tools button[aria-pressed=true],.school-choice button[aria-pressed=true]{color:#fffefa;background:#233f35;border-color:#233f35;font-weight:700}.reading-tools button[aria-pressed=true]:before,.school-choice button[aria-pressed=true]:before{content:"✓ "}.app-shell{--gantt-label-width:200px}.app-shell :is(button,summary,input:not([type=radio]):not([type=checkbox]),select){min-height:44px}.app-shell :is(button,input,select,textarea),.app-shell .guide-entry-link{font-size:var(--reading-body)}.app-shell :is(p,label,legend,dt,dd,th,td){font-size:var(--reading-body);line-height:1.65}.app-shell :is(small,.field-help,.form-helper,.reading-hint,.data-note,.brief-date,.section-kicker,.eyebrow,.metric-label,.header-menu-popover b,.header-menu-popover small,.user-badge,.sync-status,.header-email,.demo-data-notice,.schedule-footer,.schedule-range,.legend,.calendar-today,.calendar-weekday,.page-footer){font-size:var(--reading-small);color:#53635d;letter-spacing:normal;line-height:1.65}.app-shell :is(h2,.panel-header h2,.today-brief-heading h2,.school-grid-section h2,.conflict-panel h2){font-size:var(--reading-title);line-height:1.4}.app-shell .readable-page-title{letter-spacing:-.04em;margin:8px 0;font-size:clamp(26px,3vw,36px);line-height:1.4}.app-shell .page-heading p{font-size:var(--reading-body);color:#455c51;white-space:normal;overflow-wrap:anywhere;overflow:visible}.app-shell .page-heading-row>div:first-child{min-width:0}.app-shell .header-top{gap:14px}.app-shell .demo-data-notice{white-space:normal;text-align:center}.app-shell .header-actions{flex-wrap:wrap}.app-shell .header-admin-actions{flex-wrap:wrap;gap:10px}.app-shell .header-menu-popover{width:min(310px,100vw - 32px)}.app-shell .header-menu-popover>button{min-height:64px}.app-shell .primary-button{color:#fffefa;box-shadow:none;background:#ad4d22;border-color:#ad4d22}.app-shell .primary-button:hover:not(:disabled){background:#8d3e1b}.school-choice{border-top:1px solid #d8dfd9;border-bottom:1px solid #d8dfd9;margin-top:24px;padding:18px 0}.school-choice>span{font-size:var(--reading-body);margin-bottom:10px;font-weight:700;display:block}.school-choice>div{flex-wrap:wrap;gap:10px;display:flex}.school-choice button{color:#33483e;background:#fffefa;border:1px solid #9aa99e;border-radius:4px;padding:10px 16px}.task-shortcuts{flex-wrap:wrap;gap:12px 24px;margin-top:16px;display:flex}.task-shortcuts a{color:#274b3c;min-height:44px;font-size:var(--reading-body);text-underline-offset:5px;align-items:center;gap:12px;text-decoration:underline;display:inline-flex}.task-shortcuts a span{text-decoration:none}.app-shell .reading-hint{margin:0;padding:0 20px 16px}.app-shell .today-office-table th{font-size:var(--reading-small);color:#45564b}.app-shell .today-office-task{text-underline-offset:4px;align-items:center;text-decoration:underline}.app-shell .today-office-task span{font-size:var(--reading-small)}.app-shell .today-office-progress{white-space:normal}.app-shell .today-office-period{font-size:var(--reading-small)}.app-shell .metric-card small{white-space:normal;overflow:visible}.app-shell .compact-progress-card{gap:24px;display:flex}.app-shell .school-card>strong{font-size:var(--reading-body)}.app-shell .school-card>small{white-space:normal;overflow:visible}.app-shell .school-card-bottom{font-size:var(--reading-small);flex-wrap:wrap;gap:6px}.app-shell .school-card-bottom :is(span,b),.app-shell :is(.school-status,.school-type){font-size:var(--reading-small)}.app-shell .details-toggle{padding:16px 20px}.app-shell .panel-header{flex-wrap:wrap;gap:16px}.app-shell .panel-tools{flex-wrap:wrap;gap:10px;display:flex}.app-shell .schedule-scale-controls{flex-wrap:wrap;gap:8px}.app-shell .schedule-meta,.app-shell .schedule-footer{flex-wrap:wrap;gap:12px}.app-shell .schedule-footer span{white-space:normal}.app-shell .gantt{--gantt-label-width:200px}.app-shell .gantt-row:not(.gantt-group-row){min-height:66px}.app-shell .gantt-group-row{min-height:44px}.app-shell .task-label b,.app-shell .group-label b,.app-shell .gantt-label-head,.app-shell .task-label small{font-size:var(--reading-small)}.app-shell .task-bar{min-height:40px;font-size:var(--reading-small);top:12px}.app-shell .long-schedule-bar{min-height:40px;font-size:var(--reading-small);top:10px}.app-shell .long-schedule-row{min-height:66px}.app-shell .long-schedule-label b{font-size:var(--reading-small)}.app-shell .long-schedule-label small{white-space:normal}.app-shell .long-schedule-controls label{font-size:var(--reading-small)}.app-shell .calendar-toolbar{flex-wrap:wrap;gap:12px}.app-shell .calendar-toolbar h3,.app-shell .day-number{font-size:var(--reading-body)}.app-shell .calendar-event,.app-shell .academic-agenda-event>span{font-size:var(--reading-small)}.calendar-day-count{display:none}.app-shell .calendar-day.selected .today-badge{color:#fffefa}.app-shell .close-button{width:auto;min-width:64px;height:auto;min-height:44px;font-size:var(--reading-small);background:#f4f5ee;border:1px solid #b5c0b5;padding:4px 10px}.app-shell .date-range-grid button span{width:32px;height:32px;font-size:var(--reading-body)}.app-shell .date-range-selection b{font-size:var(--reading-small);white-space:normal}.date-entry-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.app-shell .date-entry-fields label{color:#33483e;font-size:var(--reading-body);gap:8px;display:grid}.app-shell .date-entry-fields input{color:#182f24;background:#fffefa;border:1px solid #8d9e91;border-radius:4px;width:100%;min-width:0;min-height:48px;padding:10px}.app-shell .date-entry-help{font-size:var(--reading-small);color:#53635d;margin:10px 0 14px}.registration-options{border-top:1px solid #cbd6cb;border-bottom:1px solid #cbd6cb;padding:16px 0}.registration-options>summary{cursor:pointer;font-size:var(--reading-body);color:#304d3d;flex-wrap:wrap;align-items:center;gap:6px 14px;font-weight:700;list-style:none;display:flex}.registration-options>summary:before{content:"+ ";font-size:22px}.registration-options[open]>summary:before{content:"− "}.registration-options>summary span{font-size:var(--reading-small);color:#53635d;font-weight:400}.registration-options>div{gap:18px;padding-top:20px;display:grid}.app-shell .operations-school-filter{max-width:360px;font-size:var(--reading-body);gap:8px;margin:20px 0;display:grid}.operations-school-filter select{background:#fffefa;border:1px solid #8d9e91;border-radius:4px;padding:10px}.app-shell .registration-school-context{color:#33483e;margin:12px 0 24px}.app-shell .dashboard-save-notice{background:#f1f7ee;border:2px solid #436b51;gap:16px;padding:20px}.app-shell .dashboard-save-notice>div{flex:1;min-width:0}.app-shell .dashboard-save-notice p{color:#3a5744;font-size:var(--reading-body);margin:6px 0 0}.app-shell .dashboard-save-notice>a{color:#23452f;min-height:48px;font-size:var(--reading-body);text-underline-offset:4px;background:#fffefa;border:1px solid #436b51;border-radius:4px;align-items:center;padding:8px 14px;font-weight:700;text-decoration:underline;display:inline-flex}.app-shell .close-button:before{content:"닫기 "}.app-shell :is(.admin-modal,.academic-modal,.construction-modal,.review-modal){padding-top:68px}.app-shell :is(.manage-form,.compact-form) label{color:#344d40;gap:8px}.app-shell :is(input,select,textarea){border-color:#8d9e91;max-width:100%}.app-shell .field-label,.app-shell :is(.record-main b,.record-date b,.record-fact b,.registration-guide p,.operations-list-help){font-size:var(--reading-body)}.app-shell .record-main small{white-space:normal}.app-shell .operations-toolbar{flex-wrap:wrap;gap:12px}.app-shell .operations-scope{flex-wrap:wrap}.app-shell .operations-index-header{flex-wrap:wrap;gap:16px}.app-shell .operations-create-button{flex-shrink:0}.app-shell .dashboard-save-notice{font-size:var(--reading-body);flex-wrap:wrap}.auth-page{min-height:calc(100vh - 61px)}.auth-card{width:min(500px,100%)}.auth-card :is(p,label),.auth-form input{font-size:var(--reading-body);color:#425a4e}.auth-card :is(button,input),.auth-card .guide-entry-link{min-height:48px;font-size:var(--reading-body)}.auth-card :is(small,code,.section-kicker){font-size:var(--reading-small)}.auth-card .test-accounts p{overflow-wrap:anywhere}html[data-text-size=large] .auth-card h1{font-size:30px}@media (max-width:1000px){.app-shell .school-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .header-actions{width:100%;margin-left:0}}@media (max-width:720px){.reading-tools{justify-content:center}.app-shell .page-wrap{padding:24px 16px}.app-shell .heading-reference-date b{white-space:normal;font-size:24px}.school-choice>div{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.school-choice button:first-child{grid-column:1/-1}.school-choice button{overflow-wrap:anywhere;padding:10px 8px}.task-shortcuts{gap:6px;display:grid}.app-shell .header-admin-actions{width:100%;margin-left:0}.app-shell .header-admin-actions>button{white-space:normal;flex:1}.app-shell .panel-tools .view-toggle{flex-basis:100%;order:-1;width:100%}.app-shell .panel-tools .tool-button{white-space:normal;margin-left:0}.app-shell .panel-tools .tool-button:after{content:none}.app-shell .panel-tools .tool-button{font-size:var(--reading-body)}.app-shell .schedule-footer span:last-child{display:block}.app-shell .school-cards{grid-template-columns:1fr}.app-shell .compact-progress-card{flex-wrap:wrap;gap:14px}.app-shell .compact-progress-detail{flex-basis:100%;width:100%}.app-shell .today-office-table td{font-size:var(--reading-body)}.app-shell .today-office-table td:before{font-size:var(--reading-small);color:#53635d}.app-shell .today-office-table td>*{min-width:0}.app-shell .today-office-task{white-space:normal}.app-shell .schedule-footer{align-items:flex-start}.app-shell :is(.operations-create-layout,.form-row){grid-template-columns:1fr}.app-shell .record-date{white-space:normal}.date-entry-fields{grid-template-columns:1fr}.app-shell .dashboard-save-notice>div{flex-basis:100%}.app-shell .calendar-grid,.app-shell .calendar-weekdays{min-width:0}.app-shell .calendar-day{min-width:0;min-height:76px;padding:6px 2px}.app-shell .calendar-day .day-top{flex-wrap:wrap;gap:2px}.app-shell .calendar-day .calendar-events{display:none}.app-shell .calendar-day-count{color:#82401d;font-size:14px;font-weight:700;display:block}.app-shell .calendar-day.selected .calendar-day-count{color:#fffefa}.app-shell .today-badge{font-size:12px}.auth-card{padding:24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
.mobile-work-schedule,.mobile-schedule-tools,.mobile-calendar-help,.mobile-calendar-back,.mobile-chart-help{display:none}@media (max-width:720px){.app-shell .page-wrap{padding:20px 12px}.app-shell .header-menu summary{gap:4px;width:auto;min-width:60px;min-height:48px;padding:0 10px}.app-shell .header-menu summary span{display:inline}.app-shell .header-menu summary i{display:none}.app-shell .guide-entry-link{min-height:48px}.app-shell .panel-header h2{white-space:normal;overflow-wrap:anywhere}.app-shell .panel-tools{white-space:normal;flex-wrap:wrap;gap:8px;display:flex}.app-shell .panel-tools>.quiet-button{white-space:normal;flex:140px;min-height:48px}.app-shell .panel-tools .view-tab,.app-shell .panel-tools .tool-button{height:auto;min-height:48px}.app-shell .panel-tools .edit-mode-button,.app-shell .mobile-list-mode .today-tool-button{display:none}.app-shell .mobile-schedule-tools,.app-shell .mobile-schedule-filter{gap:8px;padding:0 12px 12px;display:flex}.mobile-schedule-tools button,.mobile-schedule-filter button{min-width:0;min-height:48px;font:inherit;color:#35523f;background:#fffefa;border:1px solid #a5b4a9;border-radius:5px;flex:1;padding:8px}.mobile-schedule-tools button[aria-pressed=true],.mobile-schedule-filter button[aria-pressed=true]{color:#fffefa;background:#315d46;border-color:#315d46}.mobile-work-schedule{padding:0 12px 16px;display:block}.mobile-work-schedule>p{color:#40594a;line-height:1.7;font-size:var(--reading-body);margin:4px 0 16px}.app-shell .mobile-schedule-filter{padding:0 0 12px}.mobile-list-mode .schedule-visual{display:none}.mobile-project-schedule{border-top:1px solid #aab9ae;min-width:0;margin-top:16px;padding-top:8px}.mobile-project-schedule h3{margin:0}.mobile-project-schedule h3 button,.mobile-task-schedule{width:100%;min-width:0;min-height:48px;font:inherit;text-align:left;overflow-wrap:anywhere;white-space:normal;cursor:pointer;border:0;gap:8px;padding:14px 8px;display:grid}.mobile-project-schedule h3 button{color:#253f30;background:#eef2ed}.mobile-project-schedule h3 b,.mobile-task-schedule b{white-space:normal;font-size:var(--reading-body);line-height:1.6}.mobile-project-schedule h3 small,.mobile-project-schedule h3 span,.mobile-task-schedule small{font-size:var(--reading-small);line-height:1.7}.mobile-project-schedule>p{font-size:var(--reading-body);padding:12px 8px;line-height:1.7}.mobile-task-schedule{color:#274531;background:#fffefa;border-bottom:1px solid #d7e0d9}.mobile-task-schedule>span{font-size:var(--reading-body);font-variant-numeric:tabular-nums;line-height:1.7}.mobile-task-schedule small{color:#516355}.mobile-chart-help{font-size:var(--reading-body);color:#40594a;padding:0 16px;line-height:1.7;display:block}.app-shell .academic-calendar{padding:0 4px 16px}.app-shell .academic-calendar .calendar-toolbar{gap:6px;padding:12px 4px}.app-shell .academic-calendar .calendar-toolbar h3{min-width:0;font-size:var(--reading-body);text-align:center;flex:1;margin:0}.app-shell .calendar-nav,.app-shell .calendar-today{width:auto;min-width:44px;height:auto;min-height:48px;font-size:var(--reading-body);padding:8px}.app-shell .calendar-nav{font-size:26px}.app-shell .calendar-day{min-height:68px}.app-shell .calendar-day.selected .calendar-day-count{color:#82401d}.app-shell .calendar-day.today .calendar-day-count{color:#fffefa}.mobile-calendar-help{color:#435a4a;font-size:var(--reading-small);margin:4px 8px 12px;line-height:1.7;display:block}.app-shell .academic-calendar .day-agenda{padding:16px 10px 0;scroll-margin-top:12px}.mobile-calendar-back{color:#31543d;min-height:48px;font:inherit;background:#fffefa;border:1px solid #9fb1a5;border-radius:5px;margin-bottom:16px;padding:8px 12px;display:block}.app-shell .calendar-weekdays span{font-size:14px}.app-shell .modal-backdrop,.task-schedule-backdrop{overscroll-behavior:contain;place-items:stretch stretch;padding:0}.app-shell :is(.admin-modal,.academic-modal,.construction-modal,.review-modal),.app-shell .task-schedule-dialog{overscroll-behavior:contain;border:0;border-radius:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;padding-top:0;scroll-padding-top:60px}.app-shell :is(.admin-modal,.academic-modal,.construction-modal,.review-modal)>.close-button,.app-shell .academic-manage-panel>.close-button{z-index:40;color:#2d4a36;background:#f8f8f5;border:0;border-bottom:1px solid #b8c3b9;border-radius:0;justify-content:flex-end;align-items:center;width:100%;min-height:52px;margin:0;padding:8px 16px;display:flex;position:sticky;top:0;right:auto}.app-shell .academic-manage-panel>.close-button{width:calc(100% + 32px);margin:-16px -16px 16px}.app-shell :is(.operations-panel,.academic-import-panel,.academic-manage-panel){padding:16px}.app-shell .operations-index-header,.app-shell .operations-create-header{padding-right:0}.app-shell .operations-create-title{padding:16px 0}.app-shell .manage-form{background:0 0;border:0;padding:0}.app-shell .record-editor{padding:12px 0}.app-shell :is(.record-main b,.record-main small,.record-date b,.record-date small){white-space:normal;text-overflow:clip;overflow-wrap:anywhere;overflow:visible}.app-shell :is(.record-actions,.academic-import-actions){flex-direction:column;align-items:stretch;gap:12px;display:flex}.app-shell :is(.record-actions,.academic-import-actions)>button{width:100%;min-height:48px}.app-shell :is(.operations-scope,.academic-period-toggle){gap:8px;width:100%;display:flex}.app-shell :is(.operations-scope,.academic-period-toggle) button{min-width:0;min-height:48px;font-size:var(--reading-body);flex:1;padding:8px}.app-shell :is(.back-button,.archive-control>.text-button,.academic-trash-button){white-space:normal;max-width:100%;min-height:48px}.app-shell .academic-save-result button{white-space:normal;width:100%;min-height:48px}.app-shell .archive-confirmation{padding:14px}.app-shell .date-range-popover{width:100%;max-width:none;max-height:none;box-shadow:none;margin:12px 0;padding:4px;scroll-margin-top:60px;position:static;overflow:visible}.app-shell .date-range-heading{grid-template-columns:48px minmax(0,1fr) 48px;gap:4px;display:grid}.app-shell .date-range-heading button{width:48px;min-width:48px;height:48px;min-height:48px}.app-shell .date-range-heading b{text-align:center;font-size:var(--reading-body)}.app-shell .date-range-grid button{min-width:0;height:auto;min-height:44px;padding:0}.app-shell .date-range-grid button span{width:auto;min-width:0;height:auto;min-height:44px;font-size:var(--reading-body)}.app-shell .date-range-selection{flex-wrap:wrap;gap:8px}.app-shell .date-entry-fields input{width:100%;min-width:0;font-size:max(16px,var(--reading-body))}.app-shell .task-schedule-dialog>header{z-index:40;background:#f8f8f5;position:sticky;top:0}.app-shell .task-schedule-dialog h2{white-space:normal;overflow-wrap:anywhere}.app-shell .project-detail-drawer{width:100%;max-height:100dvh}}@media (max-width:380px){.app-shell :is(.operations-panel,.academic-import-panel,.academic-manage-panel){padding:12px}.app-shell .academic-manage-panel>.close-button{width:calc(100% + 24px);margin:-12px -12px 12px}}@media (max-width:720px){.app-shell .header-menu{position:relative}.app-shell .header-menu-popover{width:min(320px,100vw - 24px);position:absolute;top:calc(100% + 8px);right:0}.app-shell .task-schedule-facts :is(dt,dd),.app-shell .task-schedule-conflicts :is(b,span){font-size:var(--reading-body);line-height:1.7}.app-shell .task-schedule-metrics span,.app-shell .task-schedule-dialog>header p{font-size:var(--reading-small);white-space:normal;overflow-wrap:anywhere;line-height:1.6}.app-shell .task-schedule-metrics b{font-size:22px}.app-shell .academic-agenda-event>.quiet-button,.app-shell .academic-event-notes summary{min-height:48px}.app-shell .academic-event-notes summary{align-items:center;display:flex}.app-shell .header-admin-actions{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) 60px;align-items:stretch;gap:6px;display:grid}.app-shell .header-menu summary,.app-shell .header-menu summary span,.app-shell .header-menu-popover b{font-size:var(--reading-body)}.app-shell .header-menu-popover small{font-size:var(--reading-small)}.app-shell .header-menu-popover>.quiet-button{min-height:48px;font-size:var(--reading-body)}.app-shell .header-admin-actions>.header-menu:only-child{grid-column:1/-1;justify-self:end}.app-shell :is(button,summary,input:not([type=radio]):not([type=checkbox]),select){min-height:48px}.app-shell .task-color-picker>div,.app-shell .schedule-color-field>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.app-shell .task-color-picker label,.app-shell .schedule-color-field label{min-height:48px;padding:8px 10px}.app-shell .task-color-picker label b,.app-shell .schedule-color-field label b{font-size:var(--reading-small)}}.input-tools{display:none}@media (max-width:720px){html[data-input-viewport] .app-shell :is(.modal-backdrop,.task-schedule-backdrop){top:var(--input-viewport-top);height:var(--input-viewport-height);bottom:auto}html[data-input-viewport] .app-shell :is(.admin-modal,.academic-modal,.construction-modal,.review-modal,.task-schedule-dialog){height:100%;max-height:100%}html[data-input-active] .app-shell :is(.admin-modal,.academic-modal,.construction-modal,.review-modal,.task-schedule-dialog){padding-bottom:calc(112px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:112px}html[data-input-active] body{padding-bottom:112px}html[data-input-viewport] .input-tools{z-index:100;top:var(--input-viewport-top);height:var(--input-viewport-height);pointer-events:none;align-items:flex-end;display:flex;position:fixed;left:0;right:0}.input-tools>div{width:100%;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));pointer-events:auto;background:#fffefa;border-top:1px solid #c6cec8;box-shadow:0 -4px 14px #182b3012}.input-tools span{color:#354e47;margin-bottom:5px;font-size:14px;line-height:1.4;display:block}.input-tools-buttons{gap:8px;display:flex}.input-tools-buttons button{border:1px solid #9baaa2;border-radius:5px;flex:1;min-height:48px;padding:8px;font-size:18px;font-weight:700}.input-tools-buttons button:not(.primary-button){color:#354e47;background:#f5f5ef}.app-shell :is(input,textarea){scroll-margin-block:72px 112px}}
