:root{color-scheme:light;--bg: #f5f2ec;--panel: #fff8f0;--ink: #1c1b19;--muted: #5a554f;--accent: #f28c28;--accent-dark: #8a4b18;--stroke: rgba(28, 27, 25, .15);--shadow: 0 20px 40px rgba(28, 27, 25, .12);--radius: 18px;--radius-sm: 12px;--font-scale: 1}*{box-sizing:border-box}html{font-size:calc(16px * var(--font-scale))}body{margin:0;font-family:Space Grotesk,system-ui,sans-serif;color:var(--ink);background:radial-gradient(circle at 20% 20%,var(--panel) 0%,var(--bg) 55%,#ebe4da 100%);min-height:100vh;font-size:1rem}.app{max-width:1200px;margin:0 auto;padding:32px 24px 60px}.hero{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px}.eyebrow{text-transform:uppercase;letter-spacing:.3em;font-size:.75rem;color:var(--muted);margin:0 0 8px}.hero h1{font-family:Fraunces,serif;font-size:clamp(2.4rem,3.5vw,3.6rem);margin:0 0 12px}.subtitle{margin:0;max-width:520px;color:var(--muted)}.user-card{background:var(--panel);border:1px solid var(--stroke);box-shadow:var(--shadow);border-radius:var(--radius);padding:16px;display:flex;align-items:center;gap:16px}.user-name{font-weight:600;margin:0}.user-role{margin:0;color:var(--muted);font-size:.9rem}.panel{background:var(--panel);border-radius:var(--radius);border:1px solid var(--stroke);padding:24px;box-shadow:var(--shadow)}.settings-panel{animation:slideIn .3s ease}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.panel h2{margin:0 0 8px;font-size:24px}.field{display:flex;flex-direction:column;gap:6px}label{font-size:.9rem;color:var(--muted)}input,select{padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--stroke);background:#fff;font-family:inherit;font-size:1rem}button{font-size:1rem}button{border:none;border-radius:999px;padding:12px 18px;background:var(--accent);color:#1c1208;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 10px 20px #f28c284d}button:hover{transform:translateY(-1px)}button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}button.ghost{background:transparent;border:1px solid var(--stroke);box-shadow:none}.workspace{display:flex;flex-direction:column;gap:20px}.tabs{display:flex;gap:12px}.tabs button{background:transparent;border:1px solid var(--stroke);color:var(--ink);box-shadow:none}.tabs button.active{background:var(--ink);color:var(--panel)}.grid{display:grid;grid-template-columns:160px repeat(5,1fr);gap:10px;margin-bottom:24px}.grid-header{font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.14em;color:var(--muted);padding:8px 0}.row{display:contents}.grid-period{padding:10px;border-radius:var(--radius-sm);border:1px dashed var(--stroke);display:flex;flex-direction:column;gap:6px;font-size:.9rem}.grid-cell{min-height:88px;border-radius:var(--radius-sm);border:1px solid var(--stroke);background:#fffdf7;box-shadow:none;padding:10px;text-align:left;display:flex;flex-direction:column;gap:6px}.grid-cell.free{background:#fff8f0}.grid-cell.busy{background:#f2d6c2}.grid-cell.available{background:#f5b77d}.grid-cell.declared{border-color:var(--accent-dark);box-shadow:0 0 0 2px #0000000d}.tag{display:inline-flex;padding:2px 10px;border-radius:999px;background:#1c1b1914;font-size:.75rem}.tag.declared{background:var(--accent);color:#1c1208}.lesson span{font-weight:600}.lesson small{display:block;color:var(--muted)}.conflict{color:#5f2a0b;font-size:.75rem;font-weight:600}.search-panel{border-top:1px solid var(--stroke);padding-top:20px}.quick-search{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end;margin-bottom:16px}.search-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.search-columns ul{margin:0;padding-left:18px}.toolbar{display:flex;align-items:center;gap:16px}.muted{color:var(--muted);font-size:.9rem}.error{color:#a03c1c;font-weight:600}.login-form{display:grid;gap:14px;max-width:360px}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 960px){.hero{flex-direction:column}.grid{grid-template-columns:120px repeat(5,minmax(120px,1fr));overflow-x:auto}.panel-header{flex-direction:column;align-items:stretch}}
