:root{--orange: #e2772a;--navy: #172242;--grid: #1a2347;--paper: #ffffff;--purple-1: #5a2b86;--purple-2: #3f1b64}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f2f2f2;color:#111}.hero{max-width:1200px;margin:0 auto}.hero-img{width:100%;display:block}.planner,.dashboard,.agenda{max-width:1200px;margin:0 auto 24px;background:var(--paper);border-radius:14px;box-shadow:0 10px 30px #0000001a;padding:24px}.planner-header{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:16px}.planner-header h1{color:var(--navy);font-size:20px;margin:0}.week-controls{display:flex;align-items:center;gap:8px}.week-controls button{background:var(--navy);color:#fff;border:none;border-radius:6px;width:32px;height:32px;cursor:pointer;font-size:14px}.save-status{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:14px}.save-status--error{color:#b00020;font-weight:600}.save-status--saved{color:#157a3d}.save-btn{background:var(--orange);color:#fff;border:none;border-radius:6px;padding:8px 14px;cursor:pointer;font-weight:700}.agenda-link{color:var(--purple-1);font-weight:700;text-decoration:none}.lp-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:2px solid var(--grid);border-radius:18px;overflow:hidden}.lp-table th,.lp-table td{border-right:2px solid var(--grid);border-bottom:2px solid var(--grid);padding:8px;vertical-align:top}.lp-table th:last-child,.lp-table td:last-child{border-right:none}.lp-table tbody tr:last-child td{border-bottom:none}.lp-table th{background:var(--orange);color:#111;font-size:13px;font-weight:800;text-align:center}.lp-table textarea{width:100%;min-height:70px;border:none;border-radius:4px;padding:6px;font:inherit;resize:vertical}.lp-table textarea:focus{outline:none;box-shadow:inset 0 0 0 3px #5a2b862e}.day-cell{width:92px;text-align:center;background:#fafbfc;padding:6px}.day-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:100%;min-height:78px}.dayNum{font-size:30px;font-weight:900;color:#000;line-height:1}.weekPill{background:var(--navy);color:#fff;border-radius:12px;padding:3px 8px;font-weight:900;font-size:11px;letter-spacing:1px;text-transform:uppercase}.dev-english-cell{min-width:220px}.dev-english-cell>textarea{margin-bottom:8px}.ppp-block,.skills-block{border-top:1px dashed #d8dce3;padding-top:6px;margin-top:6px}.ppp-block>strong,.skills-block>strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--purple-1);margin-bottom:4px}.ppp-block label,.skills-block label{display:block;font-size:11px;font-weight:700;color:var(--purple-2);margin-bottom:6px}.ppp-block textarea,.skills-block textarea{min-height:40px}.agenda-cell button{margin-bottom:6px;background:var(--purple-1);color:#fff;border:none;border-radius:6px;padding:6px 10px;cursor:pointer}.teachers-table{width:100%;border-collapse:collapse;background:#fff;margin-top:12px}.teachers-table th{background:var(--navy);color:#fff}.teachers-table th,.teachers-table td{border:1px solid #d8dce3;padding:8px;text-align:left}.teachers-table tr.inactive{opacity:.5}.badge{margin-left:6px;font-size:11px;background:var(--orange);color:#fff;border-radius:10px;padding:2px 8px}.actions button{margin-right:6px}.actions .danger{color:#b00020}.add-teacher{background:#f9f7fb;border:1px solid #d8dce3;border-radius:8px;padding:16px;margin-bottom:16px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.add-teacher h3{width:100%;margin:0 0 4px;color:var(--navy)}.add-teacher fieldset{border:1px solid #d8dce3;border-radius:6px}.add-teacher button[type=submit]{background:var(--orange);color:#fff;border:none;border-radius:6px;padding:8px 14px;font-weight:700;cursor:pointer}.agenda-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.agenda-day{background:#fff;border:1px solid #d8dce3;border-radius:8px;padding:12px}.agenda-day h2{font-size:15px;margin:0 0 8px;color:var(--navy)}.agenda-day-content{min-height:100px;outline:none}.agenda-image{margin-top:16px;background:#fff;border:1px solid #d8dce3;border-radius:8px;padding:12px}.agenda-image img{max-width:100%}.signin{max-width:400px;margin:80px auto;text-align:center}.signin p{color:var(--navy);font-weight:600}.loading{padding:40px;text-align:center;color:#666}.hint{color:#666;font-size:13px}h1{color:var(--navy)}
