.ui-skeleton{background:#0000000f;border-radius:6px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.page-loader{position:absolute;inset:0;display:flex;flex-direction:column;gap:12px;background:var(--background, #fff);padding:1.5rem;max-width:720px;margin:0 auto}.page-loader-header{display:flex;align-items:center;gap:12px;padding:1rem 0}.page-loader-card{height:80px;border-radius:12px}.ui-tooltip-content{background:#1f2937;color:#fff;padding:.625rem .875rem;border-radius:.625rem;font-size:.75rem;font-weight:500;white-space:nowrap;z-index:9999;box-shadow:0 4px 12px #00000026,0 0 0 1px #ffffff0d;backdrop-filter:blur(8px);user-select:none;max-width:var(--radix-popover-content-available-width, 300px);outline:none;&[data-state=open]{animation:tooltip-fade-in .2s cubic-bezier(.16,1,.3,1)}&[data-state=closed]{animation:tooltip-fade-out .15s cubic-bezier(.16,1,.3,1)}.tooltip-arrow{fill:#1f2937;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.animate-pulse-soft{animation:subtle-pulse 3s ease-in-out infinite}[data-radix-popover-trigger]:active{opacity:.8}}@media(hover:none)and (pointer:coarse){.ui-tooltip-content{padding:.75rem 1rem;font-size:.8125rem;max-width:calc(100vw - 2rem)}}@media(pointer:coarse){.ui-tooltip-content{[data-radix-popover-trigger]{-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:pointer}}}.ap-backdrop{position:fixed;inset:0;background:#0f172a66;backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;animation:ap-fadeIn .2s ease-out;.ap-box{width:100%;max-width:480px;max-height:75dvh;margin:0 1rem;animation:ap-slideIn .25s ease-out}}.ap-palette{background:#fff;border-radius:20px;border:1px solid rgba(0,0,0,.08);box-shadow:0 0 0 1px #0000000a,0 24px 48px -12px #0000002e;overflow:hidden;display:flex;flex-direction:column;max-height:75dvh;.ap-list{flex:1;padding:1rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.1) transparent}.ap-cat{margin-bottom:1rem;animation:ap-catIn .3s ease-out backwards;animation-delay:calc(var(--i) * 50ms);&:last-child{margin-bottom:0}&.health{--grad: linear-gradient(135deg, #10b981, #059669);--tint: rgba(16, 185, 129, .06)}&.finance{--grad: linear-gradient(135deg, #f59e0b, #d97706);--tint: rgba(245, 158, 11, .06)}&.productivity{--grad: linear-gradient(135deg, #6366f1, #4f46e5);--tint: rgba(99, 102, 241, .06)}}.ap-cat-head{display:flex;align-items:center;gap:.625rem;padding:.375rem .5rem;margin-bottom:.5rem}.ap-cat-bar{width:3px;height:14px;border-radius:2px;background:var(--grad)}.ap-cat-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8}.ap-cat-items{display:flex;flex-direction:column;gap:2px}.ap-item{display:flex;align-items:center;gap:.875rem;padding:.625rem .75rem;border-radius:12px;text-decoration:none;color:#334155;cursor:pointer;position:relative;transition:background .15s;animation:ap-itemIn .25s ease-out backwards;animation-delay:calc(var(--i) * 20ms);&:before{content:"";position:absolute;inset:0;border-radius:12px;background:var(--tint);opacity:0;transition:opacity .15s}&:hover:before{opacity:1}&.active{background:var(--tint)}}.ap-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--grad);flex-shrink:0;position:relative;z-index:1;box-shadow:0 2px 8px -2px #0003}.ap-label{font-size:.9375rem;font-weight:500;position:relative;z-index:1}.ap-badge{margin-left:auto;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .5rem;border-radius:4px;background:#6366f11f;color:#6366f1;position:relative;z-index:1}}@media(max-width:768px){.ap-backdrop{align-items:flex-end;.ap-box{max-width:none;max-height:80dvh;margin:0;animation:ap-slideUp .3s ease-out}}.ap-palette{border-radius:24px 24px 0 0;max-height:80dvh;.ap-list{padding:.875rem}.ap-item{padding:.75rem}.ap-icon{width:38px;height:38px}}}@media(max-width:480px){.ap-palette{.ap-list{padding:.75rem}.ap-item{padding:.625rem;gap:.75rem}.ap-icon{width:34px;height:34px}.ap-label{font-size:.875rem}.ap-badge{display:none}}}@media(prefers-reduced-motion:reduce){.ap-item,.ap-palette,.ap-box,.ap-cat{transition:none!important;animation:none!important}}.ud-trigger{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:0;&:active{transform:scale(.98)}.ud-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.ud-avatar-ph{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;display:flex;align-items:center;justify-content:center}}.ud-menu{width:200px;padding:.5rem;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:12px;box-shadow:0 4px 12px #0000001a;z-index:9999;animation:udSlideUp .2s ease-out;.ud-name{padding:.75rem;font-size:.875rem;font-weight:600;color:#1f2937;border-bottom:1px solid rgba(0,0,0,.06);margin-bottom:.25rem}.ud-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;width:100%;background:none;border:none;border-radius:8px;color:#374151;font-size:.875rem;cursor:pointer;text-decoration:none;transition:background .15s;&:hover{background:#f8fafc}&:active{transform:scale(.98)}&.danger{color:#dc2626}}.ud-chevron{margin-left:auto;transition:transform .2s}.expanded .ud-chevron{transform:rotate(180deg)}.ud-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease-out;&.open{grid-template-rows:1fr}>div{overflow:hidden;min-height:0}}.ud-sub-item{padding-left:2.5rem;font-size:.8125rem}}@media(max-width:768px){.ud-trigger{width:36px;height:36px;.ud-avatar,.ud-avatar-ph{width:28px;height:28px}}.ud-menu{width:180px}}@media(prefers-reduced-motion:reduce){.ud-menu{transition:none!important;animation:none!important}}.sidebar{width:56px;height:100%;background:#fff;border-right:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem 0;flex-shrink:0;.sb-logo{width:40px;height:40px;padding:4px;border-radius:12px;background:#f8fafc;object-fit:contain}.sb-nav{flex:1;width:100%;display:flex;flex-direction:column;align-items:center;gap:.5rem;min-height:0}.sb-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:50%;color:#64748b;cursor:pointer;transition:background .15s;text-decoration:none;flex-shrink:0;&:hover{background:#f8fafc}&:active{transform:scale(.95)}&.active{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);color:#0284c7}}}@media(max-width:768px){.sidebar{width:100%;height:56px;flex-direction:row;justify-content:space-between;padding:0 .75rem;border-right:none;border-bottom:1px solid rgba(0,0,0,.06);.sb-logo{width:36px;height:36px}.sb-nav{flex-direction:row;flex:1;justify-content:center;padding:0 .5rem}}}.not-found{display:flex;align-items:center;justify-content:center;flex:1;min-height:100%;padding:2rem;background:linear-gradient(to bottom,#f8fafc,#fff);perspective:1000px;.not-found-content{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:400px;.not-found-code{display:flex;gap:.5rem;margin-bottom:1.5rem;transform-style:preserve-3d;.digit{font-family:JetBrains Mono,Fira Code,SF Mono,ui-monospace,monospace;font-size:clamp(4.5rem,16vw,9rem);font-weight:800;line-height:1;letter-spacing:-.05em;background:linear-gradient(180deg,#60a5fa,#3b82f6,#2563eb);background-clip:text;-webkit-background-clip:text;color:transparent;animation:float3D 3s ease-in-out infinite;filter:drop-shadow(0 10px 30px rgba(59,130,246,.3));transition:transform .3s ease;&:hover{transform:scale(1.1) rotateY(10deg);filter:drop-shadow(0 15px 40px rgba(59,130,246,.5))}&.middle{background:linear-gradient(180deg,#3b82f6,#2563eb,#1d4ed8);background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 10px 30px rgba(59,130,246,.4));&:hover{filter:drop-shadow(0 15px 40px rgba(59,130,246,.6))}}}}.not-found-title{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 .5rem;animation:fadeUp .6s ease-out .4s both}.not-found-description{font-size:1rem;color:#64748b;margin:0 0 2rem;line-height:1.5;animation:fadeUp .6s ease-out .5s both}.not-found-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;text-decoration:none;font-weight:600;font-size:.9375rem;border-radius:.625rem;transition:all .3s ease;box-shadow:0 4px 20px #3b82f666;animation:fadeUp .6s ease-out .6s both;&:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 30px #3b82f680}&:active{transform:translateY(0) scale(.98)}}}}@media(prefers-reduced-motion:reduce){.not-found{.not-found-content{.not-found-code .digit{animation:none;&:hover{transform:none}}.not-found-title,.not-found-description,.not-found-button{animation:none}}}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInSmall{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{to{opacity:0;transform:translateY(-8px)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes errorFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ap-slideIn{0%{opacity:0;transform:translateY(-12px) scale(.98)}}@keyframes ap-slideUp{0%{opacity:0;transform:translateY(100%)}}@keyframes udSlideUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1}}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes modalSpin{to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes floatWithShadow{0%,to{transform:translateY(0);box-shadow:0 8px 24px #3b82f61f}50%{transform:translateY(-8px);box-shadow:0 16px 32px #3b82f62e}}@keyframes float3D{0%,to{transform:translateY(0) rotateX(0)}50%{transform:translateY(-12px) rotateX(5deg)}}@keyframes floatSmall{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes pulse{50%{transform:scale(1.02)}}@keyframes pulseScale{0%,to{transform:scale(1);box-shadow:0 0 #3b82f626}50%{transform:scale(1.02);box-shadow:0 0 0 8px #3b82f600}}@keyframes iconPulse{0%,to{transform:scale(1);box-shadow:0 4px 12px #dc262626}50%{transform:scale(1.05);box-shadow:0 6px 16px #dc262640}}@keyframes sleepPulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes subtle-pulse{0%,to{transform:scale(1);box-shadow:0 0 #3b82f626}50%{transform:scale(1.02);box-shadow:0 0 0 8px #3b82f600}}@keyframes dotPulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}@keyframes bounce{0%,50%,to{transform:translateY(0);opacity:.6}25%{transform:translateY(-2px);opacity:.9}}@keyframes bounceScale{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes nav-shimmer{0%{background-position:200% 0;width:0%}50%{width:70%}to{background-position:-200% 0;width:90%}}@keyframes letterFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ap-fadeIn{0%{opacity:0}}@keyframes ap-catIn{0%{opacity:0;transform:translateY(8px)}}@keyframes ap-itemIn{0%{opacity:0;transform:translate(-8px)}}@keyframes tooltip-fade-in{0%{opacity:0;transform:translateY(-.25rem) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tooltip-fade-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-.25rem) scale(.95)}}@keyframes blink{50%{opacity:0}}.selectable{-webkit-user-select:text!important;user-select:text!important;*{-webkit-user-select:text!important;user-select:text!important}}.app-layout{display:flex;height:100%;width:100%;overflow:hidden;background:#fff;position:relative;.nav-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:9999;opacity:0;pointer-events:none;transition:opacity .15s ease}.nav-progress.active{opacity:1}.nav-progress-bar{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa,#3b82f6);background-size:200% 100%;animation:nav-shimmer 1s ease-in-out infinite;box-shadow:0 0 10px #3b82f680,0 0 5px #3b82f64d}.main-content{overflow:hidden auto;-webkit-overflow-scrolling:touch;flex:1;display:flex;flex-direction:column;height:100%;position:relative;background:#fff;.login-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#fffffff2;backdrop-filter:blur(8px);z-index:100;.login-button{padding:1rem 2rem;border-radius:.75rem;background:linear-gradient(to right,#3b82f6,#2563eb);color:#fff;border:none;cursor:pointer;font-weight:600;font-size:1rem;transition:all .2s;box-shadow:0 4px 12px #3b82f64d;&:hover{background:linear-gradient(to right,#2563eb,#1d4ed8);box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}&:active{transform:translateY(0) scale(.98);box-shadow:0 2px 8px #3b82f64d}}}}}@media(max-width:768px){.app-layout{flex-direction:column}}.timeline-page{--line-x: 32px;max-width:720px;margin:0 auto;padding:clamp(1rem,2vw,1.5rem);animation:fadeIn .3s ease;width:100%;.tl-layout{display:flex;flex-direction:column;gap:1.25rem}.tl-header{display:flex;align-items:baseline;gap:.75rem;margin-bottom:1.25rem;:where(h1){margin:0;font-size:clamp(1.375rem,2.8vw,1.75rem);font-weight:700;color:#0f172a}}.tl-count{font-size:.8125rem;color:#64748b}.tl-sidebar{display:flex;flex-direction:column;gap:.5rem}.tl-btn-group{display:flex}.tl-date-nav{position:relative;display:flex;align-items:center;justify-content:space-between;gap:.25rem;padding:.375rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 2px #0000000a;transition:all .2s ease;&:where(:hover){border-color:#cbd5e1;box-shadow:0 4px 12px #0000000d}}.tl-nav-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;color:#64748b;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);&:where(:hover:not(:disabled)){color:#0f172a;background:#f1f5f9;transform:scale(1.05)}&:where(:active:not(:disabled)){transform:scale(.95);background:#e2e8f0}&:where(:disabled){opacity:.2;cursor:not-allowed}:where(svg){stroke-width:2.5px}}.tl-nav-label{flex:1;min-width:0;padding:.25rem .5rem;font-size:.875rem;font-weight:600;color:#334155;text-align:center;background:transparent;border:none;cursor:pointer;transition:all .2s;border-radius:6px;user-select:none;&:where(:not(:disabled):hover){color:#0f172a;background:#f8fafc}&:where(:disabled){color:#0f172a;cursor:default}}.tl-date-input{position:absolute;bottom:0;left:50%;transform:translate(-50%);opacity:0;pointer-events:none}.tl-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;height:36px;padding:0 .75rem;font-size:.75rem;font-weight:600;color:#475569;background:#fff;border:1px solid #e2e8f0;cursor:pointer;transition:all .15s;&:where(:first-child){flex:1;border-radius:6px 0 0 6px;border-right:none}&:where(:last-child){border-radius:0 6px 6px 0}&:where(:hover){background:#f8fafc}&:where([data-active]){background:#f59e0b;border-color:#f59e0b;color:#fff}&:where(.tl-btn-icon){padding:0 .625rem;border-left:1px solid #e2e8f0;&:not([data-active]){color:#cbd5e1}}}.tl-filters{display:flex;flex-wrap:wrap;gap:.375rem;padding:clamp(.625rem,1.2vw,.75rem);background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.chip{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:clamp(.3125rem,.6vw,.375rem) clamp(.5rem,1vw,.625rem);font-size:clamp(.6875rem,1.2vw,.75rem);font-weight:500;color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .15s;white-space:nowrap;min-width:120px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;&:where(:hover){border-color:var(--c);background:color-mix(in srgb,var(--c) 8%,white)}&:where([data-active]){background:var(--c);border-color:var(--c);color:#fff;:where(.count){background:#fff3}}:where(.chip-end){margin-left:auto;display:flex;align-items:center}:where(.count){display:none;font-size:.625rem;font-weight:600;padding:.125rem .3125rem;background:#0000000f;border-radius:99px}:where(.chip-loader){animation:spin .8s linear infinite}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tl-list{position:relative;display:flex;flex-direction:column;gap:1.5rem;padding-left:calc(var(--line-x) + 20px);&:before{content:"";position:absolute;left:var(--line-x);top:0;bottom:0;width:2px;background:#e2e8f0;transform:translate(-50%)}}.tl-group{display:flex;flex-direction:column;gap:.75rem}.tl-date{position:relative;font-size:.75rem;font-weight:600;color:#475569;padding:.375rem .625rem;background:#f1f5f9;border:none;border-radius:6px;width:fit-content;cursor:pointer;transition:background .15s;&:where(:hover){background:#e2e8f0}&:before{content:"";position:absolute;left:-20px;top:50%;width:clamp(8px,1.2vw,10px);height:clamp(8px,1.2vw,10px);background:#fff;border:2px solid #94a3b8;border-radius:50%;transform:translate(-50%,-50%);transition:background .15s}.tl-group:not(:has(.tl-item)) &:before{background:#94a3b8}}.tl-item{position:relative;display:flex;gap:.75rem;&:where(:hover) .tl-marker{transform:scale(1.1)}}.tl-marker{position:absolute;left:-32px;top:0;display:flex;align-items:center;justify-content:center;width:clamp(20px,3vw,24px);height:clamp(20px,3vw,24px);background:var(--c, #64748b);border-radius:50%;color:#fff;box-shadow:0 0 0 3px #fff,0 2px 6px #0000001a;flex-shrink:0;transition:transform .15s;:where(svg){width:clamp(10px,1.5vw,12px);height:clamp(10px,1.5vw,12px)}}.tl-body{flex:1;min-width:0;&:where([open]) .tl-chevron{transform:rotate(90deg)}}.tl-meta{display:flex;align-items:center;gap:.375rem;padding:.25rem 0;cursor:pointer;list-style:none;&::-webkit-details-marker{display:none}:where(.label){flex:1;min-width:0;font-size:.8125rem;font-weight:500;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:where(.time){display:flex;align-items:center;gap:.25rem;font-size:.5625rem;color:#94a3b8}}.tl-chevron{color:#94a3b8;transition:transform .15s}.tl-card{overflow:hidden;padding-top:.5rem}@media(max-width:640px){--line-x: 24px;.tl-list{padding-left:calc(var(--line-x) + 16px)}.tl-date:before{left:-16px}.tl-marker{left:-26px}}@media(min-width:900px){max-width:1100px;.tl-layout{display:grid;grid-template-columns:200px 1fr;gap:2rem;align-items:start}.tl-sidebar{position:sticky;top:1.5rem}.tl-filters{flex-direction:column}.chip{flex:unset;justify-content:flex-start;height:32px;:where(.count){display:inline-block;margin-left:auto}}.tl-list{min-width:0;max-width:600px}}.tl-empty{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem 1rem;color:#94a3b8;font-size:.875rem}}.settings-page{--settings-bg: #ffffff;--settings-surface: #ffffff;--settings-surface-elevated: #f0f9ff;--settings-border: #e0f2fe;--settings-border-focus: rgba(59, 130, 246, .5);--settings-text: #1e293b;--settings-text-muted: #64748b;--settings-text-soft: #94a3b8;--settings-accent: #3b82f6;--settings-accent-soft: rgba(59, 130, 246, .1);--settings-danger: #ef4444;--settings-danger-soft: rgba(239, 68, 68, .08);background:var(--settings-bg);color:var(--settings-text);font-family:system-ui,-apple-system,sans-serif;padding:clamp(1rem,2vw,1.25rem) clamp(.75rem,1.5vw,1rem) clamp(1.5rem,2.5vw,2rem);h1{font-size:clamp(1.25rem,2.2vw,1.375rem);font-weight:600;letter-spacing:-.02em;color:var(--settings-text);margin:0 0 clamp(1rem,1.8vw,1.25rem);text-align:center}&.settings-skeleton .card{max-width:400px;margin:0 auto .875rem}.auth-wall{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50dvh;text-align:center;h2{font-size:1.125rem;font-weight:500;color:var(--settings-text);margin:0 0 1rem;&:before{display:none}}button{padding:.625rem 1.25rem;background:var(--settings-accent);border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;color:#fff;cursor:pointer;&:hover{background:#2563eb}}}.card{max-width:400px;margin:0 auto .875rem;padding:clamp(.875rem,1.5vw,1rem);background:var(--settings-surface);border:1px solid var(--settings-border);border-radius:.75rem;box-shadow:0 1px 3px #0000000a;h2{font-size:clamp(.6875rem,1.2vw,.75rem);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--settings-text-muted);margin:0 0 clamp(.625rem,1vw,.75rem);display:flex;align-items:center;gap:.5rem;&:before{content:"";width:3px;height:12px;background:var(--settings-accent);border-radius:2px}}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;h2{margin:0}}.reset-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:transparent;border:none;font-size:.6875rem;font-weight:500;color:var(--settings-text-muted);cursor:pointer;white-space:nowrap;&:not(:disabled):hover{color:var(--settings-accent)}&:disabled{opacity:.4;cursor:not-allowed}}.currency-row{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;&:focus-within{border-color:var(--settings-border-focus);box-shadow:0 0 0 2px var(--settings-accent-soft)}input{flex:1;padding:.625rem .75rem;background:transparent;border:none;outline:none;font-family:SF Mono,ui-monospace,monospace;font-size:1rem;font-weight:500;letter-spacing:.08em;color:var(--settings-text);text-transform:uppercase;&::placeholder{color:var(--settings-text-soft)}}.symbol{padding-right:.75rem;font-size:1.125rem;font-weight:400;color:var(--settings-accent);min-width:1.5rem;text-align:center}}.payment-list{display:flex;flex-direction:column;gap:.5rem}.payment-item{display:flex;align-items:center;gap:.625rem;padding:.625rem .75rem;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;transition:all .15s ease;&:hover{background:#f1f5f9}&.default{background:var(--settings-accent-soft);border-color:var(--settings-accent)}svg:first-child{color:var(--settings-accent);opacity:.7;flex-shrink:0;width:16px;height:16px}span{flex:1;font-size:.875rem;font-weight:450;color:var(--settings-text)}.actions{display:flex;align-items:center;gap:.25rem}.star-btn,.delete-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:.375rem;color:var(--settings-text-soft);cursor:pointer;opacity:0;transition:all .15s ease}.star-btn{&:hover{background:#fbbf2426;color:#f59e0b}&.active{opacity:1;color:#f59e0b;&:hover{background:#fbbf2426}}}.delete-btn:hover{background:var(--settings-danger-soft);color:var(--settings-danger)}&:hover .star-btn,&:hover .delete-btn{opacity:1}}.add-form{display:flex;gap:.5rem;input{flex:1;padding:.625rem .75rem;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.875rem;color:var(--settings-text);outline:none;&::placeholder{color:var(--settings-text-soft)}&:focus{border-color:var(--settings-border-focus);box-shadow:0 0 0 2px var(--settings-accent-soft)}}button.primary{display:flex;align-items:center;justify-content:center;width:48px;padding:0;background:var(--settings-accent);border:none;border-radius:.5rem;color:#fff;cursor:pointer;&:not(:disabled):hover{background:#2563eb}&:disabled{opacity:.35;cursor:not-allowed}}}.toggle{display:flex;align-items:center;width:100%;padding:clamp(.625rem,1.2vw,.75rem);background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;gap:clamp(.625rem,1.2vw,.75rem);cursor:pointer;text-align:left;transition:all .15s ease;&:hover{background:#f1f5f9;border-color:#cbd5e1}&.active{background:var(--settings-accent-soft);border-color:var(--settings-accent)}.icon{display:flex;align-items:center;justify-content:center;width:clamp(32px,4.5vw,36px);height:clamp(32px,4.5vw,36px);background:var(--settings-accent-soft);border-radius:.5rem;color:var(--settings-accent);flex-shrink:0}&.active .icon{background:var(--settings-accent);color:#fff}.text{display:flex;flex-direction:column;gap:.125rem;flex:1;.label{font-size:.875rem;font-weight:500;color:var(--settings-text)}.desc{font-size:clamp(.625rem,1vw,.6875rem);color:var(--settings-text-muted)}}+.notice{margin:.625rem 0 0;padding:.5rem .75rem;background:linear-gradient(135deg,#3b82f614,#8b5cf614);border:1px solid rgba(59,130,246,.2);border-radius:.375rem;font-size:.6875rem;color:var(--settings-accent);font-weight:500}}}@media(max-width:480px){.payment-item .star-btn,.payment-item .delete-btn{opacity:1}}}.health-container{padding:clamp(1rem,2vw,2rem);max-width:1800px;background:var(--background);position:relative;.month-row{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;position:sticky;top:0;z-index:100;background:var(--background);padding:clamp(.75rem,.75vw,.75rem) 0 0 clamp(.75rem,.75vw,.75rem);margin-left:clamp(-2rem,-2vw,-2rem);margin-right:clamp(-2rem,-2vw,-2rem);padding-left:clamp(1rem,2vw,2rem);padding-right:clamp(1rem,2vw,2rem)}.obfuscate-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:10px;background:var(--card);border:1px solid var(--border);color:var(--muted-foreground);cursor:pointer;transition:all .15s}.obfuscate-btn:hover{background:var(--accent);color:var(--foreground)}.health-header{margin-bottom:1.5rem;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.health-title{font-size:clamp(1.5rem,2vw,2rem);font-weight:700;margin:0;color:var(--foreground)}.health-subtitle{font-size:clamp(.9rem,.95vw,.95rem);color:var(--muted-foreground);margin:0}.health-auth-wall,.health-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:60dvh;gap:1rem;padding:clamp(1rem,2vw,2rem);border-radius:24px;.icon-wrapper{width:72px;height:72px;display:flex;align-items:center;justify-content:center;margin-bottom:.5rem;border-radius:20px;background:linear-gradient(135deg,#ec48991a,#ec48990d);color:#ec4899;box-shadow:0 8px 24px #ec489926;animation:floatWithShadow 3s ease-in-out infinite}h2{font-size:clamp(1.25rem,1.5vw,1.5rem);font-weight:600;margin:0;color:var(--foreground);.highlight{color:#ec4899}}p{margin:0;max-width:320px;font-size:.9375rem;line-height:1.6;color:var(--muted-foreground)}.sign-in-btn{margin-top:1rem;display:inline-flex;align-items:center;gap:.75rem;padding:.875rem 1.75rem;font-size:.9375rem;font-weight:500;color:#fff;background:#0f172a;border:none;border-radius:99px;cursor:pointer;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:all .2s ease;&:hover{background:#1e293b;transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}&:active{transform:translateY(0)}.google-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-family:sans-serif;font-size:12px;font-weight:700;color:#0f172a;background:#fff;border-radius:50%}}.suggestions{margin-top:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;span{font-size:.8125rem;color:var(--muted-foreground);font-weight:500}.suggestion-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;code{padding:.5rem .875rem;font-size:.8125rem;font-family:inherit;color:#ec4899;background:#ec489914;border-radius:99px;border:1px solid rgba(236,72,153,.15)}}}}.health-section{margin-bottom:2rem}.section-title{display:flex;align-items:center;gap:.5rem;font-size:clamp(1.125rem,1.25vw,1.25rem);font-weight:600;margin:0 0 1rem;color:var(--foreground);svg{color:var(--muted-foreground);flex-shrink:0}}.chart-container{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:clamp(1.25rem,1.5vw,1.5rem);box-shadow:0 1px 3px #0000001a}.charts-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1rem}@media(min-width:1600px){.month-row{margin-left:-4rem;margin-right:-4rem;padding-left:4rem;padding-right:4rem}.charts-row{grid-template-columns:repeat(2,1fr);gap:1.5rem}}@media(min-width:1200px)and (max-width:1599px){.month-row{margin-left:-3rem;margin-right:-3rem;padding-left:3rem;padding-right:3rem}}@media(max-width:768px){.month-row{margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}.health-header{flex-direction:column;align-items:center;text-align:center;gap:1rem}.charts-row{grid-template-columns:1fr;gap:1rem}}}@keyframes floatWithShadow{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.analytics-container{padding:clamp(1rem,2vw,2rem);width:100%;max-width:1200px;position:relative;margin:0 auto}.attach{display:inline-block;width:120px;aspect-ratio:1;margin:0 .5rem .5rem 0;padding:0;overflow:hidden;border-radius:1rem;border:2px solid rgba(255,255,255,.8);background:transparent;cursor:pointer;box-shadow:0 4px 12px #0000001a;transition:all .2s;vertical-align:top;&:only-of-type:not(.file){width:min(100%,400px);aspect-ratio:4/3;max-height:300px}img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s}&:not(.file):hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 20px #00000026}&:hover img{transform:scale(1.08)}&:active:not(.file){transform:scale(.98)}&.file{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;width:auto;min-width:100px;max-width:180px;aspect-ratio:unset;padding:.75rem 1rem;background:#ffffff26;cursor:default;svg{opacity:.9;flex-shrink:0}.file-name{font-size:.75rem;font-weight:500;text-align:center;word-break:break-word;line-height:1.3;opacity:.9}}}.confirm-actions{display:flex;flex-direction:column;align-items:flex-end;margin-top:1rem}.confirm{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#3b82f6;color:#fff;font-size:.875rem;font-weight:600;border:1px solid rgba(255,255,255,.15);border-radius:.75rem;box-shadow:0 4px 12px #2563eb40;cursor:pointer;transition:all .2s;&:hover{background:#2563eb;transform:translateY(-2px)}&:disabled{opacity:.8;pointer-events:none}&.saved{background:#10b981;animation:pulse .6s ease-out}&.error{background:#f97316}}.hint{margin-top:.35rem;font-size:.75rem;color:#4b5563}.err-msg{display:flex;align-items:flex-start;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;max-width:280px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:.5rem;color:#dc2626;font-size:.8rem;animation:fadeIn .2s ease-out;svg{flex-shrink:0;margin-top:.1rem}}.ui-input-wrapper{position:relative;width:100%;.ui-input{padding-right:2.5rem!important}&.has-prefix{display:flex;align-items:stretch;.ui-input{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none;flex:1;min-width:0;&.has-prefix{padding-left:.5rem}}}.ui-input-prefix{display:flex;align-items:center;justify-content:center;padding:0 .625rem;background:#f1f5f9;border:1px solid #d1d5db;border-right:none;border-radius:.375rem 0 0 .375rem;color:#475569;font-size:.875rem;font-weight:500;flex-shrink:0;min-width:2.5rem}.clear-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;color:#9ca3af;flex-shrink:0;cursor:pointer;transition:color .15s;z-index:1;&:hover{color:#4b5563}}}.ui-input{display:flex;height:2.5rem;width:100%;min-width:0;box-sizing:border-box;border-radius:.375rem;border:1px solid #d1d5db;background:#fff;padding:.5rem .75rem;font-size:.875rem;transition:colors .2s;outline:none;&::file-selector-button{border:0;background:transparent;font-size:.875rem;font-weight:500}&::placeholder{color:#6b7280}&:focus-visible{outline:none;box-shadow:none}&:focus{outline:none;box-shadow:none}&:disabled{cursor:not-allowed;opacity:.5}&[type=datetime-local],&[type=date],&[type=time]{-webkit-appearance:none;appearance:none;&::-webkit-date-and-time-value{text-align:left}}@supports (-webkit-touch-callout: none){&[type=datetime-local],&[type=date],&[type=time]{min-height:2.5rem}&::-webkit-datetime-edit{padding:0;display:inline-flex;align-items:center}&::-webkit-datetime-edit-fields-wrapper{padding:0}&::-webkit-datetime-edit-text{padding:0 .25rem;color:#9ca3af}&::-webkit-datetime-edit-month-field,&::-webkit-datetime-edit-day-field,&::-webkit-datetime-edit-year-field,&::-webkit-datetime-edit-hour-field,&::-webkit-datetime-edit-minute-field{padding:.125rem;color:#111827;border-radius:.25rem;&:focus{background:#eff6ff;outline:none}}&::-webkit-calendar-picker-indicator{margin-left:auto;padding-left:.25rem;opacity:.7;cursor:pointer;&:hover{opacity:1}}}}.ui-chip-array{display:flex;flex-wrap:wrap;gap:clamp(.375rem,.75vw,.5rem);align-items:center;align-content:flex-start;padding:clamp(.25rem,.5vw,.375rem) clamp(.375rem,.75vw,.5rem);min-height:clamp(36px,5vw,42px);height:auto;max-height:clamp(300px,50vw,500px);width:100%;max-width:100%;box-sizing:border-box;border:1px solid var(--color-input, #d1d5db);border-radius:6px;background:#fff;transition:all .2s ease;overflow-y:auto;overflow-x:hidden;&:focus-within{border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}&.disabled{opacity:.6;cursor:not-allowed;background:#f9fafb}.chip{display:inline-flex;align-items:center;gap:.375rem;padding:clamp(.1875rem,.4vw,.25rem) clamp(.375rem,.75vw,.5rem);background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:16px;font-size:clamp(.6875rem,1.5vw,.8125rem);font-weight:500;color:#1e40af;min-height:clamp(26px,4vw,32px);height:auto;max-width:100%;transition:all .2s ease;flex-shrink:0;span{white-space:normal;word-break:break-word;overflow-wrap:break-word;text-align:left}}.delete{display:inline-flex;align-items:center;justify-content:center;width:clamp(16px,1.5vw,18px);height:clamp(16px,1.5vw,18px);padding:0;margin:0;margin-left:-.125rem;border:none;border-radius:50%;background:transparent;color:#3b82f6;cursor:pointer;opacity:.7;transition:all .15s ease;flex-shrink:0;&:hover{opacity:1;background:#3b82f626;color:#1e40af}&:active{transform:scale(.9)}}.input{flex:1;min-width:clamp(80px,15vw,120px);border:none!important;background:transparent!important;padding:.25rem 0!important;height:auto!important;outline:none;font-size:clamp(.75rem,1.5vw,.875rem);box-shadow:none!important;&:focus{outline:none;box-shadow:none!important}&:focus-visible{outline:none;box-shadow:none!important}&:disabled{cursor:not-allowed}}}.ui-select-trigger{display:flex;height:2.5rem;width:100%;align-items:center;justify-content:space-between;border-radius:.375rem;border:1px solid #d1d5db;background:#fff;padding:.5rem .75rem;font-size:.875rem;font-weight:500;color:#1e293b;transition:all .2s ease;outline:none;cursor:pointer;box-sizing:border-box;gap:.5rem;&:focus{outline:none;border-color:#d1d5db;box-shadow:none}&:hover{border-color:#cbd5e1}&:disabled{cursor:not-allowed;opacity:.5}&[data-placeholder]{color:#6b7280}.select-trigger-icon{display:flex;align-items:center;color:#6b7280;flex-shrink:0}.select-icon{width:1rem;height:1rem;color:#6b7280;flex-shrink:0}}.ui-select-content{position:relative;z-index:1001;max-height:300px;overflow:hidden;border-radius:.375rem;border:1px solid #e2e8f0;background:#fff;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:.25rem;&.select-content-popper{width:var(--radix-select-trigger-width);min-width:var(--radix-select-trigger-width);max-width:var(--radix-select-trigger-width);max-height:var(--radix-select-content-available-height)}.select-viewport{padding:.25rem}.select-item{position:relative;display:flex;align-items:center;padding:.5rem 2rem .5rem .75rem;font-size:.875rem;font-weight:500;color:#1e293b;cursor:pointer;outline:none;user-select:none;border-radius:.25rem;transition:background-color .15s ease;&:hover{background-color:#f3f4f6}&[data-highlighted]{background-color:#f3f4f6}&[data-disabled]{opacity:.5;cursor:not-allowed}.select-item-icon{margin-right:.5rem;display:flex;align-items:center;color:#6b7280;flex-shrink:0}}.select-item-indicator{position:absolute;right:.5rem;display:flex;align-items:center;justify-content:center;color:#3b82f6}.select-check-icon{width:1rem;height:1rem}.select-label{padding:.5rem .75rem;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.select-separator{height:1px;background-color:#e2e8f0;margin:.25rem 0}.select-scroll-button{display:none}.select-scroll-icon{width:1rem;height:1rem}}.recurrence-input{display:flex;flex-direction:column;gap:.75rem;.recurrence-end{display:flex;align-items:center;gap:.5rem;padding-left:.75rem;border-left:2px solid #e2e8f0}.recurrence-end-hint{display:inline-flex;align-items:center;gap:.25rem;margin-left:auto;padding:.25rem .5rem;font-size:.625rem;font-weight:500;color:#94a3b8;white-space:nowrap;svg{color:#cbd5e1;flex-shrink:0}}}.ui-textarea{display:flex;width:100%;border-radius:8px;border:1px solid #e2e8f0;background-color:#fff;padding:10px 12px;font-size:.875rem;line-height:1.5;color:#0f172a;font-family:inherit;resize:vertical;transition:all .2s;&::placeholder{color:#94a3b8}&:hover{border-color:#cbd5e1}&:focus{outline:none;border-color:#e2e8f0;box-shadow:none}&:disabled{cursor:not-allowed;opacity:.5;background-color:#f8fafc}}.cal-edit{--accent-color: var(--accent, #3b82f6);display:flex;background:#fff;border-radius:clamp(8px,1.5vw,12px);border:1px solid #94a3b8;overflow:hidden;&.deleting{opacity:.4;pointer-events:none}.bar{width:clamp(4px,.8vw,6px);background:var(--accent-color);flex-shrink:0}.body{flex:1;padding:clamp(.875rem,1.4vw,1.25rem) clamp(.875rem,1.6vw,1.375rem);display:flex;flex-direction:column;gap:.875rem;position:relative}.delete-btn{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:clamp(32px,5.5vw,44px);height:clamp(32px,5.5vw,44px);border:none;border-radius:0;background:transparent;color:#cbd5e1;cursor:pointer;transition:color .15s;z-index:10;&:hover{color:#dc2626}&:disabled{opacity:.3;cursor:not-allowed}}.form{display:flex;flex-direction:column;gap:.75rem}.row{display:flex;gap:clamp(.625rem,1.2vw,.75rem)}.field{flex:1;display:flex;flex-direction:column;gap:.375rem;min-width:0;label{font-size:.6875rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.05em}}.actions{display:flex;gap:.625rem;padding-top:1rem;margin-top:.5rem;border-top:1px solid #e2e8f0}.btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s;border:none;white-space:nowrap;&:disabled{opacity:.5;cursor:not-allowed}&.cancel{background:#f8fafc;color:#475569;border:1px solid #e2e8f0;&:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}}&.save{background:var(--accent-color);color:#fff;&:hover:not(:disabled){filter:brightness(.95)}}}}@media(max-width:768px){.cal-edit{.row{flex-direction:column}}}.cal-view{--accent-color: var(--accent, #3b82f6);display:flex;background:#fff;border-radius:clamp(8px,1.5vw,12px);border:1px solid #f1f5f9;min-height:clamp(90px,10vw,100px);transition:all .15s ease;cursor:pointer;overflow:hidden;&:hover{border-color:#e2e8f0;box-shadow:0 6px 16px #0000000f;.bar{width:clamp(4px,.8vw,6px)}.type-badge{background:var(--accent-color);border-color:var(--accent-color);color:#fff;:where(svg){color:#fff}}}&.deleting{opacity:.4;pointer-events:none}&.readonly{cursor:default;&:hover{box-shadow:0 4px 12px #0000000d}}.bar{width:clamp(3px,.5vw,4px);background:var(--accent-color);flex-shrink:0;transition:width .15s ease}.body{flex:1;padding:clamp(.75rem,1.2vw,1rem) clamp(.875rem,1.5vw,1.125rem);display:flex;flex-direction:column;gap:clamp(.5625rem,1vw,.75rem)}.header{display:flex;gap:clamp(.625rem,1vw,.875rem);align-items:flex-start}.date-block{display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-color) 0%,color-mix(in srgb,var(--accent-color) 85%,black) 100%);border-radius:clamp(8px,1.2vw,10px);padding:clamp(.3125rem,.6vw,.5rem) clamp(.5rem,1vw,.75rem);min-width:clamp(48px,6vw,56px);box-shadow:0 4px 12px #0000001f;flex-shrink:0;position:relative;overflow:hidden;&:before{content:"";position:absolute;top:0;left:0;right:0;height:24px;background:linear-gradient(180deg,rgba(255,255,255,.2) 0%,transparent 100%);border-radius:clamp(8px,1.2vw,10px) clamp(8px,1.2vw,10px) 0 0}.month{font-size:clamp(.5625rem,1vw,.625rem);font-weight:700;letter-spacing:.05em;color:#fffffff2;line-height:1;margin-bottom:2px}.day{font-size:clamp(1.375rem,2.2vw,1.75rem);font-weight:800;color:#fff;line-height:1;font-variant-numeric:tabular-nums}}.main{flex:1;display:flex;flex-direction:column;gap:.375rem;min-width:0}.title-row{display:flex;align-items:center;gap:.5rem;min-width:0}.title{font-size:clamp(.875rem,1.5vw,1rem);line-height:1.4;color:#0f172a;font-weight:600;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word;flex:1;min-width:0}.type-badge{display:inline-flex;align-items:center;gap:.3125rem;padding:clamp(.1875rem,.4vw,.25rem) clamp(.5rem,1vw,.625rem);background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:clamp(.625rem,1.1vw,.6875rem);font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.03em;transition:all .15s;white-space:nowrap;flex-shrink:0;:where(svg){color:var(--accent-color);flex-shrink:0}}.time{display:flex;align-items:center;gap:.3125rem;font-size:clamp(.6875rem,1.2vw,.75rem);color:#64748b;font-weight:600;:where(svg){color:var(--accent-color);flex-shrink:0}.sep{color:#cbd5e1;margin:0 .125rem}.dur{color:#475569;font-weight:700;background:#f8fafc;padding:.125rem .375rem;border-radius:4px}}.desc{font-size:clamp(.8125rem,1.4vw,.875rem);line-height:1.5;color:#475569;padding-left:clamp(58px,7.5vw,70px);margin:-.25rem 0 0;white-space:pre-wrap}.meta{display:flex;flex-wrap:wrap;gap:.5rem;padding-left:clamp(58px,7.5vw,70px);margin-top:-.125rem}.tag{display:inline-flex;align-items:center;gap:.3125rem;padding:clamp(.25rem,.5vw,.3125rem) clamp(.5rem,1vw,.625rem);background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:clamp(.625rem,1.1vw,.6875rem);font-weight:600;color:#64748b;transition:all .15s;:where(svg){color:#94a3b8;flex-shrink:0}&:hover{background:#f1f5f9;border-color:#cbd5e1}}.notes{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed #e2e8f0;display:flex;flex-direction:column;gap:.375rem;padding-left:clamp(58px,7.5vw,70px);.title{display:flex;align-items:center;gap:.25rem;color:#94a3b8;font-size:.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}:where(ul){list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.125rem}:where(li){font-size:.75rem;line-height:1.4;color:#64748b;word-break:break-word;padding-left:.875rem;position:relative;&:before{content:"•";position:absolute;left:0;color:#cbd5e1}}}}.ui-scale-selector{display:flex;flex-direction:column;gap:.3125rem;&.disabled{opacity:.5;pointer-events:none}.scale-header{display:flex;align-items:center;justify-content:space-between;gap:.625rem;:where(label){font-size:clamp(.6875rem,1.2vw,.75rem);font-weight:600;color:#64748b;letter-spacing:.01em}.scale-value{font-size:clamp(.6875rem,1.2vw,.75rem);font-weight:700;transition:color .15s}}.scale-track{display:flex;gap:clamp(.125rem,.3vw,.1875rem);padding:clamp(.1875rem,.4vw,.25rem);background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;:where(button){flex:1;aspect-ratio:1;max-height:clamp(24px,3.5vw,28px);display:flex;align-items:center;justify-content:center;border-radius:clamp(4px,.625vw,5px);border:1.5px solid transparent;background:#fff;font-size:clamp(.5rem,.9vw,.5625rem);font-weight:600;color:#94a3b8;cursor:pointer;transition:all .15s;&:hover:not(:disabled){transform:translateY(-1px);border-color:var(--block-color);color:var(--block-color)}&.active{background:var(--block-color);border-color:var(--block-color);color:#fff;font-weight:700}&:disabled{cursor:not-allowed}}}}.fc-edit{display:flex;background:#fff;border-radius:clamp(8px,1.5vw,12px);border:1px solid #94a3b8;overflow:hidden;&.deleting{opacity:.4;pointer-events:none}.bar{width:clamp(4px,.8vw,5px);background:#f97316;flex-shrink:0}.body{flex:1;padding:clamp(.875rem,1.2vw,1rem) clamp(.875rem,1.5vw,1.25rem);display:flex;flex-direction:column;gap:.875rem;position:relative}.delete-btn{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:clamp(32px,5.5vw,44px);height:clamp(32px,5.5vw,44px);border:none;border-radius:0;background:transparent;color:#cbd5e1;cursor:pointer;transition:color .15s;z-index:10;&:hover{color:#dc2626}&:disabled{opacity:.3;cursor:not-allowed}}.form{display:flex;flex-direction:column;gap:.75rem}.row{display:flex;gap:clamp(.625rem,1.2vw,.75rem)}.field{flex:1;display:flex;flex-direction:column;gap:.375rem;min-width:0;label{font-size:.6875rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.05em}}.actions{display:flex;gap:.5rem;padding-top:1rem;margin-top:.5rem;border-top:1px solid #e2e8f0}.btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s;border:none;white-space:nowrap;&:disabled{opacity:.5;cursor:not-allowed}&.cancel{background:#f8fafc;color:#475569;border:1px solid #e2e8f0;&:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}}&.save{background:#f97316;color:#fff;&:hover:not(:disabled){background:#ea580c}}}}@media(max-width:768px){.fc-edit{.row{flex-direction:column}}}.fc-view{display:flex;background:#fff;border-radius:clamp(8px,1.5vw,12px);border:1px solid #f1f5f9;min-height:clamp(70px,8vw,80px);transition:all .15s ease;cursor:pointer;overflow:hidden;&:hover{border-color:#e2e8f0;box-shadow:0 4px 12px #0000000d;.bar{width:clamp(4px,.8vw,5px)}.icon{transform:scale(1.05)}.badge.duration{background:#f97316;border-color:#f97316;color:#fff;svg{color:#fff}}.activity{background:var(--color);color:#fff;svg{color:#fff}}}&.active{border-color:#86efac;.bar{background:#22c55e}.icon{background:linear-gradient(135deg,#bbf7d0,#86efac);color:#16a34a}&:hover .icon{box-shadow:0 2px 8px #22c55e26}}&.deleting{opacity:.4;pointer-events:none}&.readonly{cursor:default;&:hover{transform:none;box-shadow:none;border-color:#f1f5f9}}.bar{width:clamp(3px,.5vw,4px);background:#f97316;flex-shrink:0;transition:width .15s ease}.body{flex:1;padding:clamp(.625rem,1.2vw,.875rem) clamp(.75rem,1.5vw,1rem);display:flex;flex-direction:column;gap:clamp(.5rem,1vw,.75rem)}.header{display:flex;align-items:center;gap:.625rem}.icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#fed7aa,#fdba74);color:#ea580c;flex-shrink:0;transition:all .15s}.time{display:inline-flex;align-items:center;gap:.25rem;font-size:clamp(.625rem,1.1vw,.6875rem);color:#94a3b8;font-weight:500}.badges{margin-left:auto;display:flex;align-items:center;gap:.375rem}.badge{display:inline-flex;align-items:center;gap:.375rem;padding:clamp(.3125rem,.6vw,.375rem) clamp(.5rem,1vw,.625rem);background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;font-size:clamp(.6875rem,1.2vw,.75rem);font-weight:600;color:#475569;transition:all .15s;white-space:nowrap;svg{color:#f97316;flex-shrink:0}&.active{background:#dcfce7;border-color:#86efac;color:#16a34a}}.activities{display:flex;flex-wrap:wrap;gap:.5rem}.activity{display:inline-flex;align-items:center;gap:.3125rem;padding:clamp(.25rem,.6vw,.4375rem) clamp(.625rem,1.2vw,.75rem);background:#f8fafc;border:1px solid var(--color);border-radius:6px;font-size:clamp(.75rem,1.3vw,.8125rem);font-weight:600;color:#0f172a;text-transform:capitalize;transition:all .15s;svg{color:var(--color);flex-shrink:0}}.empty{font-size:.9375rem;font-weight:500;color:#94a3b8;font-style:italic;margin:0}.notes{margin-top:.5rem;padding-top:.75rem;border-top:1px dashed #e2e8f0;display:flex;flex-direction:column;gap:.375rem;.title{display:flex;align-items:center;gap:.375rem;color:#94a3b8;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}:where(ul){list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}:where(li){font-size:.8125rem;line-height:1.5;color:#475569;word-break:break-word;padding-left:1.25rem;position:relative;&:before{content:"•";position:absolute;left:0;color:#cbd5e1}}}}.fd-edit{display:flex;background:#fff;border-radius:clamp(8px,1.5vw,12px);border:1px solid #94a3b8;overflow:hidden;&.deleting{opacity:.4;pointer-events:none}.bar{width:clamp(4px,.8vw,5px);background:var(--accent, #94a3b8);flex-shrink:0}.body{flex:1;padding:clamp(.875rem,1.2vw,1rem) clamp(.875rem,1.5vw,1.25rem);display:flex;flex-direction:column;gap:.875rem;position:relative}.delete-btn{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:clamp(32px,5.5vw,44px);height:clamp(32px,5.5vw,44px);border:none;border-radius:0;background:transparent;color:#cbd5e1;cursor:pointer;transition:color .15s;z-index:10;&:hover{color:#dc2626}&:disabled{opacity:.3;cursor:not-allowed}}.form{display:flex;flex-direction:column;gap:.75rem}.row{display:flex;gap:clamp(.625rem,1.2vw,.75rem)}.field{flex:1;display:flex;flex-direction:column;gap:.375rem;min-width:0;label{font-size:.6875rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.05em}}.actions{display:flex;gap:.5rem;padding-top:1rem;margin-top:.5rem;border-top:1px solid #e2e8f0}.btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s;border:none;white-space:nowrap;&:disabled{opacity:.5;cursor:not-allowed}&.cancel{background:#f8fafc;color:#475569;border:1px solid #e2e8f0;&:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}}&.save{background:var(--accent, #3b82f6);color:#fff;&:hover:not(:disabled){filter:brightness(.95)}}}}@media(max-width:768px){.fd-edit{.row{flex-direction:column}}}.fd-view{display:flex;background:#fff;border-radius:clamp(8px,1.5vw,12px);border:1px solid #f1f5f9;min-height:clamp(70px,8vw,80px);transition:all .15s ease;cursor:pointer;overflow:hidden;&:hover{border-color:#e2e8f0;box-shadow:0 4px 12px #0000000d;.bar{width:clamp(4px,.8vw,5px)}.icon{transform:scale(1.05)}.ing{background:var(--ing-color);color:#fff;:where(svg){color:#fff}}}&.deleting{opacity:.4;pointer-events:none}&.readonly{cursor:default;&:hover{transform:none;box-shadow:none;border-color:#f1f5f9}}.bar{width:clamp(3px,.5vw,4px);background:var(--accent, #94a3b8);flex-shrink:0;transition:width .15s}.body{flex:1;padding:clamp(.625rem,1.2vw,.875rem) clamp(.75rem,1.5vw,1rem);display:flex;flex-direction:column;gap:clamp(.5rem,1vw,.625rem)}.header{display:flex;align-items:center;gap:.625rem}.icon{display:flex;align-items:center;justify-content:center;width:clamp(24px,3vw,28px);height:clamp(24px,3vw,28px);border-radius:8px;background:var(--accent);color:#fff;flex-shrink:0;transition:all .15s}.info{display:flex;justify-content:space-between;flex:1}.label{font-size:clamp(.75rem,1.4vw,.875rem);font-weight:700;color:#0f172a;text-transform:capitalize}.time{display:inline-flex;align-items:center;gap:.25rem;font-size:clamp(.625rem,1.1vw,.6875rem);color:#94a3b8;font-weight:500}.desc{font-size:clamp(.8125rem,1.5vw,.9375rem);line-height:1.5;color:#0f172a;font-weight:500;margin:0;white-space:pre-wrap}.nutrition{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.5rem;border-top:1px solid #f1f5f9}.nut{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .375rem;border-radius:4px;font-size:.75rem;font-weight:700;cursor:help;:where(svg){width:14px;height:14px}&.cal{color:#d97706;:where(svg){color:#f59e0b}}&.pro{color:#2563eb;:where(svg){color:#3b82f6}}&.carb{color:#ca8a04;:where(svg){color:#eab308}}&.fat{color:#dc2626;:where(svg){color:#ef4444}}}.ingredients{display:flex;flex-wrap:wrap;gap:.5rem}.ing{display:inline-flex;align-items:center;gap:.3125rem;padding:clamp(.25rem,.6vw,.4375rem) clamp(.625rem,1.2vw,.75rem);background:#f8fafc;border:1px solid var(--ing-color);border-radius:6px;font-size:clamp(.75rem,1.3vw,.8125rem);font-weight:600;color:#0f172a;text-transform:capitalize;transition:all .15s;:where(svg){color:var(--ing-color);flex-shrink:0}}.notes{margin-top:.5rem;padding-top:.75rem;border-top:1px dashed #e2e8f0;display:flex;flex-direction:column;gap:.375rem;.title{display:flex;align-items:center;gap:.375rem;color:#94a3b8;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}:where(ul){list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}:where(li){font-size:.8125rem;line-height:1.5;color:#475569;word-break:break-word;padding-left:1.25rem;position:relative;&:before{content:"•";position:absolute;left:0;color:#cbd5e1}}}}.delete-confirm-modal{position:fixed;inset:0;background:#0f172a99;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeInBackdrop .2s ease-out;.content{background:#fff;border-radius:20px;padding:clamp(1.5rem,3vw,2rem);max-width:420px;width:100%;box-shadow:0 20px 60px #00000026,0 10px 30px #0000001a,0 0 0 1px #0000000d;animation:modalSlideUp .3s cubic-bezier(.4,0,.2,1);position:relative}.icon{display:flex;align-items:center;justify-content:center;width:clamp(56px,8vw,64px);height:clamp(56px,8vw,64px);margin:0 auto clamp(1.25rem,2vw,1.5rem);background:linear-gradient(135deg,#fee2e2,#fecaca);border-radius:16px;color:#dc2626;box-shadow:0 4px 12px #dc262626;animation:iconPulse 2s ease-in-out infinite}.title{margin:0 0 .75rem;font-size:clamp(1.25rem,2.4vw,1.5rem);font-weight:700;color:#0f172a;text-align:center;letter-spacing:-.025em}.description{margin:0 0 clamp(1.5rem,2.5vw,2rem);font-size:clamp(.875rem,1.5vw,.9375rem);color:#64748b;text-align:center;line-height:1.6}.actions{display:flex;gap:.75rem;justify-content:stretch}.button{flex:1;padding:clamp(.75rem,1.4vw,.875rem) clamp(1.25rem,2.4vw,1.5rem);font-size:clamp(.875rem,1.5vw,.9375rem);font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:.5rem;letter-spacing:.015em;&:focus{outline:none;box-shadow:0 0 0 3px #0284c733}&:disabled{opacity:.6;cursor:not-allowed;transform:none!important}}.button-cancel{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;&:hover:not(:disabled){background:#e2e8f0;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 2px 8px #00000014}&:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 4px #0000000f}}.button-confirm{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;box-shadow:0 2px 8px #dc262640;&:hover:not(:disabled){background:linear-gradient(135deg,#b91c1c,#991b1b);transform:translateY(-1px);box-shadow:0 4px 12px #dc262659}&:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #dc26264d}}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:modalSpin .6s linear infinite}}@media(max-width:480px){.delete-confirm-modal{.content{max-width:100%}.actions{flex-direction:column}}}.inv-edit{--accent: #b45309;display:flex;background:#fff;border-radius:clamp(4px,.8vw,6px);border:1px solid #a8a29e;overflow:hidden;&.deleting{opacity:.4;pointer-events:none}.bar{width:clamp(4px,.8vw,5px);background:var(--accent);flex-shrink:0}.body{flex:1;padding:clamp(.875rem,1.2vw,1rem) clamp(.875rem,1.5vw,1.25rem);display:flex;flex-direction:column;gap:.875rem;position:relative}.delete-btn{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:clamp(32px,5.5vw,44px);height:clamp(32px,5.5vw,44px);border:none;border-radius:0;background:transparent;color:#d6d3d1;cursor:pointer;transition:color .12s;z-index:10;&:hover{color:#9f1239}&:disabled{opacity:.3;cursor:not-allowed}}.form{display:flex;flex-direction:column;gap:.75rem}.row{display:flex;gap:clamp(.625rem,1.2vw,.75rem)}.field{flex:1;display:flex;flex-direction:column;gap:.375rem;min-width:0;label{font-size:.6875rem;font-weight:700;color:#57534e;text-transform:uppercase;letter-spacing:.05em}}.asset-group{border:1px solid #e7e5e4;border-radius:6px;padding:.75rem;margin:0;display:flex;flex-direction:column;gap:.625rem;legend{font-size:.75rem;font-weight:600;color:#78716c;padding:0 .375rem}&.in{border-color:#d4e9dc;background:#f8fcf9;legend{color:#166534}}&.out{border-color:#f0dbd9;background:#fdfaf9;legend{color:#9f1239}}&.fee{border-color:#e7e5e4;background:#fafaf9;legend{color:#78716c}}}.actions{display:flex;gap:.5rem;padding-top:1rem;margin-top:.5rem;border-top:1px solid #e7e5e4}.btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem 1rem;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .12s;border:none;white-space:nowrap;&:disabled{opacity:.5;cursor:not-allowed}&.cancel{background:#fafaf9;color:#57534e;border:1px solid #e7e5e4;&:hover:not(:disabled){background:#f5f5f4;border-color:#d6d3d1}}&.save{background:var(--accent);color:#fff;&:hover:not(:disabled){background:#92400e}}}}@media(max-width:768px){.inv-edit{.row{flex-direction:column}}}.inv-view{--accent: #b45309;display:flex;background:#fff;border-radius:clamp(4px,.8vw,6px);border:1px solid #e8e5e1;min-height:clamp(70px,8vw,80px);transition:all .12s ease;cursor:pointer;overflow:hidden;&:hover{border-color:#d6d3cd;box-shadow:0 2px 8px #0000000a;.bar{width:clamp(4px,.8vw,5px)}}&.deleting{opacity:.4;pointer-events:none}&.readonly{cursor:default;&:hover{transform:none;box-shadow:none;border-color:#e8e5e1}}.bar{width:clamp(3px,.5vw,4px);background:var(--accent);flex-shrink:0;transition:width .12s}.body{flex:1;padding:clamp(.625rem,1.1vw,.875rem) clamp(.75rem,1.3vw,1rem);display:flex;flex-direction:column;gap:clamp(.5rem,1vw,.75rem)}.header{display:flex;align-items:center;gap:.625rem}.icon{display:flex;align-items:center;justify-content:center;width:clamp(28px,3.5vw,32px);height:clamp(28px,3.5vw,32px);border-radius:clamp(4px,.8vw,6px);flex-shrink:0;transition:all .12s;background:#fdf8f3;border:1px solid #f5ebe0;color:#92400e}.info{flex:1;display:flex;flex-direction:column;gap:.125rem}.time{display:inline-flex;align-items:center;gap:.25rem;font-size:clamp(.6875rem,1.2vw,.75rem);color:#78716c;font-weight:400;letter-spacing:-.01em}.exchange{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.arrow{color:#a8a29e;flex-shrink:0}.asset{display:inline-flex;align-items:baseline;gap:.25rem;padding:.375rem .75rem;border-radius:4px;font-weight:500;.amount{font-size:clamp(.9375rem,2vw,1.125rem);font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.02em}.name{font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;font-weight:500}&.out{background:#fdf4f3;border:1px solid #fce8e6;color:#9f1239}&.in{background:#f4faf6;border:1px solid #e6f4eb;color:#166534}}.meta{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.125rem}.item{display:inline-flex;align-items:center;gap:.25rem;padding:clamp(.1875rem,.4vw,.25rem) clamp(.375rem,.75vw,.5rem);background:#fafaf9;border:1px solid #f0efed;border-radius:4px;font-size:clamp(.625rem,1.1vw,.6875rem);font-weight:500;color:#57534e;:where(svg){color:#a8a29e;flex-shrink:0}&.fee{background:#fdf8f6;border-color:#f5e6e1;color:#9a3412}}.notes{margin-top:.375rem;padding-top:.625rem;border-top:1px solid #f0efed;display:flex;flex-direction:column;gap:.375rem;.title{display:flex;align-items:center;gap:.375rem;color:#a8a29e;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}:where(ul){list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}:where(li){font-size:.8125rem;line-height:1.5;color:#57534e;word-break:break-word;padding-left:1rem;position:relative;&:before{content:"•";position:absolute;left:0;color:#d6d3d1}}}}.jc-edit{display:flex;background:#fff;border-radius:clamp(10px,1.5vw,12px);border:1px solid #e2e8f0;box-shadow:0 8px 24px -4px #00000014;overflow:hidden;transition:all .2s cubic-bezier(.4,0,.2,1);--category-color: #8b5cf6;&:hover{border-color:color-mix(in srgb,var(--category-color),transparent 70%);box-shadow:0 12px 32px -8px color-mix(in srgb,var(--category-color),transparent 90%)}&.deleting{opacity:.4;pointer-events:none}.bar{width:clamp(4px,.8vw,6px);background:var(--category-color);flex-shrink:0}.body{flex:1;padding:clamp(1rem,1.6vw,1.25rem) clamp(1.125rem,1.8vw,1.375rem);display:flex;flex-direction:column;gap:clamp(.75rem,1.3vw,1rem);position:relative}.delete-btn{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:clamp(28px,4vw,32px);height:clamp(28px,4vw,32px);border-radius:clamp(6px,1vw,8px);border:none;background:#fef2f2;color:#dc2626;cursor:pointer;transition:all .15s;&:hover{background:#dc2626;color:#fff}&:disabled{opacity:.5;cursor:not-allowed}}.form{display:flex;flex-direction:column;gap:1rem}.form-header{display:flex;align-items:center;gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid #f1f5f9;span{font-size:clamp(.9375rem,1.6vw,1rem);font-weight:600;color:#1e293b}}.form-icon{display:flex;align-items:center;justify-content:center;width:clamp(32px,4vw,36px);height:clamp(32px,4vw,36px);border-radius:clamp(8px,1.2vw,10px);background:color-mix(in srgb,var(--category-color),white 90%);color:var(--category-color);svg{width:clamp(16px,2vw,18px);height:clamp(16px,2vw,18px)}}.field{display:flex;flex-direction:column;gap:.5rem}.row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.625rem,1vw,.75rem)}label{display:flex;align-items:center;gap:.375rem;font-size:clamp(.6875rem,1.2vw,.75rem);font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;.label-icon{color:var(--category-color)}}.category-grid{display:flex;flex-wrap:wrap;gap:.5rem}.category-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:clamp(.375rem,.6vw,.5rem);padding:clamp(.375rem,.8vw,.5rem) clamp(.625rem,1vw,.75rem);white-space:nowrap;border-radius:8px;border:1.5px solid #e2e8f0;background:#fff;font-size:clamp(.75rem,1.3vw,.8125rem);font-weight:500;cursor:pointer;transition:all .15s;&:hover:not(.active){border-color:#cbd5e1;background:#f8fafc}&.active{box-shadow:0 4px 12px -2px #0000001a}}.actions{display:flex;gap:.625rem;padding-top:1rem;border-top:1px solid #f1f5f9}.btn{flex:1;padding:clamp(.625rem,1vw,.75rem) clamp(1rem,1.6vw,1.25rem);border-radius:8px;font-size:clamp(.8125rem,1.4vw,.875rem);font-weight:600;cursor:pointer;border:none;transition:all .15s;display:flex;align-items:center;justify-content:center;&:active{transform:scale(.98)}&.cancel{background:#f1f5f9;color:#475569;&:hover{background:#e2e8f0;color:#1e293b}}&.save{background:var(--category-color);color:#fff;&:hover{background:color-mix(in srgb,var(--category-color),black 10%);box-shadow:0 4px 12px color-mix(in srgb,var(--category-color),transparent 70%)}}}}@media(max-width:480px){.jc-edit{.row{grid-template-columns:1fr}}}.jc-view{display:flex;background:#fff;border-radius:12px;border:1px solid #f1f5f9;min-height:clamp(80px,10vw,100px);transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;overflow:hidden;position:relative;--category-color: #8b5cf6;&:hover{border-color:color-mix(in srgb,var(--category-color),white 20%);box-shadow:0 8px 20px -4px color-mix(in srgb,var(--category-color),transparent 88%),0 4px 8px -2px color-mix(in srgb,var(--category-color),transparent 92%);transform:translateY(-1px);.bar{width:clamp(4px,.8vw,6px);opacity:1}.icon{background:var(--category-color);color:#fff;transform:scale(1.05) rotate(-5deg);box-shadow:0 4px 12px color-mix(in srgb,var(--category-color),transparent 80%)}.badge.secondary{background:#f5f3ff;border-color:#ddd6fe;color:#7c3aed;&:hover{transform:scale(1.15);background:#8b5cf6;border-color:#8b5cf6;color:#fff;z-index:2}}}&.deleting{opacity:.4;pointer-events:none;transform:scale(.98)}&.readonly{cursor:default;&:hover{transform:none;box-shadow:0 2px 8px #8b5cf60f;.icon{transform:none}}}.bar{width:clamp(4px,.6vw,4px);background:var(--category-color);flex-shrink:0;transition:all .2s ease;opacity:.8}.body{flex:1;padding:clamp(1rem,1.8vw,1.125rem) clamp(1rem,2vw,1.25rem);display:flex;flex-direction:column;gap:clamp(.75rem,1.4vw,.875rem);min-width:0}.header{display:flex;align-items:center;gap:.75rem;height:clamp(32px,4.5vw,36px)}.icon{display:flex;align-items:center;justify-content:center;width:clamp(32px,4.5vw,36px);height:clamp(32px,4.5vw,36px);border-radius:clamp(8px,1.25vw,10px);svg{width:clamp(16px,2vw,18px);height:clamp(16px,2vw,18px)}background:color-mix(in srgb,var(--category-color),white 90%);color:var(--category-color);flex-shrink:0;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.time{display:inline-flex;align-items:center;gap:.375rem;font-size:clamp(.6875rem,1.2vw,.75rem);color:#94a3b8;font-weight:500;letter-spacing:.01em;svg{color:#cbd5e1;transition:color .2s}}&:hover .time svg{color:var(--category-color)}.badges{margin-left:auto;display:flex;align-items:center;gap:.25rem;padding-left:.5rem}.badge.secondary{display:inline-flex;align-items:center;justify-content:center;width:clamp(24px,3.25vw,26px);height:clamp(24px,3.25vw,26px);flex-shrink:0;border-radius:50%;border:clamp(1.5px,.25vw,2px) solid #fff;background:#f1f5f9;color:#94a3b8;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 1px 2px #0000000d;svg{width:14px;height:14px;min-width:14px;min-height:14px}&.count{font-size:.65rem;font-weight:700;letter-spacing:-.02em}}.title{font-size:clamp(1rem,1.7vw,1.0625rem);font-weight:600;color:#1e293b;margin:0;line-height:1.4;letter-spacing:-.01em}.content{display:flex;flex-direction:column;gap:.5rem}.text{font-size:.9375rem;line-height:1.6;color:#475569;margin:0;white-space:pre-wrap;word-wrap:break-word}.empty{font-size:.875rem;color:#cbd5e1;font-style:italic;margin:0}.feelings-tag{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#fff;border:1px solid #e2e8f0;border-radius:20px;font-size:.75rem;color:#64748b;font-weight:500;width:fit-content;transition:all .2s;svg{color:#94a3b8}}&:hover .feelings-tag{background:color-mix(in srgb,var(--category-color),white 95%);border-color:color-mix(in srgb,var(--category-color),white 70%);color:var(--category-color);svg{color:var(--category-color)}}.notes{margin-top:.5rem;padding-top:.75rem;border-top:1px dashed #f1f5f9;.notes-title{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}:where(ul){list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.375rem}:where(li){font-size:.8125rem;line-height:1.5;color:#64748b;padding-left:1rem;position:relative;white-space:pre-wrap;word-wrap:break-word;&:before{content:"";position:absolute;left:.25rem;top:.5rem;width:4px;height:4px;border-radius:50%;background:#cbd5e1;transition:background .2s}}}&:hover .notes li:before{background:var(--category-color)}}.loc-edit{--accent: #3b82f6;display:flex;background:#fff;border-radius:clamp(8px,1.5vw,12px);border:1px solid #94a3b8;overflow:hidden;&.deleting{opacity:.4;pointer-events:none}.bar{width:clamp(4px,.8vw,5px);background:var(--accent);flex-shrink:0}.body{flex:1;padding:clamp(.875rem,1.2vw,1rem) clamp(.875rem,1.5vw,1.25rem);display:flex;flex-direction:column;gap:.875rem;position:relative}.delete-btn{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:clamp(32px,5.5vw,44px);height:clamp(32px,5.5vw,44px);border:none;border-radius:0;background:transparent;color:#cbd5e1;cursor:pointer;transition:color .15s;z-index:10;&:hover{color:#dc2626}&:disabled{opacity:.3;cursor:not-allowed}}.form{display:flex;flex-direction:column;gap:.75rem}.row{display:flex;gap:clamp(.625rem,1.2vw,.75rem)}.field{flex:1;display:flex;flex-direction:column;gap:.375rem;min-width:0;label{font-size:.6875rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.05em}}.actions{display:flex;gap:.5rem;padding-top:1rem;margin-top:.5rem;border-top:1px solid #e2e8f0}.btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s;border:none;white-space:nowrap;&:disabled{opacity:.5;cursor:not-allowed}&.cancel{background:#f8fafc;color:#475569;border:1px solid #e2e8f0;&:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}}&.save{background:var(--accent);color:#fff;&:hover:not(:disabled){filter:brightness(.95)}}}}@media(max-width:768px){.loc-edit{.row{flex-direction:column}}}.loc-view{--accent: #3b82f6;display:flex;background:#fff;border-radius:clamp(8px,1.5vw,12px);border:1px solid #f1f5f9;min-height:clamp(70px,8vw,80px);transition:all .15s ease;cursor:pointer;overflow:hidden;&:hover{border-color:#e2e8f0;box-shadow:0 4px 12px #0000000d;.bar{width:clamp(4px,.8vw,5px)}.icon{transform:scale(1.05);background:linear-gradient(135deg,#bfdbfe,#93c5fd)}.badge{background:var(--accent);border-color:var(--accent);color:#fff;:where(svg){color:#fff}}}&.deleting{opacity:.4;pointer-events:none}&.readonly{cursor:default;&:hover{transform:none;box-shadow:none;border-color:#f1f5f9}}.bar{width:clamp(3px,.5vw,4px);background:var(--accent);flex-shrink:0;transition:width .15s}.body{flex:1;padding:clamp(.625rem,1.2vw,.875rem) clamp(.75rem,1.5vw,1rem);display:flex;flex-direction:column;gap:clamp(.5rem,1vw,.625rem)}.header{display:flex;align-items:center;gap:.625rem}.icon{display:flex;align-items:center;justify-content:center;width:clamp(24px,3vw,28px);height:clamp(24px,3vw,28px);border-radius:8px;flex-shrink:0;transition:all .15s;background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb}.info{flex:1;display:flex;flex-direction:column;gap:.125rem}.name{font-size:clamp(1rem,2vw,1.25rem);font-weight:700;line-height:1.2;letter-spacing:-.02em;color:#0f172a}.time{display:inline-flex;align-items:center;gap:.25rem;font-size:clamp(.625rem,1.1vw,.6875rem);color:#94a3b8;font-weight:500}.badge{display:inline-flex;align-items:center;gap:.375rem;padding:clamp(.3125rem,.6vw,.375rem) clamp(.5rem,1vw,.625rem);background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;font-size:clamp(.6875rem,1.2vw,.75rem);font-weight:600;color:#475569;text-transform:capitalize;flex-shrink:0;transition:all .15s;white-space:nowrap;:where(svg){color:var(--accent);flex-shrink:0}}.meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.125rem}.item{display:inline-flex;align-items:center;gap:.3125rem;padding:clamp(.1875rem,.4vw,.25rem) clamp(.375rem,.75vw,.5rem);background:#f8fafc;border-radius:6px;font-size:clamp(.625rem,1.1vw,.6875rem);font-weight:500;color:#64748b;:where(svg){color:#94a3b8;flex-shrink:0}}.notes{margin-top:.5rem;padding-top:.75rem;border-top:1px dashed #e2e8f0;display:flex;flex-direction:column;gap:.375rem;.title{display:flex;align-items:center;gap:.375rem;color:#94a3b8;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}:where(ul){list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}:where(li){font-size:.8125rem;line-height:1.5;color:#475569;word-break:break-word;padding-left:1.25rem;position:relative;&:before{content:"•";position:absolute;left:0;color:#cbd5e1}}}}.mc-edit{display:flex;background:#fff;border-radius:clamp(8px,1.5vw,12px);border:1px solid #cbd5e1;box-shadow:0 8px 24px #00000014;overflow:hidden;&.deleting{opacity:.4;pointer-events:none}.bar{width:clamp(4px,.8vw,5px);background:#06b6d4;flex-shrink:0}.body{flex:1;padding:clamp(.875rem,1.4vw,1.125rem) clamp(.875rem,1.6vw,1.25rem);display:flex;flex-direction:column;gap:clamp(.625rem,1.2vw,.75rem);position:relative}.delete-btn{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:clamp(32px,6vw,48px);height:clamp(32px,6vw,48px);border:none;border-radius:0;background:transparent;color:#cbd5e1;cursor:pointer;transition:color .15s;z-index:10;opacity:.7;&:hover{color:#dc2626}&:disabled{opacity:.3;cursor:not-allowed}}.form{display:flex;flex-direction:column;gap:.875rem}.row{display:flex;gap:clamp(.625rem,1.2vw,.75rem)}.field{flex:1;display:flex;flex-direction:column;gap:.375rem;min-width:0;label{font-size:.6875rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.05em}}.actions{display:flex;gap:clamp(.5rem,.8vw,.625rem);padding-top:1rem;margin-top:1rem;border-top:1px solid #e2e8f0}.btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s;border:none;white-space:nowrap;&:disabled{opacity:.5;cursor:not-allowed}&.cancel{background:#f8fafc;color:#475569;border:1px solid #e2e8f0;&:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}&:active:not(:disabled){background:#e2e8f0}}&.save{background:#06b6d4;color:#fff;box-shadow:0 1px 3px #0000001a;&:hover:not(:disabled){background:#0891b2;box-shadow:0 4px 12px #06b6d440;transform:translateY(-1px)}&:active:not(:disabled){transform:translateY(0)}}}}@media(max-width:768px){.mc-edit{.row{flex-direction:column}}}.mc-view{display:flex;background:#fff;border-radius:clamp(10px,1.5vw,12px);border:1px solid #f1f5f9;min-height:clamp(60px,7vw,70px);transition:all .15s ease;cursor:pointer;overflow:hidden;&:hover{border-color:#e2e8f0;box-shadow:0 4px 12px #0000000d;.bar{width:clamp(4px,.8vw,5px)}.icon{transform:scale(1.05)}.value-badge{background:var(--m-color);border-color:var(--m-color);.value,.unit{color:#fff}}}&.deleting{opacity:.4;pointer-events:none}&.readonly{cursor:default;&:hover{transform:none;box-shadow:none;border-color:#f1f5f9}}.bar{width:clamp(3px,.5vw,4px);background:var(--m-color);flex-shrink:0;transition:all .15s}.body{flex:1;padding:clamp(.625rem,1.2vw,.875rem) clamp(.75rem,1.5vw,1rem);display:flex;flex-direction:column;gap:clamp(.5rem,1vw,.75rem)}.header{display:flex;align-items:center;gap:.625rem}.icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:color-mix(in srgb,var(--m-color) 15%,white);color:var(--m-color);flex-shrink:0;transition:all .15s}.info{display:flex;flex-direction:column;gap:.125rem;flex:1;min-width:0}.type{font-size:clamp(.8125rem,1.4vw,.875rem);font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.time{font-size:.6875rem;color:#64748b;font-weight:500}.value-badge{display:flex;align-items:baseline;gap:.25rem;padding:clamp(.375rem,.8vw,.5rem) clamp(.625rem,1.2vw,.75rem);background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;transition:all .15s}.value{font-size:clamp(.9375rem,1.8vw,1.125rem);font-weight:700;color:var(--m-color);font-variant-numeric:tabular-nums}.unit{font-size:.75rem;font-weight:600;color:#64748b}.notes{margin-top:.5rem;padding-top:.75rem;border-top:1px dashed #e2e8f0;display:flex;flex-direction:column;gap:.375rem;.heading{display:flex;align-items:center;gap:.375rem;font-weight:600;color:#94a3b8;font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;:where(svg){flex-shrink:0}}:where(ul){list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}:where(li){font-size:.8125rem;line-height:1.5;color:#475569;word-break:break-word;padding-left:1.25rem;position:relative;&:before{content:"•";position:absolute;left:.25rem;color:#cbd5e1}}}}.med-edit{--accent: #6366f1;display:flex;background:#fff;border-radius:clamp(8px,1.5vw,12px);border:1px solid #94a3b8;overflow:hidden;&.deleting{opacity:.4;pointer-events:none}.bar{width:clamp(4px,.8vw,5px);background:var(--accent);flex-shrink:0}.body{flex:1;padding:clamp(.875rem,1.2vw,1rem) clamp(.875rem,1.5vw,1.25rem);display:flex;flex-direction:column;gap:.875rem;position:relative}.delete-btn{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:clamp(32px,5.5vw,44px);height:clamp(32px,5.5vw,44px);border:none;border-radius:0;background:transparent;color:#cbd5e1;cursor:pointer;transition:color .15s;z-index:10;&:hover{color:#dc2626}&:disabled{opacity:.3;cursor:not-allowed}}.form{display:flex;flex-direction:column;gap:.75rem}.row{display:flex;gap:clamp(.625rem,1.2vw,.75rem)}.field{flex:1;display:flex;flex-direction:column;gap:.375rem;min-width:0;label{font-size:.6875rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.05em}}.actions{display:flex;gap:.5rem;padding-top:1rem;margin-top:.5rem;border-top:1px solid #e2e8f0}.btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s;border:none;white-space:nowrap;&:disabled{opacity:.5;cursor:not-allowed}&.cancel{background:#f8fafc;color:#475569;border:1px solid #e2e8f0;&:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}}&.save{background:var(--accent);color:#fff;&:hover:not(:disabled){filter:brightness(.9)}}}}@media(max-width:768px){.med-edit{.row{flex-direction:column}}}.med-view{--accent: #6366f1;display:flex;background:#fff;border-radius:clamp(8px,1.5vw,12px);border:1px solid #f1f5f9;transition:all .15s ease;cursor:pointer;overflow:hidden;&:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;.bar{width:clamp(4px,.8vw,5px)}}&.deleting{opacity:.5;pointer-events:none}&.readonly{cursor:default;&:hover{transform:none;box-shadow:none}}.bar{width:clamp(3px,.5vw,4px);background:var(--accent);flex-shrink:0;transition:width .15s}.body{flex:1;padding:clamp(.75rem,1.2vw,1rem) clamp(.75rem,1.2vw,1rem) clamp(.75rem,1.2vw,1rem) clamp(.875rem,1.5vw,1.25rem);display:flex;flex-direction:column;gap:clamp(.5rem,1vw,.625rem)}.header{display:flex;align-items:center;gap:.625rem}.icon{display:flex;align-items:center;justify-content:center;width:clamp(28px,3.5vw,32px);height:clamp(28px,3.5vw,32px);border-radius:clamp(6px,1vw,8px);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);flex-shrink:0}.time{display:inline-flex;align-items:center;gap:.25rem;font-size:clamp(.6875rem,1.2vw,.75rem);color:#6b7280}.badge{margin-left:auto;padding:.25rem .625rem;border-radius:20px;font-size:clamp(.6875rem,1.2vw,.75rem);font-weight:500;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);white-space:nowrap}.title{font-size:clamp(.875rem,1.5vw,1rem);font-weight:600;color:#111827;margin:0;line-height:1.4}.details{display:flex;flex-direction:column;gap:.375rem;padding:.5rem .75rem;background:#f9fafb;border-radius:8px}.detail{display:flex;gap:.5rem;font-size:clamp(.8125rem,1.4vw,.875rem)}.lbl{font-weight:500;color:#6b7280}.val{color:#111827}.recurrence{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:#f3f4f6;border-radius:6px;font-size:clamp(.6875rem,1.2vw,.75rem);color:#6b7280;cursor:help;width:fit-content}.notes{margin-top:.5rem;padding-top:.75rem;border-top:1px dashed #e2e8f0;display:flex;flex-direction:column;gap:.375rem;.notes-title{display:flex;align-items:center;gap:.375rem;color:#94a3b8;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}:where(ul){list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}:where(li){font-size:.8125rem;line-height:1.5;color:#475569;word-break:break-word;padding-left:1.25rem;position:relative;&:before{content:"•";position:absolute;left:0;color:#cbd5e1}}}}.nc-edit{display:flex;background:#fff;border-radius:clamp(10px,1.5vw,12px);border:1px solid #fdba74;box-shadow:0 8px 24px #fb923c1a;overflow:hidden;&.deleting{opacity:.4;pointer-events:none}.bar{width:clamp(4px,.8vw,6px);background:linear-gradient(180deg,#f59e0b,#b45309);flex-shrink:0}.body{flex:1;padding:clamp(1rem,1.6vw,1.25rem) clamp(1.125rem,1.8vw,1.375rem);display:flex;flex-direction:column;gap:clamp(.75rem,1.3vw,1rem)}.readonly{display:flex;flex-direction:column;gap:.75rem;padding:.5rem 0}.section{display:flex;flex-direction:column;gap:.5rem}.label{font-size:clamp(.6875rem,1.2vw,.75rem);font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.value{font-size:clamp(.8125rem,1.4vw,.875rem);color:#334155;line-height:1.5;white-space:pre-wrap;margin:0}.empty{font-size:.875rem;color:#94a3b8;font-style:italic;margin:0}:where(ul){list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.375rem}:where(li){font-size:clamp(.8125rem,1.4vw,.875rem);line-height:1.5;color:#475569;padding-left:1.25rem;position:relative;white-space:pre-wrap;&:before{content:"•";position:absolute;left:.375rem;color:#f59e0b;font-weight:700}}.actions{display:flex;gap:.625rem;padding-top:.75rem;border-top:1px solid #f1f5f9}.btn{flex:1;padding:clamp(.625rem,1vw,.75rem) clamp(1rem,1.6vw,1.25rem);border-radius:8px;font-size:clamp(.8125rem,1.4vw,.875rem);font-weight:600;cursor:pointer;border:none;transition:all .15s;&:active{transform:scale(.98)}&.cancel{background:#f1f5f9;color:#475569;&:hover{background:#e2e8f0;color:#1e293b}}&.delete{display:flex;align-items:center;justify-content:center;gap:.5rem;background:#dc2626;color:#fff;&:hover{background:#b91c1c;box-shadow:0 4px 12px #dc262640}&:disabled{opacity:.5;cursor:not-allowed}}}}.nc-view{display:flex;background:#fff;border-radius:clamp(10px,1.5vw,12px);border:1px solid #f1f5f9;min-height:clamp(90px,10vw,100px);transition:all .15s ease;cursor:pointer;overflow:hidden;&:hover{border-color:#fed7aa;box-shadow:0 4px 12px #fb923c1a;.bar{width:clamp(4px,.8vw,6px)}.icon{background:linear-gradient(135deg,#fb923c,#f97316);color:#fff;transform:scale(1.05)}.badge{background:#f59e0b;border-color:#f59e0b;color:#fff;:where(svg){color:#fff}}}&.deleting{opacity:.4;pointer-events:none}&.readonly{cursor:default;&:hover{transform:none;box-shadow:0 2px 8px #fb923c0f}}.bar{width:clamp(3px,.5vw,4px);background:linear-gradient(180deg,#f59e0b,#b45309);flex-shrink:0;transition:all .2s ease}.body{flex:1;padding:clamp(.75rem,1.2vw,1rem) clamp(.875rem,1.5vw,1.125rem);display:flex;flex-direction:column;gap:clamp(.625rem,1vw,.75rem)}.header{display:flex;align-items:center;gap:.625rem}.icon{display:flex;align-items:center;justify-content:center;width:clamp(32px,4vw,36px);height:clamp(32px,4vw,36px);border-radius:clamp(8px,1.2vw,10px);background:linear-gradient(135deg,#fed7aa,#fdba74);color:#f59e0b;flex-shrink:0;transition:all .2s}.time{display:inline-flex;align-items:center;gap:.25rem;font-size:clamp(.6875rem,1.2vw,.75rem);color:#64748b;font-weight:500;:where(svg){color:#fb923c}}.badge{margin-left:auto;display:inline-flex;align-items:center;gap:.375rem;padding:clamp(.3125rem,.6vw,.375rem) clamp(.625rem,1vw,.75rem);border-radius:8px;border:1.5px solid #fb923c;background:transparent;font-size:clamp(.6875rem,1.2vw,.75rem);font-weight:600;color:#f59e0b;transition:all .15s;:where(svg){color:#f59e0b}}.content{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.text{font-size:clamp(.875rem,1.5vw,.9375rem);line-height:1.6;color:#334155;margin:0;white-space:pre-wrap;word-wrap:break-word}.empty{font-size:.875rem;color:#94a3b8;font-style:italic;margin:0}:where(ul){list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.375rem}:where(li){font-size:clamp(.8125rem,1.4vw,.875rem);line-height:1.5;color:#475569;padding-left:1.25rem;position:relative;white-space:pre-wrap;word-wrap:break-word;&:before{content:"•";position:absolute;left:.375rem;color:#f59e0b;font-weight:700}}.tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.5rem;padding-top:.5rem;border-top:1px dashed #e2e8f0}.tag{padding:.25rem .625rem;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;font-size:.6875rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.02em}.combined-message{display:flex;align-items:flex-start;gap:.5rem;margin-top:.5rem;padding:clamp(.375rem,.8vw,.5rem) clamp(.625rem,1vw,.75rem);background:#fefce8;border-left:2px solid #fbbf24;border-radius:0 6px 6px 0;font-size:clamp(.6875rem,1.2vw,.75rem);color:#92400e;line-height:1.5;:where(svg){flex-shrink:0;margin-top:.125rem;color:#f59e0b}:where(span){font-style:italic;word-wrap:break-word;overflow-wrap:break-word}}}.sub-targets-editor{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem;:where(header){display:flex;align-items:center;gap:.75rem;padding:0 .25rem;font-size:.75rem;:where(label){font-size:.8125rem;font-weight:600;color:#44403c;text-transform:uppercase;letter-spacing:.02em;margin-right:auto}.allocated{font-weight:600;color:#0ea5e9;&.over{color:#ef4444}}.remaining{color:#78716c}}.progress{height:4px;background:#f5f5f4;border-radius:99px;overflow:hidden;margin-top:-.5rem;:where(div){height:100%;background:#0ea5e9;border-radius:99px;transition:width .3s ease;&.over{background:#ef4444}}}.list{display:flex;flex-direction:column;gap:1px;background:#e7e5e4;border-radius:.5rem;overflow:hidden;border:1px solid #e7e5e4}.item{display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;column-gap:.75rem;padding:.75rem;background:#fff;&:has(.checkbox.checked){background:#fafaf9;.name,.amount{opacity:.5}.name{text-decoration:line-through}}&.notes-open{background:#fafaf9}}.checkbox{width:20px;height:20px;border-radius:4px;border:2px solid #d6d3d1;display:flex;align-items:center;justify-content:center;background:#fff;color:#fff;cursor:pointer;padding:0;transition:all .1s;&:hover{border-color:#16a34a}&.checked{background:#16a34a;border-color:#16a34a}}.name{min-width:100px;border:none;background:transparent;font-size:.875rem;color:#1c1917;padding:0;&::placeholder{color:#a8a29e}&:focus{outline:none}}.amount{display:flex;align-items:center;background:#f5f5f4;border-radius:.375rem;padding:.25rem .5rem;&:focus-within{background:#fff;box-shadow:0 0 0 1px #0ea5e9,0 0 0 3px #0ea5e91a}:where(span){font-size:.75rem;color:#78716c;font-weight:500;margin-left:.25rem}:where(input){background:transparent;border:none;width:60px;font-size:.8125rem;font-weight:500;color:#44403c;padding:0;text-align:right;appearance:textfield;-moz-appearance:textfield;&:focus{outline:none}&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none}}}.delete{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:#a8a29e;border-radius:.375rem;cursor:pointer;padding:0;&:hover{background:#fee2e2;color:#ef4444}}.notes-toggle{display:flex;align-items:center;gap:.125rem;padding:.25rem .375rem;border:none;background:transparent;color:#a8a29e;border-radius:.375rem;cursor:pointer;.chevron{transition:transform .2s ease}&:hover{background:#fef3c7;color:#d97706}&.has-notes{color:#d97706}&.expanded{background:#fef3c7;color:#d97706;.chevron{transform:rotate(180deg)}}}.notes-section{grid-column:1 / -1;display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease;&.expanded{grid-template-rows:1fr}}.notes-wrapper{overflow:hidden;display:flex;flex-direction:column;gap:.75rem;padding:0}.notes-section.expanded .notes-wrapper{padding:.75rem 0 .25rem}.field-row{display:flex;gap:.75rem;padding:0 .25rem}.field{flex:1;display:flex;flex-direction:column;gap:.375rem;min-width:0;:where(label){font-size:.6875rem;font-weight:700;color:#57534e;text-transform:uppercase;letter-spacing:.05em}}.notes-input{margin:0 .25rem;border:none;background:transparent;padding:0;min-height:unset;max-height:unset;gap:.375rem;&:focus-within{box-shadow:none}.chip{background:#f5f5f4;border:none;border-radius:4px;padding:.1875rem .5rem;min-height:unset;font-size:.75rem;color:#57534e}.delete{width:14px;height:14px;color:#a8a29e;opacity:0;&:hover{background:transparent;color:#ef4444}}.chip:hover .delete{opacity:1}.input{font-size:.75rem;min-width:70px}}.add{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.625rem;border:1px dashed #d6d3d1;border-radius:.5rem;background:#fafaf9;color:#57534e;font-weight:500;font-size:.8125rem;cursor:pointer;&:hover{border-color:#0ea5e9;color:#0ea5e9;background:#f0f9ff}}@media(max-width:480px){.field-row{flex-direction:column}.item{gap:.5rem;padding:.625rem .5rem}.amount input{width:50px}}}.goal-edit{--accent: #0ea5e9;display:flex;background:#fff;border-radius:clamp(4px,.75vw,6px);border:1px solid #a8a29e;overflow:hidden;&.deleting{opacity:.4;pointer-events:none}.bar{width:5px;background:var(--accent);flex-shrink:0}.body{flex:1;padding:clamp(.875rem,1.6vw,1rem) clamp(.875rem,2vw,1.25rem);display:flex;flex-direction:column;gap:.875rem;position:relative}.delete-btn{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:clamp(32px,5.5vw,44px);height:clamp(32px,5.5vw,44px);border:none;border-radius:0;background:transparent;color:#d6d3d1;cursor:pointer;transition:color .12s;z-index:10;&:hover{color:#9f1239}&:disabled{opacity:.3;cursor:not-allowed}}.form{display:flex;flex-direction:column;gap:.75rem}.row{display:flex;gap:clamp(.625rem,1.2vw,.75rem)}.field{flex:1;display:flex;flex-direction:column;gap:.375rem;min-width:0;label{font-size:.6875rem;font-weight:700;color:#57534e;text-transform:uppercase;letter-spacing:.05em}}.budget-chips{display:flex;flex-wrap:wrap;gap:.375rem}.chip{padding:.375rem .75rem;border-radius:4px;font-size:.75rem;font-weight:500;border:1px solid #e7e5e4;background:#fafaf9;color:#57534e;cursor:pointer;transition:all .12s;&:hover{border-color:#d6d3d1;background:#f5f5f4}&.active{background:var(--accent);border-color:var(--accent);color:#fff}}.actions{display:flex;gap:.5rem;padding-top:1rem;margin-top:.5rem;border-top:1px solid #e7e5e4}.btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem 1rem;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .12s;border:none;white-space:nowrap;&:disabled{opacity:.5;cursor:not-allowed}&.cancel{background:#fafaf9;color:#57534e;border:1px solid #e7e5e4;&:hover:not(:disabled){background:#f5f5f4;border-color:#d6d3d1}}&.save{background:var(--accent);color:#fff;&:hover:not(:disabled){background:#0284c7}}}}@media(max-width:768px){.goal-edit{.row{flex-direction:column}}}.sub-target-chip{display:flex;flex-direction:column;gap:.75rem;padding:.875rem 1rem;background:#fff;border:1px solid #e8e5e1;border-radius:12px;min-height:80px;min-width:0;flex:1;position:relative;box-shadow:0 1px 2px #00000005;transition:all .15s ease;overflow:hidden;&:hover{border-color:#d6d3cd;transform:translateY(-1px);box-shadow:0 4px 8px #0000000d}&:active{transform:scale(.98)}&:has(.name svg){background:#f0fdf4;border-color:#dcfce7;main .value{color:#16a34a}.percent{color:#15803d;background:#dcfce7}}:where(header){display:flex;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;overflow:hidden}.name{font-size:.875rem;font-weight:600;color:#1c1917;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1;max-width:100%;:where(svg){display:inline-block;margin-right:4px;color:#16a34a;flex-shrink:0}}.percent{font-size:.625rem;font-weight:600;color:#78716c;background:#f5f5f4;padding:2px 6px;border-radius:6px;flex-shrink:0}:where(main){flex:1;display:flex;flex-direction:column;.label{font-size:.625rem;text-transform:uppercase;color:#a8a29e;font-weight:600;letter-spacing:.05em;margin-bottom:2px}.value{font-size:1.25rem;font-weight:700;color:#0ea5e9;letter-spacing:-.02em;line-height:1}}:where(footer){display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;padding-top:.625rem;border-top:1px solid #f5f5f4;margin-top:auto}.stat{display:grid;grid-template-rows:auto auto;gap:0;.val{font-size:.75rem;font-weight:600;color:#57534e;line-height:1.2}.lbl{font-size:.625rem;color:#a8a29e;font-weight:500}}.divider{width:1px;height:16px;background:#f0efed;place-self:center}}.goal-view{--accent: #0ea5e9;display:flex;background:#fff;border-radius:clamp(10px,1.5vw,12px);border:1px solid #e8e5e1;min-height:clamp(70px,8vw,80px);transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;overflow:hidden;box-shadow:0 1px 2px #00000005;&:hover{border-color:#d6d3cd;box-shadow:0 8px 16px #0000000f;transform:translateY(-1px);.bar{width:clamp(4px,.8vw,6px)}}&.deleting{opacity:.4;pointer-events:none}&.readonly{cursor:default;&:hover{transform:none;box-shadow:none;border-color:#e8e5e1}}.bar{width:clamp(4px,.6vw,4px);background:var(--accent);flex-shrink:0;transition:width .2s}.body{flex:1;padding:clamp(.875rem,2vw,1.25rem);display:flex;flex-direction:column;gap:clamp(.875rem,2vw,1.25rem);overflow:hidden}.header{display:flex;align-items:flex-start;gap:1rem}.icon{display:flex;align-items:center;justify-content:center;width:clamp(36px,5vw,48px);height:clamp(36px,5vw,48px);border-radius:12px;flex-shrink:0;transition:all .12s;background:#f0f9ff;border:1px solid #e0f2fe;color:#0284c7;:where(svg){width:clamp(18px,2.5vw,24px);height:clamp(18px,2.5vw,24px)}}.info{flex:1;display:flex;flex-direction:column;gap:.25rem;padding-top:2px}.name{font-size:clamp(1rem,1.8vw,1.125rem);font-weight:700;color:#1c1917;letter-spacing:-.02em;line-height:1.2}.times{display:flex;align-items:center;gap:.875rem;flex-wrap:wrap}.time{display:inline-flex;align-items:center;gap:.375rem;font-size:clamp(.6875rem,1.2vw,.75rem);color:#78716c;font-weight:500;background:#f5f5f4;padding:2px clamp(6px,1vw,8px);border-radius:6px;&.achievement{color:#0ea5e9;background:#f0f9ff;margin-left:auto}:where(svg){width:14px;height:14px}}.progress-section{display:flex;flex-direction:column;gap:.75rem}.progress-bar{height:10px;background:#f5f5f4;border-radius:5px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:5px;transition:width .5s cubic-bezier(.4,0,.2,1)}.progress-info{display:flex;justify-content:space-between;align-items:baseline;font-size:.875rem;color:#78716c}.amount-current{font-size:1.125rem;font-weight:700;color:var(--accent);letter-spacing:-.02em}.amount-target{font-weight:500;color:#a8a29e;font-size:.875rem}.meta{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.25rem}.item{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:clamp(.375rem,.8vw,.5rem) clamp(.5rem,1vw,.75rem);background:#fafaf9;border:1px solid #e8e5e1;border-radius:8px;font-size:clamp(.6875rem,1.2vw,.75rem);font-weight:600;color:#57534e;white-space:nowrap;transition:all .15s;&:hover{border-color:#d6d3cd;background:#fff}:where(svg){color:#a8a29e;flex-shrink:0;width:14px;height:14px}&.initial{background:#fffbeb;border-color:#fef3c7;color:#b45309;:where(svg){color:#d97706}}&.monthly{background:#f0fdf4;border-color:#dcfce7;color:#15803d;:where(svg){color:#16a34a}}&.category{background:#f8fafc;border:1px solid #e2e8f0;color:#475569;text-transform:capitalize}}.sub-targets{margin-top:.5rem;padding-top:1.25rem;border-top:1px solid #f0efed;display:flex;flex-direction:column;gap:1rem}.sub-targets-title{display:flex;align-items:center;justify-content:space-between;color:#78716c;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.sub-targets-count{background:#f0fdf4;color:#16a34a;padding:.25rem .625rem;border-radius:20px;font-size:.75rem;font-weight:700;letter-spacing:0}.sub-targets-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;overflow-x:auto;padding-bottom:.25rem;margin-right:-1.25rem;padding-right:1.25rem;-webkit-overflow-scrolling:touch;scrollbar-width:none;&::-webkit-scrollbar{display:none}>*{min-width:0}}.notes{margin-top:.5rem;padding-top:1rem;border-top:1px solid #f0efed;display:flex;flex-direction:column;gap:.5rem;.title{display:flex;align-items:center;gap:.375rem;color:#a8a29e;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}:where(ul){list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.375rem}:where(li){font-size:.875rem;line-height:1.6;color:#57534e;word-break:break-word;padding-left:1rem;position:relative;&:before{content:"•";position:absolute;left:0;color:#d6d3d1}}}}@media(min-width:640px){.goal-view{.sub-targets-list{grid-template-columns:repeat(3,1fr);margin-right:0;padding-right:0;overflow-x:visible;padding-bottom:0}}}.sc-edit{display:flex;background:#fff;border-radius:clamp(8px,1.5vw,12px);border:1px solid #cbd5e1;box-shadow:0 8px 24px #00000014;overflow:hidden;&.deleting{opacity:.4;pointer-events:none}.bar{width:clamp(4px,.8vw,5px);background:#6366f1;flex-shrink:0}.body{flex:1;padding:clamp(.875rem,1.4vw,1.125rem) clamp(.875rem,1.6vw,1.25rem);display:flex;flex-direction:column;gap:clamp(.625rem,1.2vw,.75rem);position:relative}.delete-btn{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:clamp(32px,6vw,48px);height:clamp(32px,6vw,48px);border:none;border-radius:0;background:transparent;color:#cbd5e1;cursor:pointer;transition:color .15s;z-index:10;opacity:.7;&:hover{color:#dc2626}&:disabled{opacity:.3;cursor:not-allowed}}.form{display:flex;flex-direction:column;gap:.875rem}.row{display:flex;gap:clamp(.625rem,1.2vw,.75rem)}.field{flex:1;display:flex;flex-direction:column;gap:.375rem;min-width:0;label{font-size:.6875rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.05em}}.actions{display:flex;gap:clamp(.5rem,.8vw,.625rem);padding-top:1rem;margin-top:1rem;border-top:1px solid #e2e8f0}.btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s;border:none;white-space:nowrap;&:disabled{opacity:.5;cursor:not-allowed}&.cancel{background:#f8fafc;color:#475569;border:1px solid #e2e8f0;&:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}&:active:not(:disabled){background:#e2e8f0}}&.save{background:#6366f1;color:#fff;box-shadow:0 1px 3px #0000001a;&:hover:not(:disabled){background:#4f46e5;box-shadow:0 4px 12px #6366f140;transform:translateY(-1px)}&:active:not(:disabled){transform:translateY(0)}}}}@media(max-width:768px){.sc-edit{.row{flex-direction:column}}}.sc-view{display:flex;background:#fff;border-radius:clamp(10px,1.5vw,12px);border:1px solid #f1f5f9;min-height:clamp(70px,8vw,80px);transition:all .15s ease;cursor:pointer;overflow:hidden;&:hover{border-color:#e2e8f0;box-shadow:0 4px 12px #0000000d;.bar{width:clamp(4px,.8vw,5px)}.icon{transform:scale(1.05)}.badge.duration{background:#6366f1;border-color:#6366f1;color:#fff;:where(svg){color:#fff}}.metric{background:#f1f5f9;&.quality{border-color:var(--q-color);transform:translate(2px);.label,.value{color:var(--q-color)}}}}&.ongoing{border-color:#c7d2fe;.bar{background:#818cf8;animation:sleepPulse 2s cubic-bezier(.4,0,.6,1) infinite}.icon{background:linear-gradient(135deg,#c7d2fe,#a5b4fc);color:#4f46e5}}&.deleting{opacity:.4;pointer-events:none}&.readonly{cursor:default;&:hover{transform:none;box-shadow:none;border-color:#f1f5f9}}.bar{width:clamp(3px,.5vw,4px);background:#6366f1;flex-shrink:0;transition:all .15s}.body{flex:1;padding:clamp(.625rem,1.2vw,.875rem) clamp(.75rem,1.5vw,1rem);display:flex;flex-direction:column;gap:clamp(.5rem,1vw,.75rem)}.header{display:flex;align-items:flex-start;gap:.625rem}.icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#ddd6fe,#c7d2fe);color:#6366f1;flex-shrink:0;transition:all .15s}.times{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.time{display:flex;align-items:center;gap:.3125rem;font-size:clamp(.625rem,1.1vw,.6875rem);color:#64748b;font-weight:500;:where(svg){flex-shrink:0;color:#94a3b8}:where(span){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.badges{display:flex;gap:.375rem;flex-wrap:wrap;justify-content:flex-end}.badge{display:flex;align-items:center;gap:.375rem;padding:clamp(.3125rem,.6vw,.375rem) clamp(.5rem,1vw,.625rem);background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;font-size:clamp(.6875rem,1.2vw,.75rem);font-weight:600;color:#475569;transition:all .15s;white-space:nowrap;:where(svg){color:#6366f1;flex-shrink:0}&.ongoing{background:#eef2ff;border-color:#c7d2fe;color:#4f46e5}}.metrics{display:flex;flex-direction:column;gap:.5rem}.metric{display:flex;align-items:center;gap:.5rem;padding:clamp(.375rem,.8vw,.5rem) clamp(.5rem,1.2vw,.75rem);background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;font-size:clamp(.6875rem,1.3vw,.8125rem);transition:all .15s;:where(svg){flex-shrink:0;color:#94a3b8}.label{font-weight:600;color:#64748b}.value{font-weight:700;color:#0f172a;margin-left:auto}&.quality{border-color:var(--q-color);:where(svg){color:var(--q-color)}.value{color:var(--q-color)}}}.notes{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed #e2e8f0;display:flex;flex-direction:column;gap:.375rem;.heading{display:flex;align-items:center;gap:.375rem;font-weight:600;color:#94a3b8;font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;:where(svg){flex-shrink:0}}:where(ul){list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}:where(li){font-size:.8125rem;line-height:1.5;color:#475569;word-break:break-word;padding-left:1.25rem;position:relative;&:before{content:"•";position:absolute;left:.25rem;color:#cbd5e1}}}.empty{font-size:.9375rem;font-weight:500;color:#94a3b8;font-style:italic;text-align:center;margin:0}}.syc-edit{display:flex;background:#fff;border-radius:clamp(8px,1.5vw,12px);border:1px solid color-mix(in srgb,var(--sev-color) 40%,#94a3b8);box-shadow:0 4px 16px color-mix(in srgb,var(--sev-color) 10%,transparent);overflow:hidden;&.deleting{opacity:.4;pointer-events:none}.bar{width:clamp(4px,.8vw,5px);background:linear-gradient(180deg,var(--sev-color) 0%,color-mix(in srgb,var(--sev-color) 70%,black) 100%);flex-shrink:0}.body{flex:1;padding:clamp(.875rem,1.2vw,1rem) clamp(.875rem,1.5vw,1.25rem);display:flex;flex-direction:column;gap:clamp(.75rem,1.1vw,.875rem);position:relative}.delete-btn{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:clamp(32px,5.5vw,44px);height:clamp(32px,5.5vw,44px);border:none;border-radius:0;background:transparent;color:#cbd5e1;cursor:pointer;transition:color .15s;z-index:10;svg{width:clamp(12px,2vw,16px);height:clamp(12px,2vw,16px)}&:hover{color:#dc2626}&:disabled{opacity:.3;cursor:not-allowed}}.form{display:flex;flex-direction:column;gap:.875rem}.form-header{display:flex;align-items:center;gap:.625rem;margin-bottom:.25rem;.form-icon{display:flex;align-items:center;justify-content:center;width:clamp(28px,3.5vw,32px);height:clamp(28px,3.5vw,32px);border-radius:clamp(6px,1vw,8px);background:color-mix(in srgb,var(--sev-color) 15%,white);color:var(--sev-color);svg{width:clamp(14px,1.8vw,16px);height:clamp(14px,1.8vw,16px)}}span{font-size:clamp(.8125rem,1.4vw,.875rem);font-weight:600;color:#334155}}.row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.625rem,1vw,.75rem)}.field{display:flex;flex-direction:column;gap:.375rem;min-width:0;label{display:flex;align-items:center;gap:.25rem;font-size:clamp(.625rem,1.1vw,.6875rem);font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.05em}.label-icon{color:var(--sev-color);flex-shrink:0}}.actions{display:flex;gap:.5rem;padding-top:1rem;margin-top:.5rem;border-top:1px solid #e2e8f0}.btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:clamp(.625rem,1vw,.75rem) clamp(.75rem,1.3vw,1rem);border-radius:8px;font-size:clamp(.75rem,1.4vw,.875rem);font-weight:600;cursor:pointer;transition:all .15s;border:none;white-space:nowrap;&:active{transform:scale(.98)}&:disabled{opacity:.5;cursor:not-allowed}&.cancel{background:#f8fafc;color:#475569;border:1px solid #e2e8f0;&:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}}&.save{background:var(--sev-color);color:#fff;&:hover:not(:disabled){filter:brightness(.9);box-shadow:0 4px 12px color-mix(in srgb,var(--sev-color) 30%,transparent)}}}}@media(max-width:768px){.syc-edit{.row{grid-template-columns:1fr}}}.syc-view{display:flex;background:#fff;border-radius:clamp(10px,1.5vw,12px);border:1px solid #f1f5f9;min-height:clamp(70px,8vw,80px);transition:all .15s ease;cursor:pointer;overflow:hidden;&:hover{border-color:color-mix(in srgb,var(--sev-color) 30%,#e2e8f0);box-shadow:0 4px 12px color-mix(in srgb,var(--sev-color) 10%,transparent);.bar{width:clamp(4px,.8vw,5px)}.icon{background:var(--sev-color);color:#fff;transform:scale(1.05)}.severity-badge{background:var(--sev-color);border-color:var(--sev-color);.severity-label,.severity-score{color:#fff}.severity-meter{background:#ffffff4d}.severity-fill{background:#fff}}.trigger{transform:translateY(-1px);box-shadow:0 2px 4px color-mix(in srgb,var(--t-color) 15%,transparent)}}&.deleting{opacity:.4;pointer-events:none}&.readonly{cursor:default;&:hover{transform:none;box-shadow:0 2px 8px #0000000a}}.bar{width:clamp(3px,.5vw,4px);background:linear-gradient(180deg,var(--sev-color) 0%,color-mix(in srgb,var(--sev-color) 70%,black) 100%);flex-shrink:0;transition:all .2s ease}.body{flex:1;padding:clamp(.75rem,1.2vw,.875rem) clamp(.875rem,1.5vw,1rem);display:flex;flex-direction:column;gap:clamp(.5rem,1vw,.625rem)}.header{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.icon{display:flex;align-items:center;justify-content:center;width:clamp(28px,3.5vw,32px);height:clamp(28px,3.5vw,32px);border-radius:clamp(6px,1vw,8px);background:color-mix(in srgb,var(--sev-color) 15%,white);color:var(--sev-color);flex-shrink:0;transition:all .15s;:where(svg){width:clamp(12px,1.5vw,16px);height:clamp(12px,1.5vw,16px)}}.time{display:inline-flex;align-items:center;gap:.3125rem;font-size:clamp(.6875rem,1.2vw,.75rem);color:#64748b;font-weight:500;flex:1;min-width:0;:where(svg){color:var(--sev-color);flex-shrink:0}}.severity-badge{display:flex;flex-direction:column;align-items:center;gap:clamp(.1875rem,.4vw,.25rem);padding:clamp(.375rem,.8vw,.5rem) clamp(.5rem,1vw,.625rem);border-radius:8px;background:color-mix(in srgb,var(--sev-color) 10%,white);border:1px solid color-mix(in srgb,var(--sev-color) 25%,transparent);transition:all .15s;flex-shrink:0;min-width:clamp(44px,5.5vw,56px)}.severity-label{font-size:clamp(.4375rem,.9vw,.5625rem);font-weight:700;color:var(--sev-color);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.severity-meter{width:100%;height:clamp(3px,.5vw,4px);border-radius:2px;background:color-mix(in srgb,var(--sev-color) 20%,white);overflow:hidden;transition:all .15s}.severity-fill{height:100%;border-radius:2px;background:var(--sev-color);transition:width .3s ease}.severity-score{font-size:clamp(.6875rem,1.3vw,.8125rem);font-weight:700;color:var(--sev-color);line-height:1;transition:all .15s}.title{margin:0;font-size:clamp(.875rem,1.5vw,.9375rem);font-weight:600;color:#1e293b;line-height:1.4;word-wrap:break-word}.triggers{display:flex;flex-wrap:wrap;gap:.375rem}.trigger{display:inline-flex;align-items:center;gap:.3125rem;padding:clamp(.25rem,.5vw,.3125rem) clamp(.5rem,1vw,.625rem);border-radius:6px;background:color-mix(in srgb,var(--t-color) 8%,white);border:1px solid color-mix(in srgb,var(--t-color) 20%,transparent);color:color-mix(in srgb,var(--t-color) 85%,black);font-size:clamp(.625rem,1.1vw,.6875rem);font-weight:600;transition:all .15s;:where(svg){flex-shrink:0;opacity:.8;width:clamp(10px,1.2vw,12px);height:clamp(10px,1.2vw,12px)}}.notes{margin-top:.625rem;padding-top:.625rem;border-top:1px dashed #e2e8f0;display:flex;flex-direction:column;gap:.375rem;.heading{display:flex;align-items:center;gap:.3125rem;color:#94a3b8;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}:where(ul){list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.1875rem}:where(li){font-size:clamp(.75rem,1.3vw,.8125rem);line-height:1.5;color:#475569;word-break:break-word;padding-left:clamp(.875rem,1.2vw,1rem);position:relative;&:before{content:"•";position:absolute;left:.25rem;color:#cbd5e1}}}}.combobox-wrapper{position:relative;width:100%;.combobox-input{padding-right:3.5rem}.combobox-trigger-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);cursor:pointer;display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;color:var(--text-tertiary, #6b7280)}.combobox-clear-icon{position:absolute;right:2rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;color:var(--text-tertiary, #9ca3af);cursor:pointer;border-radius:.25rem;-webkit-tap-highlight-color:transparent;touch-action:manipulation;&:active{background-color:var(--bg-active, rgba(0, 0, 0, .1))}}}.combobox-popover-content{z-index:1001;max-height:200px;overflow-y:auto;border-radius:.375rem;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-primary, white);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:.25rem;.combobox-item{position:relative;display:flex;align-items:center;padding:.625rem 2rem .625rem .75rem;min-height:2.5rem;font-size:.875rem;font-weight:500;color:var(--text-primary, #1e293b);cursor:pointer;user-select:none;border-radius:.25rem;-webkit-tap-highlight-color:transparent;touch-action:manipulation;&:active{background-color:var(--bg-active, #e5e7eb)}.combobox-icon{margin-right:.5rem;display:flex;align-items:center;color:var(--text-tertiary, #6b7280)}.combobox-check{position:absolute;right:.5rem;display:flex;align-items:center;color:var(--accent-color, #3b82f6)}}}.txn-edit{--accent-color: var(--accent, #6366f1);display:flex;background:#fff;border-radius:clamp(8px,1.5vw,12px);border:1px solid #94a3b8;overflow:hidden;&.deleting{opacity:.4;pointer-events:none}.accent-bar{width:5px;background:var(--accent-color);flex-shrink:0;align-self:stretch}.body{flex:1;padding:clamp(.875rem,1.6vw,1rem) clamp(.875rem,2vw,1.25rem);display:flex;flex-direction:column;gap:.875rem;position:relative}.delete-btn{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:clamp(32px,5.5vw,44px);height:clamp(32px,5.5vw,44px);border:none;border-radius:0;background:transparent;color:#cbd5e1;cursor:pointer;transition:color .15s;z-index:10;&:hover{color:#dc2626}&:disabled{opacity:.3;cursor:not-allowed}}.form{display:flex;flex-direction:column;gap:.5rem}.row{display:flex;gap:clamp(.625rem,1.2vw,.75rem)}.field{flex:1;display:flex;flex-direction:column;gap:.375rem;min-width:0;label{font-size:.5625rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.08em}}.original-timepoint-hint{font-size:.6875rem;color:#94a3b8;margin-top:.25rem;font-style:italic}.field-hint{font-size:.6875rem;color:#64748b;margin-top:.25rem}.actions{display:flex;gap:.5rem;padding-top:.75rem;margin-top:.25rem;border-top:1px solid #e2e8f0}.btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem 1rem;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .15s;border:none;white-space:nowrap;&:disabled{opacity:.5;cursor:not-allowed}&.cancel{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;&:hover:not(:disabled){background:#e2e8f0}}&.save{background:#0f172a;color:#fff;&:hover:not(:disabled){background:#1e293b}}}}@media(max-width:768px){.txn-edit{.row{flex-direction:column}}}.txn-view{--accent-color: var(--accent, #6366f1);--expense: #dc2626;--income: #16a34a;display:flex;background:#fff;border-radius:clamp(8px,1.5vw,12px);border:1px solid #e2e8f0;min-height:clamp(68px,8vw,76px);transition:all .15s ease;cursor:pointer;overflow:hidden;&:hover{border-color:#cbd5e1;.accent-bar{width:clamp(4px,.6vw,5px)}.tag.category{background:var(--accent-color);border-color:var(--accent-color);color:#fff;svg{color:#fff}}}&.deleting{opacity:.4;pointer-events:none}&.readonly{cursor:default;&:hover{border-color:#e2e8f0}}.accent-bar{width:clamp(3px,.5vw,4px);background:var(--accent-color);flex-shrink:0;transition:width .15s ease}.body{flex:1;padding:clamp(.625rem,1.2vw,.875rem) clamp(.75rem,1.5vw,1rem);display:flex;flex-direction:column;gap:clamp(.375rem,.8vw,.625rem)}.header{display:flex;align-items:center;gap:clamp(.5rem,1vw,.625rem)}.type-icon{display:flex;align-items:center;justify-content:center;width:clamp(24px,3vw,28px);height:clamp(24px,3vw,28px);border-radius:clamp(6px,1vw,8px);flex-shrink:0;:where(svg){width:clamp(12px,1.5vw,16px);height:clamp(12px,1.5vw,16px)}&.expense{background:#fef2f2;color:var(--expense)}&.income{background:#f0fdf4;color:var(--income)}}.amount{margin-left:auto;font-size:clamp(1rem,2vw,1.25rem);font-weight:700;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;&.expense{color:var(--expense)}&.income{color:var(--income)}}.time{display:inline-flex;align-items:center;gap:.25rem;font-size:clamp(.5rem,1vw,.625rem);color:#94a3b8;font-weight:500;flex-shrink:0}.desc{font-size:clamp(.8125rem,1.5vw,.9375rem);line-height:1.4;color:#1e293b;font-weight:500;white-space:pre-wrap;margin:0}.tags{display:flex;flex-wrap:wrap;gap:clamp(.25rem,.6vw,.375rem);margin-top:.125rem}.tag{display:inline-flex;align-items:center;gap:.25rem;padding:clamp(.1875rem,.4vw,.25rem) clamp(.375rem,.75vw,.5rem);background:#f8fafc;border-radius:4px;font-size:clamp(.5625rem,1vw,.625rem);font-weight:500;color:#64748b;transition:all .15s;border:1px solid transparent;:where(svg){color:#94a3b8;flex-shrink:0}&.category{background:#f1f5f9;border-color:#e2e8f0;color:#475569;font-weight:600;text-transform:capitalize;:where(svg){color:var(--accent-color)}}&.recurring{background:#fefce8;border-color:#fde047;color:#854d0e;font-weight:600;:where(svg){color:#ca8a04}}&.pseudo{background:#f0f9ff;border-color:#7dd3fc;color:#0369a1;font-weight:600;:where(svg){color:#0ea5e9}}&.subgoal-paid{background:#f0fdf4;border-color:#86efac;color:#166534;font-weight:600;:where(svg){color:#22c55e}}}.notes{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed #e2e8f0;display:flex;flex-direction:column;gap:.375rem;.title{display:flex;align-items:center;gap:.25rem;color:#94a3b8;font-size:.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}:where(ul){list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.125rem}:where(li){font-size:.75rem;line-height:1.4;color:#64748b;word-break:break-word;padding-left:.875rem;position:relative;&:before{content:"•";position:absolute;left:0;color:#cbd5e1}}}}.extraction-item{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.5rem;>:first-child{flex:1}&:hover .del{opacity:1}}.del{flex-shrink:0;padding:.5rem;background:transparent;border:none;border-radius:.5rem;color:#9ca3af;cursor:pointer;opacity:0;transition:all .2s;&:hover:not(:disabled){color:#ef4444;background:#ef44441a}&:disabled{opacity:1;cursor:default}}.spin{animation:spin 1s linear infinite}.bubble{max-width:calc(100% - 1rem);min-width:4rem;padding:1rem;border-radius:1.25rem;font-size:15px;line-height:1.6;word-wrap:break-word;animation:fadeInUp .3s ease-out;contain:layout style;&.user{background:#3b82f6;color:#fff;box-shadow:0 4px 12px #3b82f640;border:1px solid rgba(255,255,255,.15);&.referenced{background:#10b981;box-shadow:0 4px 12px #10b98140}}&.assistant{padding:4px;&.referenced{background:#f9fafb;border:1px solid rgba(0,0,0,.08)}}}.cb-text{white-space:pre-wrap;word-break:break-word;line-height:1.65;margin:0}.qa-answer{padding:.75rem 1rem;color:#1e293b;line-height:1.7;& p{margin:0 0 .75rem;&:last-child{margin-bottom:0}}& h1,h2,h3{margin:1rem 0 .5rem;font-weight:600;color:#0f172a;&:first-child{margin-top:0}}& ul,ol{margin:.5rem 0;padding-left:1.5rem}& li{margin:.25rem 0}& code{background:#f1f5f9;padding:.125rem .375rem;border-radius:.25rem;font-size:.875em}& pre{background:#f1f5f9;padding:.75rem;border-radius:.5rem;overflow-x:auto;margin:.75rem 0;& code{background:none;padding:0}}& strong{font-weight:600}& em{font-style:italic}}.action-button{flex-shrink:0;align-self:flex-end;display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;border:none;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #0000001f;&.send,&.mic{background:linear-gradient(to bottom right,#3b82f6,#2563eb,#4f46e5);color:#fff}&.recording{background:linear-gradient(to bottom right,#ef4444,#dc2626,#b91c1c);color:#fff}&.reload{background:linear-gradient(to bottom right,#f59e0b,#d97706,#b45309);color:#fff;&:hover{box-shadow:0 8px 24px #f59e0b4d}}&.disabled{background:#e5e7eb;color:#6b7280;cursor:not-allowed}&:hover:not(:disabled){transform:scale(1.05);box-shadow:0 8px 24px #3b82f640}&:active:not(:disabled){transform:scale(.95)}.stop{display:block;width:1rem;height:1rem;background:#fff;border-radius:2px}svg{width:1.25rem;height:1.25rem}.spin{animation:spin 1s linear infinite}}.add-menu-backdrop{position:fixed;inset:0;z-index:999}.add-menu{z-index:1000;min-width:200px;padding:.5rem;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;animation:fadeInSmall .15s ease-out;.add-menu-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:none;border:none;border-radius:.5rem;font:500 .9375rem system-ui;color:#171717;cursor:pointer;transition:background .15s;svg{flex-shrink:0;color:#525252}&:hover{background:#f5f5f5}&:active{background:#e5e5e5}&.selected{color:#0284c7;background:#f0f9ff;svg{color:#0284c7}&:hover{background:#e0f2fe}}}.add-menu-divider{height:1px;margin:.5rem 0;background:#00000014}}.files-preview{display:flex;gap:.75rem;margin-bottom:.75rem;overflow-x:auto;.file-item{position:relative;flex-shrink:0;&.image{width:5rem;height:5rem;padding:0;border:1px solid rgba(0,0,0,.08);border-radius:1rem;overflow:hidden;cursor:pointer;background:transparent;img{width:100%;height:100%;object-fit:cover}&:hover{opacity:.9}.remove{position:absolute;top:.25rem;right:.25rem;width:1.5rem;height:1.5rem;display:grid;place-items:center;border-radius:50%;background:#000000b3;color:#fff;font-size:.875rem;cursor:pointer;&:hover{background:#000000d9}}}&.spreadsheet{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.75rem;font-size:.875rem;color:#166534;svg{flex-shrink:0}.name{flex:1;min-width:0;max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button{flex-shrink:0;display:grid;place-items:center;width:1.5rem;height:1.5rem;border:none;border-radius:50%;background:#0000000d;color:#166534;font-size:1rem;cursor:pointer;transition:background .15s;&:hover{background:#0000001a}}}}}.composer{width:100%;max-width:768px;margin:0 auto;padding:1.5rem 1rem;.box{position:relative;padding:.75rem;border-radius:2rem;border:1px solid rgba(0,0,0,.08);background:#fff;box-shadow:0 1px 3px #0000000d;transition:all .2s;&.drag{border-color:#3b82f666;box-shadow:0 2px 8px #3b82f626}}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:#3b82f60d;backdrop-filter:blur(4px);border-radius:2rem;color:#2563eb;font-weight:500;font-size:1.125rem;z-index:10}.row{display:flex;align-items:center;gap:.25rem;textarea{flex:1;min-width:0;max-height:180px;background:transparent;border:none;outline:none;resize:none;font:500 1rem/1.375 system-ui,-apple-system,sans-serif;color:#171717;&::placeholder{color:#737373}&:disabled{opacity:.5;cursor:not-allowed}}}.add,.bulk,.question-mode{flex-shrink:0;align-self:flex-end;display:grid;place-items:center;width:2.5rem;height:2.5rem;border:none;border-radius:50%;background:none;cursor:pointer;transition:all .2s;&:hover{background:#f5f5f5}&:active{transform:scale(.95)}&:disabled{opacity:.5;cursor:not-allowed}}.bulk{color:#0284c7}.question-mode{color:#7c3aed}}.lightbox{position:fixed;inset:0;z-index:100;background:#000c;display:flex;align-items:center;justify-content:center;cursor:pointer;img{max-width:92vw;max-height:92dvh;border-radius:1rem;box-shadow:0 25px 50px -12px #00000040}}.scroll-button{--x: translateX(-50%);position:fixed;bottom:6rem;left:50%;transform:var(--x);z-index:40;display:grid;place-items:center;width:2.75rem;height:2.75rem;background:#ffffffd9;backdrop-filter:blur(8px);border:1px solid rgba(0,0,0,.06);border-radius:50%;box-shadow:0 1px 3px #0000000f;cursor:pointer;opacity:0;pointer-events:none;transition:all .3s ease;will-change:transform,opacity;&:hover{background:#fffffff2;transform:var(--x) scale(1.05)}&:active{transform:var(--x) scale(.95)}&.visible{opacity:1;pointer-events:auto}svg{color:#64748b}&:hover svg{color:#475569}}.typing-bubble{display:flex;gap:.375rem;width:fit-content;padding:.5rem .75rem;border-radius:1rem;background:linear-gradient(135deg,#fffffff2,#f9fafbf2);backdrop-filter:blur(12px);border:1px solid rgba(59,130,246,.08);box-shadow:0 2px 6px #3b82f60a,0 1px 2px #00000008;animation:fadeInUp .3s ease-out;position:relative;overflow:hidden;&:before{content:"";position:absolute;inset:0;width:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.03),transparent);animation:shimmer 3s infinite;will-change:transform}svg{position:relative;color:#3b82f6;animation:bounce 1.4s ease-in-out infinite;will-change:transform,opacity;&:nth-child(2){animation-delay:.2s}&:nth-child(3){animation-delay:.4s}}}.welcome-screen{--base-delay: 0ms;--accent: #3b82f6;--accent-hover: #2563eb;--surface: #f8fafc;--border: #e2e8f0;--text-muted: #64748b;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:clamp(1rem,4vw,2rem);h1{margin:0;font:600 clamp(2.5rem,10vw,4rem) / 1 "SF Pro Display",-apple-system,system-ui,sans-serif;letter-spacing:-.03em;display:flex;align-items:baseline}.welcome-links{position:absolute;top:clamp(1rem,4vw,2rem);display:flex;gap:.5rem;opacity:0;animation:fadeDown .5s cubic-bezier(.22,1,.36,1) .5s forwards;a{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:var(--surface);border:1px solid var(--border);border-radius:2rem;color:var(--text-muted);font:500 .8125rem system-ui;text-decoration:none;transition:all .2s cubic-bezier(.22,1,.36,1);&:after{content:"→";font-size:.75rem;transition:transform .2s cubic-bezier(.22,1,.36,1)}&:hover{color:var(--accent);background:#eff6ff;border-color:#bfdbfe;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f626;&:after{transform:translate(3px)}}&:active{transform:scale(.98)}}}.letter{display:inline-block;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:0;animation:letterFade .6s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--base-delay) + var(--letter-delay, 0ms));white-space:pre;line-height:2}@media(max-width:768px){--base-delay: .3s}}.chat-page{display:flex;flex-direction:column;flex:1;overflow:hidden;background:#fff;color:#171717;.scroller{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;max-width:768px;width:100%;margin:0 auto;padding:0 1rem 8rem;--fade: 24px;mask-image:linear-gradient(to bottom,transparent,black var(--fade),black calc(100% - var(--fade)),transparent);transform:translateZ(0)}.msgs{display:flex;flex-direction:column;gap:1.25rem;padding:2rem 0;.bubble.user{align-self:flex-end}}}.welcome-page{--text: #1e293b;--text-muted: #64748b;--text-soft: #94a3b8;--accent: #3b82f6;--accent-soft: #dbeafe;--success: #10b981;--success-soft: #d1fae5;--warm: #f59e0b;--warm-soft: #fef3c7;--surface: #ffffff;--surface-raised: #f8fafc;--border: #e2e8f0;--border-soft: #f1f5f9;min-height:100%;background:linear-gradient(180deg,#f8fafc,#fff 15% 85%,#f8fafc);color:var(--text);font-family:"Source Sans 3",Source Sans Pro,system-ui,-apple-system,sans-serif;line-height:1.65;overflow-x:hidden;&:before{content:"";position:absolute;top:0;left:0;right:0;height:320px;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(59,130,246,.08) 0%,transparent 70%),radial-gradient(ellipse 60% 40% at 30% 10%,rgba(139,92,246,.05) 0%,transparent 60%),radial-gradient(ellipse 50% 35% at 70% 5%,rgba(16,185,129,.04) 0%,transparent 55%);pointer-events:none}h1,h2,h3{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:600;letter-spacing:-.01em;line-height:1.3}p{max-width:60ch}section{max-width:860px;margin:0 auto;padding:clamp(2rem,5vw,3rem) clamp(1rem,3vw,1.5rem)}header{text-align:center;margin-bottom:clamp(1.5rem,4vw,2.5rem);h2{font-size:clamp(1.5rem,4vw,2rem);margin:0 0 1rem;span{color:var(--accent)}}p{color:var(--text-muted);margin:0 auto;font-size:clamp(.9375rem,2vw,1.0625rem);max-width:48ch}}.hero{padding-top:clamp(3rem,6vw,4rem);text-align:center;position:relative;z-index:1;h1{font-size:clamp(1.75rem,5vw,2.75rem);margin:0 0 1rem;span{color:var(--accent)}}>p{font-size:clamp(1rem,2vw,1.125rem);color:var(--text-muted);margin:0 auto 2rem;max-width:48ch}.scroll-hint{display:inline-flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--text-soft);padding:.5rem 1rem;background:var(--surface);border:1px solid var(--border-soft);border-radius:2rem;box-shadow:0 1px 3px #0000000a;cursor:pointer;animation:floatSmall 3s ease-in-out infinite;&:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000000d;color:var(--text)}svg{width:16px;height:16px;color:var(--accent)}}}.what{background:var(--surface);border:1px solid var(--border-soft);border-radius:1.25rem;padding:clamp(1.5rem,4vw,2.5rem);text-align:center;box-shadow:0 1px 3px #00000005;max-width:800px;.icons{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:1.5rem;.icon{width:52px;height:52px;border-radius:1rem;display:flex;align-items:center;justify-content:center;background:var(--surface-raised);border:1px solid var(--border-soft);svg{width:24px;height:24px;color:var(--text-muted)}&.active{width:64px;height:64px;background:var(--accent);border-color:var(--accent);animation:pulseScale 3s ease-in-out infinite;svg{width:30px;height:30px;color:#fff}}}.arrow{width:20px;height:20px;color:var(--text-soft)}}h2{font-size:clamp(1.25rem,3vw,1.5rem);margin:0 0 .75rem}p{color:var(--text-muted);margin:0 auto;font-size:clamp(.9375rem,2vw,1.0625rem)}}.how{.steps{display:flex;flex-direction:column;gap:1rem;max-width:600px;margin:0 auto;.step{display:flex;gap:clamp(1rem,2vw,1.25rem);padding:clamp(1.25rem,3vw,1.5rem);background:var(--surface);border:1px solid var(--border-soft);border-radius:1rem;&:hover{border-color:var(--border);box-shadow:0 4px 12px #0000000a}.num{flex-shrink:0;width:36px;height:36px;border-radius:.625rem;background:var(--accent-soft);color:var(--accent);font-weight:600;display:flex;align-items:center;justify-content:center}h3{font-size:clamp(1rem,2vw,1.0625rem);margin:0 0 .375rem;display:flex;align-items:center;gap:.5rem;svg{width:clamp(16px,2vw,18px);height:clamp(16px,2vw,18px);color:var(--accent)}}>div>p{color:var(--text-muted);margin:0;font-size:clamp(.875rem,2vw,.9375rem)}.input-methods{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap;span{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:linear-gradient(135deg,var(--surface) 0%,var(--surface-raised) 100%);border:1px solid var(--border);border-radius:.5rem;font-size:.8125rem;font-weight:500;color:var(--text-muted);svg{width:14px;height:14px;color:var(--accent)}}}}}}.benefits{.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:1rem;.card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:.25rem 1rem;padding:clamp(1.25rem,3vw,1.5rem);background:var(--surface);border:1px solid var(--border-soft);border-radius:1rem;&:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000000f}.icon{grid-row:1 / 3;width:36px;height:36px;border-radius:.625rem;display:flex;align-items:center;justify-content:center;svg{width:18px;height:18px}&.calm{background:var(--accent-soft);color:var(--accent)}&.growth{background:var(--success-soft);color:var(--success)}&.control{background:#ede9fe;color:#7c3aed}&.clarity{background:var(--warm-soft);color:var(--warm)}}h3{font-size:1rem;margin:0}p{color:var(--text-muted);margin:0;font-size:.9375rem;line-height:1.5}}}}.examples .bubbles{display:flex;flex-direction:column;gap:1.5rem;max-width:520px;margin:0 auto;.pair{display:flex;flex-direction:column;gap:.75rem;.user-msg{padding:.75rem 1rem;border-radius:1rem 1rem .25rem;font-size:.9375rem;line-height:1.5;background:var(--accent);color:#fff}>div:not(.user-msg){margin-left:44px;box-shadow:0 2px 8px #00000005;border-radius:12px;cursor:default!important;&:hover{transform:translateY(-1px)}}}}.tracks{background:var(--surface);border:1px solid var(--border-soft);border-radius:1.25rem;padding:clamp(1.5rem,4vw,2rem);text-align:center;h3{font-size:clamp(1rem,2vw,1.125rem);margin:0 0 clamp(1.25rem,3vw,1.5rem)}.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(.5rem,1vw,.625rem);span{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:clamp(.5rem,1vw,.625rem) clamp(.5rem,1.5vw,.875rem);background:var(--surface-raised);border:1px solid var(--border-soft);border-radius:2rem;font-size:clamp(.75rem,1.5vw,.8125rem);font-weight:500;&:hover{transform:scale(1.02);border-color:var(--border)}svg{width:14px;height:14px;color:var(--accent)}}}>p{margin:clamp(1.25rem,3vw,1.5rem) auto 0;font-size:clamp(.875rem,2vw,.9375rem);color:var(--text-muted);max-width:40ch}}.trust{padding:clamp(1.5rem,4vw,2.5rem);text-align:center;.trust-icon{width:clamp(48px,8vw,56px);height:clamp(48px,8vw,56px);margin:0 auto clamp(1rem,2vw,1.25rem);background:var(--accent-soft);border-radius:1rem;display:flex;align-items:center;justify-content:center;animation:pulseScale 3s ease-in-out infinite;svg{width:clamp(24px,4vw,28px);height:clamp(24px,4vw,28px);color:var(--accent)}}h2{font-size:clamp(1.25rem,3vw,1.375rem);margin:0 0 .75rem}>p{color:var(--text-muted);margin:0 auto clamp(1.25rem,3vw,1.5rem);font-size:clamp(.9375rem,2vw,1rem);max-width:48ch}.features{display:flex;justify-content:center;gap:clamp(.5rem,3vw,1.5rem);flex-wrap:wrap;span{display:flex;align-items:center;gap:.5rem;font-size:clamp(.8125rem,1.5vw,.875rem);color:var(--text-muted);svg{width:16px;height:16px;color:var(--success)}}}.cta{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:min(100%,20rem);padding:.875rem 1.5rem;background:linear-gradient(135deg,var(--accent) 0%,#2563eb 100%);color:#fff;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 14px #3b82f64d;margin-top:1rem;text-decoration:none;&:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}&:active{transform:translateY(0) scale(.98)}svg{width:18px;height:18px}}}footer{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:2rem 0;a{color:#94a3b859;text-decoration:none;font-size:.7rem;letter-spacing:.02em;&:hover{color:#64748b8c}}span{color:#94a3b833;font-size:.6rem}}@media(max-width:768px){.examples .bubbles .pair>div:not(.user-msg){margin-left:0}.tracks .chips{display:grid;grid-template-columns:repeat(2,1fr);span{border-radius:.625rem}}.trust .features{flex-direction:column;align-items:center;gap:.125rem}}}.legal-container{max-width:896px;margin:0 auto;padding:48px 24px;color:var(--legal-text, #1f2937);line-height:1.7;font-family:Crimson Pro,Georgia,Times New Roman,serif;--legal-text: #1f2937;--legal-text-muted: #6b7280;--legal-link: #2563eb;--legal-border: #e5e7eb;@media(prefers-color-scheme:dark){--legal-text: #e5e7eb;--legal-text-muted: #9ca3af;--legal-link: #60a5fa;--legal-border: #374151}.heading1{font-size:2rem;font-weight:700;margin-bottom:.5rem;letter-spacing:.05em;font-family:Inter,system-ui,-apple-system,sans-serif}.lastUpdated{font-size:.875rem;color:var(--legal-text-muted);margin-bottom:2.5rem;font-style:italic}.sectionContainer{display:flex;flex-direction:column;gap:2rem}.heading2{font-size:1.375rem;font-weight:600;margin-bottom:1rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--legal-border);font-family:Inter,system-ui,-apple-system,sans-serif;scroll-margin-top:2rem}section:first-of-type .heading2{border-top:none;padding-top:0}.heading3{font-size:1.125rem;font-weight:600;margin-bottom:.5rem;margin-top:1.25rem;font-family:Inter,system-ui,-apple-system,sans-serif}.paragraph{margin-bottom:1rem}.link{color:var(--legal-link);text-decoration:none;transition:all .15s ease;&:hover{text-decoration:underline;text-underline-offset:2px}}.list{list-style-type:disc;padding-left:1.5rem;margin-bottom:1rem}.listItem{margin-bottom:.5rem}.tableOfContents{list-style-type:decimal;padding-left:1.5rem;margin-bottom:1rem}.tocItem{margin-bottom:.35rem;color:var(--legal-text-muted);a{color:var(--legal-link);text-decoration:none;transition:all .15s ease;&:hover{text-decoration:underline;text-underline-offset:2px}}}table{width:100%;border-collapse:collapse;margin-bottom:1rem}th{text-align:left;padding:.75rem;font-weight:600;border-bottom:2px solid var(--legal-border);font-family:Inter,system-ui,-apple-system,sans-serif}td{padding:.75rem;border-bottom:1px solid var(--legal-border)}@media(max-width:640px){padding:32px 16px;.heading1{font-size:1.5rem}.heading2{font-size:1.25rem}}}.aspect-details{display:flex;flex-direction:column;width:100%;height:100%;margin:0 auto;padding:0 1.5rem;animation:pageEnter .4s cubic-bezier(.16,1,.3,1);overflow:hidden;.aspect-header{display:flex;align-items:center;gap:.875rem;position:relative;flex-shrink:0;z-index:20;margin:0 -1.5rem 1rem;padding:1rem 1.5rem;background:#fffffff2;border-bottom:1px solid rgba(0,0,0,.06);h1{flex:1;min-width:0;margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.025em;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}}.aspect-icon{width:42px;height:42px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:14px}.months-list{display:flex;flex-direction:column;gap:1.5rem;transition:opacity .2s ease-out;max-width:720px;margin:0 auto}.aspect-skeleton{flex:1;max-width:720px;margin:0 auto;width:100%;overflow-y:auto;padding-bottom:3rem}}@media(max-width:480px){.aspect-details{padding:0 .875rem;.aspect-header{gap:.625rem;margin:0 -.875rem .75rem;padding:.875rem;background:#fffffff2;h1{font-size:1.25rem;transition:opacity .15s ease}&:has(.search-input:focus) h1{opacity:0}}.aspect-icon{width:36px;height:36px;border-radius:10px;svg{width:20px;height:20px}}}}.auth-callback-container{display:flex;align-items:center;justify-content:center;height:100%;.auth-callback-content{text-align:center;.auth-callback-title{font-size:1.5rem;font-weight:700;margin-bottom:1rem}.auth-callback-message{color:#6b7280}}}
