:root{--ink:#183d38;--muted:#627570;--paper:#f5f7f2;--line:#dce4dd;--accent:#216c58;--lime:#e6edb7;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 5%;border-bottom:1px solid var(--line);background:#fff}a{color:var(--accent)}.brand{font-size:18px;font-weight:750;text-decoration:none}.brand span{display:block;font-size:12px;color:var(--muted);font-weight:500}nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap}nav a{text-decoration:none;font-size:14px}main{max-width:1240px;margin:auto;padding:32px 26px 60px}.hero{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:30px 0 36px}.eyebrow{font-size:11px;letter-spacing:1.6px;font-weight:750;color:var(--accent)}h1{font-size:clamp(30px,4vw,46px);line-height:1.15;letter-spacing:-1.5px;margin:14px 0}h2{font-size:28px;line-height:1.25;margin:6px 0 0}h3{font-size:20px;line-height:1.35;margin:0 0 16px}p{margin:10px 0 16px}.hero p:last-child{color:var(--muted);max-width:650px}.date-card{background:var(--lime);border-radius:20px;padding:24px;min-width:225px;transform:rotate(2deg)}.date-card span,.date-card strong{display:block}.date-card span{font-size:13px;margin-bottom:8px}.tabs{gap:6px;padding:8px;background:#e9eee7;border-radius:16px;margin-bottom:30px}.tabs button{background:transparent;color:var(--muted);padding:12px 16px}.tabs button.active{background:white;color:var(--ink);box-shadow:0 2px 5px #173e3210}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:0 0 22px}.grid{display:grid;gap:20px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:white;border:1px solid var(--line);border-radius:20px;padding:26px;min-width:0;overflow-wrap:anywhere}.row{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:14px 0}.row>label{flex:1;min-width:90px}label{display:block;font-size:13px;font-weight:650;margin-bottom:14px}input,textarea,select{display:block;width:100%;border:1px solid #c8d4cd;border-radius:9px;padding:11px 12px;margin-top:6px;background:#fcfdfb;color:var(--ink);font:inherit;font-size:15px}textarea{resize:vertical;font-size:15px}input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid #b5d6c2;outline-offset:2px}button,.button{display:inline-flex;justify-content:center;align-items:center;gap:7px;border:0;border-radius:10px;background:var(--accent);color:white;padding:11px 17px;cursor:pointer;font:600 14px/1.35 system-ui;text-decoration:none}button:hover,.button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:default}.secondary{background:#edf2eb;color:var(--ink);border:1px solid var(--line)}.quiet{background:none;color:var(--muted);padding:6px}.inline{display:flex;align-items:center;gap:8px}.inline input,input[type=checkbox]{width:18px;height:18px;margin:0}.hint{font-size:13px;color:var(--muted)}.list{margin-top:20px}.list-item{padding:14px 0;border-top:1px solid var(--line)}.task-row{display:flex;align-items:center;gap:12px}.task-row>div{flex:1}.task-row.done .task-text{text-decoration:line-through;color:var(--muted)}.overdue{color:#a84929}.storage-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1px dashed #b7c8bb;padding:20px;border-radius:14px;margin-top:22px}.storage-bar p{flex:1;min-width:250px;font-size:13px;margin:0}.storage-bar label{margin:0}#clock{font-size:clamp(72px,8vw,110px);font-variant-numeric:tabular-nums;letter-spacing:-5px;line-height:1.25;text-align:center;margin:12px 0 24px}#timerCard:fullscreen{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f5f7f2}#timerCard:fullscreen #clock{font-size:25vw}#timerCard.finished{background:#eef2c9}.picked{font-size:28px;font-weight:750;min-height:44px}.group-result{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.group{background:#f0f4ee;border-radius:12px;padding:14px}.group h4{margin:0 0 8px}.filters{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.filters label{flex:1;min-width:130px}.badge{font-size:11px;font-weight:700;padding:5px 9px;background:#edf2e7;border-radius:6px;display:inline-block;margin:0 4px 12px 0}.idea-card ol{padding-left:20px;font-size:14px}.idea-card{display:flex;flex-direction:column}.idea-card button{margin-top:auto;align-self:start}.empty{padding:24px;border:1px dashed #b7c8bb;border-radius:14px;color:var(--muted);grid-column:1/-1}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.7 ui-monospace,monospace;background:#f5f7f2;padding:15px;border-radius:9px}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.editor{margin-top:30px;border:2px solid #73a88e}.editor textarea{font-family:Georgia,"Times New Roman",serif;font-size:17px}details{margin-top:20px}summary{cursor:pointer;font-weight:650}footer{text-align:center;padding:24px;color:var(--muted);font-size:12px}#status{font-size:14px;margin-bottom:15px}#toast{position:fixed;bottom:22px;right:22px;max-width:420px;background:var(--ink);color:white;padding:14px 20px;border-radius:12px;box-shadow:0 8px 40px #0002;z-index:20;display:none}#toast.show{display:block}#printArea{display:none}[hidden]{display:none!important}
@media(max-width:800px){.three{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{align-items:start}.date-card{display:none}header{align-items:start;padding:16px 22px}.tabs{flex-wrap:nowrap;overflow:auto;align-items:stretch}.tabs button{white-space:nowrap;flex-shrink:0}}
@media(max-width:580px){main{padding:20px 14px 40px}.two,.three{grid-template-columns:1fr}.hero{padding:16px 4px 24px}header{flex-direction:column;gap:12px}.card{padding:20px}.section-head{align-items:start;flex-direction:column}h2{font-size:24px}.filters{gap:10px}.group-result{grid-template-columns:1fr}}
@media print{@page{size:A4 portrait;margin:18mm}body>header,body>main,body>footer,#toast{display:none!important}body{background:white}#printArea{display:block;color:black;font:14pt/1.5 "Times New Roman",serif;white-space:pre-wrap;overflow-wrap:anywhere}}

.week-table,.calendar-result table{width:100%;border-collapse:collapse}.week-table th,.week-table td,.calendar-result th,.calendar-result td{padding:8px;text-align:left;border-bottom:1px solid var(--line)}.week-table th{font-size:12px}.week-table input{width:100%;min-width:65px;margin:0}.calendar-result{overflow:auto;background:white;border-radius:14px}.calendar-result input{min-width:220px;margin:0}.calendar-result th{font-size:13px}.calendar-result td{white-space:nowrap}

.teacher-context{padding:14px 20px;margin-bottom:18px}.teacher-context .row{margin:0;align-items:center;justify-content:space-between;font-size:13px}#adminTeacherFields{display:grid;grid-template-columns:1fr 2fr;gap:16px}.tabs{position:sticky;top:0;z-index:8;box-shadow:0 4px 12px #173e3208}.legacy-panel iframe{width:100%;height:600px;border:0;display:block;background:transparent}.frame-title{margin-bottom:20px}.import-box{background:#edf4e9;border-radius:14px;padding:18px;margin-bottom:18px}.import-box label{margin-bottom:10px}.hero{padding-bottom:20px}.legacy-panel{min-width:0}@media(max-width:580px){#adminTeacherFields{grid-template-columns:1fr;gap:0}.teacher-context{padding:14px}.tabs{border-radius:10px}.teacher-context .row{gap:10px}#platformAccount{font-size:12px}}

@media print {body > *:not(#printArea){display:none!important}#printArea{display:block!important}}
