.tt-page{display:grid;gap:20px;color:#173b60}.tt-hero{display:flex;align-items:center;gap:20px;border:1px solid #cee0f3;border-radius:16px;padding:28px;background:linear-gradient(115deg,#fff,#edf6ff)}.tt-hero-icon{display:grid;place-items:center;background:#067af2;color:#fff;border-radius:15px;width:72px;height:72px;flex:none}.tt-hero h1{font-size:30px;line-height:1.2;margin:6px 0 10px}.tt-hero p{margin:0;color:#627c97}.tt-eyebrow{color:#367abf;text-transform:uppercase;letter-spacing:1.5px;font-size:11px;font-weight:750}.tt-year{margin-left:auto;display:flex;gap:10px;align-items:center;padding:12px 18px;background:white;border:1px solid #d1e3f4;border-radius:10px;font-weight:750}.tt-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px}.tt-controls{display:flex;align-items:end;gap:18px;padding:20px;background:white;border:1px solid #d5e3f0;border-radius:12px}.tt-controls label{flex:1;min-width:0;display:grid;gap:8px;font-size:12px;font-weight:700}.tt-controls select{width:100%;min-width:0}.tt-controls .btn{flex:none;min-height:44px}.tt-sheet{background:#fff;border:1px solid #c8dbec;border-radius:14px;overflow:hidden;box-shadow:0 7px 25px #173b6006}.tt-sheet-heading{padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #dce7f1}.tt-sheet-heading h2{font-size:23px;margin:5px 0 7px}.tt-sheet-heading p{margin:0;font-size:13px;color:#61788e}.tt-validity{display:grid;gap:6px;text-align:right;font-size:12px;color:#65798e}.tt-validity strong{color:#214568;font-size:13px}.tt-teacher{padding:18px 26px;display:flex;gap:14px;align-items:center;background:#f6faff}.tt-avatar{width:48px;height:48px;display:grid;place-items:center;background:#e4effc;border-radius:12px;color:#1576c6;flex:none}.tt-teacher h3{margin:3px 0;font-size:16px}.tt-teacher p,.tt-teacher>div>span{font-size:12px;color:#65809b;margin:0}.tt-hours{display:flex;align-items:center;gap:13px;margin-left:auto;flex:none}.tt-hours>strong{font-size:32px;color:#0878d2}.tt-hours>span{font-size:11px;line-height:1.5}.tt-grid-scroll{overflow:auto}.tt-grid{border-collapse:collapse;width:100%;min-width:700px;table-layout:fixed;font-size:12px}.tt-grid caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.tt-grid thead th{background:#153f63;color:white;padding:13px 8px;text-align:center;letter-spacing:.3px}.tt-grid thead th:first-child{width:130px}.tt-grid tbody td,.tt-grid tbody th{border:1px solid #d4e1ed;padding:9px 8px;text-align:center;height:51px;vertical-align:middle;white-space:normal}.tt-grid .tt-time{background:#f7fafd;color:#516c85;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.tt-cell strong{display:block;font-size:15px;margin-bottom:4px}.tt-cell span{font-size:12px;line-height:1.4;display:block}.tt-grid .tt-class{border-left:3px solid var(--tt-accent);background:var(--tt-bg);color:var(--tt-ink)}.tt-color-0{--tt-bg:#e7f2ff;--tt-accent:#3292ed;--tt-ink:#1c568b}.tt-color-1{--tt-bg:#e7f8f1;--tt-accent:#28a37c;--tt-ink:#19614e}.tt-color-2{--tt-bg:#f0ebfc;--tt-accent:#8b67d3;--tt-ink:#654595}.tt-color-3{--tt-bg:#fff3dc;--tt-accent:#df9f29;--tt-ink:#815f18}.tt-color-4{--tt-bg:#ffeaf0;--tt-accent:#d76180;--tt-ink:#903750}.tt-grid .tt-break{background:#eef2f6;color:#647a8e;height:33px}.tt-break strong{font-size:11px;letter-spacing:3px;margin:0}.tt-grid .tt-free{background:#fff;color:#c1ccd7}.tt-grid .tt-activity{background:#fff8e9;color:#8c6a27}.tt-sheet-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 26px;font-size:12px}.tt-sheet-footer>div:first-child{display:grid;gap:5px;min-width:160px}.tt-sheet-footer>div>span{color:#6b7e92}.tt-legend{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.tt-legend span{display:flex;gap:6px;align-items:center;font-size:11px}.tt-legend i{width:9px;height:9px;border-radius:3px;background:var(--tt-accent)}.tt-notes{border:1px solid #ecd59a;border-radius:10px;background:#fffbef;padding:15px 20px;color:#735a1d;font-size:12px}.tt-notes strong{display:flex;gap:8px;align-items:center}.tt-notes ul{padding-left:19px;margin:10px 0 0;display:grid;gap:6px}.tt-meta{display:flex;align-items:center;gap:7px;color:#768ba0;font-size:11px;margin:0}.tt-empty{text-align:center;padding:65px 25px;background:#fff;border:1px dashed #bdd3e8;border-radius:14px;color:#7891a8}.tt-empty h2{font-size:21px;color:#264f74}.tt-empty p{font-size:13px;max-width:580px;margin:9px auto;line-height:1.7}.tt-import-intro{border-bottom:1px solid #d8e4ee;padding-bottom:12px;margin-bottom:20px}.tt-import-intro p{font-size:13px;color:#647d96;line-height:1.6}.tt-import-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px}.tt-import-fields label{display:grid;gap:9px;font-size:13px;font-weight:650}.tt-import-fields small{font-size:11px;font-weight:400;color:#73879a}.tt-format{font-size:12px;line-height:1.7;margin:18px 0;color:#57728a}.tt-format summary{cursor:pointer;font-weight:650;color:#236da9}.tt-dialog #tt-preview{display:grid;gap:16px}.tt-dialog #tt-preview:empty{display:none}.tt-dialog #tt-import-error:empty{display:none}.tt-dialog .tt-grid{font-size:11px}.tt-dialog .tt-grid tbody td,.tt-dialog .tt-grid tbody th{height:44px}.tt-dialog .tt-sheet-heading h2{font-size:21px}
@media(max-width:1050px){.tt-controls{flex-wrap:wrap}.tt-controls label{flex-basis:40%}.tt-controls .btn{margin-left:auto}.tt-hero h1{font-size:25px}.tt-sheet-footer{align-items:start;flex-direction:column}.tt-legend{justify-content:flex-start}.tt-import-fields{grid-template-columns:1fr 1fr}.tt-import-fields label:first-child{grid-column:1/-1}}
@media(max-width:650px){.tt-hero{padding:20px 16px;gap:12px;flex-wrap:wrap}.tt-hero-icon{width:48px;height:48px}.tt-hero>div{flex:1;min-width:200px}.tt-hero h1{font-size:23px}.tt-hero p{font-size:12px}.tt-year{margin-left:0}.tt-controls{padding:16px}.tt-controls label{flex-basis:100%}.tt-controls .btn{width:100%}.tt-sheet-heading{padding:17px;display:block}.tt-validity{text-align:left;margin-top:15px}.tt-teacher{padding:17px;flex-wrap:wrap}.tt-teacher h3{font-size:14px}.tt-hours{margin-left:62px}.tt-meta{display:block;line-height:1.7}.tt-import-fields{grid-template-columns:1fr}.tt-import-fields label:first-child{grid-column:auto}}
