:root{--bg:#0b0f1a;--panel:#121829;--text:#e9eefc;--muted:#a9b3c9;--accent:#4f7cff;--border:#1c2541;--badge:#26335a }*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,system-ui,Segoe UI,Roboto,Arial;background:var(--bg);color:var(--text)}.app{max-width:1100px;margin:0 auto;padding:20px}.app__header{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.toolbar input{background:var(--panel);color:var(--text);border:1px solid var(--border);padding:8px 10px;border-radius:8px;outline:none}.toolbar button{background:var(--accent);color:#fff;border:none;padding:8px 12px;border-radius:8px;cursor:pointer}.toolbar button:disabled{opacity:.6;cursor:default}.segmented{display:flex;background:var(--panel);padding:4px;border-radius:10px;border:1px solid var(--border)}.segmented button{background:transparent;color:var(--muted);border:none;padding:8px 12px;border-radius:8px;cursor:pointer}.segmented .active{background:var(--badge);color:var(--text)}.hint{color:var(--muted)}.error{color:#ff6b6b}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.day{background:var(--panel);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;min-height:120px}.day__header{padding:10px;border-bottom:1px solid var(--border);color:var(--muted);font-weight:600}.day__list{display:flex;flex-direction:column;gap:8px;padding:10px}.lesson{background:#0e1426;border:1px solid var(--border);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:6px}.lesson__time{color:#a5b4fc;font-weight:600}.lesson__title{font-weight:600}.lesson__meta{display:flex;gap:10px;color:var(--muted);font-size:12px;flex-wrap:wrap}.badge{background:var(--badge);padding:2px 6px;border-radius:6px;font-size:12px;margin-left:6px}.lesson--compact{padding:8px}.calendar{display:flex;flex-direction:column;gap:10px}.calendar__day{background:var(--panel);border:1px solid var(--border);border-radius:12px}.calendar__date{padding:10px;border-bottom:1px solid var(--border);color:var(--muted);font-weight:600}.calendar__lessons{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;padding:10px}@media (max-width: 1100px){.week{grid-template-columns:repeat(3,1fr)}}@media (max-width: 640px){.week{grid-template-columns:1fr}}
