.tt-panel{border:1px solid var(--line);border-radius:16px;padding:24px;margin:20px 0;background:#fff}.tt-panel h2{font-size:18px;margin-bottom:12px}.tt-panel h2 span{color:var(--orange);margin-left:7px}.tt-muted{font-size:12px;line-height:1.9;color:#727782;margin:9px 0 15px}.tt-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.tt-summary>div{padding:20px;border-radius:13px;background:var(--peach);font-size:12px;color:#666}.tt-summary strong{display:block;font-size:27px;color:var(--ink);margin-bottom:4px}.tt-toolbar,.tt-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.tt-toolbar{margin:18px 0 10px}.tt-toolbar label{font-size:12px}.tt-toolbar input[type=number]{width:62px}.tt-toolbar input,.tt-actions select,.tt-move select{border:1px solid #ddd;border-radius:7px;padding:8px;background:white}.tt-between{justify-content:space-between}.tt-actions label{font-size:12px}.tt-notice{white-space:pre-line;border-left:3px solid var(--orange);padding:13px 18px;background:#fff8f2;font-size:13px;line-height:1.8;margin-top:18px}.tt-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.tt-columns>.tt-panel{min-width:0;margin-top:0}.tt-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tt-form .field{margin:0;font-size:12px}.tt-form input,.tt-form textarea{width:100%;min-width:0}.tt-wide{grid-column:1/-1}.tt-scroll{overflow-x:auto}.tt-grid{width:100%;min-width:650px;border-collapse:collapse;table-layout:fixed}.tt-grid th{background:#fafafa;font-size:12px;color:#777}.tt-grid th:first-child{width:48px}.tt-grid th,.tt-grid td{border:1px solid var(--line);padding:7px;vertical-align:top}.tt-grid td{height:78px}.tt-lesson{display:block;text-align:left;background:var(--peach);border-left:3px solid var(--orange);border-radius:6px;width:100%;padding:9px;margin-bottom:5px;overflow-wrap:anywhere}.tt-lesson:hover{background:#ffe5d5}.tt-lesson strong{display:block;font-size:12px}.tt-lesson span,.tt-lesson small{display:block;font-size:10px;line-height:1.8;color:#71685f}.tt-roster{border-collapse:collapse;width:100%;font-size:12px;min-width:440px}.tt-roster td,.tt-roster th{padding:12px 7px;border-bottom:1px solid var(--line);text-align:left}.tt-roster small{display:block;font-size:10px;color:#777;margin-top:4px}.tt-roster button{color:var(--orange-dark);font-size:11px;padding:5px}.tt-empty{padding:35px 12px;text-align:center;color:#848891;font-size:13px;line-height:1.8}.tt-move{display:flex;gap:15px;align-items:center;flex-wrap:wrap;padding:18px;background:#fafafa;border-radius:10px;margin-top:15px;font-size:12px}.tt-move p{width:100%;color:#777}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:1150px){.tt-columns{grid-template-columns:1fr}.tt-panel{padding:18px}}@media(max-width:600px){.tt-summary{grid-template-columns:1fr 1fr}.tt-toolbar .btn{font-size:11px;padding:9px}.tt-panel{padding:14px}.tt-form{gap:10px}.tt-form input{font-size:12px}}
.tt-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:24px 0 18px}.tt-steps button{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 10px;border:1px solid var(--line);border-radius:12px;font-size:13px;font-weight:600;background:#fff}.tt-steps b{width:25px;height:25px;border-radius:50%;background:#f0f1f3;display:grid;place-items:center;color:#777}.tt-steps button.active{background:#fff4ed;border-color:#f6b99b;color:#aa411c}.tt-steps .active b{background:var(--orange);color:white}.tt-settings{border-collapse:collapse;width:100%;min-width:720px;font-size:12px;margin:20px 0}.tt-settings caption{text-align:left;font-weight:700;padding:10px 0}.tt-settings th,.tt-settings td{border-bottom:1px solid var(--line);padding:12px 8px}.tt-settings th{background:#fafafa;text-align:left}.tt-settings input{width:100%;min-width:70px;border:1px solid #dde0e5;border-radius:6px;background:white;padding:10px;font-size:12px}.tt-details{padding:16px;border:1px solid var(--line);border-radius:10px;margin:18px 0}.tt-details summary{font-size:13px;cursor:pointer;font-weight:600}.tt-details[open] summary{margin-bottom:18px}.tt-course{display:flex;justify-content:space-between;gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}.tt-course strong,.tt-course span,.tt-course small{display:block}.tt-course span{font-size:11px;color:#a44b28;margin:6px 0}.tt-course small{font-size:11px;color:#707783;line-height:1.9}.tt-course button{font-size:12px;color:var(--orange-dark);padding:7px}.tt-run{display:flex;align-items:center;justify-content:space-between;gap:20px}.tt-default-pin{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.8}.tt-default-pin input{accent-color:var(--orange)}.tt-grid{min-width:800px;table-layout:fixed}.tt-grid th{padding:15px 8px;background:#faf8f6;font-size:13px;color:#6c6057}.tt-grid td{height:100px;padding:8px}.tt-grid th:first-child{width:60px}.tt-lesson{border-left:0;border-top:3px solid #eeb797;background:#fff6f0;padding:12px 10px;min-height:86px;border-radius:8px;margin-bottom:7px;cursor:grab}.tt-lesson:active{cursor:grabbing}.tt-lesson strong{font-size:14px;margin:4px 0}.tt-lesson small{font-size:11px;line-height:1.7}.tt-lesson .tt-time{font-size:10px;color:#8c705e}.tt-elective{background:#edf5ff;border-color:#8cafd5}.tt-elective:hover{background:#dcecff}.tt-fixed{border-color:#b4b7bd;background:#f6f6f7;cursor:pointer}.tt-fixed .tt-time:after{content:' 🔒'}.tt-empty-slot{white-space:pre-line;color:#90959d;font-size:10px;line-height:1.9;display:block;padding:10px 0}.tt-unavailable{background:repeating-linear-gradient(135deg,#fafafa,#fafafa 5px,#f6f6f6 5px,#f6f6f6 6px)}.tt-grid .tt-lunch td{height:auto;background:#fffaec;font-size:10px;color:#897041;white-space:pre-line;padding:12px}.tt-grid .tt-lunch th{background:#fff6db;color:#897041}.tt-legend{display:flex;gap:8px 18px;flex-wrap:wrap;font-size:11px;line-height:1.9;padding:18px 5px;color:#6a7480}.tt-legend strong{width:100%;color:#343c47}.tt-hint{font-size:12px;color:#717985;margin-bottom:15px}.tt-output-options{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tt-output-options .field{font-size:12px;margin:0}.tt-output-options select{width:100%;padding:12px;border:1px solid #dde0e5;border-radius:8px;background:white}.tt-form .field small{font-size:10px;line-height:1.8;color:#7f858d}.tt-drop-hover{outline:3px dashed var(--orange);outline-offset:-4px;background:#fff2e9}.tt-dragging{opacity:.4}.tt-palette{display:flex;gap:8px;flex-wrap:wrap}.tt-palette button{background:#fff2e9;border:1px solid #f0bb9f;border-radius:8px;padding:10px;cursor:grab;font-size:12px}.tt-move select{max-width:100%}
@media(max-width:1050px){.tt-output-options{grid-template-columns:1fr 1fr}.tt-steps button{font-size:11px;gap:6px}}@media(max-width:600px){.tt-steps{grid-template-columns:1fr 1fr}.tt-steps button{justify-content:flex-start;padding:12px}.tt-run{flex-direction:column;align-items:flex-start}.tt-output-options{grid-template-columns:1fr}.tt-output-options .tt-wide{grid-column:auto}.tt-form{grid-template-columns:1fr}.tt-wide{grid-column:auto}.tt-move{align-items:flex-start}.tt-move label{display:flex;flex-direction:column;gap:7px}}
@media print{body>*:not(.workspace),.sidebar,.topbar,footer,.page-heading,.info-banner,.tt-steps,.tt-notice,.tt-run,.tt-output-options,.tt-panel:has(.tt-output-options),.tt-panel:has(button[disabled]),main>details,.tt-grid~details,.tt-hint,.tt-move{display:none!important}.workspace{margin:0!important}#main{padding:0!important}.tt-panel{padding:5mm;border:0;margin:0;break-inside:avoid}.tt-panel>.tt-actions .tt-actions{display:none}.tt-grid{min-width:0;font-size:9px}.tt-grid td{height:auto;padding:3px}.tt-lesson{min-height:0;padding:5px}.tt-lesson strong{font-size:10px}.tt-lesson small,.tt-lesson .tt-time{font-size:8px}.tt-scroll{overflow:visible}.tt-legend{font-size:9px}}
.tt-entry{width:100%;border-collapse:collapse;min-width:540px;font-size:12px;margin:16px 0}.tt-entry th{text-align:left;background:#fafafa;padding:12px 8px;font-weight:500}.tt-entry td{padding:6px;border-bottom:1px solid var(--line)}.tt-entry input,.tt-entry select{width:100%;padding:10px 8px;border:1px solid #dee1e6;border-radius:7px;background:white;font-size:12px}.tt-entry th:last-child{width:60px}.tt-entry td:last-child button{color:var(--orange-dark);font-size:11px}.tt-entry input[name=student-id],.tt-entry input[name=class-id]{min-width:90px}.tt-panel h3{font-size:15px;margin:25px 0 8px}.tt-pick{border:1px solid #e5e6e9;border-radius:10px;padding:16px;font-size:12px}.tt-pick legend{padding:0 8px;font-weight:600}.tt-pick label{display:inline-flex;align-items:center;gap:6px;margin:5px 12px 5px 0;line-height:1.8}.tt-pick input[type=checkbox]{width:auto;accent-color:var(--orange)}.tt-student-picker{max-height:240px;overflow:auto;margin-top:12px;display:grid;grid-template-columns:repeat(2,1fr)}.tt-student-picker label{display:flex;padding:7px;border-bottom:1px solid #f3f3f3;margin:0}.tt-student-picker label[hidden]{display:none}.tt-student-picker small{color:#8a909b}.tt-pick input[type=search]{width:100%;border:1px solid #ddd;border-radius:8px;padding:10px}.tt-day-tools{border:1px solid var(--line);padding:18px;border-radius:12px;margin:18px 0}.tt-day-tools strong{font-size:13px;display:block;margin-bottom:12px}.tt-day-tools>.tt-actions{margin-bottom:12px}.tt-day-tools label{font-size:12px}.tt-day-tools input{padding:8px;border:1px solid #ddd;border-radius:6px;max-width:130px}.tt-day-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 9px;border-radius:8px;background:var(--peach);font-size:12px}.tt-day-chip button{font-size:18px;color:#a25734}.tt-form input[type=checkbox]{width:auto}.tt-settings th{min-width:45px}@media(max-width:600px){.tt-student-picker{grid-template-columns:1fr}}
.tt-help-button{width:30px;height:30px;display:inline-grid;place-items:center;border:1px solid #d8dce2;border-radius:50%;color:#925337;background:#fff7f0;font-size:16px;font-weight:700;flex-shrink:0}.tt-help-button:hover{background:#ffe8d7;border-color:var(--orange)}.tt-roster-help{font-size:13px;line-height:1.9}.tt-roster-help h3{margin:22px 0 5px;font-size:14px}.tt-roster-help .tt-entry{min-width:0;margin:10px 0}.tt-roster-help .tt-entry td{padding:10px}.tt-roster-help ul{padding-left:20px}.tt-roster-help li{margin:7px 0}
