@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Outfit", sans-serif;--font-game:"Space Grotesk", sans-serif;--bg-coach:#090a0f;--bg-coach-card:#11131cb3;--color-primary:#6366f1;--color-primary-glow:#6366f126;--color-secondary:#0ea5e9;--color-accent:#f43f5e;--color-success:#10b981;--color-warning:#f59e0b;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--border-color:#ffffff14;--bg-academic:#0b0f19;--color-academic-primary:#06b6d4;--color-academic-glow:#06b6d426;--bg-space:radial-gradient(circle at 50% 50%, #1a0f30 0%, #0a0518 100%);--color-space-primary:#a855f7;--color-space-accent:#f472b6;--color-space-star:#fbbf24}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-coach);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}button,input,select,textarea{color:inherit;font-family:inherit}a{color:inherit;text-decoration:none}.app-container{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:1.5rem}.glass-card{background:var(--bg-coach-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:16px;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 32px #0000004d}.glass-card:hover{border-color:#ffffff26;box-shadow:0 12px 40px #0006}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700}.gradient-text{background:linear-gradient(135deg, #fff 0%, var(--text-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.indigo-sky-gradient{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.login-page{background:radial-gradient(circle at 10% 20%,#6366f126 0%,#0000 40%),radial-gradient(circle at 90% 80%,#0ea5e926 0%,#0000 40%),#07080c;justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-card{text-align:center;width:100%;max-width:440px;padding:2.5rem}.logo-container{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:1.5rem;display:inline-flex;box-shadow:0 0 20px #6366f166}.login-form{text-align:left;margin-top:2rem}.form-group{margin-bottom:1.25rem}.form-label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.form-input{border:1px solid var(--border-color);width:100%;color:var(--text-primary);background:#ffffff08;border-radius:8px;outline:none;padding:.75rem 1rem;font-size:1rem;transition:all .2s}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow);background:#ffffff0f}.login-btn{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);width:100%;color:#white;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;padding:.875rem;font-size:1rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 12px #6366f14d}.login-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f166}.navbar{border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;background:#090a0fcc;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.nav-brand{font-family:var(--font-display);align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700;display:flex}.nav-user{align-items:center;gap:1rem;display:flex}.logout-btn{color:var(--color-accent);cursor:pointer;background:#f43f5e1a;border:1px solid #f43f5e33;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.logout-btn:hover{background:#f43f5e33}.dashboard-grid{grid-template-columns:1fr;gap:1.5rem;margin-top:1rem;display:grid}@media (width>=1024px){.dashboard-grid{grid-template-columns:280px 1fr}}.sidebar{flex-direction:column;gap:1.25rem;display:flex}.student-list-card{flex-direction:column;gap:.5rem;max-height:500px;display:flex;overflow-y:auto}.student-item{cursor:pointer;background:#ffffff05;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;padding:.75rem 1rem;transition:all .2s;display:flex}.student-item:hover,.student-item.active{background:#6366f114;border-color:#6366f14d}.student-item-info h4{color:var(--text-primary);font-size:.95rem}.student-item-info p{color:var(--text-secondary);font-size:.8rem}.student-item-badge{border-radius:9999px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.badge-primary{color:#c084fc;background:#a855f726}.badge-middle{color:#38bdf8;background:#0ea5e926}.badge-high{color:#22d3ee;background:#06b6d426}.panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.panel-tabs{border:1px solid var(--border-color);background:#ffffff08;border-radius:8px;gap:.5rem;padding:.25rem;display:flex}.tab-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.tab-btn.active{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px #6366f14d}.btn-secondary{border:1px solid var(--border-color);cursor:pointer;background:#ffffff0d;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.btn-secondary:hover{background:#ffffff1a;border-color:#fff3}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat-box{border:1px solid var(--border-color);text-align:center;background:#ffffff05;border-radius:12px;padding:1rem}.stat-value{font-family:var(--font-display);margin-top:.25rem;font-size:1.5rem;font-weight:700}.task-grid-container{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=768px){.task-grid-container{grid-template-columns:1fr 1fr}}.task-list-section{flex-direction:column;gap:.75rem;max-height:600px;display:flex;overflow-y:auto}.task-card{border:1px solid var(--border-color);background:#ffffff05;border-radius:12px;padding:1rem;transition:all .2s;position:relative}.task-card.completed{border-left:4px solid var(--color-success);opacity:.7}.task-card.pending{border-left:4px solid var(--color-warning)}.task-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.task-tag{color:var(--text-secondary);background:#ffffff0f;border-radius:4px;padding:.15rem .4rem;font-size:.75rem;font-weight:500}.task-due{color:var(--text-secondary);font-size:.75rem}.quick-task-form{flex-direction:column;gap:1rem;display:flex}.form-select{border:1px solid var(--border-color);width:100%;color:var(--text-primary);background:#0f111ae6;border-radius:8px;outline:none;padding:.75rem 1rem}.academic-theme{background-color:var(--bg-academic);min-height:100vh;color:var(--text-primary)}.academic-title{font-family:var(--font-display);background:linear-gradient(135deg, var(--color-academic-primary) 0%, #3b82f6 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-weight:800}.space-theme{background:var(--bg-space);color:#fff;min-height:100vh;font-family:var(--font-game);position:relative;overflow:hidden}.space-stars{opacity:.5;background-image:radial-gradient(1px 1px at 20px 30px,#eee,#0000),radial-gradient(1px 1px at 40px 70px,#fff,#0000),radial-gradient(2px 2px at 50px 160px,#ddd,#0000),radial-gradient(2px 2px at 90px 230px,#fff,#0000),radial-gradient(1px 1px at 150px 80px,#eee,#0000),radial-gradient(2px 2px at 250px 120px,#fff,#0000);background-repeat:repeat;background-size:300px 300px;animation:10s linear infinite twinkling;position:absolute;inset:0}@keyframes twinkling{0%{opacity:.3}50%{opacity:.7}to{opacity:.3}}.space-title{font-family:var(--font-game);text-transform:uppercase;letter-spacing:.05em;background:linear-gradient(135deg, var(--color-space-primary) 0%, var(--color-space-accent) 100%);-webkit-text-fill-color:transparent;text-shadow:0 0 10px #a855f766;-webkit-background-clip:text;font-weight:800}.space-map-container{background:#ffffff05;border:2px dashed #a855f733;border-radius:24px;width:100%;max-width:800px;height:340px;margin:2rem auto;position:relative;overflow:hidden}.space-path-svg{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.planet-node{cursor:pointer;z-index:5;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 15px #ffffff1a}.planet-node:hover{transform:translate(-50%,-50%)scale(1.15)}.planet-node.completed{background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:2px solid #34d399;box-shadow:0 0 20px #10b98199}.planet-node.active{background:linear-gradient(135deg, var(--color-space-accent) 0%, #ec4899 100%);border:2px solid #f472b6;animation:2s infinite alternate pulse;box-shadow:0 0 25px #ec4899cc}.planet-node.locked{color:#9ca3af;cursor:not-allowed;background:linear-gradient(135deg,#374151 0%,#1f2937 100%);border:2px solid #4b5563}@keyframes pulse{0%{box-shadow:0 0 15px #ec489980}to{box-shadow:0 0 30px #ec4899e6}}.rocket-avatar{z-index:10;filter:drop-shadow(0 0 8px #a855f7cc);justify-content:center;align-items:center;width:48px;height:48px;font-size:2rem;transition:all 1s cubic-bezier(.25,.8,.25,1);display:flex;position:absolute;transform:translate(-50%,-50%)}.space-card{background:#140a28b3;border:2px solid #a855f733;box-shadow:0 0 30px #a855f726}.space-card:hover{border-color:#a855f766}.space-task-item{background:#ffffff08;border:1px solid #ffffff0d;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:1rem;display:flex}.space-task-checkbox{border:2px solid var(--color-space-primary);cursor:pointer;color:#fff;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.space-task-checkbox.checked{background:var(--color-space-accent);border-color:var(--color-space-accent);box-shadow:0 0 10px #f472b680}.custom-progress-bar{background:#ffffff1a;border-radius:9999px;width:100%;height:10px;margin:.5rem 0 1rem;overflow:hidden}.custom-progress-fill{background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-secondary) 100%);border-radius:9999px;height:100%;transition:width .4s ease-out}.space-progress-fill{background:linear-gradient(90deg, var(--color-space-primary) 0%, var(--color-space-accent) 100%)}.telegram-console{color:#38bdf8;background:#000;border:1px solid #ffffff26;border-radius:8px;max-height:250px;margin-top:1rem;padding:1rem;font-family:monospace;font-size:.85rem;overflow-y:auto}.console-line{margin-bottom:.25rem;line-height:1.4}.btn-primary{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-weight:600;transition:all .2s;display:flex}.btn-primary:hover{box-shadow:0 4px 15px var(--color-primary-glow);transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg, var(--color-accent) 0%, #b91c1c 100%);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-weight:600;transition:all .2s;display:flex}.btn-danger:hover{transform:translateY(-1px)}.grid-cols-2{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=768px){.grid-cols-2{grid-template-columns:1fr 1fr}}.grid-cols-3{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=768px){.grid-cols-3{grid-template-columns:repeat(3,1fr)}}.calendar-container{flex-direction:column;gap:1rem;display:flex}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.calendar-title{font-family:var(--font-display);color:var(--text-primary);font-size:1.1rem;font-weight:600}.calendar-controls{align-items:center;gap:.5rem;display:flex}.calendar-btn{color:var(--text-primary);cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:6px;justify-content:center;align-items:center;padding:.35rem .6rem;font-size:.75rem;transition:all .2s;display:flex}.calendar-btn:hover{color:#fff;background:#ffffff14;border-color:#fff3}.calendar-grid-header{text-align:center;color:var(--text-secondary);border-bottom:1px solid #ffffff0d;grid-template-columns:repeat(7,1fr);gap:.35rem;padding-bottom:.25rem;font-size:.75rem;font-weight:600;display:grid}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:.35rem;display:grid}.calendar-cell{aspect-ratio:1;cursor:pointer;background:#ffffff03;border:1px solid #ffffff08;border-radius:8px;flex-direction:column;justify-content:space-between;align-items:center;min-height:48px;padding:.25rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.calendar-cell:hover{background:#ffffff0d;border-color:#ffffff26;transform:translateY(-1px)}.calendar-cell.empty{cursor:default;pointer-events:none;background:0 0;border-color:#0000}.calendar-cell.selected{border-color:var(--color-primary);background:#6366f126;box-shadow:0 0 10px #6366f133}.calendar-cell.today{border-color:var(--color-secondary);box-shadow:inset 0 0 5px #0ea5e933}.calendar-cell.today:after{content:"";background-color:var(--color-secondary);width:5px;height:5px;box-shadow:0 0 8px var(--color-secondary);border-radius:50%;position:absolute;top:4px;right:4px}.calendar-cell-day-num{color:var(--text-primary);align-self:flex-start;margin-top:.15rem;margin-left:.15rem;font-size:.8rem;font-weight:500}.calendar-cell-badge{color:var(--color-success);text-align:center;text-overflow:ellipsis;white-space:nowrap;background:#10b9811f;border:1px solid #10b98140;border-radius:4px;width:100%;padding:1px 3px;font-size:.65rem;font-weight:700;overflow:hidden;box-shadow:0 0 8px #10b98114}.calendar-details-header{border-top:1px solid #ffffff0d;justify-content:space-between;align-items:center;margin-top:.75rem;padding-top:.75rem;display:flex}.calendar-details-title{color:#fff;font-size:.9rem;font-weight:600}@keyframes neonPulse{0%,to{border-color:#f43f5e99;box-shadow:0 0 8px #f43f5e66,inset 0 0 4px #f43f5e33}50%{border-color:#f43f5e;box-shadow:0 0 16px #f43f5ecc,inset 0 0 8px #f43f5e66}}.neon-warning-card{color:#fda4af;background:#f43f5e14;border:1px solid #f43f5e4d;border-radius:8px;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;font-size:.8rem;font-weight:600;animation:2s infinite alternate neonPulse;display:flex}@keyframes subjectLightPulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.subject-light-bulb-active{animation:2.2s ease-in-out infinite subjectLightPulse}
