@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Nunito:wght@500;700;800;900&display=swap');:root{--navy:#203553;--green:#177d71;--mint:#e4f6ee;--cream:#fffaf2;--muted:#758095;--border:#e9e9e5}*{box-sizing:border-box}body{margin:0;font-family:'DM Sans',sans-serif;background:#f7f9f7;color:var(--navy)}h1,h2,h3,.brand{font-family:Nunito,sans-serif}h1{font-size:clamp(2rem,3vw,3rem);line-height:1.12;margin:12px 0}h2{margin:0 0 8px}p{color:var(--muted);line-height:1.6}a{color:inherit;text-decoration:none}.brand{font-size:1.5rem;font-weight:900;white-space:nowrap}.brand span{color:#f4a846}.top{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:19px max(24px,calc((100vw - 1160px)/2));box-shadow:0 1px 9px #2035530b}.top nav{display:flex;align-items:center;gap:22px;font-size:.9rem}.top nav a{color:var(--green);font-weight:800}.container{max-width:1200px;margin:auto;padding:38px 22px 70px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.eyebrow{font-size:.75rem;letter-spacing:.17em;font-weight:800;color:var(--green)}.pill{background:var(--mint);color:#177d71;padding:13px 19px;border-radius:50px;font-size:.85rem;font-weight:800}.panel{background:white;border:1px solid var(--border);border-radius:23px;padding:29px;box-shadow:0 9px 28px #22395409}.panel>p{margin-top:0}label{display:block;font-size:.87rem;font-weight:800;color:#3c4b61}input,select{display:block;width:100%;padding:13px 14px;border:1px solid #dfe5e6;border-radius:11px;background:white;color:var(--navy);font:inherit;margin-top:8px;outline-color:#40a895}button{border:0;border-radius:12px;background:var(--green);color:white;padding:14px 20px;font:inherit;font-weight:800;cursor:pointer}button:hover{filter:brightness(.94)}form.fields{display:grid;gap:17px;margin-top:22px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.days{display:flex;flex-wrap:wrap;gap:7px}.days label{cursor:pointer}.days input{position:absolute;opacity:0;width:0}.days span{display:block;border:1px solid #dce6e1;border-radius:9px;padding:10px;background:#fff;font-size:.82rem}.days input:checked+span{background:#d9f4e9;border-color:var(--green);color:#12675c}.days input:focus-visible+span{outline:3px solid orange}.admin-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:23px;align-items:start}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:23px}.stat{background:#fff;border-radius:17px;padding:22px;border:1px solid var(--border)}.stat span,.stat small{display:block;color:var(--muted);font-size:.8rem}.stat strong{display:block;font-size:2rem;margin-top:7px}.secondary{background:#233d62}.subhead{margin-top:34px}.teacher-item{display:flex;align-items:center;gap:12px;border-top:1px solid var(--border);padding:13px 0}.teacher-item small{display:block;color:var(--muted)}.schedule-panel{margin-top:24px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:.88rem;white-space:nowrap}th,td{padding:14px;border-bottom:1px solid #edf0ef}th{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.danger{background:#fff0ee;color:#bf4949}.small{padding:8px 12px;font-size:.8rem}.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.dateform{display:flex;align-items:end;gap:10px}.dateform button{padding:13px}.empty{text-align:center;padding:50px 10px;font-size:1.6rem}.empty h3{font-size:1.25rem}.lesson-list{display:grid;gap:13px;margin-top:25px}.lesson{display:flex;align-items:center;gap:24px;background:#f8fbf9;border:1px solid #e7eeeb;border-radius:15px;padding:18px}.lesson h3{margin:0}.lesson p{margin:4px 0}.timebox{min-width:112px;font-weight:900;color:var(--green)}.timebox small{display:block;color:var(--muted);font-weight:500}.tag{margin-left:auto;background:#e1f3ec;color:#187d6d;padding:9px 13px;border-radius:30px;font-size:.75rem;font-weight:800}.error,.success{padding:12px;border-radius:10px}.error{background:#ffeded;color:#a33}.success{background:#e1f5e9;color:#176b4e}.landing{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.hero{background:#194f4b;color:white;padding:45px 9%;position:relative;display:flex;flex-direction:column;overflow:hidden}.hero .brand{font-size:1.7rem}.hero-content{margin:auto 0;max-width:560px;position:relative;z-index:1}.hero .eyebrow{color:#f7ce8c}.hero h1{font-size:clamp(3rem,5vw,5.5rem);line-height:1.04;margin:20px 0}.hero h1 em{color:#f5bb68;font-style:normal}.hero p{color:#d5ebe5;font-size:1.1rem}.hero-note{margin-top:38px;background:#ffffff1c;padding:16px;border:1px solid #ffffff2a;border-radius:15px}.books{font-size:4rem;opacity:.35;position:absolute;bottom:30px;right:35px;transform:rotate(-10deg)}.login-side{display:grid;place-items:center;padding:30px;background:#fffaf2}.login-panel{width:min(100%,450px);box-shadow:0 20px 65px #20355313;padding:45px}.login-panel h2{font-size:2rem}.login-panel form{display:grid;gap:21px;margin:30px 0}.login-panel button{width:100%}.login-panel small{display:block;text-align:center;color:var(--muted)}.welcome-icon{font-size:2.6rem;margin-bottom:16px}.auth{min-height:100vh;display:grid;place-items:center;padding:20px}.auth .panel{width:min(100%,480px)}.auth form{display:grid;gap:16px}@media(max-width:850px){.landing{grid-template-columns:1fr}.hero{min-height:400px;padding:30px}.hero h1{font-size:3rem}.login-side{padding:30px 15px}.admin-grid,.stats{grid-template-columns:1fr}.heading,.section-head{align-items:start;flex-direction:column}.top{padding:15px}.top nav span{display:none}.lesson{flex-wrap:wrap}.tag{margin-left:0}}@media(max-width:450px){.two{grid-template-columns:1fr}.panel{padding:19px}.dateform{width:100%}.lesson{gap:10px}.tag{display:none}}
