.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);position:relative;overflow:hidden;background-color:var(--background)}.login-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background:radial-gradient(circle at top left,color-mix(in srgb,var(--accent) 5%,transparent),transparent 50%),radial-gradient(circle at bottom right,color-mix(in srgb,var(--primary) 5%,transparent),transparent 50%)}.login-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.5;animation:float 12s ease-in-out infinite;mix-blend-mode:screen}.dark .login-orb{mix-blend-mode:lighten;opacity:.3}.login-orb-1{width:500px;height:500px;background:var(--accent);top:-15%;right:-10%;animation-delay:0s}.login-orb-2{width:400px;height:400px;background:var(--primary);bottom:-10%;left:-10%;animation-delay:-4s}.login-orb-3{width:300px;height:300px;background:var(--success);top:40%;left:60%;animation-delay:-8s;opacity:.3}@keyframes float{0%,to{transform:translate(0) scale(1) rotate(0)}33%{transform:translate(40px,-30px) scale(1.1) rotate(10deg)}66%{transform:translate(-30px,40px) scale(.9) rotate(-10deg)}}.login-card{position:relative;z-index:1;width:100%;max-width:420px;background:color-mix(in srgb,var(--surface) 70%,transparent);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border:1px solid color-mix(in srgb,var(--border) 50%,transparent);border-top:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:28px;padding:32px 24px;box-shadow:0 24px 80px -12px #0000001a,inset 0 1px #ffffff1a}.dark .login-card{background:color-mix(in srgb,var(--surface) 60%,transparent);box-shadow:0 24px 80px -12px #00000080,inset 0 1px #ffffff0d}.login-header-compact{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px}.login-logo-icon-compact{color:var(--accent);display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:color-mix(in srgb,var(--accent) 10%,transparent);border-radius:14px;box-shadow:0 4px 16px -4px color-mix(in srgb,var(--accent) 30%,transparent)}.login-title-compact{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,var(--text-primary),var(--text-tertiary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.login-error{display:flex;align-items:center;gap:12px;padding:16px;background:color-mix(in srgb,var(--danger) 10%,transparent);border:1px solid color-mix(in srgb,var(--danger) 20%,transparent);border-radius:16px;margin-bottom:24px;font-size:14px;color:var(--danger)}.login-error-icon{flex-shrink:0}.login-error-close{margin-left:auto;background:none;border:none;color:var(--danger);cursor:pointer;opacity:.6;padding:4px;display:flex;transition:opacity .2s}.login-error-close:hover{opacity:1}.login-form{display:flex;flex-direction:column;gap:16px}.input-group{display:flex;flex-direction:column;gap:8px}.input-group label{font-size:13px;font-weight:600;color:var(--text-secondary);margin-left:4px}.login-input{width:100%;background:color-mix(in srgb,var(--surface) 30%,transparent);border:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:12px;padding:12px 16px;font-size:1rem;color:var(--text-primary);transition:all .3s ease;outline:none}.login-input:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 15%,transparent)}.login-input::placeholder{color:var(--text-tertiary)}.password-wrapper{position:relative}.password-toggle{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-tertiary);padding:4px;display:flex;transition:color .2s}.password-toggle:hover{color:var(--text-primary)}.login-submit{width:100%;padding:12px;font-size:1rem;font-weight:600;margin-top:8px;background:var(--accent);color:var(--accent-foreground);border:none;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px -4px color-mix(in srgb,var(--accent) 40%,transparent)}.login-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 40%,transparent)}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.login-mode-toggle{position:relative;display:flex;background:color-mix(in srgb,var(--surface-hover) 50%,transparent);border:1px solid color-mix(in srgb,var(--border) 50%,transparent);border-radius:12px;padding:4px;margin-bottom:24px}.login-mode-btn{flex:1;position:relative;z-index:2;border:none;background:none;padding:8px 16px;font-size:.875rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:color .3s ease}.login-mode-btn.active{color:var(--text-primary)}.login-mode-slider{position:absolute;top:4px;bottom:4px;width:calc(50% - 4px);background:var(--surface);border-radius:12px;box-shadow:var(--shadow-sm);z-index:0}.login-divider{display:flex;align-items:center;gap:16px;margin:32px 0;color:var(--text-tertiary);font-size:13px;font-weight:500}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:linear-gradient(to right,transparent,var(--border),transparent)}.login-google-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;font-size:.9375rem;font-weight:600;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.login-google-btn:hover:not(:disabled){border-color:var(--text-tertiary);background:var(--surface-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.login-google-btn:disabled{opacity:.5;cursor:not-allowed}.login-footer{text-align:center;margin-top:24px;font-size:.8125rem;color:var(--text-tertiary);font-weight:500}@media(max-width:480px){.login-card{padding:24px 20px;border-radius:24px}.login-header-compact{margin-bottom:20px}.login-title-compact{font-size:1.5rem}}.compass-sidebar{--sb-accent: #5B6CF0;flex:0 0 240px;width:240px;height:100%;border-right:1px solid var(--sb-border);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;position:relative;z-index:10;transition:width .24s cubic-bezier(.4,0,.2,1),flex-basis .24s cubic-bezier(.4,0,.2,1);font-family:Inter,system-ui,sans-serif}.compass-sidebar{--sb-bg: #ECEEF5;--sb-surface: #FFFFFF;--sb-col-bg: #F0F1F8;--sb-border: #D8DCE8;--sb-border-in: #E4E6F0;--sb-text: #14161C;--sb-muted: #5A6072;--sb-faint: #8898AB;--sb-badge: #E8EAF2;--sb-hover: #E0E3EF;background:var(--sb-bg);color:var(--sb-text)}.dark .compass-sidebar,[data-theme=dark] .compass-sidebar{--sb-bg: #111318;--sb-surface: #1A1E28;--sb-col-bg: #161A22;--sb-border: #232836;--sb-border-in: #1C2030;--sb-text: #E2E5EF;--sb-muted: #8890A4;--sb-faint: #50586A;--sb-badge: #1A1E2A;--sb-hover: #1C2130;background:var(--sb-bg);color:var(--sb-text)}.compass-sidebar.collapsed{flex:0 0 64px;width:64px}.compass-sidebar ::-webkit-scrollbar{width:4px}.compass-sidebar ::-webkit-scrollbar-track{background:transparent}.compass-sidebar ::-webkit-scrollbar-thumb{background:var(--sb-border);border-radius:4px}.compass-sidebar .ms{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;line-height:1;display:inline-block;white-space:nowrap;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" -25,"opsz" 24;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.compass-sidebar .msf{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;line-height:1;display:inline-block;white-space:nowrap;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.sb-nav-item{transition:background .12s!important}.sb-nav-item:hover{background:var(--sb-hover)!important}.sb-brand-btn{transition:background .12s!important}.sb-brand-btn:hover{background:var(--sb-hover)!important}.sb-profile-row{transition:background .12s!important}.sb-profile-row:hover{background:var(--sb-hover)!important}.sb-nav-item[data-active=true]:hover{background:color-mix(in srgb,var(--sb-accent) 16%,transparent)!important}.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:color-mix(in srgb,var(--background) 85%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:.5px solid var(--border);z-index:100;padding:6px 0;padding-bottom:max(6px,env(safe-area-inset-bottom))}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 8px;color:var(--muted-foreground, #5A6072);text-decoration:none;font-size:10px;transition:color .15s}.mobile-nav-active{color:var(--primary, #5B6CF0)}.mobile-nav-active .mobile-nav-label{font-weight:600}@media(max-width:768px){.compass-sidebar{display:none!important}.mobile-nav{display:flex;justify-content:space-around}}.tasks-page{--background: #F8F9FB;--foreground: #16181D;--card: #FFFFFF;--card-bg: #FFFFFF;--border: #DDE0EC;--border-light: #DDE0EC;--card-border: #DDE0EC;--surface-border: #DDE0EC;--input: #DDE0EC;--muted: #ECEEF5;--muted-foreground: #5A6072;--primary: #4F5BD5;--primary-foreground: #FFFFFF;--accent: #4F5BD5;--accent-foreground: #FFFFFF;--accent-surface: rgba(79, 91, 213, .1);--accent-glow: rgba(79, 91, 213, .2);--success: #2FA37C;--warning: #C8881A;--error: #DC3E3E;--error-bg: rgba(220, 62, 62, .1);--bg: #F8F9FB;--surface: #FFFFFF;--surface-hover: #ECEEF5;--surface-variant: #ECEEF5;--text-primary: #16181D;--text-secondary: #5A6072;--text-tertiary: #9098AB;--ring: #4F5BD5;--input-focus: #4F5BD5;--indigo: #4F5BD5;--primary-container: rgba(79, 91, 213, .1)}.dark .tasks-page{--background: #0F1115;--foreground: #E8EAF0;--card: #1E222A;--card-bg: #1E222A;--border: #252B38;--border-light: #252B38;--card-border: #252B38;--surface-border: #252B38;--input: #252B38;--muted: #1A1E26;--muted-foreground: #8B92A3;--primary: #7C8CFF;--primary-foreground: #0F1115;--accent: #7C8CFF;--accent-foreground: #0F1115;--accent-surface: rgba(124, 140, 255, .12);--accent-glow: rgba(124, 140, 255, .22);--success: #3FBF96;--warning: #E0A020;--error: #E5484D;--error-bg: rgba(229, 72, 77, .12);--bg: #0F1115;--surface: #1A1E26;--surface-hover: #1E222A;--surface-variant: #141720;--text-primary: #E8EAF0;--text-secondary: #8B92A3;--text-tertiary: #5A6476;--ring: #7C8CFF;--input-focus: #7C8CFF;--indigo: #7C8CFF;--primary-container: rgba(124, 140, 255, .12)}.tasks-page{padding-bottom:100px;background:var(--background);min-height:100%}.tasks-header{padding:24px 24px 4px}.tasks-header-top{display:flex;align-items:flex-end;justify-content:space-between}.tasks-header h1{font-family:var(--font-serif);font-style:italic;font-size:30px;font-weight:500;color:var(--text-primary);line-height:1.1;letter-spacing:-.3px;margin:0}.tasks-header-subtitle{font-size:11px;color:var(--text-tertiary);margin-top:6px;text-transform:uppercase;letter-spacing:1.2px}.tasks-header-actions{display:flex;align-items:center;gap:2px}.tasks-progress{margin:14px 24px 10px;height:3px;background:var(--border);border-radius:2px;overflow:hidden}.tasks-progress-fill{height:100%;background:var(--success);border-radius:2px;transition:width .4s ease}.tasks-search{margin:0 24px 12px;position:relative}.tasks-search input{width:100%;padding:10px 16px 10px 42px;background:var(--card);border:.5px solid var(--border);border-radius:12px;color:var(--text-primary);font-family:var(--font-sans);font-size:14px;outline:none;transition:border-color .2s}.tasks-search input:focus{border-color:var(--accent)}.tasks-search input::placeholder{color:var(--text-tertiary)}.tasks-search .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:20px;color:var(--text-tertiary);pointer-events:none}.tasks-page .filter-chip{border-radius:999px;border:.5px solid var(--border);background:transparent;color:var(--text-secondary);font-weight:500}.tasks-page .filter-chip.selected{background:var(--text-primary);border-color:var(--text-primary);color:var(--background)}.tasks-page .filter-chip.overdue-chip.selected{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}.date-group-header{display:flex;align-items:center;gap:8px;padding:18px 24px 8px}.date-group-header .material-symbols-outlined{font-size:15px;color:var(--text-tertiary)}.date-group-label{font-size:10px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1.4px}.date-group-header:after{content:"";flex:1;height:1px;background:var(--divider)}.tasks-list{display:flex;flex-direction:column;counter-reset:trow}@media(min-width:769px){.tasks-board{display:flex;align-items:flex-start;overflow-x:auto;gap:20px;padding:0 24px 24px}.tasks-board-col{flex:0 0 340px;display:flex;flex-direction:column;min-width:0}.tasks-board-col .task-card{margin:0 0 12px}.tasks-board-col .date-group-header{padding-left:0;padding-right:0}}@media(max-width:768px){.tasks-board{display:flex;flex-direction:column}}.task-card-wrapper{margin:0}.task-card{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--card);border:1px solid var(--border);border-radius:12px;margin:0 24px 12px;cursor:pointer;position:relative;transition:all .2s ease}.task-card:hover{border-color:var(--primary);box-shadow:0 4px 12px #0000000d}.task-card:hover{background:var(--surface-hover)}.task-card.completed{opacity:.7}.task-card.overdue{box-shadow:inset 3px 0 0 var(--accent)}.task-card:before{content:counter(trow,decimal-leading-zero);flex-shrink:0;min-width:16px;padding-top:3px;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--accent-ink)}.task-card.completed:before{color:var(--text-tertiary)}.priority-checkbox{width:22px;height:22px;border-radius:7px;flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;margin-top:1px}.priority-checkbox.priority-high{border:1.5px solid var(--error)}.priority-checkbox.priority-medium{border:1.5px solid var(--warning)}.priority-checkbox.priority-low{border:1.5px solid var(--text-tertiary)}.priority-checkbox.done{background:var(--success)!important;border:1.5px solid var(--success)!important}.priority-checkbox .material-symbols-outlined{font-size:14px;color:var(--text-inverse)}.task-card-body{flex:1;min-width:0}.task-card-title{font-size:15px;font-weight:400;color:var(--text-primary);word-break:break-word;line-height:1.35}.task-card.completed .task-card-title{text-decoration:line-through;color:var(--text-tertiary)}.task-card-desc{font-size:12px;color:var(--text-secondary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-subtask-bar{display:flex;align-items:center;gap:8px;margin-top:8px}.task-subtask-track{flex:1;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.task-subtask-fill{height:100%;background:var(--success);border-radius:2px;transition:width .3s}.task-subtask-label{font-size:11px;font-weight:500;color:var(--text-tertiary);white-space:nowrap}.task-meta-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:7px}.task-meta-chip{display:inline-flex;align-items:center;gap:4px;padding:0;background:transparent!important;border-radius:0;font-size:11px;font-weight:500;white-space:nowrap;color:var(--text-tertiary)}.task-meta-chip .material-symbols-outlined{font-size:13px}.task-meta-chip.overdue-badge{color:var(--accent-ink)!important}.task-cat-icon{display:none}.done-section-header{display:flex;align-items:center;gap:8px;padding:18px 24px 8px;cursor:pointer;-webkit-user-select:none;user-select:none}.done-section-title{font-family:var(--font-serif);font-style:italic;font-size:16px;color:var(--text-secondary)}.done-section-header .expand-icon{font-size:20px;color:var(--text-tertiary);transition:transform .2s}.done-section-header .expand-icon.expanded{transform:rotate(180deg)}.tasks-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 24px;text-align:center}.tasks-empty-icon{width:64px;height:64px;border-radius:50%;background:var(--secondary);display:flex;align-items:center;justify-content:center;margin-bottom:16px;animation:float 3s ease-in-out infinite}.tasks-empty-icon .material-symbols-outlined{font-size:30px;color:var(--text-tertiary)}.tasks-empty h3{font-family:var(--font-serif);font-style:italic;font-size:17px;font-weight:500;color:var(--text-secondary);margin:0;max-width:280px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.subtasks-expanded{background:var(--secondary);border-bottom:.5px solid var(--divider);padding:10px 24px 14px}.subtask-desc{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.subtask-row{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;color:var(--text-primary)}.subtask-check{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.subtask-row.done .subtask-check{background:var(--success);border-color:var(--success)}.subtask-row.done .subtask-check .material-symbols-outlined{font-size:12px;color:var(--text-inverse)}.subtask-row .line-through{text-decoration:line-through;color:var(--text-tertiary)}.subtask-add-row{display:flex;gap:8px;margin-top:8px}.subtask-add-row input{flex:1;padding:7px 12px;background:var(--card);border:.5px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:var(--font-sans);font-size:13px;outline:none}.subtask-add-row input:focus{border-color:var(--accent)}.subtask-add-row input::placeholder{color:var(--text-tertiary)}.subtask-action-row{display:flex;gap:8px;margin-top:10px;padding-top:10px;border-top:.5px solid var(--divider)}.task-modal{max-height:85vh;overflow-y:auto}.task-modal .modal-header h2{font-family:var(--font-serif);font-style:italic;font-weight:500}.task-form{display:flex;flex-direction:column;gap:20px}.task-form-section{display:flex;flex-direction:column;gap:8px}.task-form-label{font-size:10px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1.2px}.task-form-chips{display:flex;gap:8px;flex-wrap:wrap}.form-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:.5px solid var(--border);background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;font-family:var(--font-sans)}.form-chip:hover{background:var(--surface-hover);color:var(--text-primary)}.form-chip.selected{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}.form-chip .material-symbols-outlined{font-size:16px}.form-chip .priority-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.date-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;border:.5px solid var(--border);background:var(--card);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;cursor:pointer;transition:border-color .2s;position:relative;overflow:hidden}.date-btn:hover{border-color:var(--accent)}.date-btn .material-symbols-outlined{font-size:20px;color:var(--text-tertiary)}.date-btn input[type=date],.date-btn input[type=datetime-local]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.time-preset-chip{padding:6px 12px;border-radius:999px;border:.5px solid var(--border);background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;font-family:var(--font-sans);transition:all .2s}.time-preset-chip:hover{background:var(--surface-hover)}.time-preset-chip.selected{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}.modal-bottom-bar{display:flex;gap:12px;align-items:center;padding-top:16px;border-top:.5px solid var(--divider);margin-top:8px;position:sticky;bottom:0;background:var(--surface);padding-bottom:4px}.confetti-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3000;overflow:hidden}.confetti-particle{position:absolute;animation:confettiFall 1.5s ease-out forwards}@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@media(max-width:768px){.tasks-header{padding:20px 16px 4px}.tasks-header h1{font-size:26px}.tasks-progress{margin:12px 16px 8px}.task-card{padding:13px 16px}.date-group-header,.done-section-header{padding:16px 16px 8px}.tasks-search{margin:0 16px 12px}.subtasks-expanded{padding:10px 16px 14px}}@media(min-width:769px){.task-card{padding:10px 0}.tasks-header,.date-group-header,.done-section-header,.subtasks-expanded{padding-left:0;padding-right:0}.tasks-progress,.tasks-search{margin-left:0;margin-right:0}}.current-task-hero{background:var(--surface);border:.5px solid var(--border);border-radius:16px;padding:20px;margin:0 24px 20px;box-shadow:0 1px 2px #00000008,0 2px 6px #0000000a;position:relative;transition:all .2s ease}.current-task-hero.overdue{border-color:var(--accent);box-shadow:inset 4px 0 0 var(--accent),0 2px 8px #ad14570d}.current-task-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px;color:var(--text-secondary)}.current-task-badge.overdue{color:var(--accent-ink)}.current-task-title{font-family:var(--font-serif);font-style:italic;font-size:20px;font-weight:500;color:var(--text-primary);margin:0 0 12px;line-height:1.3}.current-task-meta{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-size:12px;color:var(--text-secondary);flex-wrap:wrap}.current-task-meta .material-symbols-outlined{font-size:15px;color:var(--text-tertiary)}.current-task-actions{display:flex;gap:8px;flex-wrap:wrap}.current-task-btn{padding:6px 12px;border-radius:8px;font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:6px;cursor:pointer;border:.5px solid var(--border);background:var(--surface);color:var(--text-secondary);transition:all .2s;font-family:var(--font-sans)}.current-task-btn:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--text-secondary)}.current-task-btn.primary{background:var(--text-primary);color:var(--background);border:none}.current-task-btn.primary:hover{background:var(--text-secondary)}.ai-analysis-container{background:var(--surface);border:.5px solid var(--border);border-radius:16px;padding:20px;margin:0 24px 20px;box-shadow:0 1px 2px #00000008}.ai-analysis-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ai-analysis-header h3{font-family:var(--font-serif);font-style:italic;font-size:16px;font-weight:500;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:6px}.ai-analysis-header h3 .material-symbols-outlined{font-size:18px;color:var(--accent)}.ai-analysis-content{font-size:13px;line-height:1.5;color:var(--text-primary)}.ai-analysis-content p{margin:0 0 10px}.ai-analysis-content p:last-child{margin-bottom:0}.ai-analysis-content ul,.ai-analysis-content ol{margin:0 0 10px;padding-left:20px}.ai-analysis-content li{margin-bottom:4px}@media(max-width:768px){.current-task-hero,.ai-analysis-container{margin-left:16px;margin-right:16px}}@media(min-width:769px){.current-task-hero,.ai-analysis-container{margin-left:0;margin-right:0}}.subtasks-flat-list{display:flex;flex-direction:column;padding-left:20px;margin-top:-6px;margin-bottom:8px}.subtask-flat-item-wrapper{display:flex;align-items:center;position:relative;min-height:36px}.subtask-flat-connector{width:24px;height:100%;position:relative;flex-shrink:0}.connector-horizontal{position:absolute;top:50%;left:0;width:16px;height:1px;background:var(--border)}.connector-vertical{position:absolute;top:0;left:0;width:1px;height:100%;background:var(--border)}.subtask-flat-item-wrapper:first-child .connector-vertical{top:-12px;height:calc(100% + 12px)}.subtask-flat-item-wrapper:last-child .connector-vertical{height:50%}.main-content:has(.kanban-page){overflow:hidden}.tasks-page.kanban-page{padding-bottom:0;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.kanban-page{background:var(--background);color:var(--text-primary)}.kb-add-btn{display:flex;align-items:center;gap:7px;background:var(--accent);color:var(--accent-foreground);border:none;border-radius:9px;padding:9px 16px;font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:filter .15s}.kb-add-btn:hover{filter:brightness(1.06)}.kb-filter{display:flex;align-items:center;gap:5px;background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:3px 9px;width:130px;height:30px}.kb-filter input{background:transparent;border:none;outline:none;color:var(--text-primary);font-size:12px;font-family:inherit;width:100%;line-height:1}.kb-filter input::placeholder{color:var(--text-tertiary)}.kb-seg{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:2px;gap:2px}.kb-seg button{display:flex;align-items:center;gap:5px;border:none;cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;padding:4px 11px;border-radius:6px;background:transparent;color:var(--text-secondary);transition:background .15s,color .15s}.kb-seg button.active{background:var(--accent);color:var(--accent-foreground)}.kb-col{width:300px;flex:0 0 300px;background:var(--surface-variant);border:1px solid var(--border);border-radius:14px;max-height:100%;display:flex;flex-direction:column;transition:border-color .15s,background .15s}.kb-col.over{border-color:var(--accent)}.kb-col-head{display:flex;align-items:center;gap:7px;padding:9px 12px 7px;flex:0 0 auto}.kb-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;border-radius:6px;background:transparent;font-size:12px;font-weight:700}.kb-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.kb-col-name{font-size:13.5px;font-weight:600;color:var(--text-primary);flex:1}.kb-col-ic{font-size:18px;color:var(--text-tertiary);cursor:pointer}.kb-col-body{flex:1;overflow-y:auto;padding:3px 8px 6px;display:flex;flex-direction:column;gap:6px;min-height:36px}.kb-card{position:relative;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:11px 12px;cursor:pointer;box-shadow:0 1px 3px #0000000f;transition:border-color .15s,box-shadow .15s,opacity .15s}.kb-card:hover{border-color:var(--accent)}.kb-card-title{font-size:13.5px;font-weight:500;color:var(--text-primary);line-height:1.42;margin-bottom:8px}.kb-meta{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.kb-chip{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--text-secondary);font-weight:500}.kb-cat-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;border-radius:6px;padding:2px 8px;letter-spacing:.1px}.kb-compose{background:var(--card);border:1px solid var(--accent);border-radius:10px;padding:10px}.kb-compose textarea{width:100%;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:13.5px;font-family:inherit;resize:none;line-height:1.45}.kb-add-commit{background:var(--accent);color:var(--accent-foreground);border:none;border-radius:7px;padding:6px 14px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit}.kb-add-cancel{background:transparent;color:var(--text-secondary);border:none;padding:6px 10px;font-size:12.5px;cursor:pointer;font-family:inherit}.kb-add-row{display:flex;align-items:center;gap:5px;background:transparent;border:none;color:var(--text-tertiary);font-size:11.5px;font-weight:500;padding:6px 4px 2px;cursor:pointer;font-family:inherit;border-radius:7px;text-align:left;width:100%;border-top:1px solid var(--border);margin-top:2px;transition:color .15s}.kb-add-row:hover{color:var(--text-secondary)}.kb-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:60}.kb-drawer{position:fixed;top:0;right:0;bottom:0;width:440px;max-width:92vw;background:var(--surface-variant);border-left:1px solid var(--border);z-index:61;display:flex;flex-direction:column;box-shadow:-16px 0 48px #00000040;animation:kbDrawerIn .25s ease}@keyframes kbDrawerIn{0%{transform:translate(28px)}to{transform:none}}.kb-drawer-head{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border);flex:0 0 auto}.kb-pri-pill{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:5px 10px}.kb-drawer-body{flex:1;overflow-y:auto;padding:22px 20px}.kb-drawer-title{font-family:var(--font-display);font-weight:500;font-size:22px;line-height:1.3;color:var(--text-primary);margin-bottom:14px}.kb-drawer-desc{font-size:13.5px;line-height:1.6;color:var(--text-secondary);margin-bottom:20px}.kb-info{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:20px}.kb-info-row{display:flex;align-items:center;gap:10px;padding:12px 14px;font-size:13px;color:var(--text-primary)}.kb-info-row+.kb-info-row{border-top:1px solid var(--border)}.kb-info-label{font-size:12px;color:var(--text-tertiary);width:96px;display:flex;align-items:center;gap:7px}.kb-sub-head{font-size:11px;font-weight:600;letter-spacing:.5px;color:var(--text-secondary);text-transform:uppercase}.kb-progress{height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin-bottom:10px}.kb-progress>div{height:100%;background:var(--success);border-radius:2px;transition:width .3s}.kb-sub-item{display:flex;align-items:center;gap:10px;padding:8px 4px;cursor:pointer;border-radius:7px;font-size:13.5px}.kb-sub-item:hover{background:var(--surface)}.kb-drawer-foot{padding:14px 20px;border-top:1px solid var(--border);flex:0 0 auto}.kb-done-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;background:var(--success);color:#fff;border:none;border-radius:9px;padding:11px;font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit}.kb-header{display:flex;align-items:center;gap:10px;padding:12px 22px 10px;flex:0 0 auto;border-bottom:1px solid var(--border)}.kb-title{font-family:var(--font-serif);font-style:italic;font-size:24px;font-weight:500;color:var(--text-primary);line-height:1.1;letter-spacing:-.3px;margin:0}.kb-toolbar{display:flex;align-items:center;gap:8px;padding:7px 22px 8px;flex:0 0 auto;flex-wrap:wrap}.kb-search-global{display:flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:5px 12px;font-size:12.5px;color:var(--text-tertiary);cursor:pointer;transition:border-color .15s;min-width:160px}.kb-search-global:hover{border-color:var(--text-tertiary)}.kb-kbd{margin-left:auto;font-size:11px;font-family:inherit;background:var(--surface-variant);border:1px solid var(--border);border-radius:4px;padding:1px 6px;color:var(--text-tertiary)}.kb-header-ic{font-size:19px;color:var(--text-tertiary);cursor:pointer;padding:5px;border-radius:7px;transition:background .15s,color .15s}.kb-header-ic-bg{background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:6px}.kb-header-ic:hover{background:var(--surface-hover);color:var(--text-secondary)}.kb-filter-count{font-size:11px;font-weight:600;color:var(--text-tertiary);white-space:nowrap}.kb-toolbar-extra{display:flex;align-items:center;gap:6px}.kb-pill-btn{display:flex;align-items:center;gap:5px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:4px 11px;font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.kb-pill-btn:hover{background:var(--surface-hover);border-color:var(--text-tertiary);color:var(--text-primary)}.kb-pill-btn.active{border-color:var(--accent);color:var(--accent)}.kb-pill-btn-accent{background:var(--accent)!important;color:var(--accent-foreground)!important;border-color:var(--accent)!important;font-weight:600}.kb-pill-btn-accent:hover{filter:brightness(1.08)}.kb-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:180px;background:var(--surface-variant);border:1px solid var(--border);border-radius:10px;padding:4px;box-shadow:0 8px 24px #00000038;animation:kbDropIn .15s ease}@keyframes kbDropIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.kb-dropdown button{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:none;border-radius:7px;padding:8px 12px;font-size:13px;font-family:inherit;color:var(--text-secondary);cursor:pointer;text-align:left;transition:background .12s}.kb-dropdown button:hover{background:var(--surface-hover)}.kb-dropdown button.active{color:var(--accent);font-weight:600}.kb-board-wrap{flex:1;overflow:hidden;min-height:0}.kb-board{display:flex;gap:16px;padding:6px 24px 24px;overflow-x:auto;height:100%;align-items:stretch}.kb-board::-webkit-scrollbar{height:6px}.kb-board::-webkit-scrollbar-track{background:transparent;margin:0 80px}.kb-board::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:10px;opacity:.5}.kb-board::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.kb-new-col-btn{display:flex;align-items:center;gap:6px;flex:0 0 auto;min-width:140px;height:40px;padding:8px 16px;background:var(--surface);border:1px dashed var(--border);border-radius:12px;color:var(--text-tertiary);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:border-color .15s,color .15s;white-space:nowrap;align-self:flex-start;margin-top:5px}.kb-new-col-btn:hover{border-color:var(--text-tertiary);color:var(--text-secondary)}.tasks-page .modal .input:focus,.tasks-page .task-modal .input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #6366f126}.tasks-page .modal-bottom-bar .btn-primary,.tasks-page .task-modal .btn-primary{background:var(--accent);color:var(--accent-foreground);border-color:var(--accent)}.tasks-page .modal-bottom-bar .btn-primary:hover{filter:brightness(1.08)}.kb-sub-add{display:flex;align-items:center;gap:8px;margin-top:12px}.kb-sub-add input{flex:1;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:13px;outline:none;transition:border-color .2s}.kb-sub-add input:focus{border-color:var(--accent)}.kb-sub-add input::placeholder{color:var(--text-tertiary)}.kb-sub-add button{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--accent);cursor:pointer;transition:background .15s,border-color .15s}.kb-sub-add button:hover{background:var(--accent-surface);border-color:var(--accent)}.snackbar{position:fixed;bottom:28px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:14px;background:var(--text-primary);color:var(--background);padding:12px 20px;border-radius:12px;font-size:13.5px;font-weight:500;box-shadow:0 8px 32px #0000004d;z-index:200;animation:snackIn .25s ease}@keyframes snackIn{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.snackbar-undo{background:transparent;border:none;color:var(--accent);font-size:13.5px;font-weight:700;cursor:pointer;font-family:inherit;padding:4px 8px;border-radius:6px;transition:background .15s}.snackbar-undo:hover{background:#ffffff1f}@media(max-width:768px){.kb-header{padding:16px 16px 0;gap:8px;flex-wrap:wrap}.kb-title{font-size:22px}.kb-search-global{display:none}.kb-toolbar{padding:10px 16px 8px}.kb-filter{width:100%}.kb-toolbar-extra{display:none}.kb-board{padding:6px 16px 16px;gap:12px}.kb-col{width:280px;flex:0 0 280px}.kb-drawer{width:100%;max-width:100vw}.snackbar{bottom:80px;left:16px;right:16px;transform:none}@keyframes snackIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}}.habits-page{--h-bg: var(--background, #F8F9FB);--h-col-bg: var(--muted, #ECEEF5);--h-surface: var(--card, #FFFFFF);--h-border: var(--border, #DDE0EC);--h-border-in: var(--muted, #ECEEF5);--h-text: var(--foreground, #16181D);--h-muted: var(--muted-foreground, #5A6072);--h-faint: var(--text-tertiary, #9098AB);--h-badge: var(--secondary, #EEF0F8);--h-overlay: var(--overlay, rgba(0, 0, 0, .25));--h-shd-drawer: -16px 0 48px rgba(0, 0, 0, .15);--h-accent: var(--accent);--h-accent-bg: var(--accent-surface);height:100%;display:flex;flex-direction:column;background:var(--h-bg);color:var(--h-text);overflow:hidden;font-family:Inter,system-ui,sans-serif;transition:background .22s,color .22s}.habits-page ::-webkit-scrollbar{height:6px;width:6px}.habits-page ::-webkit-scrollbar-track{background:transparent}.habits-page ::-webkit-scrollbar-thumb{background:var(--h-border);border-radius:6px;border:2px solid transparent;background-clip:content-box}@keyframes h-drawerIn{0%{transform:translate(24px);opacity:.6}to{transform:none;opacity:1}}@keyframes h-checkPop{0%{transform:scale(1)}40%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes h-fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.habits-page .ms{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;line-height:1;display:inline-block;white-space:nowrap;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" -25,"opsz" 24;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.habits-page .msf{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;line-height:1;display:inline-block;white-space:nowrap;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.habits-page .drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--h-overlay);z-index:60}.habits-page .drawer-panel{position:fixed;top:0;right:0;bottom:0;width:440px;max-width:94vw;background:var(--h-surface);border-left:1px solid var(--h-border);z-index:61;display:flex;flex-direction:column;animation:h-drawerIn .25s ease;box-shadow:var(--h-shd-drawer)}.habits-page .drawer-panel-narrow{width:400px;max-width:92vw}.habits-page .check-pop{animation:h-checkPop .35s ease}.prayers-page{--prayers-bg: var(--background, #F8F9FB);--prayers-col-bg: var(--muted, #ECEEF5);--prayers-surface: var(--card, #FFFFFF);--prayers-card: var(--card, #FFFFFF);--prayers-border: var(--border, #DDE0EC);--prayers-border-in: var(--muted, #ECEEF5);--prayers-text: var(--foreground, #16181D);--prayers-muted: var(--muted-foreground, #5A6072);--prayers-faint: var(--text-tertiary, #9098AB);--prayers-desc: var(--text-secondary, #6B7280);--prayers-badge: var(--secondary, #EEF0F8);--prayers-overlay: var(--overlay, rgba(0, 0, 0, .25));--prayers-accent: var(--accent);--prayers-accent-bg: var(--accent-surface);height:100%;display:flex;flex-direction:column;background:var(--prayers-bg);color:var(--prayers-text);overflow:hidden;font-family:Inter,system-ui,sans-serif;transition:background .22s,color .22s}.prayers-page ::-webkit-scrollbar{height:6px;width:6px}.prayers-page ::-webkit-scrollbar-track{background:transparent}.prayers-page ::-webkit-scrollbar-thumb{background:var(--prayers-border);border-radius:6px;border:2px solid transparent;background-clip:content-box}.prayers-page ::-webkit-scrollbar-thumb:hover{background:var(--prayers-muted);background-clip:content-box}@keyframes prayers-fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes prayers-popIn{0%{transform:scale(.94);opacity:0}to{transform:none;opacity:1}}.prayers-page .ms{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;line-height:1;display:inline-block;white-space:nowrap;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" -25,"opsz" 24;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.prayers-page .msf{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;line-height:1;display:inline-block;white-space:nowrap;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.prayers-page .modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--prayers-overlay);z-index:60;display:flex;align-items:center;justify-content:center}.prayers-page .modal-card{background:var(--prayers-surface);border:1px solid var(--prayers-border);border-radius:14px;width:90%;max-width:400px;padding:24px;box-shadow:0 16px 32px #0003;animation:prayers-popIn .2s cubic-bezier(.16,1,.3,1);color:var(--prayers-text)}.prayers-page .modal-input{width:100%;background:var(--prayers-col-bg);border:1px solid var(--prayers-border);border-radius:9px;padding:10px 14px;color:var(--prayers-text);font-size:13px;font-family:inherit;outline:none;margin-bottom:6px}.prayers-page .modal-input:focus{border-color:var(--prayers-accent)}.sleep-page{--sleep-bg: var(--background, #F8F9FB);--sleep-col-bg: var(--muted, #ECEEF5);--sleep-surface: var(--card, #FFFFFF);--sleep-card: var(--card, #FFFFFF);--sleep-border: var(--border, #DDE0EC);--sleep-border-in: var(--muted, #ECEEF5);--sleep-text: var(--foreground, #16181D);--sleep-muted: var(--muted-foreground, #5A6072);--sleep-faint: var(--text-tertiary, #9098AB);--sleep-desc: var(--text-secondary, #6B7280);--sleep-badge: var(--secondary, #EEF0F8);--sleep-overlay: var(--overlay, rgba(0, 0, 0, .25));--sleep-shd-drawer: -16px 0 48px rgba(0, 0, 0, .15);--sleep-accent: #5B6CF0;--sleep-accent-bg: rgba(91, 108, 240, .14);height:100%;display:flex;flex-direction:column;background:var(--sleep-bg);color:var(--sleep-text);overflow:hidden;font-family:Inter,system-ui,sans-serif;transition:background .22s,color .22s}.sleep-page ::-webkit-scrollbar{height:6px;width:6px}.sleep-page ::-webkit-scrollbar-track{background:transparent}.sleep-page ::-webkit-scrollbar-thumb{background:var(--sleep-border);border-radius:6px;border:2px solid transparent;background-clip:content-box}.sleep-page ::-webkit-scrollbar-thumb:hover{background:var(--sleep-muted);background-clip:content-box}.sleep-page .ms{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;line-height:1;display:inline-block;white-space:nowrap;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" -25,"opsz" 24;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.sleep-page .msf{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;line-height:1;display:inline-block;white-space:nowrap;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.sleep-page .drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--sleep-overlay);z-index:60}.sleep-page .drawer-panel{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:92vw;background:var(--sleep-surface);border-left:1px solid var(--sleep-border);z-index:61;display:flex;flex-direction:column;animation:drawerIn .25s ease;box-shadow:var(--sleep-shd-drawer)}.settings-page{padding-bottom:100px;background:var(--background);min-height:100%}.page-title{font-family:var(--font-serif);font-style:italic;font-size:30px;font-weight:500;color:var(--text-primary);line-height:1.1;letter-spacing:-.3px;margin:0;padding:24px 24px 4px}.settings-content{padding:0}.section-label{font-size:11px;font-weight:500;color:var(--text-tertiary);letter-spacing:1.2px;text-transform:uppercase;margin:16px 24px 8px}.profile-avatar-card{background:var(--surface);border:.5px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm);margin:16px 24px 24px;padding:20px;display:flex;align-items:center;gap:16px}.profile-avatar{width:48px;height:48px;border-radius:50%;background:var(--surface-hover);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.profile-avatar .material-symbols-outlined{font-size:28px}.profile-info-edit{flex:1;display:flex;flex-direction:column;gap:2px}.profile-name-input{background:transparent;border:none;font-size:18px;font-weight:500;color:var(--text-primary);padding:0;outline:none}.profile-name-input::placeholder{color:var(--text-tertiary)}.profile-email-text{font-size:13px;color:var(--text-secondary)}.btn-primary{background:var(--text-primary);color:var(--background);border:none;font-size:14px;font-weight:500;padding:8px 16px;border-radius:8px;cursor:pointer;transition:all .2s}.btn-primary.save-mode{background:var(--accent);color:var(--accent-foreground)}.settings-list{display:flex;flex-direction:column}.settings-row{display:flex;align-items:center;padding:14px 24px;gap:16px;background:transparent;border:none;border-bottom:.5px solid var(--divider)}.settings-row.clickable{cursor:pointer;transition:background .15s ease}.settings-row.clickable:hover{background:var(--surface-hover)}.settings-icon{font-size:20px;color:var(--text-tertiary)}.settings-icon.green{color:var(--success)}.settings-icon.red{color:var(--text-tertiary)}.settings-row-text{flex:1;display:flex;flex-direction:column;gap:2px}.settings-row-title{font-size:15px;font-weight:400;color:var(--text-primary)}.settings-row-title.red{color:var(--text-primary)}.settings-row-subtitle{font-size:12px;color:var(--text-secondary)}.sync-btn{background:transparent;border:.5px solid var(--border);border-radius:999px;padding:6px 14px;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer}.sync-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.segmented-control{display:flex;background:transparent;border:.5px solid var(--border);border-radius:999px;padding:2px}.segment{background:transparent;border:none;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.segment.active{background:var(--text-primary);color:var(--background)}.segmented-control.theme-control .segment{padding:6px 12px;display:flex;align-items:center;justify-content:center}.segmented-control.theme-control .material-symbols-outlined{font-size:18px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:1000}.android-dialog{background:var(--surface);border:.5px solid var(--border);border-radius:16px;padding:24px;width:90%;max-width:340px;box-shadow:var(--shadow-md)}.dialog-title{font-family:var(--font-serif);font-style:italic;font-size:20px;font-weight:500;color:var(--text-primary);margin:0 0 16px}.dialog-text{font-size:14px;color:var(--text-secondary);margin:0 0 24px;line-height:1.5}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.dialog-btn{background:transparent;border:none;color:var(--text-primary);font-size:14px;font-weight:500;padding:8px 16px;border-radius:8px;cursor:pointer}.dialog-btn:hover{background:var(--surface-hover)}.dialog-btn.delete{color:var(--text-primary);background:var(--surface-hover)}@media(max-width:768px){.page-title{padding:20px 16px 4px;font-size:26px}.profile-avatar-card{margin:16px 16px 24px}.settings-row{padding:14px 16px}.section-label{margin:16px 16px 8px}}@media(min-width:769px){.page-title{padding-left:0;padding-right:0}.profile-avatar-card{margin-left:0;margin-right:0}.settings-row{padding-left:0;padding-right:0}.section-label{margin-left:0;margin-right:0}}.finance-page-gamified{height:100vh;display:flex;flex-direction:column;background:var(--background);color:var(--text-primary);overflow:hidden;font-family:Inter,sans-serif;transition:background .22s,color .22s}.ms{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;line-height:1;display:inline-block;white-space:nowrap;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" -25,"opsz" 24;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.msf{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;line-height:1;display:inline-block;white-space:nowrap;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.finance-scrollable{flex:1;overflow-y:auto;min-height:0}.finance-scrollable::-webkit-scrollbar{height:6px;width:6px}.finance-scrollable::-webkit-scrollbar-track{background:transparent}.finance-scrollable::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px;border:2px solid transparent;background-clip:content-box}.finance-scrollable::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary);background-clip:content-box}@keyframes drawerIn{0%{transform:translate(24px);opacity:.6}to{transform:none;opacity:1}}@keyframes popIn{0%{transform:scale(.94);opacity:0}to{transform:none;opacity:1}}.finance-number-input::-webkit-inner-spin-button,.finance-number-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.finance-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:60}.finance-drawer{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:92vw;background:var(--col-bg);border-left:1px solid var(--border);z-index:61;display:flex;flex-direction:column;animation:drawerIn .25s ease;box-shadow:-8px 0 32px #0000001a}html[data-theme=dark] .finance-drawer{box-shadow:-16px 0 48px #00000080}.finance-drawer input:focus,.finance-add-chunk-input:focus{border-color:var(--accent)!important}.time-page{display:flex;flex-direction:column;min-height:100%;background-color:var(--bg);max-width:1100px;margin:0 auto}.time-stats-strip{display:flex;gap:10px;padding:20px 24px 0}.time-stat-box{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:13px 14px;display:flex;flex-direction:column;gap:5px}.time-stat-header{display:flex;align-items:center;justify-content:space-between}.time-stat-icon{font-size:16px}.time-stat-trend{font-size:9px;font-weight:700;padding:2px 7px;border-radius:5px}.time-stat-trend.positive{color:#4caf50;background:#e8f5e9}.time-stat-trend.neutral{color:var(--text-tertiary);background:var(--border)}.time-stat-val{font-size:21px;font-weight:700;color:var(--text);letter-spacing:-.5px;line-height:1.1}.time-stat-label{font-size:10px;color:var(--text-tertiary)}.time-main-grid{padding:14px 24px 0;display:grid;grid-template-columns:300px 1fr;gap:14px;align-items:start}@media(max-width:800px){.time-main-grid{grid-template-columns:1fr}}.time-timer-box{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:22px 18px;display:flex;flex-direction:column;align-items:center;gap:16px}.time-timer-tabs{display:flex;gap:3px;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:3px;width:100%}.time-timer-tabs button{flex:1;padding:6px 0;border:none;border-radius:7px;font-family:inherit;font-size:11.5px;font-weight:600;cursor:pointer;background:transparent;color:var(--text-secondary);transition:all .18s}.time-timer-tabs button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001a}.time-timer-ring-container{position:relative;width:180px;height:180px;flex:0 0 180px}.time-timer-ring-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.time-timer-display{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.time-timer-time{font-size:42px;font-weight:700;color:var(--text);letter-spacing:-2px;line-height:1;font-variant-numeric:tabular-nums}.time-timer-status{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.time-timer-cats{display:flex;gap:5px;flex-wrap:wrap;justify-content:center}.time-cat-chip{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;border:1.5px solid var(--border);background:var(--bg);cursor:pointer;font-family:inherit;font-size:11px;font-weight:600;transition:all .15s}.time-cat-chip .icon{display:flex;align-items:center;justify-content:center}.time-timer-controls{display:flex;align-items:center;gap:12px}.time-ctrl-btn{width:38px;height:38px;border-radius:50%;background:var(--bg);border:1px solid var(--border);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.time-ctrl-btn:hover{background:var(--border);color:var(--text)}.time-ctrl-main{width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 20px #0003;transition:transform .15s,opacity .15s}.time-ctrl-main:hover{opacity:.85;transform:scale(1.06)}.time-ctrl-main span{font-size:26px}.time-timer-sessions{display:flex;align-items:center;gap:5px}.time-session-dot{width:8px;height:8px;border-radius:50%;transition:background .25s}.time-timer-sessions span{font-size:10px;color:var(--text-tertiary);margin-left:3px}.time-right-col{display:flex;flex-direction:column;gap:12px}.time-analytics-box{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px 18px}.time-analytics-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.time-analytics-header span{font-size:13px;font-weight:600;color:var(--text)}.time-analytics-header small{font-size:11px;color:var(--text-tertiary)}.time-heatmap{display:flex;gap:6px}.time-heat-day{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px}.time-heat-day span{font-size:9.5px}.time-heat-cell{width:100%;aspect-ratio:1;border-radius:10px;border-style:solid;border-width:1.5px;display:flex;align-items:center;justify-content:center}.time-heat-cell span{font-size:11px;font-weight:700}.time-heat-today-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.time-breakdown-list{display:flex;flex-direction:column;gap:11px}.time-breakdown-item{display:flex;flex-direction:column}.time-breakdown-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.time-breakdown-name{display:flex;align-items:center;gap:7px}.time-breakdown-name .icon{width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center}.time-breakdown-name span{font-size:12px;font-weight:500;color:var(--text)}.time-breakdown-dur{font-size:11px;color:var(--text-tertiary);font-weight:500}.time-breakdown-track{height:5px;background:var(--border);border-radius:3px;overflow:hidden}.time-breakdown-fill{height:100%;border-radius:3px;transition:width .6s ease}.time-sessions-container{padding:14px 24px 24px}.time-sessions-box{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden}.time-sessions-header{padding:12px 14px 12px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.time-sessions-header .title{font-size:13px;font-weight:600;color:var(--text);flex:1}.time-sessions-header .subtitle{font-size:11px;color:var(--text-tertiary)}.time-sessions-add{display:flex;align-items:center;gap:5px;background:var(--accent);color:#fff;border:none;border-radius:9px;padding:6px 13px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap}.time-sessions-list{padding:6px 14px;position:relative}.time-sessions-line{position:absolute;left:46px;top:14px;bottom:14px;width:1px;background:var(--border)}.time-session-row{display:flex;flex-direction:column}.time-session-view{display:flex;align-items:center;gap:10px;padding:9px 0;border-radius:8px}.time-session-view:hover{background:color-mix(in srgb,var(--border) 16%,transparent)}.time-session-time-col{width:32px;flex:0 0 32px;text-align:center;font-size:9px;color:var(--text-tertiary);font-weight:500}.time-session-icon{width:30px;height:30px;border-radius:50%;border-style:solid;border-width:1.5px;display:flex;align-items:center;justify-content:center;flex:0 0 30px;position:relative;z-index:1}.time-session-content{flex:1;min-width:0}.time-session-desc{font-size:12.5px;font-weight:500;color:var(--text)}.time-session-cat{font-size:10px;color:var(--text-tertiary);margin-top:1px}.time-session-dur-badge{display:flex;align-items:center;gap:4px;border-style:solid;border-width:1px;border-radius:20px;padding:3px 10px;flex:0 0 auto;font-size:11px;font-weight:600}.time-session-action{background:transparent;border:none;cursor:pointer;padding:5px;border-radius:7px;display:flex;color:var(--text-tertiary);flex:0 0 auto}.time-session-action:hover{background:var(--surface);color:var(--text)}.time-session-action.danger:hover{background:color-mix(in srgb,var(--danger) 18%,transparent);color:var(--danger)}.time-session-edit{display:flex;align-items:flex-start;gap:10px;padding:10px 0}.time-session-edit-fields{flex:1;display:flex;flex-direction:column;gap:7px}.time-edit-input{width:100%;background:var(--bg);border:1.5px solid var(--border);border-radius:8px;padding:7px 10px;font-family:inherit;font-size:12px;color:var(--text);outline:none}.time-edit-actions{display:flex;align-items:center;gap:8px}.time-btn-save{font-size:11.5px;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:8px;padding:6px 14px;cursor:pointer}.time-btn-cancel{font-size:11.5px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px 10px;cursor:pointer}.time-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000072;z-index:300;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.time-modal-container{width:480px;background:var(--bg);border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:0 32px 80px #000a;animation:fadeUp .18s ease}.time-modal-header{padding:20px 22px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.time-modal-icon-bg{width:38px;height:38px;border-radius:11px;background:color-mix(in srgb,var(--accent) 18%,transparent);display:flex;align-items:center;justify-content:center;flex:0 0 38px;color:var(--accent)}.time-modal-header-text{flex:1}.time-modal-title{font-size:15px;font-weight:600;color:var(--text)}.time-modal-subtitle{font-size:11px;color:var(--text-tertiary);margin-top:2px}.time-modal-close{background:transparent;border:none;cursor:pointer;padding:6px;display:flex;color:var(--text-tertiary);border-radius:8px}.time-modal-close:hover{background:var(--surface)}.time-modal-body{padding:18px 22px;display:flex;flex-direction:column;gap:16px}.time-input-group label{font-size:11.5px;font-weight:600;color:var(--text-tertiary);letter-spacing:.3px;margin-bottom:10px;display:block}.time-modal-cats{display:flex;flex-wrap:wrap;gap:6px}.time-input-group input{width:100%;background:var(--surface);border:1.5px solid var(--border);border-radius:10px;padding:10px 13px;font-family:inherit;font-size:13px;color:var(--text);outline:none;box-sizing:border-box}.time-modal-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.time-modal-footer{padding:14px 22px 20px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end}.mood-page{display:flex;flex-direction:column;height:100%;padding:2rem;overflow-y:auto;background-color:var(--background)}.mood-container{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1200px;margin:0 auto;width:100%}@media(min-width:1024px){.mood-container{grid-template-columns:1fr 380px}}.mood-left{display:flex;flex-direction:column;gap:1.5rem}.mood-card{background-color:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:1.5rem}.mood-form-card{align-self:start;position:sticky;top:1.5rem}.mood-section-title{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.mood-matrix-subtitle{font-size:.78rem;color:var(--text-secondary);margin:-.5rem 0 1rem}.mood-matrix-wrapper{display:flex;flex-direction:column;align-items:center;gap:6px}.mood-matrix-row{display:flex;align-items:center;gap:6px;width:100%}.mood-matrix-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:1}.mood-axis-label{font-size:.65rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.mood-axis-top,.mood-axis-bottom{text-align:center}.mood-axis-left,.mood-axis-right{writing-mode:vertical-lr;text-align:center}.mood-axis-left{transform:rotate(180deg)}.mood-quadrant-card{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:12px;border:1.5px solid var(--border);background:var(--background);cursor:pointer;text-align:left;transition:all .2s ease;aspect-ratio:1}.mood-quadrant-card:hover{transform:scale(1.03);box-shadow:0 4px 12px #00000014}.mood-quadrant-card.selected{transform:scale(1.02);border-width:2px;box-shadow:0 2px 8px color-mix(in srgb,var(--q-color) 25%,transparent)}.mood-quadrant-bar{width:100%;height:4px;border-radius:2px;margin-bottom:4px}.mood-quadrant-label{font-weight:700;font-size:.85rem;line-height:1.2}.mood-quadrant-desc{font-size:.72rem;color:var(--text-secondary);line-height:1.3}.mood-form-fields{margin-top:1.25rem;animation:fadeIn .2s ease}.mood-field-label{display:block;font-size:.8rem;font-weight:500;color:var(--text-secondary);margin-bottom:6px;margin-top:12px}.mood-field-label:first-child{margin-top:0}.mood-field-input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background-color:var(--background);color:var(--text-primary);font-size:.875rem}.mood-field-input:focus{outline:none;border-color:var(--accent)}.mood-input{width:100%;min-height:80px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background-color:var(--background);color:var(--text-primary);resize:vertical;font-family:inherit;font-size:.875rem}.mood-input:focus{outline:none;border-color:var(--accent)}.mood-submit{width:100%;padding:10px;border-radius:10px;background-color:var(--accent);color:#fff;font-weight:600;border:none;margin-top:12px;cursor:pointer;transition:opacity .2s}.mood-submit:hover:not(:disabled){opacity:.9}.mood-submit:disabled{opacity:.5;cursor:not-allowed}.mood-history-list{display:flex;flex-direction:column;gap:8px}.mood-history-item{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:10px;background-color:var(--background);border:1px solid var(--border)}.mood-history-icon{width:40px;height:40px;min-width:40px;display:flex;align-items:center;justify-content:center;border-radius:50%}.mood-history-dot{width:12px;height:12px;border-radius:50%}.mood-history-content{flex:1;min-width:0}.mood-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.mood-history-date{font-size:.8rem;color:var(--text-secondary)}.mood-history-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.mood-history-tag{font-size:.7rem;padding:2px 8px;border-radius:100px;background-color:var(--surface);border:1px solid var(--border);color:var(--text-secondary)}.mood-history-note{font-size:.8rem;color:var(--text-secondary);line-height:1.4;margin:0}.mood-delete-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;border-radius:6px;opacity:0;transition:all .15s}.mood-history-item:hover .mood-delete-btn{opacity:1}.mood-delete-btn:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.mood-calendar{display:grid;grid-template-rows:repeat(7,1fr);grid-auto-flow:column;gap:3px;overflow-x:auto;padding-bottom:4px}.mood-cal-day{width:18px;height:18px;border-radius:3px;background-color:var(--border);transition:transform .1s}.mood-cal-day:hover{transform:scale(1.3);z-index:10}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.people-board-container{height:100vh;display:flex;background:#0d0f14;color:#e2e5ef;font-family:Inter,sans-serif;overflow:hidden;position:relative}.people-board-sidebar{background:#111318;border-right:1px solid #232836;display:flex;flex-direction:column;overflow:hidden;transition:width .22s;flex-shrink:0}.people-board-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;animation:fadeIn .18s ease}.pb-header-icon{width:30px;height:30px;border-radius:9px;background:#5b6cf017;display:flex;align-items:center;justify-content:center;flex:0 0 30px;color:#5b6cf0}.pb-title{font-family:Lora,serif;font-style:italic;font-size:18px;font-weight:500;color:#e2e5ef}.pb-count-badge{font-size:9.5px;color:#50586a;background:#161a22;border:1px solid #1C2030;border-radius:5px;padding:1px 6px}.pb-add-btn{background:#5b6cf014;border:1px solid rgba(91,108,240,.19);border-radius:8px;padding:5px 10px;cursor:pointer;display:flex;align-items:center;gap:4px;transition:background .15s;color:#5b6cf0}.pb-add-btn:hover{background:#5b6cf026}.pb-search{display:flex;align-items:center;gap:7px;background:#161a22;border:1px solid #232836;border-radius:9px;padding:7px 10px}.pb-search input{flex:1;background:transparent;border:none;outline:none;font-family:Inter,sans-serif;font-size:12px;color:#e2e5ef}.pb-tab-btn{flex:1;padding:5px 2px;border-radius:7px;border:none;font-family:Inter,sans-serif;font-size:9.5px;font-weight:600;cursor:pointer;transition:all .15s}.pb-contact-item{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:10px;cursor:pointer;margin-bottom:2px;transition:background .12s}.pb-contact-item:hover{background:#1a1e28!important}.pb-detail-tab{padding:8px 18px;border:none;background:transparent;font-family:Inter,sans-serif;font-size:12.5px;cursor:pointer;transition:all .15s}.pb-log-card{flex:1;background:#161a22;border:1px solid #1C2030;border-radius:12px;padding:11px 14px;min-width:0}.pb-quick-action{display:flex;flex-direction:column;align-items:center;gap:3px;border-radius:11px;padding:9px 12px;cursor:pointer;font-family:Inter,sans-serif;transition:all .15s}.pb-stat-card{background:#161a22;border:1px solid #1C2030;border-radius:12px;padding:11px 13px;display:flex;flex-direction:column;gap:6px}.pb-recon-card{background:#161a22;border:1px solid #1C2030;border-radius:13px;padding:12px 14px;display:flex;align-items:center;gap:11px;cursor:pointer;transition:border-color .15s,transform .12s}.pb-recon-card:hover{transform:translateY(-1px)}.pb-scrollable{flex:1;overflow-y:auto}.pb-scrollable::-webkit-scrollbar{width:4px}.pb-scrollable::-webkit-scrollbar-track{background:transparent}.pb-scrollable::-webkit-scrollbar-thumb{background:#2a3040;border-radius:4px}.reminders-page{display:flex;flex-direction:column;height:100%;padding:2rem;overflow:hidden;background-color:var(--background)}.reminders-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-shrink:0}.reminders-btn-primary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:.5rem;background-color:var(--primary);color:#fff;font-weight:600;border:none;cursor:pointer;transition:opacity .2s}.reminders-btn-primary:hover{opacity:.9}.reminders-board{display:flex;gap:1.5rem;overflow-x:auto;flex:1;padding-bottom:1rem}.reminders-column{flex:1;min-width:300px;max-width:400px;display:flex;flex-direction:column;background-color:var(--surface);border-radius:1rem;border:1px solid var(--border);overflow:hidden}.reminders-col-header{padding:1rem 1.25rem;font-weight:600;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background-color:var(--background)}.reminders-badge{padding:.125rem .5rem;border-radius:1rem;font-size:.75rem;background-color:var(--surface-hover);color:var(--text-secondary)}.reminders-col-body{padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;flex:1}.reminder-card{background-color:var(--background);border:1px solid var(--border);border-radius:.75rem;padding:1rem;cursor:grab;box-shadow:0 1px 3px #0000000d;transition:all .2s;position:relative}.reminder-card:hover{box-shadow:0 4px 6px -1px #0000001a;border-color:var(--primary-light)}.reminder-card.important{border-left:4px solid var(--danger, var(--destructive))}.reminder-title{font-weight:600;color:var(--text-primary);margin-bottom:.5rem;padding-right:2rem}.reminder-desc{font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.reminder-footer{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--text-tertiary)}.reminder-date{display:flex;align-items:center;gap:.25rem}.reminder-date.overdue{color:var(--danger, var(--destructive))}.reminder-actions{display:flex;gap:.5rem}.reminder-action-btn{padding:.25rem;border-radius:.25rem;color:var(--text-tertiary);transition:all .2s}.reminder-action-btn:hover{color:var(--text-primary);background-color:var(--surface-hover)}.reminder-action-btn.delete:hover{color:var(--danger, var(--destructive))}.reminder-action-btn.complete:hover{color:var(--success)}.chat-container{--bg: #F4F5F8;--sb: #ECEEF5;--surface: #FFFFFF;--col-bg: #F0F1F8;--border: #D8DCE8;--border-in: #E4E6F0;--text: #14161C;--muted: #5A6072;--faint: #8898AB;--badge: #E8EAF2;--accent: #5B6CF0;--accent-light: rgba(91, 108, 240, .18);--accent-hover: rgba(91, 108, 240, .55);display:flex;flex-direction:column;height:100%;background:var(--bg);position:relative;font-family:Inter,sans-serif;overflow:hidden}[data-theme=dark] .chat-container{--bg: #0D0F14;--sb: #111318;--surface: #1A1E28;--col-bg: #161A22;--border: #232836;--border-in: #1C2030;--text: #E2E5EF;--muted: #8890A4;--faint: #50586A;--badge: #1A1E2A}.chat-layout{display:flex;flex-direction:row;flex:1;min-height:0}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;position:relative}.chat-header{height:52px;flex:0 0 52px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:var(--sb);border-bottom:1px solid var(--border-in)}.chat-header-left{display:flex;align-items:center;gap:12px}.chat-menu-btn{display:none;padding:6px;background:none;border:none;cursor:pointer;color:var(--text);border-radius:9px}@media(max-width:1023px){.chat-menu-btn{display:flex}}.chat-title{font-family:Lora,serif;font-style:italic;font-size:20px;font-weight:500;color:var(--text)}.chat-header-right{display:flex;align-items:center;gap:8px}.chat-header-btn{display:flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 10px;background:var(--col-bg);border:1px solid var(--border);border-radius:9px;color:var(--text);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.chat-header-btn:hover{background:var(--surface);border-color:var(--faint)}.chat-header-btn.accent{background:var(--accent);color:#fff;border:none}.chat-header-btn.accent:hover{opacity:.9}.chat-header-btn.icon-only{width:34px;padding:0}.chat-header-badge{background:var(--badge);color:var(--text);font-size:10px;font-weight:600;padding:2px 6px;border-radius:7px}.chat-sidebar{width:256px;background:var(--col-bg);border-right:1px solid var(--border-in);display:flex;flex-direction:column;transition:width .3s;overflow:hidden}.chat-sidebar.collapsed{width:0;border-right:none}.chat-sidebar-section-label{font-size:9.5px;font-weight:600;color:var(--faint);text-transform:uppercase;padding:16px 16px 8px}.chat-thread-list{display:flex;flex-direction:column;padding:0 8px 16px;gap:2px;overflow-y:auto;flex:1;min-height:0}.chat-thread-item{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:10px;cursor:pointer;position:relative;transition:background .2s}.chat-thread-item:hover{background:var(--surface)}.chat-thread-item.active{background:var(--accent-light)}.chat-thread-item.active:before{content:"";position:absolute;left:-8px;top:10%;bottom:10%;width:3px;background:var(--accent);border-radius:0 4px 4px 0}.chat-thread-avatar{width:30px;height:30px;border-radius:10px;background:var(--accent-light);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-thread-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.chat-thread-title{font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-thread-item.active .chat-thread-title{font-weight:600}.chat-thread-preview{font-size:10.5px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-thread-meta{display:flex;align-items:center;gap:6px;margin-top:4px}.chat-thread-time{font-size:9.5px;color:var(--faint)}.chat-thread-model{font-size:9px;color:var(--accent);background:var(--accent-light);padding:1px 4px;border-radius:4px}.chat-thread-delete{background:transparent;border:none;color:var(--faint);opacity:.5;cursor:pointer;padding:3px;border-radius:6px;display:flex;flex:0 0 auto;transition:opacity .12s,color .12s}.chat-thread-item:hover .chat-thread-delete{opacity:1}.chat-thread-delete:hover{opacity:1;color:#e05c5c}.chat-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:24px 24px 160px;display:flex;flex-direction:column;gap:24px;overflow-anchor:auto}.chat-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:16px}.chat-empty-avatar{width:72px;height:72px;border-radius:22px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px var(--accent-hover);position:relative}.chat-empty-online-dot{position:absolute;bottom:-2px;right:-2px;width:22px;height:22px;background:#3ecf8e;border:3px solid var(--bg);border-radius:50%}.chat-empty-title{font-family:Lora,serif;font-style:italic;font-size:24px;font-weight:500;color:var(--text)}.chat-empty-subtitle{font-size:13px;color:var(--faint);max-width:340px;text-align:center;line-height:1.6}.chat-suggestions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-width:580px;width:100%;margin-top:24px}.chat-suggestion-card{background:var(--col-bg);border:1px solid var(--border-in);border-radius:14px;padding:16px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;cursor:pointer;transition:all .2s;text-align:left}.chat-suggestion-card:hover{border-color:var(--accent-hover)}.chat-suggestion-icon{width:36px;height:36px;border-radius:10px;background:var(--accent-light);color:var(--accent);display:flex;align-items:center;justify-content:center}.chat-suggestion-title{font-size:12.5px;font-weight:600;color:var(--text)}.chat-suggestion-desc{font-size:11px;color:var(--faint);line-height:1.45}.chat-context-row{display:flex;align-items:center;gap:8px;margin-top:16px;flex-wrap:wrap;justify-content:center}.chat-context-label{font-size:11px;color:var(--faint)}.chat-context-chip{padding:4px 10px;border-radius:20px;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;gap:4px;font-size:10.5px;font-weight:500;color:var(--text)}.chat-context-chip svg{width:12px;height:12px}.chat-message-row{display:flex;max-width:800px;margin:0 auto;width:100%}.chat-message-row.user{justify-content:flex-end}.chat-message-row.assistant{justify-content:flex-start;gap:12px}.chat-user-message-wrapper{display:flex;flex-direction:column;align-items:flex-end;max-width:70%}.chat-user-bubble{background:var(--accent);border-radius:18px 18px 5px;padding:12px 16px;color:#fff;font-size:13.5px;line-height:1.6;white-space:pre-wrap}.chat-user-timestamp{font-size:10px;color:var(--faint);text-align:right;margin-top:4px}.chat-ai-avatar{width:34px;height:34px;border-radius:11px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 12px var(--accent-hover);flex-shrink:0;position:relative}.chat-ai-content{display:flex;flex-direction:column;gap:6px;max-width:calc(100% - 50px)}.chat-ai-header{display:flex;align-items:center;gap:8px}.chat-ai-name{font-size:12px;font-weight:600;color:var(--text)}.chat-ai-badge{font-size:9.5px;color:var(--accent);background:var(--accent-light);padding:1px 6px;border-radius:5px}.chat-ai-timestamp{font-size:10px;color:var(--faint)}.chat-ai-bubble{background:var(--col-bg);border:1px solid var(--border-in);border-radius:5px 18px 18px;padding:13px 16px;font-size:13.5px;color:var(--text);line-height:1.65}.chat-ai-bubble p{margin-bottom:.5em}.chat-ai-bubble p:last-child{margin-bottom:0}.chat-ai-bubble code{background:var(--surface);padding:2px 4px;border-radius:4px;font-size:.9em;border:1px solid var(--border)}.chat-thinking-indicator{display:flex;flex-direction:column;gap:8px}.chat-ai-avatar.thinking:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border:2px solid var(--accent);border-radius:15px;animation:pulse 1.6s ease infinite}@keyframes pulse{0%,to{opacity:.3;transform:scale(.94)}50%{opacity:.8;transform:scale(1.06)}}.chat-thinking-text{font-size:12.5px;font-weight:500;color:var(--muted);display:flex;align-items:center;gap:4px}.chat-thinking-dots{display:flex;gap:3px}.chat-thinking-dot{width:4px;height:4px;border-radius:50%;background:var(--accent);animation:thinkDot 1.4s infinite}.chat-thinking-dot:nth-child(1){animation-delay:0s}.chat-thinking-dot:nth-child(2){animation-delay:.22s}.chat-thinking-dot:nth-child(3){animation-delay:.44s}@keyframes thinkDot{0%,80%,to{opacity:.2;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.chat-shimmer-line{height:9px;background:var(--border);border-radius:4px;width:100%;position:relative;overflow:hidden}.chat-shimmer-line.short{width:60%}.chat-shimmer-line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,var(--surface),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.chat-input-area{position:absolute;bottom:0;left:0;right:0;background:var(--sb);border-top:1px solid var(--border-in);padding:12px 20px 16px;display:flex;flex-direction:column;align-items:center}.chat-input-wrapper{max-width:800px;width:100%;display:flex;flex-direction:column;gap:8px}.chat-input-context-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.chat-input-context-row::-webkit-scrollbar{display:none}.chat-input-card-row{display:flex;gap:8px;align-items:flex-end}.chat-textarea-card{flex:1;background:var(--surface);border:1.5px solid var(--border);border-radius:16px;display:flex;flex-direction:column}.chat-textarea{min-height:46px;max-height:200px;padding:12px 14px 6px;font-size:13.5px;line-height:1.6;background:transparent;border:none;color:var(--text);resize:none;font-family:Inter,sans-serif;outline:none}.chat-input-toolbar{display:flex;align-items:center;padding:5px 10px 9px;justify-content:space-between}.chat-send-btn{width:44px;height:44px;background:var(--accent);border-radius:13px;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 3px 12px var(--accent-hover);flex-shrink:0}.chat-send-btn:disabled{background:var(--col-bg);color:var(--faint);box-shadow:none;cursor:not-allowed;border:1px solid var(--border-in)}.chat-stop-btn{width:44px;height:44px;background:#e05c5c;border-radius:13px;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 3px 12px #e05c5c45;flex-shrink:0}.model-picker-pill{border:1px solid var(--border-in);border-radius:20px;padding:4px 9px 4px 7px;display:flex;align-items:center;gap:6px;background:transparent;color:var(--text);cursor:pointer;transition:all .2s;white-space:nowrap}.model-picker-pill:hover{background:var(--col-bg);border-color:var(--border)}.model-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.model-name{font-size:12px;font-weight:500}.chat-footer-note{font-size:10px;color:var(--faint);text-align:center;margin-top:8px}.memory-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}.memory-modal{width:100%;max-width:540px;max-height:580px;background:var(--sb);border:1px solid var(--border);border-radius:20px;box-shadow:0 32px 80px #000000a8;display:flex;flex-direction:column;animation:fadeUp .18s ease;overflow:hidden}.memory-header{padding:20px 22px 16px;display:flex;align-items:center;gap:12px;position:relative}.memory-icon-box{width:40px;height:40px;border-radius:12px;background:var(--accent-light);color:var(--accent);display:flex;align-items:center;justify-content:center}.memory-header-text{display:flex;flex-direction:column;gap:2px}.memory-title-row{display:flex;align-items:center;gap:8px}.memory-title{font-size:15px;font-weight:600;color:var(--text)}.memory-subtitle{font-size:11px;color:var(--faint)}.memory-close{position:absolute;top:20px;right:22px;background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:8px}.memory-close:hover{background:var(--surface);color:var(--text)}.memory-list{flex:1;overflow-y:auto;padding:0 22px;display:flex;flex-direction:column;gap:5px}.memory-item{background:var(--col-bg);border:1px solid var(--border-in);border-radius:12px;padding:12px 13px;display:flex;align-items:flex-start;gap:10px}.memory-item-icon{color:var(--accent);margin-top:2px}.memory-item-content{flex:1;display:flex;flex-direction:column;gap:4px}.memory-item-text{font-size:12.5px;color:var(--text);line-height:1.55}.memory-item-date{font-size:10px;color:var(--faint)}.memory-actions{display:flex;gap:4px;opacity:.6}.memory-item:hover .memory-actions{opacity:1}.memory-action-btn{background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:6px}.memory-action-btn:hover{background:var(--surface);color:var(--text)}.memory-action-btn.delete:hover{color:#e05c5c}.memory-input-area{padding:12px 14px 16px;display:flex;gap:10px;border-top:1px solid var(--border-in);margin-top:10px}.memory-input{flex:1;background:var(--surface);border:1.5px solid var(--border);border-radius:10px;padding:9px 13px;color:var(--text);font-size:13px;outline:none}.memory-input:focus{border-color:var(--accent)}.memory-add-btn{background:var(--accent);color:#fff;border:none;border-radius:10px;padding:0 16px;font-size:13px;font-weight:500;cursor:pointer;box-shadow:0 3px 10px var(--accent-hover)}.memory-add-btn:hover{opacity:.9}.model-selector-dropdown{position:absolute;bottom:calc(100% + 6px);left:0;width:228px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:6px;z-index:51;box-shadow:0 16px 40px #00000070;animation:fadeUp .14s ease}.model-selector-option{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:10px 12px;border-radius:10px;border:none;background:none;cursor:pointer;text-align:left}.model-selector-option:hover{background:var(--surface-hover, var(--col-bg))}.model-selector-option-text{display:flex;flex-direction:column}.model-selector-option-name{font-size:13px}.model-selector-option.selected .model-selector-option-name{font-weight:600}.model-selector-option-desc{font-size:11px;color:var(--faint)}.model-selector-check{color:var(--accent)}.dashboard{max-width:1200px;margin:0 auto;padding:32px 24px 64px}.dash-header{margin-bottom:24px}.dash-header-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.dash-sync-area{display:flex;align-items:center;gap:8px;flex-shrink:0;background:var(--card);border:.5px solid var(--border);border-radius:10px;padding:6px 12px 6px 10px}.dash-sync-icon{font-size:18px;color:var(--text-tertiary);flex-shrink:0}.dash-sync-meta{display:flex;flex-direction:column;min-width:0}.dash-sync-label{font-size:11px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.dash-sync-time{font-size:11px;color:var(--text-tertiary);white-space:nowrap}.dash-sync-error-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:var(--error);background:var(--error-bg);border-radius:6px;padding:3px 8px;white-space:nowrap}.dash-sync-btns{display:flex;align-items:center;gap:4px;flex-shrink:0}.dash-sync-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:var(--surface-hover);border:.5px solid var(--border);border-radius:6px;font-size:12px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:border-color .15s,color .15s,background .15s;white-space:nowrap;flex-shrink:0}.dash-sync-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-ink);background:var(--card)}.dash-sync-btn:disabled{opacity:.6;cursor:not-allowed}.dash-sync-btn.syncing{color:var(--accent-ink);border-color:var(--accent)}.dash-sync-btn--icon{padding:5px 7px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dash-sync-btn .spin,.dash-sync-btn--icon .spin{animation:spin .8s linear infinite}.dash-greeting{font-family:var(--font-serif, Georgia, "Times New Roman", serif);font-style:italic;font-weight:500;font-size:30px;letter-spacing:-.3px;color:var(--text-primary);margin:0}.dash-date{font-size:13px;color:var(--text-tertiary);margin:4px 0 0;text-transform:capitalize}.dash-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:start}.dash-card{display:block;background:var(--card);border:.5px solid var(--border);border-radius:16px;padding:18px 20px;text-decoration:none;color:inherit;box-shadow:0 1px 2px #00000008,0 2px 6px #0000000a;transition:border-color .15s ease}a.dash-card:hover{border-color:var(--accent)}.span-2{grid-column:span 2}.dash-card-top{display:flex;align-items:center;gap:7px;color:var(--text-tertiary);margin-bottom:12px}.dash-label{font-size:10px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase}.dash-num{font-size:34px;font-weight:500;letter-spacing:-1px;color:var(--text-primary);margin:0;line-height:1.1}.dash-num.accent{color:var(--accent-ink)}.dash-num-sub{font-size:18px;color:var(--text-tertiary);font-weight:400}.dash-sub{font-size:12px;color:var(--text-tertiary);margin:6px 0 0}.dash-current-title{font-size:18px;font-weight:500;color:var(--text-primary);margin:0;line-height:1.3}.dash-meta-row{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.dash-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:3px 8px;border-radius:999px}.dash-badge.warn{color:var(--warning);border:.5px solid var(--warning)}.dash-empty,.dash-prompt{font-family:var(--font-serif, Georgia, serif);font-style:italic;color:var(--text-tertiary);margin:4px 0 0;font-size:15px}.dash-prompt{color:var(--accent-ink);font-style:normal;font-family:inherit;font-weight:500}.dash-progress{height:4px;background:var(--border);border-radius:2px;margin-top:12px;overflow:hidden}.dash-progress.sm{margin-top:10px}.dash-progress>span{display:block;height:100%;background:var(--success);border-radius:2px}.dash-ai-refresh{margin-left:auto;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:4px;transition:color .15s}.dash-ai-refresh:hover:not(:disabled){color:var(--accent-ink)}.dash-ai-refresh:disabled{opacity:.4;cursor:not-allowed}.dash-ai-text{font-size:14px;line-height:1.55;color:var(--text-primary);margin:0}.dash-ai-loading{color:var(--text-tertiary);font-style:italic}.dash-link{display:inline-block;margin-top:12px;font-size:12px;color:var(--accent-ink);text-decoration:none}.dash-link:hover{text-decoration:underline}.dash-mood-tags{font-size:14px;color:var(--text-primary);margin:0}.dash-rem-list{list-style:none;margin:0;padding:0}.dash-rem-list li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:.5px solid var(--border);font-size:14px;color:var(--text-primary)}.dash-rem-list li:last-child{border-bottom:none}.dash-rem-list .dash-sub{margin:0;white-space:nowrap}@keyframes dash-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.dash-skeleton{background:linear-gradient(90deg,var(--surface-hover) 25%,var(--surface) 50%,var(--surface-hover) 75%);background-size:800px 100%;animation:dash-shimmer 1.4s ease-in-out infinite;border-radius:6px;display:inline-block}.dash-skel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px}.dash-skel-card{background:var(--card);border:.5px solid var(--border);border-radius:var(--radius-card);padding:20px;display:flex;flex-direction:column;gap:12px}.dash-skel-card.span-2{grid-column:span 2}.dash-skel-line{height:14px;border-radius:4px}.dash-skel-line.short{width:40%}.dash-skel-line.medium{width:65%}.dash-skel-line.full{width:100%}.dash-skel-line.tall{height:28px;width:50%}.dash-live{flex:1;min-width:0;max-width:560px;display:flex;align-items:center;gap:10px;align-self:center;margin:0 auto;padding:8px 18px;border-radius:999px;background:#5f8d6b1c;border:1px solid rgba(95,141,107,.32);text-decoration:none;cursor:pointer;transition:background .15s;overflow:hidden}.dash-live:hover{background:#5f8d6b2e}[data-theme=dark] .dash-live{background:#7fa98b29;border-color:#7fa98b61}[data-theme=dark] .dash-live:hover{background:#7fa98b3d}.dash-live-dot{width:8px;height:8px;border-radius:50%;background:var(--success);flex-shrink:0;animation:dash-live-pulse 2.4s ease-in-out infinite}@keyframes dash-live-pulse{0%,to{box-shadow:0 0 #5f8d6b80}50%{box-shadow:0 0 0 5px #5f8d6b00}}[data-theme=dark] .dash-live-dot,.dark .dash-live-dot{animation-name:dash-live-pulse-dark}@keyframes dash-live-pulse-dark{0%,to{box-shadow:0 0 #7fa98b80}50%{box-shadow:0 0 0 5px #7fa98b00}}.dash-live-text{font-size:13.5px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.dash-live-spacer{flex:1}@media(max-width:1100px){.dash-grid,.dash-skel-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.dash-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.dashboard{padding:20px 16px 80px}.dash-greeting{font-size:26px}.dash-skel-grid{grid-template-columns:1fr}.dash-skel-card.span-2{grid-column:span 1}.dash-header-row{flex-wrap:wrap}.dash-live{order:3;width:100%;max-width:none;margin-top:12px}.dash-live-spacer{display:none}}.health-page{display:flex;flex-direction:column;min-height:100%;padding:2rem 2rem 5rem;background-color:var(--background);max-width:900px;margin:0 auto}.health-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:2rem}.health-title-group{display:flex;flex-direction:column;gap:4px}.health-section{margin-bottom:2.5rem}.health-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid var(--text-primary)}.health-section-title{font-family:var(--font-serif, Georgia, "Times New Roman", serif);font-style:italic;font-size:18px;font-weight:500;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:8px}.health-add-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:999px;border:.5px solid var(--border);background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s}.health-add-btn:hover{border-color:var(--accent);color:var(--accent-ink)}.health-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.health-metric-card{background:var(--card, var(--surface));border:.5px solid var(--border);border-radius:14px;padding:14px 16px;box-shadow:0 1px 2px #2b26200a}.health-metric-label{font-size:10px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:6px}.health-metric-value{font-size:26px;font-weight:500;letter-spacing:-.5px;color:var(--text-primary);line-height:1.1}.health-metric-unit{font-size:13px;color:var(--text-tertiary);font-weight:400;margin-left:2px}.health-metric-sub{font-size:11px;color:var(--text-tertiary);margin-top:3px}.health-bmi-normal{color:var(--success)}.health-bmi-warning{color:var(--warning)}.health-bmi-danger{color:var(--error)}.health-weight-list{display:flex;flex-direction:column;gap:0;margin-top:10px;border:.5px solid var(--border);border-radius:12px;overflow:hidden}.health-weight-row{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:.5px solid var(--border);font-size:14px;color:var(--text-primary);background:var(--card, var(--surface))}.health-weight-row:last-child{border-bottom:none}.health-weight-date{font-size:12px;color:var(--text-tertiary);min-width:80px}.health-trend-up{color:var(--warning);font-size:13px}.health-trend-down{color:var(--success);font-size:13px}.health-trend-flat{color:var(--text-tertiary);font-size:13px}.health-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:.5px solid var(--border);font-size:14px;color:var(--text-primary);background:var(--card, var(--surface))}.health-row:first-child{border-radius:12px 12px 0 0}.health-row:last-child{border-bottom:none;border-radius:0 0 12px 12px}.health-row:only-child{border-radius:12px}.health-row-list{display:flex;flex-direction:column;border:.5px solid var(--border);border-radius:12px;overflow:hidden}.health-row-main{flex:1;min-width:0}.health-row-title{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.health-row-sub{font-size:12px;color:var(--text-tertiary);margin-top:2px}.health-row-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.health-icon-btn{padding:5px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;border-radius:6px;transition:color .15s,background .15s;display:inline-flex;align-items:center}.health-icon-btn:hover{color:var(--error);background:color-mix(in srgb,var(--error) 8%,transparent)}.health-overdue-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 8px;border-radius:999px;color:var(--warning);border:.5px solid var(--warning);font-weight:500;flex-shrink:0}.health-ok-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 8px;border-radius:999px;color:var(--success);border:.5px solid var(--success);font-weight:500;flex-shrink:0}.health-severity{display:flex;gap:2px;flex-shrink:0}.health-severity-dot{width:7px;height:7px;border-radius:50%;background:var(--border)}.health-severity-dot.filled{background:var(--warning)}.health-severity-dot.high{background:var(--error)}.health-water-tracker{display:flex;align-items:center;gap:16px;background:var(--card, var(--surface));border:.5px solid var(--border);border-radius:14px;padding:18px 20px}.health-water-count{font-size:40px;font-weight:500;letter-spacing:-1px;color:var(--text-primary);line-height:1;min-width:2ch;text-align:center}.health-water-controls{display:flex;flex-direction:column;gap:6px}.health-water-btn{width:32px;height:32px;border-radius:50%;border:.5px solid var(--border);background:transparent;color:var(--text-primary);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s}.health-water-btn:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.health-water-btn:disabled{opacity:.35;cursor:not-allowed}.health-water-glasses{display:flex;flex-wrap:wrap;gap:6px;flex:1}.health-water-glass{width:20px;height:26px;border-radius:3px 3px 5px 5px;border:1.5px solid var(--border);background:transparent;transition:background .15s,border-color .15s}.health-water-glass.filled{background:color-mix(in srgb,#4a9eff 40%,transparent);border-color:#4a9eff}.health-empty{padding:32px 24px;text-align:center;color:var(--text-tertiary);font-size:14px;background:var(--card, var(--surface));border:.5px solid var(--border);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.health-form-group{margin-bottom:14px}.health-form-label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}.health-form-input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background-color:var(--background);color:var(--text-primary);font-size:14px;box-sizing:border-box}.health-form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,transparent)}.health-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.health-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.health-med-toggle{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:500;border:.5px solid;cursor:pointer;transition:background .15s}.health-med-toggle.active{color:var(--success);border-color:var(--success);background:color-mix(in srgb,var(--success) 8%,transparent)}.health-med-toggle.inactive{color:var(--text-tertiary);border-color:var(--border);background:transparent}@media(max-width:680px){.health-page{padding:1rem 1rem 5rem}.health-metrics-grid{grid-template-columns:repeat(2,1fr)}.health-form-row{grid-template-columns:1fr}.health-toolbar{flex-direction:column;gap:10px}}.goals-page{display:flex;flex-direction:column;min-height:100%;padding:24px;background-color:var(--bg);max-width:1100px;margin:0 auto;gap:18px}.goals-hero{display:flex;align-items:center;gap:20px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px 24px}.goals-hero-ring{position:relative;width:76px;height:76px;flex:0 0 76px}.goals-hero-ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.goals-hero-ring-text span{font-size:17px;font-weight:700;color:var(--text);line-height:1}.goals-hero-ring-text small{font-size:7.5px;color:var(--text-tertiary);letter-spacing:.6px;margin-top:2px}.goals-hero-info{flex:1}.goals-hero-title{font-family:Lora,serif;font-style:italic;font-size:21px;color:var(--text);letter-spacing:-.3px;margin-bottom:5px}.goals-hero-subtitle{font-size:12px;color:var(--text-secondary);margin-bottom:10px}.goals-hero-chips{display:flex;gap:7px;flex-wrap:wrap}.goals-chip{display:flex;align-items:center;gap:5px;padding:3px 10px;background:var(--bg);border:1px solid var(--border);border-radius:20px}.goals-chip .dot{width:6px;height:6px;border-radius:50%}.goals-chip span{font-size:10.5px;font-weight:500;color:var(--text-secondary)}.goals-hero-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.goals-hero-streak{text-align:right}.goals-hero-streak .label{font-size:9.5px;color:var(--text-tertiary);margin-bottom:4px;letter-spacing:.3px}.goals-hero-streak .value{display:flex;align-items:center;gap:4px;justify-content:flex-end;font-size:30px;font-weight:700;color:#f58556;letter-spacing:-1px;line-height:1}.fire-icon{font-size:22px;color:#f58556}.goals-hero-streak .sub{font-size:10px;color:var(--text-tertiary);margin-top:3px}.goals-hero-add-btn{display:flex;align-items:center;gap:6px;background:var(--accent);color:#fff;border:none;border-radius:10px;padding:8px 16px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap;transition:opacity .2s}.goals-hero-add-btn:hover{opacity:.9}.goals-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:768px){.goals-grid{grid-template-columns:1fr}}.goal-bento-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s}.goal-bento-card:hover{border-color:var(--text-tertiary)}.goal-bento-top-bar{height:3px;width:100%}.goal-bento-header{padding:16px 16px 0;display:flex;align-items:flex-start;gap:10px}.goal-bento-icon-ring{position:relative;width:42px;height:42px;flex:0 0 42px;display:flex;align-items:center;justify-content:center}.goal-bento-title-col{flex:1;min-width:0}.goal-bento-title{font-size:13px;font-weight:600;color:var(--text);line-height:1.3}.goal-bento-cat{font-size:10px;color:var(--text-tertiary);margin-top:2px}.goal-bento-status{font-size:9px;font-weight:700;padding:3px 8px;border-radius:6px;white-space:nowrap;flex:0 0 auto}.goal-bento-delete{background:transparent;border:none;cursor:pointer;padding:4px;border-radius:6px;display:flex;color:var(--text-tertiary);flex:0 0 auto;transition:background .15s,color .15s}.goal-bento-delete:hover{background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.goal-bento-progress{padding:12px 16px}.goal-bento-progress-labels{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.goal-bento-progress-labels span:first-child{font-size:10px;color:var(--text-tertiary)}.goal-bento-progress-labels span:last-child{font-size:12px}.goal-bento-progress-track{height:5px;background:var(--border);border-radius:3px;overflow:hidden}.goal-bento-progress-fill{height:100%;border-radius:3px;transition:width .6s ease}.goal-bento-milestones{display:flex;flex-direction:column;gap:5px;padding:0 16px 12px}.goal-bento-ms-item{display:flex;align-items:center;gap:7px;cursor:pointer;padding:3px 0;transition:opacity .15s}.goal-bento-ms-item:hover{opacity:.8}.goal-bento-ms-check{width:14px;height:14px;border-radius:4px;border-style:solid;border-width:1.5px;display:flex;align-items:center;justify-content:center;flex:0 0 14px}.goal-bento-ms-item span{font-size:10.5px}.goal-bento-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--border)}.goal-bento-footer-item{display:flex;align-items:center;gap:4px}.goal-bento-footer-item span:first-child{color:var(--text-tertiary)}.goal-bento-footer-item span:last-child{font-size:10px;color:var(--text-tertiary)}.goals-upcoming{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden}.goals-upcoming-header{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.goals-upcoming-header span:first-child{font-size:13px;font-weight:600;color:var(--text)}.goals-upcoming-list{padding:4px 0}.goals-upcoming-item{display:flex;align-items:center;gap:12px;padding:11px 18px;border-bottom:1px solid var(--border)}.goals-upcoming-item:last-child{border-bottom:none}.goals-upcoming-dot{width:8px;height:8px;border-radius:50%;flex:0 0 8px}.goals-upcoming-text{flex:1;min-width:0}.goals-upcoming-title{font-size:12.5px;font-weight:500;color:var(--text)}.goals-upcoming-goal{font-size:10px;color:var(--text-tertiary);margin-top:1px}.goals-upcoming-badge{font-size:10px;font-weight:600;padding:3px 10px;border-radius:6px;white-space:nowrap;flex:0 0 auto}.goal-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000072;z-index:300;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.goal-modal-container{width:520px;max-height:85vh;background:var(--bg);border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:0 32px 80px #000a;animation:fadeUp .18s ease;display:flex;flex-direction:column}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.goal-modal-header{padding:20px 22px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;flex:0 0 auto}.goal-modal-icon-bg{width:38px;height:38px;border-radius:11px;background:color-mix(in srgb,var(--accent) 18%,transparent);display:flex;align-items:center;justify-content:center;flex:0 0 38px}.goal-modal-icon{color:var(--accent)}.goal-modal-header-text{flex:1}.goal-modal-title{font-size:15px;font-weight:600;color:var(--text)}.goal-modal-subtitle{font-size:11px;color:var(--text-tertiary);margin-top:2px}.goal-modal-close{background:transparent;border:none;cursor:pointer;padding:6px;display:flex;color:var(--text-tertiary);border-radius:8px}.goal-modal-close:hover{background:var(--surface)}.goal-modal-body{padding:18px 22px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.goal-input-group label{font-size:11.5px;font-weight:600;color:var(--text-tertiary);letter-spacing:.3px;margin-bottom:8px;display:block}.goal-input-group input{width:100%;background:var(--surface);border:1.5px solid var(--border);border-radius:10px;padding:10px 13px;font-family:inherit;font-size:13px;color:var(--text);outline:none;box-sizing:border-box}.goal-cat-chips{display:flex;flex-wrap:wrap;gap:6px}.goal-cat-chips button{padding:5px 13px;border-radius:20px;border-style:solid;border-width:1.5px;cursor:pointer;font-family:inherit;font-size:11.5px;font-weight:600;transition:all .15s}.goal-milestone-list{display:flex;flex-direction:column;gap:7px}.goal-milestone-item-row{display:flex;align-items:center;gap:7px}.goal-ms-index{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;flex:0 0 20px;font-size:9px;color:var(--text-tertiary);font-weight:600}.goal-milestone-item-row input{flex:1;border-radius:9px;padding:7px 11px;font-size:12px}.goal-milestone-item-row button{background:transparent;border:none;cursor:pointer;padding:5px;border-radius:7px;display:flex;color:var(--text-tertiary)}.goal-milestone-item-row button:hover{color:var(--danger)}.goal-ms-add-row{display:flex;align-items:center;gap:6px;margin-top:4px}.goal-ms-add-row input{flex:1;border-radius:9px;padding:7px 11px;font-size:12px;background:transparent;border-style:dashed}.goal-ms-add-row button{background:transparent;border:1.5px dashed var(--border);border-radius:9px;padding:7px 13px;cursor:pointer;font-family:inherit;font-size:12px;color:var(--text-tertiary);transition:all .15s}.goal-ms-add-row button:hover{border-color:var(--accent);color:var(--accent)}.goal-modal-footer{padding:14px 22px 20px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;flex:0 0 auto}.goal-btn-cancel{font-size:13px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:9px 20px;cursor:pointer;font-family:inherit}.goal-btn-save{font-size:13px;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:10px;padding:9px 24px;cursor:pointer;font-family:inherit;box-shadow:0 3px 12px color-mix(in srgb,var(--accent) 44%,transparent)}/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:"Lora", ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--color-white:#fff;--spacing:var(--spacing);--container-sm:24rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-bold:700;--tracking-normal:var(--tracking-normal);--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--shadow-2xs:var(--shadow-2xs);--shadow-xs:var(--shadow-xs);--shadow-sm:var(--shadow-sm);--shadow-md:var(--shadow-md);--shadow-lg:var(--shadow-lg);--shadow-xl:var(--shadow-xl);--shadow-2xl:var(--shadow-2xl);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--default-mono-font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--shadow:var(--shadow);--radius:.625rem;--letter-spacing:var(--letter-spacing);--shadow-offset-y:var(--shadow-offset-y);--shadow-offset-x:var(--shadow-offset-x);--shadow-spread:var(--shadow-spread);--shadow-blur:var(--shadow-blur);--shadow-opacity:var(--shadow-opacity)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}body{letter-spacing:var(--tracking-normal)}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.z-50{z-index:50}.mx-auto{margin-inline:auto}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-auto{margin-top:auto}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-4{margin-left:calc(var(--spacing) * 4)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-\[34px\]{height:34px}.h-full{height:100%}.w-2{width:calc(var(--spacing) * 2)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-full{width:100%}.max-w-sm{max-width:var(--container-sm)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-\[2px\]{gap:2px}.overflow-auto{overflow:auto}.rounded{border-radius:.625rem}.rounded-\[1px\]{border-radius:1px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.opacity-50{opacity:.5}.shadow-lg{--tw-shadow:var(--shadow-lg);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}}.material-symbols-outlined{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" -25,"opsz" 24;direction:ltr;font-family:Material Symbols Outlined;font-size:22px;font-style:normal;font-weight:400;line-height:1;display:inline-block}:root{--radius:.625rem;--background:#f8f9fb;--foreground:#16181d;--card:#fff;--card-foreground:#16181d;--popover:#fff;--popover-foreground:#16181d;--primary:#4f5bd5;--primary-foreground:#fff;--secondary:#eceef5;--secondary-foreground:#16181d;--muted:#eceef5;--muted-foreground:#5a6072;--accent:#4f5bd5;--accent-foreground:#fff;--accent-ink:#3a4499;--destructive:#dc3e3e;--destructive-foreground:#fff;--border:#dde0ec;--input:#dde0ec;--ring:#4f5bd5;--chart-1:#4f5bd5;--chart-2:#2fa37c;--chart-3:#c8881a;--chart-4:#5b7e76;--chart-5:#5a6072;--sidebar:#fff;--sidebar-foreground:#16181d;--sidebar-primary:#4f5bd5;--sidebar-primary-foreground:#fff;--sidebar-accent:#eceef5;--sidebar-accent-foreground:#4f5bd5;--sidebar-border:#dde0ec;--sidebar-ring:#4f5bd5;--bg:var(--background);--surface:var(--card);--surface-hover:var(--muted);--surface-active:var(--secondary);--surface-border:var(--border);--surface-variant:var(--muted);--surface-glass:var(--background);--bg-secondary:var(--muted);--card-bg:var(--card);--card-border:var(--border);--text-primary:var(--foreground);--text-secondary:var(--muted-foreground);--text-tertiary:#9c8e72;--text-inverse:var(--primary-foreground);--input-bg:var(--muted);--input-border:var(--input);--input-focus:var(--ring);--divider:var(--border);--overlay:#0006;--accent-action:var(--primary);--accent-hover:var(--primary);--accent-surface:#4f5bd51f;--accent-glow:#4f5bd538;--success:#2fa37c;--warning:#c8881a;--error:var(--destructive);--error-bg:#dc3e3e1f;--indigo:var(--primary);--primary-container:#cc785c24;--border-light:var(--border);--scrollbar-track:var(--muted);--scrollbar-thumb:var(--border);--font-family:var(--font-sans);--font-display:var(--font-serif);--font-11:.6875rem;--font-12:.75rem;--font-14:.875rem;--font-16:1rem;--font-22:1.375rem;--font-24:1.5rem;--font-28:1.75rem;--font-xs:var(--font-11);--font-sm:var(--font-12);--font-base:var(--font-14);--font-md:var(--font-16);--font-lg:var(--font-22);--font-xl:var(--font-24);--font-2xl:var(--font-28);--font-3xl:2.5rem;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:24px;--space-3xl:32px;--space-4xl:48px;--page-h-pad:20px;--radius-card:12px;--radius-pill:20px;--radius-full:9999px;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--sidebar-width:240px;--sidebar-collapsed:64px;--header-height:64px;--shadow-color:oklch(0% 0 0);--shadow-opacity:.1;--shadow-blur:3px;--shadow-spread:0px;--shadow-offset-x:0;--shadow-offset-y:1px;--letter-spacing:0em;--spacing:.25rem;--shadow-2xs:0 1px 3px 0px #0000000d;--shadow-xs:0 1px 3px 0px #0000000d;--shadow-sm:0 1px 3px 0px #0000001a, 0 1px 2px -1px #0000001a;--shadow:0 1px 3px 0px #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 1px 3px 0px #0000001a, 0 2px 4px -1px #0000001a;--shadow-lg:0 1px 3px 0px #0000001a, 0 4px 6px -1px #0000001a;--shadow-xl:0 1px 3px 0px #0000001a, 0 8px 10px -1px #0000001a;--shadow-2xl:0 1px 3px 0px #00000040;--tracking-normal:0em;--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:"Lora", ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}.dark,[data-theme=dark]{--background:#0f1115;--foreground:#e8eaf0;--card:#1e222a;--card-foreground:#e8eaf0;--popover:#1e222a;--popover-foreground:#e8eaf0;--primary:#7c8cff;--primary-foreground:#0f1115;--secondary:#1a1e26;--secondary-foreground:#e8eaf0;--muted:#1a1e26;--muted-foreground:#8b92a3;--accent:#7c8cff;--accent-foreground:#0f1115;--accent-ink:#a5b4ff;--destructive:#ff6b6b;--destructive-foreground:#0f1115;--border:#252b38;--input:#252b38;--ring:#7c8cff;--chart-1:#7c8cff;--chart-2:#48d5a3;--chart-3:#eab308;--chart-4:#6e9a8e;--chart-5:#8b92a3;--sidebar:#1e222a;--sidebar-foreground:#e8eaf0;--sidebar-primary:#7c8cff;--sidebar-primary-foreground:#0f1115;--sidebar-accent:#252b38;--sidebar-accent-foreground:#7c8cff;--sidebar-border:#252b38;--sidebar-ring:#7c8cff;--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:"Lora", ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius:.625rem;--shadow-x:0;--shadow-y:1px;--shadow-blur:3px;--shadow-spread:0px;--shadow-opacity:.1;--shadow-color:oklch(0% 0 0);--shadow-2xs:0 1px 3px 0px #0000000d;--shadow-xs:0 1px 3px 0px #0000000d;--shadow-sm:0 1px 3px 0px #0000001a, 0 1px 2px -1px #0000001a;--shadow:0 1px 3px 0px #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 1px 3px 0px #0000001a, 0 2px 4px -1px #0000001a;--shadow-lg:0 1px 3px 0px #0000001a, 0 4px 6px -1px #0000001a;--shadow-xl:0 1px 3px 0px #0000001a, 0 8px 10px -1px #0000001a;--shadow-2xl:0 1px 3px 0px #00000040;--bg:var(--background);--surface:var(--card);--surface-hover:var(--muted);--surface-active:var(--secondary);--surface-border:var(--border);--surface-variant:var(--muted);--surface-glass:var(--background);--bg-secondary:var(--muted);--card-bg:var(--card);--card-border:var(--border);--text-primary:var(--foreground);--text-secondary:var(--muted-foreground);--text-tertiary:#6b6450;--text-inverse:var(--primary-foreground);--input-bg:var(--muted);--input-border:var(--input);--input-focus:var(--ring);--divider:var(--border);--accent-action:var(--primary);--accent-hover:var(--primary);--accent-surface:#7c8cff24;--accent-glow:#7c8cff3d;--success:#48d5a3;--warning:#eab308;--error:var(--destructive);--indigo:var(--primary);--primary-container:#7c8cff29;--border-light:var(--border);--scrollbar-track:var(--muted);--scrollbar-thumb:var(--border);--overlay:#0009}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);background:var(--tg-theme-bg-color,var(--bg));color:var(--tg-theme-text-color,var(--text-primary));min-height:100vh;line-height:1.6;overflow-x:hidden}#root{min-height:100vh}a{color:var(--accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-hover)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.app-layout{background:var(--bg);height:100vh;display:flex;overflow:hidden}.main-content{height:100%;transition:padding var(--transition-slow);background:var(--background);flex:1;padding:0;overflow-y:auto}@media(max-width:768px){.main-content{margin-left:0;padding:0 0 90px}.page-header{gap:var(--space-sm);flex-wrap:wrap}.page-header h1{font-size:var(--font-lg)}.card{border-radius:var(--radius-card);padding:var(--space-lg)}.icon-button{min-width:44px;min-height:44px}}.page-header{margin-bottom:var(--space-xl);justify-content:space-between;align-items:center;gap:var(--space-lg);display:flex}.page-header h1{font-size:var(--font-xl);color:var(--text-primary);align-items:center;gap:var(--space-sm);font-weight:700;display:flex}.page-header h1 .icon{font-size:var(--font-2xl)}.card{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all var(--transition-base)}.card:hover{border-color:var(--accent-surface);box-shadow:var(--shadow-md)}.card-glass{background:var(--card);border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:var(--space-xl)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-base);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:none;font-weight:600;line-height:1;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--tg-theme-button-color,var(--accent));color:var(--tg-theme-button-text-color,var(--accent-foreground))}.btn-primary:hover{background:var(--tg-theme-button-color,var(--accent-hover));opacity:.9}.btn-secondary{background:var(--surface-hover);color:var(--text-primary);border:1px solid var(--surface-border)}.btn-secondary:hover{background:var(--surface-active);border-color:var(--accent)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--surface-hover);color:var(--text-primary)}.btn-danger{background:var(--accent-surface);color:var(--accent)}.btn-danger:hover{background:var(--accent);color:var(--text-inverse)}.btn-sm{padding:var(--space-xs) var(--space-md);font-size:var(--font-sm);border-radius:var(--radius-sm)}.btn-icon{border-radius:var(--radius-sm);width:36px;height:36px;font-size:var(--font-md);padding:0}.input-group{gap:var(--space-xs);flex-direction:column;display:flex}.input-group label{font-size:var(--font-sm);color:var(--text-secondary);font-weight:500}.input{padding:var(--space-md) var(--space-lg);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-base);transition:all var(--transition-fast);outline:none;width:100%}.input:focus{border-color:var(--input-focus)}.input::placeholder{color:var(--text-tertiary)}select.input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 8L1 3h10z' fill='%239CA3AF'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}textarea.input{resize:vertical;min-height:80px}.badge{align-items:center;gap:var(--space-xs);padding:2px var(--space-sm);border-radius:var(--radius-full);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.5px;font-weight:600;display:inline-flex}.badge-high,.badge-medium,.badge-low,.badge-accent{background:var(--accent-surface);color:var(--accent)}.empty-state{padding:var(--space-3xl) var(--space-xl);text-align:center;color:var(--text-tertiary);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state .icon{margin-bottom:var(--space-lg);opacity:.5;font-size:3rem}.empty-state h3{font-size:var(--font-lg);color:var(--text-secondary);margin-bottom:var(--space-sm)}.empty-state p{font-size:var(--font-base);max-width:300px}.modal-overlay{background:var(--overlay);z-index:1000;animation:fadeIn var(--transition-fast);padding:var(--space-lg);justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.modal{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-xl);padding:var(--space-2xl);width:100%;max-width:480px;max-height:90vh;animation:slideUp var(--transition-slow);box-shadow:var(--shadow-lg);overflow-y:auto}.modal-header{margin-bottom:var(--space-xl);justify-content:space-between;align-items:center;display:flex}.modal-header h2{font-size:var(--font-lg);font-weight:700}.modal-actions{gap:var(--space-md);margin-top:var(--space-xl);justify-content:flex-end;display:flex}.loading-container{justify-content:center;align-items:center;min-height:200px;display:flex}.spinner{border:3px solid var(--surface-border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.skeleton{background:linear-gradient(90deg,var(--surface-hover) 25%,var(--surface-active) 50%,var(--surface-hover) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}.checkbox-wrapper{cursor:pointer;align-items:center;display:inline-flex;position:relative}.checkbox-wrapper input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid var(--text-tertiary);cursor:pointer;width:22px;height:22px;transition:all var(--transition-fast);border-radius:6px;position:relative}.checkbox-wrapper input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.checkbox-wrapper input[type=checkbox]:checked:after{content:"✓";color:#fff;font-size:14px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.checkbox-wrapper input[type=checkbox]:hover{border-color:var(--accent)}.toggle{cursor:pointer;width:44px;height:24px;position:relative}.toggle input{display:none}.toggle-slider{background:var(--surface-hover);border-radius:var(--radius-full);transition:background var(--transition-fast);position:absolute;top:0;right:0;bottom:0;left:0}.toggle-slider:after{content:"";background:var(--text-secondary);width:18px;height:18px;transition:all var(--transition-fast);border-radius:50%;position:absolute;top:3px;left:3px}.toggle input:checked+.toggle-slider{background:var(--accent)}.toggle input:checked+.toggle-slider:after{background:#fff;transform:translate(20px)}.stat-card{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:var(--space-lg);gap:var(--space-xs);flex-direction:column;display:flex}.stat-card .stat-value{font-size:var(--font-2xl);color:var(--text-primary);font-weight:700}.stat-card .stat-label{font-size:var(--font-sm);color:var(--text-secondary)}.stats-grid{gap:var(--space-lg);margin-bottom:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.list-item{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);transition:background var(--transition-fast);border:1px solid #0000;display:flex}.list-item:hover{background:var(--surface-hover)}.list-item-content{flex:1;min-width:0}.list-item-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.list-item-subtitle{font-size:var(--font-sm);color:var(--text-secondary)}.list-item.completed .list-item-title{color:var(--text-tertiary);text-decoration:line-through}.tabs{gap:var(--space-xs);background:var(--surface);padding:var(--space-xs);border-radius:var(--radius-md);border:1px solid var(--surface-border);margin-bottom:var(--space-xl);display:flex}.tab{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-sm);font-size:var(--font-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);font-weight:500;font-family:var(--font-family);background:0 0;border:none}.tab:hover{color:var(--text-primary);background:var(--surface-hover)}.tab.active{background:var(--accent);color:var(--accent-foreground)}.progress-bar{background:var(--surface-hover);border-radius:var(--radius-full);width:100%;height:6px;overflow:hidden}.progress-bar-fill{border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow);background:var(--accent)}.toast{bottom:var(--space-xl);right:var(--space-xl);background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-md);padding:var(--space-md) var(--space-xl);box-shadow:var(--shadow-lg);z-index:2000;animation:slideUp var(--transition-slow);align-items:center;gap:var(--space-md);font-size:var(--font-base);display:flex;position:fixed}.toast.success,.toast.error{border-left:3px solid var(--accent)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes bounceIn{0%{opacity:0;transform:scale(.9)}50%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.text-sm{font-size:var(--font-sm)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-accent,.text-success,.text-error,.text-warning{color:var(--accent)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.w-full{width:100%}@media(max-width:768px){:root{--space-2xl:20px;--space-3xl:32px}.stats-grid{grid-template-columns:repeat(2,1fr)}.page-header{flex-wrap:wrap}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-width:100%;margin-top:auto}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}}.week-strip{margin-bottom:var(--space-sm);justify-content:space-evenly;padding:4px 0;display:flex}.week-day{cursor:pointer;transition:background var(--transition-base);border-radius:14px;flex-direction:column;align-items:center;gap:2px;min-width:40px;padding:8px 10px;display:flex}.week-day:hover{background:var(--surface-hover)}.week-day.today:not(.selected){background:var(--accent-surface);opacity:.7}.week-day.selected,.prayers-strip .week-day.selected{background:var(--accent);color:var(--text-inverse)}.week-day-number{font-size:16px;font-weight:700;line-height:1}.week-day-label{letter-spacing:.5px;text-transform:uppercase;font-size:9px;font-weight:600;line-height:1}.filter-chips{padding:0 var(--page-h-pad);scrollbar-width:none;-ms-overflow-style:none;margin-bottom:var(--space-lg);gap:6px;display:flex;overflow-x:auto}.filter-chips::-webkit-scrollbar{display:none}.filter-chip{border-radius:var(--radius-pill);font-size:var(--font-12);border:1px solid var(--card-border);background:var(--card-bg);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;font-weight:500;font-family:var(--font-family);align-items:center;gap:4px;padding:6px 14px;display:inline-flex}.filter-chip:hover{background:var(--surface-hover);color:var(--text-primary)}.filter-chip.selected{background:var(--accent);border-color:var(--accent);color:var(--text-inverse);font-weight:600}.filter-chip.overdue-chip{color:var(--accent);border-color:var(--accent)}.filter-chip.overdue-chip.selected{background:var(--accent);color:var(--text-inverse)}.section-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;padding:0 var(--page-h-pad);margin-bottom:var(--space-sm);margin-top:var(--space-xl);font-size:11px;font-weight:700}.fab{bottom:80px;right:var(--space-xl);background:var(--accent);width:56px;height:56px;color:var(--text-inverse);cursor:pointer;box-shadow:var(--shadow-md);transition:all var(--transition-base);z-index:100;font-family:var(--font-family);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed}.fab:hover{background:var(--accent-hover);box-shadow:var(--shadow-lg);transform:scale(1.05)}.fab:active{transform:scale(.95)}.fab .material-symbols-outlined{font-size:28px}.segmented-control{background:var(--surface-variant);border-radius:22px;gap:0;height:44px;padding:4px;display:flex}.segmented-segment{font-size:var(--font-14);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-base);font-weight:500;font-family:var(--font-family);white-space:nowrap;background:0 0;border:none;border-radius:18px;flex:1;justify-content:center;align-items:center;padding:4px 16px;display:flex}.segmented-segment.active{background:var(--card-bg);color:var(--text-primary);border:.5px solid var(--card-border);box-shadow:var(--shadow-sm);font-weight:700}.android-page-header{padding:var(--space-lg) var(--page-h-pad) var(--space-sm);justify-content:space-between;align-items:flex-start;display:flex}.android-page-header h1{font-size:var(--font-28);color:var(--text-primary);font-weight:700;line-height:1.2}.android-page-header .header-actions{align-items:center;gap:var(--space-xs);display:flex}.icon-btn{width:40px;height:40px;color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.icon-btn:hover{background:var(--surface-hover)}.progress-bar-android{background:var(--surface-hover);border-radius:3px;width:100%;height:6px;overflow:hidden}.progress-bar-android-fill{background:var(--accent);height:100%;transition:width var(--transition-slow);border-radius:3px}.snackbar{background:var(--surface-active);color:var(--text-primary);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:var(--space-xl);min-width:288px;max-width:calc(100vw - 40px);box-shadow:var(--shadow-lg);z-index:2000;animation:slideUp var(--transition-slow);font-size:var(--font-14);padding:14px 16px;display:flex;position:fixed;bottom:80px;left:50%;transform:translate(-50%)}.snackbar-undo{color:var(--accent);font-size:var(--font-14);cursor:pointer;font-weight:600;font-family:var(--font-family);letter-spacing:.5px;text-transform:uppercase;background:0 0;border:none}@keyframes springBounce{0%{transform:scale(1)}40%{transform:scale(1.2)}70%{transform:scale(.95)}to{transform:scale(1)}}.bounce{animation:.35s cubic-bezier(.34,1.56,.64,1) springBounce}.page-container{width:100%;max-width:860px;margin:0 auto}@media(min-width:769px){:root{--space-2xl:24px;--space-md:10px;--space-lg:14px;--space-xl:16px;--font-base:14px}body{font-size:14px}.main-content{padding:0}.page-toolbar{margin-bottom:var(--space-xl);justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.page-toolbar h1,.page-header h1,.android-page-header h1,.finance-header h1,.time-header h1{font-size:26px!important}.btn,button.btn{height:34px!important;padding:0 14px!important;font-size:13px!important}.btn-sm,button.btn-sm{height:28px!important;padding:0 10px!important;font-size:12px!important}.input,.form-input,input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:34px!important;padding:7px 12px!important;font-size:14px!important}.icon-btn,.btn-icon,.finance-header-add-btn,.sidebar-mobile-toggle{width:32px!important;height:32px!important}.sidebar-link{padding:8px 12px!important;font-size:13px!important}.sidebar-link-icon{font-size:1.1rem!important}.card,.daftar-card,.chart-card,.finance-hero-card{padding:16px!important}.modal,.finance-modal,.android-dialog{padding:20px!important}.filter-chip,.habit-chip{height:28px!important;padding:5px 12px!important;font-size:12px!important}.task-card,.settings-row,.history-row,.finance-entry-item,.time-record-card,.finance-planned-card,.prayers-row,.habit-row{padding-top:10px!important;padding-bottom:10px!important}.task-title,.habit-name,.finance-planned-name,.time-record-desc,.settings-label{font-size:14px!important}.fab{display:none!important}.desktop-new-btn{display:inline-flex!important}.mobile-filters{display:none!important}}@media(max-width:768px){.desktop-new-btn,.desktop-filters{display:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
