.tt-page{max-width:1340px;margin:auto}.tt-page .t-panel{padding:24px;margin-bottom:20px}.tt-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px 0;border-bottom:1px solid #c3cbb9;margin-bottom:24px}.tt-hero h2{font-size:clamp(30px,3.3vw,46px);line-height:1.35;margin:20px 0 12px;letter-spacing:-1px;color:#252d21}.tt-hero h2>span{color:#82934b}.tt-hero p,.tt-config-head p{color:#6a765e;font-size:13px;line-height:1.8}.tt-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.tt-actions .t-button{white-space:nowrap}.tt-semesters,.tt-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.tt-semesters button,.tt-tabs button,.tt-agenda nav button{border:1px solid #b8c4aa;background:transparent;color:#596749;padding:10px 14px;font:inherit;font-size:12px}.tt-semesters .is-active,.tt-tabs .is-active,.tt-agenda nav .is-active{background:#293223;color:#e5ee48;border-color:#293223}.tt-config-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.tt-config-head h3,.tt-new h3,.tt-course-form h3{margin:9px 0;font-size:22px}.tt-page fieldset{border:0;padding:0;margin:0;min-width:0}.tt-fields{display:grid;grid-template-columns:2fr 1.5fr 1fr;gap:16px}.tt-page label{font-size:12px;color:#657158;line-height:1.6}.tt-fields label,.tt-meeting label{display:grid;gap:7px}.tt-page input:not([type=checkbox]),.tt-page select{box-sizing:border-box;min-width:0;width:100%;padding:11px 12px;border:1px solid #bbc7ad;border-radius:0;background:#fafbf5;color:#293223;font:inherit;font-size:13px}.tt-page input:focus,.tt-page select:focus{outline:2px solid #8b9b45;outline-offset:1px}.tt-page fieldset:disabled{opacity:.7}.tt-note{color:#7a856e;font-size:12px;line-height:1.9}.tt-error{padding:13px 16px;border-left:3px solid #ac674d;background:#f2e9dc;color:#84513b;font-size:13px;line-height:1.7}.tt-catalog-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin:20px 0}.tt-catalog-tools>label:first-child{min-width:150px}.tt-ready{display:flex;align-items:center;gap:9px}.tt-ready input,.tt-choice input{accent-color:#6e813e;width:17px;height:17px;flex:none}.tt-course-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #d4dccb;padding:20px 0}.tt-course-row strong{font-size:16px;color:#2d3825}.tt-course-row p{font-size:12px;color:#68785a;line-height:1.8;margin:8px 0}.tt-course-row small{color:#849177;font-size:11px}.tt-empty{padding:24px;color:#7c8970;font-size:13px;line-height:1.8}.tt-meeting{display:grid;grid-template-columns:1fr 2fr 1fr 1fr auto;align-items:end;gap:12px;margin:16px 0}.tt-course-form{background:#eef2e5!important;border:1px solid #afbe98!important}.tt-course-form .tt-actions{margin-top:20px}.tt-status{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;font-size:11px;line-height:1.4;white-space:nowrap;border:1px solid #c8cfbd;background:#edf0e6;color:#7c846d}.tt-status:before{content:"";width:5px;height:5px;background:currentColor;flex:none}.tt-status--class{background:#2b3424;color:#e5ee48;border-color:#2b3424}.tt-status--free{background:#eaf0db;color:#526937;border-color:#bac99e}.tt-status small{font:inherit}.tt-person-status{min-width:0}.t-roster-columns,.t-person{grid-template-columns:minmax(180px,1.5fr) minmax(120px,1fr) minmax(150px,1fr) auto!important}.tt-roster-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.tt-week-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0}.tt-week-tools label{display:flex;align-items:center;gap:12px}.tt-week-tools select{width:125px}.tt-week-tools>span{font-size:11px;color:#818d74}.tt-week-scroll{overflow:auto}.tt-week{display:grid;grid-template-columns:115px repeat(7,minmax(90px,1fr));min-width:790px;border-left:1px solid #d0d8c4;border-top:1px solid #d0d8c4}.tt-week-label,.tt-week-cell{border-right:1px solid #d0d8c4;border-bottom:1px solid #d0d8c4;padding:10px;min-width:0}.tt-week-label{background:#eaf0e0;color:#69775b;text-align:center;font-size:12px}.tt-week-label small{display:block;font:10px monospace;margin-top:6px}.tt-week-cell{min-height:80px;background:#fafbf6}.tt-cell-course{border-left:3px solid #7e9257;padding:8px;background:#eef2e6;margin-bottom:5px;overflow-wrap:anywhere}.tt-cell-course--english{border-color:#b5bf3e;background:#f1f3d9}.tt-cell-course--elective{border-color:#8d9d9a;background:#e8efec}.tt-cell-course strong{font-size:12px;line-height:1.7;display:block;color:#3b4b2d}.tt-cell-course small{display:block;font-size:10px;color:#7c8a6e;margin-top:4px}.tt-cell-empty{font-size:12px;color:#c2cbb6}.tt-choices fieldset{margin:22px 0}.tt-choices legend{font-size:16px;color:#45543a;font-weight:700;margin-bottom:14px}.tt-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tt-choice{display:flex;align-items:flex-start;gap:12px;padding:17px;border:1px solid #c6d0b9;background:#f9fbf3;cursor:pointer}.tt-choice:has(input:checked){background:#e9eecb;border-color:#7d8e42}.tt-choice strong{display:block;font-size:14px;color:#3b492e}.tt-choice small{display:block;margin-top:7px;font-size:11px;color:#7a8769;overflow-wrap:anywhere}.tt-agenda{display:none}.tt-new .tt-actions{margin-top:20px}.tt-page [data-tt-dirty]{font-size:12px;color:#7f8e42}
@media(max-width:1050px){.t-roster-columns,.t-person{grid-template-columns:minmax(160px,1.4fr) 1fr 1fr auto!important}.tt-hero,.tt-config-head{flex-wrap:wrap}.tt-fields{grid-template-columns:1fr 1fr}.tt-meeting{grid-template-columns:1fr 1.5fr 1fr}.tt-meeting>.t-button{grid-column:1/-1;justify-self:start}}
@media(max-width:680px){.tt-page .t-panel{padding:18px}.tt-hero{padding:22px 0}.tt-hero h2{font-size:30px}.tt-fields,.tt-choice-grid{grid-template-columns:1fr}.tt-meeting{grid-template-columns:1fr 1fr}.tt-meeting label:nth-child(2){grid-column:1/-1;grid-row:2}.tt-course-row{align-items:flex-start;flex-direction:column}.tt-week-scroll{display:none}.tt-agenda{display:block}.tt-agenda nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-bottom:14px}.tt-agenda nav button{padding:9px 0;font-size:10px}.tt-agenda-row{display:grid;grid-template-columns:83px minmax(0,1fr);gap:10px;padding:13px 0;border-bottom:1px solid #d5ddc9}.tt-agenda-row>div:first-child{font-size:12px;color:#70805f}.tt-agenda-row small{display:block;font-size:10px;line-height:1.7;margin-top:5px}.tt-week-tools{align-items:flex-start;flex-direction:column}.t-person{grid-template-columns:minmax(0,1fr) auto!important}.tt-person-status{grid-column:1;grid-row:2}.t-person-group{grid-column:1!important;grid-row:3!important}.t-person-action{grid-column:2!important;grid-row:1/4!important}.t-roster-columns{display:none!important}.tt-person-status .tt-status{font-size:10px}.tt-config-head{align-items:flex-start}.tt-hero .tt-actions,.tt-config-head .tt-actions{width:100%}}
.tt-range{margin:12px 0 20px;padding:15px 24px;border-top:1px solid #d2dac6;border-bottom:1px solid #d2dac6}.tt-range summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer;font-size:12px;color:#60714f}.tt-range-fields{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-top:18px}.tt-range-fields label{display:grid;gap:6px;font-size:11px;color:#7b876e}.tt-range input{max-width:170px;padding:10px;border:1px solid #bdc9ae;background:#fafbf5;color:#354329;border-radius:0;box-sizing:border-box}.tt-range p{font-size:11px;color:#829172;line-height:1.8}.tt-range-result{display:block;font-size:10px;color:#7e8c70;margin-top:8px;line-height:1.6}.tt-range-result--class{color:#677a30;font-weight:700}.tt-range-result[hidden]{display:none}
@media(max-width:680px){.tt-range-fields{display:grid;grid-template-columns:1fr 1fr}.tt-range-fields label:first-child{grid-column:1/-1}.tt-range-fields input{max-width:none;width:100%;min-width:0}}
.tt-choice input,.tt-ready input{appearance:none;display:grid;place-items:center;width:18px;height:18px;margin-top:2px;border:1px solid #a5b38f;border-radius:0;background:#fafbf4;cursor:pointer}.tt-choice input:before,.tt-ready input:before{content:'✓';font-size:13px;font-weight:800;line-height:1;transform:scale(0)}.tt-choice input:checked,.tt-ready input:checked{background:#293323;border-color:#293323;color:#e5ee48}.tt-choice input:checked:before,.tt-ready input:checked:before{transform:scale(1)}.tt-choice input:focus-visible,.tt-ready input:focus-visible{outline:2px solid #899a40;outline-offset:3px}.tt-ready input:disabled{cursor:default}

.tt-course-form .tt-fields{grid-template-columns:1fr}
.tt-personal-kind{padding:18px 0;border-top:1px solid #d2dac6}.tt-personal-kind h4{font-size:18px;margin:4px 0}.tt-none-option{padding:12px 15px;border:1px solid #c4cfb5;background:#f8faf0;cursor:pointer;max-width:fit-content}.tt-none-option:has(input:checked){background:#293323;border-color:#293323;color:#e5ee48}.tt-none-option:has(input:disabled){opacity:.65;cursor:default}.tt-page [data-tt-action="save-personal"]{background:#e5ee48;border-color:#c2ce3e;font-weight:800}.tt-personal .tt-course-form{margin-top:20px}
