@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&display=swap";:root{--bg-color: #f0f4ff;--bg-color-alt: #ffffff;--text-main: #1e293b;--text-muted: #64748b;--primary-color: #6366f1;--primary-hover: #4f46e5;--primary-light: #eef2ff;--purple-color: #8b5cf6;--cyan-color: #06b6d4;--pink-color: #ec4899;--orange-color: #f97316;--danger-color: #ef4444;--success-color: #10b981;--warning-color: #f59e0b;--border-color: #e2e8f0;--gradient-primary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--gradient-success: linear-gradient(135deg, #10b981 0%, #059669 100%);--gradient-ocean: linear-gradient(135deg, #06b6d4 0%, #6366f1 100%);--gradient-sunset: linear-gradient(135deg, #f97316 0%, #ec4899 100%);--gradient-mint: linear-gradient(135deg, #10b981 0%, #06b6d4 100%);--gradient-warm: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);--gradient-page: linear-gradient(145deg, #f0f4ff 0%, #faf5ff 50%, #f0fdf4 100%);--sidebar-bg: #1e1b4b;--sidebar-text: rgba(255,255,255,.75);--sidebar-active: rgba(255,255,255,.15);--sidebar-hover: rgba(255,255,255,.08);--sidebar-border: rgba(255,255,255,.08);--shadow-sm: 0 1px 3px rgba(99,102,241,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(99,102,241,.1), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 10px 30px rgba(99,102,241,.12), 0 4px 8px rgba(0,0,0,.06);--shadow-card: 0 2px 8px rgba(99,102,241,.08), 0 0 0 1px rgba(99,102,241,.06);--shadow-glow: 0 0 24px rgba(99,102,241,.3);--glass-bg: rgba(255,255,255,.8);--glass-border: rgba(99,102,241,.12);--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}@keyframes ambientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes floatOrbs{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-40px) scale(1.08)}66%{transform:translate(-25px,20px) scale(.95)}}body{font-family:Outfit,sans-serif;font-size:17px;background:linear-gradient(-45deg,#f0f4ff,#faf5ff,#f0fdf4,#eff6ff,#fdf4ff);background-size:400% 400%;animation:ambientShift 22s ease infinite;background-attachment:fixed;color:var(--text-main);line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:-15%;left:-15%;width:130%;height:130%;background:radial-gradient(circle at 15% 25%,rgba(99,102,241,.08) 0%,transparent 45%),radial-gradient(circle at 85% 75%,rgba(236,72,153,.07) 0%,transparent 45%),radial-gradient(circle at 50% 50%,rgba(6,182,212,.06) 0%,transparent 50%),radial-gradient(circle at 80% 15%,rgba(245,158,11,.05) 0%,transparent 40%);pointer-events:none;z-index:-1;animation:floatOrbs 25s ease-in-out infinite}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:var(--shadow-card);border-radius:var(--radius-lg)}.card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid var(--border-color);padding:1.5rem;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),border-color .25s ease;position:relative;overflow:hidden;will-change:transform}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary);opacity:0;transition:opacity .25s ease}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.card:hover:before{opacity:1}.card-purple{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-color:#8b5cf633}.card-blue{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#6366f133}.card-green{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#10b98133}.card-orange{background:linear-gradient(135deg,#fff7ed,#fed7aa);border-color:#f9731633}.card-pink{background:linear-gradient(135deg,#fdf2f8,#fce7f3);border-color:#ec489933}.card-cyan{background:linear-gradient(135deg,#ecfeff,#cffafe);border-color:#06b6d433}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.25;margin-bottom:.5rem;letter-spacing:-.025em;color:var(--text-main)}h1{font-size:2.25rem;font-weight:800;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}h2{font-size:1.85rem;font-weight:700}h3{font-size:1.35rem;font-weight:700}p{margin-bottom:.75rem;color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.3rem;font-size:.95rem;font-weight:600;border-radius:var(--radius-md);cursor:pointer;transition:all .22s cubic-bezier(.4,0,.2,1);border:none;gap:.5rem;text-decoration:none;font-family:Outfit,sans-serif;letter-spacing:-.01em}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 14px #6366f159}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 22px #6366f173}.btn-primary:disabled{opacity:.55;transform:none;cursor:not-allowed}.btn-secondary{background:var(--primary-light);color:var(--primary-color);border:1px solid rgba(99,102,241,.2)}.btn-secondary:hover{background:#e0e7ff;border-color:#6366f166}.btn-danger{background:#ef444414;color:var(--danger-color);border:1px solid rgba(239,68,68,.2)}.btn-danger:hover{background:var(--danger-color);color:#fff;border-color:var(--danger-color)}.btn-success{background:var(--gradient-success);color:#fff;box-shadow:0 4px 14px #10b9814d}.btn-success:hover{transform:translateY(-2px);box-shadow:0 8px 20px #10b98166}.btn-success:disabled{opacity:.55;transform:none;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border-color)}.btn-ghost:hover{background:var(--primary-light);color:var(--primary-color);border-color:#6366f14d}.input-field{width:100%;padding:.8rem 1.1rem;border:1.5px solid var(--border-color);border-radius:var(--radius-md);font-family:Outfit,sans-serif;font-size:1rem;transition:all .22s ease;background:#fff;color:var(--text-main)}.input-field:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f124;background:#fefffe}.input-field::placeholder{color:#94a3b8}.app-container{display:flex;min-height:100vh;width:100%;overflow-x:hidden}.main-content{flex:1;padding:2rem 2.5rem;overflow-y:auto;overflow-x:hidden;background:var(--gradient-page);background-attachment:fixed;min-height:100vh;min-width:0;width:100%}.sidebar{width:265px;flex-shrink:0;background:var(--sidebar-bg);display:flex;flex-direction:column;padding:1.5rem .875rem;box-shadow:4px 0 24px #1e1b4b26;position:relative;overflow:hidden}.sidebar:before{content:"";position:absolute;top:-60px;right:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.25) 0%,transparent 70%);pointer-events:none}.sidebar:after{content:"";position:absolute;bottom:-40px;left:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.2) 0%,transparent 70%);pointer-events:none}.sidebar-logo{padding:.25rem .5rem 1.5rem;border-bottom:1px solid var(--sidebar-border);margin-bottom:1rem}.sidebar-nav-btn{display:flex;align-items:center;gap:.65rem;padding:.65rem .875rem;border-radius:10px;cursor:pointer;border:1px solid transparent;background:transparent;color:var(--sidebar-text);font-weight:500;font-size:.95rem;width:100%;justify-content:flex-start;transition:all .18s ease;font-family:Outfit,sans-serif;position:relative}.sidebar-nav-btn:hover{background:var(--sidebar-hover);color:#fff}.sidebar-nav-btn.active{background:var(--gradient-primary);color:#fff;border-color:transparent;box-shadow:0 4px 12px #6366f166}.sidebar-divider{height:1px;background:var(--sidebar-border);margin:.6rem 0}.coach-topbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.75rem 2rem;background:#1e1b4bf2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:2px solid transparent;border-image:linear-gradient(90deg,#6366f1,#8b5cf6,#ec4899,#06b6d4) 1;box-shadow:0 4px 20px #1e1b4b4d}.coach-topbar-logo{display:flex;align-items:center;gap:.75rem}.coach-topbar-nav{display:flex;align-items:center;gap:.25rem;overflow-x:auto;scrollbar-width:none}.coach-topbar-nav::-webkit-scrollbar{display:none}.coach-tab-btn{display:flex;align-items:center;gap:.4rem;padding:.55rem 1rem;border-radius:10px;cursor:pointer;border:1px solid transparent;background:transparent;color:#ffffffa6;font-weight:500;font-size:.88rem;white-space:nowrap;transition:all .18s ease;font-family:Outfit,sans-serif;position:relative}.coach-tab-btn:hover{background:#ffffff14;color:#fff}.coach-tab-btn.active{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 12px #6366f166}.coach-topbar-actions{display:flex;align-items:center;gap:.75rem}.status-badge{display:inline-flex;align-items:center;padding:.3rem .8rem;border-radius:9999px;font-size:.85rem;font-weight:700;gap:.4rem;font-family:Outfit,sans-serif}.status-badge:before{content:"";display:block;width:7px;height:7px;border-radius:50%;box-shadow:0 0 6px currentColor}.status-studying{background:#10b9811f;color:#059669;border:1px solid rgba(16,185,129,.25)}.status-studying:before{background:#10b981;animation:pulse-dot 2s infinite}.status-not-studying{background:#64748b1a;color:var(--text-muted);border:1px solid rgba(100,116,139,.15)}.status-not-studying:before{background:#94a3b8}.stat-card{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.25rem;border-radius:var(--radius-lg);position:relative;overflow:hidden;border:1px solid transparent}.stat-card-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .7rem;border-radius:9999px;font-size:.78rem;font-weight:700;font-family:Outfit,sans-serif}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#6366f140;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#6366f173}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}@keyframes sway{0%{transform:rotate(0)}25%{transform:rotate(2deg)}50%{transform:rotate(0)}75%{transform:rotate(-2deg)}to{transform:rotate(0)}}@keyframes growFromSeed{0%{transform:scale(0) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes breathe{0%,to{box-shadow:0 0 20px #6366f126}50%{box-shadow:0 0 35px #6366f14d}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.tree-sway{animation:sway 6s ease-in-out infinite;transform-origin:bottom center}.tree-grow{animation:growFromSeed 1s cubic-bezier(.34,1.56,.64,1) forwards}.fade-in-up{animation:fadeInUp .4s ease both}.activity-new{animation:fadeInUp .35s ease both}.float{animation:float 3s ease-in-out infinite}.breathe{animation:breathe 3s ease-in-out infinite}.slide-up{animation:slideUp .5s ease both}.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.section-icon{width:38px;height:38px;border-radius:12px;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 10px #6366f14d}label{display:block;font-size:.9rem;font-weight:600;color:var(--text-main);margin-bottom:.4rem}.input-group{margin-bottom:1.1rem}.text-muted{color:var(--text-muted)}.text-primary{color:var(--primary-color)}.text-success{color:var(--success-color)}.text-danger{color:var(--danger-color)}.text-warning{color:var(--warning-color)}.mobile-top-bar{display:none;background:var(--sidebar-bg);color:#fff;padding:.85rem 1.25rem;position:sticky;top:0;z-index:990;align-items:center;justify-content:space-between;box-shadow:0 4px 16px #1e1b4b40;border-bottom:1px solid rgba(255,255,255,.1)}.hamburger-btn{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.5rem;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.hamburger-btn:hover{background:#ffffff38;transform:scale(1.05)}.mobile-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172aa6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:9995;display:flex}.mobile-drawer-content{width:285px;max-width:85vw;height:100vh;background:var(--sidebar-bg);display:flex;flex-direction:column;padding:1.5rem .875rem;box-shadow:10px 0 30px #00000080;overflow-y:auto;position:relative}@media (max-width: 1024px){.sidebar{display:none!important}.mobile-top-bar{display:flex!important}.app-container{flex-direction:column!important}.main-content{padding:1.5rem 1.25rem!important;width:100%!important;max-width:100vw!important}.coach-topbar-nav{display:none!important}.coach-mobile-hamburger{display:flex!important}}@media (max-width: 768px){.main-content{padding:1rem .75rem!important}.card{padding:1.25rem!important;border-radius:18px!important}[style*="grid-template-columns: repeat(auto-fit, minmax("],[style*="gridTemplateColumns: repeat(auto-fit, minmax("],[style*="grid-template-columns: repeat(3, 1fr)"],[style*="grid-template-columns: repeat(4, 1fr)"]{grid-template-columns:1fr!important}[style*="display: flex"][style*="justify-content: space-between"]{flex-wrap:wrap!important;gap:.75rem!important}.btn{padding:.6rem 1rem!important;font-size:.88rem!important}h1{font-size:1.4rem!important}h2{font-size:1.25rem!important}h3{font-size:1.1rem!important}}@media (max-width: 480px){.main-content{padding:.85rem .5rem!important}.card{padding:1rem!important;border-radius:16px!important}.sidebar-nav-btn{padding:.6rem .75rem;font-size:.9rem}}.osym-sheet-container{width:100%;overflow-x:hidden}@media (max-width: 768px){.osym-sheet-container{padding:1.25rem!important;border-width:2px!important}}@media (max-width: 480px){.osym-sheet-container{padding:.75rem!important;border-width:1px!important}}
