.navigation{position:fixed;bottom:1.25rem;left:1rem;right:1rem;background-color:#fff;border:1px solid rgba(16,27,51,.06);padding:.5rem;box-shadow:0 12px 40px #101b3314;z-index:50;border-radius:9999px;transition:background-color .2s,border-color .2s;user-select:none;-webkit-user-select:none}@media(min-width:768px){.navigation{max-width:420px;margin:0 auto;left:0;right:0}}.dark .navigation{background-color:#1e293b;border-color:#334155;box-shadow:none}.navigation-container{display:flex;justify-content:space-around;align-items:center;height:100%;width:100%}.navigation-item{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-height:3rem;padding:.25rem 0;transition:all .2s ease-out;cursor:pointer;background:none;border:none;outline:none;color:#8e9bae;-webkit-tap-highlight-color:transparent;position:relative}.navigation-item-active{color:#6d3ff5}.dark .navigation-item-active{color:#a5b4fc}.navigation-item-inactive{color:#8e9bae}.dark .navigation-item-inactive{color:#64748b}.navigation-item-inactive:hover{color:#6d3ff5}.dark .navigation-item-inactive:hover{color:#a5b4fc}.navigation-item-inactive:active{transform:scale(.95)}.navigation-icon{width:1.35rem;height:1.35rem;margin-bottom:.125rem}.navigation-label{font-size:.65rem;font-weight:700;margin-top:.125rem;color:inherit}.navigation-indicator{width:4px;height:4px;background-color:#6d3ff5;border-radius:50%;position:absolute;bottom:-.2rem}.dark .navigation-indicator{background-color:#a5b4fc}.navigation-item-center{display:flex;justify-content:center;align-items:center;position:relative;cursor:pointer;background:none;border:none;outline:none;-webkit-tap-highlight-color:transparent;margin:0 .5rem}.navigation-center-button{background:linear-gradient(135deg,#6d3ff5,#8f6aff);border-radius:50%;padding:.875rem;margin-top:-1.75rem;box-shadow:0 8px 24px #6d3ff559;border:4px solid #ffffff;transition:transform .2s,box-shadow .2s;width:3.5rem;height:3.5rem;display:flex;align-items:center;justify-content:center}.navigation-center-button-active{box-shadow:0 10px 28px #6d3ff573}.dark .navigation-center-button{border-color:#1e293b;box-shadow:none}.navigation-center-button:active{transform:scale(.92)}.navigation-center-icon{width:1.35rem;height:1.35rem;color:#fff}.dashboard-container{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;background-color:#fafac8;background-color:#f7f9fc;padding:1.25rem;padding-top:calc(2rem + env(safe-area-inset-top,0px));padding-bottom:calc(8.5rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:1.5rem;transition:background-color .2s;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}@media(min-width:768px){.dashboard-container{padding:2rem;padding-top:calc(2.25rem + env(safe-area-inset-top,0px));padding-bottom:calc(9rem + env(safe-area-inset-bottom));gap:2rem}}.dark .dashboard-container{background-color:#0f172a}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding-top:.5rem;gap:1rem}.dashboard-header-main{min-width:0;flex:1}.dashboard-header-greeting{color:#6b7894;font-size:.95rem;font-weight:500;display:block;margin-bottom:.25rem}.dashboard-title{font-size:1.625rem;font-weight:800;color:#101b33;line-height:1.25;overflow-wrap:anywhere}@media(min-width:768px){.dashboard-title{font-size:2rem}}.dark .dashboard-title{color:#fff}.dashboard-user-status{color:#6b7894;font-size:.75rem;font-weight:600;margin-top:.25rem;overflow-wrap:anywhere}.dark .dashboard-user-status{color:#94a3b8}.dashboard-header-control-stack{display:flex;align-items:center;gap:.5rem;flex-shrink:0;position:relative}.dashboard-settings-btn{background-color:#fff;padding:0;border-radius:50%;box-shadow:0 4px 12px #101b3308;border:1px solid rgba(16,27,51,.08);transition:all .2s;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.dark .dashboard-settings-btn{background-color:#1e293b;border-color:#334155;box-shadow:none}.dashboard-settings-btn:active{transform:scale(.95)}.dashboard-settings-btn:hover{background-color:#f8fafc}.dark .dashboard-settings-btn:hover{background-color:#334155}.dashboard-notification-dot{position:absolute;top:.5rem;right:.5rem;width:.45rem;height:.45rem;background-color:#ff3b30;border-radius:50%;border:1.5px solid #ffffff}.dark .dashboard-notification-dot{border-color:#1e293b}.dashboard-settings-icon{width:1.25rem;height:1.25rem;color:#101b33}.dark .dashboard-settings-icon{color:#e2e8f0}.dashboard-controls-menu{position:absolute;top:calc(100% + 12px);right:0;z-index:50;width:min(300px,calc(100vw - 32px));background:#fff;border:1px solid rgba(16,27,51,.08);border-radius:24px;box-shadow:0 18px 45px #101b331f;padding:.5rem;display:flex;flex-direction:column;gap:.25rem}.dark .dashboard-controls-menu{background-color:#1e293b;border-color:#334155;box-shadow:none}.dashboard-controls-menu-item{display:flex;align-items:center;gap:.75rem;width:100%;min-height:2.75rem;border-radius:1rem;color:#101b33;font-size:.875rem;font-weight:700;text-align:left;padding:.5rem .75rem;transition:background-color .2s;cursor:pointer;background:transparent;border:none}.dashboard-controls-menu-item:hover,.dashboard-controls-menu-item:focus-visible{background-color:#f8fafc;outline:none}.dark .dashboard-controls-menu-item{color:#e2e8f0}.dark .dashboard-controls-menu-item:hover,.dark .dashboard-controls-menu-item:focus-visible{background-color:#334155}.dashboard-controls-menu-icon{width:2rem;height:2rem;flex-shrink:0;border-radius:50%;background-color:#f0f4ff;color:#6d3ff5;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800}.dark .dashboard-controls-menu-icon{background-color:#1e1b4b;color:#c7d2fe}.dashboard-auth-entry-btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;height:2.5rem;border-radius:9999px;border:1px solid rgba(109,63,245,.15);background-color:#f0f4ff;color:#6d3ff5;padding:0 .875rem;font-size:.75rem;font-weight:700;white-space:nowrap;box-shadow:0 2px 8px #6d3ff50d;cursor:pointer}.dark .dashboard-auth-entry-btn{border-color:#4f46e5;background-color:#1e1b4b;color:#c7d2fe}.dashboard-auth-status-dot{width:.4rem;height:.4rem;border-radius:50%;background-color:#6d3ff5}.dashboard-auth-status-dot-ready{background-color:#10b981}.dashboard-section{display:flex;flex-direction:column;gap:1rem}.dashboard-fragment-panel{background-color:#fff;border:1px solid rgba(16,27,51,.06);border-radius:1.5rem;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;box-shadow:0 8px 30px #101b330a}.dark .dashboard-fragment-panel{background-color:#1e293b;border-color:#334155;box-shadow:none}.dashboard-fragment-form{display:flex;gap:.75rem;align-items:center}.dashboard-fragment-input{flex:1;min-width:0;background-color:transparent;color:#101b33;border:none;padding:.5rem .25rem;font-size:.95rem;outline:none}.dark .dashboard-fragment-input{color:#fff}.dashboard-fragment-submit{width:2.75rem;height:2.75rem;flex-shrink:0;border-radius:.875rem;background:linear-gradient(135deg,#6d3ff5,#8f6aff);color:#fff;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:transform .2s,opacity .2s}.dashboard-fragment-submit:active{transform:scale(.95)}.dashboard-fragment-submit-icon{width:1.25rem;height:1.25rem}.dashboard-fragment-divider{border:0;border-top:1px solid rgba(16,27,51,.08);margin:0;width:100%}.dark .dashboard-fragment-divider{border-color:#334155}.dashboard-fragment-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:#6b7894;font-size:.75rem;font-weight:600}.dark .dashboard-fragment-meta{color:#94a3b8}.dashboard-fragment-link{color:#6d3ff5;font-weight:700;background:none;border:none;cursor:pointer}.dashboard-fragment-link-group{display:flex;align-items:center;gap:1rem}.dark .dashboard-fragment-link{color:#a5b4fc}.dashboard-fragment-list{display:flex;flex-direction:column;gap:.625rem}.dashboard-fragment-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid #e2e8f0;border-radius:1rem;padding:.75rem;background-color:#f8fafc}.dark .dashboard-fragment-item{background-color:#0f172a;border-color:#334155}.dashboard-fragment-item-main{min-width:0}.dashboard-fragment-type{display:inline-flex;align-items:center;border-radius:9999px;padding:.125rem .5rem;font-size:.625rem;font-weight:900;text-transform:uppercase;margin-bottom:.35rem;color:#334155;background-color:#e2e8f0}.dashboard-fragment-type-task,.dashboard-fragment-type-reminder{color:#1d4ed8;background-color:#dbeafe}.dashboard-fragment-type-event{color:#047857;background-color:#d1fae5}.dashboard-fragment-type-note{color:#7c2d12;background-color:#ffedd5}.dark .dashboard-fragment-type{color:#e2e8f0;background-color:#334155}.dashboard-fragment-text{color:#0f172a;font-size:.875rem;line-height:1.35;overflow-wrap:anywhere}.dashboard-fragment-text-button{width:100%;text-align:left}.dashboard-fragment-details{color:#64748b;font-size:.75rem;line-height:1.35;margin-top:.35rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dark .dashboard-fragment-details{color:#94a3b8}.dark .dashboard-fragment-text{color:#e2e8f0}.dashboard-fragment-empty{border:1px dashed #cbd5e1;border-radius:1rem;padding:1rem;color:#64748b;background-color:#f8fafc;font-size:.875rem;line-height:1.4}.dark .dashboard-fragment-empty{border-color:#475569;color:#cbd5e1;background-color:#0f172a}.dashboard-fragment-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.dashboard-fragment-action-primary{color:#fff;background-color:#0f172a;border-radius:9999px;padding:.45rem .75rem;font-size:.75rem;font-weight:800}.dashboard-fragment-action-secondary{background-color:#2563eb}.dark .dashboard-fragment-action-primary{color:#0f172a;background-color:#fff}.dashboard-fragment-action-ghost{width:2rem;height:2rem;color:#64748b;background-color:#fff;border:1px solid #e2e8f0;border-radius:9999px;display:flex;align-items:center;justify-content:center}.dark .dashboard-fragment-action-ghost{color:#cbd5e1;background-color:#1e293b;border-color:#475569}.dashboard-fragment-action-icon{width:1rem;height:1rem}.dashboard-fragment-editor{max-width:32rem}.dashboard-fragment-editor-form{display:flex;flex-direction:column;gap:1rem}.dashboard-fragment-editor-label{display:flex;flex-direction:column;gap:.375rem;color:#334155;font-size:.8rem;font-weight:800}.dark .dashboard-fragment-editor-label{color:#e2e8f0}.dashboard-fragment-editor-input,.dashboard-fragment-editor-textarea{width:100%;border:1px solid #e2e8f0;background-color:#f8fafc;color:#0f172a;border-radius:.875rem;padding:.75rem;font-size:.875rem}.dashboard-fragment-editor-textarea{min-height:8rem;resize:vertical}.dark .dashboard-fragment-editor-input,.dark .dashboard-fragment-editor-textarea{border-color:#475569;background-color:#0f172a;color:#fff}.dashboard-fragment-editor-input:focus,.dashboard-fragment-editor-textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24}.dashboard-fragment-editor-submit{width:100%;border-radius:.875rem;padding:.875rem 1rem;background-color:#2563eb;color:#fff;font-weight:900}.dashboard-fragment-editor-submit:disabled{cursor:not-allowed;background-color:#94a3b8}.dashboard-auth-modal{max-width:28rem}.dashboard-google-auth-btn{width:100%;min-height:3.4rem;border-radius:1rem;border:1px solid #dbeafe;background-color:#fff;color:#0f172a;display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:.95rem;font-weight:900;box-shadow:0 1px 2px #0f172a0f}.dashboard-google-auth-btn:disabled{cursor:not-allowed;opacity:.6}.dark .dashboard-google-auth-btn{border-color:#475569;background-color:#0f172a;color:#f8fafc}.dashboard-google-auth-mark{width:1.55rem;height:1.55rem;border-radius:9999px;background-color:#fff;color:#2563eb;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:900;font-family:Arial,sans-serif}.dashboard-auth-warning,.dashboard-auth-error{border-radius:1rem;padding:.875rem;font-size:.8rem;font-weight:700;line-height:1.4}.dashboard-auth-warning{background-color:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.dashboard-auth-error{background-color:#fee2e2;color:#991b1b;border:1px solid #fecaca}.dark .dashboard-auth-warning{background-color:#431407;color:#fed7aa;border-color:#9a3412}.dark .dashboard-auth-error{background-color:#450a0a;color:#fecaca;border-color:#991b1b}.dashboard-notifications-modal{max-width:26rem}.dashboard-notifications-list{display:flex;flex-direction:column;gap:.75rem}.dashboard-notification-item{width:100%;border:1px solid #e2e8f0;border-radius:1rem;background-color:#f8fafc;color:#0f172a;display:flex;flex-direction:column;gap:.25rem;padding:.875rem;text-align:left}.dashboard-notification-item strong{font-size:.9rem;font-weight:900}.dashboard-notification-item span{color:#64748b;font-size:.8rem;font-weight:700;line-height:1.35}.dashboard-notification-item-alert{border-color:#fecaca;background-color:#fef2f2;color:#991b1b}.dashboard-notification-empty{border:1px dashed #cbd5e1;border-radius:1rem;background-color:#f8fafc;color:#64748b;font-size:.875rem;font-weight:700;padding:1rem;line-height:1.4}.dark .dashboard-notification-item,.dark .dashboard-notification-empty{border-color:#334155;background-color:#0f172a;color:#e2e8f0}.dark .dashboard-notification-item span,.dark .dashboard-notification-empty{color:#94a3b8}.dark .dashboard-notification-item-alert{border-color:#7f1d1d;background-color:#450a0a;color:#fecaca}.dashboard-section-title{font-size:.95rem;font-weight:600;color:#475569;margin-bottom:1rem;letter-spacing:-.015em}@media(min-width:768px){.dashboard-section-title{font-size:1.125rem;font-weight:500}}.dark .dashboard-section-title{color:#94a3b8}.dashboard-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(10rem,100%),1fr));gap:1rem;width:100%}@media(min-width:768px){.dashboard-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.dashboard-card{height:10rem;min-width:0;border-radius:1.5rem;padding:1.25rem;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;position:relative;overflow:hidden;transition:transform .2s cubic-bezier(.2,0,0,1);cursor:pointer;border:1px solid rgba(16,27,51,.03)}@media(min-width:768px){.dashboard-card{height:12rem;padding:1.5rem;border-radius:2rem}}.dashboard-card:active{transform:scale(.96)}.dashboard-card-timetable{background:linear-gradient(135deg,#fff0e1,#ffe3c3)}.dark .dashboard-card-timetable{background:linear-gradient(135deg,#7c2d12,#431407)}.dashboard-card-tasks{background:linear-gradient(135deg,#6d3ff5,#8f6aff)}.dark .dashboard-card-tasks{background:linear-gradient(135deg,#4c1d95,#2e1065)}.dashboard-card-icon-wrapper{z-index:10;background-color:#fff;padding:.625rem;border-radius:.75rem;box-shadow:0 4px 10px #0000000a;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center}.dark .dashboard-card-icon-wrapper{background-color:#ffffff1a;box-shadow:none}.dashboard-card-icon{width:1.25rem;height:1.25rem}.dashboard-card-timetable .dashboard-card-icon{color:#ff8a00}.dashboard-card-tasks .dashboard-card-icon{color:#6d3ff5}.dark .dashboard-card-tasks .dashboard-card-icon{color:#fff}.dashboard-card-content{z-index:10;max-width:100%;min-width:0;text-align:left}.dashboard-card-title{color:#101b33;font-weight:800;font-size:1.05rem;line-height:1.3}@media(min-width:768px){.dashboard-card-title{font-size:1.25rem}}.dark .dashboard-card-title,.dashboard-card-tasks .dashboard-card-title{color:#fff}.dashboard-card-badge{display:flex;align-items:center;max-width:100%;margin-top:.35rem;background-color:#fff;border-radius:9999px;padding:.2rem .65rem;width:fit-content;box-shadow:0 2px 6px #00000005}.dark .dashboard-card-badge{background-color:#00000040;box-shadow:none}.dashboard-card-tasks .dashboard-card-badge{background-color:#ffffff26;box-shadow:none}.dashboard-card-badge-text{font-size:.68rem;font-weight:700;line-height:1.3}.dashboard-card-timetable .dashboard-card-badge-text{color:#ff8a00}.dashboard-card-tasks .dashboard-card-badge-text{color:#fff}.dark .dashboard-card-badge-text{color:#cbd5e1}.dashboard-card-doodle-circle{position:absolute;width:5.5rem;height:5.5rem;border-radius:50%;pointer-events:none}.dashboard-card-timetable .dashboard-card-doodle-circle{background-color:#ff8a000f;right:-1rem;bottom:-1rem}.dashboard-card-tasks .dashboard-card-doodle-circle{background-color:#ffffff1f;right:-.5rem;top:-.5rem}.dashboard-stats-card{background-color:#fff;border-radius:1.5rem;padding:1.5rem;border:1px solid rgba(16,27,51,.06);box-shadow:0 8px 30px #101b330a}@media(min-width:768px){.dashboard-stats-card{border-radius:2rem;padding:1.75rem}}.dark .dashboard-stats-card{background-color:#1e293b;border-color:#334155;box-shadow:none}.dashboard-stats-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.dashboard-stats-header-left{display:flex;align-items:center;gap:.5rem}.dashboard-stats-icon-wrapper{background-color:#ffeaef;padding:.5rem;border-radius:.75rem}.dark .dashboard-stats-icon-wrapper{background-color:#581c87}.dashboard-stats-icon{width:1.25rem;height:1.25rem;color:#ff5a79}.dark .dashboard-stats-icon{color:#fca5a5}.dashboard-stats-title{font-weight:800;color:#101b33}.dark .dashboard-stats-title{color:#fff}.dashboard-stats-badge{background-color:#f1f5f9;color:#6b7894;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:700}.dark .dashboard-stats-badge{background-color:#334155;color:#cbd5e1}.dashboard-stats-badge-alert{background-color:#ffeaef;color:#ff5a79}.dark .dashboard-stats-badge-alert{background-color:#7f1d1d;color:#fecaca}.dashboard-chart-container-live{margin-bottom:1rem}.dashboard-chart-container-live .dashboard-chart-bar{animation:dashboardPipFloat 3.8s ease-in-out infinite;animation-delay:calc(var(--pip-index, 0) * .12s);transform-origin:bottom}.dashboard-chart-bar-muted{background-color:#e2e8f0;opacity:.8}.dark .dashboard-chart-bar-muted{background-color:#334155}.dashboard-chart-bar-alert{background-color:#ff5a79}.dark .dashboard-chart-bar-alert{background-color:#be123c}.dashboard-consistency-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(5.8rem,1fr));gap:.75rem;width:100%}@media(min-width:480px){.dashboard-consistency-summary{gap:.625rem}}@media(min-width:900px){.dashboard-consistency-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:.625rem}}.dashboard-consistency-score-pill,.dashboard-consistency-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;border-radius:1rem;background-color:#f8fafc;border:1px solid rgba(16,27,51,.05);padding:.875rem .75rem;text-align:center;min-width:0;transition:all .2s ease-out;cursor:pointer}.dashboard-consistency-item:active{transform:scale(.95)}.dark .dashboard-consistency-score-pill,.dark .dashboard-consistency-item{background-color:#0f172a;border-color:#334155}.dashboard-consistency-score-pill strong,.dashboard-consistency-item strong{color:#101b33;font-size:.9rem;font-weight:800;line-height:1.2}@media(min-width:768px){.dashboard-consistency-score-pill strong,.dashboard-consistency-item strong{font-size:1rem}}.dark .dashboard-consistency-score-pill strong,.dark .dashboard-consistency-item strong{color:#fff}.dashboard-consistency-score-pill span,.dashboard-consistency-item span{color:#6b7894;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;line-height:1.2;overflow-wrap:anywhere}@media(min-width:768px){.dashboard-consistency-score-pill span,.dashboard-consistency-item span{font-size:.72rem;font-weight:800}}.dark .dashboard-consistency-score-pill span,.dark .dashboard-consistency-item span{color:#94a3b8}.dashboard-chart-container{position:relative;height:6rem;display:flex;align-items:flex-end;justify-content:space-between;gap:.25rem;padding:0 .25rem}.dashboard-chart-bg{position:absolute;top:0;right:0;bottom:0;left:0;top:1rem;opacity:.2}.dashboard-chart-bg svg{width:100%;height:100%}.dashboard-chart-bar{width:100%;border-radius:.5rem .5rem 0 0}.dashboard-chart-bar-even{background-color:#c7d2fe}.dark .dashboard-chart-bar-even{background-color:#4338ca}.dashboard-chart-bar-odd{background-color:#e9d5ff}.dark .dashboard-chart-bar-odd{background-color:#7c3aed}.dashboard-classes-section{display:flex;flex-direction:column;gap:1rem;min-width:0}.dashboard-classes-header{display:flex;justify-content:space-between;align-items:center}.dashboard-classes-title{font-weight:800;font-size:1.125rem;color:#101b33}.dark .dashboard-classes-title{color:#fff}.dashboard-view-all-btn{font-size:.78rem;color:#6d3ff5;font-weight:700;background:none;border:none;cursor:pointer}.dark .dashboard-view-all-btn{color:#a5b4fc}.dashboard-classes-scroll{display:flex;overflow-x:auto;overflow-y:hidden;gap:.875rem;padding-bottom:.75rem;margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem;-webkit-overflow-scrolling:touch}@media(min-width:768px){.dashboard-classes-scroll{margin-left:-1.5rem;margin-right:-1.5rem;padding-left:1.5rem;padding-right:1.5rem;gap:1rem}}.dashboard-class-card{min-width:120px;width:120px;height:9rem;border-radius:1.5rem;padding:1rem;display:flex;flex-direction:column;justify-content:space-between;position:relative;flex-shrink:0;transition:transform .2s;border:1px solid rgba(16,27,51,.03)}.dashboard-class-card:active{transform:scale(.96)}.dashboard-class-card-purple{background-color:#eee4ff}.dark .dashboard-class-card-purple{background-color:#2e1065}.dashboard-class-card-blue{background-color:#d6e4ff}.dark .dashboard-class-card-blue{background-color:#1e3a8a}.dashboard-class-card-pink{background-color:#fee2e2}.dark .dashboard-class-card-pink{background-color:#881337}.dashboard-class-card-teal{background-color:#d1fae5}.dark .dashboard-class-card-teal{background-color:#064e3b}.dashboard-class-card-cream{background-color:#fff0e1}.dark .dashboard-class-card-cream{background-color:#78350f}.dashboard-class-name{font-weight:800;color:#101b33;font-size:.85rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dark .dashboard-class-name{color:#f1f5f9}.dashboard-class-time{font-size:.75rem;color:#6b7894;margin-top:.25rem;font-weight:500}.dark .dashboard-class-time{color:#cbd5e1}.dashboard-class-icon-wrapper{display:flex;justify-content:center}.dashboard-class-icon-circle{width:2.25rem;height:2.25rem;background-color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #101b330d}.dark .dashboard-class-icon-circle{background-color:#ffffff1a;box-shadow:none}.dashboard-empty-classes{width:100%;text-align:center;padding:2rem 0;color:#94a3b8;background-color:#fff;border-radius:1.5rem;border:1px dashed #e2e8f0}.dark .dashboard-empty-classes{color:#64748b;background-color:#1e293b;border-color:#334155}.dashboard-empty-classes-btn{color:#6d3ff5;font-size:.875rem;font-weight:700;margin-top:.5rem}.dark .dashboard-empty-classes-btn{color:#a5b4fc}.dashboard-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:1rem;animation:fadeIn .2s}.dashboard-modal{background-color:#fff;width:100%;max-width:24rem;max-height:min(92vh,44rem);border-radius:1.5rem;box-shadow:0 25px 50px -12px #00000040;overflow:hidden;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;overflow-y:auto}.dark .dashboard-modal{background-color:#1e293b}.dashboard-modal-header{display:flex;justify-content:space-between;align-items:center}.dashboard-modal-title{font-size:1.25rem;font-weight:700;color:#0f172a}.dark .dashboard-modal-title{color:#fff}.dashboard-modal-close-btn{color:#94a3b8;transition:color .2s}.dashboard-modal-close-btn:hover{color:#475569}.dark .dashboard-modal-close-btn:hover{color:#e2e8f0}.dashboard-modal-close-icon{width:1.5rem;height:1.5rem}.dashboard-modal-section{display:flex;flex-direction:column;gap:.75rem}.dashboard-modal-section-title{font-size:.875rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.dark .dashboard-modal-section-title{color:#94a3b8}.dashboard-theme-toggle-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem;border-radius:1rem;background-color:#f8fafc;border:1px solid #f1f5f9}.dark .dashboard-theme-toggle-btn{background-color:#334155;border-color:#475569}.dashboard-theme-toggle-left{display:flex;align-items:center;gap:.75rem}.dashboard-theme-icon-wrapper{padding:.5rem;border-radius:9999px}.dashboard-theme-icon-wrapper-light{background-color:#fed7aa;color:#f97316}.dashboard-theme-icon-wrapper-dark{background-color:#475569}.dashboard-theme-icon{width:1.25rem;height:1.25rem}.dashboard-theme-icon-dark{color:#a5b4fc}.dashboard-theme-label{font-weight:500;color:#334155}.dark .dashboard-theme-label{color:#e2e8f0}.dashboard-theme-switch{width:3rem;height:1.75rem;border-radius:9999px;transition:background-color .2s ease-in-out;position:relative;background-color:#cbd5e1}.dashboard-theme-switch-active{background-color:#2563eb}.dashboard-theme-switch-thumb{position:absolute;top:.25rem;width:1.25rem;height:1.25rem;background-color:#fff;border-radius:9999px;box-shadow:0 1px 2px #0000000d;transition:transform .2s ease-in-out}.dashboard-theme-switch-thumb-active{left:1.5rem}.dashboard-theme-switch-thumb-inactive{left:.25rem}.dashboard-language-buttons{display:flex;gap:.5rem}.dashboard-language-btn{flex:1;padding:.75rem 0;border-radius:.75rem;font-weight:700;font-size:.875rem;transition:all .2s}.dashboard-language-btn-active{background-color:#0f172a;color:#fff;box-shadow:0 10px 15px -3px #0000001a;transform:scale(1.05)}.dark .dashboard-language-btn-active{background-color:#fff;color:#0f172a}.dashboard-language-btn-inactive{background-color:#f8fafc;color:#64748b}.dark .dashboard-language-btn-inactive{background-color:#334155;color:#cbd5e1}.dashboard-language-btn-inactive:hover{background-color:#f1f5f9}.dark .dashboard-language-btn-inactive:hover{background-color:#475569}@keyframes dashboardPipFloat{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.08)}}@media(prefers-reduced-motion:reduce){.dashboard-chart-container-live .dashboard-chart-bar{animation:none}}.dashboard-studytip-card{background:linear-gradient(135deg,#eee4ff,#e3d5ff);border:1px solid rgba(109,63,245,.05);border-radius:1.5rem;padding:1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:0 8px 24px #6d3ff508;margin-bottom:1.5rem}.dark .dashboard-studytip-card{background:linear-gradient(135deg,#2e1065,#1e1b4b);border-color:#a5b4fc1a;box-shadow:none}.dashboard-studytip-icon-wrapper{background-color:#fff;border-radius:1rem;width:3.25rem;height:3.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #6d3ff51a}.dark .dashboard-studytip-icon-wrapper{background-color:#ffffff1a;box-shadow:none}.dashboard-studytip-icon{width:1.5rem;height:1.5rem;color:#6d3ff5}.dark .dashboard-studytip-icon{color:#c7d2fe}.dashboard-studytip-content{display:flex;flex-direction:column;gap:.125rem}.dashboard-studytip-kicker{font-size:.7rem;font-weight:800;color:#6d3ff5;text-transform:uppercase;letter-spacing:.05em;margin:0}.dark .dashboard-studytip-kicker{color:#a5b4fc}.dashboard-studytip-title{font-size:.95rem;font-weight:800;color:#101b33;margin:0}.dark .dashboard-studytip-title{color:#fff}.dashboard-studytip-text{font-size:.75rem;color:#6b7894;margin:0;line-height:1.35;font-weight:500}.dark .dashboard-studytip-text{color:#cbd5e1}.timetable-container{height:100%;width:100%;min-width:0;min-height:0;display:flex;flex-direction:column;background-color:var(--color-bg);padding-bottom:calc(7.5rem + env(safe-area-inset-bottom));position:relative;transition:background-color .2s;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.dark .timetable-container{background-color:#0f172a}.timetable-header{background-color:var(--color-surface);padding:1.5rem 1.5rem .5rem;position:sticky;top:0;z-index:10;box-shadow:0 1px 2px 0 var(--color-border);transition:background-color .2s}.dark .timetable-header{background-color:#1e293b}.timetable-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.timetable-title{font-size:1.5rem;font-weight:700;color:var(--color-text)}.dark .timetable-title{color:#fff}.timetable-add-btn{background:var(--gradient-primary);color:#fff;padding:.5rem;border-radius:9999px;box-shadow:0 10px 15px -3px #6d3ff540;transition:transform .2s,opacity .2s;display:flex;align-items:center;justify-content:center}.timetable-add-btn:hover{opacity:.88}.timetable-add-btn:active{transform:scale(.95)}.timetable-add-icon{width:1.5rem;height:1.5rem}.timetable-day-selector{display:flex;justify-content:space-between;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;background-color:var(--color-surface-soft);padding:.25rem;border-radius:.75rem;gap:.25rem}.dark .timetable-day-selector{background-color:#334155}.timetable-day-btn{flex:1 0 2.35rem;min-width:0;padding:.5rem 0;font-size:.75rem;font-weight:500;border-radius:.5rem;transition:all .2s}@media(min-width:640px){.timetable-day-btn{font-size:.875rem}}.timetable-day-btn-active{background-color:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-card)}.dark .timetable-day-btn-active{background-color:#475569;color:#c4b5fd}.timetable-day-btn-inactive{color:var(--color-text-muted)}.dark .timetable-day-btn-inactive{color:#94a3b8}.timetable-day-btn-inactive:hover{color:var(--color-text)}.dark .timetable-day-btn-inactive:hover{color:#e2e8f0}.timetable-content{flex:1;min-height:0;padding:1.5rem;overflow:visible}.timetable-classes-list{position:relative;border-left:2px solid var(--color-border);margin-left:.75rem;display:flex;flex-direction:column;gap:2rem;padding:.5rem 0 .5rem 1.5rem}.dark .timetable-classes-list{border-color:#334155}.timetable-class-item{position:relative}.timetable-class-dot{position:absolute;left:-2.1rem;top:0;width:1rem;height:1rem;border-radius:9999px;border:2px solid var(--color-surface);box-shadow:0 1px 2px 0 var(--color-border)}.dark .timetable-class-dot{border-color:#0f172a}.timetable-class-card{background-color:var(--color-surface);border-radius:.75rem;padding:1rem;box-shadow:var(--shadow-card);border:1px solid var(--color-border);position:relative}.dark .timetable-class-card{background-color:#1e293b;border-color:#334155}.timetable-class-actions{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.timetable-class-action-btn{width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;color:#cbd5e1;border-radius:.5rem;transition:color .2s}.timetable-class-action-btn:hover{background-color:var(--color-surface-soft)}.dark .timetable-class-action-btn:hover{background-color:#334155}.timetable-class-edit-btn:hover{color:var(--color-primary)}.timetable-class-delete-btn:hover{color:var(--color-danger)}.timetable-class-action-icon{width:1rem;height:1rem}.timetable-class-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.5rem}.timetable-class-title-area{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.timetable-class-name{font-weight:700;color:var(--color-text);font-size:1.125rem;line-height:1.25;min-width:0;max-width:100%;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dark .timetable-class-name{color:#f1f5f9}.timetable-conflict-badge{display:inline-flex;align-items:center;border-radius:9999px;background-color:var(--color-danger-soft);color:var(--color-danger);font-size:.625rem;font-weight:900;text-transform:uppercase;padding:.2rem .5rem;white-space:nowrap}.dark .timetable-conflict-badge{background-color:#7f1d1d;color:#fecaca}.timetable-class-time{display:inline-block;font-size:.75rem;font-family:monospace;padding:.25rem .5rem;background-color:var(--color-accent-orange-soft);border-radius:.25rem;color:var(--color-accent-orange);margin-bottom:.5rem;font-weight:700}.dark .timetable-class-time{background-color:#334155;color:#cbd5e1}.timetable-class-info{display:flex;align-items:center;color:var(--color-text-muted);font-size:.875rem;margin-bottom:.25rem}.dark .timetable-class-info{color:#94a3b8}.timetable-class-info-icon{width:1rem;height:1rem;margin-right:.25rem;flex-shrink:0}.timetable-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:16rem;color:var(--color-text-muted)}.dark .timetable-empty-state{color:#64748b}.timetable-empty-icon{width:4rem;height:4rem;margin-bottom:1rem;color:var(--color-primary-soft)}.dark .timetable-empty-icon{color:#334155}.timetable-empty-text{margin-bottom:1rem}.timetable-empty-btn{margin-top:1rem;color:var(--color-primary);font-weight:500;transition:text-decoration .2s}.dark .timetable-empty-btn{color:#c4b5fd}.timetable-empty-btn:hover{text-decoration:underline}.timetable-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:flex-end;justify-content:center;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:1rem;padding-bottom:calc(6.25rem + env(safe-area-inset-bottom));animation:fadeIn .2s;overflow:hidden}@media(min-width:640px){.timetable-modal-overlay{align-items:center;padding-bottom:1rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}.timetable-modal{background-color:var(--color-surface);width:100%;max-width:28rem;max-height:calc(100dvh - 7.25rem - env(safe-area-inset-bottom));border-radius:1rem;box-shadow:var(--shadow-soft);overflow:hidden;animation:slideIn .3s;display:flex;flex-direction:column;min-height:0}.dark .timetable-modal{background-color:#1e293b}@media(min-width:640px){.timetable-modal{max-height:calc(100dvh - 2rem)}}.timetable-modal-header{padding:1rem;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;background-color:var(--color-surface-soft);flex-shrink:0}.dark .timetable-modal-header{background-color:#334155;border-color:#334155}.timetable-modal-title{font-weight:700;font-size:1.125rem;color:var(--color-text)}.dark .timetable-modal-title{color:#fff}.timetable-modal-close-btn{color:var(--color-text-muted);transition:color .2s}.timetable-modal-close-btn:hover{color:var(--color-text)}.dark .timetable-modal-close-btn:hover{color:#e2e8f0}.timetable-modal-close-icon{width:1.5rem;height:1.5rem}.timetable-form{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;flex:1;min-height:0;overflow-y:auto;padding-bottom:calc(2rem + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}.timetable-form-group{display:flex;flex-direction:column}.timetable-form-label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text);margin-bottom:.25rem}.dark .timetable-form-label{color:#cbd5e1}.timetable-form-input{width:100%;padding:.75rem;background-color:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:.75rem;transition:all .2s;color:var(--color-text)}.dark .timetable-form-input{background-color:#334155;border-color:#475569;color:#fff}.timetable-form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.timetable-form-row{display:flex;gap:.75rem}.timetable-form-row .timetable-form-group{flex:1}.timetable-day-selector-form{display:flex;background-color:var(--color-surface-soft);padding:.25rem;border-radius:.75rem;gap:.125rem;overflow-x:auto}.dark .timetable-day-selector-form{background-color:#334155}.timetable-day-btn-form{flex:1;padding:.5rem .25rem;font-size:.75rem;font-weight:700;border-radius:.5rem;transition:all .2s;white-space:nowrap}.timetable-day-btn-form-active{background-color:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-card)}.dark .timetable-day-btn-form-active{background-color:#64748b;color:#fff}.timetable-day-btn-form-inactive{color:var(--color-text-muted)}.dark .timetable-day-btn-form-inactive{color:#94a3b8}.timetable-conflict-warning{border:1px solid #fecaca;background-color:var(--color-danger-soft);color:var(--color-danger);border-radius:.75rem;padding:.75rem;font-size:.875rem;font-weight:700}.dark .timetable-conflict-warning{border-color:#991b1b;background-color:#450a0a;color:#fecaca}.timetable-form-submit{width:100%;padding:1rem;background:var(--gradient-primary);color:#fff;font-weight:700;border-radius:.75rem;box-shadow:0 10px 15px -3px #6d3ff540;transition:all .2s;margin-top:1rem}.timetable-form-submit:hover{opacity:.88;transform:scale(1.01)}.todos-container{height:100%;width:100%;min-width:0;min-height:0;display:flex;flex-direction:column;background-color:var(--color-bg);padding-bottom:calc(7.5rem + env(safe-area-inset-bottom));transition:background-color .2s;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.dark .todos-container{background-color:#0f172a}.todos-header{padding:1rem;min-width:0;background-color:var(--color-surface);position:sticky;top:0;z-index:10;box-shadow:0 1px 2px 0 var(--color-border);transition:background-color .2s}@media(min-width:768px){.todos-header{padding:1.5rem}}.dark .todos-header{background-color:#1e293b}.todos-title{font-size:1.25rem;font-weight:700;color:var(--color-text);margin-bottom:1rem;word-break:break-word}@media(min-width:768px){.todos-title{font-size:1.5rem}}.dark .todos-title{color:#fff}.todos-form{display:flex;flex-direction:column;gap:.75rem;min-width:0}.todos-input-row{display:flex;gap:.5rem}.todos-input{flex:1;padding:.75rem 1rem;background-color:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:.75rem;transition:all .2s;color:var(--color-text)}.dark .todos-input{background-color:#334155;border-color:#475569;color:#fff}.todos-input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.todos-add-btn{background:var(--gradient-primary);color:#fff;border-radius:.75rem;padding:.5rem 1rem;font-weight:500;transition:opacity .2s,transform .2s;display:flex;align-items:center;justify-content:center}.todos-add-btn:hover{opacity:.88}.todos-add-icon{width:1.5rem;height:1.5rem}.todos-options-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;min-width:0}.todos-priority-group{display:flex;gap:.5rem;flex:1 1 13rem;min-width:0;flex-wrap:wrap}.todos-priority-btn{font-size:.75rem;text-transform:uppercase;font-weight:700;padding:.375rem .75rem;border-radius:.5rem;transition:all .2s;border:1px solid}.todos-priority-btn-high-active{background-color:var(--color-danger-soft);color:var(--color-danger);border-color:#fecaca}.dark .todos-priority-btn-high-active{background-color:#7f1d1d;color:#fca5a5;border-color:#991b1b}.todos-priority-btn-medium-active{background-color:var(--color-warning-soft);color:var(--color-warning);border-color:#fde68a}.dark .todos-priority-btn-medium-active{background-color:#78350f;color:#fcd34d;border-color:#92400e}.todos-priority-btn-low-active{background-color:var(--color-success-soft);color:var(--color-success);border-color:#bbf7d0}.dark .todos-priority-btn-low-active{background-color:#14532d;color:#86efac;border-color:#166534}.todos-priority-btn-inactive{background-color:var(--color-surface-soft);color:var(--color-text-muted);border-color:var(--color-border)}.dark .todos-priority-btn-inactive{background-color:#334155;color:#64748b;border-color:#475569}.todos-priority-btn-inactive:hover{border-color:#cbd5e1}.dark .todos-priority-btn-inactive:hover{border-color:#64748b}.todos-date-field{position:relative;flex:1 1 9.5rem;min-width:0;max-width:100%;min-height:44px;display:flex;align-items:center;padding:.375rem .75rem;background-color:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:.5rem;color:var(--color-text-muted);cursor:pointer;overflow:hidden;transition:all .2s}.dark .todos-date-field{background-color:#334155;border-color:#475569;color:#cbd5e1}.todos-date-field-filled{color:var(--color-text);border-color:var(--color-primary-soft);background-color:var(--color-surface)}.dark .todos-date-field-filled{color:#e2e8f0;border-color:#64748b;background-color:#1e293b}.todos-date-field:focus-within{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.todos-date-display{display:inline-flex;align-items:center;gap:.45rem;min-width:0;max-width:100%;font-size:.875rem;font-weight:800;line-height:1;pointer-events:none}.todos-date-field-icon{width:1rem;height:1rem;flex-shrink:0;color:currentColor}.todos-date-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.todos-date-input::-webkit-calendar-picker-indicator{width:100%;height:100%;cursor:pointer}@media(max-width:639px){.todos-date-field{flex-basis:100%;width:100%}}.todos-content{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.todos-empty{text-align:center;color:var(--color-text-muted);margin-top:2.5rem}.dark .todos-empty{color:#64748b}.todos-section{display:flex;flex-direction:column;gap:.75rem}.todos-section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.todos-section-title{color:var(--color-text);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.dark .todos-section-title{color:#cbd5e1}.todos-section-count{min-width:1.5rem;height:1.5rem;padding:0 .45rem;border-radius:9999px;background-color:var(--color-primary-soft);color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800}.dark .todos-section-count{background-color:#334155;color:#e2e8f0}.todos-item{display:flex;align-items:flex-start;padding:1rem;background-color:var(--color-surface);border-radius:.75rem;border:1px solid transparent;transition:all .2s}.dark .todos-item{background-color:#1e293b}.todos-item-completed{opacity:.6;border-color:transparent;background-color:var(--color-surface-soft)}.dark .todos-item-completed{background-color:#0f172a}.todos-item-active{box-shadow:var(--shadow-card);border-color:var(--color-border)}.todos-item-active:hover{border-color:var(--color-primary-soft);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.dark .todos-item-active{border-color:#334155}.dark .todos-item-active:hover{border-color:var(--color-primary-dark)}.todos-checkbox{width:1.5rem;height:1.5rem;border-radius:9999px;border:2px solid;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-right:1rem;margin-top:.125rem;transition:all .2s;border-color:#cbd5e1}.dark .todos-checkbox{border-color:#475569}.todos-checkbox-checked{background-color:var(--color-primary);border-color:var(--color-primary)}.todos-check-icon{width:.75rem;height:.75rem;color:#fff}.todos-item-content{flex:1;min-width:0}.todos-item-text{color:var(--color-text);transition:all .2s;word-break:break-word;text-align:left;width:100%}.dark .todos-item-text{color:#e2e8f0}.todos-item-text-completed{text-decoration:line-through;color:var(--color-text-muted)}.dark .todos-item-text-completed{color:#475569}.todos-edit-row{display:flex;gap:.5rem}.todos-edit-input{flex:1;min-width:0;padding:.5rem .75rem;border:1px solid var(--color-primary-soft);border-radius:.75rem;background-color:var(--color-surface);color:var(--color-text)}.dark .todos-edit-input{background-color:#0f172a;border-color:#475569;color:#fff}.todos-edit-input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.todos-edit-save{border-radius:.75rem;padding:.5rem .75rem;background:var(--gradient-primary);color:#fff;font-size:.75rem;font-weight:800}.todos-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.375rem}.todos-priority-badge{font-size:.625rem;text-transform:uppercase;font-weight:700;letter-spacing:.05em}.todos-priority-badge-high{color:var(--color-danger)}.dark .todos-priority-badge-high{color:#f87171}.todos-priority-badge-medium{color:var(--color-warning)}.dark .todos-priority-badge-medium{color:#fbbf24}.todos-priority-badge-low{color:var(--color-success)}.dark .todos-priority-badge-low{color:#4ade80}.todos-date-badge{display:flex;align-items:center;font-size:.625rem;color:var(--color-text-muted);font-weight:500}.dark .todos-date-badge{color:#64748b}.todos-date-icon{width:.75rem;height:.75rem;margin-right:.25rem}.todos-delete-btn{color:#cbd5e1;transition:color .2s;padding:.5rem;margin:-.5rem -.5rem -.5rem 0}.todos-delete-btn:hover{color:var(--color-danger)}.dark .todos-delete-btn:hover{color:#f87171}.todos-delete-icon{width:1.25rem;height:1.25rem}.ai-chat-container{height:100%;min-height:0;width:100%;min-width:0;max-width:100%;overflow:hidden;display:flex;flex-direction:column;background-color:var(--color-bg);color:var(--color-text)}.ai-chat-container,.ai-chat-container *{box-sizing:border-box}.dark .ai-chat-container{background-color:#0f172a;color:#f8fafc}.ai-chat-header{flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:calc(1.75rem + env(safe-area-inset-top,0px)) 1rem 1rem;background-color:var(--color-bg);border-bottom:1px solid rgba(16,27,51,.06)}.ai-chat-header>div:first-child{min-width:0}@media(min-width:768px){.ai-chat-header{padding-left:1.5rem;padding-right:1.5rem}}.dark .ai-chat-header{background-color:#0f172a;border-color:#1e293b}.ai-chat-kicker{color:var(--color-primary);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin:0}.dark .ai-chat-kicker{color:#c4b5fd}.ai-chat-title{color:var(--color-text);font-size:1.55rem;font-weight:900;line-height:1.15;margin:.25rem 0 0;overflow-wrap:anywhere}.dark .ai-chat-title{color:#fff}.ai-chat-header-actions{flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap;max-width:52%}.ai-chat-limit-pill{flex-shrink:0;border-radius:9999px;background-color:#fff7ed;color:#c2410c;border:1px solid #fed7aa;padding:.45rem .7rem;font-size:.72rem;font-weight:900;white-space:nowrap}.ai-chat-clear-btn{flex-shrink:0;border-radius:9999px;border:1px solid rgba(109,63,245,.18);background-color:#fff;color:var(--color-primary);padding:.45rem .7rem;font-size:.72rem;font-weight:900;white-space:nowrap;cursor:pointer;transition:opacity .2s,transform .2s}.ai-chat-clear-btn:active{transform:scale(.96)}.ai-chat-clear-btn:disabled{cursor:not-allowed;opacity:.45}.dark .ai-chat-limit-pill{background-color:#431407;color:#fed7aa;border-color:#7c2d12}.dark .ai-chat-clear-btn{background-color:#1e293b;color:#c4b5fd;border-color:#4c1d95}.ai-chat-messages{flex:1;min-height:0;min-width:0;max-width:100%;overflow-y:auto;overflow-x:hidden;padding:1rem;display:flex;flex-direction:column;gap:.875rem;-webkit-overflow-scrolling:touch}@media(min-width:768px){.ai-chat-messages{width:min(48rem,100%);margin:0 auto;padding:1.25rem 1.5rem}}.ai-chat-history-loading{align-self:center;margin:auto 0;display:flex;align-items:center;gap:.75rem;color:var(--color-text-muted);font-size:.85rem;font-weight:800}.ai-chat-history-loading .ai-chat-thinking{min-width:auto;padding:.65rem .8rem;border-radius:9999px;background-color:#fff;border:1px solid rgba(16,27,51,.08)}.ai-chat-history-loading p{margin:0}.dark .ai-chat-history-loading{color:#cbd5e1}.dark .ai-chat-history-loading .ai-chat-thinking{background-color:#1e293b;border-color:#334155}.ai-chat-gate,.ai-chat-empty{align-self:center;width:min(calc(100vw - 2rem),34rem);max-width:34rem;margin:auto 0;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:1.25rem;padding:1.25rem;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:.875rem;text-align:left}.ai-chat-gate>*,.ai-chat-empty>*{min-width:0;max-width:100%}.dark .ai-chat-gate,.dark .ai-chat-empty{background-color:#1e293b;border-color:#334155;box-shadow:none}.ai-chat-gate-icon,.ai-chat-empty-icon{width:3rem;height:3rem;border-radius:1rem;background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 26px #6d3ff540}.dark .ai-chat-gate-icon,.dark .ai-chat-empty-icon{box-shadow:none}.ai-chat-gate-svg,.ai-chat-empty-svg{width:1.45rem;height:1.45rem}.ai-chat-gate h2,.ai-chat-empty h2{margin:0;color:var(--color-text);font-size:1.25rem;line-height:1.2;font-weight:900}.dark .ai-chat-gate h2,.dark .ai-chat-empty h2{color:#fff}.ai-chat-gate p,.ai-chat-empty p{margin:0;color:var(--color-text-muted);font-size:.88rem;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.dark .ai-chat-gate p,.dark .ai-chat-empty p{color:#cbd5e1}.ai-chat-sign-in-btn{width:100%;border:none;border-radius:.95rem;background:var(--gradient-primary);color:#fff;padding:.9rem 1rem;font-size:.92rem;font-weight:900;cursor:pointer}.ai-chat-sign-in-btn:disabled{cursor:not-allowed;opacity:.6}.ai-chat-suggestions{display:grid;grid-template-columns:1fr;gap:.6rem}@media(min-width:520px){.ai-chat-suggestions{grid-template-columns:repeat(2,minmax(0,1fr))}}.ai-chat-suggestion{min-height:2.75rem;border-radius:.9rem;border:1px solid rgba(109,63,245,.14);background-color:#f4f0ff;color:var(--color-primary);padding:.65rem .75rem;font-size:.8rem;font-weight:900;text-align:left;line-height:1.25;cursor:pointer}.dark .ai-chat-suggestion{background-color:#1e1b4b;color:#c4b5fd;border-color:#4c1d95}.ai-chat-message{display:flex;width:100%;min-width:0}.ai-chat-message-user{justify-content:flex-end}.ai-chat-message-assistant{justify-content:flex-start}.ai-chat-message-bubble{max-width:min(82%,34rem);border-radius:1.1rem;padding:.85rem .95rem;font-size:.9rem;font-weight:600;line-height:1.45;overflow-wrap:anywhere;white-space:normal}.ai-chat-message-bubble p{margin:0}.ai-chat-message-bubble p+p{margin-top:.5rem}.ai-chat-message-user .ai-chat-message-bubble{background:var(--gradient-primary);color:#fff;border-bottom-right-radius:.35rem}.ai-chat-message-assistant .ai-chat-message-bubble{background-color:#fff;color:var(--color-text);border:1px solid rgba(16,27,51,.08);border-bottom-left-radius:.35rem;box-shadow:0 8px 26px #101b330f}.dark .ai-chat-message-assistant .ai-chat-message-bubble{background-color:#1e293b;color:#f8fafc;border-color:#334155;box-shadow:none}.ai-chat-thinking{min-width:4.5rem;display:flex;align-items:center;gap:.35rem}.ai-chat-thinking span{width:.45rem;height:.45rem;border-radius:9999px;background-color:var(--color-primary);animation:aiChatPulse 1.2s ease-in-out infinite}.ai-chat-thinking span:nth-child(2){animation-delay:.12s}.ai-chat-thinking span:nth-child(3){animation-delay:.24s}.ai-chat-history-error{border-radius:.95rem;background-color:#fffbeb;border:1px solid #fde68a;color:#92400e;padding:.8rem .9rem;font-size:.82rem;font-weight:800;line-height:1.4}.dark .ai-chat-history-error{background-color:#451a03;border-color:#92400e;color:#fde68a}.ai-chat-error{border-radius:.95rem;background-color:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:.8rem .9rem;font-size:.82rem;font-weight:800;line-height:1.4}.dark .ai-chat-error{background-color:#450a0a;border-color:#991b1b;color:#fecaca}.ai-chat-composer{flex-shrink:0;width:100%;max-width:100%;padding:.75rem 1rem calc(6.25rem + env(safe-area-inset-bottom));background-color:#f8fafdf0;border-top:1px solid rgba(16,27,51,.06);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@media(min-width:768px){.ai-chat-composer{padding-left:max(1.5rem,calc((100% - 48rem)/2 + 1.5rem));padding-right:max(1.5rem,calc((100% - 48rem)/2 + 1.5rem))}}.dark .ai-chat-composer{background-color:#0f172af0;border-color:#1e293b}.ai-chat-input-shell{display:grid;grid-template-columns:minmax(0,1fr) 2.75rem;gap:.6rem;align-items:end;width:min(100%,calc(100vw - 2rem));max-width:100%;margin:0 auto;border-radius:1.1rem;background-color:#fff;border:1px solid rgba(16,27,51,.08);padding:.5rem;box-shadow:0 10px 30px #101b3314}.dark .ai-chat-input-shell{background-color:#1e293b;border-color:#334155;box-shadow:none}.ai-chat-input-shell:focus-within{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.ai-chat-input-shell-error{border-color:#ef4444}.ai-chat-input{width:100%;min-width:0;min-height:2.75rem;max-height:8rem;resize:none;border:none;outline:none;background-color:transparent;color:var(--color-text);padding:.72rem .45rem .55rem;font-family:inherit;font-size:.95rem;font-weight:650;line-height:1.35;overflow-y:auto}.dark .ai-chat-input{color:#fff}.ai-chat-input::placeholder{color:#94a3b8}.ai-chat-send-btn{width:2.75rem;height:2.75rem;border:none;border-radius:.95rem;background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s,opacity .2s}.ai-chat-send-btn:active{transform:scale(.94)}.ai-chat-send-btn:disabled{cursor:not-allowed;opacity:.45}.ai-chat-send-icon{width:1.25rem;height:1.25rem}.ai-chat-character-count{color:#64748b;font-size:.72rem;font-weight:800;text-align:right;margin-top:.35rem}.ai-chat-character-count-error{color:#dc2626}@keyframes aiChatPulse{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){.ai-chat-thinking span{animation:none}.ai-chat-send-btn,.ai-chat-clear-btn,.ai-chat-suggestion{transition:none}}.notes-container{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;background-color:var(--color-bg);padding:1.5rem;padding-bottom:calc(7.5rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:1rem;-webkit-overflow-scrolling:touch;box-sizing:border-box;width:100%;max-width:100%}.dark .notes-container{background-color:#0f172a}.notes-header{padding-top:1rem;min-width:0}.notes-kicker{color:var(--color-primary);font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.dark .notes-kicker{color:#c4b5fd}.notes-title{color:var(--color-text);font-size:1.75rem;font-weight:800;line-height:1.15;margin-top:.25rem;overflow-wrap:anywhere}.dark .notes-title{color:#fff}.notes-editor,.notes-card{width:100%;max-width:100%;box-sizing:border-box;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:1.25rem;padding:1rem;box-shadow:var(--shadow-card);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.dark .notes-editor,.dark .notes-card{background-color:#1e293b;border-color:#334155}.notes-editor{display:flex;flex-direction:column;gap:.75rem;min-width:0}.notes-editor:focus-within{border-color:var(--color-primary-soft);box-shadow:var(--shadow-soft)}.notes-editor-status{color:var(--color-primary);font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.dark .notes-editor-status{color:#c4b5fd}.notes-title-input,.notes-body-input{width:100%;box-sizing:border-box;border:1px solid var(--color-border);background-color:var(--color-surface-soft);color:var(--color-text);border-radius:.875rem;padding:.75rem;font-size:.875rem}.notes-title-input{font-weight:800}.notes-body-input{min-height:9rem;resize:vertical;line-height:1.5}.dark .notes-title-input,.dark .notes-body-input{background-color:#0f172a;border-color:#475569;color:#fff}.notes-title-input:focus,.notes-body-input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.notes-editor-footer{display:flex;flex-direction:column;gap:.75rem;min-width:0}.notes-editor-actions{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.notes-save-btn,.notes-cancel-btn{border-radius:9999px;padding:.625rem .875rem;font-size:.75rem;font-weight:900}.notes-save-btn{color:#fff;background:var(--gradient-primary)}.notes-cancel-btn{color:var(--color-text-muted);background-color:var(--color-surface-soft)}.dark .notes-cancel-btn{color:#cbd5e1;background-color:#334155}.notes-list{display:flex;flex-direction:column;gap:.75rem}.notes-empty{border:1px dashed var(--color-border);border-radius:1rem;padding:1rem;background-color:var(--color-surface);color:var(--color-text-muted);line-height:1.4}.dark .notes-empty{background-color:#1e293b;border-color:#475569;color:#cbd5e1}.notes-card{display:flex;gap:.75rem;align-items:flex-start;content-visibility:auto;contain-intrinsic-size:11rem}.notes-card:hover,.notes-card:focus-within{border-color:var(--color-primary-soft);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.notes-card-main{min-width:0;flex:1;text-align:left}.notes-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.notes-card-title{color:var(--color-text);font-size:1rem;font-weight:800;overflow-wrap:anywhere}.dark .notes-card-title{color:#fff}.notes-card-date{color:var(--color-text-muted);font-size:.7rem;font-weight:800;white-space:nowrap}.notes-card-body{color:var(--color-text-muted);font-size:.875rem;line-height:1.45;margin-top:.5rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.dark .notes-card-body{color:#cbd5e1}.notes-card-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.notes-edit-btn{border-radius:9999px;padding:.35rem .65rem;color:var(--color-primary);background-color:var(--color-primary-soft);font-size:.7rem;font-weight:900}.notes-edit-btn:hover{background-color:#d8caff}.dark .notes-edit-btn{color:#c4b5fd;background-color:#6d3ff540}.notes-delete-btn{color:#cbd5e1;padding:.25rem}.notes-delete-btn:hover{color:var(--color-danger)}.notes-delete-icon{width:1.25rem;height:1.25rem}@media(max-width:480px){.notes-card{flex-direction:column}.notes-card-actions{width:100%;justify-content:flex-end}}@media(prefers-reduced-motion:reduce){.notes-editor,.notes-card{transition:none}.notes-card:hover,.notes-card:focus-within{transform:none}}.memory-container{height:100%;width:100%;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;background-color:var(--color-bg);padding:1rem;padding-bottom:calc(7.5rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:1rem;-webkit-overflow-scrolling:touch}@media(min-width:768px){.memory-container{padding:1.5rem;padding-bottom:calc(7.5rem + env(safe-area-inset-bottom))}}.dark .memory-container{background-color:#0f172a}.memory-header{padding-top:.5rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}@media(min-width:768px){.memory-header{padding-top:1rem}}.memory-kicker{color:var(--color-primary);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.dark .memory-kicker{color:#c4b5fd}.memory-title{color:var(--color-text);font-size:1.5rem;font-weight:700;line-height:1.15;margin-top:.25rem;word-break:break-word}@media(min-width:768px){.memory-title{font-size:1.75rem;font-weight:900}}.dark .memory-title{color:#fff}.memory-count{min-width:2.25rem;height:2.25rem;border-radius:9999px;background-color:var(--color-primary-soft);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:900}.dark .memory-count{background-color:#6d3ff540;color:#c4b5fd}.memory-filters{display:flex;gap:.5rem;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;padding-bottom:.25rem;-webkit-overflow-scrolling:touch}.memory-filter{flex-shrink:0;border-radius:9999px;padding:.5rem .75rem;background-color:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border);font-size:.75rem;font-weight:900;text-transform:capitalize}.dark .memory-filter{background-color:#1e293b;color:#cbd5e1;border-color:#334155}.memory-filter-active{background:var(--gradient-primary);color:#fff;border-color:transparent}.dark .memory-filter-active{background:var(--gradient-primary);color:#fff}.memory-list{display:flex;flex-direction:column;gap:.75rem}.memory-empty,.memory-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:1.25rem;padding:1rem;box-shadow:var(--shadow-card)}.dark .memory-empty,.dark .memory-card{background-color:#1e293b;border-color:#334155}.memory-empty{color:var(--color-text-muted);line-height:1.4}.dark .memory-empty{color:#cbd5e1}.memory-card{display:flex;flex-direction:column;gap:.875rem}.memory-type{display:inline-flex;width:fit-content;border-radius:9999px;padding:.15rem .55rem;font-size:.65rem;font-weight:900;text-transform:uppercase;background-color:var(--color-surface-soft);color:var(--color-text-muted)}.memory-type-task,.memory-type-reminder{color:var(--color-primary);background-color:var(--color-primary-soft)}.memory-type-event{color:var(--color-success);background-color:var(--color-success-soft)}.memory-type-note{color:var(--color-accent-orange);background-color:var(--color-accent-orange-soft)}.dark .memory-type{color:#e2e8f0;background-color:#334155}.memory-card-title{color:var(--color-text);font-size:1rem;font-weight:900;line-height:1.35;margin-top:.45rem;overflow-wrap:anywhere}.dark .memory-card-title{color:#fff}.memory-card-details{color:var(--color-text-muted);font-size:.875rem;line-height:1.45;margin-top:.5rem;overflow-wrap:anywhere}.dark .memory-card-details{color:#cbd5e1}.memory-card-date{color:var(--color-text-muted);font-size:.7rem;font-weight:800;margin-top:.75rem}.memory-actions{display:flex;flex-wrap:wrap;gap:.5rem}.memory-action-primary,.memory-action-secondary,.memory-action-ghost{border-radius:9999px;padding:.5rem .75rem;font-size:.75rem;font-weight:900}.memory-action-primary,.dark .memory-action-primary{background:var(--gradient-primary);color:#fff}.memory-action-secondary{background-color:var(--color-accent-orange-soft);color:var(--color-accent-orange)}.memory-action-ghost{background-color:var(--color-surface-soft);color:var(--color-text-muted)}.dark .memory-action-ghost{background-color:#334155;color:#cbd5e1}.memory-editor{display:flex;flex-direction:column;gap:.75rem}.memory-input,.memory-textarea{width:100%;border:1px solid var(--color-border);background-color:var(--color-surface-soft);color:var(--color-text);border-radius:.875rem;padding:.75rem;font-size:.875rem}.memory-textarea{min-height:8rem;resize:vertical;line-height:1.45}.dark .memory-input,.dark .memory-textarea{background-color:#0f172a;color:#fff;border-color:#475569}.memory-input:focus,.memory-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}:root{--color-primary: #6D3FF5;--color-primary-dark: #4F2CCF;--color-primary-soft: #EEE7FF;--color-accent-orange: #FF7A1A;--color-accent-orange-soft: #FFF0E1;--color-accent-orange-mid: #FFD7B8;--color-bg: #F8FAFD;--color-surface: #FFFFFF;--color-surface-soft: #F3F6FB;--color-text: #101B33;--color-text-muted: #6B7894;--color-border: rgba(16, 27, 51, .08);--shadow-soft: 0 18px 45px rgba(16, 27, 51, .1);--shadow-card: 0 10px 30px rgba(16, 27, 51, .08);--gradient-primary: linear-gradient(135deg, #7B4DFF 0%, #5B2BEA 100%);--gradient-purple-soft: linear-gradient(135deg, #F3ECFF 0%, #E6D7FF 100%);--gradient-orange-soft: linear-gradient(135deg, #FFF1E3 0%, #FFE2C8 100%);--gradient-mixed-soft: linear-gradient(135deg, #FFF0E1 0%, #EEE4FF 100%);--color-success: #16a34a;--color-success-soft: #f0fdf4;--color-warning: #d97706;--color-warning-soft: #fffbeb;--color-danger: #dc2626;--color-danger-soft: #fef2f2;--focus-ring: 0 0 0 3px rgba(109, 63, 245, .18)}*,*:before,*:after{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;padding:0;overflow-x:hidden}body{padding-left:0!important;padding-right:0!important}.app-container{display:flex;flex-direction:column;height:100dvh;width:100%;max-width:100vw;background-color:var(--color-bg);font-family:Inter,sans-serif;color:var(--color-text);overflow:hidden;transition:background-color .2s,color .2s;position:fixed;top:0;left:0;right:0;bottom:0}.dark .app-container{background-color:#0f172a;color:#f1f5f9}.app-main{flex:1;min-width:0;min-height:0;overflow:hidden;position:relative;display:flex;justify-content:center;width:100%}.app-content-wrapper{width:100%;min-width:0;max-width:1200px;min-height:0;height:100%;overflow:hidden}
