.navigation{position:fixed;bottom:0;left:0;right:0;background-color:#fff;border-top:1px solid #f1f5f9;padding-bottom:env(safe-area-inset-bottom);padding-top:.5rem;box-shadow:0 -10px 40px -15px #0000000d;z-index:50;min-height:5.5rem;border-radius:1.5rem 1.5rem 0 0;transition:background-color .2s,border-color .2s;-webkit-user-select:none;user-select:none}.dark .navigation{background-color:#0f172a;border-color:#1e293b}.navigation-container{display:flex;justify-content:space-between;align-items:flex-end;height:100%;padding-bottom:1rem;padding-left:1rem;padding-right:1rem}@media(min-width:768px){.navigation-container{padding-left:1.5rem;padding-right:1.5rem}}.navigation-item{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:3.5rem;min-height:3.5rem;padding:.5rem;transition:all .2s ease-out;cursor:pointer;-webkit-tap-highlight-color:transparent;position:relative}@media(min-width:768px){.navigation-item{min-width:4rem}}.navigation-item-center{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:3.5rem;min-height:3.5rem;position:relative;padding:.5rem;cursor:pointer;-webkit-tap-highlight-color:transparent}.navigation-item-active{color:#0f172a;transform:scale(1.05)}.dark .navigation-item-active{color:#fff}.navigation-item-inactive{color:#cbd5e1}.dark .navigation-item-inactive{color:#475569}.navigation-item-inactive:active{transform:scale(.95);color:#94a3b8}.dark .navigation-item-inactive:active{color:#64748b;transform:scale(.95)}.navigation-item-inactive:hover{color:#94a3b8}.dark .navigation-item-inactive:hover{color:#64748b}.navigation-icon{width:1.5rem;height:1.5rem}.navigation-center-button{background-color:#0f172a;border-radius:9999px;padding:1rem;margin-top:-2rem;box-shadow:0 20px 25px -5px #0000001a;border:6px solid #f8fafc;transition:transform .2s,background-color .2s;min-width:3.5rem;min-height:3.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.dark .navigation-center-button{background-color:#2563eb;border-color:#1e293b}.navigation-center-button:active{transform:scale(.92)}.navigation-center-icon{width:1.5rem;height:1.5rem;color:#fff}.navigation-indicator{width:.25rem;height:.25rem;background-color:#0f172a;border-radius:9999px;margin-top:.25rem}.dark .navigation-indicator{background-color:#fff}.dashboard-container{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;background-color:#f8fafc;padding:1rem;padding-bottom:calc(7.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:1.5rem;padding-bottom:calc(7.5rem + env(safe-area-inset-bottom));gap:2rem}}.dark .dashboard-container{background-color:#0f172a}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;padding-top:.5rem;gap:.75rem}.dashboard-header-main{min-width:0;flex:1}.dashboard-title{font-size:1.5rem;font-weight:700;color:#0f172a;line-height:1.2;overflow-wrap:anywhere}@media(min-width:768px){.dashboard-title{font-size:1.875rem}}.dashboard-title-hidden{display:none}.dark .dashboard-title{color:#fff}.dashboard-user-status{color:#64748b;font-size:.7rem;font-weight:600;margin-top:.25rem;overflow-wrap:anywhere}.dark .dashboard-user-status{color:#94a3b8}.dashboard-header-actions{display:none;align-items:center;gap:.5rem;justify-content:flex-end;flex-shrink:0;min-width:max-content}.dashboard-header-control-stack{display:grid;grid-template-columns:repeat(2,auto);align-items:flex-end;gap:.55rem;flex-shrink:0;position:relative}.dashboard-controls-menu-btn{grid-column:1;grid-row:1;z-index:25}.dashboard-notification-btn{grid-column:2;grid-row:1;z-index:25}.dashboard-controls-menu{position:absolute;top:calc(100% + .5rem);right:0;z-index:30;width:min(15rem,calc(100vw - 2rem));border:1px solid #e2e8f0;border-radius:1rem;background-color:#fff;box-shadow:0 18px 45px #0f172a29;padding:.45rem;display:flex;flex-direction:column;gap:.25rem}.dark .dashboard-controls-menu{background-color:#1e293b;border-color:#334155}.dashboard-controls-menu-item{display:flex;align-items:center;gap:.75rem;width:100%;min-height:2.75rem;border-radius:.75rem;color:#0f172a;font-size:.85rem;font-weight:800;text-align:left;padding:.5rem .65rem}.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:9999px;background-color:#eff6ff;color:#1d4ed8;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:900;position:relative}.dark .dashboard-controls-menu-icon{background-color:#172554;color:#dbeafe}.dashboard-settings-btn{background-color:#fff;padding:.75rem;border-radius:9999px;box-shadow:0 1px 2px #0000000d;border:1px solid #f1f5f9;transition:all .2s;position:relative;min-width:44px;min-height:44px;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}.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:.75rem;right:.75rem;width:.5rem;height:.5rem;background-color:#ef4444;border-radius:9999px;border:1px solid #ffffff}.dark .dashboard-notification-dot{border-color:#1e293b}.dashboard-notification-dot-sync{background-color:#22c55e}.dashboard-settings-icon{width:1.5rem;height:1.5rem;color:#334155}.dark .dashboard-settings-icon{color:#e2e8f0}.dashboard-language-pill{display:flex;min-width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:#334155;font-size:.7rem;font-weight:900}.dark .dashboard-language-pill{color:#e2e8f0}.dashboard-auth-btn-synced{border-color:#bbf7d0}.dark .dashboard-auth-btn-synced{border-color:#166534}.dashboard-auth-entry-btn{grid-column:1 / -1;grid-row:2;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:3.05rem;border-radius:9999px;border:1px solid #dbeafe;background-color:#eff6ff;color:#1d4ed8;padding:0 .95rem;font-size:.8rem;font-weight:900;white-space:nowrap;box-shadow:0 1px 2px #0000000d;width:100%;min-width:8.5rem;max-width:none}.dark .dashboard-auth-entry-btn{border-color:#1d4ed8;background-color:#172554;color:#dbeafe}.dashboard-auth-status-dot{width:.55rem;height:.55rem;border-radius:9999px;background-color:#f97316}.dashboard-auth-status-dot-ready{background-color:#22c55e}.dashboard-section{display:flex;flex-direction:column;gap:1rem}.dashboard-fragment-panel{background-color:#fff;border:1px solid #e2e8f0;border-radius:1.25rem;padding:1rem;display:flex;flex-direction:column;gap:.875rem;box-shadow:0 10px 30px #0f172a0f}.dark .dashboard-fragment-panel{background-color:#1e293b;border-color:#334155}.dashboard-fragment-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.dashboard-fragment-kicker{color:#2563eb;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.dark .dashboard-fragment-kicker{color:#93c5fd}.dashboard-fragment-title{color:#0f172a;font-size:1.125rem;font-weight:800;line-height:1.25;margin-top:.125rem}.dark .dashboard-fragment-title{color:#f8fafc}.dashboard-fragment-count{min-width:2rem;height:2rem;border-radius:9999px;background-color:#eff6ff;color:#1d4ed8;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:800}.dark .dashboard-fragment-count{background-color:#1e3a8a;color:#dbeafe}.dashboard-fragment-form{display:flex;gap:.5rem}.dashboard-fragment-input{flex:1;min-width:0;background-color:#f8fafc;color:#0f172a;border:1px solid #e2e8f0;border-radius:.875rem;padding:.875rem 1rem;font-size:.875rem}.dark .dashboard-fragment-input{background-color:#0f172a;color:#fff;border-color:#475569}.dashboard-fragment-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24}.dashboard-fragment-submit{width:3rem;height:3rem;flex-shrink:0;border-radius:.875rem;background-color:#2563eb;color:#fff;display:flex;align-items:center;justify-content:center}.dashboard-fragment-submit-icon{width:1.35rem;height:1.35rem}.dashboard-fragment-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;color:#64748b;font-size:.75rem;font-weight:700;line-height:1.35}.dark .dashboard-fragment-meta{color:#94a3b8}.dashboard-fragment-link{color:#2563eb;font-weight:800;white-space:normal;text-align:left}.dashboard-fragment-link-group{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;min-width:0}.dark .dashboard-fragment-link{color:#93c5fd}.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}@media(min-width:768px){.dashboard-card{height:12rem;padding:1.5rem}}.dashboard-card:active{transform:scale(.95)}.dashboard-card-timetable{background-color:#f5d0fe}.dark .dashboard-card-timetable{background-color:#86198f}.dashboard-card-tasks{background-color:#0f394c}.dark .dashboard-card-tasks{background-color:#f97316}.dashboard-card-icon-wrapper{z-index:10;background-color:#fff6;padding:.75rem;border-radius:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dark .dashboard-card-icon-wrapper{background-color:#ffffff1a}.dashboard-card-icon{width:2rem;height:2rem;color:#0f172a}.dark .dashboard-card-icon,.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:#0f172a;font-weight:700;font-size:1rem;line-height:1.3;word-break:break-word}@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:.25rem;background-color:#ffffff4d;border-radius:9999px;padding:.25rem .75rem;width:fit-content}.dark .dashboard-card-badge{background-color:#0003}.dashboard-card-tasks .dashboard-card-badge{background-color:#fff7ed59}.dashboard-card-badge-text{font-size:.7rem;font-weight:600;color:#0f172a;line-height:1.3;overflow-wrap:anywhere}@media(min-width:768px){.dashboard-card-badge-text{font-size:.75rem}}.dark .dashboard-card-badge-text{color:#f1f5f9}.dashboard-card-tasks .dashboard-card-badge-text{color:#fff}.dashboard-card-doodle{position:absolute;opacity:.1;transform:rotate(12deg);pointer-events:none}.dashboard-card-doodle-right{right:-1.75rem;bottom:-1rem}.dashboard-card-doodle-top{right:-.5rem;top:-.5rem;transform:rotate(-12deg)}.dashboard-card-doodle svg{width:8rem;height:8rem;color:#0f172a}@media(max-width:480px){.dashboard-card-doodle-right{right:-.5rem;bottom:-.75rem}.dashboard-card-doodle-top{right:0;top:-.5rem}.dashboard-card-doodle svg{width:5.5rem;height:5.5rem}.dashboard-card-doodle-top svg{width:4.75rem;height:4.75rem}}.dark .dashboard-card-doodle svg{color:#fff}.dashboard-card-doodle-top svg{width:6rem;height:6rem;color:#7c2d12}.dashboard-stats-card{background-color:#fff;border-radius:1.5rem;padding:1.25rem;box-shadow:0 1px 2px #0000000d;border:1px solid #f1f5f9}@media(min-width:768px){.dashboard-stats-card{border-radius:2rem;padding:1.5rem}}.dark .dashboard-stats-card{background-color:#1e293b;border-color:#334155}.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:#fce7f3;padding:.5rem;border-radius:.75rem}.dark .dashboard-stats-icon-wrapper{background-color:#86198f}.dashboard-stats-icon{width:1.25rem;height:1.25rem;color:#ef4444}.dark .dashboard-stats-icon{color:#fda4af}.dashboard-stats-title{font-weight:700;color:#0f172a}.dark .dashboard-stats-title{color:#fff}.dashboard-stats-badge{background-color:#f1f5f9;color:#475569;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:#fee2e2;color:#b91c1c}.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:#fb7185}.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 #e2e8f0;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:#0f172a;font-size:.9rem;font-weight:900;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:#64748b;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:700;font-size:1.25rem;color:#0f172a;border-bottom:2px solid #fecdd3;display:inline-block;padding-bottom:.25rem}.dark .dashboard-classes-title{color:#fff;border-bottom-color:#86198f}.dashboard-view-all-btn{font-size:.75rem;color:#94a3b8;font-weight:500}.dashboard-classes-scroll{display:flex;overflow-x:auto;overflow-y:hidden;gap:1rem;padding-bottom:1rem;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}}.dashboard-class-card{min-width:140px;width:140px;height:10rem;border-radius:2rem;padding:1.25rem;display:flex;flex-direction:column;justify-content:space-between;position:relative;flex-shrink:0;transition:transform .2s}.dashboard-class-card:active{transform:scale(.95)}.dashboard-class-card-purple{background-color:#e9d5ff}.dark .dashboard-class-card-purple{background-color:#581c87}.dashboard-class-card-blue{background-color:#d0e1ff}.dark .dashboard-class-card-blue{background-color:#1e3a8a}.dashboard-class-card-pink{background-color:#f5d0fe}.dark .dashboard-class-card-pink{background-color:#831843}.dashboard-class-card-teal{background-color:#ccfbf1}.dark .dashboard-class-card-teal{background-color:#134e4a}.dashboard-class-card-cream{background-color:#fef3c7}.dark .dashboard-class-card-cream{background-color:#78350f}.dashboard-class-name{font-weight:700;color:#0f172a;font-size:.875rem;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:#475569;margin-top:.25rem}.dark .dashboard-class-time{color:#cbd5e1}.dashboard-class-icon-wrapper{display:flex;justify-content:center}.dashboard-class-icon-circle{width:2.5rem;height:2.5rem;background-color:#fff6;border-radius:9999px;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dark .dashboard-class-icon-circle{background-color:#ffffff1a}.dashboard-class-icon-emoji{font-size:1.125rem}.dashboard-class-room{text-align:center}.dashboard-class-room-text{font-size:.625rem;font-weight:500;color:#64748b;background-color:#ffffff4d;border-radius:9999px;padding:.125rem .5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dark .dashboard-class-room-text{color:#cbd5e1;background-color:#0003}.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:#2563eb;font-size:.875rem;font-weight:700;margin-top:.5rem}.dark .dashboard-empty-classes-btn{color:#60a5fa}.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}}.timetable-container{height:100%;width:100%;min-width:0;min-height:0;display:flex;flex-direction:column;background-color:#f8fafc;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:#fff;padding:1.5rem 1.5rem .5rem;position:sticky;top:0;z-index:10;box-shadow:0 1px 2px #0000000d;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:#1e293b}.dark .timetable-title{color:#fff}.timetable-add-btn{background-color:#2563eb;color:#fff;padding:.5rem;border-radius:9999px;box-shadow:0 10px 15px -3px #0000001a;transition:transform .2s,background-color .2s;display:flex;align-items:center;justify-content:center}.timetable-add-btn:hover{background-color:#1d4ed8}.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:#f1f5f9;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:#fff;color:#2563eb;box-shadow:0 1px 2px #0000000d}.dark .timetable-day-btn-active{background-color:#475569;color:#60a5fa}.timetable-day-btn-inactive{color:#64748b}.dark .timetable-day-btn-inactive{color:#94a3b8}.timetable-day-btn-inactive:hover{color:#334155}.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 #e2e8f0;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 #ffffff;box-shadow:0 1px 2px #0000000d}.dark .timetable-class-dot{border-color:#0f172a}.timetable-class-card{background-color:#fff;border-radius:.75rem;padding:1rem;box-shadow:0 1px 2px #0000000d;border:1px solid #f1f5f9;position:relative}.dark .timetable-class-card{background-color:#1e293b;border-color:#334155}.timetable-class-delete-btn{position:absolute;top:.5rem;right:.5rem;color:#cbd5e1;padding:.25rem;transition:color .2s}.timetable-class-delete-btn:hover{color:#ef4444}.timetable-class-delete-icon{width:1rem;height:1rem}.timetable-class-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;padding-right:1.5rem}.timetable-class-name{font-weight:700;color:#1e293b;font-size:1.125rem;line-height:1.25}.dark .timetable-class-name{color:#f1f5f9}.timetable-conflict-badge{display:inline-flex;align-items:center;border-radius:9999px;background-color:#fee2e2;color:#b91c1c;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:#f1f5f9;border-radius:.25rem;color:#475569;margin-bottom:.5rem}.dark .timetable-class-time{background-color:#334155;color:#cbd5e1}.timetable-class-info{display:flex;align-items:center;color:#64748b;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:#94a3b8}.dark .timetable-empty-state{color:#64748b}.timetable-empty-icon{width:4rem;height:4rem;margin-bottom:1rem;color:#e2e8f0}.dark .timetable-empty-icon{color:#334155}.timetable-empty-text{margin-bottom:1rem}.timetable-empty-btn{margin-top:1rem;color:#2563eb;font-weight:500;transition:text-decoration .2s}.dark .timetable-empty-btn{color:#60a5fa}.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:#fff;width:100%;max-width:28rem;max-height:calc(100dvh - 7.25rem - env(safe-area-inset-bottom));border-radius:1rem;box-shadow:0 25px 50px -12px #00000040;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 #f1f5f9;display:flex;justify-content:space-between;align-items:center;background-color:#f8fafc;flex-shrink:0}.dark .timetable-modal-header{background-color:#334155;border-color:#334155}.timetable-modal-title{font-weight:700;font-size:1.125rem;color:#1e293b}.dark .timetable-modal-title{color:#fff}.timetable-modal-close-btn{color:#94a3b8;transition:color .2s}.timetable-modal-close-btn:hover{color:#475569}.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:#334155;margin-bottom:.25rem}.dark .timetable-form-label{color:#cbd5e1}.timetable-form-input{width:100%;padding:.75rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;transition:all .2s;color:#0f172a}.dark .timetable-form-input{background-color:#334155;border-color:#475569;color:#fff}.timetable-form-input:focus{outline:none;ring:2px;ring-color:#2563eb;border-color:#2563eb}.timetable-form-row{display:flex;gap:.75rem}.timetable-form-row .timetable-form-group{flex:1}.timetable-day-selector-form{display:flex;background-color:#f1f5f9;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:#fff;color:#2563eb;box-shadow:0 1px 2px #0000000d}.dark .timetable-day-btn-form-active{background-color:#64748b;color:#fff}.timetable-day-btn-form-inactive{color:#64748b}.dark .timetable-day-btn-form-inactive{color:#94a3b8}.timetable-conflict-warning{border:1px solid #fecaca;background-color:#fef2f2;color:#b91c1c;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-color:#2563eb;color:#fff;font-weight:700;border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a;transition:all .2s;margin-top:1rem}.timetable-form-submit:hover{background-color:#1d4ed8;transform:scale(1.01)}.todos-container{height:100%;width:100%;min-width:0;min-height:0;display:flex;flex-direction:column;background-color:#f8fafc;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:#fff;position:sticky;top:0;z-index:10;box-shadow:0 1px 2px #0000000d;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:#1e293b;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:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;transition:all .2s;color:#0f172a}.dark .todos-input{background-color:#334155;border-color:#475569;color:#fff}.todos-input:focus{outline:none;ring:2px;ring-color:#2563eb;border-color:#2563eb}.todos-add-btn{background-color:#2563eb;color:#fff;border-radius:.75rem;padding:.5rem 1rem;font-weight:500;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.todos-add-btn:hover{background-color:#1d4ed8}.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:#fef2f2;color:#dc2626;border-color:#fecaca}.dark .todos-priority-btn-high-active{background-color:#7f1d1d;color:#fca5a5;border-color:#991b1b}.todos-priority-btn-medium-active{background-color:#fffbeb;color:#d97706;border-color:#fde68a}.dark .todos-priority-btn-medium-active{background-color:#78350f;color:#fcd34d;border-color:#92400e}.todos-priority-btn-low-active{background-color:#f0fdf4;color:#16a34a;border-color:#bbf7d0}.dark .todos-priority-btn-low-active{background-color:#14532d;color:#86efac;border-color:#166534}.todos-priority-btn-inactive{background-color:#f8fafc;color:#94a3b8;border-color:#e2e8f0}.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:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;color:#64748b;cursor:pointer;overflow:hidden;transition:all .2s}.dark .todos-date-field{background-color:#334155;border-color:#475569;color:#cbd5e1}.todos-date-field-filled{color:#334155;border-color:#bfdbfe;background-color:#fff}.dark .todos-date-field-filled{color:#e2e8f0;border-color:#64748b;background-color:#1e293b}.todos-date-field:focus-within{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.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:#94a3b8;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:#334155;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:#e2e8f0;color:#475569;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:#fff;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:#f8fafc}.dark .todos-item-completed{background-color:#0f172a}.todos-item-active{box-shadow:0 1px 2px #0000000d;border-color:#f1f5f9}.todos-item-active:hover{border-color:#dbeafe;box-shadow:0 10px 24px #0f172a12;transform:translateY(-1px)}.dark .todos-item-active{border-color:#334155}.dark .todos-item-active:hover{border-color:#1d4ed8}.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:#3b82f6;border-color:#3b82f6}.todos-check-icon{width:.75rem;height:.75rem;color:#fff}.todos-item-content{flex:1;min-width:0}.todos-item-text{color:#1e293b;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:#94a3b8}.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 #bfdbfe;border-radius:.75rem;background-color:#fff;color:#0f172a}.dark .todos-edit-input{background-color:#0f172a;border-color:#475569;color:#fff}.todos-edit-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24}.todos-edit-save{border-radius:.75rem;padding:.5rem .75rem;background-color:#2563eb;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:#ef4444}.dark .todos-priority-badge-high{color:#f87171}.todos-priority-badge-medium{color:#f59e0b}.dark .todos-priority-badge-medium{color:#fbbf24}.todos-priority-badge-low{color:#22c55e}.dark .todos-priority-badge-low{color:#4ade80}.todos-date-badge{display:flex;align-items:center;font-size:.625rem;color:#94a3b8;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:#ef4444}.dark .todos-delete-btn:hover{color:#f87171}.todos-delete-icon{width:1.25rem;height:1.25rem}.recorder-container{height:100%;min-height:0;display:flex;flex-direction:column;background-color:#f8fafc;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 .recorder-container{background-color:#0f172a}.recorder-header{background-color:#fff;padding:1.5rem;box-shadow:0 1px 2px #0000000d;position:sticky;top:0;z-index:10;transition:background-color .2s}.dark .recorder-header{background-color:#1e293b}.recorder-title{font-size:1.5rem;font-weight:700;color:#1e293b}.dark .recorder-title{color:#fff}.recorder-subtitle{color:#64748b;font-size:.875rem;margin-top:.25rem}.dark .recorder-subtitle{color:#94a3b8}.recorder-content{flex:1;min-height:0;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;overflow:visible}.recorder-card{background-color:#fff;border-radius:1rem;box-shadow:0 10px 15px -3px #0000001a;border:1px solid #f1f5f9;padding:1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;position:relative;overflow:hidden;transition:background-color .2s,border-color .2s}.dark .recorder-card{background-color:#1e293b;border-color:#334155}.recorder-canvas-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.recorder-canvas{width:100%;height:100%;opacity:.2}.recorder-gradient-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom right,#eef2ff,#f3e8ff);z-index:0}.dark .recorder-gradient-bg{background:linear-gradient(to bottom right,#4338ca4d,#9333ea4d)}.recorder-display{z-index:10;text-align:center}.recorder-timer{font-size:3.75rem;font-family:monospace;font-weight:700;color:#1e293b;margin-bottom:2rem;letter-spacing:.05em}.dark .recorder-timer{color:#f1f5f9}.recorder-button{position:relative;width:6rem;height:6rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 20px 25px -5px #0000001a}.recorder-button:disabled{opacity:.65;cursor:not-allowed}.recorder-button:hover{transform:scale(1.05)}.recorder-button-recording{background-color:#ef4444;ring:4px;ring-color:#fee2e2;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.dark .recorder-button-recording{ring-color:#7f1d1d}.recorder-button-stopped{background-color:#4f46e5;ring:4px;ring-color:#e0e7ff}.dark .recorder-button-stopped{ring-color:#312e81}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.recorder-button-square{width:2rem;height:2rem;background-color:#fff;border-radius:.25rem}.recorder-button-play{width:2.5rem;height:2.5rem;color:#fff;margin-left:.25rem}.recorder-status-text{margin-top:1.5rem;color:#64748b;font-weight:500}.dark .recorder-status-text{color:#94a3b8}.recorder-section-title{font-size:1.125rem;font-weight:700;color:#1e293b}.dark .recorder-section-title{color:#fff}.recorder-list{display:flex;flex-direction:column;gap:1rem}.recorder-item{background-color:#fff;border-radius:.75rem;padding:1.25rem;box-shadow:0 1px 2px #0000000d;border:1px solid #f1f5f9;transition:background-color .2s,border-color .2s}.dark .recorder-item{background-color:#1e293b;border-color:#334155}.recorder-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.recorder-item-title{font-weight:600;color:#1e293b}.dark .recorder-item-title{color:#f1f5f9}.recorder-item-meta{font-size:.75rem;color:#94a3b8;margin-top:.25rem}.recorder-item-badge{background-color:#eef2ff;color:#4f46e5;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:700;text-transform:uppercase}.dark .recorder-item-badge{background-color:#4338ca80;color:#c7d2fe}.recorder-item-summary{background-color:#f8fafc;padding:.75rem;border-radius:.5rem;font-size:.875rem;color:#475569;line-height:1.625;border:1px solid #f1f5f9}.dark .recorder-item-summary{background-color:#33415580;color:#cbd5e1;border-color:#334155}.recorder-loading{display:flex;align-items:center;gap:.5rem;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.recorder-loading-dot{width:.5rem;height:.5rem;background-color:#94a3b8;border-radius:9999px}.recorder-list-section{display:flex;flex-direction:column;gap:1rem}.recorder-notice{border:1px solid;border-radius:.875rem;padding:.875rem 1rem;font-size:.875rem;font-weight:800}.recorder-notice-success{background-color:#ecfdf5;color:#047857;border-color:#bbf7d0}.recorder-notice-error{background-color:#fef2f2;color:#b91c1c;border-color:#fecaca}.dark .recorder-notice-success{background-color:#052e16;color:#bbf7d0;border-color:#166534}.dark .recorder-notice-error{background-color:#450a0a;color:#fecaca;border-color:#991b1b}.recorder-item-header{gap:1rem}.recorder-item-badge-ready{background-color:#ecfdf5;color:#047857}.recorder-item-badge-failed{background-color:#fee2e2;color:#b91c1c}.dark .recorder-item-badge-ready{background-color:#064e3b;color:#a7f3d0}.dark .recorder-item-badge-failed{background-color:#7f1d1d;color:#fecaca}.recorder-output-section{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.recorder-output-section h4{color:#1e293b;font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.dark .recorder-output-section h4{color:#f8fafc}.recorder-output-section p{margin:0}.recorder-action-list{list-style:disc;padding-left:1.25rem;display:flex;flex-direction:column;gap:.35rem}.recorder-transcript-toggle{color:#2563eb;font-size:.85rem;font-weight:900;margin-bottom:.75rem}.dark .recorder-transcript-toggle{color:#93c5fd}.recorder-transcript-box{max-height:14rem;overflow-y:auto;background-color:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:.875rem;display:flex;flex-direction:column;gap:.45rem}.dark .recorder-transcript-box{background-color:#0f172a;border-color:#475569}.recorder-transcript-box p{margin:0}.recorder-error-block{display:flex;flex-direction:column;gap:.35rem;color:#991b1b}.dark .recorder-error-block{color:#fecaca}.recorder-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.875rem}.recorder-action-btn{flex:1 1 8rem;border:1px solid #e2e8f0;border-radius:9999px;background-color:#fff;color:#334155;padding:.65rem .85rem;font-size:.78rem;font-weight:900}.recorder-action-btn-primary{background-color:#2563eb;border-color:#2563eb;color:#fff}.recorder-action-btn:disabled{cursor:not-allowed;opacity:.55}.dark .recorder-action-btn{background-color:#0f172a;border-color:#475569;color:#e2e8f0}.dark .recorder-action-btn-primary{background-color:#2563eb;border-color:#2563eb;color:#fff}.recorder-empty{text-align:center;color:#94a3b8;padding:1rem 0}.dark .recorder-empty{color:#64748b}.notes-container{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;background-color:#f8fafc;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:#2563eb;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.dark .notes-kicker{color:#93c5fd}.notes-title{color:#0f172a;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:#fff;border:1px solid #e2e8f0;border-radius:1.25rem;padding:1rem;box-shadow:0 10px 30px #0f172a0f;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:#bfdbfe;box-shadow:0 16px 38px #2563eb1a}.notes-editor-status{color:#2563eb;font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.dark .notes-editor-status{color:#93c5fd}.notes-title-input,.notes-body-input{width:100%;box-sizing:border-box;border:1px solid #e2e8f0;background-color:#f8fafc;color:#0f172a;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:#2563eb;box-shadow:0 0 0 3px #2563eb24}.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-color:#2563eb}.notes-cancel-btn{color:#475569;background-color:#f1f5f9}.dark .notes-cancel-btn{color:#cbd5e1;background-color:#334155}.notes-list{display:flex;flex-direction:column;gap:.75rem}.notes-empty{border:1px dashed #cbd5e1;border-radius:1rem;padding:1rem;background-color:#fff;color:#64748b;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:#bfdbfe;box-shadow:0 16px 38px #0f172a17;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:#0f172a;font-size:1rem;font-weight:800;overflow-wrap:anywhere}.dark .notes-card-title{color:#fff}.notes-card-date{color:#94a3b8;font-size:.7rem;font-weight:800;white-space:nowrap}.notes-card-body{color:#64748b;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:#2563eb;background-color:#eff6ff;font-size:.7rem;font-weight:900}.notes-edit-btn:hover{background-color:#dbeafe}.dark .notes-edit-btn{color:#bfdbfe;background-color:#1e3a8a}.notes-delete-btn{color:#cbd5e1;padding:.25rem}.notes-delete-btn:hover{color:#ef4444}.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:#f8fafc;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:#2563eb;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.dark .memory-kicker{color:#93c5fd}.memory-title{color:#0f172a;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:#dbeafe;color:#1d4ed8;display:flex;align-items:center;justify-content:center;font-weight:900}.dark .memory-count{background-color:#1e3a8a;color:#dbeafe}.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:#fff;color:#64748b;border:1px solid #e2e8f0;font-size:.75rem;font-weight:900;text-transform:capitalize}.dark .memory-filter{background-color:#1e293b;color:#cbd5e1;border-color:#334155}.memory-filter-active{background-color:#0f172a;color:#fff}.dark .memory-filter-active{background-color:#fff;color:#0f172a}.memory-list{display:flex;flex-direction:column;gap:.75rem}.memory-empty,.memory-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:1.25rem;padding:1rem;box-shadow:0 10px 30px #0f172a0f}.dark .memory-empty,.dark .memory-card{background-color:#1e293b;border-color:#334155}.memory-empty{color:#64748b;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:#e2e8f0;color:#334155}.memory-type-task,.memory-type-reminder{color:#1d4ed8;background-color:#dbeafe}.memory-type-event{color:#047857;background-color:#d1fae5}.memory-type-note{color:#7c2d12;background-color:#ffedd5}.dark .memory-type{color:#e2e8f0;background-color:#334155}.memory-card-title{color:#0f172a;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:#64748b;font-size:.875rem;line-height:1.45;margin-top:.5rem;overflow-wrap:anywhere}.dark .memory-card-details{color:#cbd5e1}.memory-card-date{color:#94a3b8;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{background-color:#0f172a;color:#fff}.dark .memory-action-primary{background-color:#fff;color:#0f172a}.memory-action-secondary{background-color:#2563eb;color:#fff}.memory-action-ghost{background-color:#f1f5f9;color:#475569}.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 #e2e8f0;background-color:#f8fafc;color:#0f172a;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:#2563eb;box-shadow:0 0 0 3px #2563eb24}*,*: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:#f8fafc;font-family:Inter,sans-serif;color:#0f172a;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}
