@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap";:root{--bg: #f8fafc;--bg-elevated: #ffffff;--bg-panel: rgba(255, 255, 255, .84);--bg-strong: #f1f5f9;--border: #e2e8f0;--text: #0f172a;--text-muted: #64748b;--primary: #0ea5e9;--primary-strong: #0284c7;--secondary: #eef2f6;--danger: #ef4444;--warning: #f59e0b;--success: #10b981;--surface-shadow: 0 18px 40px rgba(15, 23, 42, .08);--radius: 1rem;--radius-lg: 1.4rem;--glow-primary: 0 0 15px rgba(14, 165, 233, .3);--glow-success: 0 0 15px rgba(16, 185, 129, .2);--glow-danger: 0 0 15px rgba(239, 68, 68, .2)}:root[data-theme=dark]{--bg: #090a0f;--bg-elevated: #13151f;--bg-panel: rgba(19, 21, 31, .75);--bg-strong: #1a1d2b;--border: #242938;--text: #e2e8f0;--text-muted: #8b9bb4;--primary: #00f0ff;--primary-strong: #00c3ff;--secondary: #1e2235;--danger: #ff2a5f;--warning: #ffb800;--success: #00ff9d;--surface-shadow: 0 8px 32px rgba(0, 240, 255, .08);--glow-primary: 0 0 15px rgba(0, 240, 255, .4);--glow-success: 0 0 15px rgba(0, 255, 157, .3);--glow-danger: 0 0 15px rgba(255, 42, 95, .3)}:root[data-contrast=high]{--bg: #000000;--bg-elevated: #000000;--bg-panel: #000000;--bg-strong: #111111;--border: #ffffff;--text: #ffffff;--text-muted: #cccccc;--primary: #00ffff;--primary-strong: #00ffff;--secondary: #222222;--danger: #ff0000;--warning: #ffcc00;--success: #00ff00;--surface-shadow: none;--glow-primary: none;--glow-success: none;--glow-danger: none}*{box-sizing:border-box}*::selection{background:color-mix(in srgb,var(--primary) 40%,transparent);color:#fff}html,body,#root{margin:0;min-height:100%}body{background:var(--bg);background-image:radial-gradient(circle at 10% 20%,color-mix(in srgb,var(--primary) 6%,transparent),transparent 30%),radial-gradient(circle at 90% 80%,color-mix(in srgb,var(--success) 6%,transparent),transparent 30%);background-attachment:fixed;color:var(--text);font-family:Outfit,sans-serif;line-height:1.5;overflow-x:hidden;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before,body:after{content:"";position:fixed;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(100px)}body:before{background:color-mix(in srgb,var(--primary) 14%,transparent);height:500px;width:500px;top:-120px;left:-120px;animation:aurora-drift-1 12s infinite alternate ease-in-out}body:after{background:color-mix(in srgb,var(--success) 12%,transparent);height:450px;width:450px;bottom:-80px;right:-80px;animation:aurora-drift-2 14s infinite alternate-reverse ease-in-out}h1,h2,h3,h4{font-family:Space Grotesk,sans-serif;letter-spacing:-.02em;margin:0}p{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button,input,select,a,.card,.metric-card,.app-shell__nav-link,.app-shell__mobile-link{transition:background-color .22s cubic-bezier(.4,0,.2,1),border-color .22s cubic-bezier(.4,0,.2,1),color .22s cubic-bezier(.4,0,.2,1),box-shadow .22s cubic-bezier(.4,0,.2,1),transform .22s cubic-bezier(.4,0,.2,1),opacity .22s cubic-bezier(.4,0,.2,1)}input,select{background:color-mix(in srgb,var(--bg-elevated) 92%,transparent);border:1px solid var(--border);border-radius:.8rem;color:var(--text);min-height:2.7rem;padding:.55rem .8rem;transition:border-color .25s ease,box-shadow .25s ease,transform .2s ease}input:focus-visible,select:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent),var(--glow-primary);outline:none;transform:translateY(-1px)}button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 70%,white);outline-offset:2px}.app-shell{display:grid;grid-template-columns:286px minmax(0,1fr);min-height:100vh}.app-shell__sidebar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(180deg,color-mix(in srgb,var(--bg-elevated) 90%,transparent),var(--bg-panel)),radial-gradient(circle at right top,color-mix(in srgb,var(--primary) 20%,transparent),transparent 52%);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:1.3rem;justify-content:space-between;padding:1.4rem 1rem;position:sticky;top:0;height:100vh}.app-shell__brand-stack{display:grid;gap:.3rem}.brand-mark{font-size:1.5rem;letter-spacing:.03em}.brand-subtitle{color:var(--text-muted);font-size:.9rem}.app-shell__status{background:color-mix(in srgb,var(--success) 14%,var(--bg-elevated));border:1px solid color-mix(in srgb,var(--success) 42%,var(--border));border-radius:999px;color:var(--success);display:inline-flex;font-size:.74rem;font-weight:700;padding:.2rem .58rem;width:fit-content}.app-shell__nav{display:grid;gap:.85rem;overflow-y:auto;padding-right:.15rem}.app-shell__action-row{align-items:center;display:grid;gap:.45rem;grid-template-columns:minmax(0,1fr) auto auto;padding:0 .25rem 0 .55rem}.app-shell__action-row small{color:var(--text-muted);font-size:.75rem}.app-shell__nav-group{display:grid;gap:.34rem}.app-shell__nav-heading{color:var(--text-muted);font-size:.68rem;font-weight:800;letter-spacing:.12em;padding:0 .68rem;text-transform:uppercase}.app-shell__nav-link,.app-shell__mobile-link{align-items:center;border:1px solid transparent;border-radius:.82rem;color:var(--text-muted);display:flex;gap:.55rem;font-weight:700;min-height:2.4rem;padding:.55rem .68rem}.app-shell__nav-link:hover,.app-shell__mobile-link:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));color:var(--text);transform:translateY(-1px)}.app-shell__nav-link.active,.app-shell__mobile-link.active{background:linear-gradient(140deg,var(--primary),var(--primary-strong));border-color:color-mix(in srgb,var(--primary-strong) 72%,black);box-shadow:0 10px 22px color-mix(in srgb,var(--primary) 32%,transparent);color:#fff}.app-shell__nav-badge{background:color-mix(in srgb,var(--bg-strong) 70%,white);border:1px solid color-mix(in srgb,var(--border) 75%,transparent);border-radius:.55rem;display:inline-flex;font-family:Space Grotesk,sans-serif;font-size:.72rem;font-weight:700;justify-content:center;min-width:2rem;padding:.15rem .35rem}.app-shell__nav-link.active .app-shell__nav-badge,.app-shell__mobile-link.active span{background:color-mix(in srgb,#ffffff 24%,transparent);border-color:color-mix(in srgb,#ffffff 26%,transparent);color:#fff}.app-shell__profile{border-top:1px solid var(--border);display:grid;gap:.75rem;padding-top:.9rem}.app-shell__links{display:flex;gap:.55rem}.app-shell__helper-link{border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-size:.81rem;font-weight:700;padding:.24rem .52rem}.app-shell__helper-link:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));color:var(--text)}.app-shell__credit,.app-shell__user{color:var(--text-muted);font-size:.87rem;overflow-wrap:anywhere}.app-shell__main{padding:1.55rem}.app-shell__mobile-nav,.app-shell__mobile-quick{display:none}.app-shell__mobile-link{flex-direction:column;gap:.12rem;justify-content:center;min-height:3rem;text-align:center}.app-shell__mobile-link span{border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:.42rem;font-family:Space Grotesk,sans-serif;font-size:.68rem;padding:.1rem .3rem}.app-shell__mobile-link small{font-size:.68rem;font-weight:700}.quick-add{position:relative}.quick-add__trigger{align-items:center;background:linear-gradient(140deg,var(--primary),var(--primary-strong));border:1px solid color-mix(in srgb,var(--primary-strong) 70%,black);border-radius:.78rem;box-shadow:0 10px 22px color-mix(in srgb,var(--primary) 24%,transparent);color:#fff;display:inline-flex;font:inherit;font-weight:800;gap:.38rem;justify-content:center;min-height:2.35rem;padding:.45rem .65rem;width:100%}.quick-add__trigger:hover{box-shadow:0 14px 28px color-mix(in srgb,var(--primary) 34%,transparent);transform:translateY(-2px)}.quick-add__trigger>span:first-child{font-family:Space Grotesk,sans-serif;font-size:1.15rem;line-height:1}.quick-add__overlay{align-items:flex-start;background:color-mix(in srgb,#07111f 52%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;inset:0;justify-content:center;padding:12vh 1rem 1rem;position:fixed;z-index:95}.quick-add__panel{animation:fade-up .26s cubic-bezier(.16,1,.3,1) both;background:color-mix(in srgb,var(--bg-panel) 92%,transparent);border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));border-radius:1rem;box-shadow:var(--glow-primary),var(--surface-shadow);display:grid;gap:1rem;max-height:78vh;max-width:720px;overflow-y:auto;padding:1rem;width:min(100%,720px)}.quick-add__header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.quick-add__header h2{font-size:1.15rem;margin:0}.quick-add__header p,.quick-add__item small,.quick-add__group-label{color:var(--text-muted)}.quick-add__header p{font-size:.88rem;margin-top:.2rem}.quick-add__close{min-height:2.1rem;padding:.25rem .55rem}.quick-add__group{display:grid;gap:.45rem}.quick-add__group-label{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.quick-add__grid{display:grid;gap:.6rem;grid-template-columns:repeat(2,minmax(0,1fr))}.quick-add__item{align-items:center;background:color-mix(in srgb,var(--bg-elevated) 82%,transparent);border:1px solid var(--border);border-radius:.82rem;color:var(--text);display:flex;gap:.7rem;min-height:4.45rem;padding:.72rem;text-align:left}.quick-add__item:hover{background:color-mix(in srgb,var(--primary) 10%,var(--bg-elevated));border-color:color-mix(in srgb,var(--primary) 44%,var(--border));transform:translateY(-2px)}.quick-add__item strong,.quick-add__item small{display:block}.quick-add__item small{font-size:.78rem;margin-top:.12rem}.quick-add__icon{align-items:center;background:color-mix(in srgb,var(--primary) 13%,transparent);border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border));border-radius:.7rem;display:inline-flex;flex-shrink:0;font-size:1.2rem;height:2.3rem;justify-content:center;width:2.3rem}.screen{margin:0 auto;max-width:1160px}.screen-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.section-subtitle{color:var(--text-muted);margin-top:.35rem}.kicker{color:var(--primary);font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.hero-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(140deg,color-mix(in srgb,var(--primary) 12%,var(--bg-elevated)),var(--bg-panel)),radial-gradient(circle at right top,color-mix(in srgb,var(--success) 16%,transparent),transparent 42%);border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));border-radius:var(--radius-lg);box-shadow:var(--surface-shadow);display:grid;gap:1rem;overflow:hidden;padding:1.2rem;position:relative}.hero-panel:after{background:linear-gradient(90deg,transparent,color-mix(in srgb,#ffffff 46%,transparent),transparent);content:"";height:1px;left:0;opacity:.7;position:absolute;right:0;top:4.6rem}.hero-panel__head{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.hero-panel__meta{display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr))}.hero-stat{background:color-mix(in srgb,var(--bg-elevated) 72%,transparent);border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:.95rem;display:grid;gap:.2rem;padding:.75rem}.hero-stat small{color:var(--text-muted);font-size:.8rem}.hero-stat strong{font-family:Space Grotesk,sans-serif;font-size:1.06rem}.card{animation:fade-up .5s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--stagger, 0) * 80ms);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:color-mix(in srgb,var(--bg-panel) 80%,transparent);border:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:var(--radius);box-shadow:var(--surface-shadow);padding:1rem;position:relative;overflow:hidden;transition:box-shadow .35s ease,border-color .35s ease,transform .35s cubic-bezier(.4,0,.2,1)}.card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--primary) 6%,transparent),transparent);transition:left .6s ease;pointer-events:none;z-index:0}.card:hover{border-color:color-mix(in srgb,var(--primary) 40%,transparent);box-shadow:var(--glow-primary);transform:translateY(-2px)}.card:hover:before{left:100%}.stack{display:grid;gap:.9rem}.signal-item{align-items:center;display:flex;gap:.6rem}.signal-item__dot{background:linear-gradient(145deg,var(--primary),var(--success));border-radius:999px;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent);flex-shrink:0;height:.5rem;width:.5rem}.metric-grid{display:grid;gap:.9rem;grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{animation:scale-pop .5s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--stagger, 0) * .1s);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(160deg,color-mix(in srgb,var(--bg-elevated) 45%,transparent),color-mix(in srgb,var(--secondary) 30%,transparent));border:1px solid color-mix(in srgb,var(--border) 50%,transparent);border-radius:1rem;box-shadow:var(--surface-shadow);padding:1rem;position:relative;overflow:hidden;transition:transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s ease,border-color .35s ease}.metric-card:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,color-mix(in srgb,#ffffff 4%,transparent),transparent);transition:left .5s ease;pointer-events:none}.metric-card:hover{transform:translateY(-5px) scale(1.02);border-color:color-mix(in srgb,var(--primary) 60%,transparent);box-shadow:var(--glow-primary),0 20px 40px color-mix(in srgb,var(--primary) 12%,transparent)}.metric-card:hover:after{left:100%}.metric-card__label{color:var(--text-muted);font-size:.88rem;font-weight:700}.metric-card__value{font-family:Space Grotesk,sans-serif;font-size:1.58rem;font-weight:700;margin-top:.22rem;text-shadow:0 0 10px color-mix(in srgb,currentColor 30%,transparent)}.metric-card__subtitle{color:var(--text-muted);font-size:.9rem;margin-top:.18rem}.metric-card--danger{border-color:color-mix(in srgb,var(--danger) 46%,var(--border))}.metric-card--danger:hover{border-color:color-mix(in srgb,var(--danger) 80%,transparent);box-shadow:var(--glow-danger)}.metric-card--warning{border-color:color-mix(in srgb,var(--warning) 52%,var(--border))}.metric-card--good{border-color:color-mix(in srgb,var(--success) 45%,var(--border))}.metric-card--good:hover{border-color:color-mix(in srgb,var(--success) 80%,transparent);box-shadow:var(--glow-success)}.grid-two{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:grid;font-weight:700;gap:.34rem}.field-row{display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr))}.field--inline{align-items:center;display:flex;gap:.5rem}.field--button{align-content:end}.form-header{display:grid;gap:.3rem}.checkbox-field{align-items:center;display:flex;gap:.5rem}.checkbox-field input{min-height:1rem;width:1rem}.button-row{display:flex;flex-wrap:wrap;gap:.6rem}.primary-button,.secondary-button,.ghost-button,.danger-button{border:1px solid transparent;border-radius:.8rem;font-weight:800;min-height:2.55rem;padding:.56rem .95rem;position:relative;overflow:hidden;isolation:isolate}.primary-button:before,.secondary-button:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--ripple-x, 50%) var(--ripple-y, 50%),color-mix(in srgb,#ffffff 25%,transparent),transparent 60%);opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:-1}.primary-button:active:before,.secondary-button:active:before{opacity:1;transition:opacity 0s}.primary-button{background:linear-gradient(140deg,var(--primary),var(--primary-strong));border-color:color-mix(in srgb,var(--primary-strong) 72%,black);box-shadow:0 10px 22px color-mix(in srgb,var(--primary) 28%,transparent);color:#fff}.primary-button:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 14px 28px color-mix(in srgb,var(--primary) 36%,transparent)}.primary-button:active{transform:translateY(0) scale(.98)}.secondary-button{background:color-mix(in srgb,var(--secondary) 82%,var(--bg-elevated));border-color:var(--border);color:var(--text)}.secondary-button:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 40%,var(--border));box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 10%,transparent)}.ghost-button:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--primary) 8%,transparent);border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.ghost-button{background:transparent;border-color:var(--border);color:var(--text)}.danger-button{background:color-mix(in srgb,var(--danger) 14%,var(--bg-elevated));border-color:color-mix(in srgb,var(--danger) 45%,var(--border));color:var(--danger)}.danger-button:hover{transform:translateY(-2px);box-shadow:var(--glow-danger);border-color:var(--danger)}.insight-strip{display:grid;gap:.7rem;grid-template-columns:repeat(4,minmax(0,1fr))}.insight-strip__item{animation:fade-up .45s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--stagger, 0) * 80ms);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:color-mix(in srgb,var(--bg-elevated) 84%,transparent);border:1px solid var(--border);border-radius:.9rem;display:grid;gap:.18rem;padding:.72rem .76rem;transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease}.insight-strip__item:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));transform:translateY(-2px);box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 8%,transparent)}.insight-strip__item small{color:var(--text-muted);font-size:.78rem}.insight-strip__item strong{font-size:1rem;font-family:Space Grotesk,sans-serif;overflow-wrap:anywhere}.table-wrap{overflow-x:auto}.transaction-table{border-collapse:separate;border-spacing:0;min-width:720px;width:100%}.transaction-table th,.transaction-table td{border-bottom:1px solid var(--border);padding:.72rem;text-align:left}.transaction-table tbody tr{transition:background-color .25s ease,transform .25s ease}.transaction-table tbody tr:hover{background:color-mix(in srgb,var(--primary) 8%,transparent);box-shadow:inset 3px 0 0 var(--primary)}.transaction-table th{color:var(--text-muted);font-size:.79rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.table-category{background:color-mix(in srgb,var(--secondary) 72%,var(--bg-elevated));border:1px solid var(--border);border-radius:999px;display:inline-block;font-size:.78rem;font-weight:700;padding:.2rem .5rem;transition:background-color .2s ease,border-color .2s ease}.type-badge{border-radius:999px;display:inline-flex;align-items:center;gap:.3rem;font-size:.74rem;font-weight:800;padding:.18rem .55rem;letter-spacing:.02em;text-transform:uppercase}.type-badge--expense{background:color-mix(in srgb,var(--danger) 14%,transparent);border:1px solid color-mix(in srgb,var(--danger) 40%,transparent);color:var(--danger)}.type-badge--income{background:color-mix(in srgb,var(--success) 14%,transparent);border:1px solid color-mix(in srgb,var(--success) 40%,transparent);color:var(--success)}.table-actions{display:flex;flex-wrap:wrap;gap:.35rem}.amount{font-weight:800}.amount--expense{color:var(--danger)}.amount--income{color:var(--success)}.list-row{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:1rem;justify-content:space-between;padding:.6rem 0}.list-row small{color:var(--text-muted);display:block}.chat-card{min-height:540px}.chip-row{display:flex;flex-wrap:wrap;gap:.45rem}.chip-button{background:color-mix(in srgb,var(--secondary) 80%,var(--bg-elevated));border:1px solid var(--border);border-radius:999px;color:var(--text);font-size:.8rem;font-weight:700;min-height:2rem;padding:.34rem .62rem}.chip-button:hover{border-color:color-mix(in srgb,var(--primary) 52%,var(--border))}.chat-messages{background:color-mix(in srgb,var(--secondary) 66%,var(--bg-elevated));border:1px solid var(--border);border-radius:.9rem;display:grid;gap:.75rem;max-height:390px;overflow-y:auto;padding:.8rem}.chat-bubble{animation:chat-bubble-in .4s cubic-bezier(.16,1,.3,1) both;background:var(--bg-elevated);border:1px solid var(--border);border-radius:.8rem;justify-self:start;max-width:min(86%,700px);padding:.68rem;transition:box-shadow .3s ease}.chat-bubble:hover{box-shadow:0 4px 16px color-mix(in srgb,var(--primary) 8%,transparent)}.chat-bubble--user{animation-name:chat-bubble-in-right;background:color-mix(in srgb,var(--primary) 12%,var(--bg-elevated));border-color:color-mix(in srgb,var(--primary) 42%,var(--border));justify-self:end}.chat-bubble small{color:var(--text-muted);display:block;margin-top:.42rem}.typing-indicator{display:flex;gap:.3rem;align-items:center;padding:.68rem;justify-self:start}.typing-indicator__dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--primary);animation:typing-bounce 1.4s ease-in-out infinite;opacity:.6}.typing-indicator__dot:nth-child(2){animation-delay:.2s}.typing-indicator__dot:nth-child(3){animation-delay:.4s}.chat-input-row{display:grid;gap:.55rem;grid-template-columns:minmax(0,1fr) auto}.chart-shell{width:100%}.chart-empty,.empty-state,.info-text{color:var(--text-muted)}.info-text--highlight{border-left:3px solid color-mix(in srgb,var(--primary) 80%,transparent);padding-left:.6rem}.error-text{color:var(--danger);font-size:.92rem}.success-text{color:var(--success)}.budget-row{border-bottom:1px solid var(--border);display:grid;gap:.5rem;padding-bottom:.82rem}.budget-row__meta{align-items:center;display:flex;flex-wrap:wrap;gap:.55rem;justify-content:space-between}.budget-row__meta span{color:var(--text-muted)}.budget-row__controls{display:grid;gap:.6rem;grid-template-columns:170px minmax(0,1fr)}.budget-row__progress{align-items:center;display:grid;gap:.25rem}.budget-row__progress small{color:var(--text-muted);font-size:.78rem}.budget-progress{appearance:none;height:.74rem;width:100%;border-radius:999px;overflow:hidden}.budget-progress::-webkit-progress-bar{background:color-mix(in srgb,var(--secondary) 75%,var(--bg-elevated));border-radius:999px}.budget-progress::-webkit-progress-value{border-radius:999px;transition:width .8s cubic-bezier(.4,0,.2,1);background-size:200% 100%;animation:progress-shimmer 2s linear infinite}.budget-progress--good::-webkit-progress-value{background:linear-gradient(90deg,color-mix(in srgb,var(--success) 74%,#21cfa7),var(--success))}.budget-progress--warning::-webkit-progress-value{background:linear-gradient(90deg,#f4be4a,var(--warning))}.budget-progress--danger::-webkit-progress-value{background:linear-gradient(90deg,#f27c7c,var(--danger))}.loading-screen{align-content:center;display:grid;gap:1rem;justify-items:center;min-height:100vh;animation:fade-up .6s ease both}.loading-logo{position:relative;width:4rem;height:4rem;display:flex;align-items:center;justify-content:center}.loading-logo__text{font-family:Space Grotesk,sans-serif;font-size:1.4rem;font-weight:800;color:var(--primary);text-shadow:0 0 20px color-mix(in srgb,var(--primary) 50%,transparent);animation:glow-pulse 2s ease-in-out infinite}.loading-logo__ring{position:absolute;inset:-8px;border:2px solid color-mix(in srgb,var(--primary) 20%,transparent);border-top-color:var(--primary);border-radius:50%;animation:spin 1.2s cubic-bezier(.5,0,.5,1) infinite}.loading-logo__ring--outer{inset:-16px;border-width:1.5px;border-color:color-mix(in srgb,var(--success) 15%,transparent);border-bottom-color:var(--success);animation-duration:1.8s;animation-direction:reverse}.loading-label{color:var(--text-muted);font-size:.9rem;letter-spacing:.02em}.spinner{animation:spin .9s linear infinite;border:3px solid color-mix(in srgb,var(--primary) 20%,transparent);border-top-color:var(--primary);border-radius:50%;height:2rem;width:2rem}.auth-layout{align-items:center;background:radial-gradient(circle at 0% 0%,color-mix(in srgb,var(--primary) 20%,transparent),transparent 42%),radial-gradient(circle at 100% 100%,color-mix(in srgb,var(--success) 18%,transparent),transparent 48%),var(--bg);display:grid;min-height:100vh;padding:1rem}.auth-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--bg-elevated) 90%,transparent);border:1px solid var(--border);border-radius:1.2rem;box-shadow:var(--surface-shadow);margin:0 auto;max-width:520px;padding:1.25rem;width:100%}.auth-trust-grid{display:grid;gap:.55rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:.85rem}.auth-trust-grid article{background:color-mix(in srgb,var(--secondary) 72%,var(--bg-elevated));border:1px solid var(--border);border-radius:.75rem;display:grid;gap:.16rem;padding:.5rem}.auth-trust-grid small{color:var(--text-muted);font-size:.72rem;text-transform:uppercase}.auth-trust-grid strong{font-size:.83rem}.auth-meta{border-top:1px solid var(--border);color:var(--text-muted);display:flex;font-size:.88rem;justify-content:space-between;margin-top:1rem;padding-top:.9rem}.auth-meta__links{display:flex;gap:.7rem}.auth-meta a{text-decoration:underline;text-underline-offset:.2rem}.public-layout{min-height:100vh}.public-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb,var(--bg-elevated) 88%,transparent);border-bottom:1px solid var(--border);display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.4rem;position:sticky;top:0;z-index:30}.public-brand{font-family:Space Grotesk,sans-serif;font-size:1.2rem;font-weight:700;letter-spacing:.02em}.public-nav{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.public-nav__link{border:1px solid transparent;border-radius:.75rem;color:var(--text-muted);font-weight:700;padding:.45rem .72rem}.public-nav__link.active{background:var(--secondary);border-color:var(--border);color:var(--text)}.public-main{margin:0 auto;max-width:980px;padding:1.2rem}.public-page{display:grid;gap:.8rem}.public-page__header{margin-bottom:.45rem}.public-page__header p{color:var(--text-muted);margin-top:.4rem}.public-list{display:grid;gap:.38rem;margin:0;padding-left:1.1rem}.inline-link{color:var(--primary);font-weight:700;text-decoration:underline;text-underline-offset:.15rem}.public-footer{border-top:1px solid var(--border);color:var(--text-muted);display:flex;justify-content:space-between;margin-top:1rem;padding:1rem 1.4rem}.toggle-row{display:flex;gap:.6rem;margin:1rem 0}.divider{color:var(--text-muted);margin:.6rem 0;text-align:center}.sr-only{border:0;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.heatmap{display:flex;flex-direction:column;gap:.5rem}.heatmap__labels{display:grid;grid-template-rows:repeat(7,1fr);gap:3px;padding-right:.5rem;position:absolute}.heatmap__day-label{font-size:.65rem;color:var(--text-muted);display:flex;align-items:center;height:1.6rem}.heatmap__grid{display:grid;grid-template-rows:repeat(7,1fr);grid-auto-flow:column;gap:3px;margin-left:2.2rem}.heatmap__cell{width:1.6rem;height:1.6rem;border-radius:4px;display:flex;align-items:center;justify-content:center;animation:scale-pop .3s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--delay, 0ms);cursor:default;transition:transform .2s ease,box-shadow .2s ease;position:relative}.heatmap__cell:hover{transform:scale(1.25);z-index:2}.heatmap__cell--empty{background:transparent;pointer-events:none}.heatmap__cell-label{font-size:.55rem;color:var(--text-muted);font-weight:600;opacity:.8}.heatmap__legend{display:flex;align-items:center;gap:3px;justify-content:flex-end;font-size:.7rem;color:var(--text-muted);margin-left:2.2rem}.heatmap__legend-cell{width:.9rem;height:.9rem;border-radius:3px}.savings-gauge{position:relative;width:160px;height:160px;margin:0 auto}.savings-gauge__svg{width:100%;height:100%;animation:fade-in .8s ease both}.savings-gauge__center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.savings-gauge__value{font-family:Space Grotesk,sans-serif;font-size:1.8rem;font-weight:800;line-height:1}.savings-gauge__label{color:var(--text-muted);font-size:.75rem;font-weight:600;margin-top:.2rem}.insights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.insight-card{animation:scale-pop .45s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--stagger, 0) * 80ms);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--bg-elevated) 85%,transparent);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.insight-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 12%,transparent)}.insight-card--good{border-color:color-mix(in srgb,var(--success) 40%,var(--border))}.insight-card--warning{border-color:color-mix(in srgb,var(--warning) 40%,var(--border))}.insight-card--danger{border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.insight-card--primary{border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.insight-card__accent{position:absolute;top:0;left:0;width:100%;height:3px}.insight-card--good .insight-card__accent{background:linear-gradient(90deg,var(--success),transparent)}.insight-card--warning .insight-card__accent{background:linear-gradient(90deg,var(--warning),transparent)}.insight-card--danger .insight-card__accent{background:linear-gradient(90deg,var(--danger),transparent)}.insight-card--primary .insight-card__accent{background:linear-gradient(90deg,var(--primary),transparent)}.insight-card__header{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}.insight-card__icon{font-size:1.4rem;flex-shrink:0}.insight-card__title{font-size:.88rem;font-weight:800;margin:0}.insight-card__value{font-family:Space Grotesk,sans-serif;font-size:.78rem;font-weight:800;padding:.1rem .4rem;border-radius:999px;display:inline-block}.insight-card__value--good{background:color-mix(in srgb,var(--success) 18%,transparent);color:var(--success)}.insight-card__value--warning{background:color-mix(in srgb,var(--warning) 18%,transparent);color:var(--warning)}.insight-card__value--danger{background:color-mix(in srgb,var(--danger) 18%,transparent);color:var(--danger)}.insight-card__value--primary{background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary)}.health-score{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:center}.health-score__gauge{position:relative;width:140px;height:140px}.health-score__svg{width:100%;height:100%}.health-score__center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.health-score__number{font-family:Space Grotesk,sans-serif;font-size:2.2rem;font-weight:900;line-height:1}.health-score__grade{font-size:.85rem;font-weight:700;margin-top:.15rem;color:var(--text-muted)}.health-score__breakdown{display:flex;flex-direction:column;gap:.55rem}.health-bar__header{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;margin-bottom:.2rem}.health-bar__score{font-family:Space Grotesk,sans-serif;font-weight:800;font-size:.75rem}.health-bar__score--good{color:var(--success)}.health-bar__score--warning{color:var(--warning)}.health-bar__score--danger{color:var(--danger)}.health-bar__track{height:6px;border-radius:999px;background:var(--bg-strong);overflow:hidden}.health-bar__fill{height:100%;border-radius:999px;transition:width 1s cubic-bezier(.4,0,.2,1)}.health-bar__fill--good{background:var(--success);box-shadow:0 0 8px color-mix(in srgb,var(--success) 40%,transparent)}.health-bar__fill--warning{background:var(--warning);box-shadow:0 0 8px color-mix(in srgb,var(--warning) 40%,transparent)}.health-bar__fill--danger{background:var(--danger);box-shadow:0 0 8px color-mix(in srgb,var(--danger) 40%,transparent)}.anomaly-empty{text-align:center;padding:1.5rem;color:var(--text-muted)}.anomaly-list{display:flex;flex-direction:column;gap:.5rem}.anomaly-item{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;border-radius:var(--radius);background:color-mix(in srgb,var(--danger) 5%,var(--bg-elevated));border:1px solid color-mix(in srgb,var(--danger) 25%,var(--border));animation:scale-pop .4s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--stagger, 0) * 60ms);transition:transform .2s ease,box-shadow .2s ease}.anomaly-item:hover{transform:translate(4px);box-shadow:0 6px 16px color-mix(in srgb,var(--danger) 12%,transparent)}.anomaly-item__icon{font-size:1.3rem;flex-shrink:0}.anomaly-item__body{flex:1;min-width:0}.anomaly-item__header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.anomaly-item__amount{font-weight:800;font-family:Space Grotesk,sans-serif;color:var(--danger);white-space:nowrap}.anomaly-item__reason{font-size:.78rem;color:var(--text-muted);margin:.1rem 0 0}.anomaly-item__date{font-size:.7rem;color:var(--text-muted)}.anomaly-item__badge{background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger);font-weight:800;font-size:.75rem;padding:.2rem .45rem;border-radius:999px;white-space:nowrap}.month-comparison{display:flex;flex-direction:column;gap:1rem}.month-comparison__row{animation:scale-pop .4s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--stagger, 0) * 80ms)}.month-comparison__label{display:flex;justify-content:space-between;align-items:center;margin-bottom:.3rem}.month-comparison__change{font-size:.78rem;font-weight:800;padding:.1rem .4rem;border-radius:999px}.month-comparison__change--good{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.month-comparison__change--danger{background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger)}.month-comparison__bars{display:flex;flex-direction:column;gap:.25rem}.month-comparison__bar-row{display:flex;align-items:center;gap:.5rem}.month-comparison__bar-label{font-size:.7rem;color:var(--text-muted);width:5.5rem;flex-shrink:0}.month-comparison__bar-track{flex:1;height:8px;border-radius:999px;background:var(--bg-strong);overflow:hidden}.month-comparison__bar{height:100%;border-radius:999px;transition:width 1s cubic-bezier(.4,0,.2,1)}.month-comparison__bar--current{background:var(--primary);box-shadow:0 0 6px color-mix(in srgb,var(--primary) 40%,transparent)}.month-comparison__bar--previous{background:var(--text-muted);opacity:.5}.month-comparison__bar-value{font-size:.75rem;font-weight:700;font-family:Space Grotesk,sans-serif;width:5rem;text-align:right;flex-shrink:0}.achievements__header{margin-bottom:.5rem}.achievements__counter{font-weight:800;font-size:.9rem}.achievements__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.6rem}.achievement-card{display:flex;align-items:center;gap:.7rem;padding:.7rem .85rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);animation:scale-pop .4s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--stagger, 0) * 60ms);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.achievement-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000014}.achievement-card--unlocked{border-color:color-mix(in srgb,var(--success) 40%,var(--border));background:color-mix(in srgb,var(--success) 5%,var(--bg-elevated))}.achievement-card--locked{opacity:.65;filter:grayscale(.4)}.achievement-card__icon-wrap{position:relative;font-size:1.5rem;flex-shrink:0}.achievement-card__checkmark{position:absolute;bottom:-2px;right:-4px;font-size:.6rem;background:var(--success);color:#fff;width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800}.achievement-card__info{flex:1;min-width:0}.achievement-card__title{font-size:.85rem;display:block}.achievement-card__desc{font-size:.72rem;color:var(--text-muted);margin:0}.achievement-card__progress-track{width:50px;height:5px;border-radius:999px;background:var(--bg-strong);overflow:hidden;flex-shrink:0}.achievement-card__progress-fill{height:100%;border-radius:999px;background:var(--text-muted);transition:width 1s ease}.achievement-card__progress-fill--done{background:var(--success);box-shadow:0 0 6px color-mix(in srgb,var(--success) 40%,transparent)}.achievement-card__pct{font-size:.7rem;font-weight:700;font-family:Space Grotesk,sans-serif;width:2rem;text-align:right;flex-shrink:0}.loan-list{display:flex;flex-direction:column;gap:.5rem}.loan-card{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);animation:scale-pop .4s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--stagger, 0) * 60ms);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.loan-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000014}.loan-card--overdue{border-color:color-mix(in srgb,var(--danger) 50%,var(--border));background:color-mix(in srgb,var(--danger) 4%,var(--bg-elevated))}.loan-card--settled{opacity:.6}.loan-card__icon{font-size:1.2rem;flex-shrink:0}.loan-card__body{flex:1;min-width:0}.loan-card__header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.loan-card__desc{font-size:.8rem;color:var(--text-muted);margin:.15rem 0 0}.loan-card__meta{display:flex;align-items:center;gap:.5rem;margin-top:.25rem;font-size:.75rem}.loan-card__amount{font-weight:800;font-family:Space Grotesk,sans-serif;white-space:nowrap}.loan-card__actions{display:flex;gap:.25rem;flex-shrink:0}.icon-button{background:none;border:1px solid transparent;border-radius:.5rem;padding:.3rem .4rem;cursor:pointer;font-size:.9rem;transition:background .2s ease,border-color .2s ease,transform .15s ease}.icon-button:hover{background:var(--bg-strong);border-color:var(--border);transform:scale(1.1)}.text--danger{color:var(--danger)}.table-category--success{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}@media(max-width:640px){.health-score{grid-template-columns:1fr;justify-items:center}.achievement-card{flex-wrap:wrap}.month-comparison__bar-label{width:4rem}.screen-header{flex-direction:column;gap:.75rem;align-items:stretch}.grid-three{grid-template-columns:1fr}.button-row{flex-wrap:wrap}.primary-button,.secondary-button{min-height:2.75rem;font-size:.9rem}.achievements__grid{grid-template-columns:1fr}.chip-row{flex-wrap:wrap}}.insight-card__description{color:var(--text-muted);font-size:.82rem;line-height:1.45;margin:0}.grid-three{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.chart-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem}.chart-header__icon{font-size:1.1rem}.glass-panel{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:var(--bg-panel);border:1px solid color-mix(in srgb,var(--border) 60%,transparent);box-shadow:var(--surface-shadow)}.glow-text{text-shadow:0 0 10px color-mix(in srgb,currentColor 50%,transparent)}.toggle-switch{position:relative;display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch__track{position:relative;width:2.8rem;height:1.5rem;background:color-mix(in srgb,var(--secondary) 80%,var(--bg-elevated));border:1px solid var(--border);border-radius:999px;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}.toggle-switch__thumb{position:absolute;top:2px;left:2px;width:1.15rem;height:1.15rem;background:var(--text-muted);border-radius:50%;transition:transform .3s cubic-bezier(.4,0,.2,1),background-color .3s ease,box-shadow .3s ease}.toggle-switch__input{position:absolute;opacity:0;width:0;height:0}.toggle-switch__input:checked+.toggle-switch__track{background:color-mix(in srgb,var(--primary) 24%,var(--bg-elevated));border-color:color-mix(in srgb,var(--primary) 60%,var(--border));box-shadow:var(--glow-primary)}.toggle-switch__input:checked+.toggle-switch__track .toggle-switch__thumb{transform:translate(1.3rem);background:var(--primary);box-shadow:0 0 8px color-mix(in srgb,var(--primary) 50%,transparent)}.toggle-switch__label{font-weight:700;font-size:.9rem}.toast-container{position:fixed;top:1.2rem;right:1.2rem;z-index:200;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.toast{animation:toast-slide-in .4s cubic-bezier(.16,1,.3,1) both;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--bg-elevated) 95%,transparent);border:1px solid var(--border);border-radius:.8rem;box-shadow:0 12px 32px #0003;color:var(--text);display:flex;align-items:center;gap:.55rem;max-width:380px;padding:.7rem 1rem;pointer-events:auto;font-weight:600;font-size:.88rem}.toast--success{border-color:color-mix(in srgb,var(--success) 50%,var(--border))}.toast--success .toast__icon{color:var(--success)}.toast--error{border-color:color-mix(in srgb,var(--danger) 50%,var(--border))}.toast--error .toast__icon{color:var(--danger)}.toast--exiting{animation:toast-slide-out .3s ease both}.toast__icon{flex-shrink:0;font-size:1.1rem}.skeleton{background:linear-gradient(90deg,var(--bg-strong) 25%,color-mix(in srgb,var(--border) 60%,var(--bg-strong)) 50%,var(--bg-strong) 75%);background-size:200% 100%;animation:shimmer-sweep 1.5s ease-in-out infinite;border-radius:.5rem}.skeleton-text{height:.9rem;margin:.25rem 0}.skeleton-title{height:1.4rem;width:60%;margin-bottom:.5rem}.skeleton-card{height:6rem;border-radius:var(--radius)}.status-dot{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0;position:relative}.status-dot:after{content:"";position:absolute;inset:-3px;border-radius:50%;animation:glow-pulse 2s ease-in-out infinite}.status-dot--good{background:var(--success)}.status-dot--good:after{background:color-mix(in srgb,var(--success) 25%,transparent)}.status-dot--warning{background:var(--warning)}.status-dot--warning:after{background:color-mix(in srgb,var(--warning) 25%,transparent)}.status-dot--danger{background:var(--danger)}.status-dot--danger:after{background:color-mix(in srgb,var(--danger) 25%,transparent)}.status-dot--primary{background:var(--primary)}.status-dot--primary:after{background:color-mix(in srgb,var(--primary) 25%,transparent)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-pop{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes stagger-fade-in{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%{transform:scale(1) translate(0);opacity:.8}to{transform:scale(1.15) translate(20px,-15px);opacity:1}}@keyframes glow-pulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes shimmer-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes aurora-drift-1{0%{transform:translate(0) scale(1);opacity:.7}33%{transform:translate(40px,30px) scale(1.1);opacity:.9}66%{transform:translate(-20px,50px) scale(1.2);opacity:.8}to{transform:translate(30px,-20px) scale(1.15);opacity:1}}@keyframes aurora-drift-2{0%{transform:translate(0) scale(1);opacity:.7}33%{transform:translate(-30px,-40px) scale(1.15);opacity:.85}66%{transform:translate(40px,-20px) scale(1.05);opacity:.9}to{transform:translate(-20px,30px) scale(1.2);opacity:1}}@keyframes chat-bubble-in{0%{opacity:0;transform:translate(-12px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes chat-bubble-in-right{0%{opacity:0;transform:translate(12px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}@keyframes progress-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toast-slide-out{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%) scale(.9)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:1160px){.hero-panel__meta,.insight-strip,.metric-grid,.grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.grid-two,.auth-trust-grid,.grid-three{grid-template-columns:1fr}}@media(max-width:840px){.app-shell{display:block;padding-bottom:5.4rem}.app-shell__sidebar{display:none}.app-shell__main{padding:1rem}.app-shell__mobile-nav{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg-elevated) 82%,transparent);border-top:1px solid var(--border);bottom:0;display:flex;gap:.3rem;left:0;overflow-x:auto;padding:.5rem;position:fixed;right:0;scrollbar-width:none;z-index:40}.app-shell__mobile-nav::-webkit-scrollbar{display:none}.app-shell__mobile-link{flex:0 0 76px}.app-shell__mobile-quick{bottom:5.1rem;display:block;position:fixed;right:1rem;z-index:42}.quick-add__trigger--mobile{border-radius:999px;box-shadow:var(--glow-primary),0 14px 30px color-mix(in srgb,var(--primary) 35%,transparent);height:3.25rem;min-height:3.25rem;padding:0;width:3.25rem}.quick-add__trigger--mobile>span:first-child{font-size:1.6rem}.quick-add__overlay{padding-top:8vh}.quick-add__grid{grid-template-columns:1fr}.public-header{align-items:start;flex-direction:column}.public-nav{width:100%}.public-footer,.auth-meta{flex-direction:column;gap:.4rem}.metric-grid,.hero-panel__meta,.insight-strip,.field-row,.chat-input-row,.budget-row__controls{grid-template-columns:1fr}.primary-button,.secondary-button{min-height:2.75rem;padding-left:1rem;padding-right:1rem}.toast{max-width:calc(100vw - 2rem)}}.space-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.space-card{animation:fade-up .5s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--stagger, 0) * 80ms);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(160deg,color-mix(in srgb,var(--space-color, var(--primary)) 8%,var(--bg-elevated)),var(--bg-panel));border:1px solid color-mix(in srgb,var(--space-color, var(--primary)) 25%,var(--border));border-radius:var(--radius-lg);box-shadow:var(--surface-shadow);cursor:pointer;display:flex;flex-direction:column;gap:1rem;justify-content:space-between;min-height:140px;overflow:hidden;padding:1.2rem;position:relative;transition:transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s ease,border-color .35s ease}.space-card:before{background:linear-gradient(180deg,color-mix(in srgb,var(--space-color, var(--primary)) 15%,transparent),transparent);content:"";height:4px;left:0;position:absolute;right:0;top:0}.space-card:hover{border-color:color-mix(in srgb,var(--space-color, var(--primary)) 55%,transparent);box-shadow:0 14px 36px color-mix(in srgb,var(--space-color, var(--primary)) 18%,transparent);transform:translateY(-4px) scale(1.01)}.space-card__header{align-items:center;display:flex;gap:.8rem}.space-card__icon{font-size:2rem;flex-shrink:0}.space-card__name{font-size:1.1rem;margin:0}.space-card__desc{color:var(--text-muted);font-size:.85rem;margin-top:.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.space-card__footer{align-items:center;display:flex;justify-content:space-between}.member-avatar{align-items:center;background:linear-gradient(140deg,color-mix(in srgb,var(--space-color, var(--primary)) 80%,white),var(--space-color, var(--primary)));border:2px solid var(--bg-elevated);border-radius:50%;color:#fff;display:inline-flex;font-family:Space Grotesk,sans-serif;font-size:.8rem;font-weight:700;height:32px;justify-content:center;text-shadow:0 1px 2px rgba(0,0,0,.2);width:32px}.member-avatar--more{background:var(--bg-strong);color:var(--text-muted);font-size:.7rem}.member-stack{display:flex}.member-stack .member-avatar+.member-avatar{margin-left:-8px}.space-header{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(160deg,color-mix(in srgb,var(--space-color, var(--primary)) 10%,var(--bg-elevated)),var(--bg-panel));border:1px solid color-mix(in srgb,var(--space-color, var(--primary)) 25%,var(--border));border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem 1.2rem;position:relative;overflow:hidden}.space-header:before{background:linear-gradient(90deg,color-mix(in srgb,var(--space-color, var(--primary)) 20%,transparent),transparent);content:"";height:3px;left:0;position:absolute;right:0;top:0}.invite-code-btn{align-items:center;background:color-mix(in srgb,var(--bg-strong) 80%,transparent);border:1px solid var(--border);border-radius:.8rem;cursor:pointer;display:inline-flex;font:inherit;gap:.5rem;padding:.4rem .7rem;transition:border-color .25s ease,transform .25s ease}.invite-code-btn:hover{border-color:color-mix(in srgb,var(--primary) 50%,var(--border));transform:translateY(-1px)}.invite-code{font-family:Space Grotesk,monospace;font-weight:700;letter-spacing:.1em}.space-nav{display:flex;flex-wrap:wrap;gap:.4rem}.space-nav__link{align-items:center;background:transparent;border:1px solid transparent;border-radius:.7rem;color:var(--text-muted);cursor:pointer;display:inline-flex;font:inherit;font-size:.88rem;font-weight:700;gap:.3rem;min-height:2.2rem;padding:.35rem .7rem;text-decoration:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.space-nav__link:hover{background:color-mix(in srgb,var(--primary) 8%,transparent);border-color:color-mix(in srgb,var(--primary) 25%,var(--border));color:var(--text)}.space-nav__link.active{background:color-mix(in srgb,var(--primary) 14%,transparent);border-color:color-mix(in srgb,var(--primary) 40%,var(--border));color:var(--primary)}.space-member-chip{align-items:center;background:var(--bg-strong);border:1px solid var(--border);border-radius:999px;color:var(--text-muted);cursor:pointer;display:inline-flex;font:inherit;font-size:.82rem;font-weight:600;gap:.3rem;padding:.3rem .7rem;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .15s ease}.space-member-chip:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border));transform:translateY(-1px)}.space-member-chip--active{background:color-mix(in srgb,var(--primary) 16%,transparent);border-color:color-mix(in srgb,var(--primary) 50%,var(--border));color:var(--primary)}.space-icon-btn{align-items:center;background:var(--bg-strong);border:2px solid transparent;border-radius:.6rem;cursor:pointer;display:inline-flex;font-size:1.3rem;height:42px;justify-content:center;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;width:42px}.space-icon-btn:hover{border-color:var(--border);transform:scale(1.1)}.space-icon-btn--active{background:color-mix(in srgb,var(--primary) 14%,transparent);border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent);transform:scale(1.1)}.space-color-btn{border:2px solid transparent;border-radius:50%;cursor:pointer;height:30px;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;width:30px}.space-color-btn:hover{transform:scale(1.15)}.space-color-btn--active{border-color:var(--text);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 30%,transparent);transform:scale(1.2)}.activity-feed{display:flex;flex-direction:column;gap:0;position:relative}.activity-feed:before{background:linear-gradient(180deg,var(--primary),color-mix(in srgb,var(--primary) 20%,transparent));content:"";height:100%;left:6px;position:absolute;top:0;width:2px}.activity-feed__item{display:flex;gap:1rem;padding:.55rem 0;position:relative}.activity-feed__dot{background:linear-gradient(140deg,var(--primary),var(--primary-strong));border:2px solid var(--bg-elevated);border-radius:50%;flex-shrink:0;height:14px;margin-top:.2rem;width:14px;z-index:1}@media(max-width:768px){.space-grid{grid-template-columns:1fr}.space-header{flex-direction:column;align-items:flex-start}.space-nav{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}.space-nav::-webkit-scrollbar{display:none}.space-nav__link{white-space:nowrap}.space-card__desc{max-width:180px}}
