@import"https://api.fontshare.com/v2/css?f[]=clash-display@700&f[]=satoshi@500,700&display=swap";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap";*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--font-display: "Clash Display", serif;--font-body: "Satoshi", sans-serif;--font-mono: "JetBrains Mono", monospace;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}:root,[data-theme=light]{--bg-primary: #F8F9FA;--bg-secondary: #FFFFFF;--bg-tertiary: #F1F3F5;--accent-primary: #6366F1;--accent-secondary: #8B5CF6;--text-primary: #1F2937;--text-secondary: #6B7280;--success: #10B981;--border: #E5E7EB;--danger: #EF4444;--warning: #F59E0B;--info: #3B82F6;--shadow-sm: rgba(0, 0, 0, .04);--shadow-md: rgba(0, 0, 0, .08);--shadow-lg: rgba(99, 102, 241, .25)}[data-theme=dark]{--bg-primary: #0F1419;--bg-secondary: #1A1F2E;--bg-tertiary: #252B3B;--accent-primary: #818CF8;--accent-secondary: #A78BFA;--text-primary: #F9FAFB;--text-secondary: #9CA3AF;--success: #34D399;--border: #2D3748;--danger: #F87171;--warning: #FBBF24;--info: #60A5FA;--shadow-sm: rgba(0, 0, 0, .2);--shadow-md: rgba(0, 0, 0, .3);--shadow-lg: rgba(129, 140, 248, .3)}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;margin:0;padding:0;transition:background-color .3s ease,color .3s ease}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;transition:background var(--transition-base)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}::selection{background:var(--accent-primary);color:#fff}:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:2px}button:focus-visible{outline-offset:4px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.install-banner{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:1000;width:calc(100% - 3rem);max-width:480px}.install-banner-content{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 8px 32px #0000001f}.install-banner-icon{flex-shrink:0;width:40px;height:40px;border-radius:10px;overflow:hidden}.install-banner-icon img{width:100%;height:100%;object-fit:cover}.install-banner-text{display:flex;flex-direction:column;gap:.125rem;flex:1;min-width:0}.install-banner-text strong{font-family:var(--font-body);font-size:.9375rem;font-weight:700;color:var(--text-primary)}.install-banner-text span{font-family:var(--font-body);font-size:.75rem;color:var(--text-secondary)}.install-banner-actions{display:flex;flex-direction:column;gap:.375rem;flex-shrink:0}.install-banner-btn{font-family:var(--font-body);font-size:.8125rem;font-weight:600;padding:.5rem 1rem;border-radius:8px;border:none;cursor:pointer;transition:all .15s ease;white-space:nowrap}.install-banner-btn.install{background:var(--accent-primary);color:#fff}.install-banner-btn.install:hover{opacity:.9}.install-banner-btn.dismiss{background:transparent;color:var(--text-secondary);font-size:.75rem;padding:.25rem .5rem}.install-banner-btn.dismiss:hover{color:var(--text-primary)}@media(max-width:480px){.install-banner{bottom:1rem;width:calc(100% - 2rem)}.install-banner-content{padding:1rem}}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:var(--spacing-lg)}.login-card{width:100%;max-width:400px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:20px;padding:2.5rem;box-shadow:0 8px 32px var(--shadow-md)}.login-header{text-align:center;margin-bottom:2rem}.login-title{font-family:var(--font-display);font-size:2.25rem;font-weight:700;color:var(--accent-primary);letter-spacing:-.02em;margin-bottom:.5rem}.login-subtitle{font-family:var(--font-body);font-size:.9375rem;color:var(--text-secondary)}.login-form{display:flex;flex-direction:column;gap:1rem}.login-input{width:100%;padding:.875rem 1rem;font-family:var(--font-body);font-size:1rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;color:var(--text-primary);outline:none;transition:border-color .2s ease;box-sizing:border-box}.login-input:focus{border-color:var(--accent-primary)}.login-input::placeholder{color:var(--text-secondary);opacity:.6}.login-error{font-family:var(--font-body);font-size:.8125rem;color:var(--danger);text-align:center;margin:0}.login-btn{width:100%;padding:.875rem;font-family:var(--font-body);font-size:1rem;font-weight:600;color:#fff;background:var(--accent-primary);border:none;border-radius:12px;cursor:pointer;transition:opacity .2s ease}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-btn:not(:disabled):hover{opacity:.9}.login-switch{font-family:var(--font-body);font-size:.875rem;color:var(--text-secondary);text-align:center;margin-top:1.5rem}.login-switch-btn{background:none;border:none;color:var(--accent-primary);font-family:var(--font-body);font-size:.875rem;font-weight:600;cursor:pointer;padding:0;transition:opacity .2s ease}.login-switch-btn:hover{opacity:.8}.theme-toggle{background:transparent;border:none;cursor:pointer;padding:.5rem;border-radius:8px;transition:background-color .2s ease}.theme-toggle:hover{background:var(--bg-tertiary)}.toggle-track{width:48px;height:24px;border-radius:12px;padding:2px;display:flex;align-items:center;position:relative}.toggle-thumb{width:20px;height:20px;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;color:#6366f1;box-shadow:0 2px 4px #0003}.navigation{width:280px;background:var(--bg-secondary);border-right:1px solid var(--border);padding:2rem 0;display:flex;flex-direction:column;height:100vh;position:sticky;top:0}.nav-header{padding:0 1.5rem;margin-bottom:2.5rem}.nav-title{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem;letter-spacing:-.02em}.nav-subtitle{font-family:var(--font-body);font-size:.875rem;color:var(--text-secondary);font-weight:500}.nav-tabs{display:flex;flex-direction:column;gap:.25rem;padding:0 1rem}.nav-tab{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%;font-family:var(--font-body)}.nav-tab:hover{background:var(--bg-tertiary)}.nav-tab.active{background:var(--accent-primary)}.nav-tab.active .nav-tab-icon,.nav-tab.active .nav-tab-label{color:#fff}.nav-tab-icon{font-size:1.25rem;display:flex;align-items:center;justify-content:center;width:24px;height:24px;transition:color .2s ease}.nav-tab-label{font-size:.9375rem;font-weight:500;color:var(--text-primary);transition:color .2s ease}.nav-tab:not(.active) .nav-tab-label{color:var(--text-secondary)}.nav-tab:not(.active):hover .nav-tab-label{color:var(--text-primary)}.nav-footer{margin-top:auto;padding:1.5rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.75rem}.notification-status{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;border-radius:8px;font-family:var(--font-body);font-size:.8125rem;font-weight:500;flex-wrap:wrap}.notification-status.granted{background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success)}.notification-status.denied{background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--text-secondary)}.notification-icon{font-size:.875rem;flex-shrink:0}.notification-status.denied .notification-icon{color:var(--danger)}.notification-label{flex:1}.notification-hint{width:100%;font-size:.6875rem;font-weight:400;color:var(--text-tertiary);margin-top:-.125rem}.notification-btn{display:flex;align-items:center;gap:.625rem;width:100%;padding:.625rem .75rem;background:color-mix(in srgb,var(--accent-primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent-primary) 25%,transparent);border-radius:8px;cursor:pointer;font-family:var(--font-body);transition:all .2s ease}.notification-btn:hover{background:color-mix(in srgb,var(--accent-primary) 18%,transparent);border-color:var(--accent-primary)}.notification-btn-icon{font-size:1rem}.notification-btn-text{font-size:.8125rem;font-weight:500;color:var(--accent-primary)}.notification-btn.denied{background:color-mix(in srgb,var(--danger) 8%,transparent);border-color:color-mix(in srgb,var(--danger) 20%,transparent)}.notification-btn.denied:hover{background:color-mix(in srgb,var(--danger) 15%,transparent);border-color:var(--danger)}.notification-btn.denied .notification-btn-text{color:var(--danger)}.theme-toggle-container{display:flex;align-items:center;justify-content:space-between}.theme-label{font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--text-secondary)}.nav-logout-btn{display:flex;align-items:center;gap:.875rem;width:100%;padding:.875rem 1rem;margin-top:.25rem;background:transparent;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease;font-family:var(--font-body)}.nav-logout-btn:hover{background:var(--danger);border-color:var(--danger)}.nav-logout-btn:hover .nav-tab-icon,.nav-logout-btn:hover .nav-tab-label{color:#fff}@media(max-width:768px){.navigation{width:100%;height:auto;border-right:none;border-bottom:1px solid var(--border);padding:1.5rem 0;position:relative}.nav-tabs{flex-direction:row;overflow-x:auto;padding:0 1rem}.nav-tab{flex-direction:column;gap:.5rem;padding:.75rem;min-width:80px;text-align:center}.nav-tab-label{font-size:.75rem}.nav-footer{margin-top:1rem;padding:1rem}}.summary-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px var(--shadow-sm);transition:all .2s ease;position:relative;overflow:hidden}.summary-card-accent{position:absolute;top:0;left:0;right:0;height:3px;border-radius:16px 16px 0 0}.summary-card-value{font-family:JetBrains Mono,monospace;font-size:2.5rem;font-weight:500;color:var(--text-primary);letter-spacing:-.02em;line-height:1.1;margin-bottom:.25rem}.summary-card-title{font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--text-secondary)}.summary-card-subtitle{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-secondary);opacity:.7;margin-top:.375rem;letter-spacing:.03em}.summary-card-wide{margin-bottom:var(--spacing-xl)}.summary-card-wide .summary-card-value{font-size:3rem}@media(max-width:480px){.summary-card{padding:1.25rem}.summary-card-value{font-size:2rem}}.progress-bar{width:100%}.progress-bar-track{width:100%;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.progress-bar--sm .progress-bar-track{height:4px}.progress-bar--md .progress-bar-track{height:8px}.progress-bar--lg .progress-bar-track{height:12px;border-radius:6px}.progress-bar-fill{height:100%;background:var(--accent-primary);border-radius:4px;min-width:0}.progress-bar--lg .progress-bar-fill{border-radius:6px}.progress-bar-fill.completed{background:var(--success)}.progress-bar-label{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-xs)}.progress-bar-values{font-family:JetBrains Mono,monospace;font-size:.8125rem;color:var(--text-secondary);letter-spacing:.02em}.progress-bar-percentage{font-family:JetBrains Mono,monospace;font-size:.8125rem;font-weight:500;color:var(--text-primary);letter-spacing:.02em}.progress-bar--sm .progress-bar-label{margin-top:.125rem}.progress-bar--sm .progress-bar-values,.progress-bar--sm .progress-bar-percentage{font-size:.6875rem}.progress-bar--lg .progress-bar-values,.progress-bar--lg .progress-bar-percentage{font-size:.875rem}.goal-item{background:var(--bg-secondary);border:1px solid var(--border);border-left:4px solid;border-radius:12px;padding:.875rem 1rem;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px var(--shadow-sm);display:flex;flex-direction:column;gap:.5rem}.goal-item:hover{box-shadow:0 4px 16px var(--shadow-md);transform:translateY(-1px)}.goal-item.completed{opacity:.7}.goal-item-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.goal-item-title{font-family:var(--font-body);font-size:.9375rem;font-weight:600;color:var(--text-primary);line-height:1.3;flex:1;margin:0}.goal-item.completed .goal-item-title{text-decoration:line-through;text-decoration-color:var(--success);text-decoration-thickness:2px}.goal-item-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.goal-item-category{font-family:var(--font-body);font-size:.75rem;font-weight:500}.goal-item-deadline{font-family:JetBrains Mono,monospace;font-size:.6875rem;color:var(--text-secondary);letter-spacing:.03em;white-space:nowrap}.goal-item-completed-badge{font-family:var(--font-body);font-size:.625rem;font-weight:600;color:var(--success);background:#10b9811a;padding:.125rem .375rem;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.goal-item-delete{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;padding:0;opacity:0;flex-shrink:0}.goal-item:hover .goal-item-delete{opacity:1}.goal-item-delete:hover{color:var(--danger);background:#fef2f2}[data-theme=dark] .goal-item-delete:hover{background:#f871711a}@media(max-width:640px){.goal-item-delete{opacity:1}}.category-breakdown{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px var(--shadow-sm);margin-bottom:var(--spacing-lg)}.category-breakdown-title{font-family:var(--font-body);font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem}.category-breakdown-list{display:flex;flex-direction:column;gap:.875rem}.category-breakdown-row{display:flex;align-items:center;gap:1rem}.category-breakdown-info{display:flex;align-items:center;gap:.5rem;min-width:160px;flex-shrink:0}.category-breakdown-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.category-breakdown-name{font-family:var(--font-body);font-size:.875rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.category-breakdown-count{font-family:JetBrains Mono,monospace;font-size:.6875rem;color:var(--text-secondary);letter-spacing:.03em;white-space:nowrap}.category-breakdown-bar{flex:1;min-width:80px}.category-breakdown-percent{font-family:JetBrains Mono,monospace;font-size:.8125rem;font-weight:500;color:var(--text-primary);min-width:36px;text-align:right}@media(max-width:640px){.category-breakdown-row{flex-wrap:wrap}.category-breakdown-info{min-width:auto;width:100%}.category-breakdown-bar{flex:1}}.recent-activity{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px var(--shadow-sm)}.recent-activity-title{font-family:var(--font-body);font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem}.recent-activity-list{display:flex;flex-direction:column;gap:.75rem}.activity-item{display:flex;align-items:center;gap:.75rem;padding:.625rem 0;border-bottom:1px solid var(--border)}.activity-item:last-child{border-bottom:none;padding-bottom:0}.activity-item-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.activity-item-content{display:flex;flex-direction:column;gap:.125rem;flex:1;min-width:0}.activity-item-goal{font-family:var(--font-body);font-size:.875rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-item-value{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--accent-primary);font-weight:500}.activity-item-note{font-family:var(--font-body);font-size:.75rem;color:var(--text-secondary);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;flex-shrink:0}.activity-item-time{font-family:JetBrains Mono,monospace;font-size:.6875rem;color:var(--text-secondary);opacity:.6;letter-spacing:.05em;flex-shrink:0;white-space:nowrap}@media(max-width:640px){.activity-item{flex-wrap:wrap}.activity-item-note{max-width:none;width:100%;padding-left:1.25rem}}.dashboard-header{margin-bottom:2rem}.dashboard-title{font-family:var(--font-display);font-size:clamp(2rem,6vw,3rem);font-weight:700;color:var(--text-primary);margin-bottom:.25rem;letter-spacing:-.02em}.dashboard-subtitle{font-family:var(--font-body);font-size:1rem;color:var(--text-secondary);font-weight:500}.summary-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.dashboard-goals-section{margin-bottom:var(--spacing-xl)}.dashboard-section-title{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;letter-spacing:-.01em}.dashboard-goals-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media(max-width:768px){.dashboard-goals-list{grid-template-columns:1fr}}@media(max-width:480px){.summary-cards-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}}.goal-filters{display:flex;gap:var(--spacing-sm);overflow-x:auto;padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-lg);-webkit-overflow-scrolling:touch;scrollbar-width:none}.goal-filters::-webkit-scrollbar{display:none}.filter-pill{display:inline-flex;align-items:center;gap:.375rem;font-family:var(--font-body);font-size:.8125rem;font-weight:600;padding:.5rem 1rem;border-radius:20px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;white-space:nowrap;transition:all .2s ease}.filter-pill:hover{background:var(--bg-tertiary)}.filter-pill.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.filter-pill-icon{font-size:.875rem;line-height:1}.goal-form{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 8px var(--shadow-sm);overflow:hidden}.goal-form .form-group{margin-bottom:1.25rem}.goal-form .form-group:last-of-type{margin-bottom:1.5rem}.goal-form .form-group label{display:block;font-family:var(--font-body);font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.goal-form .form-input{width:100%;font-family:var(--font-body);font-size:.9375rem;font-weight:500;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;outline:none;transition:all .2s ease}.goal-form .form-input::placeholder{color:var(--text-secondary)}.goal-form .form-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f11a}.goal-form .form-textarea{resize:vertical;min-height:60px;line-height:1.5}.goal-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.goal-form select.form-input{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%236B7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.goal-form-actions{display:flex;gap:.75rem}.goal-form-actions .submit-btn{flex:1;font-family:var(--font-body);font-size:.9375rem;font-weight:600;color:#fff;background:var(--accent-primary);border:none;border-radius:10px;padding:.875rem 1.5rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px var(--shadow-sm)}.goal-form-actions .submit-btn:hover{background:var(--accent-secondary);box-shadow:0 4px 16px var(--shadow-lg)}.goal-form-actions .cancel-btn{font-family:var(--font-body);font-size:.9375rem;font-weight:600;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:10px;padding:.875rem 1.5rem;cursor:pointer;transition:all .2s ease}.goal-form-actions .cancel-btn:hover{color:var(--text-primary);border-color:var(--text-secondary)}@media(max-width:640px){.goal-form .form-row{grid-template-columns:1fr}.goal-form{padding:1.25rem}.goal-form-actions{flex-direction:column}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.empty-icon{color:var(--border);margin-bottom:1.5rem}.empty-message{font-family:Satoshi,sans-serif;font-size:1.25rem;font-weight:500;color:var(--text-secondary);line-height:1.6}.empty-message span{font-size:1rem;color:var(--text-secondary);opacity:.7}.goals-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.goals-title{font-family:var(--font-display);font-size:clamp(2rem,6vw,3rem);font-weight:700;color:var(--text-primary);margin-bottom:.25rem;letter-spacing:-.02em}.goals-subtitle{font-family:JetBrains Mono,monospace;font-size:.875rem;color:var(--text-secondary);letter-spacing:.05em}.add-goal-btn{font-family:var(--font-body);font-size:.875rem;font-weight:600;color:#fff;background:var(--accent-primary);border:none;border-radius:8px;padding:.625rem 1.25rem;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.add-goal-btn:hover{background:var(--accent-secondary);box-shadow:0 4px 16px var(--shadow-lg)}.goals-section{margin-bottom:2rem;display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.goals-section-title{grid-column:1 / -1;font-family:var(--font-body);font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:0}@media(max-width:768px){.goals-section{grid-template-columns:1fr}}@media(max-width:640px){.goals-header{flex-direction:column;gap:1rem}.add-goal-btn{width:100%;text-align:center}}.category-badge{display:inline-flex;align-items:center;gap:.375rem;font-family:var(--font-body);font-size:.75rem;font-weight:600;padding:.25rem .625rem;border-radius:20px;border:1px solid;white-space:nowrap}.category-badge-icon{font-size:.8125rem;line-height:1}.category-badge-name{line-height:1}.goal-stats{display:flex;gap:var(--spacing-lg);flex-wrap:wrap;padding:var(--spacing-md) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:var(--spacing-lg) 0}.stat-chip{display:flex;flex-direction:column;gap:.25rem}.stat-chip-label{font-family:var(--font-body);font-size:.6875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.stat-chip-value{font-family:JetBrains Mono,monospace;font-size:1.125rem;font-weight:500;color:var(--text-primary)}@media(max-width:480px){.goal-stats{gap:var(--spacing-md)}.stat-chip{min-width:calc(50% - var(--spacing-md))}}.progress-entry-form{background:var(--bg-tertiary);border-radius:12px;padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.progress-entry-fields{display:flex;gap:.75rem;align-items:flex-end}.progress-entry-field{display:flex;flex-direction:column;gap:.375rem}.progress-entry-field--note{flex:1}.progress-entry-field label{font-family:var(--font-body);font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.progress-entry-form .form-input{font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:.625rem .75rem;outline:none;transition:all .2s ease;width:100%}.progress-entry-form .form-input::placeholder{color:var(--text-secondary)}.progress-entry-form .form-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f11a}.progress-entry-submit{font-family:var(--font-body);font-size:.875rem;font-weight:600;color:#fff;background:var(--accent-primary);border:none;border-radius:8px;padding:.625rem 1.25rem;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.progress-entry-submit:hover{background:var(--accent-secondary)}@media(max-width:640px){.progress-entry-fields{flex-direction:column;align-items:stretch}.progress-entry-submit{width:100%;text-align:center}}.progress-history-title{font-family:var(--font-body);font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem}.progress-history-timeline{position:relative;padding-left:2rem}.progress-history-timeline:before{content:"";position:absolute;left:5px;top:4px;bottom:4px;width:2px;background:var(--border);border-radius:1px}.history-item{position:relative;display:flex;align-items:flex-start;gap:.75rem;padding-bottom:var(--spacing-lg)}.history-item:last-child{padding-bottom:0}.history-item-dot{position:absolute;left:-2rem;top:4px;width:12px;height:12px;border-radius:50%;background:var(--accent-primary);border:2px solid var(--bg-primary);flex-shrink:0;z-index:1}.history-item-content{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.history-item-date{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-secondary);letter-spacing:.05em}.history-item-value{font-family:var(--font-body);font-size:1rem;font-weight:600;color:var(--accent-primary)}.history-item-note{font-family:var(--font-body);font-size:.875rem;color:var(--text-secondary);font-style:italic}.history-item-delete{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;padding:0;flex-shrink:0;opacity:0}.history-item:hover .history-item-delete{opacity:1}.history-item-delete:hover{color:var(--danger)}@media(max-width:640px){.history-item-delete{opacity:1}}.goal-detail-back{display:inline-flex;align-items:center;font-family:var(--font-body);font-size:.875rem;font-weight:600;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;padding:.5rem 0;margin-bottom:var(--spacing-lg);transition:color .2s ease}.goal-detail-back:hover{color:var(--accent-primary)}.goal-detail-header{margin-bottom:var(--spacing-lg)}.goal-detail-header-top{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.goal-detail-status{font-family:var(--font-body);font-size:.6875rem;font-weight:600;padding:.25rem .625rem;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.goal-detail-status.completed{color:var(--success);background:#10b9811a}.goal-detail-status.archived{color:var(--text-secondary);background:var(--bg-tertiary)}.goal-detail-title{font-family:var(--font-display);font-size:clamp(1.75rem,5vw,2.5rem);font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin-bottom:.5rem;line-height:1.2}.goal-detail-description{font-family:var(--font-body);font-size:1rem;color:var(--text-secondary);line-height:1.6;margin-bottom:.75rem}.goal-detail-deadline{font-family:JetBrains Mono,monospace;font-size:.8125rem;color:var(--text-secondary);letter-spacing:.03em}.goal-detail-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:var(--spacing-xl)}.goal-action-btn{font-family:var(--font-body);font-size:.8125rem;font-weight:600;padding:.5rem 1rem;border-radius:8px;border:1px solid var(--border);cursor:pointer;transition:all .2s ease;background:var(--bg-secondary);color:var(--text-primary)}.goal-action-btn:hover{border-color:var(--text-secondary)}.goal-action-btn.edit:hover{color:var(--accent-primary);border-color:var(--accent-primary)}.goal-action-btn.complete{color:#fff;background:var(--success);border-color:var(--success)}.goal-action-btn.complete:hover{opacity:.9}.goal-action-btn.reactivate{color:var(--accent-primary);border-color:var(--accent-primary)}.goal-action-btn.delete:hover{color:var(--danger);border-color:var(--danger)}.goal-action-btn.archive:hover{color:var(--warning);border-color:var(--warning)}.binary-done-btn{width:100%;padding:1rem;font-size:1rem;margin-bottom:var(--spacing-lg)}@media(max-width:640px){.goal-detail-actions{flex-direction:column}.goal-action-btn{width:100%;text-align:center}}.color-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem}.color-swatch{width:32px;height:32px;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:all var(--transition-base);padding:0}.color-swatch:hover{box-shadow:0 2px 8px var(--shadow-md)}.color-swatch.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--text-primary);transform:scale(1.1)}.icon-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem}.icon-option{display:flex;align-items:center;justify-content:center;width:40px;height:40px;font-size:1.25rem;background:var(--bg-tertiary);border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all var(--transition-base);padding:0}.icon-option:hover{background:var(--bg-secondary);border-color:var(--border)}.icon-option.selected{background:var(--bg-secondary);border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--accent-primary)}.category-form{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 8px var(--shadow-sm);overflow:hidden}.category-form .form-group{margin-bottom:1.25rem}.category-form .form-group label{display:block;font-family:var(--font-body);font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.category-form .form-input{width:100%;font-family:var(--font-body);font-size:.9375rem;font-weight:500;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;outline:none;transition:all .2s ease}.category-form .form-input::placeholder{color:var(--text-secondary)}.category-form .form-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f11a}.category-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.category-form-preview{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--bg-tertiary);border-radius:8px;margin-bottom:1.5rem}.category-form-preview-label{font-family:var(--font-body);font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.category-form-preview-badge{display:inline-flex;align-items:center;gap:.375rem;font-family:var(--font-body);font-size:.8125rem;font-weight:600;padding:.375rem .75rem;border-radius:20px;border:1px solid}.category-form-actions{display:flex;gap:.75rem}.category-form-actions .submit-btn{flex:1;font-family:var(--font-body);font-size:.9375rem;font-weight:600;color:#fff;background:var(--accent-primary);border:none;border-radius:10px;padding:.875rem 1.5rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px var(--shadow-sm)}.category-form-actions .submit-btn:hover{background:var(--accent-secondary);box-shadow:0 4px 16px var(--shadow-lg)}.category-form-actions .cancel-btn{font-family:var(--font-body);font-size:.9375rem;font-weight:600;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:10px;padding:.875rem 1.5rem;cursor:pointer;transition:all .2s ease}.category-form-actions .cancel-btn:hover{color:var(--text-primary);border-color:var(--text-secondary)}@media(max-width:640px){.category-form .form-row{grid-template-columns:1fr}.category-form{padding:1.25rem}.category-form-actions{flex-direction:column}}.category-card{display:flex;align-items:center;gap:1rem;background:var(--bg-secondary);border:1px solid var(--border);border-left:4px solid;border-radius:12px;padding:1rem 1.25rem;margin-bottom:.625rem;transition:all .2s ease;box-shadow:0 1px 2px var(--shadow-sm)}.category-card:hover{box-shadow:0 4px 12px var(--shadow-md);transform:translateY(-1px)}.category-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;font-size:1.25rem;flex-shrink:0}.category-card-content{display:flex;flex-direction:column;gap:.125rem;flex:1;min-width:0}.category-card-name{font-family:var(--font-body);font-size:1rem;font-weight:600;color:var(--text-primary)}.category-card-count{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-secondary);letter-spacing:.05em}.category-card-default-badge{font-family:var(--font-body);font-size:.6875rem;font-weight:600;color:var(--text-secondary);background:var(--bg-tertiary);padding:.25rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.category-card-actions{display:flex;gap:.375rem;flex-shrink:0}.category-card-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;padding:0}.category-card-btn.edit:hover{color:var(--accent-primary);background:var(--bg-tertiary)}.category-card-btn.delete:hover{color:var(--danger);background:#fef2f2}[data-theme=dark] .category-card-btn.delete:hover{background:#f871711a}@media(max-width:640px){.category-card{padding:.875rem 1rem}}.categories-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.categories-title{font-family:var(--font-display);font-size:clamp(2rem,6vw,3rem);font-weight:700;color:var(--text-primary);margin-bottom:.25rem;letter-spacing:-.02em}.categories-subtitle{font-family:JetBrains Mono,monospace;font-size:.875rem;color:var(--text-secondary);letter-spacing:.05em}.add-category-btn{font-family:var(--font-body);font-size:.875rem;font-weight:600;color:#fff;background:var(--accent-primary);border:none;border-radius:8px;padding:.625rem 1.25rem;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.add-category-btn:hover{background:var(--accent-secondary);box-shadow:0 4px 16px var(--shadow-lg)}.categories-section{margin-bottom:2rem}.categories-section-title{font-family:var(--font-body);font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem}@media(max-width:640px){.categories-header{flex-direction:column;gap:1rem}.add-category-btn{width:100%;text-align:center}}.rule-form{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;overflow:hidden}.rule-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.rule-form-field{display:flex;flex-direction:column;gap:.375rem}.rule-form-field.full-width{grid-column:1 / -1}.rule-form-label{font-family:var(--font-body);font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.rule-form-input,.rule-form-select,.rule-form-textarea{font-family:var(--font-body);font-size:.875rem;padding:.625rem .875rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);outline:none;transition:border-color .2s ease}.rule-form-input:focus,.rule-form-select:focus,.rule-form-textarea:focus{border-color:var(--accent-primary)}.rule-form-textarea{resize:vertical;min-height:80px;line-height:1.5}.rule-form-select{cursor:pointer}.rule-form-toggle-group{display:flex;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.rule-form-toggle{flex:1;padding:.625rem;font-family:var(--font-body);font-size:.8125rem;font-weight:600;border:none;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.rule-form-toggle.active{background:var(--accent-primary);color:#fff}.rule-form-period{display:flex;align-items:center;gap:.5rem}.period-input{width:80px;text-align:center}.rule-form-period-label{font-family:var(--font-body);font-size:.875rem;color:var(--text-secondary)}.rule-form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.rule-form-cancel{font-family:var(--font-body);font-size:.875rem;font-weight:600;padding:.625rem 1.25rem;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.rule-form-cancel:hover{border-color:var(--text-secondary)}.rule-form-submit{font-family:var(--font-body);font-size:.875rem;font-weight:600;padding:.625rem 1.25rem;background:var(--accent-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .2s ease}.rule-form-submit:hover{background:var(--accent-secondary)}.rule-form-submit:disabled{opacity:.5;cursor:not-allowed}.rule-form-vars-hint{font-weight:400;font-size:.6875rem;color:var(--text-tertiary)}.rule-form-vars-list{display:flex;flex-wrap:wrap;gap:.375rem}.rule-form-var-chip{display:inline-flex;align-items:center;gap:.375rem;font-family:var(--font-body);font-size:.75rem;padding:.3rem .625rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.rule-form-var-chip:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.rule-form-var-chip:hover .var-tag{color:#ffffffe6}.rule-form-var-chip:hover .var-label{color:#ffffffbf}.var-tag{font-family:var(--font-mono, monospace);font-size:.6875rem;color:var(--accent-primary);transition:color .15s ease}.var-label{font-size:.6875rem;color:var(--text-tertiary);transition:color .15s ease}@media(max-width:640px){.rule-form-grid{grid-template-columns:1fr}.rule-form-actions{flex-direction:column}.rule-form-cancel,.rule-form-submit{width:100%;text-align:center}}.rules-view{max-width:100%}.rules-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.rules-title{font-family:var(--font-display);font-size:clamp(2rem,6vw,3rem);font-weight:700;color:var(--text-primary);margin-bottom:.25rem;letter-spacing:-.02em}.rules-subtitle{font-family:JetBrains Mono,monospace;font-size:.875rem;color:var(--text-secondary);letter-spacing:.05em}.add-rule-btn{font-family:var(--font-body);font-size:.875rem;font-weight:600;color:#fff;background:var(--accent-primary);border:none;border-radius:8px;padding:.625rem 1.25rem;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.add-rule-btn:hover{background:var(--accent-secondary)}.rules-section{margin-bottom:2rem}.rules-section-title{font-family:var(--font-body);font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem}.rules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.rule-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.625rem}.rule-card.inactive{opacity:.5}.rule-card.system{border-left:3px solid var(--accent-primary)}.rule-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.rule-card-title-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;flex:1}.rule-card-name{font-family:var(--font-body);font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0}.rule-badge{font-family:var(--font-body);font-size:.625rem;font-weight:600;padding:.125rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.rule-badge.system{color:var(--accent-primary);background:#6366f11a}.rule-badge.periodic{color:var(--warning, #f59e0b);background:#f59e0b1a}.rule-badge.event{color:var(--success);background:#10b9811a}.rule-card-subject{font-family:var(--font-body);font-size:.8125rem;color:var(--text-secondary);margin:0;line-height:1.4}.rule-card-meta{display:flex;flex-wrap:wrap;gap:.5rem;font-family:JetBrains Mono,monospace;font-size:.6875rem;color:var(--text-secondary)}.rule-card-trigger{background:var(--bg-tertiary);padding:.125rem .5rem;border-radius:4px}.rule-card-sent,.rule-card-next{opacity:.7}.rule-card-actions{display:flex;gap:.5rem;margin-top:.25rem}.rule-action-btn{font-family:var(--font-body);font-size:.75rem;font-weight:600;padding:.375rem .75rem;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.rule-action-btn.test:hover{color:var(--accent-primary);border-color:var(--accent-primary)}.rule-action-btn.delete:hover{color:var(--danger);border-color:var(--danger)}.rule-action-btn:disabled{opacity:.5;cursor:not-allowed}.rule-toggle{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0}.rule-toggle input{opacity:0;width:0;height:0}.rule-toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--bg-tertiary);border-radius:20px;transition:.2s}.rule-toggle-slider:before{content:"";position:absolute;height:14px;width:14px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s}.rule-toggle input:checked+.rule-toggle-slider{background:var(--success)}.rule-toggle input:checked+.rule-toggle-slider:before{transform:translate(16px)}.rules-empty{text-align:center;padding:3rem 1rem;color:var(--text-secondary);font-family:var(--font-body)}.rules-empty p:first-child{font-size:1rem;font-weight:600;margin-bottom:.25rem}.rules-empty p:last-child{font-size:.875rem}@media(max-width:768px){.rules-grid{grid-template-columns:1fr}.rules-header{flex-direction:column;gap:1rem}.add-rule-btn{width:100%;text-align:center}}.app{min-height:100vh;display:flex}.main-content{flex:1;overflow-y:auto;background:var(--bg-primary)}.content{max-width:800px;margin:0 auto;padding:3rem 2rem}@media(max-width:768px){.app{flex-direction:column}.content{padding:2rem 1.5rem}}@media(max-width:480px){.content{padding:1.5rem 1rem}}
