@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Outfit,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body{min-width:320px;min-height:100vh;margin:0}:root{--bg-primary:#0b0f19;--bg-secondary:#121826;--bg-card:#121826b3;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-color:#6366f1;--accent-glow:#6366f166;--accent-hover:#4f46e5;--accent-light:#818cf8;--border-color:#ffffff0d;--border-hover:#6366f140;--priority-high-bg:#f43f5e1a;--priority-high-text:#fb7185;--priority-high-border:#f43f5e33;--priority-medium-bg:#f59e0b1a;--priority-medium-text:#fbbf24;--priority-medium-border:#f59e0b33;--priority-low-bg:#10b9811a;--priority-low-text:#34d399;--priority-low-border:#10b98140;--success-color:#10b981;--success-glow:#10b98133;--card-shadow:0 20px 40px -15px #0009;--glass-shadow:inset 0 1px 0 0 #ffffff0d;--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--transition-speed:.3s}body.light-theme{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-card:#fffc;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--accent-color:#4f46e5;--accent-glow:#4f46e526;--accent-hover:#3730a3;--accent-light:#6366f1;--border-color:#0000000d;--border-hover:#4f46e526;--priority-high-bg:#e11d4814;--priority-high-text:#e11d48;--priority-high-border:#e11d4826;--priority-medium-bg:#d9770614;--priority-medium-text:#d97706;--priority-medium-border:#d9770626;--priority-low-bg:#05966914;--priority-low-text:#059669;--priority-low-border:#05966926;--card-shadow:0 20px 40px -15px #94a3b81a;--glass-shadow:inset 0 1px 0 0 #fffc}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);transition:background-color var(--transition-speed), color var(--transition-speed);background-image:radial-gradient(circle at 5% 5%,#6366f10f 0%,#0000 40%),radial-gradient(circle at 95% 95%,#8b5cf60f 0%,#0000 40%);min-height:100vh;overflow-x:hidden}#root{text-align:left!important;border-inline:none!important;width:100%!important;max-width:100%!important;margin:0!important}.onboarding-portal{justify-content:center;align-items:center;width:100%;min-height:100vh;padding:1.5rem;display:flex}.onboarding-card{background:linear-gradient(135deg,#121826cc,#090d16e6);border-color:#6366f126;border-radius:24px;flex-direction:column;gap:1.75rem;width:100%;max-width:520px;padding:2.5rem;animation:.6s cubic-bezier(.16,1,.3,1) slideUpOnboarding;display:flex}.onboarding-brand{text-align:center;flex-direction:column;align-items:center;display:flex}.onboarding-icon{background:linear-gradient(135deg,#a5b4fc,#6366f1,#3b82f6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.5rem;font-size:3.5rem;animation:3s infinite alternate logoGlow}.onboarding-brand h1{letter-spacing:-1.25px;background:linear-gradient(135deg,#fff,#94a3b8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:2.75rem;font-weight:800}.onboarding-tagline{color:var(--accent-light);letter-spacing:1px;text-transform:uppercase;margin-top:.25rem;font-size:.85rem;font-weight:700}.onboarding-description{color:var(--text-secondary);text-align:center;font-size:.95rem;line-height:1.6}.onboarding-form{border:1px solid var(--border-color);box-shadow:var(--glass-shadow);background:#ffffff03;border-radius:16px;flex-direction:column;gap:1.25rem;padding:1.25rem;display:flex}.onboarding-form h3{color:var(--text-primary);text-align:center;font-size:1.1rem;font-weight:700}.btn-launch{margin-top:.5rem;padding:.9rem 1.5rem;font-size:1.05rem}.onboarding-footer{text-align:center;color:var(--text-muted);letter-spacing:.5px;font-size:.75rem;font-weight:600}.portal-reset-option{justify-content:center;margin-top:1rem;display:flex}.portal-reset-option button{color:var(--text-muted);padding:.5rem 1rem;font-size:.8rem}.portal-reset-option button:hover{color:var(--text-primary)}.app-container{flex-direction:column;align-items:center;width:100%;padding:2rem 1.5rem;display:flex}.main-content-wrapper{flex-direction:column;gap:2rem;width:100%;max-width:1200px;display:flex}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);box-shadow:var(--card-shadow), var(--glass-shadow);transition:border-color var(--transition-speed), box-shadow var(--transition-speed), transform .25s ease;border-radius:20px;padding:1.75rem}.card:hover{border-color:var(--border-hover)}.app-header{flex-direction:column;gap:1.25rem;display:flex}.header-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.logo-section{align-items:center;gap:.75rem;display:flex}.logo-icon{background:linear-gradient(135deg,#a5b4fc,#6366f1,#4f46e5);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:2.5rem;animation:3s infinite alternate logoGlow}.brand h1{letter-spacing:-.75px;background:linear-gradient(to right, var(--text-primary), var(--text-secondary));-webkit-background-clip:text;margin:0;font-size:2rem;font-weight:800;line-height:1.1}.brand .subtitle{color:var(--text-secondary);letter-spacing:.5px;text-transform:uppercase;font-size:.85rem;font-weight:600}.header-controls{align-items:center;gap:.75rem;display:flex}.theme-toggle,.btn-student{font-family:var(--font-sans);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);cursor:pointer;box-shadow:var(--glass-shadow);transition:all var(--transition-speed) cubic-bezier(.4, 0, .2, 1);border-radius:12px;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.9rem;font-weight:600;display:flex}.theme-toggle:hover,.btn-student:hover{background:var(--accent-color);color:#fff;border-color:var(--accent-color);box-shadow:0 4px 12px var(--accent-glow)}.header-desc-card{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--card-shadow), var(--glass-shadow);border-radius:16px;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.app-description{color:var(--text-secondary);font-size:1.05rem;line-height:1.6}.student-badge-container{flex-wrap:wrap;gap:.75rem;display:flex}.student-badge{border:1px solid var(--border-color);box-shadow:var(--glass-shadow);background:#ffffff05;border-radius:10px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;display:flex}.badge-label{color:var(--text-muted);font-weight:500}.badge-value{color:var(--text-primary);font-weight:700}.stats-dashboard{background:linear-gradient(135deg,#6366f108,#8b5cf608);border-color:#6366f126;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;padding:1.5rem 2rem;display:grid}.stat-card{border:1px solid var(--border-color);box-shadow:var(--glass-shadow);background:#ffffff03;border-radius:14px;align-items:center;gap:1rem;padding:1rem;display:flex}.stat-icon{background:#ffffff08;border-radius:10px;padding:.4rem;font-size:1.75rem}.stat-info h3{font-size:1.75rem;font-weight:800;line-height:1}.stat-info p{color:var(--text-secondary);margin-top:.25rem;font-size:.8rem;font-weight:600}.stat-progress-card{flex-direction:column;justify-content:center;gap:.5rem;display:flex}.progress-header{color:var(--text-secondary);justify-content:space-between;font-size:.85rem;font-weight:700;display:flex}.progress-percent{color:var(--accent-light)}.progress-bar-bg{background:#ffffff0d;border-radius:4px;width:100%;height:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(to right, var(--accent-color), var(--success-color));border-radius:4px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1);box-shadow:0 0 10px #6366f180}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#090d16d9;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex;position:fixed;top:0;left:0}.modal-content{width:100%;max-width:450px;animation:.3s cubic-bezier(.16,1,.3,1) slideUp}.form-header{color:var(--accent-light);align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.form-header h2{color:var(--text-primary);font-size:1.4rem;font-weight:700}.task-form{flex-direction:column;gap:1rem;display:flex}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:700}.form-group input,.form-group select,.form-group textarea{font-family:var(--font-sans);border:1px solid var(--border-color);color:var(--text-primary);width:100%;transition:all var(--transition-speed);background:#ffffff04;border-radius:12px;outline:none;padding:.85rem 1rem;font-size:.95rem}.form-group select option{background-color:var(--bg-secondary);color:var(--text-primary)}.form-group textarea{resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-glow);background:#ffffff0a}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.btn{font-family:var(--font-sans);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1.4rem;font-size:.95rem;font-weight:700;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg, var(--accent-color), var(--accent-hover));color:#fff;box-shadow:0 4px 15px var(--accent-glow)}.btn-primary:hover{box-shadow:0 6px 20px var(--accent-glow);transform:translateY(-1px)}.btn-submit{width:100%;margin-top:.5rem}.app-grid-layout{grid-template-columns:1fr 1.8fr;gap:1.75rem;display:grid}@media (width<=868px){.app-grid-layout{grid-template-columns:1fr}}.task-list-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.header-title-area{color:var(--accent-light);align-items:center;gap:.5rem;display:flex}.header-title-area h2{color:var(--text-primary);font-size:1.4rem;font-weight:700}.search-bar{width:100%;max-width:280px;position:relative}.search-icon{color:var(--text-muted);position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.search-bar input{font-family:var(--font-sans);border:1px solid var(--border-color);width:100%;color:var(--text-primary);transition:all var(--transition-speed);background:#ffffff04;border-radius:10px;outline:none;padding:.6rem 2.2rem;font-size:.9rem}.search-bar input:focus{border-color:var(--accent-color);background:#ffffff08}.filter-controls{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.filter-group{border:1px solid var(--border-color);background:#ffffff04;border-radius:10px;padding:.25rem;display:flex}.filter-btn{font-family:var(--font-sans);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-speed);background:0 0;border:none;border-radius:8px;align-items:center;gap:.35rem;padding:.5rem .85rem;font-size:.85rem;font-weight:600;display:flex}.count-badge{color:var(--text-muted);background:#ffffff0f;border-radius:6px;padding:.1rem .4rem;font-size:.75rem}.filter-btn.active .count-badge{color:#fff;background:#fff3}.filter-btn.active{background:var(--accent-color);color:#fff;box-shadow:0 4px 10px var(--accent-glow)}.selectors-row{gap:.75rem;display:flex}.filter-select-wrapper{flex-direction:column;gap:.2rem;display:flex}.filter-select-wrapper label{color:var(--text-muted);text-transform:uppercase;font-size:.7rem;font-weight:700}.filter-select-wrapper select{font-family:var(--font-sans);border:1px solid var(--border-color);color:var(--text-primary);background:#ffffff04;border-radius:8px;outline:none;padding:.4rem .8rem;font-size:.8rem;font-weight:600}.task-item-wrapper{border:1px solid var(--border-color);box-shadow:var(--glass-shadow);background:#ffffff04;border-radius:14px;margin-bottom:.75rem;transition:all .25s cubic-bezier(.4,0,.2,1);overflow:hidden}.task-item-wrapper:hover{border-color:var(--border-hover);background:#ffffff06}.task-item-main{justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.task-info-summary{cursor:pointer;flex-direction:column;flex-grow:1;gap:.4rem;display:flex}.task-badges{align-items:center;gap:.5rem;display:flex}.category-badge{border:1px solid var(--border-color);color:var(--text-secondary);background:#ffffff08;border-radius:6px;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.checkmark{border-color:var(--text-muted);border-radius:8px;width:22px;height:22px;top:-10px}.checkbox-container:hover input~.checkmark{border-color:var(--accent-color)}.checkbox-container input:checked~.checkmark{background-color:var(--success-color);border-color:var(--success-color);box-shadow:0 0 8px var(--success-glow)}.checkbox-container .checkmark:after{width:5px;height:10px;top:3px;left:7px}.badge{border-radius:6px;padding:.2rem .55rem;font-size:.75rem;font-weight:700}.task-item-right{align-items:center;gap:.5rem;display:flex}.btn-expand,.btn-delete{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.35rem;transition:all .2s;display:inline-flex}.btn-expand:hover{color:var(--text-primary);background:#ffffff0d}.btn-expand.active svg{transform:rotate(180deg)}.btn-delete:hover{background:var(--priority-high-bg);color:var(--priority-high-text)}.task-item-details{border-top:1px solid var(--border-color);background:#0000001a;padding:1rem 1.25rem;animation:.25s cubic-bezier(.16,1,.3,1) slideDown}.description-section h4{color:var(--text-muted);text-transform:uppercase;margin-bottom:.35rem;font-size:.8rem;font-weight:700}.description-section p{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.detail-meta{flex-wrap:wrap;gap:1.5rem;margin-top:.75rem;font-size:.8rem;display:flex}.meta-item{gap:.35rem;display:flex}.meta-label{color:var(--text-muted)}.meta-val{color:var(--text-primary);font-weight:600}.highlight-due{color:var(--priority-high-text);background:var(--priority-high-bg);border-radius:4px;padding:.05rem .35rem}.api-records-container{margin-top:0}.api-title-section{align-items:center;gap:.5rem;display:flex}.api-globe-icon{color:var(--accent-light)}.live-pill{color:var(--success-color);background:#10b9811f;border:1px solid #10b98133;border-radius:8px;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.api-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.api-card{border:1px solid var(--border-color);box-shadow:var(--glass-shadow);transition:all var(--transition-speed);background:#ffffff04;border-radius:14px;padding:1.25rem}.api-card:hover{border-color:var(--border-hover);background:#ffffff06;transform:translateY(-4px)}.status-indicator{border-radius:6px;padding:.15rem .45rem;font-size:.7rem;font-weight:700}.status-indicator.completed{color:#10b981;background:#10b9811a}.status-indicator.pending{color:#f59e0b;background:#f59e0b1a}.spin{animation:1.2s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes logoGlow{0%{filter:drop-shadow(0 0 2px #6366f14d)}to{filter:drop-shadow(0 0 12px #6366f1b3)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUpOnboarding{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.welcome-toast{background:var(--bg-secondary);border:1px solid var(--border-color);border-left:4px solid var(--accent-color);z-index:2000;border-radius:12px;align-items:center;gap:.75rem;max-width:420px;padding:1rem 1.25rem;animation:.4s cubic-bezier(.16,1,.3,1) slideInRight;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 12px 30px #0006}.welcome-toast p{color:var(--text-primary);margin:0;font-size:.9rem;font-weight:500;line-height:1.4}.toast-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.25rem;font-size:1rem;line-height:1;transition:all .2s;display:flex}.toast-close:hover{color:var(--text-primary);background:#ffffff0d}@keyframes slideInRight{0%{opacity:0;transform:translate(120%)}to{opacity:1;transform:translate(0)}}.app-footer{border-top:1px solid var(--border-color);justify-content:center;align-items:center;width:100%;margin-top:2rem;padding:1.5rem 0;display:flex}.footer-content{color:var(--text-muted);text-align:center;justify-content:center;align-items:center;width:100%;font-weight:500;display:flex}.api-actions{justify-content:center;width:100%;margin-top:2rem;display:flex}.profile-selector{flex-direction:column;gap:.75rem;margin-bottom:1.25rem;display:flex}.profile-selector h3{color:var(--text-primary);text-align:center;margin-bottom:.5rem;font-size:1.1rem;font-weight:700}.profile-cards{flex-direction:column;gap:.75rem;display:flex}.profile-card{border:1px solid var(--border-color);cursor:pointer;text-align:left;width:100%;color:var(--text-primary);background:#ffffff05;border-radius:14px;align-items:center;gap:1rem;padding:.85rem 1.25rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.profile-card:hover{border-color:var(--accent-color);box-shadow:0 4px 12px var(--accent-glow);background:#6366f114;transform:translateY(-2px)}.profile-avatar{border:1px solid var(--border-color);background:#ffffff0d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.5rem;display:flex}.profile-details{flex-direction:column;flex-grow:1;gap:.15rem;display:flex}.profile-name{color:var(--text-primary);font-size:.95rem;font-weight:700}.profile-meta{color:var(--text-secondary);font-size:.75rem}.onboarding-divider{text-align:center;color:var(--text-muted);align-items:center;margin:1.25rem 0;font-size:.8rem;font-weight:700;display:flex}.onboarding-divider:before,.onboarding-divider:after{content:"";border-bottom:1px solid var(--border-color);flex:1}.onboarding-divider:not(:empty):before{margin-right:.75em}.onboarding-divider:not(:empty):after{margin-left:.75em}.btn-exit{font-family:var(--font-sans);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);cursor:pointer;box-shadow:var(--glass-shadow);transition:all var(--transition-speed) cubic-bezier(.4, 0, .2, 1);border-radius:12px;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.9rem;font-weight:600;display:flex}.btn-exit:hover{background:var(--priority-high-bg);color:var(--priority-high-text);border-color:var(--priority-high-border);box-shadow:0 4px 12px #f43f5e33}.form-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}
