:root{--bg: #0f1115;--card: #171a21;--accent: #3b82f6;--text: #f2f3f5;--muted: #9aa0ab;--error: #ef4444;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{background:var(--card);padding:32px;border-radius:16px;width:100%;max-width:400px;display:flex;flex-direction:column;gap:14px}.auth-card h1{margin:0 0 4px;font-size:22px}.auth-card .hint{color:var(--muted);font-size:14px;margin:-6px 0 4px}.auth-card label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted)}.auth-card input,.auth-card textarea,select{background:#0f1115;border:1px solid #2a2e37;border-radius:8px;padding:10px 12px;color:var(--text);font-size:15px}.auth-card button,.dashboard button{background:var(--accent);border:none;color:#fff;padding:12px;border-radius:8px;font-size:15px;cursor:pointer}.auth-card button:disabled{opacity:.6;cursor:default}.error{color:var(--error);font-size:14px;margin:0}.topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--card)}.academy-selector{display:flex;align-items:center;gap:12px}.user-menu{display:flex;align-items:center;gap:12px;color:var(--muted)}button.link{background:none;color:var(--accent);padding:0}.dashboard main{padding:32px;max-width:720px;margin:0 auto}.nav-links{display:flex;gap:8px}.lesson-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}.lesson-list li{background:var(--card);padding:14px 16px;border-radius:10px}.lesson-list a{color:var(--text);text-decoration:none}.lesson-list a:hover{text-decoration:underline}.muted{color:var(--muted);font-size:13px}.badge{margin-left:10px;font-size:12px;padding:2px 8px;border-radius:999px;background:#2a2e37;color:var(--muted)}.badge-cancelled{background:#3a1f22;color:#ef4444}.badge-completed{background:#1f3a26;color:#22c55e}.participation-card{background:var(--card);padding:20px;border-radius:12px;margin-top:16px}.participation-card .actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.participation-card button{width:auto;padding:10px 16px}.participation-card button.secondary{background:#2a2e37}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-body{display:flex;flex:1}.sidebar{width:200px;flex-shrink:0;background:var(--card);padding:20px 12px;display:flex;flex-direction:column;gap:4px}.sidebar a{color:var(--muted);text-decoration:none;padding:10px 14px;border-radius:8px;font-size:14px}.sidebar a:hover{background:#1f232c;color:var(--text)}.sidebar a.active{background:var(--accent);color:#fff}.app-content{flex:1;padding:32px;max-width:860px}button{background:var(--accent);border:none;color:#fff;padding:10px 16px;border-radius:8px;font-size:14px;cursor:pointer}button.secondary{background:#2a2e37}button:disabled{opacity:.6;cursor:default}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px;flex-wrap:wrap}.page-header h1{margin:0}.page-header button{width:auto}.inline-form{background:var(--card);padding:20px;border-radius:12px;display:flex;flex-direction:column;gap:12px;margin-bottom:20px;max-width:480px}.inline-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted);flex:1}.inline-form input,.inline-form select,.inline-form textarea{background:#0f1115;border:1px solid #2a2e37;border-radius:8px;padding:10px 12px;color:var(--text);font-size:14px}.form-row{display:flex;gap:12px}.inline-form button{width:auto;align-self:flex-start}.card-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}.card-list li{background:var(--card);padding:14px 16px;border-radius:10px}.card-list a{color:var(--text);text-decoration:none;font-weight:600}.card-list a:hover{text-decoration:underline}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:20px}.stat-card{background:var(--card);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:4px}.stat-value{font-size:28px;font-weight:700}.stat-label{font-size:12px;color:var(--muted)}.section-block{margin-top:28px}.timeline{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.timeline li{background:var(--card);padding:12px 16px;border-radius:10px}.participant-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}.participant-list li{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 0;border-bottom:1px solid #2a2e37}.attendance-buttons{display:flex;gap:6px}.attendance-buttons button{padding:6px 10px;font-size:13px}
