:root{--bg-primary: #0f0f1a;--bg-secondary: #1a1a2e;--bg-card: rgba(30, 30, 50, .8);--bg-glass: rgba(255, 255, 255, .05);--accent-primary: #6c63ff;--accent-secondary: #00d9ff;--accent-success: #00e676;--accent-warning: #ffab40;--accent-danger: #ff5252;--gradient-primary: linear-gradient(135deg, #6c63ff 0%, #00d9ff 100%);--gradient-success: linear-gradient(135deg, #00e676 0%, #00bcd4 100%);--gradient-warning: linear-gradient(135deg, #ffab40 0%, #ff6f00 100%);--gradient-card: linear-gradient(145deg, rgba(108, 99, 255, .1) 0%, rgba(0, 217, 255, .1) 100%);--text-primary: #ffffff;--text-secondary: #b0b0c3;--text-muted: #6c6c80;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(108, 99, 255, .3);--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 2.5rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 80%,rgba(108,99,255,.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(0,217,255,.15) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(0,230,118,.08) 0%,transparent 50%);z-index:-1;animation:backgroundPulse 15s ease-in-out infinite}@keyframes backgroundPulse{0%,to{opacity:1}50%{opacity:.7}}#root{min-height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-secondary)}.glass-card{background:var(--bg-card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.glass-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-glow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.btn-primary{background:var(--gradient-primary);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow)}.btn-secondary{background:var(--bg-glass);color:var(--text-primary);border:1px solid rgba(255,255,255,.2)}.btn-secondary:hover{background:#ffffff1a}.btn-success{background:var(--gradient-success);color:#fff}.btn-danger{background:var(--accent-danger);color:#fff}.btn-icon{width:40px;height:40px;padding:0;border-radius:50%}.input-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.input-group label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500}.input{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-glass);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #6c63ff33}.input::placeholder{color:var(--text-muted)}.select{appearance:none;padding:var(--spacing-sm) var(--spacing-md);padding-right:var(--spacing-xl);background:var(--bg-secondary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23b0b0c3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat right var(--spacing-sm) center;background-size:16px;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-md);cursor:pointer}.select:focus{outline:none;border-color:var(--accent-primary)}.select option{background:var(--bg-secondary);color:var(--text-primary);padding:var(--spacing-sm)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-xl);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-primary{background:#6c63ff33;color:var(--accent-primary)}.badge-success{background:#00e67633;color:var(--accent-success)}.badge-warning{background:#ffab4033;color:var(--accent-warning)}.badge-danger{background:#ff525233;color:var(--accent-danger)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn .3s ease forwards}.animate-slide-in{animation:slideIn .3s ease forwards}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-center{text-align:center}.text-muted{color:var(--text-secondary)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.w-full{width:100%}.h-full{height:100%}.mt-auto{margin-top:auto}.mb-md{margin-bottom:var(--spacing-md)}.grid{display:grid;gap:var(--spacing-lg)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.grid-cols-4{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}.navbar{background:var(--bg-secondary);border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navbar-container{max-width:1400px;margin:0 auto;padding:var(--spacing-md) var(--spacing-lg);display:flex;align-items:center;justify-content:space-between}.navbar-brand{display:flex;align-items:center;gap:var(--spacing-sm)}.brand-icon{font-size:var(--font-size-xl)}.brand-text{font-size:var(--font-size-lg);font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.navbar-tabs{display:flex;gap:var(--spacing-xs)}.nav-tab{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-family:inherit;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.nav-tab:hover{background:var(--bg-glass);color:var(--text-primary)}.nav-tab.active{background:var(--gradient-primary);color:#fff}.tab-icon{font-size:var(--font-size-md)}.navbar-mobile{display:none}@media(max-width:900px){.navbar-tabs{display:none}.navbar-mobile{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--bg-secondary);border-top:1px solid rgba(255,255,255,.1);padding:var(--spacing-sm);justify-content:space-around;z-index:100}.mobile-tab{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-lg);cursor:pointer;transition:all var(--transition-fast)}.mobile-tab.active{background:var(--gradient-primary);color:#fff;transform:scale(1.1)}.main-content{padding-bottom:80px}}@media(max-width:480px){.brand-text{display:none}}.dashboard{animation:fadeIn .5s ease}.dashboard-header{text-align:center;margin-bottom:var(--spacing-2xl)}.dashboard-title{font-size:var(--font-size-3xl);font-weight:700;margin-bottom:var(--spacing-sm)}.wave{display:inline-block;animation:wave 1.5s ease-in-out infinite;transform-origin:70% 70%}@keyframes wave{0%,to{transform:rotate(0)}25%{transform:rotate(20deg)}50%{transform:rotate(-10deg)}75%{transform:rotate(20deg)}}.dashboard-subtitle{color:var(--text-secondary);font-size:var(--font-size-lg)}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.dashboard-card{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--spacing-lg);cursor:pointer;transition:all var(--transition-normal);animation:fadeIn .5s ease backwards;position:relative;overflow:hidden}.dashboard-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary);opacity:0;transition:opacity var(--transition-normal)}.dashboard-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.dashboard-card:hover:before{opacity:1}.card-primary:before{background:var(--gradient-primary)}.card-success:before{background:var(--gradient-success)}.card-warning:before{background:var(--gradient-warning)}.card-danger:before{background:linear-gradient(135deg,#ff5252,#ff1744)}.card-secondary:before{background:linear-gradient(135deg,#b0b0c3,#6c6c80)}.card-icon{font-size:2.5rem;margin-bottom:var(--spacing-md)}.card-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.card-title{font-size:var(--font-size-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.card-value{font-size:var(--font-size-2xl);font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card-primary .card-value{background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text}.card-success .card-value{background:var(--gradient-success);-webkit-background-clip:text;background-clip:text}.card-warning .card-value{background:var(--gradient-warning);-webkit-background-clip:text;background-clip:text}.card-danger .card-value{color:var(--accent-danger);-webkit-text-fill-color:var(--accent-danger)}.card-subtitle{font-size:var(--font-size-sm);color:var(--text-muted)}.quick-actions{margin-bottom:var(--spacing-2xl)}.section-title{font-size:var(--font-size-xl);margin-bottom:var(--spacing-lg)}.action-buttons{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.upcoming-section{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.upcoming-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.upcoming-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--bg-glass);border-radius:var(--radius-md);border-left:3px solid var(--accent-primary);transition:all var(--transition-fast)}.upcoming-item:hover{background:#ffffff1a}.upcoming-item.overdue{border-left-color:var(--accent-danger);background:#ff52521a}.task-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.task-title{font-weight:600}.task-subject,.task-due{font-size:var(--font-size-sm);color:var(--text-secondary)}.upcoming-item.overdue .task-due{color:var(--accent-danger);font-weight:600}@media(max-width:1024px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.dashboard-grid{grid-template-columns:1fr}.dashboard-title{font-size:var(--font-size-2xl)}.action-buttons{flex-direction:column}.action-buttons .btn{width:100%}}.timetable-page{animation:fadeIn .5s ease}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-md)}.page-title{font-size:var(--font-size-2xl);font-weight:700}.timetable-container{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--spacing-md);overflow-x:auto}.timetable-grid{display:grid;grid-template-columns:80px repeat(5,1fr);gap:2px;min-width:800px}.grid-cell{padding:var(--spacing-sm);background:var(--bg-glass);min-height:60px;display:flex;align-items:center;justify-content:center}.header-cell{background:var(--bg-secondary);font-weight:600;color:var(--text-primary);text-align:center}.time-header{font-size:var(--font-size-sm)}.time-cell{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500}.slot-cell{position:relative;transition:background var(--transition-fast)}.slot-cell:hover{background:#ffffff0d}.class-card{width:100%;height:100%;padding:var(--spacing-sm);border-radius:var(--radius-sm);border-left:3px solid;display:flex;flex-direction:column;gap:var(--spacing-xs);cursor:pointer;transition:transform var(--transition-fast);position:relative}.class-card:hover{transform:scale(1.02)}.class-subject{font-weight:600;font-size:var(--font-size-sm)}.class-room{font-size:var(--font-size-xs);color:var(--text-secondary)}.delete-btn{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:#ff5252cc;border:none;color:#fff;font-size:10px;cursor:pointer;opacity:0;transition:opacity var(--transition-fast)}.class-card:hover .delete-btn{opacity:1}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md);animation:fadeIn .2s ease}.modal{background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--spacing-xl);max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.modal-title{font-size:var(--font-size-xl);margin-bottom:var(--spacing-lg)}.input-group{margin-bottom:var(--spacing-md)}.color-picker{display:flex;gap:var(--spacing-sm)}.color-btn{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast)}.color-btn:hover{transform:scale(1.1)}.color-btn.active{border-color:#fff;transform:scale(1.15)}.modal-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-lg)}@media(max-width:600px){.form-row{grid-template-columns:1fr}}.assignments-page{animation:fadeIn .5s ease}.stats-bar{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.stat-item{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);display:flex;flex-direction:column;align-items:center;flex:1;min-width:100px}.stat-value{font-size:var(--font-size-xl);font-weight:700}.stat-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.filter-bar{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.filter-btn{padding:var(--spacing-sm) var(--spacing-lg);background:var(--bg-glass);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);color:var(--text-secondary);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.filter-btn:hover{background:#ffffff1a}.filter-btn.active{background:var(--gradient-primary);color:#fff;border-color:transparent}.task-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.empty-state{text-align:center;padding:var(--spacing-2xl);color:var(--text-secondary)}.task-item{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;align-items:flex-start;gap:var(--spacing-md);transition:all var(--transition-fast)}.task-item:hover{transform:translate(4px);border-color:var(--accent-primary)}.task-item.completed{opacity:.6}.task-item.completed .task-title{text-decoration:line-through}.task-item.overdue{border-left:3px solid var(--accent-danger)}.check-btn{width:24px;height:24px;min-width:24px;border-radius:50%;border:2px solid var(--accent-primary);background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all var(--transition-fast)}.check-btn.checked{background:var(--gradient-success);border-color:var(--accent-success)}.task-content{flex:1}.task-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);flex-wrap:wrap}.task-title{font-weight:600;font-size:var(--font-size-md)}.priority-badge{padding:2px 8px;border-radius:var(--radius-xl);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase}.task-meta{display:flex;gap:var(--spacing-md);color:var(--text-secondary);font-size:var(--font-size-sm);flex-wrap:wrap}.task-due.overdue{color:var(--accent-danger);font-weight:600}.task-description{margin-top:var(--spacing-sm);color:var(--text-muted);font-size:var(--font-size-sm)}.delete-task-btn{background:none;border:none;font-size:var(--font-size-lg);cursor:pointer;opacity:.5;transition:opacity var(--transition-fast)}.delete-task-btn:hover{opacity:1}.priority-selector{display:flex;gap:var(--spacing-sm)}.priority-btn{flex:1;padding:var(--spacing-sm);border:2px solid;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);font-family:inherit;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.priority-btn.active{transform:scale(1.05)}.textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}@media(max-width:600px){.form-row{grid-template-columns:1fr}.stat-item{min-width:70px;padding:var(--spacing-sm) var(--spacing-md)}}.gpa-page{animation:fadeIn .5s ease}.gpa-overview{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.gpa-main-card{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--spacing-xl);display:flex;align-items:center;gap:var(--spacing-xl)}.gpa-circle{width:140px;height:140px;border-radius:50%;border:6px solid;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-glass);flex-shrink:0}.gpa-value{font-size:var(--font-size-3xl);font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gpa-label{font-size:var(--font-size-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.gpa-info{display:flex;flex-direction:column;gap:var(--spacing-sm)}.status-badge{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-xl);font-weight:600;width:fit-content}.credits-info,.subjects-info{color:var(--text-secondary);font-size:var(--font-size-md)}.gpa-scale{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.gpa-scale h3{margin-bottom:var(--spacing-md);font-size:var(--font-size-md);color:var(--text-secondary)}.scale-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-sm)}.scale-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-glass);border-radius:var(--radius-sm)}.scale-grade{font-weight:600;font-size:var(--font-size-sm)}.scale-point{color:var(--text-secondary);font-size:var(--font-size-sm)}.semester-section{margin-bottom:var(--spacing-xl)}.semester-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid rgba(255,255,255,.1)}.semester-header h2{font-size:var(--font-size-lg)}.semester-gpa{color:var(--text-secondary)}.semester-gpa strong{color:var(--accent-primary)}.subjects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.subject-card{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-md);transition:all var(--transition-fast);position:relative}.subject-card:hover{transform:translateY(-2px);border-color:var(--accent-primary)}.subject-info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.subject-name{font-weight:600}.subject-credits{font-size:var(--font-size-sm);color:var(--text-secondary)}.grade-badge{padding:var(--spacing-sm) var(--spacing-md);background:var(--gradient-primary);border-radius:var(--radius-md);font-weight:700;font-size:var(--font-size-lg)}.delete-subject-btn{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;background:#ff525233;border:none;color:var(--accent-danger);cursor:pointer;opacity:0;transition:opacity var(--transition-fast)}.subject-card:hover .delete-subject-btn{opacity:1}@media(max-width:900px){.gpa-overview{grid-template-columns:1fr}}@media(max-width:600px){.gpa-main-card{flex-direction:column;text-align:center}.scale-grid{grid-template-columns:repeat(3,1fr)}}.expense-page{animation:fadeIn .5s ease}.header-actions{display:flex;gap:var(--spacing-sm)}.budget-overview{margin-bottom:var(--spacing-2xl)}.budget-card{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.budget-progress-container{height:12px;background:var(--bg-glass);border-radius:6px;overflow:hidden;margin-bottom:var(--spacing-lg)}.budget-progress{height:100%;border-radius:6px;transition:width .5s ease}.budget-stats{display:flex;justify-content:space-around;flex-wrap:wrap;gap:var(--spacing-lg)}.stat{text-align:center}.stat-label{display:block;font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.stat-value{font-size:var(--font-size-2xl);font-weight:700}.text-success{color:var(--accent-success)}.text-warning{color:var(--accent-warning)}.text-danger{color:var(--accent-danger)}.section-title{font-size:var(--font-size-lg);margin-bottom:var(--spacing-lg)}.category-breakdown{margin-bottom:var(--spacing-2xl)}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md)}.category-card{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-left:3px solid;border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-md);position:relative;overflow:hidden}.category-icon{font-size:var(--font-size-xl)}.category-info{display:flex;flex-direction:column;z-index:1}.category-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.category-amount{font-size:var(--font-size-lg);font-weight:700}.category-bar{position:absolute;bottom:0;left:0;height:3px;transition:width .5s ease}.expense-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.expense-item{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-md);transition:all var(--transition-fast)}.expense-item:hover{transform:translate(4px);border-color:var(--accent-primary)}.expense-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg)}.expense-info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.expense-desc{font-weight:500}.expense-date{font-size:var(--font-size-sm);color:var(--text-secondary)}.expense-amount{font-weight:700;color:var(--accent-danger)}.delete-expense-btn{width:28px;height:28px;border-radius:50%;background:transparent;border:1px solid rgba(255,82,82,.3);color:var(--accent-danger);cursor:pointer;opacity:0;transition:opacity var(--transition-fast)}.expense-item:hover .delete-expense-btn{opacity:1}.category-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.category-btn{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);border:2px solid;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);font-family:inherit;font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.category-btn.active{transform:scale(1.05)}.category-btn span:first-child{font-size:var(--font-size-lg)}@media(max-width:600px){.header-actions{flex-direction:column;width:100%}.header-actions .btn{width:100%}.page-header{flex-direction:column;gap:var(--spacing-md)}.category-selector{grid-template-columns:repeat(2,1fr)}}.notes-page{animation:fadeIn .5s ease}.notes-toolbar{margin-bottom:var(--spacing-xl)}.search-box{display:flex;align-items:center;background:var(--bg-card);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md)}.search-icon{margin-right:var(--spacing-sm)}.search-input{flex:1;background:transparent;border:none;color:var(--text-primary);font-family:inherit;font-size:var(--font-size-md)}.search-input:focus{outline:none}.search-input::placeholder{color:var(--text-muted)}.subject-filter{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.filter-chip{padding:var(--spacing-xs) var(--spacing-md);background:var(--bg-glass);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);color:var(--text-secondary);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.filter-chip:hover{background:#ffffff1a}.filter-chip.active{background:var(--gradient-primary);color:#fff;border-color:transparent}.notes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg)}.note-card{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--spacing-lg);cursor:pointer;transition:all var(--transition-normal);display:flex;flex-direction:column;min-height:200px}.note-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-glow);border-color:var(--accent-primary)}.note-subject-tag{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-sm);width:fit-content}.note-title{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-preview{flex:1;color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.6;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.note-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid rgba(255,255,255,.1)}.note-date{font-size:var(--font-size-xs);color:var(--text-muted)}.delete-note-btn{background:none;border:none;font-size:var(--font-size-md);cursor:pointer;opacity:0;transition:opacity var(--transition-fast)}.note-card:hover .delete-note-btn{opacity:1}.note-modal{max-width:600px}.note-content-input{resize:vertical;min-height:200px;font-size:var(--font-size-md);line-height:1.6}.empty-state{text-align:center;padding:var(--spacing-2xl);color:var(--text-secondary);background:var(--bg-card);border-radius:var(--radius-lg)}.empty-icon{font-size:3rem;display:block;margin-bottom:var(--spacing-md)}.timer-page{animation:fadeIn .5s ease;max-width:600px;margin:0 auto}.mode-selector{display:flex;gap:var(--spacing-sm);justify-content:center;margin-bottom:var(--spacing-2xl);flex-wrap:wrap}.mode-btn{padding:var(--spacing-sm) var(--spacing-lg);background:var(--bg-glass);border:2px solid var(--mode-color);border-radius:var(--radius-xl);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.mode-btn:hover{transform:translateY(-2px)}.mode-btn.active{font-weight:600}.timer-container{display:flex;justify-content:center;margin-bottom:var(--spacing-2xl)}.timer-circle{position:relative;width:280px;height:280px}.progress-ring{position:absolute;top:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.progress-ring-bg{fill:none;stroke:var(--bg-glass);stroke-width:8}.progress-ring-fill{fill:none;stroke:var(--color);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.timer-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm)}.timer-mode-label{font-size:var(--font-size-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.timer-display{font-size:4rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-variant-numeric:tabular-nums}.session-count{font-size:var(--font-size-sm);color:var(--text-muted)}.timer-controls{display:flex;gap:var(--spacing-md);justify-content:center;margin-bottom:var(--spacing-2xl)}.control-btn{padding:var(--spacing-md) var(--spacing-xl);border:none;border-radius:var(--radius-xl);font-family:inherit;font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--spacing-sm)}.control-btn.secondary{background:var(--bg-glass);color:var(--text-primary);border:1px solid rgba(255,255,255,.1)}.control-btn.secondary:hover{background:#ffffff1a}.control-btn.primary{background:var(--gradient-primary);color:#fff;min-width:140px}.control-btn.primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow)}.control-btn.primary.running{background:var(--gradient-warning)}.timer-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-2xl)}.stat-card{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-md)}.stat-icon{font-size:var(--font-size-2xl)}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:var(--font-size-lg);font-weight:700;color:var(--accent-primary)}.stat-label{font-size:var(--font-size-xs);color:var(--text-secondary)}.timer-tips{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.timer-tips h3{margin-bottom:var(--spacing-md);font-size:var(--font-size-md)}.timer-tips ul{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-sm)}.timer-tips li{color:var(--text-secondary);font-size:var(--font-size-sm);padding-left:var(--spacing-md);position:relative}.timer-tips li:before{content:"•";position:absolute;left:0;color:var(--accent-primary)}@media(max-width:600px){.timer-display{font-size:3rem}.timer-circle{width:240px;height:240px}.timer-stats{grid-template-columns:1fr}.control-btn{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding:var(--spacing-lg);max-width:1400px;margin:0 auto;width:100%}@media(max-width:768px){.main-content{padding:var(--spacing-md)}}
