.schedules-list{margin:24px 0}.schedules-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:12px;cursor:pointer;transition:color .2s ease}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px}.day-header{text-align:center;font-size:12px;font-weight:600;color:var(--muted);padding:8px}.day-cell{aspect-ratio:1;background:var(--surface);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;position:relative;font-size:14px;min-height:60px}.day-cell:hover,.day-cell.current-day{border-color:var(--accent);background:var(--accent-soft)}.day-cell.other-month{opacity:.3}.day-number{font-weight:600;color:var(--text);margin-bottom:4px}.day-spending{font-size:10px;font-weight:600;padding:2px 6px;border-radius:8px;background:var(--danger);color:#fff}.day-spending.positive{background:var(--success)}.day-spending.zero{background:var(--muted)}.summary-stats{border-top:1px solid var(--border);padding-top:24px}.stat-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px}.stat-label{color:var(--muted)}.stat-value{font-weight:600;color:var(--text)}.stat-row.negative{color:var(--danger)}.stat-row.positive{color:var(--success)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0d1ae6;display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;pointer-events:none;transition:opacity .3s ease;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.modal.show{opacity:1;pointer-events:auto}.modal-content{background:var(--gradient-card);border-radius:var(--radius);padding:32px;max-width:500px;width:90vw;box-shadow:var(--shadow);border:1px solid var(--border);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-title{font-size:20px;font-weight:700;color:var(--text)}.close-modal{background:none;border:none;color:var(--muted);font-size:24px;cursor:pointer;padding:4px;transition:color .2s ease}.close-modal:hover{color:var(--text)}.form-input{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font-size:14px;transition:border-color .2s ease}.form-input:focus{outline:none;border-color:var(--accent)}.expense-type-selector{display:flex;gap:8px;margin-bottom:16px}.expense-type-btn{flex:1;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer;transition:all .2s ease;font-weight:600}.expense-type-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.drawer{position:fixed;top:0;right:-400px;width:400px;height:100vh;background:var(--gradient-card);border-left:1px solid var(--border);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);z-index:9999;transition:right .3s ease;display:flex;flex-direction:column}.drawer.open{right:0}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.drawer-title{font-size:18px;font-weight:700;color:var(--text)}.drawer-content{flex:1;padding:24px;overflow-y:auto}.chat-container{display:flex;flex-direction:column;height:100%}.chat-messages{flex:1;overflow-y:auto;margin-bottom:16px;max-height:400px}.chat-message{margin-bottom:16px;padding:12px;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.chat-message.ai{background:var(--accent-soft);border-color:var(--accent)}.chat-input-container{display:flex;gap:8px}.chat-input{flex:1;padding:12px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font-size:14px}.chat-send{padding:12px 16px;background:var(--gradient-primary);color:#0b0d1a;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:transform .2s ease}.chat-send:hover{transform:translateY(-1px)}.action-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.action-buttons .btn{font-size:12px;padding:6px 12px}@media (max-width: 968px){.dashboard-grid{grid-template-columns:1fr}}@media (max-width: 768px){.container{padding:0 16px}.hero-card,.details-card{padding:24px}.metric-chips{flex-direction:column;align-items:center;gap:8px}.drawer{width:100%;right:-100%}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--surface: 0 0% 98%;--surface-foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 221.2 83.2% 53.3%;--primary-foreground: 210 40% 98%;--primary-glow: 221.2 83.2% 70%;--secondary: 210 40% 96%;--secondary-foreground: 222.2 84% 4.9%;--muted: 210 40% 96%;--muted-foreground: 215.4 16.3% 56.9%;--accent: 210 40% 96%;--accent-foreground: 222.2 84% 4.9%;--accent-soft: 210 40% 98%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--success: 142.1 76.2% 36.3%;--success-foreground: 355.7 100% 97.3%;--warning: 32.1 94.6% 43.7%;--warning-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 221.2 83.2% 53.3%;--radius: .5rem;--gap: 1rem;--sidebar-background: 0 0% 98%;--sidebar-foreground: 240 5.3% 26.1%;--sidebar-primary: 240 5.9% 10%;--sidebar-primary-foreground: 0 0% 98%;--sidebar-accent: 240 4.8% 95.9%;--sidebar-accent-foreground: 240 5.9% 10%;--sidebar-border: 220 13% 91%;--sidebar-ring: 217.2 91.2% 59.8%}.dark{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--surface: 222.2 84% 8%;--surface-foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 217.2 91.2% 59.8%;--primary-foreground: 222.2 84% 4.9%;--primary-glow: 217.2 91.2% 75%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--accent-soft: 217.2 32.6% 20%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--success: 142.1 70.6% 45.3%;--success-foreground: 144.9 80.4% 10%;--warning: 35.5 91.7% 32.9%;--warning-foreground: 20.5 90.2% 48.2%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 224.3 76.3% 94.1%;--sidebar-background: 240 5.9% 10%;--sidebar-foreground: 240 4.8% 95.9%;--sidebar-primary: 224.3 76.3% 94.1%;--sidebar-primary-foreground: 240 5.9% 10%;--sidebar-accent: 240 3.7% 15.9%;--sidebar-accent-foreground: 240 4.8% 95.9%;--sidebar-border: 240 3.7% 15.9%;--sidebar-ring: 217.2 91.2% 59.8%}.text-muted-foreground{color:#7f8ea3!important}.dark .text-muted-foreground{color:#94a3b8!important}.advanced-calendar .text-sm.text-muted-foreground{color:#8896aa!important;font-weight:500}.dark .advanced-calendar .text-sm.text-muted-foreground{color:#a3b0c2!important;font-weight:500}:root{--color-danger: #DC3545;--color-warning: #FFC107;--color-success: #198754;--color-neutral: #6C757D;--critical: var(--color-danger);--warn: var(--color-warning);--text-muted: rgba(255, 255, 255, .72);--brand-navy: 218 58% 9%;--brand-cyan: 187 100% 50%;--brand-teal: 162 100% 42%;--brand-light: 220 27% 94%;--brand-muted: 220 18% 35%;--gradient-brand: linear-gradient(135deg, hsl(var(--brand-cyan)), hsl(var(--brand-teal)));--gradient-brand-subtle: linear-gradient(135deg, hsl(var(--brand-cyan) / .1), hsl(var(--brand-teal) / .1));--shadow-brand: 0 10px 30px -10px hsl(var(--brand-cyan) / .3);--shadow-glow: 0 0 40px hsl(var(--brand-cyan) / .4)}*:focus-visible{outline:2px solid rgba(255,255,255,.9)!important;outline-offset:2px!important}button:focus-visible,.btn:focus-visible,.chip:focus-visible,a:focus-visible{outline:2px solid var(--accent)!important;outline-offset:3px!important}.advanced-calendar .text-xs,.advanced-calendar .text-sm{color:#ffffffb8!important}.scenario-econome{background:var(--color-warning)!important;color:#212529!important}.font-grotesk{font-family:Space Grotesk,Inter,sans-serif}.budgetdeck-logo{transition:transform .2s ease}.budgetdeck-logo:hover{transform:scale(1.05)}.critical,.status-indicator.critical,.timeline-fill.critical,#primary-number.critical{color:var(--critical)!important;border-color:var(--critical)!important}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));margin:0}html,body,#root{height:100%}.\!container{width:100%!important;margin-right:auto!important;margin-left:auto!important;padding-right:2rem!important;padding-left:2rem!important}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 1400px){.\!container{max-width:1400px!important}.container{max-width:1400px}}.metric-explainer{font-size:.95rem;color:#ffffffb3;margin-top:.5rem;font-style:italic;animation:fadeIn .5s ease-in}.what-if-section{margin-top:1.5rem;padding:1rem;background:#ffffff05;border-radius:12px;border:1px solid rgba(64,224,208,.1)}.what-if-chips{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.what-if-chip{display:flex;flex-direction:column;align-items:center;padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(64,224,208,.3);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;min-width:100px}.what-if-chip:hover{transform:translateY(-2px);box-shadow:0 10px 30px #40e0d04d;background:#ffffff14;border-color:#40e0d080}.chip-label{font-size:.75rem;color:#ffffffb3;margin-bottom:.25rem}.chip-amount{font-size:.875rem;font-weight:600;color:#fff;margin-bottom:.25rem}.chip-impact{font-size:.75rem;font-weight:600;color:#00d68a}.autopilot-slider-container{margin-top:1.5rem;padding:1.25rem;background:linear-gradient(135deg,#40e0d00d,#40e0d005);border-radius:12px;border:1px solid rgba(64,224,208,.2)}.autopilot-title{font-size:1rem;font-weight:600;color:#40e0d0;margin-bottom:1rem;text-align:center}.premium-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:5px;background:linear-gradient(90deg,#ff5470,gold,#00d68a);outline:none;margin:1rem 0}.premium-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#40e0d0;cursor:pointer;box-shadow:0 0 10px #40e0d080;-webkit-transition:all .2s ease;transition:all .2s ease}.premium-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 0 15px #40e0d0b3}.premium-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#40e0d0;cursor:pointer;box-shadow:0 0 10px #40e0d080;border:none}.slider-display{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.slider-value{font-size:1rem;font-weight:600;color:#fff}.slider-impact{font-size:.875rem;font-weight:500;color:#00d68a}.autopilot-apply-btn{width:100%;padding:.75rem;background:linear-gradient(135deg,#40e0d0,#00d68a);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.autopilot-apply-btn:hover{transform:translateY(-1px);box-shadow:0 5px 15px #40e0d066}.schedule-amount{font-size:.75rem;color:#3b82f6;font-weight:500}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}to{transform:scale(1);opacity:1}}.hero-card{-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;background:linear-gradient(135deg,#141928e6,#141928f2)!important}.education-module{max-width:900px;margin:0 auto;padding:24px;color:hsl(var(--foreground));background:hsl(var(--background))}.lesson-nav-btn.\!active{background:hsl(var(--primary))!important;color:hsl(var(--primary-foreground))!important;border-color:hsl(var(--primary))!important}.lesson-nav-btn.active{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.lesson-nav-btn.completed{background:hsl(var(--success) / .1);border-color:hsl(var(--success))}.lesson-nav-btn.\!active .lesson-number{background:hsl(var(--primary-foreground))!important;color:hsl(var(--primary))!important}.lesson-nav-btn.active .lesson-number{background:hsl(var(--primary-foreground));color:hsl(var(--primary))}.lesson-actions .btn{padding:12px 24px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.lesson-actions .btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.lesson-actions .btn-primary:hover{background:hsl(var(--primary) / .9)}.what-if-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.what-if-chip{background:linear-gradient(135deg,#40e0d00d,#40e0d01a);border:1px solid rgba(64,224,208,.3);border-radius:12px;padding:10px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center}.what-if-chip:hover{transform:translateY(-2px);box-shadow:0 8px 24px #40e0d04d;border-color:#40e0d080;background:linear-gradient(135deg,#40e0d01a,#40e0d026)}.chip-label{font-size:11px;text-transform:uppercase;opacity:.7;letter-spacing:.5px;margin-bottom:4px}.chip-amount{font-size:14px;font-weight:600;color:#fff;margin-bottom:2px}.chip-impact.positive{color:#00d68a}.chip-impact.\!positive{color:#00d68a!important}.chip-impact.neutral{color:#40e0d0}.chip-impact.boost{color:gold}@keyframes pulse-ring{0%{transform:translate(-50%,-50%) scale(1);opacity:.6}to{transform:translate(-50%,-50%) scale(1.5);opacity:0}}*{transition:color .2s ease,background-color .2s ease}.hero-card{animation:fadeInUp .5s ease}.details-card{animation:fadeInUp .6s ease}#coach-card{animation:fadeInUp .7s ease}.hero-card{background:linear-gradient(135deg,#141928f2,#1e2332f2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:2.5rem 1.5rem;text-align:center;position:relative;overflow:hidden}.hero-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(64,224,208,.03) 0%,transparent 70%)}:is() .modal-actions button,:is() .btn-ghost{min-width:80px!important;padding:8px 16px!important;font-size:14px!important;white-space:nowrap!important;overflow:visible!important}:is() .close-modal,:is() .close-drawer{width:36px!important;height:36px!important;font-size:24px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;position:absolute!important;top:1rem!important;right:1rem!important;background:#ffffff1a!important;border:1px solid rgba(255,255,255,.2)!important;color:#fff!important;cursor:pointer!important;transition:all .2s!important;z-index:9999!important}:is() .close-modal:hover,:is() .close-drawer:hover{background:#ff4343cc!important;transform:scale(1.1)!important}#primary-number{font-size:clamp(5rem,10vw,7rem)!important;font-weight:200!important;letter-spacing:-.02em!important;margin:0!important;padding:0!important;line-height:1!important;text-shadow:0 0 40px rgba(64,224,208,.3);position:relative;z-index:2}#primary-label{font-size:1rem!important;font-weight:400!important;text-transform:uppercase!important;letter-spacing:.1em!important;opacity:.7!important;margin-top:1rem!important}.hero-card{text-align:center;padding:2rem}#primary-number{font-size:clamp(4rem,8vw,6rem)!important;margin-bottom:1rem;animation:pulseGlow 4s ease-in-out infinite}#primary-label{font-size:1.25rem!important;margin-bottom:.5rem}#metric-explainer-text{font-size:.95rem!important;color:#fffc!important;font-style:italic!important;line-height:1.4!important;margin:8px 0 16px!important}.what-if-section{margin-top:2rem}#metric-explainer-text{font-size:.95rem;color:#fffc;margin:8px 0 16px;font-style:italic;text-align:center;line-height:1.4;animation:fadeInUp .5s ease .2s both;background:linear-gradient(90deg,transparent 0%,rgba(64,224,208,.1) 50%,transparent 100%);padding:8px 16px;border-radius:8px}.what-if-section{margin-top:1.5rem;padding:1.25rem;background:linear-gradient(135deg,#40e0d00d,#40e0d005);border-radius:16px;border:1px solid rgba(64,224,208,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideInUp .6s ease .4s both}.what-if-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.what-if-chip{background:linear-gradient(135deg,#40e0d014,#40e0d01f);border:1px solid rgba(64,224,208,.3);border-radius:12px;padding:12px 8px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:center;position:relative;overflow:hidden}.what-if-chip:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 10px 30px #40e0d04d;border-color:#40e0d099}.chip-label{font-size:11px;text-transform:uppercase;opacity:.8;letter-spacing:.5px;margin-bottom:4px;color:#ffffffe6}.chip-amount{font-size:14px;font-weight:600;color:#fff;margin-bottom:4px}.chip-impact{font-size:13px;font-weight:700}.chip-impact.positive{color:#40e0d0}.chip-impact.\!positive{color:#40e0d0!important}.chip-impact.boost{color:#00d68a;animation:pulse 2s infinite}@keyframes pulse-ring{0%{transform:translate(-50%,-50%) scale(.8);opacity:.7}to{transform:translate(-50%,-50%) scale(1.5);opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}#primary-number{animation:pulseGlow 4s ease-in-out infinite!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}@keyframes pulseGlow{0%,to{text-shadow:0 0 20px rgba(64,224,208,.5);transform:scale(1)}50%{text-shadow:0 0 40px rgba(64,224,208,.8);transform:scale(1.02)}}.hero-card{background:linear-gradient(135deg,#141928f2,#1e2332f2)!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;padding:2.5rem 1.5rem!important;text-align:center!important;position:relative!important;overflow:hidden!important}.hero-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(64,224,208,.03) 0%,transparent 70%);animation:rotate 30s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.metric-chips,.metric-details,#metric-details,#metric-explainer{display:none!important}.what-if-chip{background:#ffffff08!important;border:1px solid rgba(64,224,208,.2)!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;transition:all .4s cubic-bezier(.4,0,.2,1)!important;cursor:pointer!important}.what-if-chip:hover{transform:translateY(-3px) scale(1.02)!important;background:#40e0d014!important;border-color:#40e0d080!important;box-shadow:0 12px 32px #40e0d040!important}.close-modal,.close-drawer{position:absolute!important;top:1rem!important;right:1rem!important;width:32px!important;height:32px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;background:#ffffff1a!important;border:1px solid rgba(255,255,255,.2)!important;color:#fff!important;font-size:1.5rem!important;cursor:pointer!important;transition:all .2s!important;z-index:9999!important}.btn-close{position:absolute!important;top:16px!important;right:16px!important;width:32px!important;height:32px!important;border:none!important;background:transparent!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:8px!important;transition:background .2s ease!important;color:var(--muted)!important;z-index:9999!important}.btn-close:hover{background:var(--surface)!important;color:var(--text)!important;transform:scale(1.05)!important}.education-module{max-width:900px;margin:0 auto;padding:24px;font-family:Inter,-apple-system,sans-serif!important;line-height:1.8!important}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-12{bottom:-3rem}.-bottom-8{bottom:-2rem}.-left-12{left:-3rem}.-right-1{right:-.25rem}.-right-12{right:-3rem}.-top-1{top:-.25rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.bottom-0\.5{bottom:.125rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-0\.5{right:.125rem}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-3{top:.75rem}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.col-span-3{grid-column:span 3 / span 3}.col-span-9{grid-column:span 9 / span 9}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.-mt-px{margin-top:-1px}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.size-4{width:1rem;height:1rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-64{max-height:16rem}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.max-h-screen{max-height:100vh}.min-h-0{min-height:0px}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-0{width:0px}.w-1{width:.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[100px\]{width:100px}.w-\[1px\]{width:1px}.w-\[350px\]{width:350px}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-5{min-width:1.25rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-\[--skeleton-width\]{max-width:var(--skeleton-width)}.max-w-lg{max-width:32rem}.max-w-max{max-width:-moz-max-content;max-width:max-content}.max-w-md{max-width:28rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x: 1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-move{cursor:move}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-\[1\.5px\]{border-width:1.5px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[--color-border\]{border-color:var(--color-border)}.border-amber-200\/30{border-color:#fde68a4d}.border-amber-200\/50{border-color:#fde68a80}.border-amber-500{--tw-border-opacity: 1;border-color:rgb(245 158 11 / var(--tw-border-opacity, 1))}.border-amber-500\/30{border-color:#f59e0b4d}.border-border{border-color:hsl(var(--border))}.border-border\/30{border-color:hsl(var(--border) / .3)}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-green-300{--tw-border-opacity: 1;border-color:rgb(134 239 172 / var(--tw-border-opacity, 1))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-primary\/20{border-color:hsl(var(--primary) / .2)}.border-purple-300{--tw-border-opacity: 1;border-color:rgb(216 180 254 / var(--tw-border-opacity, 1))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-sidebar-border{border-color:hsl(var(--sidebar-border))}.border-success{border-color:hsl(var(--success))}.border-transparent{border-color:transparent}.border-yellow-300{--tw-border-opacity: 1;border-color:rgb(253 224 71 / var(--tw-border-opacity, 1))}.border-l-transparent{border-left-color:transparent}.border-t-popover{border-top-color:hsl(var(--popover))}.border-t-transparent{border-top-color:transparent}.bg-\[--color-bg\]{background-color:var(--color-bg)}.bg-accent{background-color:hsl(var(--accent))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-amber-50\/50{background-color:#fffbeb80}.bg-background{background-color:hsl(var(--background))}.bg-background\/50{background-color:hsl(var(--background) / .5)}.bg-background\/60{background-color:hsl(var(--background) / .6)}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-background\/90{background-color:hsl(var(--background) / .9)}.bg-black\/80{background-color:#000c}.bg-blue-50\/30{background-color:#eff6ff4d}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-card\/95{background-color:hsl(var(--card) / .95)}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/20{background-color:hsl(var(--destructive) / .2)}.bg-foreground{background-color:hsl(var(--foreground))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-500\/10{background-color:#22c55e1a}.bg-green-500\/20{background-color:#22c55e33}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-purple-500\/10{background-color:#a855f71a}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sidebar{background-color:hsl(var(--sidebar-background))}.bg-sidebar-border{background-color:hsl(var(--sidebar-border))}.bg-success\/10{background-color:hsl(var(--success) / .1)}.bg-surface{background-color:hsl(var(--surface))}.bg-transparent{background-color:transparent}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.bg-yellow-500\/10{background-color:#eab3081a}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-\[hsl\(187\,100\%\,50\%\)\]{--tw-gradient-from: hsl(187,100%,50%) var(--tw-gradient-from-position);--tw-gradient-to: hsl(187 100% 50% / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[hsl\(218\,58\%\,9\%\)\]{--tw-gradient-from: hsl(218,58%,9%) var(--tw-gradient-from-position);--tw-gradient-to: hsl(218 58% 9% / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-amber-500\/10{--tw-gradient-from: rgb(245 158 11 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/5{--tw-gradient-from: hsl(var(--primary) / .05) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-background{--tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--background)) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-\[hsl\(162\,100\%\,42\%\)\]{--tw-gradient-to: hsl(162,100%,42%) var(--tw-gradient-to-position)}.to-\[hsl\(187\,100\%\,50\%\,0\.05\)\]{--tw-gradient-to: hsl(187,100%,50%,.05) var(--tw-gradient-to-position)}.to-amber-600\/5{--tw-gradient-to: rgb(217 119 6 / .05) var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to: #2563eb var(--tw-gradient-to-position)}.to-primary\/10{--tw-gradient-to: hsl(var(--primary) / .1) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-10{padding-left:2.5rem}.pl-2\.5{padding-left:.625rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-grotesk{font-family:Space Grotesk,Inter,sans-serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.text-\[hsl\(218\,58\%\,9\%\)\]{--tw-text-opacity: 1;color:hsl(218 58% 9% / var(--tw-text-opacity, 1))}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-muted{color:hsl(var(--muted))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-purple-700{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sidebar-foreground{color:hsl(var(--sidebar-foreground))}.text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground) / .7)}.text-success{color:hsl(var(--success))}.text-success-foreground{color:hsl(var(--success-foreground))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/80{color:#fffc}.text-white\/90{color:#ffffffe6}.text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-primary{--tw-ring-color: hsl(var(--primary))}.ring-ring{--tw-ring-color: hsl(var(--ring))}.ring-sidebar-ring{--tw-ring-color: hsl(var(--sidebar-ring))}.ring-offset-1{--tw-ring-offset-width: 1px}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[margin\,opa\]{transition-property:margin,opa;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in,.fade-in-0{--tw-enter-opacity: 0}.fade-in-80{--tw-enter-opacity: .8}.zoom-in-95{--tw-enter-scale: .95}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.dashboard-grid{display:grid;grid-template-columns:350px 1fr 400px;gap:24px;padding:24px;min-height:100vh}@media (min-width: 768px) and (max-width: 1023px){.dashboard-grid{grid-template-columns:1fr 1fr!important;gap:20px!important;padding:20px!important}.dashboard-grid>.calendar-card{grid-column:1 / -1}}@media (max-width: 767px){.dashboard-grid{display:flex!important;flex-direction:column!important;gap:16px!important;padding:16px!important}.dashboard-grid>*{width:100%!important;max-width:100%!important}.hero-buffer-number{font-size:56px!important}.hero-message{font-size:18px!important}.scenarios-grid{grid-template-columns:1fr!important;gap:12px!important}button,.clickable{min-height:44px!important;min-width:44px!important;padding:12px 16px!important}.calendar-days{gap:2px!important}.calendar-day{font-size:10px!important;padding:4px 2px!important;min-height:32px!important}.coach-card{max-height:60vh!important}.coach-messages{max-height:150px!important}.insights-card{font-size:12px!important}.modal-content{width:95vw!important;max-height:90vh!important;margin:5vh auto!important}}@media (max-width: 360px){.dashboard-grid{padding:12px!important;gap:12px!important}.hero-buffer-number{font-size:48px!important}body{font-size:14px!important}}@media (max-width: 767px){.hide-mobile{display:none!important}}@media (min-width: 768px){.hide-desktop{display:none!important}}.touch-target{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center}button,a,input,select,textarea,.clickable{transition:all .2s cubic-bezier(.4,0,.2,1)}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00000026}button:active:not(:disabled){transform:translateY(0)}*:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.modal-overlay{animation:modalFadeIn .2s ease}.modal-content{animation:modalSlideUp .3s cubic-bezier(.34,1.56,.64,1)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:3px solid rgba(255,255,255,.1);border-top-color:#3b82f6;border-radius:50%;width:24px;height:24px;animation:spin .8s linear infinite}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{background:linear-gradient(90deg,#ffffff0d,#ffffff1a,#ffffff0d);background-size:1000px 100%;animation:shimmer 2s infinite;border-radius:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.advanced-calendar{max-width:320px}.advanced-calendar .grid.grid-cols-7{gap:2px}.advanced-calendar .day-cell{min-height:40px;max-height:52px;padding:4px;font-size:12px}.coach-ia-condensed{padding:12px;background:linear-gradient(135deg,#1e3a8a,#1e40af);border-radius:10px;max-height:180px}.coach-status{font-size:14px;font-weight:600;margin-bottom:8px}.coach-metrics{font-size:12px;line-height:1.4;margin-bottom:8px;color:#e2e8f0}.coach-action{font-size:12px;font-weight:500;color:#5eead4;margin-bottom:8px}.coach-expand-btn{font-size:11px;color:#93c5fd;background:transparent;border:1px solid #3b82f6;padding:4px 10px;border-radius:6px;cursor:pointer;width:100%;transition:all .2s ease}.coach-expand-btn:hover{background:#3b82f626}.coach-details{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1);font-size:11px;line-height:1.5;max-height:180px;overflow-y:auto}.card-header-tabs{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid rgba(64,224,208,.2)}.tab-buttons{display:flex;gap:4px;background:#ffffff08;padding:3px;border-radius:8px}.tab-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:none;color:hsl(var(--muted-foreground));font-size:13px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s;white-space:nowrap}.tab-btn:hover{background:#ffffff0d}.tab-btn.active{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.llm-badge{font-size:10px;background:hsl(var(--accent));color:#0b0d1a;padding:4px 8px;border-radius:8px;font-weight:700}.card-tab-content{padding:1rem;height:calc(100% - 60px);overflow-y:auto}.analysis-content{display:flex;flex-direction:column;gap:1rem}.analysis-summary{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.5rem}.summary-card{background:#ffffff08;padding:.75rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:4px}.summary-card .label{font-size:11px;color:hsl(var(--muted-foreground));text-transform:uppercase}.summary-card .value{font-size:1.25rem;font-weight:600}.summary-card .value.success{color:hsl(var(--success))}.category-bars{display:flex;flex-direction:column;gap:.75rem}.cat-row{display:flex;flex-direction:column;gap:.25rem}.cat-header{display:flex;align-items:center;gap:.5rem;font-size:13px}.cat-icon{font-size:16px}.cat-name{flex:1;color:hsl(var(--muted-foreground))}.cat-amount{font-weight:600}.cat-bar-bg{height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.cat-bar-fill{height:100%;border-radius:3px;transition:width .5s ease}.quick-insights{margin-top:1.5rem;padding:1rem;background:#40e0d008;border-radius:8px;border:1px solid rgba(64,224,208,.15)}.quick-insights h4{font-size:14px;margin-bottom:.75rem;color:hsl(var(--primary))}.quick-insights ul{display:flex;flex-direction:column;gap:.5rem;font-size:13px;color:hsl(var(--muted-foreground));list-style:none;padding:0;margin:0}.quick-insights strong{color:hsl(var(--foreground))}.coach-advice-section{margin-top:1rem;padding:1rem;background:#40e0d00d;border:1px solid rgba(64,224,208,.2);border-radius:12px}.coach-advice-title{font-size:.875rem;color:var(--accent);margin-bottom:.5rem;font-weight:600}.coach-advice-content{font-size:.875rem;color:var(--text);line-height:1.5}button,.btn,.card,input,.modal,.drawer{transition:all .2s cubic-bezier(.4,0,.2,1)}.btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}input:focus,select:focus,textarea:focus{outline:2px solid hsl(var(--primary));outline-offset:2px}.coach-interface{background:hsl(var(--card))!important;border:1px solid hsl(var(--border))!important;color:hsl(var(--foreground))!important}.coach-interface .chat-message{margin-bottom:12px!important}.coach-interface .chat-message div[class*=bg-primary]{background:hsl(var(--primary))!important;color:hsl(var(--primary-foreground))!important}.coach-interface .chat-message div[class*=bg-muted]{background:#ffffff1a!important;color:hsl(var(--foreground))!important;border:1px solid rgba(255,255,255,.2)!important}.coach-interface .scroll-area{background:transparent!important}.coach-interface .scroll-area>div{background:transparent!important}.coach-interface .justify-end>div{background:hsl(var(--primary))!important;color:hsl(var(--primary-foreground))!important;border:none!important}.coach-interface .justify-start>div{background:#ffffff1a!important;color:hsl(var(--foreground))!important;border:1px solid rgba(255,255,255,.2)!important}.coach-interface .action-buttons button{background:hsl(var(--secondary))!important;color:hsl(var(--secondary-foreground))!important;border:1px solid hsl(var(--border))!important}.coach-interface .action-buttons button:hover{background:hsl(var(--secondary) / .8)!important}.coach-interface input{background:hsl(var(--background))!important;color:hsl(var(--foreground))!important;border:1px solid hsl(var(--border))!important}.coach-interface input::-moz-placeholder{color:hsl(var(--muted-foreground))!important}.coach-interface input::placeholder{color:hsl(var(--muted-foreground))!important}.coach-interface .quick-prompts button{background:hsl(var(--muted))!important;color:hsl(var(--foreground))!important;border:1px solid hsl(var(--border))!important}.coach-interface .quick-prompts button:hover{background:hsl(var(--muted) / .8)!important}.coach-interface .card-header{background:hsl(var(--card))!important;color:hsl(var(--foreground))!important;border-bottom:1px solid hsl(var(--border))!important}.coach-interface .card-content{background:hsl(var(--card))!important;color:hsl(var(--foreground))!important}#coach-drawer{position:fixed;right:0;top:0;width:800px!important;height:100vh;background:linear-gradient(135deg,#141928fa,#1e2332fa);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border-left:1px solid rgba(64,224,208,.3);transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:1000;overflow:hidden}#coach-drawer.open{transform:translate(0);box-shadow:-20px 0 60px #00000080}.coach-interface .chat-message>div{max-width:85%!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.what-if-chip:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.what-if-chip:active{transform:scale(.98);max-width:none!important;width:100%!important}.coach-interface .card-content{padding:1.5rem!important}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#40e0d01a;border-bottom:1px solid rgba(64,224,208,.2)}.drawer-header h3{color:#40e0d0;font-size:1.1rem;font-weight:600;margin:0}.btn-close{background:transparent;border:none;color:#ffffffb3;font-size:1.5rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease}.btn-close:hover{background:#ffffff1a;color:#fff}.drawer-content{padding:0;height:calc(100vh - 70px);overflow-y:auto}.hero-explainer-single{font-size:1rem!important;opacity:.8!important;margin:12px 0!important;font-style:italic!important}.category-analysis{margin-top:20px;background:#ffffff05;border:1px solid rgba(64,224,208,.2)}.category-row{padding:12px;border-bottom:1px solid rgba(255,255,255,.05)}.category-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.category-icon{font-size:1.2rem}.category-name{flex:1;font-weight:500}.category-bar{height:4px;background:#ffffff1a;border-radius:2px;margin:8px 0;overflow:hidden}.category-fill{height:100%;transition:width .3s ease}.category-stats{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.amount{font-weight:600;color:hsl(var(--foreground))}.percentage{color:hsl(var(--muted-foreground))}.trend{font-weight:500}.trend.up{color:hsl(var(--destructive))}.trend.down{color:hsl(var(--success))}.category-insights{margin-top:16px;padding:16px;background:#40e0d00d;border-radius:8px}.category-insights h4{margin:0 0 12px;color:#40e0d0;font-size:.9rem;font-weight:600}.category-insights ul{margin:0;padding-left:20px}.category-insights li{margin-bottom:8px;font-size:.85rem;color:hsl(var(--muted-foreground))}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:1.5rem;margin:1.5rem 0;width:100%;max-width:1400px;margin-left:auto;margin-right:auto;padding:0 1rem}.hero-card,.details-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000001a;transition:all .3s ease;min-height:400px;min-width:0;overflow:hidden}.hero-card:hover,.details-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}@media (max-width: 1024px){.dashboard-grid{grid-template-columns:1fr;gap:1rem}}.coach-interface{min-width:100%;max-width:none!important}.coach-interface .chat-message{width:100%}.coach-interface .chat-message>div{word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.5;max-width:none!important;width:100%!important}#coach-drawer{position:fixed;right:0;top:0;width:480px;height:100vh;background:linear-gradient(135deg,#141928fa,#1e2332fa);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border-left:1px solid rgba(64,224,208,.3);transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:1000;box-shadow:-20px 0 60px #00000080;overflow:hidden}#coach-drawer.open{transform:translate(0)}.coach-interface{height:100%;border:none!important;background:transparent!important}.coach-interface .card-header{background:linear-gradient(135deg,rgba(64,224,208,.1) 0%,transparent 100%);border-bottom:1px solid rgba(64,224,208,.2);padding:1.5rem}.coach-interface .chat-message{animation:slideInUp .3s ease}@keyframes slideInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.entry-category{font-size:12px;color:var(--muted-foreground);margin-bottom:4px;display:block}.what-if-chip{transition:all .2s cubic-bezier(.4,0,.2,1)}.what-if-chip:hover{transform:scale(1.03);box-shadow:0 4px 12px #0003}.what-if-chip:active{transform:scale(.98)}.what-if-chip[data-active=true]{animation:pulse-subtle 2s ease-in-out infinite}@keyframes pulse-subtle{0%,to{box-shadow:0 0 #22c55e66}50%{box-shadow:0 0 0 6px #22c55e00}}.unified-card-content{position:relative;display:flex;flex-direction:column;height:100%}.unified-card-content>div:first-child{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.unified-card-content>div:first-child::-webkit-scrollbar{width:6px}.unified-card-content>div:first-child::-webkit-scrollbar-track{background:transparent}.unified-card-content>div:first-child::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.unified-card-content>div:first-child::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}.coach-sticky-section,.banking-sticky-bottom{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.unified-card-content{scroll-behavior:smooth}.coach-sticky-section,.banking-sticky-bottom{will-change:transform;transform:translateZ(0)}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.btn-header-banking:hover{background:linear-gradient(135deg,#6366f140,#a855f740)!important;border-color:hsl(var(--primary))!important;box-shadow:0 4px 16px #6366f14d!important;transform:translateY(-1px)}.btn-header-banking:active{transform:translateY(0);box-shadow:0 2px 8px #6366f133!important}.modal-overlay{animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content-banking{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.modal-content-banking::-webkit-scrollbar{width:6px}.modal-content-banking::-webkit-scrollbar-track{background:transparent}.modal-content-banking::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.modal-content-banking::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}.projects-view-premium{padding:24px;max-width:900px;margin:0 auto;min-height:calc(100vh - 120px)}.projects-header-premium{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid hsl(217 32.6% 25%)}.projects-header-premium .header-content h1{font-size:28px;font-weight:700;color:#f8fafc;margin-bottom:6px}.projects-header-premium .header-subtitle{font-size:15px;color:#94a3b8;margin:0}.btn-new-project{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#3c83f6,#22c35d);color:#fff;font-weight:600;font-size:14px;border-radius:10px;border:none;cursor:pointer;transition:all .2s;flex-shrink:0}.btn-new-project:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3c83f666}.projects-list-clean{display:flex;flex-direction:column;gap:20px;max-width:800px;margin:0 auto}.project-card-premium{background:#0f1729;border:1px solid hsl(217 32% 25%);border-radius:16px;padding:24px;transition:all .2s ease;cursor:pointer}.project-card-premium:hover{border-color:#3c83f6;box-shadow:0 4px 16px #3c83f633;transform:translateY(-2px)}.project-card-header{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid hsl(217 32% 20%)}.project-icon-large{font-size:40px;flex-shrink:0}.project-title-section{flex:1;min-width:0}.project-title-section h3{font-size:18px;font-weight:600;color:#f8fafc;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-phase-badge{display:inline-block;padding:4px 10px;background:#3c83f633;color:#6ecbf7;font-size:11px;font-weight:600;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.btn-icon-delete{padding:8px;background:#ffffff0d;border:1px solid hsl(217 32% 25%);border-radius:8px;color:#ef4343;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-icon-delete:hover{background:#ef434326;border-color:#ef4343}.project-amounts-display{display:flex;align-items:baseline;justify-content:flex-start;gap:8px;margin-bottom:16px;padding:12px 16px;background:#0b111e;border-radius:10px;border:1px solid hsl(217 32% 20%)}.amount-saved{display:flex;align-items:baseline;gap:6px}.amount-value{font-size:28px;font-weight:700;color:#6ecbf7}.amount-currency{font-size:14px;color:#94a3b8;font-weight:500}.amount-separator{font-size:24px;color:#667b99;margin:0 4px}.amount-target{display:flex;align-items:baseline;gap:6px}.amount-value-target{font-size:22px;font-weight:600;color:#dbe6f0}.project-progress-container{margin-bottom:16px}.progress-bar-premium{position:relative;width:100%;height:12px;background:#141f38;border-radius:6px;overflow:hidden;margin-bottom:8px}.progress-fill-premium{height:100%;background:linear-gradient(90deg,#3c83f6,#22c35d);border-radius:6px;transition:width .6s ease;position:relative}.progress-shimmer{display:none}.progress-label-premium{text-align:right;font-size:13px;color:#dbe6f0;font-weight:500;padding-right:4px}.milestone-marker{display:none}.next-milestone-section{display:flex;align-items:flex-start;gap:12px;padding:14px;background:#0b111e;border:1px solid hsl(217 32% 20%);border-radius:10px;margin-bottom:12px}.next-milestone-section svg{color:#6ecbf7;flex-shrink:0;margin-top:2px}.milestone-text{flex:1}.milestone-name{display:block;font-size:13px;font-weight:600;color:#f8fafc;margin-bottom:8px}.milestone-progress-mini{width:100%;height:4px;background:#141f38;border-radius:2px;overflow:hidden;margin-bottom:6px}.milestone-progress-fill{height:100%;background:#6ecbf7;border-radius:2px;transition:width .3s ease}.milestone-percentage{font-size:12px;color:#a3b0c2;font-weight:500}.project-quick-stats{display:flex;gap:12px;flex-wrap:wrap}.stat-item{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#0b111e;border:1px solid hsl(217 32% 20%);border-radius:8px;font-size:13px;color:#dbe6f0;font-weight:500}.stat-item svg{color:#94a3b8;flex-shrink:0}.stat-item.streak{background:#db770626;border-color:#db77064d;color:#fa9f38}.empty-state-premium{text-align:center;padding:80px 24px;background:#0b111e;border-radius:20px;border:2px dashed hsl(217 32% 25%)}.empty-state-premium .empty-icon{font-size:64px;margin-bottom:24px}.empty-state-premium h2{font-size:24px;font-weight:600;color:#f8fafc;margin-bottom:12px}.empty-state-premium p{font-size:16px;color:#a3b0c2;max-width:400px;margin:0 auto 32px;line-height:1.6}.btn-create-first{padding:14px 28px;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--success)));color:hsl(var(--primary-foreground));font-weight:600;font-size:15px;border-radius:12px;border:none;cursor:pointer;transition:transform .2s}.btn-create-first:hover{transform:scale(1.05)}.loading-projects{display:flex;align-items:center;justify-content:center;height:400px;font-size:18px;color:hsl(var(--muted-foreground))}.projects-container{padding:24px;max-width:1400px;margin:0 auto;min-height:calc(100vh - 120px)}.projects-view{width:100%}.projects-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;flex-wrap:wrap;gap:16px}.projects-header h1{font-size:28px;font-weight:700;color:hsl(var(--foreground));letter-spacing:-.5px}.btn-add-project{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)));color:hsl(var(--primary-foreground));padding:12px 24px;border-radius:10px;font-weight:600;font-size:14px;border:none;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px hsla(var(--primary),.3)}.btn-add-project:hover{transform:translateY(-2px);box-shadow:0 6px 20px hsla(var(--primary),.4)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.project-card{background:linear-gradient(135deg,hsl(var(--card)),hsl(var(--background)));border:1px solid hsl(var(--border));border-radius:16px;padding:24px;transition:all .2s ease}.project-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px hsla(var(--primary),.15);border-color:hsla(var(--primary),.3)}.project-card-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.project-card-icon{font-size:32px}.project-card-title{flex:1;font-size:18px;font-weight:600;color:hsl(var(--foreground));margin:0}.project-btn-icon{background:transparent;border:none;color:hsl(var(--muted-foreground));cursor:pointer;padding:6px;border-radius:6px;transition:all .2s ease}.project-btn-icon:hover{color:hsl(var(--destructive));background:hsla(var(--destructive),.1)}.project-amounts{display:flex;justify-content:space-between;margin-bottom:16px}.project-amount-item{display:flex;flex-direction:column}.project-amount-label{font-size:12px;color:hsl(var(--muted-foreground));margin-bottom:4px}.project-amount-value{font-size:20px;font-weight:700}.project-amount-value.saved{color:hsl(var(--success))}.project-amount-value.target{color:hsl(var(--foreground))}.project-progress-bar{width:100%;height:12px;background:hsla(var(--foreground),.1);border-radius:6px;overflow:hidden;margin-bottom:8px}.project-progress-fill{height:100%;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--success)));transition:width .4s ease;border-radius:6px}.project-progress-label{text-align:center;font-size:14px;font-weight:600;color:hsl(var(--muted-foreground));margin-bottom:12px}.project-remaining{font-size:14px;color:hsl(var(--foreground));opacity:.8}.project-deadline{font-size:13px;color:hsl(var(--muted-foreground));margin-top:8px}.project-months-left{color:hsl(var(--warning));font-weight:500}.project-recommendation{font-size:13px;color:hsl(var(--primary));margin-top:12px;padding:10px;background:hsla(var(--primary),.08);border-radius:8px;border-left:3px solid hsl(var(--primary))}.project-add-funds-btn{width:100%;padding:12px;margin-top:16px;background:hsla(var(--foreground),.05);border:1px dashed hsla(var(--foreground),.2);border-radius:8px;color:hsl(var(--foreground));font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.project-add-funds-btn:hover{background:hsla(var(--primary),.1);border-color:hsl(var(--primary));color:hsl(var(--primary))}.project-funds-form{margin-top:16px;display:flex;flex-direction:column;gap:10px}.project-funds-form input{width:100%;padding:10px;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:8px;color:hsl(var(--foreground));font-size:14px}.project-funds-form input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsla(var(--primary),.15)}.project-funds-actions{display:flex;gap:8px}.project-funds-btn{flex:1;padding:10px;border-radius:8px;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:all .2s ease;border:none}.project-funds-btn.deposit{background:hsl(var(--success));color:#fff}.project-funds-btn.deposit:hover{background:hsl(var(--success) / .9)}.project-funds-btn.withdraw{background:hsl(var(--warning));color:#fff}.project-funds-btn.withdraw:hover{background:hsl(var(--warning) / .9)}.project-funds-btn.cancel{flex:0;padding:10px 14px;background:hsla(var(--foreground),.1);color:hsl(var(--muted-foreground))}.project-funds-btn.cancel:hover{background:hsla(var(--destructive),.1);color:hsl(var(--destructive))}.empty-state-projects{text-align:center;padding:80px 24px;background:hsla(var(--foreground),.02);border-radius:20px;border:2px dashed hsla(var(--foreground),.1)}.empty-icon-projects{font-size:64px;margin-bottom:24px}.empty-state-projects h2{font-size:24px;color:hsl(var(--foreground));margin-bottom:12px;font-weight:600}.empty-state-projects p{font-size:16px;color:hsl(var(--muted-foreground));margin-bottom:32px}.project-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#070a13e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}.project-modal-content{background:#0f1729;border:1px solid hsl(217 32% 25%);border-radius:20px;padding:0;max-width:500px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.project-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid hsl(217 32% 20%)}.project-modal-header h2{font-size:22px;font-weight:700;color:#f8fafc;margin:0}.project-modal-header .btn-close{padding:6px;background:transparent;border:none;color:#94a3b8;cursor:pointer;border-radius:6px;transition:all .2s;display:flex}.project-modal-header .btn-close:hover{background:#141f38;color:#f8fafc}.project-form-error{padding:12px;background:#ef434326;border:1px solid hsl(0 84% 60%);border-radius:8px;color:#f37272;font-size:14px;margin-bottom:16px}.project-modal-content form{padding:24px;overflow-y:auto;flex:1}.project-form-group{margin-bottom:24px}.project-form-group label{display:block;font-size:14px;font-weight:600;color:#f8fafc;margin-bottom:10px}.project-form-group input{width:100%;padding:12px 14px;background:#0b111e;border:1px solid hsl(217 32% 25%);border-radius:10px;color:#f8fafc;font-size:15px;transition:all .2s ease}.project-form-group input:focus{outline:none;border-color:#3c83f6;box-shadow:0 0 0 4px #3c83f633}.project-form-group input::-moz-placeholder{color:#667b99}.project-form-group input::placeholder{color:#667b99}.project-icon-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.project-icon-option{aspect-ratio:1;display:flex;align-items:center;justify-content:center;padding:0;font-size:24px;background:#0b111e;border:2px solid hsl(217 32% 25%);border-radius:10px;cursor:pointer;transition:all .2s ease}.project-icon-option:hover{background:#141f38;border-color:#3d5376}.project-icon-option.selected{border-color:#3c83f6;background:#3c83f626;box-shadow:0 0 0 3px #3c83f633}.project-modal-actions{display:flex;gap:12px;justify-content:flex-end;padding:20px 24px;border-top:1px solid hsl(217 32% 20%);background:#0f1729}.project-btn-secondary{padding:12px 20px;background:#141f38;border:1px solid hsl(217 32% 25%);border-radius:10px;color:#b3bdcc;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.project-btn-secondary:hover{background:#1b294b;border-color:#3d5376;color:#f8fafc}.project-btn-primary{padding:12px 24px;background:linear-gradient(135deg,#3c83f6,#22c35d);border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #3c83f64d}.project-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3c83f666}.project-btn-primary:disabled,.project-btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 767px){.projects-view-premium{padding:16px}.projects-header-premium{flex-direction:column;align-items:stretch;gap:16px}.projects-header-premium .header-content h1{font-size:22px;text-align:center}.btn-new-project{justify-content:center}.projects-list-clean{gap:16px}.project-icon-picker{grid-template-columns:repeat(5,1fr)}.project-modal-content{max-height:95vh;border-radius:16px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#070a13e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;animation:modalFadeIn .2s ease}.modal-content-large{background:#0f1729;border:1px solid hsl(217 32% 25%);border-radius:20px;max-width:800px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.modal-header-premium{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid hsl(217 32% 20%);flex-shrink:0;background:#0f1729}.modal-title-section{display:flex;align-items:center;gap:16px}.project-icon-modal{font-size:48px;flex-shrink:0}.modal-title-section h2{font-size:22px;font-weight:600;color:#f8fafc;margin:0 0 4px}.modal-subtitle{font-size:15px;color:#94a3b8;margin:0}.modal-header-premium .btn-close{padding:8px;background:#141f38;border:1px solid hsl(217 32% 25%);border-radius:8px;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-header-premium .btn-close:hover{background:#1b294b;color:#f8fafc}.modal-body-premium{flex:1;overflow-y:auto;padding:24px;background:#0b111e}.recommendations-section{margin-bottom:28px;margin-left:0;margin-right:0}.action-plan-section{margin-left:0;margin-right:0}.recommendations-section h3{font-size:18px;font-weight:600;color:#f8fafc;margin:0 0 16px}.recommendations-grid{display:flex;flex-direction:column;gap:12px}.recommendation-card{padding:16px;border-radius:12px;border-left:4px solid;background:#0f1729}.recommendation-card.transfer{border-color:#3c83f6;background:#3c83f614}.recommendation-card.alert{border-color:#f9941f;background:#f9941f14}.recommendation-card.optimize{border-color:#22c35d;background:#22c35d14}.rec-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.rec-title{font-weight:600;font-size:15px;color:#f8fafc}.btn-rec-action{padding:6px 12px;background:#ffffff1a;border:1px solid hsla(0 0% 100% / .2);border-radius:6px;color:#f8fafc;font-size:12px;cursor:pointer;transition:all .2s}.btn-rec-action:hover{background:#fff3}.rec-description{font-size:14px;color:#b3bdcc;line-height:1.5;margin:0 0 10px}.rec-impact{display:inline-block;padding:4px 10px;background:#2bd4bd26;color:#80e5d8;font-size:12px;font-weight:600;border-radius:6px}.action-plan-section{margin-bottom:28px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h3{font-size:18px;font-weight:600;color:#f8fafc;margin:0}.projected-timeline{padding:6px 14px;background:#2bd4bd26;color:#80e5d8;border-radius:8px;font-size:13px;font-weight:600}.phases-container{display:flex;flex-direction:column;gap:20px}.phase-card{padding:20px;background:#0f1729;border:1px solid hsl(217 32% 25%);border-radius:14px}.phase-header{display:flex;align-items:center;gap:14px;margin-bottom:16px}.phase-number{display:flex;align-items:center;justify-content:center;min-width:52px;height:52px;background:linear-gradient(135deg,#2bd4bd,#0da2e7);color:#0f1729;font-weight:700;font-size:13px;border-radius:12px;flex-shrink:0;padding:0 12px}.phase-info{flex:1}.phase-info h4{font-size:17px;font-weight:600;color:#f8fafc;margin:0 0 4px}.phase-duration{font-size:13px;color:#94a3b8;margin:0}.phase-goal{display:flex;align-items:center;gap:10px;padding:12px;background:#3c83f614;border:1px solid hsla(217 91% 60% / .2);border-radius:10px;margin-bottom:12px}.goal-label{font-weight:600;color:#6da2f8;font-size:13px;flex-shrink:0}.goal-text{font-size:14px;color:#dbe6f0;line-height:1.4}.phase-target{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#2bd4bd1a;border-radius:8px;margin-bottom:16px;color:#80e5d8;font-weight:600;font-size:14px}.phase-target svg{flex-shrink:0}.phase-actions{display:flex;flex-direction:column;gap:10px}.action-item{display:flex;gap:12px;padding:14px;background:#0b111e;border:1px solid hsl(217 32% 20%);border-radius:10px;transition:all .2s}.action-item:hover{border-color:#344765;background:#0f172999}.action-checkbox{flex-shrink:0;width:20px;height:20px;border:2px solid hsl(217 32% 35%);border-radius:6px;display:flex;align-items:center;justify-content:center;background:transparent;margin-top:2px}.action-checkbox svg{color:#2bd4bd}.action-content{flex:1;min-width:0}.action-title-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.action-title{font-weight:600;font-size:14px;color:#f8fafc;flex:1}.action-difficulty{padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;flex-shrink:0}.action-difficulty.easy{background:#22c35d26;color:#67e495}.action-difficulty.medium{background:#f9941f26;color:#fbb76a}.action-difficulty.hard{background:#ef434326;color:#f37272}.action-description{font-size:13px;color:#94a3b8;line-height:1.5;margin:0 0 8px}.action-impact{display:inline-block;padding:4px 10px;background:#2bd4bd1f;color:#80e5d8;font-size:12px;font-weight:600;border-radius:6px}.contribution-section{padding-top:20px;border-top:1px solid hsl(217 32% 20%)}.btn-add-contribution{display:flex;align-items:center;gap:8px;width:100%;padding:14px 16px;background:#0f1729;border:2px dashed hsl(217 32% 25%);border-radius:10px;color:#80e5d8;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-add-contribution:hover{background:#2bd4bd1a;border-color:#2bd4bd}.contribution-form{display:flex;gap:10px;margin-top:12px}.contribution-input{flex:1;padding:12px 14px;background:#0b111e;border:1px solid hsl(217 32% 25%);border-radius:8px;color:#f8fafc;font-size:15px}.contribution-input:focus{outline:none;border-color:#2bd4bd}.contribution-input::-moz-placeholder{color:#667b99}.contribution-input::placeholder{color:#667b99}.btn-confirm-contribution{padding:12px 20px;background:linear-gradient(135deg,#2bd4bd,#0da2e7);color:#0f1729;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-confirm-contribution:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2bd4bd4d}.btn-confirm-contribution:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 768px){.modal-content-large{width:100%;max-height:95vh;border-radius:16px 16px 0 0}.modal-header-premium,.modal-body-premium{padding:20px}.phase-card{padding:16px}.action-item{padding:12px}.section-header{flex-direction:column;align-items:flex-start;gap:10px}}.chat-messages-container{padding:20px;display:flex;flex-direction:column;gap:16px}.coach-message-user-container{display:flex;flex-direction:column;align-items:flex-end;gap:4px;animation:slideInMessage .3s ease-out}.user-message-bubble{max-width:75%;padding:14px 18px;background:linear-gradient(135deg,#1abc9c,#08b2c9);color:#0f1729;border-radius:18px 18px 4px;font-size:15px;line-height:1.6;font-weight:500;box-shadow:0 2px 8px #1abc9c40;word-wrap:break-word}.coach-message-ai-container{display:flex;flex-direction:column;align-items:flex-start;width:100%;animation:slideInMessage .3s ease-out}.ai-message-card-full{width:100%;background:#1d283a;border:1px solid hsl(217 33% 25%);border-radius:16px;overflow:hidden;box-shadow:0 2px 16px #0f17294d}.ai-msg-header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-left:4px solid}.header-content{display:flex;align-items:center;gap:10px}.severity-text{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:1px}.msg-timestamp{font-size:11px;color:#667b99;font-weight:500}.metrics-highlight-row{display:flex;flex-wrap:wrap;gap:10px;padding:14px 18px;background:#0f1729;border-bottom:1px solid hsl(217 33% 25%)}.metric-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#1abc9c1f;border:1px solid hsla(168 76% 42% / .3);border-radius:8px;color:#72f3d5;font-weight:600;font-size:14px}.metric-badge svg{flex-shrink:0}.metric-value{display:flex;align-items:baseline;gap:2px}.metric-unit{font-size:12px;opacity:.8}.ai-msg-body{padding:18px}.intro-text{font-size:15px;line-height:1.7;color:#dbe6f0;margin:0}.action-plan-section{padding:18px;background:#0f1729;border-top:1px solid hsl(217 33% 25%)}.plan-header{display:flex;align-items:center;gap:8px;margin-bottom:14px}.plan-icon{font-size:18px}.plan-title{font-size:13px;font-weight:700;color:#72f3d5;text-transform:uppercase;letter-spacing:.8px}.actions-list-structured{display:flex;flex-direction:column;gap:12px}.action-step-card{padding:14px;background:#1d283a;border:1px solid hsl(217 33% 25%);border-radius:12px;transition:all .2s ease}.action-step-card:hover{border-color:#1abc9c;background:#1abc9c0a;transform:translate(3px)}.action-step-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.step-number{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;background:linear-gradient(135deg,#1abc9c,#08b2c9);color:#0f1729;font-weight:700;font-size:14px;border-radius:8px;flex-shrink:0}.action-icon-emoji{font-size:20px;flex-shrink:0}.action-step-title{font-size:15px;font-weight:600;color:#f1f5f9;flex:1}.action-step-description{font-size:14px;line-height:1.6;color:#b3bdcc;margin:0 0 10px;padding-left:48px}.action-impact-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#21c45d1f;border:1px solid hsla(142 71% 45% / .3);color:#86eeac;border-radius:8px;font-size:13px;font-weight:600;margin-left:48px}.action-impact-chip svg{flex-shrink:0}@keyframes slideInMessage{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-loading{display:flex;gap:6px;padding:16px}.message-loading span{width:8px;height:8px;background:#72f3d5;border-radius:50%;animation:messageDot 1.4s infinite ease-in-out}.message-loading span:nth-child(2){animation-delay:.2s}.message-loading span:nth-child(3){animation-delay:.4s}@keyframes messageDot{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}@media (max-width: 768px){.user-message-bubble{max-width:85%}.metrics-highlight-row{padding:12px}.ai-msg-body,.action-plan-section{padding:14px}.action-step-description,.action-impact-chip{padding-left:0;margin-left:0}}.coach-side-panel,[class*=coach][class*=panel],.coach-panel-container{position:fixed;right:0;top:0;bottom:0;width:600px;max-width:90vw;height:100vh;display:flex;flex-direction:column}.panel-header,[class*=panel][class*=header],.coach-header{flex-shrink:0;padding:12px 16px;min-height:50px;border-bottom:1px solid hsl(var(--border))}.panel-messages,.chat-messages-list,[class*=panel][class*=messages],.coach-messages-container{flex:1;overflow-y:auto;padding:16px;gap:14px;min-height:0}.panel-input,[class*=panel][class*=input],.coach-input-container{flex-shrink:0;position:sticky;bottom:0;padding:16px;background:hsl(var(--background));border-top:1px solid hsl(var(--border));margin-top:auto}.ai-message-card-full,.coach-message-ai-container,.coach-message-user-container{margin-bottom:0}.main-message-text,.intro-text{font-size:14px;line-height:1.6}.action-step-title{font-size:14px}.action-step-description{font-size:13px;line-height:1.5}.user-message-bubble{font-size:14px;padding:12px 16px}.ai-msg-header{padding:10px 16px}.ai-msg-body,.action-plan-section{padding:14px 16px}.action-step-card{padding:12px}.panel-messages::-webkit-scrollbar,.coach-messages-container::-webkit-scrollbar{width:6px}.panel-messages::-webkit-scrollbar-track,.coach-messages-container::-webkit-scrollbar-track{background:hsl(var(--muted))}.panel-messages::-webkit-scrollbar-thumb,.coach-messages-container::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground) / .5);border-radius:3px}.panel-messages::-webkit-scrollbar-thumb:hover,.coach-messages-container::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground) / .7)}.advanced-calendar .file\:text-sm.text-muted-foreground::file-selector-button{color:#8896aa!important;font-weight:500}.dark .advanced-calendar .file\:text-sm.text-muted-foreground::file-selector-button{color:#a3b0c2!important;font-weight:500}.advanced-calendar .file\:text-sm::file-selector-button{color:#ffffffb8!important}.placeholder\:text-muted-foreground::-moz-placeholder{color:#7f8ea3!important}.placeholder\:text-muted-foreground::placeholder{color:#7f8ea3!important}.dark .placeholder\:text-muted-foreground::-moz-placeholder{color:#94a3b8!important}.dark .placeholder\:text-muted-foreground::placeholder{color:#94a3b8!important}.advanced-calendar .placeholder\:text-muted-foreground.text-sm::-moz-placeholder{color:#8896aa!important;font-weight:500}.advanced-calendar .placeholder\:text-muted-foreground.text-sm::placeholder{color:#8896aa!important;font-weight:500}.dark .advanced-calendar .placeholder\:text-muted-foreground.text-sm::-moz-placeholder{color:#a3b0c2!important;font-weight:500}.dark .advanced-calendar .placeholder\:text-muted-foreground.text-sm::placeholder{color:#a3b0c2!important;font-weight:500}.hover\:text-muted-foreground:hover{color:#7f8ea3!important}.dark .hover\:text-muted-foreground:hover{color:#94a3b8!important}.advanced-calendar .hover\:text-muted-foreground:hover.text-sm{color:#8896aa!important;font-weight:500}.dark .advanced-calendar .hover\:text-muted-foreground:hover.text-sm{color:#a3b0c2!important;font-weight:500}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:#7f8ea3!important}.dark .group.toast .group-\[\.toast\]\:text-muted-foreground{color:#94a3b8!important}.advanced-calendar .group.toast .group-\[\.toast\]\:text-muted-foreground.text-sm{color:#8896aa!important;font-weight:500}.dark .advanced-calendar .group.toast .group-\[\.toast\]\:text-muted-foreground.text-sm{color:#a3b0c2!important;font-weight:500}.aria-selected\:text-muted-foreground[aria-selected=true]{color:#7f8ea3!important}.dark .aria-selected\:text-muted-foreground[aria-selected=true]{color:#94a3b8!important}.advanced-calendar .aria-selected\:text-muted-foreground[aria-selected=true].text-sm{color:#8896aa!important;font-weight:500}.dark .advanced-calendar .aria-selected\:text-muted-foreground[aria-selected=true].text-sm{color:#a3b0c2!important;font-weight:500}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:#7f8ea3!important}.dark .data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:#94a3b8!important}.advanced-calendar .data-\[state\=open\]\:text-muted-foreground[data-state=open].text-sm{color:#8896aa!important;font-weight:500}.dark .advanced-calendar .data-\[state\=open\]\:text-muted-foreground[data-state=open].text-sm{color:#a3b0c2!important;font-weight:500}@media (min-width: 768px){.advanced-calendar .md\:text-sm.text-muted-foreground{color:#8896aa!important;font-weight:500}.dark .advanced-calendar .md\:text-sm.text-muted-foreground{color:#a3b0c2!important;font-weight:500}.advanced-calendar .md\:text-sm{color:#ffffffb8!important}}.\[\&\>svg\]\:text-muted-foreground>svg{color:#7f8ea3!important}.dark .\[\&\>svg\]\:text-muted-foreground>svg{color:#94a3b8!important}.advanced-calendar .\[\&\>svg\]\:text-muted-foreground>svg.text-sm{color:#8896aa!important;font-weight:500}.dark .advanced-calendar .\[\&\>svg\]\:text-muted-foreground>svg.text-sm{color:#a3b0c2!important;font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:#7f8ea3!important}.dark .\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:#94a3b8!important}.advanced-calendar .\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading].text-sm{color:#8896aa!important;font-weight:500}.dark .advanced-calendar .\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading].text-sm{color:#a3b0c2!important;font-weight:500}.advanced-calendar .\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{color:#ffffffb8!important}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);top:-.5rem;right:-.5rem;bottom:-.5rem;left:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-width:1px}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.last\:border-r-0:last-child{border-right-width:0px}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/20:hover{background-color:hsl(var(--muted) / .2)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/10:hover{background-color:hsl(var(--primary) / .1)}.hover\:bg-primary\/20:hover{background-color:hsl(var(--primary) / .2)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-sidebar-accent:hover{background-color:hsl(var(--sidebar-accent))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.hover\:text-destructive\/80:hover{color:hsl(var(--destructive) / .8)}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\:text-green-700:hover{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-sidebar-accent-foreground:hover{color:hsl(var(--sidebar-accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:hsl(var(--sidebar-border))}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-primary:focus{background-color:hsl(var(--primary))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-sidebar-ring:focus-visible{--tw-ring-color: hsl(var(--sidebar-ring))}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--background))}.active\:bg-sidebar-accent:active{background-color:hsl(var(--sidebar-accent))}.active\:text-sidebar-accent-foreground:active{color:hsl(var(--sidebar-accent-foreground))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group\/menu-item:hover .group-hover\/menu-item\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-0{opacity:0}.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity: 1;color:rgb(254 242 242 / var(--tw-text-opacity, 1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color: hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color: #dc2626}.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]){background-color:hsl(var(--sidebar-background))}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8{padding-right:2rem}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:bg-accent\/50[aria-selected=true]{background-color:hsl(var(--accent) / .5)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.aria-selected\:opacity-30[aria-selected=true]{opacity:.3}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x: var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x: var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:hsl(var(--sidebar-accent))}.data-\[active\]\:bg-accent\/50[data-active]{background-color:hsl(var(--accent) / .5)}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on],.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--accent) / .5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:hsl(var(--sidebar-accent-foreground))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on],.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity: 0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity: .8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale: .9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x: 13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x: -13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x: 13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x: -13rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state=open]{background-color:hsl(var(--sidebar-accent))}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state=open]{color:hsl(var(--sidebar-accent-foreground))}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{left:calc(var(--sidebar-width) * -1)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{right:calc(var(--sidebar-width) * -1)}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!size-8{width:2rem!important;height:2rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\]{width:var(--sidebar-width-icon)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]{width:calc(var(--sidebar-width-icon) + 1rem)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]{width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0px}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\[side\=right\]\:rotate-180,.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:var(--radius)}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border-sidebar-border{border-color:hsl(var(--sidebar-border))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-0{padding:0!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-2{padding:.5rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover{background-color:hsl(var(--sidebar-background))}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer[data-variant=inset]~.peer-data-\[variant\=inset\]\:min-h-\[calc\(100svh-theme\(spacing\.4\)\)\]{min-height:calc(100svh - 1rem)}.peer\/menu-button[data-active=true]~.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}.dark\:bg-blue-950\/10:is(.dark *){background-color:#1725541a}@media (min-width: 640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:max-w-sm{max-width:24rem}.sm\:max-w-xl{max-width:36rem}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:.625rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y: 100%}}@media (min-width: 768px){.md\:absolute{position:absolute}.md\:block{display:block}.md\:flex{display:flex}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-2xl{max-width:42rem}.md\:max-w-\[420px\]{max-width:420px}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:opacity-0{opacity:0}.after\:md\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-state=collapsed][data-variant=inset]~.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}@media (min-width: 1024px){.lg\:max-w-3xl{max-width:48rem}}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:hsl(var(--accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:hsl(var(--accent) / .5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y: -3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-3\.5>svg{width:.875rem;height:.875rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\]\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:hsl(var(--sidebar-accent-foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:hsl(var(--border) / .5)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{outline:2px solid transparent;outline-offset:2px}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted))}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector,.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{outline:2px solid transparent;outline-offset:2px}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{cursor:e-resize}:root{--bg: #0B0D1A;--surface: #161829;--card: #1F2133;--border: #2A2D45;--text: #F1F3FF;--muted: #9CA3B8;--accent: #00E5C7;--accent-soft: rgba(0, 229, 199, .12);--accent-bright: #1DFCE8;--danger: #FF5470;--warn: #FFAD33;--success: #00D68A;--purple: #8B5CF6;--blue: #3B82F6;--gradient-primary: linear-gradient(135deg, #00E5C7 0%, #1DFCE8 50%, #00D68A 100%);--gradient-danger: linear-gradient(135deg, #FF5470 0%, #FF7A8A 100%);--gradient-card: linear-gradient(145deg, rgba(31, 33, 51, .8) 0%, rgba(22, 24, 41, .9) 100%);--shadow: 0 25px 50px rgba(0,0,0,.4);--shadow-soft: 0 10px 25px rgba(0,0,0,.2);--radius: 20px;--gap: 24px}[data-theme=light]{--bg: #FAFBFF;--surface: #FFFFFF;--card: #FFFFFF;--border: #E8EAFF;--text: #1A1D33;--muted: #6B7280;--shadow: 0 15px 35px rgba(0,0,0,.08);--shadow-soft: 0 5px 15px rgba(0,0,0,.04)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.container{min-height:100vh;display:flex;flex-direction:column;max-width:1280px;margin:0 auto;padding:0 24px}header{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:sticky;top:0;z-index:100;background:#0b0d1acc}.logo{display:flex;align-items:center;gap:16px;font-size:26px;font-weight:800;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo svg{width:36px;height:36px;filter:drop-shadow(0 2px 4px rgba(0,229,199,.3))}.header-actions{display:flex;align-items:center;gap:16px}.btn{padding:12px 20px;border-radius:16px;border:none;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;display:inline-flex;align-items:center;gap:8px;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease}.btn:hover:before{left:100%}.btn-primary{background:var(--gradient-primary);color:#0b0d1a;box-shadow:0 8px 24px #00e5c74d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 32px #00e5c766}.btn-ghost{background:var(--surface);color:var(--text);border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.btn-ghost:hover{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}.btn-small{font-size:11px;padding:6px 12px}main{flex:1;padding:40px 0}.nav-tabs{display:flex;gap:8px;margin-bottom:40px;background:var(--surface);border-radius:20px;padding:8px;border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-soft)}.nav-tab{flex:1;padding:16px 24px;border-radius:16px;background:transparent;border:none;color:var(--muted);font-weight:600;font-size:15px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.nav-tab.active{background:var(--gradient-primary);color:#0b0d1a;transform:translateY(-1px);box-shadow:0 8px 20px #00e5c740}.dashboard-grid{display:grid;gap:var(--gap);grid-template-columns:1fr 1fr 1fr}.hero-card{background:var(--gradient-card);border-radius:var(--radius);padding:48px;box-shadow:var(--shadow);border:1px solid var(--border);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px)}.hero-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient-primary)}.hero-card:after{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(0,229,199,.03) 0%,transparent 70%);pointer-events:none}.metric-display{text-align:center;margin-bottom:40px;position:relative;z-index:1}#primary-number{font-size:clamp(42px,8vw,64px);font-weight:900;line-height:.9;margin-bottom:16px;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 4px 12px rgba(0,229,199,.2));transition:all .5s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}#primary-number.critical{background:var(--gradient-danger);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:pulse 2s infinite}#primary-number.positive{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.02)}}#primary-label{font-size:18px;font-weight:600;color:var(--muted);margin-bottom:12px;letter-spacing:-.01em}#metric-explainer{font-size:14px;color:var(--muted);margin-bottom:12px;font-style:italic}#metric-details{font-size:14px;color:var(--muted);margin-bottom:16px;line-height:1.4}#metric-details strong{color:var(--text)}#metric-details .clickable-schedules{cursor:pointer;text-decoration:underline}.daily-advice{font-size:15px;color:var(--text);background:var(--accent-soft);border:1px solid var(--accent);border-radius:12px;padding:12px 16px;margin-bottom:20px;text-align:center;font-weight:500}.status-indicator{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:24px;font-weight:600;font-size:14px;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all .3s ease}.status-indicator.critical{background:#ff54701f;color:var(--danger);border-color:var(--danger)}.status-indicator.warning{background:#ffad331f;color:var(--warn);border-color:var(--warn)}.status-indicator.positive{background:#00d68a1f;color:var(--success);border-color:var(--success)}.metric-chips{display:flex;justify-content:center;gap:12px;margin-bottom:24px}.metric-chip{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:8px 12px;font-size:12px;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:4px;position:relative}.metric-chip-label{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.5px}.metric-chip-value{color:var(--text);font-size:14px}.chip-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--card);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:12px;white-space:nowrap;visibility:hidden;opacity:0;transition:opacity .3s;z-index:1000;margin-bottom:8px;box-shadow:var(--shadow-soft);max-width:300px;white-space:normal;text-align:left}.metric-chip:hover .chip-tooltip{visibility:visible;opacity:1}.timeline{width:100%;height:12px;background:var(--border);border-radius:8px;margin:32px 0;overflow:hidden;position:relative}.timeline-markers{position:absolute;top:-24px;width:100%;display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.timeline-fill{height:100%;background:var(--gradient-primary);border-radius:8px;transition:width 1s cubic-bezier(.4,0,.2,1);position:relative}.timeline-fill.critical{background:var(--gradient-danger)}.coach-actions{display:flex;gap:8px;justify-content:center;margin-top:16px}.coach-actions .btn{font-size:12px;padding:8px 16px}.details-card{background:var(--gradient-card);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow);border:1px solid var(--border);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);position:relative}.card-title{font-size:20px;font-weight:700;margin-bottom:24px;color:var(--text);display:flex;justify-content:space-between;align-items:center}.data-source-indicator{font-size:12px;color:var(--muted);background:var(--surface);padding:6px 12px;border-radius:12px;border:1px solid var(--border)}#calendar{display:grid;gap:8px;margin-bottom:24px}.day-cell{aspect-ratio:1;border-radius:12px;font-size:13px;font-weight:600;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid var(--border);background:var(--surface);position:relative}.day-cell:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.day-cell.today{background:var(--gradient-primary);color:#0b0d1a;border-color:var(--accent);box-shadow:0 8px 20px #00e5c74d;cursor:pointer}.day-cell.today:after{content:"Aujourd'hui";position:absolute;bottom:-20px;left:50%;transform:translate(-50%);font-size:10px;font-weight:500;color:var(--accent)}.day-cell.overspend{background:#ff547026;border-color:var(--danger);color:var(--danger)}.day-cell.underspend{background:#00d68a26;border-color:var(--success);color:var(--success)}.day-cell.future{opacity:.4;cursor:default}.day-amount{font-size:10px;color:var(--muted);margin-top:2px}.day-schedule-marker{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:var(--warn);cursor:pointer}.summary-stats{padding-top:20px;border-top:1px solid var(--border)}.stat-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding:8px 12px;font-size:15px}.stat-row.negative{background:#ff54700d;border-radius:8px;border:1px solid rgba(255,84,112,.2)}.stat-row.positive{background:#00d68a0d;border-radius:8px;border:1px solid rgba(0,214,138,.2)}.stat-label{color:var(--muted);font-weight:500}.stat-value{font-weight:700;font-variant-numeric:tabular-nums}.schedules-list{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.schedules-title{font-size:16px;font-weight:600;margin-bottom:12px;color:var(--text);cursor:pointer}.schedules-title:hover{color:var(--accent)}.schedule-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--surface);border-radius:8px;margin-bottom:8px;cursor:pointer;transition:all .2s ease}.schedule-item:hover{background:var(--accent-soft);border:1px solid var(--accent)}.schedule-info{display:flex;flex-direction:column;gap:2px}.schedule-label{font-size:14px;font-weight:500;color:var(--text)}.schedule-date{font-size:12px;color:var(--muted)}.schedule-amount{font-size:14px;font-weight:700}.schedule-amount.income{color:var(--success)}.schedule-amount.expense{color:var(--danger)}#day-details-drawer{position:fixed;right:-600px;top:0;width:600px;height:100vh;background:var(--gradient-card);border-left:1px solid var(--border);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);z-index:1000;transition:right .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}#day-details-drawer.open{right:0}.drawer-header{padding:20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.drawer-body{flex:1;padding:20px;overflow-y:auto}.expense-entry{background:var(--surface);border-radius:8px;padding:12px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}.expense-entry-info{flex:1}.expense-entry-amount{font-size:16px;font-weight:700;margin-bottom:4px}.expense-entry-note{font-size:12px;color:var(--muted)}.expense-entry-actions{display:flex;gap:8px}.icon-btn{width:28px;height:28px;border-radius:8px;border:1px solid var(--border);background:var(--card);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.icon-btn:hover{background:var(--accent-soft);border-color:var(--accent)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0d1acc;display:none;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.modal.show{display:flex}.modal-content{background:var(--gradient-card);border-radius:var(--radius);padding:32px;max-width:500px;width:90vw;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow);border:1px solid var(--border);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px)}.modal h3{margin-bottom:24px;font-size:20px;font-weight:700}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-weight:600;color:var(--text)}.form-input{width:100%;padding:16px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:16px;transition:all .3s ease}.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}#chat-drawer{position:fixed;right:-600px;top:0;width:600px;height:100vh;background:var(--gradient-card);border-left:1px solid var(--border);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);z-index:1000;transition:right .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}#chat-drawer.open{right:0}.chat-header{padding:20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.chat-body{flex:1;padding:20px;overflow-y:auto}.chat-input-area{padding:20px;border-top:1px solid var(--border);display:flex;gap:8px}.quick-prompts{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.quick-prompt{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:12px;cursor:pointer;transition:all .2s ease;text-align:left}.quick-prompt:hover{background:var(--accent-soft);border-color:var(--accent)}.chat-messages{min-height:200px;margin-bottom:16px}.chat-message{background:var(--surface);border-radius:8px;padding:12px;margin-bottom:12px;font-size:13px;color:var(--text)}.chat-message.ai{background:var(--accent-soft)}.chat-message.streaming:after{content:"...";animation:dots 1.5s infinite}@keyframes dots{0%,33%{content:"."}34%,66%{content:".."}67%,to{content:"..."}}.chat-message pre{background:var(--surface);padding:8px;border-radius:4px;overflow-x:auto;margin:8px 0;font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:12px}.chat-message .action-buttons{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.chat-message .action-buttons button{padding:6px 12px;font-size:12px}.coach-chip{display:inline-block;padding:6px 12px;background:var(--surface);border:1px solid var(--border);border-radius:12px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;margin:0 4px 4px 0}.coach-chip:hover{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}#calendar-details{margin-top:16px;max-height:300px;overflow-y:auto}#details-table{width:100%;font-size:12px;border-collapse:collapse}#details-table th{padding:8px;text-align:left;font-weight:600;color:var(--muted);border-bottom:1px solid var(--border)}#details-table td{padding:8px;border-bottom:1px solid rgba(42,45,69,.3);cursor:pointer}#details-table td:hover{background:var(--accent-soft)}#details-table td.today-row{background:var(--accent-soft);font-weight:600}#details-table td.overspend-row{background:#ff54700d;color:var(--danger)}.edit-icon{cursor:pointer;color:var(--accent);font-size:14px;margin-left:4px}.edit-icon:hover{color:var(--accent-bright)}#demo-badge{position:fixed;top:100px;right:20px;background:var(--warn);color:#0b0d1a;padding:6px 12px;border-radius:12px;font-size:12px;font-weight:700;z-index:1000;cursor:pointer}#ai-snack{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(100px);background:var(--card);border:1px solid var(--accent);border-radius:12px;padding:16px 20px;font-size:14px;color:var(--text);box-shadow:var(--shadow);transition:transform .3s ease;z-index:999;max-width:400px}#ai-snack.show{transform:translate(-50%) translateY(0)}.explainer-popup{position:absolute;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px 16px;font-size:13px;box-shadow:var(--shadow-soft);z-index:1000;max-width:250px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}#explain-trigger{display:inline-flex;align-items:center;gap:4px;color:var(--accent);cursor:pointer;font-weight:600}#explain-trigger:hover{text-decoration:underline}.onboarding{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0d1af2;display:none;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.onboarding.show{display:flex}.onboarding-content{background:var(--gradient-card);border-radius:var(--radius);padding:48px;max-width:600px;width:90vw;box-shadow:var(--shadow);border:1px solid var(--border);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);position:relative;text-align:center}.onboarding-content:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary);border-radius:var(--radius) var(--radius) 0 0}.step-indicator{display:flex;justify-content:center;gap:12px;margin-bottom:32px}.step-dot{width:12px;height:12px;border-radius:50%;background:var(--border);transition:all .3s ease}.step-dot.active{background:var(--accent);box-shadow:0 0 12px #00e5c780}.step-title{font-size:28px;font-weight:800;margin-bottom:16px;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.step-description{font-size:16px;color:var(--muted);line-height:1.6;margin-bottom:32px}.step-inputs{display:flex;flex-direction:column;gap:20px;margin-bottom:32px}.input-group{display:flex;flex-direction:column;text-align:left}.input-label{font-weight:600;margin-bottom:8px;color:var(--text)}.input-field{padding:16px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:16px;transition:all .3s ease}.input-field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.step-actions{display:flex;gap:16px;justify-content:center}.education-grid{display:grid;gap:var(--gap);grid-template-columns:2fr 1fr}.lesson-card{background:var(--gradient-card);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);border:1px solid var(--border)}.lesson-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.lesson-title{font-size:22px;font-weight:700;color:var(--accent)}.lesson-level{font-size:12px;background:var(--accent);color:#0b0d1a;padding:4px 8px;border-radius:6px;font-weight:600}.lesson-content{font-size:15px;line-height:1.6;color:var(--text);margin-bottom:24px}.quiz-container{background:var(--surface);border-radius:12px;padding:20px;margin-bottom:24px}.quiz-question{font-weight:600;margin-bottom:12px;color:var(--text)}.quiz-option{padding:12px;margin:8px 0;background:var(--card);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease}.quiz-option:hover{border-color:var(--accent);background:var(--accent-soft)}.quiz-option.correct{background:#00d68a1a;border-color:var(--success);color:var(--success)}.quiz-option.incorrect{background:#ff54701a;border-color:var(--danger);color:var(--danger)}.progress-card{background:var(--gradient-card);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);border:1px solid var(--border)}.progress-bar{width:100%;height:8px;background:var(--border);border-radius:4px;overflow:hidden;margin:16px 0}.progress-fill{height:100%;background:var(--gradient-primary);transition:width .5s ease}.lesson-navigation{display:flex;justify-content:space-between;margin-top:20px}.lessons-list{margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.lesson-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;cursor:pointer;transition:color .2s ease}.lesson-item:hover{color:var(--accent)}.lesson-item.completed{color:var(--success)}.lesson-item.current{color:var(--accent);font-weight:600}.hidden{display:none!important}.tab-content{display:none}.tab-content.active{display:block}@media (max-width: 968px){.dashboard-grid,.education-grid{grid-template-columns:1fr}}.income-type-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.chip-btn{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:6px 12px;font-size:12px;color:var(--muted);cursor:pointer;transition:all .2s ease;white-space:nowrap}.chip-btn:hover{background:var(--card);border-color:var(--accent)}.chip-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.budget-impact-preview{margin-top:12px;padding:12px;background:#00d68a1a;border:1px solid var(--success);border-radius:var(--radius)}.impact-text{font-size:13px;color:var(--success);font-weight:500}.checkbox-label{display:flex;align-items:center;cursor:pointer;font-size:14px;color:var(--text)}.checkbox-label input[type=checkbox]{width:18px;height:18px;margin-right:8px;accent-color:var(--accent)}.checkmark{margin-left:4px}#income-type-group,#add-to-budget-group{margin-bottom:16px}#add-to-budget-group .checkbox-label{margin-bottom:8px}@media (max-width: 768px){.container{padding:0 16px}.hero-card,.details-card{padding:24px}.onboarding-content{padding:32px 24px}.metric-chips{flex-direction:column;align-items:center;gap:8px}#day-details-drawer,#chat-drawer{width:100%;right:-100%}}@keyframes pulse-once{0%{transform:scale(1);box-shadow:0 0 hsl(var(--primary) / .4)}50%{transform:scale(1.02);box-shadow:0 0 0 4px hsl(var(--primary) / .2)}to{transform:scale(1);box-shadow:0 0 hsl(var(--primary) / 0)}}.calendar-day.clicked-once{animation:pulse-once .3s ease-out;border:2px solid hsl(var(--primary))!important;position:relative;z-index:10}@keyframes flash{0%{opacity:0;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(.95)}}.calendar-day.clicked-twice{animation:flash .2s ease-out;background:#22c55e33!important}.animate-pulse-once{animation:pulse-once .3s ease-out}.animate-flash{animation:flash .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .2s ease-out}
