:root{--bg: #0a0b0d;--bg-2: #111318;--panel: #16181e;--panel-2: #1c1f27;--border: #2a2d36;--text: #e8e6e1;--text-dim: #9a9891;--steel: #c8c8c8;--fire: #ff5a1f;--water: #2fa8e0;--earth: #c89a5b;--air: #cfd8dc;--danger: #e0452f;--ok: #3fae6a}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(1200px 600px at 70% -10%,#16202b 0%,var(--bg) 55%);color:var(--text);font-family:Inter,system-ui,sans-serif;font-size:14px}h1,h2,h3,.brand{font-family:Cinzel,serif;letter-spacing:.12em}a{color:var(--water);text-decoration:none}.app{display:flex;min-height:100vh}.sidebar{width:230px;flex-shrink:0;background:linear-gradient(180deg,#101216,#0b0c0f);border-right:1px solid var(--border);padding:20px 14px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;margin-bottom:6px}.brand .title{font-size:18px;font-weight:700;color:var(--steel);letter-spacing:.22em}.brand .claim{font-size:9px;color:var(--text-dim);letter-spacing:.28em}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:var(--text-dim);font-weight:500;border-left:2px solid transparent}.nav-item:hover{background:var(--panel);color:var(--text)}.nav-item.active{background:var(--panel-2);color:var(--text);border-left-color:var(--accent, var(--steel))}.nav-item .dot{width:8px;height:8px;border-radius:50%;background:var(--accent, var(--steel));box-shadow:0 0 8px var(--accent, transparent)}.main{flex:1;padding:28px 32px;max-width:1200px}.page-title{font-size:22px;margin:0 0 4px;color:var(--steel)}.page-sub{color:var(--text-dim);margin:0 0 22px}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px}.grid{display:grid;gap:14px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spread{display:flex;justify-content:space-between;align-items:center;gap:10px}label.field{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--text-dim);font-weight:600}input,select,textarea{background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:9px 11px;font:inherit;font-size:14px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--water)}textarea{resize:vertical;min-height:70px}button,.btn{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:9px 15px;font:inherit;font-weight:600;cursor:pointer}button:hover,.btn:hover{border-color:var(--steel)}button.primary{background:linear-gradient(180deg,#3a3f4a,#262a33);border-color:#4a4f5a}button.fire{border-color:var(--fire);color:var(--fire)}button.danger{border-color:var(--danger);color:var(--danger)}button.ok{border-color:var(--ok);color:var(--ok)}button.small{padding:5px 10px;font-size:12px}button:disabled{opacity:.45;cursor:default}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;border:1px solid var(--border);font-size:12px;color:var(--text-dim);background:var(--bg-2)}.chip.fire{border-color:var(--fire);color:var(--fire)}.chip.water{border-color:var(--water);color:var(--water)}.chip.earth{border-color:var(--earth);color:var(--earth)}.chip.air{border-color:var(--air);color:var(--air)}.chip.ok{border-color:var(--ok);color:var(--ok)}.chip.warn{border-color:var(--fire);color:var(--fire)}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);padding:8px 10px;border-bottom:1px solid var(--border)}td{padding:10px;border-bottom:1px solid #1e2129}tr:hover td{background:#191c23}.list-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.muted{color:var(--text-dim)}.error-box{border:1px solid var(--danger);color:var(--danger);border-radius:8px;padding:10px 12px;background:#e0452f14}.ok-box{border:1px solid var(--ok);color:var(--ok);border-radius:8px;padding:10px 12px;background:#3fae6a14}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-card{width:380px;padding:34px;text-align:center}.login-card .logo{margin-bottom:10px}.elements-row{display:flex;justify-content:center;gap:18px;margin:16px 0 4px}.el{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:9px;letter-spacing:.2em}.el .ring{width:34px;height:34px;border-radius:50%;border:1.5px solid;display:flex;align-items:center;justify-content:center;font-size:15px}.el.fire{color:var(--fire)}.el.water{color:var(--water)}.el.earth{color:var(--earth)}.el.air{color:var(--air)}.stat-tile{padding:16px;border-radius:12px;background:var(--panel);border:1px solid var(--border);border-top:2px solid var(--accent, var(--steel))}.stat-tile .num{font-size:26px;font-weight:700;color:var(--steel)}.stat-tile .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto;z-index:50}.modal{width:min(860px,100%);background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:24px}.block{border:1px solid var(--border);border-radius:10px;background:var(--bg-2);padding:12px}.block.set{border-left:3px solid var(--earth)}.block.exercise{border-left:3px solid var(--water)}.timeline-event{border-left:3px solid var(--fire)}
