:root{--ink:#123f43;--muted:#5b7275;--line:#d9e4df;--bg:#f3f5ef;--accent:#d6eb7a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,sans-serif}header{background:var(--ink);color:white;display:flex;justify-content:space-between;padding:22px max(24px,calc((100% - 1200px)/2));align-items:center}.brand{font-size:26px}.brand span{font-size:13px;letter-spacing:2px}main{max-width:1248px;margin:auto;padding:34px 24px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.6px}h1{font-size:clamp(32px,4vw,52px);line-height:1.12;letter-spacing:-1.8px;margin:14px 0 18px}h2{font-size:23px;margin:0 0 8px}p{margin:8px 0 16px;color:var(--muted)}.clock{background:var(--accent);padding:25px 32px;border-radius:24px;display:grid;min-width:245px}.clock strong{font-size:50px;letter-spacing:-2px}.clock small{font-size:11px}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}.selection{display:grid;grid-template-columns:1fr 1.6fr auto;gap:20px;align-items:end}label{display:block;font-size:13px;font-weight:650;margin:6px 0}input,select{font:inherit;width:100%;padding:12px;border:1px solid #becfca;border-radius:10px;color:var(--ink);background:#fafcf9;min-height:46px}button{font:inherit;font-size:14px;font-weight:650;border:0;border-radius:10px;padding:12px 16px;background:var(--ink);color:#fff;cursor:pointer;margin:10px 6px 4px 0}button:hover{filter:brightness(1.15)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #759d13;outline-offset:3px}.secondary{background:#eaf1eb;color:var(--ink)}.count{display:grid;text-align:center;padding:0 14px}.count strong{font-size:32px}.count span{font-size:12px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin:30px 0 15px}.toolbar p{font-size:13px}.settings{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:24px}.settings input{max-width:110px;margin-right:10px}.notice{border-left:3px solid var(--accent);padding-left:24px;font-size:13px}.notice small{display:block;color:var(--muted);margin-top:8px}.small{font-size:12px}.week{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.day{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.dayhead{background:#eaf0e7;padding:16px 20px;display:flex;justify-content:space-between}.dayhead h3{margin:0;font-size:18px}.tag{font-size:11px;border-radius:20px;padding:4px 9px;background:white}.lessons{padding:14px 20px}.slot{display:flex;gap:15px;padding:8px 0;border-bottom:1px solid #eef1eb}.slot:last-child{border:0}.slot time{font-size:12px;min-width:76px;align-self:center}.slot span{font-size:14px;font-weight:650}.slot.empty{color:#8b9997}.slot.empty span{font-weight:400;font-size:12px}.alarmsettings{border-top:1px solid var(--line);padding:16px 20px}.alarmrow{display:flex;align-items:center;justify-content:space-between}.alarmrow label{display:flex;align-items:center;gap:8px}.alarmrow input[type=checkbox]{width:20px;min-height:20px}.alarmsettings input[type=time]{font-size:23px;font-weight:700;max-width:145px}.alarmsettings .small{margin-bottom:0}.parents{margin-top:26px;display:grid;grid-template-columns:1fr 2fr;gap:30px}.formgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}footer{font-size:12px;color:var(--muted);margin-top:28px}footer span{float:right}a{color:var(--ink)}dialog{border:0;border-radius:24px;padding:32px;max-width:440px}dialog::backdrop{background:#123f43bb}@media(max-width:800px){.intro{align-items:start}.clock{min-width:160px;padding:18px}.clock strong{font-size:34px}.week{grid-template-columns:repeat(2,1fr)}.selection{grid-template-columns:1fr 1fr}.count{display:none}.settings,.parents{grid-template-columns:1fr;gap:20px}.notice{padding-left:16px}.formgrid{grid-template-columns:1fr 1fr}}@media(max-width:520px){header{padding:16px;font-size:11px}.brand span{font-size:10px}main{padding:22px 14px}.intro{display:block}.clock{margin-top:22px;display:flex;gap:16px;align-items:center;padding:14px}.clock small{display:none}.clock strong{font-size:30px}.selection{grid-template-columns:1fr;gap:10px}.week{grid-template-columns:1fr}.panel{padding:18px}.toolbar{align-items:start}.toolbar h2{font-size:20px}.toolbar button{font-size:11px}.settings input{max-width:95px}}@media print{header,.intro,.selection,.settings,.alarmsettings,button,footer,form{display:none}.week{grid-template-columns:repeat(3,1fr)}main{padding:0}.day{break-inside:avoid}.parents{display:block}.toolbar{margin:10px 0}}
