.timetable-result-card{background:linear-gradient(145deg,#fff 0%,#fbfaff 100%)!important}
.timetable-result{margin-top:18px}
.result-insights{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(440px,1.2fr);gap:16px;margin:4px 0 20px}
.assignment-donut-card,.result-stat-card{border:1px solid #e5e0f6;border-radius:18px;background:#fff;box-shadow:0 12px 28px rgba(74,52,160,.1),inset 0 1px 0 #fff}
.assignment-donut-card{display:flex;align-items:center;gap:22px;padding:20px 24px;background:linear-gradient(135deg,#fff,#f7f3ff)}
.assignment-donut{display:grid;place-items:center;flex:0 0 124px;width:124px;height:124px;border-radius:50%;background:conic-gradient(#6943e7 calc(var(--assignment-percent)*1%),#e9e5f8 0);box-shadow:0 10px 24px rgba(92,62,209,.2)}
.assignment-donut::before{content:"";grid-area:1/1;width:88px;height:88px;border-radius:50%;background:#fff;box-shadow:inset 0 2px 8px rgba(61,43,133,.09)}
.assignment-donut>div{z-index:1;grid-area:1/1;text-align:center}.assignment-donut strong,.assignment-donut span{display:block}.assignment-donut strong{color:#5633c8;font-size:25px;line-height:1}.assignment-donut span{margin-top:5px;color:#8d85aa;font-size:9px;font-weight:900;text-transform:uppercase}
.assignment-donut-card>div+div b{color:#2d335b;font-size:15px}.assignment-donut-card p{margin:7px 0 4px;color:#5d647d;font-size:12px;font-weight:800}.assignment-donut-card small{color:#9297aa;font-size:10px}
.result-stat-card{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden}.result-stat-card>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 18px;border-right:1px solid #eeeaf8;border-bottom:1px solid #eeeaf8;background:linear-gradient(145deg,#fff,#fcfbff)}.result-stat-card>div:nth-child(3n){border-right:0}.result-stat-card>div:nth-child(n+4){border-bottom:0}.result-stat-card span{color:#7c829a;font-size:10px;font-weight:800}.result-stat-card b{color:#5634d0;font-size:21px}.result-stat-card b.warn{color:#d69025}.result-stat-card b.danger{color:#db5d72}
.schedule-meta{padding:12px 14px;border:1px solid #e9e5f7;border-radius:12px;background:#faf9ff}.schedule-meta>b{color:#30375d;font-size:13px}.schedule-meta>span{color:#817f98;font-size:11px}.schedule-meta small{margin-left:auto}
.school-schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.school-board-card,.focused-schedule-card{overflow:hidden;border:1px solid #ddd8f2;border-radius:18px;background:#fff;box-shadow:0 13px 30px rgba(70,49,154,.13),inset 0 1px 0 #fff}.school-board-card>header,.focused-schedule-card>header{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid #eae6f7;background:linear-gradient(120deg,#f1ecff,#fff 58%,#edf8ff)}.school-board-card header span,.focused-schedule-card header span{display:block;color:#7e68d6;font-size:8px;font-weight:900;letter-spacing:.12em}.school-board-card h3,.focused-schedule-card h3{margin:3px 0 0;color:#292f56;font-size:17px}.school-board-card header>b{padding:6px 9px;border-radius:999px;background:#fff;color:#6342d6;font-size:9px;box-shadow:0 4px 12px rgba(76,53,166,.1)}
.focused-schedule-card>header{justify-content:flex-start}.focused-schedule-card h3{font-size:20px}
.schedule-table-wrap{padding:10px;background:#fbfaff}.schedule-table{border-collapse:separate!important;border-spacing:6px!important;min-width:760px!important}.schedule-table th,.schedule-table td{border:0!important;border-radius:10px}.schedule-table thead th{position:sticky;top:0;z-index:2;padding:10px!important;background:linear-gradient(180deg,#eee9ff,#f7f5ff)!important;color:#5e42cd!important;box-shadow:0 4px 10px rgba(79,55,169,.07)}.schedule-table tbody th{min-width:64px;padding:8px!important;background:linear-gradient(145deg,#f3f1fa,#fff)!important;box-shadow:0 4px 10px rgba(65,52,123,.06)}.schedule-table tbody th span,.schedule-table tbody th b{display:block}.schedule-table tbody th span{color:#83889e;font-size:9px}.schedule-table tbody th b{margin-top:3px;color:#5840c0;font-size:13px}.schedule-table td{height:62px;min-width:118px;padding:4px!important;background:#f6f5fb!important;vertical-align:middle!important}
.lesson-tile{position:relative;display:flex;min-height:54px;box-sizing:border-box;flex-direction:column;justify-content:center;padding:8px 9px;border:1px solid rgba(104,72,200,.16);border-radius:9px;text-align:left;box-shadow:0 5px 12px rgba(59,43,129,.1);transition:transform .16s ease,box-shadow .16s ease}.lesson-tile:hover{transform:translateY(-2px);box-shadow:0 9px 18px rgba(59,43,129,.16)}.lesson-tile b{font-size:10px!important;line-height:1.25;color:#313858}.lesson-tile small{margin-top:4px!important;color:#626b86!important;font-size:8px!important}.lesson-tile>i{position:absolute;top:5px;right:6px;font-style:normal;font-size:8px}.lesson-tile.is-fixed{border-color:#e7b64b;box-shadow:inset 3px 0 #e9a927,0 5px 12px rgba(126,90,24,.1)}.lesson-tile.is-unassigned{border-color:#ed9a75;box-shadow:inset 3px 0 #e6754e,0 5px 12px rgba(155,70,40,.11)}.lesson-tile.is-homeroom{border-color:#54b58a;box-shadow:inset 3px 0 #35a674,0 5px 12px rgba(37,128,87,.11)}
.lesson-tile.is-homeroom-available{border:1px dashed #56b991;background:linear-gradient(145deg,#edfbf4,#fbfffd);box-shadow:inset 3px 0 #35a674,0 5px 12px rgba(37,128,87,.08)}.lesson-tile.is-homeroom-available b{color:#27815d;font-style:italic}.lesson-tile.is-specialist-locked{border-color:#7e69dc;box-shadow:inset 3px 0 #6747dc,0 5px 12px rgba(73,49,164,.14)}
.tone-0{background:linear-gradient(145deg,#efeaff,#fbf9ff)}.tone-1{background:linear-gradient(145deg,#e8f5ff,#f8fcff)}.tone-2{background:linear-gradient(145deg,#e8f9f0,#f8fffb)}.tone-3{background:linear-gradient(145deg,#fff3df,#fffaf2)}.tone-4{background:linear-gradient(145deg,#ffecef,#fff9fa)}.tone-5{background:linear-gradient(145deg,#e9f7f8,#f8ffff)}.tone-6{background:linear-gradient(145deg,#f6edff,#fdfaff)}.tone-7{background:linear-gradient(145deg,#fff5e9,#fffcf7)}
.lesson-tile.category-specialist{border-color:#5b91e2;background:linear-gradient(145deg,#cfe4ff,#edf6ff);box-shadow:inset 4px 0 #286dcc,0 5px 12px rgba(36,94,174,.16)}.lesson-tile.category-specialist b{color:#174f99}.lesson-tile.category-gvcn{border-color:#50b17f;background:linear-gradient(145deg,#d9f4e6,#f0fbf5);box-shadow:inset 4px 0 #239461,0 5px 12px rgba(31,126,82,.14)}.lesson-tile.category-gvcn b{color:#176d48}.lesson-tile.subject-distinct{border-color:hsl(var(--subject-hue) 62% 65%);background:linear-gradient(145deg,hsl(var(--subject-hue) 78% 86%),hsl(var(--subject-hue) 82% 96%));box-shadow:inset 4px 0 hsl(var(--subject-hue) 65% 48%),0 5px 12px hsl(var(--subject-hue) 40% 40% / .16)}.lesson-tile.subject-distinct b{color:hsl(var(--subject-hue) 62% 29%)}
.excel-preview-table .lesson-tile.category-specialist{border-color:#397cd8!important;background:#cfe4ff!important;box-shadow:inset 5px 0 #2466bf!important}.excel-preview-table .lesson-tile.category-specialist b{color:#114b91!important}.excel-preview-table .lesson-tile.category-gvcn{border-color:#36a16a!important;background:#d6f3e3!important;box-shadow:inset 5px 0 #218a57!important}.excel-preview-table .lesson-tile.category-gvcn b{color:#126b42!important}
.schedule-empty-mark{color:#c4c2cf;font-size:13px}.compact-board{padding:5px}.compact-board .schedule-table{min-width:600px!important;border-spacing:3px!important}.compact-board .schedule-table thead th{padding:7px!important;font-size:8px!important}.compact-board .schedule-table tbody th{min-width:45px;padding:5px!important}.compact-board .schedule-table tbody th span{font-size:7px}.compact-board .schedule-table tbody th b{font-size:10px}.compact-board .schedule-table td{height:43px;min-width:83px;padding:2px!important}.lesson-tile.compact{min-height:40px;padding:5px 6px;border-radius:7px}.lesson-tile.compact b{font-size:8px!important}.lesson-tile.compact small{font-size:7px!important}
.schedule-cell-selected .lesson-tile{outline:3px solid #6843e8;outline-offset:1px}.schedule-cell-empty:hover{outline:2px dashed #8c6cf0!important;outline-offset:-3px}
.a4-sheet{position:relative;aspect-ratio:297/210;display:flex;flex-direction:column}.a4-sheet::after{content:"A4";position:absolute;right:10px;bottom:8px;padding:3px 6px;border-radius:5px;background:#f0ecff;color:#735bd1;font-size:7px;font-weight:900;letter-spacing:.12em;pointer-events:none}.a4-sheet .schedule-table-wrap{flex:1}.focused-schedule-card.a4-sheet{width:min(100%,1180px);min-height:620px;margin:0 auto}.school-board-card.a4-sheet{min-height:430px}
.sheet-edit-button.active{border-color:#35a775;background:#eaf9f1;color:#25845b;box-shadow:0 6px 14px rgba(40,150,99,.16)}
[data-sheet-field][contenteditable="true"]{min-width:24px;border-radius:4px;outline:1px dashed #7355df;outline-offset:2px;background:#fff8;cursor:text}[data-sheet-field][contenteditable="true"]:focus{outline:2px solid #6540dc;background:#fff;box-shadow:0 3px 9px rgba(77,48,179,.16)}
.schedule-workbook-frame{overflow:hidden;border:1px solid #d9d3ef;border-radius:18px;background:#eeeaf8;box-shadow:inset 0 2px 10px rgba(55,39,122,.08),0 12px 28px rgba(66,47,145,.1)}.schedule-workbook-frame>header{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 17px;border-bottom:1px solid #ddd7f0;background:linear-gradient(135deg,#f8f5ff,#fff);box-shadow:0 5px 14px rgba(65,45,143,.08)}.schedule-workbook-frame>header b,.schedule-workbook-frame>header span{display:block}.schedule-workbook-frame>header b{color:#4f32bd;font-size:12px}.schedule-workbook-frame>header span{margin-top:3px;color:#888da2;font-size:9px;font-weight:800}.schedule-workbook-frame>header small{color:#81779f;font-size:9px}.schedule-workbook-scroll{height:clamp(560px,72vh,900px);box-sizing:border-box;overflow:auto;padding:16px;scrollbar-color:#8064de #e7e2f4;scrollbar-width:thin}.schedule-workbook-scroll::-webkit-scrollbar{width:11px;height:11px}.schedule-workbook-scroll::-webkit-scrollbar-track{background:#e7e2f4}.schedule-workbook-scroll::-webkit-scrollbar-thumb{border:2px solid #e7e2f4;border-radius:999px;background:#8064de}.schedule-workbook-scroll .school-schedule-grid{min-width:1320px}.schedule-workbook-scroll .compact-board{overflow:visible}.schedule-workbook-scroll>.focused-schedule-card{min-width:860px}
@media print{@page{size:A4 landscape;margin:8mm}.timetable-result-card>.section-heading,.result-insights,.schedule-meta,.schedule-workbook-frame>header{display:none!important}.schedule-workbook-frame{overflow:visible;border:0;background:#fff;box-shadow:none}.schedule-workbook-scroll{height:auto;overflow:visible;padding:0}.school-schedule-grid{display:block!important;min-width:0!important}.school-schedule-grid>.a4-sheet{margin-bottom:8mm}.a4-sheet{width:100%;min-height:0;aspect-ratio:auto;border:0;box-shadow:none;break-after:page}.a4-sheet:last-child{break-after:auto}.a4-sheet::after{display:none}.schedule-table-wrap{overflow:visible}}
@media(max-width:1100px){.result-insights{grid-template-columns:1fr}.school-schedule-grid{grid-template-columns:1fr}}
@media(max-width:700px){.result-stat-card{grid-template-columns:repeat(2,1fr)}.result-stat-card>div,.result-stat-card>div:nth-child(3n),.result-stat-card>div:nth-child(n+4){border-right:1px solid #eeeaf8;border-bottom:1px solid #eeeaf8}.result-stat-card>div:nth-child(2n){border-right:0}.result-stat-card>div:nth-child(n+5){border-bottom:0}.assignment-donut-card{align-items:flex-start;padding:16px}.assignment-donut{flex-basis:100px;width:100px;height:100px}.assignment-donut::before{width:70px;height:70px}.assignment-donut strong{font-size:20px}.schedule-meta small{margin-left:0}.result-actions{align-items:stretch}.result-tabs{width:100%;overflow:auto}.result-view{flex:1;white-space:nowrap}.schedule-workbook-frame>header{align-items:flex-start;flex-direction:column}.schedule-workbook-scroll{height:68vh;padding:9px}}

/* Excel Document Viewer: one portrait A4 viewport, continuous content, vertical scroll only. */
.excel-document-viewer{margin-top:16px;padding:18px;border:1px solid #dcd7ec;border-radius:20px;background:linear-gradient(145deg,#e8e5ee,#f5f3f8);box-shadow:inset 0 2px 12px rgba(42,35,72,.1),0 16px 34px rgba(66,47,145,.11)}
.excel-document-viewer>header{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(100%,794px);box-sizing:border-box;margin:0 auto 12px;padding:0 4px}.excel-document-viewer>header b,.excel-document-viewer>header span{display:block}.excel-document-viewer>header b{color:#4933af;font-size:13px}.excel-document-viewer>header span{margin-top:3px;color:#7e8297;font-size:10px;font-weight:700}.excel-document-viewer>header small{color:#6f668d;font-size:9px;font-weight:800;white-space:nowrap}
.schedule-color-legend{display:flex;align-items:center;gap:8px;margin-left:auto}.schedule-color-legend span{display:inline-flex!important;align-items:center;gap:5px;color:#6f7487!important;font-size:8px!important;font-weight:800}.schedule-color-legend span::before{content:"";width:11px;height:11px;border-radius:3px;background:#ddd}.schedule-color-legend .legend-specialist::before{background:#b9d8ff;border:1px solid #4d88df}.schedule-color-legend .legend-gvcn::before{background:#c8efd9;border:1px solid #3aa16d}
.excel-a4-viewport{width:min(100%,794px);height:clamp(620px,78vh,1123px);box-sizing:border-box;margin:0 auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:#fff;box-shadow:0 20px 55px rgba(34,28,62,.22);scrollbar-color:#8064de #efedf4;scrollbar-width:thin}
.excel-a4-viewport::-webkit-scrollbar{width:10px}.excel-a4-viewport::-webkit-scrollbar-track{background:#efedf4}.excel-a4-viewport::-webkit-scrollbar-thumb{border:2px solid #efedf4;border-radius:999px;background:#8064de}
.excel-document-content{width:100%;min-width:0;box-sizing:border-box;padding:24px 22px 36px;background:#fff}
.excel-sheet-section{width:100%;min-width:0;margin:0 0 30px;break-inside:avoid}.excel-sheet-section:last-child{margin-bottom:0}.excel-sheet-section>header{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:0 2px 10px;border-bottom:2px solid #5d43d2}.excel-sheet-section>header span{display:block;color:#7764ca;font-size:7px;font-weight:900;letter-spacing:.13em}.excel-sheet-section>header h3{margin:3px 0 0;color:#252b4c;font-size:15px}.excel-sheet-section>header b{padding:5px 8px;border-radius:999px;background:#f0ecff;color:#5f43cf;font-size:8px}
.excel-preview-table{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed;border-collapse:collapse!important;border-spacing:0!important}.excel-preview-table col.excel-slot-column{width:12%}.excel-preview-table th,.excel-preview-table td{box-sizing:border-box;min-width:0!important;border:1px solid #ddd9ec!important;border-radius:0!important;overflow:hidden}.excel-preview-table thead th{position:sticky;top:0;z-index:3;padding:7px 3px!important;background:#ece8fb!important;color:#513ab9!important;font-size:8px!important;text-align:center}.excel-preview-table tbody th{padding:5px 2px!important;background:#f6f4fb!important;text-align:center}.excel-preview-table tbody th span,.excel-preview-table tbody th b{display:block}.excel-preview-table tbody th span{color:#85899b;font-size:7px}.excel-preview-table tbody th b{margin-top:2px;color:#4e39b3;font-size:10px}.excel-preview-table td{height:50px;padding:2px!important;background:#fff!important;vertical-align:middle}.excel-preview-table .lesson-tile{width:100%;min-width:0;min-height:43px;padding:5px 4px;border:0;border-radius:4px;box-shadow:none;overflow:hidden}.excel-preview-table .lesson-tile:hover{transform:none;box-shadow:none}.excel-preview-table .lesson-tile b{display:block;overflow:hidden;font-size:7.5px!important;line-height:1.2;text-overflow:ellipsis}.excel-preview-table .lesson-tile small{display:block;overflow:hidden;margin-top:3px!important;font-size:6.5px!important;line-height:1.2;text-overflow:ellipsis}.excel-preview-table .schedule-empty-mark{font-size:9px}
.excel-preview-table .lesson-tile.is-homeroom-available{align-items:center;text-align:center}.excel-preview-table .lesson-tile.is-homeroom-available b{width:100%;color:#27815d;font-size:8px!important;font-style:normal;font-weight:900;text-align:center}
.result-actions #result-subject-filter,.result-actions #result-session-filter{max-width:160px}.result-actions #export-mode[hidden]{display:none!important}
@media(max-width:700px){.excel-document-viewer{padding:10px}.excel-document-viewer>header{align-items:flex-start;flex-direction:column}.excel-a4-viewport{height:70vh}.excel-document-content{padding:14px 10px 24px}.excel-preview-table td{height:43px}.excel-preview-table .lesson-tile b{font-size:6.5px!important}.excel-preview-table .lesson-tile small{font-size:5.8px!important}}
