@charset "UTF-8";:root{--bg:#c4dbe0;--panel:#ffffff;--tint:#ddedf0;--ink:#000;--grey:#5b6b70;--line:rgba(0,0,0,.28);--math:#dcebf3;--phys:#dcefe4;--amber-bg:#fdf3d7;--amber-ink:#8a6d1a;--orange-bg:#fdeadd;--orange-ink:#9a4a12}.modal{border-radius:18px}.student-actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}.danger-button{color:#8b3112;border-color:#ab5429}.modal .sec-head{padding-top:8px}.modal .sec-head h2{line-height:1.2}.modal input,.modal select,.modal textarea,.modal button,.login input,.login select,.login textarea,.login button{border-radius:10px}.modal textarea:focus-visible,.modal select:focus-visible,.login textarea:focus-visible,.login select:focus-visible{outline:2px solid #216677;outline-offset:3px}.week-timetable{table-layout:fixed;min-width:1120px;border:0;border-radius:0}.week-timetable th,.week-timetable td{border-right:.5px solid var(--line);border-bottom:.5px solid var(--line)}.week-timetable tr>:last-child{border-right:0}.week-timetable thead th{font-size:12px;text-transform:none;letter-spacing:0;color:var(--ink);padding:15px 10px}.week-timetable thead th:first-child{width:96px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--grey)}.week-timetable tbody th{background:#fff;color:var(--grey);font-size:11px;font-weight:400;letter-spacing:0;padding:14px 10px;vertical-align:top}.week-timetable td{padding:8px;vertical-align:top;height:75px}.week-timetable tbody tr:last-child>*{border-bottom:0}button.week-lesson{display:block;width:100%;border:0;border-radius:10px;padding:9px 8px;text-align:left;line-height:1.4;letter-spacing:0;margin-bottom:4px}.week-lesson.math{background:var(--math)}.week-lesson.physics{background:var(--phys)}.week-lesson.unpaid{background:var(--amber-bg)}.week-lesson.unpaid b{color:var(--amber-ink)}.week-lesson.no-receipt{background:var(--orange-bg)}.week-lesson.no-receipt b{color:var(--orange-ink)}.lesson-heading{display:flex;justify-content:space-between;align-items:baseline;gap:5px;flex-wrap:wrap}.lesson-heading b{font-size:12px;overflow-wrap:anywhere}.lesson-heading>span{font-size:10px;color:var(--grey)}.lesson-detail{display:block;color:var(--grey);font-size:11px;margin-top:2px}.week-lesson.cancelled,.week-lesson.moved{background:transparent;opacity:.48}.week-lesson.cancelled b,.week-lesson.moved b{text-decoration:line-through}.week-lesson.planned{background:transparent;box-shadow:inset 0 0 0 .5px var(--line)}button.week-lesson:hover{box-shadow:inset 0 0 0 1px #587c85}.week-add{display:block;width:100%;border:0;padding:0;font-size:15px;line-height:16px;color:var(--grey);opacity:0}.week-add.empty{min-height:58px}.week-timetable td:hover .week-add,.week-add:focus-visible{opacity:1}.planned-key{box-shadow:inset 0 0 0 1px var(--line)}.week-note{color:var(--grey);margin-top:12px;margin-bottom:15px;font-size:11px}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg);color:var(--ink);font-family:Suisse Intl,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;line-height:16px;letter-spacing:.2px;font-feature-settings:"pnum" on,"tnum" on;padding:0 0 120px}::selection{background:var(--ink);color:var(--bg)}.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(16px,4vw,56px)}.label{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--grey);font-weight:600}header{padding:56px 0 40px;border-bottom:.5px solid var(--line)}header h1{font-weight:200;font-size:clamp(34px,5.4vw,64px);line-height:1.02;letter-spacing:-.015em;margin:10px 0 8px}header .sub{color:var(--grey)}.metrics{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:.5px solid var(--line);margin-bottom:8px}.metric{padding:20px 18px 18px;border-right:.5px solid var(--line)}.metric:last-child{border-right:none}.metric .num{font-size:clamp(20px,2.6vw,32px);font-weight:300;letter-spacing:-.01em;margin-top:6px}.metric .num small{font-size:13px;color:var(--grey)}.metric.warn .num{color:var(--amber-ink)}.weekswitch{display:flex;gap:5px;padding:18px 0;flex-wrap:wrap}.wtab{font:inherit;cursor:pointer;background:transparent;border:.5px solid var(--line);border-radius:999px;padding:6px 14px;color:var(--grey);letter-spacing:.04em}.wtab.active{background:var(--ink);color:#fff;border-color:var(--ink)}section{padding-top:36px}.sec-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}.sec-head h2{font-weight:300;font-size:clamp(22px,3vw,34px);letter-spacing:-.01em}.sec-head h3{font-weight:300;font-size:clamp(18px,2.4vw,26px);letter-spacing:-.01em}.grid-scroll{overflow-x:auto;border:.5px solid var(--line);border-radius:14px;background:var(--panel)}.tt{display:grid;grid-template-columns:92px repeat(7,minmax(96px,1fr));min-width:860px}.tt .cell{border-bottom:.5px solid var(--line);border-right:.5px solid var(--line);padding:8px 10px;min-height:44px}.tt .cell:nth-child(8n){border-right:none}.tt .head{background:var(--tint);min-height:0;padding:10px}.tt .head .d{font-weight:600}.tt .time{color:var(--grey);font-size:11px;padding-top:10px}.tt .ls{border-radius:8px;padding:6px 8px;font-size:11.5px}.tt .ls b{display:block;font-weight:600}.tt .ls span{color:var(--grey);font-size:10.5px}.tt .ls .st{float:right;font-size:10px}.tt .m{background:var(--math)}.tt .p{background:var(--phys)}.tt .st-debt{background:var(--amber-bg)}.tt .st-debt b{color:var(--amber-ink)}.tt .st-norec{background:var(--orange-bg)}.tt .st-norec b{color:var(--orange-ink)}.tt .st-cancel{background:transparent;opacity:.45}.tt .st-cancel b{text-decoration:line-through}.tt .st-pend{background:transparent;box-shadow:inset 0 0 0 .5px var(--line)}.tt .st-free{background:transparent;opacity:.6}.legend{display:flex;gap:18px;margin-top:12px;color:var(--grey);font-size:11px;flex-wrap:wrap}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}table{width:100%;border-collapse:collapse;background:var(--panel);border:.5px solid var(--line);border-radius:14px;overflow:hidden}th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--grey);font-weight:600;padding:10px 12px;background:var(--tint);border-bottom:.5px solid var(--line);white-space:nowrap}td{padding:9px 12px;border-bottom:.5px solid var(--line);vertical-align:middle}tr:last-child td{border-bottom:none}td.r,th.r{text-align:right}td.c,th.c{text-align:center}.name{font-weight:600}.mut{color:var(--grey)}.badge{display:inline-block;font-size:10.5px;padding:2px 9px;border-radius:999px;border:.5px solid var(--line);white-space:nowrap}.b-ok{background:var(--phys);border-color:transparent}.b-no{background:transparent;color:var(--grey);opacity:.6}.b-mv{background:var(--math);border-color:transparent}.b-debt{background:var(--amber-bg);border-color:transparent;color:var(--amber-ink)}.b-norec{background:var(--orange-bg);border-color:transparent;color:var(--orange-ink)}tr.debt td{background:var(--amber-bg)}tr.debt .name{color:var(--amber-ink)}tr.norec td{background:var(--orange-bg)}tr.norec .name{color:var(--orange-ink)}tr.free td{color:var(--grey)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px;align-items:start}.card{background:var(--panel);border:.5px solid var(--line);border-radius:14px;overflow:hidden}.card[open]{grid-column:1/-1}.card summary{list-style:none;cursor:pointer;padding:14px 16px;display:block}.card summary::-webkit-details-marker{display:none}.card summary:hover{background:var(--tint)}.card .cname{font-weight:600;font-size:14px}.card .cmeta{color:var(--grey);font-size:11px;margin-top:3px}.card .crate{margin-top:8px;font-size:13px}.card .crate small{color:var(--grey)}.card .copen{float:right;color:var(--grey);font-size:10px;text-transform:uppercase;letter-spacing:.14em;margin-top:2px}.card .cbody{border-top:.5px solid var(--line);padding:12px 16px 14px}.card .frow{display:flex;gap:10px;padding:4px 0}.card .frow .k{flex:0 0 96px;color:var(--grey);font-size:10px;text-transform:uppercase;letter-spacing:.12em;padding-top:2px}.card .frow .v{flex:1}.card .frow .v.empty{color:var(--grey);opacity:.55}.card .hist{margin-top:10px;border-top:.5px solid var(--line);padding-top:8px}.card .hist table{border:none;border-radius:0;background:transparent}.card .hist th{background:transparent;padding:6px 8px 4px;border-bottom:.5px solid var(--line)}.card .hist td{padding:5px 8px;border-bottom:.5px solid var(--line);font-size:11px}.card .hist tr:last-child td{border-bottom:none}.study b{font-weight:600}.study span{display:block;color:var(--grey);font-size:10.5px;margin-top:2px}@media(max-width:760px){.metrics{grid-template-columns:repeat(2,1fr)}.metric{border-bottom:.5px solid var(--line)}.table-scroll{overflow-x:auto}table{min-width:760px}}footer{margin-top:70px;border-top:.5px solid var(--line);padding-top:18px;color:var(--grey);font-size:11px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}button,input,select,textarea{font:inherit;color:inherit}button,.button{cursor:pointer;background:transparent;border:.5px solid var(--line);padding:7px 10px;border-radius:10px;text-decoration:none;display:inline-block}button:hover,.button:hover{background:var(--tint)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}button.primary:hover{background:#293a40}input,select,textarea{border:.5px solid var(--line);background:#fff;width:100%;padding:10px;border-radius:2px}label{display:grid;gap:6px;margin:12px 0;color:var(--grey)}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #216677;outline-offset:3px}.topline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.topline .label{flex:1}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 0 18px;border-bottom:.5px solid var(--line)}.toolbar>span{flex:1;color:var(--grey);min-width:200px}.toolbar>span.unsaved{color:var(--amber-ink)}.alert{padding:14px;background:var(--orange-bg);color:#8b3112;margin:12px 0;border:.5px solid #ab5429}.loading{padding-top:100px}.login{padding-top:10vh;max-width:760px}.login h1{font-weight:200;font-size:clamp(34px,6vw,64px);line-height:1.05;letter-spacing:-.015em;margin:20px 0 40px}.login form{max-width:380px}.login h2{font-size:20px;font-weight:400}.login .primary{width:100%;margin:8px 0 16px}.tt .schedule-cell{padding:0;text-align:left;border:none;border-bottom:.5px solid var(--line);border-right:.5px solid var(--line);border-radius:0;background:transparent;min-height:68px}.tt .schedule-cell:hover{background:#bdd4d9}.tt .ls{margin:5px;min-height:54px}.tt .sl-busy{background:#e3e3e3;color:#8a969b}.tt .sl-busy b{font-weight:400;color:#8a969b}.tt .sl-free{background:var(--phys)}.tt .sl-free b{color:#2c6e49}.empty-slot{opacity:0;display:block;text-align:center}.schedule-cell:hover .empty-slot{opacity:.4}.math{background:var(--math)}.phys{background:var(--phys)}.busy-color{background:#e3e3e3}.search{max-width:220px}.unpaid{background:var(--amber-bg)}.no-receipt{background:var(--orange-bg)}.clickable{cursor:pointer}.clickable:hover{background:var(--tint)}.text-button{border:none;text-align:left;padding:0;text-decoration:underline}.journal{min-width:1040px}.journal button{font-size:10px}.frow .v{overflow-wrap:anywhere}.modal-backdrop{position:fixed;inset:0;background:#1c30357a;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--bg);max-width:760px;width:100%;max-height:90vh;overflow:auto;padding:24px;margin:0;box-shadow:0 15px 70px #0004}.modal .sec-head{margin-bottom:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.modal p.mut{margin-top:15px}.hist{overflow:auto}.hist table{min-width:400px}footer{gap:12px}.cards details .cbody>button{margin:8px 0 12px}@media(max-width:650px){.form-grid{grid-template-columns:1fr}.toolbar>span{flex-basis:100%}.modal{padding:16px}.metrics{grid-template-columns:repeat(2,1fr)}.sec-head{flex-wrap:wrap;gap:12px}.modal-backdrop{padding:10px}}
