#schedule-toolbar{position:fixed;top:0;right:0;left:212px;height:64px;box-sizing:border-box;padding:10px 22px;display:flex;align-items:center;justify-content:flex-end;gap:8px;z-index:45;background:var(--bg);border-bottom:1px solid var(--l12)}
body:has(#schedule-toolbar) #main-content{margin-top:64px;height:calc(100vh - 64px);box-sizing:border-box}
body.wb-next #schedule-toolbar{left:232px}
@media(min-width:769px) and (max-width:1100px){body.wb-next #schedule-toolbar{left:200px}}
@media(max-width:768px){body.wb-next #schedule-toolbar{left:0}}
@media(max-width:700px){#app:has(.teacher-schedule-page,.homework-workspace)>div{height:calc(100vh - 56px)!important}}
body[data-device-layout="phone"] #schedule-toolbar{left:0}
body[data-device-layout="phone"]:has(#schedule-toolbar) #app{padding-top:64px}
#schedule-toolbar .formal-button{background:var(--panel);box-shadow:0 2px 10px #0001;min-height:40px}
#schedule-toolbar [data-schedule="back"]{margin-right:auto;white-space:nowrap;color:var(--t2)}
.schedule-unread{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:12px;background:#d64550;color:white;font-size:11px;margin-left:5px;padding:0 4px}
.schedule-alert{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--panel);border:1px solid #d8a553;border-left:4px solid #d8a553;border-radius:12px;padding:14px;margin:44px 0 16px}
.schedule-alert span{flex:1;font-size:12px;color:var(--t4)}
.schedule-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.schedule-heading span{font-size:12px;color:var(--t5)}
.schedule-notice.is-unread{border-left:4px solid var(--vioL)}
.schedule-diff-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--l12)}
.schedule-diff small{color:var(--t5)}.schedule-diff p{font-size:13px;line-height:1.7;margin:5px 0}
.schedule-error{padding:12px;color:var(--red);border:1px solid currentColor;border-radius:8px}
.schedule-tag{display:inline-block;font-size:10px;margin-left:6px;padding:3px 6px;border-radius:6px;background:rgba(139,124,247,.12);color:var(--vioL)}
.schedule-tag[data-schedule]{border:0;min-height:26px;padding:3px 7px;cursor:pointer;vertical-align:middle;box-shadow:none}
.schedule-edit-table{min-width:620px}.schedule-edit-table .formal-button{min-height:38px}.schedule-edit-table small{color:var(--t5)}
.schedule-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.schedule-form-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--t4)}
.schedule-form-grid input,.schedule-form-grid select{box-sizing:border-box;width:100%;min-width:0;padding:10px;border:1px solid var(--l18);border-radius:8px;background:var(--panel);color:var(--t1);font:inherit;min-height:42px}
.schedule-editor{width:min(700px,90vw)}
body:has(#schedule-toolbar) #main-content>h1:first-child{padding-top:0}
@media(max-width:700px){#schedule-toolbar{left:0;top:0;right:0;gap:5px;height:56px;padding:8px 12px}body:has(#schedule-toolbar) #main-content{margin-top:56px;height:calc(100vh - 56px)}#app:has(.teacher-schedule-page,.homework-workspace){padding-top:56px}#app:has(.teacher-schedule-page,.homework-workspace) #main-content{margin-top:0;height:auto}#schedule-toolbar .formal-button{padding:7px 9px;font-size:11px}.schedule-diff-row,.schedule-form-grid{grid-template-columns:1fr}.schedule-alert{margin-top:16px}.schedule-editor{width:94vw;max-width:94vw}.schedule-diff-row{gap:4px}}
.schedule-grid-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:16px 0}.schedule-grid-controls label{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--t3)}.schedule-grid-controls select,.schedule-grid-controls input{background:var(--panel);color:var(--t1);border:1px solid var(--l18);border-radius:8px;padding:9px;max-width:240px}.schedule-view-tabs{display:flex;gap:4px}.schedule-view-tabs [aria-pressed="true"]{background:var(--cy);color:var(--bg);border-color:var(--cy)}
.schedule-grid-panel{margin:12px 0 20px}.schedule-edit-grid{width:100%;min-width:680px;border-collapse:separate;border-spacing:4px;table-layout:fixed}.schedule-edit-grid th{font-size:12px;color:var(--t4);padding:7px}.schedule-edit-grid th:first-child{width:48px}.schedule-edit-grid td{vertical-align:top;background:var(--panel);border:1px solid var(--l12);border-radius:9px;padding:5px}.schedule-cell-lesson{display:flex;flex-direction:column;gap:3px;width:100%;padding:8px;border:1px solid var(--l12);border-radius:7px;background:var(--bg);color:var(--t1);text-align:left;cursor:pointer;margin-bottom:4px}.schedule-cell-lesson:hover{border-color:var(--cy);background:var(--pillbg)}.schedule-cell-lesson strong{font-size:13px}.schedule-cell-lesson span{font-size:12px}.schedule-cell-lesson small{font-size:10px;color:var(--t5)}.schedule-cell-lesson.is-changed{border-color:#c79536;background:rgba(210,162,67,.09)}.schedule-cell-lesson em{font-size:10px;color:#a97819;font-style:normal}.schedule-edit-grid [data-schedule="add-cell"]{width:100%;min-height:30px;padding:5px;background:transparent;border:1px dashed var(--l18);color:var(--t5);font-size:11px}.schedule-edit-grid [data-schedule="add-cell"]:hover{color:var(--cy);border-color:var(--cy)}.schedule-cell-removed{display:flex;gap:5px;flex-wrap:wrap;align-items:center;color:var(--t5);font-size:11px;padding:6px}.schedule-cell-removed small{font-size:10px}.schedule-cell-removed .formal-button{padding:3px 6px;min-height:26px;font-size:10px}
#main-content:has(.schedule-edit-grid){padding:16px 24px!important}#main-content:has(.schedule-edit-grid)>h1{font-size:24px;margin:0 0 6px}.schedule-grid-panel h2{font-size:17px;margin:8px 0}.schedule-grid-controls{margin:12px 0}.schedule-edit-grid td:has(.schedule-cell-lesson){position:relative}.schedule-edit-grid td:has(.schedule-cell-lesson)>[data-schedule="add-cell"]{position:absolute;right:6px;top:6px;width:25px;height:25px;min-height:25px;padding:2px;font-size:0;background:var(--panel)}.schedule-edit-grid td:has(.schedule-cell-lesson)>[data-schedule="add-cell"]::after{content:'＋';font-size:15px}.schedule-cell-lesson{padding-right:28px}.schedule-edit-grid td>[data-schedule="add-cell"]{min-height:32px;padding:4px}.schedule-edit-grid td:has(.schedule-cell-lesson) .schedule-cell-lesson:last-of-type{margin-bottom:0}
.schedule-search{margin:12px 0;border:1px solid var(--l12);border-radius:12px;padding:12px;background:var(--panel)}
.schedule-search>label{display:block;font-size:12px;color:var(--t3);margin-bottom:7px;font-weight:600}
/* 2026-09-15 手机导航: 单一视窗三行壳，只有主区滚动；不再为独立工具栏重复占高挤走底栏。 */
body.wb-mobile #app{padding-top:0!important}
body.wb-mobile #app>.wb-mobile-shell{position:fixed;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100dvh!important;overflow:hidden}
body.wb-mobile .wb-mobile-shell>#main-content{margin:0!important;height:auto!important;min-height:0;min-width:0;width:100%;box-sizing:border-box;overflow-y:auto;overscroll-behavior-y:contain}
body.wb-mobile .wb-mobile-header{display:block;padding:8px 12px 0;position:relative;z-index:46}
.wb-mobile-brand-row{display:flex;align-items:center;gap:12px;min-height:44px}
body.wb-mobile .wb-mobile-toolbar-slot #schedule-toolbar{position:static;inset:auto;width:100%;height:auto;min-height:44px;padding:4px 0 8px;background:transparent;border:0;box-sizing:border-box}
body.wb-mobile #schedule-toolbar .formal-button{box-shadow:none;min-height:36px;padding:6px 10px}
.wb-account{position:relative;flex:none;color:var(--t2);font-size:12px}
.wb-account>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;padding:0 12px;border:1px solid var(--l12);border-radius:9px;list-style:none}
.wb-account>summary::-webkit-details-marker{display:none}
.wb-account-actions{position:absolute;right:0;top:calc(100% + 6px);width:180px;padding:10px;display:grid;gap:4px;background:var(--pillbg);border:1px solid var(--l14);border-radius:12px;box-shadow:0 8px 28px #0002;z-index:60}
.wb-account-actions>strong{padding:8px;font-size:13px}.wb-account-actions>button{display:flex;gap:10px;align-items:center;min-height:44px;text-align:left}
body.wb-mobile .wb-mobile-tabs{position:relative;z-index:40;min-width:0;padding:6px 8px calc(8px + env(safe-area-inset-bottom));margin:0;overflow:hidden}
body.wb-mobile .wb-mobile-tabs button{min-width:0;flex:1;font-size:11px;padding:2px}
.todo-calendar-nav svg{width:21px;height:21px;flex:none}
.formal-class.is-homeroom{border:2px solid var(--cy);background:var(--panel4)}
.homeroom-badge{display:block;color:var(--cy);font-size:11px;font-weight:700;margin-bottom:6px}
.formal-class.is-readonly{border-style:dashed}
.schedule-search-field{display:flex;gap:8px;max-width:560px}.schedule-search-field input{flex:1;min-width:0;box-sizing:border-box;border:1px solid var(--l18);border-radius:8px;background:var(--bg);color:var(--t1);padding:10px 12px;font:inherit;font-size:14px}.schedule-search-field input:focus{outline:2px solid var(--cy);outline-offset:1px}
#schedule-search-results{display:flex;flex-wrap:wrap;gap:6px;max-height:210px;overflow:auto}#schedule-search-results:empty{display:none}.schedule-search-count{flex-basis:100%;margin:10px 0 2px;font-size:12px;color:var(--t4)}#schedule-search-results .formal-button{display:flex;align-items:center;gap:7px;text-align:left;min-height:40px;white-space:normal}.schedule-search-kind{font-size:11px;color:var(--t4);background:var(--bg);padding:3px 6px;border-radius:5px;white-space:nowrap}
