:root{--background-main:#f6f7f4;--text-primary:#1f2a30;--text-secondary:#4a5a63;--text-muted:#7a8a91;--info:#439db1;--progress:#78c4bf;--success:#9cd3a3;--attention:#d0c286;--action:#b87028;--disabled:#e2e5e1;--disabled-text:#9aa6ac;--border-neutral:#d5d8d3;--border-light:#e2e5e1;--background-secondary:#fafbf9;--background-tertiary:#eef0eb;--shadow-sm:0 1px 2px #1f2a3014;--shadow-md:0 2px 8px #1f2a301f;--shadow-lg:0 4px 16px #1f2a3029;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:24px;--spacing-2xl:32px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-size-xs:12px;--font-size-sm:13px;--font-size-base:14px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:20px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--transition-fast:0.15s ease;--transition-base:0.2s ease;--transition-slow:0.3s ease;--btn-primary-bg:var(--action);--btn-primary-text:#fff;--btn-primary-hover:#a15f1f;--btn-primary-active:#975720;--btn-primary-disabled:var(--disabled);--btn-primary-disabled-text:var(--disabled-text);--btn-secondary-bg:var(--background-secondary);--btn-secondary-text:var(--text-primary);--btn-secondary-border:var(--border-light);--btn-secondary-hover:var(--background-tertiary);--btn-secondary-active:#dcdad5;--btn-tertiary-bg:#0000;--btn-tertiary-text:var(--info);--btn-tertiary-hover:#439db11a;--btn-tertiary-active:#439db126;--btn-info-bg:var(--info);--btn-info-text:#fff;--btn-info-hover:#3a8aa0;--btn-info-active:#32788f;--btn-success-bg:var(--success);--btn-success-text:#fff;--btn-success-hover:#88bb94;--btn-success-active:#7eac88;--btn-attention-bg:var(--attention);--btn-attention-text:#fff;--btn-attention-hover:#beb078;--btn-attention-active:#ada26a;--input-bg:#fff;--input-border:var(--border-light);--input-text:var(--text-primary);--input-placeholder:var(--text-muted);--input-focus-border:var(--info);--input-focus-shadow:0 0 0 3px #439db11a;--input-disabled-bg:var(--disabled);--input-disabled-text:var(--disabled-text);--input-disabled-border:var(--border-light);--input-error-border:#c84343;--input-error-bg:#fcf1f1;--input-error-text:#c84343;--card-bg:#fff;--card-border:var(--border-light);--card-shadow:var(--shadow-md);--card-text:var(--text-primary);--badge-bg:var(--info);--badge-text:#fff;--badge-bg-secondary:var(--background-tertiary);--badge-text-secondary:var(--text-primary);--badge-bg-success:#9cd3a326;--badge-text-success:var(--success);--badge-bg-attention:#d0c28626;--badge-text-attention:var(--attention);--list-item-bg:#0000;--list-item-border:#0000;--list-item-hover-bg:var(--background-tertiary);--list-item-active-bg:var(--background-secondary);--list-item-text:var(--text-primary);--list-divider:var(--border-light);--empty-icon-color:var(--text-muted);--empty-text:var(--text-secondary);--empty-background:var(--background-secondary);--chart-primary:var(--info);--chart-secondary:var(--progress);--chart-success:var(--success);--chart-attention:var(--attention);--chart-gridline:var(--border-light);--chart-text:var(--text-primary);--modal-bg:#fff;--modal-border:var(--border-light);--modal-shadow:0 8px 32px #1f2a3033;--modal-overlay:#0000004d}[role=button],button{border:none;border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);transition:all var(--transition-base)}[role=button][disabled],button:disabled{cursor:not-allowed}.btn,.btn-primary{background-color:var(--btn-primary-bg);box-shadow:var(--shadow-sm);color:var(--btn-primary-text);padding:var(--spacing-md) var(--spacing-lg)}.btn-primary:hover:not(:disabled),.btn:hover:not(:disabled){background-color:var(--btn-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled),.btn:active:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-primary:disabled,.btn:disabled{background-color:var(--btn-primary-disabled);color:var(--btn-primary-disabled-text);opacity:.6}.btn-secondary{background-color:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);box-shadow:var(--shadow-sm);color:var(--btn-secondary-text);padding:var(--spacing-md) var(--spacing-lg)}.btn-secondary:hover:not(:disabled){background-color:var(--btn-secondary-hover);border-color:var(--border-neutral)}.btn-secondary:active:not(:disabled){background-color:var(--btn-secondary-active)}.btn-secondary:disabled{background-color:var(--btn-primary-disabled);border-color:var(--border-light);color:var(--btn-primary-disabled-text);opacity:.6}.btn-tertiary{background-color:var(--btn-tertiary-bg);border:none;color:var(--btn-tertiary-text);padding:var(--spacing-md) var(--spacing-lg)}.btn-tertiary:hover:not(:disabled){background-color:var(--btn-tertiary-hover)}.btn-tertiary:active:not(:disabled){background-color:var(--btn-tertiary-active)}.btn-tertiary:disabled{color:var(--disabled-text);opacity:.6}.btn-info{background-color:var(--btn-info-bg);box-shadow:var(--shadow-sm);color:var(--btn-info-text);padding:var(--spacing-md) var(--spacing-lg)}.btn-info:hover:not(:disabled){background-color:var(--btn-info-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-info:active:not(:disabled){background-color:var(--btn-info-active);transform:translateY(0)}.btn-info:disabled{background-color:var(--btn-primary-disabled);color:var(--btn-primary-disabled-text);opacity:.6}.btn-success{background-color:var(--btn-success-bg);box-shadow:var(--shadow-sm);color:var(--btn-success-text);padding:var(--spacing-md) var(--spacing-lg)}.btn-success:hover:not(:disabled){background-color:var(--btn-success-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-success:active:not(:disabled){background-color:var(--btn-success-active);transform:translateY(0)}.btn-success:disabled{background-color:var(--btn-primary-disabled);color:var(--btn-primary-disabled-text);opacity:.6}.btn-attention{background-color:var(--btn-attention-bg);box-shadow:var(--shadow-sm);color:var(--btn-attention-text);padding:var(--spacing-md) var(--spacing-lg)}.btn-attention:hover:not(:disabled){background-color:var(--btn-attention-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-attention:active:not(:disabled){background-color:var(--btn-attention-active);transform:translateY(0)}.btn-attention:disabled{background-color:var(--btn-primary-disabled);color:var(--btn-primary-disabled-text);opacity:.6}.btn-sm{font-size:var(--font-size-sm);padding:calc(var(--spacing-sm) - 1px) var(--spacing-md)}.btn-lg{font-size:var(--font-size-md);padding:var(--spacing-lg) var(--spacing-xl)}.btn-block{gap:var(--spacing-sm);width:100%}.btn-block,.btn-icon{align-items:center;display:flex;justify-content:center}.btn-icon{border-radius:var(--radius-md);height:40px;padding:0;width:40px}.btn-icon svg{height:20px;width:20px}input[type=date],input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],input[type=time],select,textarea{background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--input-text);font-family:var(--font-family);font-size:var(--font-size-base);padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-base)}input::placeholder,textarea::placeholder{color:var(--input-placeholder)}input[type=date]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=text]:focus,input[type=time]:focus,select:focus,textarea:focus{background-color:var(--input-bg);border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow);outline:none}input:disabled,select:disabled,textarea:disabled{background-color:var(--input-disabled-bg);border-color:var(--input-disabled-border);color:var(--input-disabled-text);cursor:not-allowed}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{background-color:var(--input-error-bg);border-color:var(--input-error-border)}input[aria-invalid=true]:focus,select[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus{border-color:var(--input-error-border);box-shadow:0 0 0 3px #c843431a}textarea{line-height:1.5;min-height:100px;resize:vertical}select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%234A5A63' d='m1 1 5 5 5-5'/%3E%3C/svg%3E");background-position:right var(--spacing-lg) center;background-repeat:no-repeat;padding-right:calc(var(--spacing-lg)*2 + 12px)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}label{color:var(--text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.form-hint{color:var(--text-muted)}.form-error,.form-hint{font-size:var(--font-size-sm);margin-top:-var(--spacing-sm)}.form-error{color:var(--input-error-text)}input[type=checkbox],input[type=radio]{accent-color:var(--info);cursor:pointer;height:20px;width:20px}input[type=checkbox]:disabled,input[type=radio]:disabled{accent-color:var(--disabled);cursor:not-allowed;opacity:.6}.input-with-icon{align-items:center;display:flex;position:relative}.input-with-icon input{padding-left:calc(var(--spacing-lg)*2 + 20px)}.input-with-icon .input-icon{align-items:center;color:var(--text-muted);display:flex;left:var(--spacing-lg);pointer-events:none;position:absolute}.input-with-icon input:focus+.input-icon{color:var(--info)}.input-sm{font-size:var(--font-size-sm);padding:calc(var(--spacing-sm) - 1px) var(--spacing-md)}.input-lg{font-size:var(--font-size-md);padding:var(--spacing-lg) var(--spacing-xl)}.card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);padding:var(--spacing-lg);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg)}.card-header{border-bottom:1px solid var(--card-border);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md)}.card-title{color:var(--card-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.card-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0}.card-body{padding:var(--spacing-lg)}.card-body+.card-body,.card-footer{border-top:1px solid var(--card-border)}.card-footer{align-items:center;display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-md);padding-top:var(--spacing-md)}.card-secondary{background-color:var(--background-secondary);border-color:var(--border-light)}.card-elevated{box-shadow:var(--shadow-lg)}.card-elevated:hover{box-shadow:0 8px 24px #1f2a3033;transform:translateY(-2px)}.card-info{border-left:4px solid var(--info)}.card-success{border-left:4px solid var(--success)}.card-attention{border-left:4px solid var(--attention)}.card-progress{border-left:4px solid var(--progress)}.card.clickable{cursor:pointer}.card.clickable:hover{border-color:var(--info);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.card.clickable:active{transform:translateY(0)}.card.disabled,.card:disabled{cursor:not-allowed;opacity:.6}.card-sm,.card-sm .card-body{padding:var(--spacing-md)}.card-lg,.card-lg .card-body{padding:var(--spacing-xl)}.list{list-style:none;margin:0;padding:0}.list-item{background-color:var(--list-item-bg);border:1px solid var(--list-item-border);color:var(--list-item-text);padding:var(--spacing-lg);transition:all var(--transition-base)}.list-item+.list-item{border-top:1px solid var(--list-divider)}.list-item:first-child{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.list-item:last-child{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.list-item:only-child{border-radius:var(--radius-lg)}.list-item:hover{background-color:var(--list-item-hover-bg);cursor:pointer}.list-item.active{background-color:var(--list-item-active-bg);border-color:var(--info)}.list-item.disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.list-item-content{align-items:center;display:flex;gap:var(--spacing-md);justify-content:space-between}.list-item-title{color:var(--text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0}.list-item-description{color:var(--text-secondary);font-size:var(--font-size-sm);margin:var(--spacing-xs) 0 0 0}.list-item-meta{color:var(--text-muted);font-size:var(--font-size-sm);margin-left:auto}.list-item-icon{align-items:center;color:var(--text-secondary);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.list-item-icon svg{height:24px;width:24px}.list-item-avatar{border-radius:50%;flex-shrink:0;height:40px;object-fit:cover;width:40px}.list-group{margin-bottom:var(--spacing-lg)}.list-group-title{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.5px;margin-bottom:0;padding:var(--spacing-md) var(--spacing-lg);text-transform:uppercase}.list-group .list{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.list-sm .list-item{padding:var(--spacing-md)}.list-sm .list-item-title{font-size:var(--font-size-sm)}.list-lg .list-item{padding:var(--spacing-xl)}.list-lg .list-item-title{font-size:var(--font-size-lg)}.list-divider .list-item{border-bottom:1px solid var(--list-divider)}.list-divider .list-item:last-child{border-bottom:none}.badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:var(--spacing-xs);justify-content:center;padding:calc(var(--spacing-xs)*1.5) var(--spacing-sm);white-space:nowrap}.badge,.badge-primary{background-color:var(--badge-bg);color:var(--badge-text)}.badge-secondary{background-color:var(--badge-bg-secondary);border:1px solid var(--border-light);color:var(--badge-text-secondary)}.badge-success{background-color:var(--badge-bg-success);color:var(--badge-text-success)}.badge-attention{background-color:var(--badge-bg-attention);color:var(--badge-text-attention)}.badge-info{background-color:var(--info);color:#fff}.badge-progress{background-color:var(--progress);color:#fff}.badge-action{background-color:var(--action);color:#fff}.badge-disabled{background-color:var(--disabled);color:var(--disabled-text)}.badge-sm{font-size:11px;padding:calc(var(--spacing-xs)*.75) var(--spacing-xs)}.badge-lg{font-size:var(--font-size-sm);padding:calc(var(--spacing-xs)*2) var(--spacing-md)}.badge svg{height:12px;width:12px}.badge-sm svg{height:10px;width:10px}.badge-lg svg{height:14px;width:14px}.badge-dot{border-radius:50%;flex-shrink:0;height:8px;padding:0;width:8px}.badge-dot.badge-success{background-color:var(--success)}.badge-dot.badge-info{background-color:var(--info)}.badge-dot.badge-attention{background-color:var(--attention)}.badge-dot.badge-progress{background-color:var(--progress)}.badge-dot.badge-disabled{background-color:var(--disabled)}.badge-counter{align-items:center;border-radius:10px;display:flex;font-size:12px;height:20px;justify-content:center;min-width:20px;padding:0 6px}.badge-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.empty-state{background-color:var(--empty-background);border-radius:var(--radius-lg);gap:var(--spacing-lg);justify-content:center;min-height:300px;padding:var(--spacing-2xl) var(--spacing-lg)}.empty-state-icon{align-items:center;color:var(--empty-icon-color);display:flex;font-size:48px;justify-content:center}.empty-state-icon,.empty-state-icon svg{height:80px;width:80px}.empty-state-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.empty-state-title{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.empty-state-description{color:var(--empty-text);font-size:var(--font-size-base);margin:0;max-width:400px}.empty-state-action{display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-md)}.empty-state-info{background-color:#439db10d;color:var(--info)}.empty-state-info .empty-state-icon{color:var(--info)}.empty-state-success{background-color:#9cd3a30d;color:var(--success)}.empty-state-success .empty-state-icon{color:var(--success)}.empty-state-attention{background-color:#d0c2860d;color:var(--attention)}.empty-state-attention .empty-state-icon{color:var(--attention)}.empty-state-progress{background-color:#78c4bf0d;color:var(--progress)}.empty-state-progress .empty-state-icon{color:var(--progress)}.empty-state-sm{gap:var(--spacing-md);min-height:200px;padding:var(--spacing-xl) var(--spacing-lg)}.empty-state-sm .empty-state-icon{font-size:36px;height:60px;width:60px}.empty-state-sm .empty-state-title{font-size:var(--font-size-base)}.empty-state-sm .empty-state-description{font-size:var(--font-size-sm)}.empty-state-lg{gap:var(--spacing-xl);min-height:400px;padding:var(--spacing-2xl) * 1.5 var(--spacing-2xl)}.empty-state-lg .empty-state-icon{font-size:60px;height:100px;width:100px}.empty-state-lg .empty-state-title{font-size:var(--font-size-xl)}.chart{height:auto;width:100%}.chart-wrapper{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg)}.chart-title{color:var(--chart-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.chart-subtitle,.chart-title{margin:0 0 var(--spacing-lg) 0}.chart-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm)}.chart-legend{display:flex;flex-wrap:wrap;font-size:var(--font-size-sm);gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.chart-legend-item{align-items:center;display:flex;gap:var(--spacing-sm)}.chart-legend-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.chart-legend-dot.primary{background-color:var(--chart-primary)}.chart-legend-dot.secondary{background-color:var(--chart-secondary)}.chart-legend-dot.success{background-color:var(--chart-success)}.chart-legend-dot.attention{background-color:var(--chart-attention)}.chart-legend-label{color:var(--text-primary);font-weight:var(--font-weight-medium)}.chart-color-primary{fill:var(--chart-primary);color:var(--chart-primary)}.chart-color-secondary{fill:var(--chart-secondary);color:var(--chart-secondary)}.chart-color-success{fill:var(--chart-success);color:var(--chart-success)}.chart-color-attention{fill:var(--chart-attention);color:var(--chart-attention)}.chart-label{font-size:var(--font-size-xs)}.chart-label,.chart-value{fill:var(--chart-text);color:var(--chart-text)}.chart-value{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.chart-grid,.chart-gridline{stroke:var(--chart-gridline)}.chart-gridline{stroke-dasharray:4 4}.chart-bar{transition:opacity var(--transition-base)}.chart-bar:hover{filter:brightness(1.1);opacity:.8}.chart-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chart-line-primary{stroke:var(--chart-primary)}.chart-line-secondary{stroke:var(--chart-secondary)}.chart-line-success{stroke:var(--chart-success)}.chart-line-attention{stroke:var(--chart-attention)}.chart-area{fill-opacity:.1}.chart-area-primary{fill:var(--chart-primary)}.chart-area-secondary{fill:var(--chart-secondary)}.chart-area-success{fill:var(--chart-success)}.chart-area-attention{fill:var(--chart-attention)}.chart-tooltip{background-color:var(--text-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:#fff;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);pointer-events:none;z-index:10}.metric-card{background-color:var(--background-secondary);border:1px solid var(--card-border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-lg)}.metric-label{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.metric-value{color:var(--chart-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.metric-change{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.metric-change.positive{color:var(--success)}.metric-change.negative{color:#c84343}:root{--app-vvh:1vh;--app-vv-bottom:0px;--app-safe-top:env(safe-area-inset-top,0px);--app-safe-right:env(safe-area-inset-right,0px);--app-safe-bottom:env(safe-area-inset-bottom,0px);--app-safe-left:env(safe-area-inset-left,0px)}*,:after,:before{box-sizing:border-box}body,html{background-color:var(--background-main);min-height:100%}body,html{-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);font-family:var(--font-family);margin:0;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}body.app-overlay-open,html.app-overlay-open{overscroll-behavior:none}#root{min-height:100%}img,svg{height:auto;max-width:100%}@media (hover:none) and (pointer:coarse){input,select,textarea{font-size:16px}}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:var(--background-main);color:var(--text-primary);display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:var(--info)}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.app-header{align-items:center;background:#fff;box-shadow:var(--shadow-sm);color:var(--text-primary);display:flex;gap:12px;height:56px;left:0;padding:0 16px;position:fixed;right:0;top:0;z-index:1400}:root{--md-sys-color-primary:#5b6fee;--md-sys-color-primary-hover:#4a5fdd;--md-sys-color-primary-light:#7c5fee;--md-sys-color-primary-dark:#9d4fee;--md-sys-color-surface:#fff;--md-sys-color-surface-variant:#f0edff;--md-sys-color-on-surface-variant:#666;--md-sys-color-outline:#d0d0d0;--md-sys-color-outline-variant:#e5e5e5;--md-sys-color-error:#b3261e;--md-sys-color-background:linear-gradient(135deg,#f8f7ff,#f0edff)}.onb-root{align-items:flex-start;background:linear-gradient(135deg,#f8f7ff,#f0edff);color:#1c1b1f;color:var(--md-sys-color-on-surface);display:flex;font-family:Roboto,system-ui,-apple-system,sans-serif;justify-content:center;min-height:100vh;overflow-y:auto;padding:24px 16px}.onb-container{margin:0 auto;max-width:600px;width:100%}.onb-card{background:#fff;background:var(--md-sys-color-surface);border-radius:28px;box-shadow:0 4px 16px #00000014;color:#1c1b1f;color:var(--md-sys-color-on-surface);margin-bottom:16px;padding:32px 24px}.onb-title{color:#5b6fee;color:var(--md-sys-color-primary);font-size:24px;font-weight:500;letter-spacing:0;line-height:32px;margin:0 0 8px}.onb-subtitle{color:#666;color:var(--md-sys-color-on-surface-variant);font-size:14px;font-weight:400;letter-spacing:.25px;line-height:20px;margin:0 0 24px}.onb-field{display:flex;flex-direction:column;margin-bottom:20px;position:relative}.onb-field label{align-items:center;color:#1c1b1f;display:flex;font-size:13px;font-weight:600;gap:4px;letter-spacing:.3px;line-height:16px;margin-bottom:10px}.onb-field.required label:after{color:#b3261e;color:var(--md-sys-color-error);content:"*";margin-left:2px}.onb-field input,.onb-field select{background:#fff;background:var(--md-sys-color-surface);border:2px solid #d0d0d0;border:2px solid var(--md-sys-color-outline);border-radius:8px;box-shadow:0 1px 3px #0000000d;color:#1c1b1f;color:var(--md-sys-color-on-surface);font-size:16px;font-weight:400;letter-spacing:.3px;line-height:24px;outline:none;padding:14px 16px;transition:all .3s ease}.onb-field input:focus,.onb-field select:focus{border-color:#5b6fee;border-color:var(--md-sys-color-primary);border-width:2px;box-shadow:0 0 0 4px #5b6fee1f,0 2px 8px #5b6fee26;padding:14px 16px}.onb-field input::placeholder{opacity:.6}.onb-field input::placeholder,.onb-hint{color:#666;color:var(--md-sys-color-on-surface-variant)}.onb-hint{align-items:flex-start;background:#5b6fee0d;border-left:3px solid #5b6fee;border-left:3px solid var(--md-sys-color-primary);border-radius:8px;display:flex;font-size:13px;font-weight:400;gap:6px;letter-spacing:.3px;line-height:18px;margin-top:8px;padding:10px 12px}.onb-hint:before{content:"💡";flex-shrink:0;font-size:16px}.onb-field-currency{position:relative}.onb-field-currency:before{color:#666;color:var(--md-sys-color-on-surface-variant);content:"";content:var(--currency-symbol,"");font-size:16px;font-weight:400;left:16px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.onb-field-currency input{padding-left:44px}.onb-card-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:24px}.onb-option-card{align-items:center;background:#fff;background:var(--md-sys-color-surface);border:2px solid #d0d0d0;border:2px solid var(--md-sys-color-outline);border-radius:16px;box-shadow:0 2px 6px #0000000f;cursor:pointer;display:flex;flex-direction:column;font-size:14px;font-weight:500;gap:8px;justify-content:center;letter-spacing:.1px;line-height:20px;min-height:110px;padding:24px 16px;text-align:center;transition:all .3s ease}.onb-option-card:hover{background:#f0edff;background:var(--md-sys-color-surface-variant);box-shadow:0 4px 12px #5b6fee33;transform:translateY(-2px)}.onb-option-card.active,.onb-option-card:hover{border-color:#5b6fee;border-color:var(--md-sys-color-primary)}.onb-option-card.active{background:#5b6fee14;border-width:2px;box-shadow:0 2px 8px #5b6fee26;color:#5b6fee;color:var(--md-sys-color-primary)}.onb-option-card .icon{filter:grayscale(20%);font-size:36px;margin-bottom:8px;transition:all .3s ease}.onb-option-card.active .icon{filter:grayscale(0);transform:scale(1.1)}.onb-toggle{align-items:center;background:#5b6fee0a;border:1px solid #5b6fee1a;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:20px;padding:16px}.onb-toggle span{color:#1c1b1f;color:var(--md-sys-color-on-surface)}.onb-toggle span,.onb-toggle-btn{font-size:14px;font-weight:500;line-height:20px}.onb-toggle-btn{background:#fff;background:var(--md-sys-color-surface);border:1px solid #d0d0d0;border:1px solid var(--md-sys-color-outline);border-radius:100px;color:#666;color:var(--md-sys-color-on-surface-variant);cursor:pointer;letter-spacing:.1px;padding:10px 24px;transition:all .3s ease}.onb-toggle-btn:hover{background:#f0edff;background:var(--md-sys-color-surface-variant);box-shadow:0 2px 6px #0000001a;transform:translateY(-1px)}.onb-toggle-btn.active,.onb-toggle-btn:hover{border-color:#5b6fee;border-color:var(--md-sys-color-primary)}.onb-toggle-btn.active{background:#5b6fee;background:var(--md-sys-color-primary);box-shadow:0 4px 10px #5b6fee4d;color:#fff;color:var(--md-sys-color-on-primary)}.onb-footer{border-top:1px solid #e5e5e5;border-top:1px solid var(--md-sys-color-outline-variant);display:flex;gap:12px;justify-content:space-between;margin-top:32px;padding-top:24px}.onb-primary-btn,.onb-secondary-btn{border:none;border-radius:100px;box-shadow:0 1px 2px #0000004d;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;letter-spacing:.1px;line-height:20px;padding:16px 28px;transition:all .3s ease}.onb-primary-btn{background:#5b6fee;background:var(--md-sys-color-primary);box-shadow:0 4px 12px #5b6fee4d;color:#fff;color:var(--md-sys-color-on-primary)}.onb-primary-btn:hover{background:#4a5fdd;background:var(--md-sys-color-primary-hover);box-shadow:0 6px 16px #5b6fee66;transform:translateY(-2px)}.onb-primary-btn:active{transform:translateY(0)}.onb-primary-btn:disabled{box-shadow:none;cursor:default;opacity:.38;transform:none}.onb-secondary-btn{background:#0000;border:1px solid #d0d0d0;border:1px solid var(--md-sys-color-outline);box-shadow:none;color:#5b6fee;color:var(--md-sys-color-primary)}.onb-secondary-btn:hover{background:#5b6fee14;border-color:#5b6fee;border-color:var(--md-sys-color-primary)}.onb-summary{background:#f0edff;background:var(--md-sys-color-surface-variant);border-radius:16px;box-shadow:0 2px 8px #0000000f;font-size:14px;font-weight:400;letter-spacing:.25px;line-height:20px;margin-top:24px;padding:20px}.onb-summary p{align-items:center;display:flex;justify-content:space-between;margin:8px 0}.onb-summary p strong{font-weight:500}.onb-error{background:#b3261e14;border-left:4px solid #b3261e;border-left:4px solid var(--md-sys-color-error);color:#b3261e;color:var(--md-sys-color-error)}.onb-error,.onb-success{border-radius:12px;font-size:14px;font-weight:400;letter-spacing:.25px;line-height:20px;margin-top:16px;padding:12px 16px}.onb-success{background:#2e7d3214;border-left:4px solid #2e7d32;color:#2e7d32}.onb-progress{align-items:center;display:flex;gap:8px;justify-content:center;margin-bottom:24px;padding:16px 0}.onb-progress-dot{background:#e5e5e5;background:var(--md-sys-color-outline-variant);border-radius:50%;height:8px;transition:all .3s ease;width:8px}.onb-progress-dot.active{border-radius:4px;box-shadow:0 2px 6px #5b6fee66;width:32px}.onb-progress-dot.active,.onb-progress-dot.completed{background:#5b6fee;background:var(--md-sys-color-primary)}.onb-progress-dot.completed{box-shadow:0 1px 3px #5b6fee4d}.onb-step-badge{align-items:center;background:#5b6fee;background:var(--md-sys-color-primary);border-radius:50%;box-shadow:0 2px 8px #5b6fee4d;color:#fff;color:var(--md-sys-color-on-primary);display:inline-flex;font-size:16px;font-weight:600;height:40px;justify-content:center;margin-bottom:16px;width:40px}@media (max-width:640px){.onb-root{padding:16px 12px}.onb-card{padding:24px 16px}.onb-title{font-size:20px;line-height:28px}.onb-card-row{grid-template-columns:1fr}.onb-footer{flex-direction:column-reverse}.onb-footer button{width:100%}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.onb-card{animation:fadeIn .3s ease}.onb-intro-card{background:linear-gradient(135deg,#f8f7ff,#f0edff);border-radius:28px;box-shadow:0 4px 16px #00000014;margin:0 auto;max-width:700px;padding:48px 32px;text-align:center}.onb-intro-icon{align-items:center;display:inline-flex;justify-content:center;margin-bottom:24px}.onb-intro-title{color:#5b6fee;font-size:32px;font-weight:500;letter-spacing:0;line-height:40px;margin:0 0 12px}.onb-intro-subtitle{color:#666;font-size:16px;font-weight:400;letter-spacing:.15px;line-height:24px;margin:0 0 40px}.onb-intro-features{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:40px}.onb-intro-feature-card{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000f;padding:24px 20px;transition:transform .2s ease,box-shadow .2s ease}.onb-intro-feature-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-4px)}.onb-intro-feature-icon{align-items:center;border-radius:50%;display:flex;height:56px;justify-content:center;margin:0 auto 16px;width:56px}.onb-intro-feature-title{color:#1c1b1f;font-size:16px;font-weight:500;line-height:24px;margin:0 0 8px}.onb-intro-feature-text{color:#666;font-size:14px;font-weight:400;line-height:20px;margin:0}.onb-intro-how-it-works{background:#fff;border-radius:20px;box-shadow:0 2px 8px #0000000f;margin-bottom:32px;padding:28px 24px;text-align:left}.onb-intro-how-title{color:#1c1b1f;font-size:18px;font-weight:500;line-height:24px;margin:0 0 20px}.onb-intro-step{align-items:flex-start;display:flex;gap:12px;margin-bottom:16px}.onb-intro-step:last-child{margin-bottom:0}.onb-intro-step-badge{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:600;height:32px;justify-content:center;width:32px}.onb-intro-step-content{flex:1 1;padding-top:4px}.onb-intro-step-label{color:#1c1b1f;font-size:14px;font-weight:600;margin-right:4px}.onb-intro-step-text{color:#666;font-size:14px;font-weight:400}.onb-intro-cta{background:#5b6fee;border:none;border-radius:50px;box-shadow:0 4px 12px #5b6fee4d;color:#fff;cursor:pointer;font-size:16px;font-weight:500;letter-spacing:.5px;margin-bottom:16px;max-width:400px;padding:16px 32px;transition:all .2s ease;width:100%}.onb-intro-cta:hover{background:#4a5fdd;box-shadow:0 6px 16px #5b6fee66;transform:translateY(-2px)}.onb-intro-cta:active{transform:translateY(0)}.onb-intro-time{color:#666;font-size:14px;font-weight:400;margin:0}@media (max-width:640px){.onb-intro-card{padding:32px 20px}.onb-intro-title{font-size:24px;line-height:32px}.onb-intro-subtitle{font-size:14px;line-height:20px}.onb-intro-features{grid-template-columns:1fr}.onb-intro-cta{max-width:100%}}@media (max-width:480px){.onb-root{padding:12px 8px}.onb-card{padding:20px 12px}.onb-title{font-size:18px;line-height:24px}.onb-intro-card{padding:24px 16px}.onb-intro-title{font-size:20px;line-height:28px}.onb-intro-subtitle{font-size:12px;line-height:18px}}@media (max-width:360px){.onb-root{padding:8px 4px}.onb-card{padding:16px 8px}.onb-title{font-size:16px;line-height:20px}.onb-intro-card{padding:16px 12px}.onb-intro-title{font-size:18px;line-height:24px}.onb-intro-subtitle{font-size:10px;line-height:16px}.onb-footer button{font-size:14px;padding:8px 16px}}:root{--z-header:1400;--header-height:56px;--header-safe-height:calc(var(--header-height) + var(--app-safe-top, 0px))}.app-header-v2{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(135deg,#439db1,#78c4bf);background:linear-gradient(135deg,var(--color-bg-gradient-start,#439db1) 0,var(--color-bg-gradient-end,#78c4bf) 100%);border-bottom:1px solid #ffffff3d;box-shadow:0 12px 28px #0e2e4838;box-sizing:border-box;display:flex;height:56px;height:var(--header-safe-height);left:0;padding-bottom:0;padding-left:14px;padding-left:calc(14px + var(--app-safe-left, 0px));padding-right:14px;padding-right:calc(14px + var(--app-safe-right, 0px));padding-top:0;padding-top:var(--app-safe-top,0);position:fixed;right:0;top:0;z-index:1400;z-index:var(--z-header)}.app-header-v2-inner{align-items:center;display:flex;gap:12px;justify-content:space-between;width:100%}.header-slot{display:flex}.header-button,.header-slot{align-items:center;justify-content:center}.header-button{background:#ffffff1f;border:1px solid #ffffff47;border-radius:12px;box-shadow:0 6px 18px #0f172a2e;color:#fff;display:inline-flex;height:44px;transition:transform .14s ease,background-color .16s ease,border-color .16s ease;width:44px}.header-button:hover{background:#ffffff2e;border-color:#ffffff57}.header-button:active{background:#ffffff3d;transform:translateY(1px)}.header-title-wrap{color:#fff;flex:1 1;justify-content:center;min-width:0;text-align:center}.header-title{display:block;font-size:17px;font-weight:700;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;text-shadow:0 6px 18px #0f172a38;white-space:nowrap}.header-actions,.header-spacer{height:44px;width:44px}.header-actions{justify-content:flex-end}.header-bell{position:relative}.header-badge{align-items:center;background:#ff7849;border:1px solid #ffffffa6;border-radius:999px;box-shadow:0 6px 14px #ff784959;color:#fff;display:inline-flex;font-size:11px;font-weight:700;height:18px;justify-content:center;line-height:1;min-width:18px;padding:0 6px;position:absolute;right:-6px;top:-4px}:root{--z-bottom-nav:1100;--bottom-nav-height:84px;--bottom-nav-safe-height:calc(var(--bottom-nav-height) + var(--app-safe-bottom, 0px));--bn-bg:linear-gradient(135deg,var(--color-bg-gradient-start,#439db1) 0%,var(--color-bg-gradient-end,#78c4bf) 100%);--bn-border:#ffffff4d;--bn-text:#ffffffd1;--bn-muted:#ffffff9e;--bn-active:#f5d77a;--bn-active-bg:#ffffff1a}.bottom-nav-v2{align-items:stretch;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(135deg,#439db1,#78c4bf);background:var(--bn-bg);border-top:1px solid #ffffff4d;border-top:1px solid var(--bn-border);bottom:0;box-shadow:0 1px 3px 0 #0000001a;box-shadow:var(--elevation-soft,0 1px 3px 0 #0000001a);box-sizing:border-box;display:flex;gap:6px;height:84px;height:var(--bottom-nav-safe-height);justify-content:space-around;left:0;overscroll-behavior:none;padding-bottom:12px;padding-bottom:calc(12px + var(--app-safe-bottom, 0px));padding-left:12px;padding-left:calc(12px + var(--app-safe-left, 0px));padding-right:12px;padding-right:calc(12px + var(--app-safe-right, 0px));padding-top:8px;position:fixed;right:0;z-index:1100;z-index:var(--z-bottom-nav)}.bottom-nav-item{border-radius:12px;color:#ffffff9e;color:var(--bn-muted);font-size:12px;font-weight:500;gap:6px;line-height:1.2;min-width:72px;padding:10px 8px 12px;text-decoration:none;transition:color .14s ease,background-color .16s ease,transform .16s ease}.bottom-nav-item .bottom-nav-icon{color:inherit;display:grid;height:24px;place-items:center}.bottom-nav-icon svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;height:22px;width:22px}.bottom-nav-label{color:inherit;font-size:11px;font-weight:inherit;line-height:1.25}.bottom-nav-item.is-active{background:#ffffff1a;background:var(--bn-active-bg);color:#f5d77a;color:var(--bn-active);font-weight:700}.bottom-nav-item.is-active .bottom-nav-icon svg{filter:drop-shadow(0 6px 18px rgba(245,215,122,.35))}@media (hover:hover){.bottom-nav-item:hover{background:#ffffff0f;color:#ffffffd1;color:var(--bn-text)}.bottom-nav-item:hover:not(.is-active){transform:translateY(-1px)}}@media (min-width:768px){.bottom-nav-v2{max-width:100%}}.drawer-v2-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c122673;inset:0;overscroll-behavior:none;pointer-events:none;position:fixed;touch-action:none;z-index:1800}.drawer-v2-overlay.is-open{animation:drawer-v2-overlay-in .28s cubic-bezier(.22,1,.36,1) both;pointer-events:auto}.drawer-v2-overlay.is-closing{animation:drawer-v2-overlay-out .26s cubic-bezier(.4,0,1,1) both;pointer-events:none}.drawer-v2-container{-webkit-overflow-scrolling:touch;background:#fff;border-right:1px solid #e6ecf2;box-shadow:12px 0 28px #0f172a38;display:flex;flex-direction:column;height:100vh;height:calc(var(--app-vvh, 1vh)*100);left:0;max-width:88vw;overflow-y:auto;overscroll-behavior:contain;padding:0 0 24px;padding:0 0 calc(24px + var(--app-safe-bottom, 0px)) 0;pointer-events:none;position:fixed;top:0;transform:translateX(0);width:300px;will-change:transform,opacity;z-index:1800}.drawer-v2-container.is-open{animation:drawer-v2-enter .42s cubic-bezier(.22,1,.36,1) both;pointer-events:auto}.drawer-v2-container.is-closing{animation:drawer-v2-exit .3s cubic-bezier(.4,0,1,1) both;pointer-events:none}.drawer-v2-container.is-open>*{animation:drawer-v2-content-in .42s cubic-bezier(.22,1,.36,1) both}.drawer-v2-container.is-open>:first-child{animation-delay:40ms}.drawer-v2-container.is-open>:nth-child(2){animation-delay:80ms}.drawer-v2-container.is-open>:nth-child(3){animation-delay:.12s}.drawer-v2-container.is-closing>*{animation:drawer-v2-content-out .22s cubic-bezier(.4,0,1,1) both}.drawer-v2-head{align-items:center;background:linear-gradient(135deg,#439db1,#78c4bf);background:linear-gradient(135deg,var(--color-bg-gradient-start,#439db1) 0,var(--color-bg-gradient-end,#78c4bf) 100%);border-bottom:1px solid #ffffff38;box-shadow:0 10px 22px #0e2e4847;box-sizing:border-box;display:flex;justify-content:space-between;min-height:56px;min-height:calc(56px + var(--app-safe-top, 0px));padding:0 16px;padding:var(--app-safe-top,0) 16px 0 calc(16px + var(--app-safe-left, 0px))}.drawer-v2-head-title{color:#fff;font-size:17px;font-weight:700}.drawer-v2-head-close{align-items:center;background:#ffffff24;border:1px solid #ffffff4d;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;height:40px;justify-content:center;transition:background .15s ease,border-color .15s ease,transform .15s ease;width:40px}.drawer-v2-head-close:hover{background:#fff3;border-color:#ffffff5c}.drawer-v2-head-close:active{transform:translateY(1px)}.drawer-v2-header{align-items:center;background:linear-gradient(90deg,#f2fbff,#fff);border:1px solid #e8eef5;border-radius:14px;box-shadow:0 10px 24px #0f172a14;cursor:pointer;display:flex;gap:12px;justify-content:space-between;margin:12px 12px 8px;padding:16px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.drawer-v2-header:hover{border-color:#439db14d;box-shadow:0 14px 28px #0f172a1f;transform:translateY(-1px)}.drawer-v2-profile-area{align-items:center;display:flex;flex:1 1;gap:12px}.drawer-v2-avatar-placeholder{align-items:center;background:#e0f2fe;border:1px solid #cbd5e1;border-radius:50%;color:#0f172a;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:48px;justify-content:center;text-transform:uppercase;-webkit-user-select:none;user-select:none;width:48px}.drawer-v2-profile-text{display:flex;flex:1 1;flex-direction:column;gap:4px}.drawer-v2-profile-name{color:#0f172a;font-size:15px;font-weight:600}.drawer-v2-profile-email{color:#475569;font-size:13px}.drawer-v2-chevron{color:#94a3b8;flex-shrink:0;font-size:18px}.drawer-v2-menu{display:flex;flex-direction:column;gap:12px;padding:8px 12px 0}.drawer-v2-menu-group{display:flex;flex-direction:column;gap:8px}.drawer-v2-separator{background:#e8eef5;height:1px;margin:4px 12px 10px}.drawer-v2-menu-item{align-items:center;background:#fff;border:1px solid #0f172a0f;border-radius:14px;color:#0f172a;cursor:pointer;display:flex;font-size:14px;gap:12px;min-height:52px;padding:0 14px;text-align:left;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.drawer-v2-menu-item:hover{background:#f8fbff;border-color:#439db152;box-shadow:0 10px 24px #0f172a1a;transform:translateY(-1px)}.drawer-v2-menu-item.active{background:linear-gradient(135deg,#439db124,#78c4bf24);border-color:#439db1b3;box-shadow:0 14px 30px #439db133}.drawer-v2-menu-item.is-danger{background:#fff5f5;border-color:#b91c1c3d;color:#b91c1c}.drawer-v2-menu-item.is-danger:hover{background:#ffeaea;border-color:#b91c1c5c}.drawer-v2-item-icon{align-items:center;background:#439db11f;border-radius:10px;color:#0e7490;display:inline-flex;flex-shrink:0;font-size:15px;height:28px;justify-content:center;width:28px}.drawer-v2-item-icon svg{stroke:currentColor;height:18px;width:18px}.drawer-v2-item-text{flex:1 1;font-weight:600}.drawer-v2-confirm-overlay{background:#0c122673;inset:0;position:fixed;z-index:1810}.drawer-v2-confirm-modal{background:#f6f7f9;border:1px solid #cfd5df;border-radius:12px;box-shadow:0 12px 28px #0f172a38;left:50%;padding:14px 14px 12px;position:fixed;top:50%;transform:translate(-50%,-50%);width:min(92vw,340px);z-index:1811}.drawer-v2-confirm-title{color:#0f172a;font-size:18px;font-weight:600;margin:0}.drawer-v2-confirm-text{color:#475569;font-size:14px;margin:8px 0 0}.drawer-v2-confirm-actions{align-items:center;display:flex;gap:6px;justify-content:flex-end;margin-top:12px}.drawer-v2-confirm-actions .btn-primary,.drawer-v2-confirm-actions .btn-secondary{align-items:center;border-radius:8px;display:inline-flex;flex:0 0 auto;height:34px;justify-content:center;margin:0;min-width:48px;padding:0 14px;width:auto}@keyframes drawer-v2-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes drawer-v2-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes drawer-v2-enter{0%{opacity:.98;transform:translateX(calc(-100% - 18px))}to{opacity:1;transform:translateX(0)}}@keyframes drawer-v2-exit{0%{opacity:1;transform:translateX(0)}to{opacity:.98;transform:translateX(calc(-100% - 18px))}}@keyframes drawer-v2-content-in{0%{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:translateX(0)}}@keyframes drawer-v2-content-out{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-12px)}}@media (prefers-reduced-motion:reduce){.drawer-v2-container,.drawer-v2-container>*,.drawer-v2-overlay{animation:none!important}}.modal-perfil-v2-overlay{align-items:center;background:#0009;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:2000}.modal-perfil-v2-container{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;left:50%;max-width:420px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:2001}@media (max-width:768px){.modal-perfil-v2-container{max-width:none;width:95%}}.modal-perfil-v2-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;min-height:48px;padding:16px}.modal-perfil-v2-title{color:#333;font-size:18px;font-weight:600;margin:0}.modal-perfil-v2-close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;line-height:1;padding:0;width:32px}.modal-perfil-v2-close-btn:hover{background:#f5f5f5;color:#333}.modal-perfil-v2-content{display:flex;flex-direction:column;gap:20px;padding:24px 16px}.modal-perfil-v2-field{display:flex;flex-direction:column;gap:8px}.modal-perfil-v2-label{color:#555;font-size:14px;font-weight:500}.modal-perfil-v2-input{background:#fff;border:1px solid #d0d0d0;border-radius:4px;color:#333;font-size:14px;height:40px;outline:none;padding:0 12px}.modal-perfil-v2-input:focus{border-color:#999}.modal-perfil-v2-footer{border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:16px}.modal-perfil-v2-btn{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;height:40px;padding:0 20px;transition:none}.modal-perfil-v2-btn-cancel{background:#f5f5f5;color:#333}.modal-perfil-v2-btn-cancel:hover{background:#e8e8e8}.modal-perfil-v2-btn-save{background:#333;color:#fff}.modal-perfil-v2-btn-save:hover{background:#555}:root{--notifications-radius:14px}.notifications-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c122673;inset:0;overscroll-behavior:none;pointer-events:none;position:fixed;touch-action:none}.notifications-overlay.is-open{animation:notifications-overlay-in .28s cubic-bezier(.22,1,.36,1) both;pointer-events:auto}.notifications-overlay.is-closing{animation:notifications-overlay-out .26s cubic-bezier(.4,0,1,1) both;pointer-events:none}.notifications-drawer{background:#fff;border-left:1px solid #e6ecf2;box-shadow:-14px 0 32px #0f172a3d;display:flex;flex-direction:column;height:100vh;height:calc(var(--app-vvh, 1vh)*100);max-width:88vw;overscroll-behavior:contain;pointer-events:none;position:fixed;right:0;top:0;width:300px;will-change:transform,opacity}.notifications-drawer.is-open{animation:notifications-enter .42s cubic-bezier(.22,1,.36,1) both;pointer-events:auto}.notifications-drawer.is-closing{animation:notifications-exit .3s cubic-bezier(.4,0,1,1) both;pointer-events:none}.notifications-drawer.is-open>*{animation:notifications-content-in .42s cubic-bezier(.22,1,.36,1) both}.notifications-drawer.is-open>:first-child{animation-delay:40ms}.notifications-drawer.is-open>:nth-child(2){animation-delay:80ms}.notifications-drawer.is-open>:nth-child(3){animation-delay:.12s}.notifications-drawer.is-closing>*{animation:notifications-content-out .22s cubic-bezier(.4,0,1,1) both}.notifications-drawer-head{align-items:center;background:linear-gradient(135deg,#439db1,#78c4bf);background:linear-gradient(135deg,var(--color-bg-gradient-start,#439db1),var(--color-bg-gradient-end,#78c4bf));border-bottom:1px solid #ffffff3d;box-shadow:0 12px 26px #0e2e4842;box-sizing:border-box;color:#fff;display:flex;justify-content:space-between;min-height:64px;min-height:calc(64px + var(--app-safe-top, 0px));padding:0 16px;padding:var(--app-safe-top,0) calc(16px + var(--app-safe-right, 0px)) 0 16px}.notifications-title{font-size:17px;font-weight:700;margin:0}.notifications-subtitle{font-size:13px;margin:2px 0 0;opacity:.82}.notifications-close{align-items:center;background:#ffffff1f;border:1px solid #ffffff4d;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;height:42px;justify-content:center;transition:background .16s ease,border-color .16s ease,transform .16s ease;width:42px}.notifications-close:hover{background:#ffffff2e;border-color:#ffffff5c}.notifications-close:active{transform:translateY(1px)}.notifications-list{-webkit-overflow-scrolling:touch;background:linear-gradient(180deg,#f6fbff,#fff);flex:1 1;overflow-y:auto;overscroll-behavior:contain;padding:16px}.notifications-cards{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.notification-card{background:#fff;border:1px solid #e5eaf3;border-radius:14px;border-radius:var(--notifications-radius);box-shadow:0 10px 24px #0f172a14;cursor:pointer;display:block;padding:14px 14px 12px;text-align:left;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;width:100%}.notification-card:hover{border-color:#439db159;box-shadow:0 14px 30px #0f172a24;transform:translateY(-1px)}.notification-card.is-unread{background:linear-gradient(180deg,#f2fbff,#fff);border-color:#439db159}.notification-card-head{align-items:center;display:flex;gap:8px;justify-content:space-between}.notification-pill{background:#439db129;border:1px solid #439db166;border-radius:999px;color:#0f172a;font-size:12px;font-weight:700;padding:4px 10px}.notification-time{align-items:center;color:#475569;display:inline-flex;font-size:12px;gap:6px}.notification-title{color:#0f172a;font-size:15px;font-weight:700;margin:10px 0 4px}.notification-message{color:#334155;font-size:13px;line-height:1.45;margin:0}.notification-card-footer{align-items:center;display:flex;justify-content:flex-end;margin-top:10px}.notification-link{align-items:center;color:#0e7490;display:inline-flex;font-size:13px;font-weight:600;gap:6px}.notifications-empty{align-items:center;background:#fff;border:1px dashed #d7e3ef;border-radius:14px;border-radius:var(--notifications-radius);color:#475569;display:flex;flex-direction:column;gap:6px;justify-content:center;min-height:180px;text-align:center}.notifications-empty-title{color:#0f172a;font-weight:700;margin:0}.notifications-empty-subtitle{color:#475569;font-size:13px;margin:0}.notifications-icon{align-items:center;background:#e0f2fe;border-radius:16px;color:#0e7490;display:inline-flex;height:48px;justify-content:center;width:48px}.notifications-footer{background:#fff;border-top:1px solid #e6ecf2;padding:12px 16px 16px;padding:12px calc(16px + var(--app-safe-right, 0px)) calc(16px + var(--app-safe-bottom, 0px)) 16px}.notifications-view-all{background:linear-gradient(135deg,#f8fbff,#fff);border:1px solid #d7e3ef;border-radius:12px;color:#0f172a;cursor:pointer;font-weight:700;height:44px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;width:100%}.notifications-view-all:hover{border-color:#439db199;box-shadow:0 10px 24px #0f172a1f;transform:translateY(-1px)}.notifications-page{display:flex;flex-direction:column;gap:14px;padding:16px 0;width:100%}.notifications-toolbar{align-items:center;background:#fff;border:1px solid #e5eaf3;border-radius:14px;border-radius:var(--notifications-radius);box-shadow:0 12px 26px #0f172a14;display:flex;gap:12px;justify-content:space-between;padding:12px}.notifications-toolbar-title{display:flex;flex-direction:column;gap:4px}.notifications-toolbar h1{color:#0f172a;font-size:18px;margin:0}.notifications-toolbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.notifications-toolbar button{background:linear-gradient(135deg,#f1fbff,#fff);border:1px solid #439db166;border-radius:12px;color:#0e7490;cursor:pointer;font-weight:700;height:40px;padding:0 14px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.notifications-toolbar button:hover{border-color:#0e7490cc;box-shadow:0 10px 22px #0f172a1f;transform:translateY(-1px)}.notifications-pagination{align-items:center;color:#475569;display:flex;font-size:13px;gap:10px;justify-content:flex-end;margin-top:10px}.notifications-pagination button{background:#fff;border:1px solid #d7e3ef;border-radius:10px;cursor:pointer;height:36px;padding:0 12px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.notifications-pagination button:hover:not(:disabled){border-color:#0e7490b3;box-shadow:0 8px 18px #0f172a1a;transform:translateY(-1px)}.notifications-pagination button:disabled{cursor:not-allowed;opacity:.5}.notifications-list-full{display:flex;flex-direction:column;gap:12px}.notification-card.is-read{background:#fff;border-color:#e6ecf2;opacity:.9}.notification-card .notification-meta{align-items:center;color:#475569;display:flex;font-size:12px;gap:10px}.notification-status-dot{background:#0ea5e9;border-radius:50%;box-shadow:0 0 0 4px #0ea5e929;height:10px;width:10px}.notification-card.is-read .notification-status-dot{background:#cbd5e1;box-shadow:none}.notification-category-badge{background:#0e74901f;border:1px solid #0e749047;border-radius:999px;color:#0f172a;font-size:11px;padding:4px 8px}.notifications-empty-page{background:#fff;border:1px dashed #d7e3ef;border-radius:14px;border-radius:var(--notifications-radius);box-shadow:0 12px 28px #0f172a14;color:#475569;padding:24px;text-align:center}.notifications-empty-page h2{color:#0f172a;margin:0 0 8px}.notifications-empty-page p{font-size:13px;margin:0}@keyframes notifications-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes notifications-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes notifications-enter{0%{opacity:.98;transform:translateX(calc(100% + 18px))}to{opacity:1;transform:translateX(0)}}@keyframes notifications-exit{0%{opacity:1;transform:translateX(0)}to{opacity:.98;transform:translateX(calc(100% + 18px))}}@keyframes notifications-content-in{0%{opacity:0;transform:translateX(14px)}to{opacity:1;transform:translateX(0)}}@keyframes notifications-content-out{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(12px)}}@media (prefers-reduced-motion:reduce){.notifications-drawer,.notifications-drawer>*,.notifications-overlay{animation:none!important}}@media (min-width:768px){.notifications-page{margin:0 auto;max-width:1024px;padding:24px 0 var(--spacing-lg) 0}}:root{--z-content:100}.app-shell-v2{background:#f9f9f9;background:var(--background-main,#f9f9f9);display:flex;flex-direction:column;min-height:100vh;padding-bottom:84px;padding-bottom:var(--bottom-nav-safe-height,84px);padding-top:56px;padding-top:var(--header-safe-height,56px)}.app-shell-body,.app-shell-v2{overflow:visible;position:relative}.app-shell-body{min-height:calc(100vh - 140px);min-height:calc(100vh - var(--header-safe-height, 56px) - var(--bottom-nav-safe-height, 84px));padding-bottom:0;padding-left:16px;padding-left:calc(var(--spacing-lg, 16px) + var(--app-safe-left, 0px));padding-right:16px;padding-right:calc(var(--spacing-lg, 16px) + var(--app-safe-right, 0px));padding-top:0;width:100%}@media (max-width:767px){.app-shell-v2{min-height:100vh;min-height:calc(var(--app-vvh, 1vh)*100)}.app-shell-body{min-height:calc(100vh - 140px);min-height:calc(var(--app-vvh, 1vh)*100 - var(--header-safe-height, 56px) - var(--bottom-nav-safe-height, 84px));padding-left:12px;padding-left:calc(12px + var(--app-safe-left, 0px));padding-right:12px;padding-right:calc(12px + var(--app-safe-right, 0px))}}@media (min-width:768px){.app-shell-body{margin:0 auto;max-width:1024px;padding-left:24px;padding-left:calc(var(--spacing-xl, 24px) + var(--app-safe-left, 0px));padding-right:24px;padding-right:calc(var(--spacing-xl, 24px) + var(--app-safe-right, 0px))}}:root{--z-fab:1200;--fab-size:56px;--fab-gradient:linear-gradient(135deg,#d0c286,#d17a83);--fab-shadow:0 4px 16px #d0c28666;--fab-shadow-hover:0 6px 18px #d17a8373;--fab-border:#ffffff24;--fab-ring:#ffffff52}.fab-v2{bottom:78px;bottom:calc(var(--bottom-nav-height, 56px) + 22px);position:fixed;right:20px;touch-action:none;z-index:1200;z-index:var(--z-fab)}.fab-primary-button{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(135deg,#d0c286,#d17a83);background:var(--fab-gradient);border:1px solid #ffffff24;border:1px solid var(--fab-border);border-radius:50%;box-shadow:0 4px 16px #d0c28666;box-shadow:var(--fab-shadow);color:#fff;display:inline-flex;height:56px;height:var(--fab-size);justify-content:center;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;width:56px;width:var(--fab-size)}.fab-primary-button:hover{box-shadow:0 6px 18px #d17a8373;box-shadow:var(--fab-shadow-hover);filter:brightness(1.02);transform:translateY(-2px)}.fab-primary-button:active{filter:brightness(.98);transform:scale(.97)}.fab-primary-button:focus-visible{outline:3px solid #ffffff52;outline:3px solid var(--fab-ring);outline-offset:3px}.fab-primary-button svg{stroke:currentColor;height:24px;width:24px}@media (min-width:768px){.fab-v2{bottom:84px;bottom:calc(var(--bottom-nav-height, 56px) + 28px);right:26px}}.period-bar-v2{align-items:center;background:#fff;border-bottom:1px solid #e5e5e5;display:flex;left:0;padding:0 16px;position:fixed;right:0;top:56px;transition:height .2s ease;z-index:100}@media (max-width:767px){.period-bar-v2{padding:0 12px}}.period-bar-v2.period-bar--passive{height:48px}.period-bar-v2.period-bar--active{height:96px}.period-bar-spacer{transition:height .2s ease;width:100%}.period-bar-spacer.period-bar--passive{height:48px}.period-bar-spacer.period-bar--active{height:96px}.period-bar-controls{gap:16px;margin:0 auto;max-width:1024px;width:100%}.period-bar-btn,.period-bar-controls{align-items:center;display:flex;justify-content:center}.period-bar-btn{background:#0000;border:1px solid #ccc;border-radius:50%;color:#444;cursor:pointer;height:36px;transition:all .2s;width:36px}.period-bar-btn:hover{background:#f0f0f0;border-color:#999;color:#000}.period-bar-btn:active{background:#e0e0e0;transform:scale(.95)}.period-bar-label{color:#222;font-size:15px;font-weight:500;min-width:160px;text-align:center}.period-bar-today-btn{background:#0000;border:1px solid #ccc;border-radius:6px;cursor:pointer;font-size:13px;padding:6px 12px;transition:all .2s;white-space:nowrap}.period-bar-today-btn.is-inactive{border-color:#eee;color:#ccc;cursor:default;font-weight:400}.period-bar-today-btn.is-different{color:#333;font-weight:700}.period-bar-today-btn.is-different:active{background:#f5f5f5}.ai-chat-layer{inset:0;overscroll-behavior:none;pointer-events:none;position:fixed;touch-action:none;z-index:2500}.ai-chat-layer.is-open{pointer-events:auto}.ai-chat-layer.is-closing{pointer-events:none}body.ai-chat-open{height:100%;overflow:hidden}.ai-chat-overlay{background:#00000080;inset:0;opacity:0;overscroll-behavior:none;pointer-events:none;position:absolute;touch-action:none}.ai-chat-overlay.is-open{animation:ai-chat-overlay-in .28s cubic-bezier(.22,1,.36,1) both;pointer-events:auto}.ai-chat-overlay.is-closing{animation:ai-chat-overlay-out .26s cubic-bezier(.4,0,1,1) both;pointer-events:none}.ai-chat-widget{--ai-surface:var(--color-surface-primary,#fff);--ai-surface-alt:#f9fafb;--ai-border:var(--color-border,#e5e5e5);--ai-text:var(--color-text-primary,#111827);--ai-muted:#9ca3af;--ai-muted-strong:#6b7280;--ai-accent:#3b82f6;--ai-accent-2:#9333ea;--ai-positive:#22c55e;--ai-negative:#ef4444;--ai-radius:20px;--ai-radius-sm:12px;--ai-shadow:0 16px 48px #00000038;background:var(--ai-surface);border-radius:18px;bottom:12px;box-shadow:var(--ai-shadow);box-sizing:border-box;display:flex;flex-direction:column;height:min(88vh,calc(100vh - 24px));height:min(88vh,calc(var(--ai-vvh, 1vh)*100 - 24px));max-height:calc(100vh - 24px);max-height:calc(var(--ai-vvh, 1vh)*100 - 24px);max-width:calc(100% - 24px);overflow:hidden;overscroll-behavior:contain;pointer-events:none;position:fixed;right:12px;touch-action:pan-y;transform:translateZ(0);transform:translate3d(0,var(--ai-chat-offset-y,0),0);width:480px;will-change:transform,opacity;z-index:2510}.ai-chat-widget.is-open{animation:ai-chat-enter .42s cubic-bezier(.22,1,.36,1) both;pointer-events:auto}.ai-chat-widget.is-closing{animation:ai-chat-exit .3s cubic-bezier(.4,0,1,1) both;pointer-events:none}.ai-chat-widget.is-open>*{animation:ai-chat-content-in .42s cubic-bezier(.22,1,.36,1) both}.ai-chat-widget.is-open>:nth-child(2){animation-delay:30ms}.ai-chat-widget.is-open>:nth-child(3){animation-delay:60ms}.ai-chat-widget.is-open>:nth-child(4){animation-delay:90ms}.ai-chat-widget.is-open>:nth-child(5){animation-delay:.12s}.ai-chat-widget.is-closing>*{animation:ai-chat-content-out .22s cubic-bezier(.4,0,1,1) both}@media (max-width:600px){.ai-chat-widget{border-radius:20px 20px 0 0;bottom:0;bottom:var(--ai-vv-bottom,0);box-shadow:0 -4px 24px #00000026;height:100vh;height:calc(var(--ai-vvh, 1vh)*100);left:0;margin:0;max-height:100vh;max-height:calc(var(--ai-vvh, 1vh)*100);max-width:100%;right:0;inset:auto 0 0 0;inset:auto 0 var(--ai-vv-bottom,0) 0;width:100%}.ai-chat-footer{padding-bottom:8px}.ai-chat-overlay.is-closing,.ai-chat-overlay.is-open,.ai-chat-widget.is-closing,.ai-chat-widget.is-closing>*,.ai-chat-widget.is-open,.ai-chat-widget.is-open>*{animation:none!important}}@keyframes ai-chat-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes ai-chat-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes ai-chat-enter{0%{opacity:.98;transform:translate3d(28px,0,0);transform:translate3d(28px,var(--ai-chat-offset-y,0),0)}to{opacity:1;transform:translateZ(0);transform:translate3d(0,var(--ai-chat-offset-y,0),0)}}@keyframes ai-chat-exit{0%{opacity:1;transform:translateZ(0);transform:translate3d(0,var(--ai-chat-offset-y,0),0)}to{opacity:.98;transform:translate3d(22px,0,0);transform:translate3d(22px,var(--ai-chat-offset-y,0),0)}}@keyframes ai-chat-enter-mobile{0%{opacity:.98;transform:translate3d(0,24px,0);transform:translate3d(0,calc(var(--ai-chat-offset-y, 0px) + 24px),0)}to{opacity:1;transform:translateZ(0);transform:translate3d(0,var(--ai-chat-offset-y,0),0)}}@keyframes ai-chat-exit-mobile{0%{opacity:1;transform:translateZ(0);transform:translate3d(0,var(--ai-chat-offset-y,0),0)}to{opacity:.98;transform:translate3d(0,20px,0);transform:translate3d(0,calc(var(--ai-chat-offset-y, 0px) + 20px),0)}}@keyframes ai-chat-content-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes ai-chat-content-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.ai-chat-overlay,.ai-chat-widget,.ai-chat-widget>*{animation:none!important}}.ai-chat-grabber{background:linear-gradient(to right,var(--ai-accent),var(--ai-accent-2));display:flex;justify-content:center;padding:10px 0 6px}.ai-chat-grabber-bar{background:#ffffffe6;border-radius:999px;height:6px;width:40px}.ai-chat-header{background:linear-gradient(to right,var(--ai-accent),var(--ai-accent-2));box-shadow:0 10px 24px #3b82f659;color:#fff;flex:0 0 auto;justify-content:space-between;padding:10px 16px 14px}.ai-chat-header,.ai-chat-header-left{align-items:center;display:flex;gap:12px}.ai-chat-avatar{align-items:center;background:#fff3;border-radius:16px;box-shadow:0 6px 16px #0000002e;display:inline-flex;height:44px;justify-content:center;width:44px}.ai-chat-title{font-size:18px;font-weight:600;line-height:1.2;margin:0}.ai-chat-subtitle{color:#fffc;font-size:12px;line-height:1.2;margin:0}.ai-chat-close{align-items:center;background:#0000;border:none;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;justify-content:center;padding:10px;transition:background-color .14s ease,transform .14s ease}.ai-chat-close:hover{background:#ffffff24;transform:translateY(-1px)}.ai-chat-body{background:var(--ai-surface-alt);display:flex;flex:1 1 auto;flex-direction:column;gap:12px;padding:16px 16px 18px;scrollbar-color:#d1d5db #f9fafb;scrollbar-width:thin}.ai-chat-body,.ai-chat-messages{-webkit-overflow-scrolling:touch;min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}.ai-chat-messages{flex:1 1 auto}.ai-chat-body::-webkit-scrollbar{width:6px}.ai-chat-body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:8px}.ai-chat-body::-webkit-scrollbar-track{background:#f9fafb}.ai-chat-message{display:flex;gap:10px}.ai-chat-message.user{justify-content:flex-end}.ai-chat-message.assistant{justify-content:flex-start}.ai-chat-bubble{border-radius:16px;box-shadow:0 1px 2px #0000000d;font-size:15px;line-height:1.5;max-width:78%;padding:12px 14px}.ai-chat-bubble.assistant{background:var(--ai-surface);border:1px solid var(--ai-border);color:var(--ai-text)}.ai-chat-bubble.user{background:var(--ai-accent);border:1px solid #0000;color:#fff}.ai-chat-meta{color:var(--ai-muted);font-size:12px;margin-top:4px}.ai-chat-pending,.ai-chat-result,.ai-result{background:var(--ai-surface);border:1px solid var(--ai-border);border-radius:var(--ai-radius-sm);box-shadow:0 2px 6px #0000000a;padding:12px}.pending-title,.result-title{color:var(--ai-text);font-size:14px;font-weight:700;margin:0 0 10px}.pending-reason{color:var(--ai-negative);font-size:13px;margin-bottom:4px}.pending-question{background:var(--ai-surface-alt);border-radius:var(--ai-radius-sm);color:var(--ai-muted-strong);font-style:italic;padding:8px}.ai-created-list{display:flex;flex-direction:column;gap:10px}.ai-expense-card{background:var(--ai-surface);border:1px solid var(--ai-border);border-radius:var(--ai-radius-sm);box-shadow:0 2px 6px #0000000a;padding:12px}.ai-expense-meta{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.meta-item{min-width:0}.meta-label{color:var(--ai-muted-strong);display:block;font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.meta-value{color:var(--ai-text);display:block;font-size:15px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta-value-wrap{overflow:visible;text-overflow:clip;white-space:normal}.ai-expense-category{align-items:center;display:flex;gap:8px;margin-top:8px;min-width:0}.ai-badge{background:var(--ai-accent);border-radius:999px;color:#fff;font-size:12px;font-weight:700;line-height:1.2;margin-left:auto;padding:4px 8px}@media (max-width:480px){.ai-expense-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}.ai-chat-footer{background:var(--ai-surface);border-top:1px solid var(--ai-border);box-shadow:0 -6px 20px #00000014;display:flex;flex:0 0 auto;flex-direction:column;gap:10px;padding:14px 14px 18px}.ai-chat-input{-webkit-appearance:none;background:var(--ai-surface-alt);border:2px solid var(--ai-border);border-radius:var(--ai-radius-sm);box-shadow:none;color:var(--ai-text);font-size:16px;line-height:1.5;max-height:120px;min-height:72px;outline:none;padding:12px;resize:none;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease;width:100%}.ai-chat-input:focus{background:#fff;border-color:var(--ai-accent);box-shadow:0 0 0 3px #3b82f62e}.ai-chat-actions{align-items:center;display:flex;gap:12px;justify-content:space-between;position:relative}.ai-chat-action{border:none;border-radius:12px;box-shadow:0 6px 16px #00000029;color:#fff;cursor:pointer;flex:1 1;flex-direction:column;font-size:10px;font-weight:600;gap:4px;height:52px;min-width:0;padding:8px 10px;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.ai-chat-action,.ai-chat-action-icon{align-items:center;display:inline-flex;justify-content:center}.ai-chat-action-icon{line-height:1}.ai-chat-action-label{display:inline-block;line-height:1.1}.ai-chat-action:active:not(:disabled){transform:scale(.97)}.ai-chat-action:disabled{cursor:not-allowed;opacity:.6}.ai-chat-action-photo{background:linear-gradient(to bottom right,#3b82f6,#9333ea);box-shadow:0 6px 16px #404eed59;position:relative}.ai-chat-action-photo:disabled{background:#e5e7eb;box-shadow:none;color:#9ca3af}.ai-chat-action-voice{background:linear-gradient(to bottom right,#3b82f6,#9333ea);position:relative}.ai-chat-action-voice.is-recording{background:#ef4444}.ai-chat-action-voice .ai-chat-badge-voice{align-items:center;background:linear-gradient(to bottom right,#a855f7,#ec4899);border-radius:50%;box-shadow:0 2px 6px #0000002e;display:inline-flex;height:16px;justify-content:center;position:absolute;right:-4px;top:-4px;width:16px}.ai-chat-action-voice .pulsing{animation:ai-pulse 1s ease-in-out infinite}.ai-voice-bubble{align-items:center;background:#ef4444;border-radius:16px;bottom:82px;box-shadow:0 8px 16px #ef444459;color:#fff;display:inline-flex;gap:8px;left:50%;padding:10px 12px;position:absolute;transform:translateX(-50%);z-index:5}.ai-voice-bubble-text{font-size:14px;font-weight:700;white-space:nowrap}.ai-chat-badge-photo,.ai-chat-badge-voice{align-items:center;background:linear-gradient(to bottom right,#a855f7,#ec4899);border-radius:50%;box-shadow:0 2px 6px #0000002e;display:inline-flex;height:16px;justify-content:center;position:absolute;right:-4px;top:-4px;width:16px}@keyframes ai-pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.72;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.ai-chat-action-send{background:#2563eb;box-shadow:0 6px 16px #2563eb4d;color:#fff}.ai-chat-action-send:disabled{background:#e5e7eb;box-shadow:none;color:#9ca3af}.ai-voice-preview{background:var(--ai-surface-alt);border:2px solid var(--ai-accent);border-radius:var(--ai-radius-sm);display:flex;flex-direction:column;gap:12px;padding:12px}.voice-preview-info{align-items:center;display:flex;gap:12px}.voice-audio-player{border-radius:8px;flex:1 1;height:40px}.voice-preview-actions{display:flex;gap:8px}.ai-chat-btn{border:none;border-radius:var(--ai-radius-sm);cursor:pointer;flex:1 1;font-size:14px;font-weight:700;padding:10px 16px;transition:transform .14s ease,box-shadow .14s ease,opacity .14s ease}.voice-cancel-btn{background:var(--ai-negative);color:#fff}.voice-send-btn{background:var(--ai-positive);color:#fff}.ai-chat-btn:hover:not(:disabled){transform:translateY(-1px)}.ai-chat-btn:disabled{cursor:not-allowed;opacity:.6}.ai-loading-dots{align-items:center;display:inline-flex;gap:4px}.ai-loading-dots span{animation:ai-bounce 1s ease-in-out infinite;background:var(--ai-muted);border-radius:999px;height:6px;width:6px}.ai-loading-dots span:nth-child(2){animation-delay:.15s}.ai-loading-dots span:nth-child(3){animation-delay:.3s}@keyframes ai-bounce{0%,80%,to{opacity:.6;transform:scale(1)}40%{opacity:1;transform:scale(1.3)}}@media (max-width:600px){.ai-chat-widget{border-radius:20px 20px 0 0!important;bottom:0!important;box-shadow:0 -4px 24px #0003!important;height:auto!important;left:1%!important;margin:0!important;max-height:min(80dvh,100vh);max-height:min(80dvh,calc(var(--ai-vvh, 1vh)*100));max-width:98%!important;overflow-x:hidden!important;padding-bottom:env(safe-area-inset-bottom);position:fixed!important;right:1%!important;width:auto!important}.ai-chat-bubble{max-width:85%;word-break:break-word}.ai-chat-actions{gap:8px;margin:0 5%}.ai-chat-action{min-height:48px;padding:6px 8px}.ai-chat-footer{padding-left:10px;padding-right:10px}}.ai-chat-widget{overflow-x:hidden}.ai-receipt-thumb-container{align-items:flex-start;display:flex;flex-direction:column;gap:6px}.ai-receipt-attachment{display:flex;flex-direction:column;gap:8px;max-width:240px}.ai-receipt-attachment-text{font-size:14px;line-height:1.4}.ai-receipt-attachment-thumb{align-items:center;aspect-ratio:4/3;background:none;background-color:#f3f4f6;border:1px solid var(--ai-border);border-radius:var(--ai-radius-sm);cursor:pointer;display:flex;height:auto;justify-content:center;max-width:200px;overflow:hidden;padding:0;position:relative;transition:opacity .2s;width:100%}.ai-receipt-attachment-thumb:active{opacity:.7}.ai-thumb-wrap{height:100%;position:relative;width:100%}.ai-thumb-skeleton{background:#e5e7eb;background:var(--skeleton-bg,#e5e7eb);inset:0;overflow:hidden;position:absolute;z-index:10}.ai-thumb-skeleton:after{animation:ai-shimmer 1.2s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff8c,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%)}@keyframes ai-shimmer{to{transform:translateX(100%)}}@media (prefers-reduced-motion:reduce){.ai-thumb-skeleton:after{animation:none}}.ai-thumb-fallback{align-items:center;background:#e5e7eb;background:var(--skeleton-bg,#e5e7eb);color:#6b7280;color:var(--ai-muted-strong,#6b7280);display:flex;font-size:12px;inset:0;justify-content:center;line-height:1.2;padding:4px;position:absolute;text-align:center}.ai-receipt-img{display:block;height:100%;object-fit:cover;transition:opacity .3s ease;width:100%}.ai-receipt-img.is-loading{opacity:0}.ai-receipt-img.is-loaded{opacity:1}.ai-modal-overlay{align-items:center;animation:aiModalFadeIn .2s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:2600}.ai-modal-content{animation:aiModalSlideUp .25s cubic-bezier(.16,1,.3,1);border-radius:var(--ai-radius);box-shadow:0 20px 60px #0000004d;flex-direction:column;max-height:90vh;max-width:520px;overflow:hidden;position:relative;width:100%;z-index:2610}.ai-modal-content,.ai-modal-header{background:var(--ai-surface);display:flex}.ai-modal-header{align-items:center;border-bottom:1px solid var(--ai-border);justify-content:space-between;padding:14px 18px}.ai-modal-title{color:var(--ai-text);font-size:16px;font-weight:600;margin:0}.ai-modal-close-btn{background:#0000;border:1px solid var(--ai-border);border-radius:var(--ai-radius-sm);color:var(--ai-muted-strong);cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s}.ai-modal-close-btn:hover{background:var(--ai-surface-alt);border-color:var(--ai-muted);color:var(--ai-text)}.ai-modal-body{align-items:center;background:#000;display:flex;justify-content:center;min-height:200px;overflow:auto;padding:0;position:relative}.ai-receipt-full-img{display:block;max-height:70vh;max-width:100%;object-fit:contain}.ai-modal-error,.ai-modal-loading{color:#fff;font-size:14px;padding:32px;text-align:center}@keyframes aiModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes aiModalSlideUp{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.spin{animation:ai-spin 1s linear infinite}@keyframes ai-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.category-confirmation-card{animation:slideIn .3s ease-out;background:#fff;background:var(--card-bg,#fff);border:2px solid #5b6fee;border:2px solid var(--primary-color,#5b6fee);border-radius:12px;box-shadow:0 4px 12px #5b6fee26;margin:16px 0;padding:20px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.confirmation-header{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);margin-bottom:16px;padding-bottom:12px}.confirmation-title{align-items:center;color:#1a1a1a;color:var(--text-primary,#1a1a1a);display:flex;font-size:16px;font-weight:600;gap:8px;margin:0}.confirmation-body{gap:16px}.confirmation-body,.expense-info{display:flex;flex-direction:column}.expense-info{background:#f8f9fa;background:var(--bg-secondary,#f8f9fa);border-radius:8px;gap:8px;padding:12px}.expense-detail{align-items:center;display:flex;gap:12px;justify-content:space-between}.detail-label{color:#666;color:var(--text-secondary,#666);font-size:13px}.detail-value{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:14px;font-weight:600;text-align:right}.category-suggestion{display:flex;flex-direction:column;gap:8px}.suggestion-label{color:#666;color:var(--text-secondary,#666);font-size:13px;font-weight:500}.suggested-category{background:linear-gradient(135deg,#5b6fee,#7b8fff);border-radius:8px;box-shadow:0 2px 8px #5b6fee33;padding:12px}.category-info{display:flex;flex-direction:column;gap:4px}.category-name{color:#fff;font-size:16px;font-weight:700}.category-family{color:#ffffffe6;font-weight:500}.confirmation-message{background:#fff3cd;background:var(--bg-warning,#fff3cd);border-left:4px solid #ffc107;border-left:4px solid var(--warning-color,#ffc107);border-radius:8px;color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:14px;padding:12px;text-align:center}.confirmation-actions{display:flex;gap:12px;margin-top:16px}.confirmation-actions button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:6px;justify-content:center;padding:12px 20px;transition:all .2s ease}.confirmation-actions button:disabled{cursor:not-allowed;opacity:.6}.btn-reject{background:#f8f9fa;background:var(--bg-secondary,#f8f9fa);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);color:#1a1a1a;color:var(--text-primary,#1a1a1a)}.btn-reject:hover:not(:disabled){background:#e9ecef;background:var(--bg-hover,#e9ecef);border-color:#ccc;border-color:var(--border-hover,#ccc)}.btn-secondary{background:#6c757d;background:var(--bg-secondary,#6c757d);border:1px solid #5a6268;border:1px solid var(--border-color,#5a6268);color:#fff}.btn-secondary:hover:not(:disabled){background:#5a6268;background:var(--bg-secondary-hover,#5a6268);border-color:#545b62;border-color:var(--border-hover,#545b62)}.btn-confirm{background:#5b6fee;background:var(--primary-color,#5b6fee);box-shadow:0 2px 8px #5b6fee4d;color:#fff}.btn-confirm:hover:not(:disabled){background:#4a5dcc;background:var(--primary-hover,#4a5dcc);box-shadow:0 4px 12px #5b6fee66;transform:translateY(-1px)}.btn-confirm:active:not(:disabled){transform:translateY(0)}.category-list{display:flex;flex-direction:column;gap:8px}.list-label{color:#666;color:var(--text-secondary,#666);font-size:14px;font-weight:500;margin-bottom:8px}.category-option{align-items:center;background:#f8f9fa;background:var(--bg-secondary,#f8f9fa);border:2px solid #e5e7eb;border:2px solid var(--border-color,#e5e7eb);border-radius:8px;cursor:pointer;display:flex;font-family:inherit;gap:12px;justify-content:space-between;padding:12px;text-align:left;transition:all .2s ease}.category-option:hover:not(:disabled){background:#fff;background:var(--card-bg,#fff);border-color:#5b6fee;border-color:var(--primary-color,#5b6fee);box-shadow:0 2px 8px #5b6fee1a}.category-option.selected{background:#5b6fee1a;border-color:#5b6fee;border-color:var(--primary-color,#5b6fee);box-shadow:0 2px 8px #5b6fee33}.category-option:disabled{cursor:not-allowed;opacity:.6}.category-option-content{display:flex;flex:1 1;flex-direction:column;gap:4px}.category-name{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:14px}.category-family{color:#666;color:var(--text-secondary,#666);font-size:12px}.submitting-indicator{animation:pulse 1.5s ease-in-out infinite;font-size:16px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-suggestions,.no-suggestions{color:#666;color:var(--text-secondary,#666);font-size:14px;padding:20px;text-align:center}.no-suggestions{background:#f8f9fa;background:var(--bg-secondary,#f8f9fa);border:1px dashed #e5e7eb;border:1px dashed var(--border-color,#e5e7eb);border-radius:8px}.error-message{background:#fee;border-left:4px solid #c33;border-radius:8px;color:#c33;font-size:14px;padding:12px}@media (max-width:480px){.category-confirmation-card{padding:16px}.confirmation-title{font-size:15px}.expense-detail{align-items:flex-start;flex-direction:column;gap:4px}.detail-value{text-align:left}.confirmation-actions{flex-direction:column}.confirmation-actions button{width:100%}.category-option{padding:10px}.category-option-content{gap:2px}.category-name{font-size:13px}.category-family{font-size:11px}}.balance-evolution-card{margin-bottom:0;min-width:0;width:100%}.balance-card-header{align-items:center;display:flex;flex-wrap:nowrap;gap:var(--spacing-sm);justify-content:space-between;margin-bottom:var(--spacing-sm)}.balance-card-unit{color:var(--text-primary);font-size:1.1rem;font-weight:700;margin-left:5px;white-space:nowrap}.balance-card-body{min-height:220px;min-width:0;padding:0;width:100%}.balance-chart-wrapper{height:220px;min-height:220px;min-width:0;position:relative;width:100%}.balance-visx-wrapper{height:100%;position:relative;width:100%}.balance-visx-tooltip{min-width:140px;pointer-events:none;position:absolute;transform:translate(-50%,-100%);transition:left .16s ease,top .16s ease,transform .16s ease,opacity .16s ease;will-change:left,top,transform;z-index:1}@media (min-width:640px){.balance-chart-wrapper{height:250px;min-height:250px}}.balance-toggle-group{align-items:center;background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:inline-flex;flex-shrink:0;gap:var(--spacing-xs);margin-left:auto;padding:4px}.balance-toggle-item{background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-family:var(--font-family);font-weight:var(--font-weight-semibold);padding:var(--spacing-sm) var(--spacing-md)}.balance-toggle-item:hover{background:#439db10f;color:var(--info)}.balance-toggle-item.active{background:var(--info);box-shadow:var(--shadow-sm);color:#fff}.balance-toggle-item:focus-visible{outline:2px solid var(--info);outline-offset:2px}.balance-skeleton{background:var(--disabled);border-radius:var(--radius-md);height:220px;min-height:220px;width:100%}@media (min-width:640px){.balance-skeleton{height:250px;min-height:250px}}.balance-empty,.balance-error{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:var(--spacing-sm);height:220px;justify-content:center;min-height:220px;text-align:center}@media (min-width:640px){.balance-empty,.balance-error{height:250px;min-height:250px}}.balance-error button{background:#fff;border:1px solid #d9d9d9;border:1px solid hsl(var(--border,0 0% 85%));border-radius:10px;color:#2b67f3;color:hsl(var(--primary,222 89% 56%));cursor:pointer;font-weight:600;padding:.4rem .9rem}.balance-error button:hover{background:hsla(222 89% 56%,.08);background:hsla(var(--primary,222 89% 56%),.08)}.balance-tooltip{background:#fff;background:var(--background,#fff);border:1px solid #e0e0e0;border:1px solid hsl(var(--border,0 0% 88%));border-radius:10px;box-shadow:0 1px 3px #00000014;box-shadow:var(--md-sys-elevation-2,0 1px 3px #00000014);padding:.5rem .75rem}.balance-tooltip-label{color:#1c1b1f;color:var(--md-sys-color-on-surface,#1c1b1f);font-size:.9rem;font-weight:600;margin-bottom:.1rem;text-align:center}.balance-tooltip-value{color:#2b67f3;color:hsl(var(--primary,222 89% 56%));font-weight:700;text-align:center}.balance-chart-grid line{stroke:#0000000d}.balance-chart-axis text{fill:#6b7280;fill:var(--muted-foreground,#6b7280);font-size:.85rem}@media (max-width:480px){.balance-card-header{align-items:center;flex-wrap:wrap;gap:var(--spacing-xs)}.balance-card-unit{font-size:1rem;margin-left:0}.balance-toggle-group{justify-content:center;margin-left:0;width:100%}.balance-toggle-item{flex:1 1;min-width:0;padding:.45rem .5rem;text-align:center}.balance-chart-wrapper,.balance-empty,.balance-error,.balance-skeleton{height:210px;min-height:210px}.balance-visx-tooltip{max-width:150px;min-width:118px}.balance-tooltip-label,.balance-tooltip-value{font-size:.82rem}}.sankey-chart{min-width:0;width:100%}.sankey-chart__surface{background:radial-gradient(circle at top left,#94a3b824,#0000 38%),linear-gradient(180deg,#fffffffa,#f8fafcf5);border:1px solid #94a3b838;border-radius:28px;box-shadow:0 20px 42px #0f172a14;min-height:360px;min-width:0;overflow:hidden;padding:18px;position:relative;width:100%}.sankey-chart__surface:after{background-image:linear-gradient(rgba(148,163,184,.045) 1px,#0000 0),linear-gradient(90deg,rgba(148,163,184,.045) 1px,#0000 0);background-size:28px 28px;content:"";inset:0;opacity:.45;pointer-events:none;position:absolute}.sankey-chart__viewport{height:100%;min-height:324px;position:relative;width:100%}.sankey-chart__svg{display:block;height:100%;position:relative;width:100%;z-index:1}.sankey-chart__link{fill:none;mix-blend-mode:multiply;transition:opacity .15s ease,stroke-width .15s ease}.sankey-chart__node{transition:opacity .15s ease}.sankey-chart__node-rect{transition:opacity .15s ease,filter .15s ease}.sankey-chart__node:focus-visible .sankey-chart__node-rect,.sankey-chart__node:hover .sankey-chart__node-rect{filter:brightness(.97) saturate(1.08)}.sankey-chart__label{pointer-events:none}.sankey-chart__label-name{fill:#0f172a;font-size:13px;font-weight:700}.sankey-chart__label-value{fill:#475569;font-size:12px;font-weight:600}.sankey-chart__empty{align-items:center;color:#64748b;display:flex;font-weight:600;justify-content:center;min-height:300px;padding:32px;text-align:center}@media (max-width:768px){.sankey-chart__surface{border-radius:22px;min-height:420px;padding:12px}.sankey-chart__viewport{min-height:396px}.sankey-chart__label-name{font-size:12px}.sankey-chart__label-value{font-size:11px}}.dashboard-sankey-card{display:flex;flex-direction:column;gap:var(--spacing-md);position:relative;width:100%;z-index:100}.dashboard-sankey-card__panel{background:linear-gradient(180deg,#fffffffa,#f8fafcfa);border:1px solid var(--border-light);border-radius:24px;box-shadow:0 12px 32px #0f172a0d;display:flex;flex-direction:column;gap:18px;padding:20px}.dashboard-sankey-card__header{display:flex;flex-direction:column;gap:6px}.dashboard-sankey-card__title{color:var(--text-primary);font-size:clamp(1.2rem,2.4vw,1.55rem);line-height:1.1;margin:0}.dashboard-sankey-card__subtitle{color:var(--text-secondary);font-size:.95rem;line-height:1.45;margin:0}.dashboard-sankey-card__body{min-width:0}.dashboard-sankey-card__skeleton{display:flex;flex-direction:column;gap:14px;min-height:360px}.dashboard-sankey-card__skeleton-bar,.dashboard-sankey-card__skeleton-block,.dashboard-sankey-card__skeleton-line{animation:dashboard-sankey-card-shimmer 1.3s linear infinite;background:linear-gradient(90deg,#e2e8f0b3,#f1f5f9f2,#e2e8f0b3);background-size:200% 100%;border-radius:999px}.dashboard-sankey-card__skeleton-line{height:14px;width:32%}.dashboard-sankey-card__skeleton-block{height:16px;width:56%}.dashboard-sankey-card__skeleton-chart{grid-gap:16px;align-items:center;display:grid;flex:1 1;gap:16px;grid-template-columns:1fr 1.2fr 1fr}.dashboard-sankey-card__skeleton-stack{display:flex;flex-direction:column;gap:12px}.dashboard-sankey-card__skeleton-stack--right{align-items:flex-end}.dashboard-sankey-card__skeleton-bar{height:18px}.dashboard-sankey-card__skeleton-stack .dashboard-sankey-card__skeleton-bar:first-child{width:80%}.dashboard-sankey-card__skeleton-stack .dashboard-sankey-card__skeleton-bar:nth-child(2){width:62%}.dashboard-sankey-card__skeleton-stack .dashboard-sankey-card__skeleton-bar:nth-child(3){width:74%}.dashboard-sankey-card__skeleton-core{background:radial-gradient(circle at center,#3b82f61a,#0000 58%),linear-gradient(180deg,#f1f5f9e6,#e2e8f0cc);border:1px solid #94a3b829;border-radius:22px;height:184px}.dashboard-sankey-card__empty{align-items:center;background:#f8fafceb;border:1px dashed #94a3b861;border-radius:20px;color:var(--text-secondary);display:flex;font-weight:600;justify-content:center;min-height:360px;padding:24px;text-align:center}@keyframes dashboard-sankey-card-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.fsum-card{display:flex;flex-direction:column;gap:var(--spacing-md)}.fsum-hero,.fsum-panel{background:var(--card-bg);border:1px solid var(--border-light);border-radius:24px;box-shadow:0 12px 32px #0f172a0d}.fsum-hero{background:radial-gradient(circle at top right,#0e74901f,#0000 34%),linear-gradient(180deg,#fffffffa,#f7fafcfa);padding:20px}.fsum-card--danger .fsum-hero{background:radial-gradient(circle at top right,#b91c1c1f,#0000 34%),linear-gradient(180deg,#fffffffa,#fef8f8fa)}.fsum-card--warning .fsum-hero{background:radial-gradient(circle at top right,#b453091f,#0000 34%),linear-gradient(180deg,#fffffffa,#fffbf5fa)}.fsum-card--calm .fsum-hero{background:radial-gradient(circle at top right,#0f766e1f,#0000 34%),linear-gradient(180deg,#fffffffa,#f5fcfafa)}.fsum-family-meta,.fsum-family-row,.fsum-hero-top,.fsum-panel-header,.fsum-progress-caption,.fsum-progress-header,.fsum-tooltip-row{align-items:flex-start;display:flex;gap:var(--spacing-sm);justify-content:space-between}.fsum-hero-copy{display:flex;flex-direction:column;gap:8px}.fsum-eyebrow,.fsum-panel-eyebrow{color:var(--text-secondary);font-size:11px;font-weight:700;letter-spacing:.08em;margin:0;text-transform:uppercase}.fsum-panel-title,.fsum-title{color:var(--text-primary);margin:0}.fsum-title{font-size:clamp(1.35rem,3vw,1.9rem);line-height:1.08}.fsum-message{color:var(--text-secondary);font-size:var(--font-size-base);line-height:1.55;margin:0;max-width:72ch}.fsum-badge,.fsum-panel-chip{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;justify-content:center;min-height:30px;padding:0 12px;white-space:nowrap}.fsum-badge--neutral,.fsum-panel-chip{background:#e2e8f070;border-color:#94a3b83d;color:var(--text-secondary)}.fsum-badge--calm{background:#0f766e14;border-color:#0f766e2e;color:#0f766e}.fsum-badge--warning{background:#b4530914;border-color:#b4530933;color:#b45309}.fsum-badge--danger{background:#b91c1c14;border-color:#b91c1c2e;color:#b91c1c}.fsum-metrics{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.fsum-metric{background:#ffffffbd;border:1px solid #94a3b824;border-radius:18px;display:flex;flex-direction:column;gap:6px;min-height:112px;padding:16px}.fsum-metric-icon{align-items:center;background:#e2e8f0b8;border-radius:999px;color:var(--text-secondary);display:inline-flex;height:30px;justify-content:center;width:30px}.fsum-metric--calm .fsum-metric-icon{background:#0f766e1f;color:#0f766e}.fsum-metric--warning .fsum-metric-icon{background:#b453091f;color:#b45309}.fsum-metric--danger .fsum-metric-icon{background:#b91c1c1f;color:#b91c1c}.fsum-metric-label{color:var(--text-secondary);font-size:12px}.fsum-metric-value{color:var(--text-primary);font-size:clamp(1rem,2.8vw,1.35rem);line-height:1.12}.fsum-progress{display:flex;flex-direction:column;gap:8px;margin-top:6px}.fsum-family-label,.fsum-family-meta,.fsum-progress-caption,.fsum-progress-label,.fsum-tooltip-key{color:var(--text-secondary);font-size:var(--font-size-sm)}.fsum-progress-value,.fsum-tooltip-value{color:var(--text-primary)}.fsum-inline-hint{align-items:baseline;cursor:help;display:inline-flex;position:relative;-webkit-text-decoration:underline dotted #64748be6;text-decoration:underline dotted #64748be6;text-underline-offset:2px}.fsum-inline-tooltip{background:#0f172af5;border-radius:10px;color:#f8fafc;font-size:12px;font-weight:500;line-height:1.35;max-width:min(300px,calc(100vw - 24px));opacity:1;padding:8px 10px;pointer-events:none;position:fixed;transform:translateY(0);transition:opacity .22s ease,transform .22s ease;white-space:normal;width:-webkit-max-content;width:max-content;z-index:18}.fsum-inline-tooltip--below{transform-origin:top center}.fsum-inline-hint--fade-out .fsum-inline-tooltip{opacity:0;transform:translateY(4px)}.fsum-family-progress,.fsum-progress-track{background:#94a3b82e;border-radius:999px;height:12px;overflow:hidden;position:relative}.fsum-family-progress-fill,.fsum-progress-actual,.fsum-progress-expected{border-radius:inherit;height:100%;inset:0 auto 0 0;position:absolute}.fsum-progress-expected{background:#0e74902e}.fsum-progress-actual{background:linear-gradient(90deg,#0e7490eb,#0e749094)}.fsum-body{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.fsum-body>.fsum-panel:only-child{grid-column:1/-1}.fsum-panel{gap:var(--spacing-md);padding:18px}.fsum-panel,.fsum-timeline{display:flex;flex-direction:column}.fsum-timeline{gap:14px}.fsum-timeline-summary{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.fsum-timeline-stat{background:#f8fafcb8;border:1px solid #94a3b824;border-radius:16px;display:flex;flex-direction:column;gap:4px;padding:12px 14px}.fsum-timeline-stat-label{color:var(--text-secondary);font-size:12px}.fsum-timeline-stat-value{color:var(--text-primary);font-size:1rem}.fsum-timeline-chart{background:linear-gradient(180deg,#f8fafcdb,#fffffffa);border:1px solid #94a3b81f;border-radius:20px;height:248px;padding:12px 8px 4px 0;width:100%}.fsum-timeline-legend{align-items:center;display:flex;flex-wrap:wrap;gap:14px}.fsum-legend-item{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:var(--font-size-sm);gap:8px}.fsum-legend-swatch{border-radius:999px;border-top:3px solid;display:inline-flex;height:0;width:24px}.fsum-legend-swatch--realized{color:#0f766e}.fsum-legend-swatch--forecast{border-top-style:dashed;color:#0f766e75}.fsum-legend-swatch--planned{color:#94a3b8}.fsum-timeline-skeleton{animation:fsum-shimmer 1.4s linear infinite;background:linear-gradient(90deg,#e2e8f0b3,#f1f5f9f5,#e2e8f0b3);background-size:200% 100%;border-radius:24px;height:320px}.fsum-comparison-list{display:flex;flex-direction:column;gap:14px}.fsum-comparison{background:#f8fafcb8;border:1px solid #94a3b81f;border-radius:18px;flex-direction:column;gap:10px;min-height:120px;padding:13px 15px}.fsum-comparison,.fsum-comparison-head{display:flex;justify-content:space-between}.fsum-comparison-head{align-items:flex-start;gap:var(--spacing-sm)}.fsum-comparison-name{color:var(--text-primary)}.fsum-comparison-label,.fsum-comparison-meta{color:var(--text-secondary);font-size:var(--font-size-sm);margin:4px 0 0}.fsum-comparison-delta{color:var(--text-primary)}.fsum-comparison-delta--calm{color:#0f766e}.fsum-comparison-delta--warning{color:#b45309}.fsum-comparison-delta--danger{color:#b91c1c}.fsum-comparison-track{background:#e2e8f0b8;border-radius:999px;height:14px;overflow:hidden;position:relative}.fsum-comparison-actual,.fsum-comparison-planned{border-radius:inherit;height:100%;inset:0 auto 0 0;position:absolute}.fsum-comparison-planned{background:#94a3b87a}.fsum-comparison-actual{background:linear-gradient(90deg,#0e7490f0,#0e749094)}.fsum-comparison-actual--calm{background:linear-gradient(90deg,#0f766eeb,#0f766e8f)}.fsum-comparison-actual--warning{background:linear-gradient(90deg,#b45309eb,#b453098f)}.fsum-comparison-actual--danger{background:linear-gradient(90deg,#b91c1ceb,#b91c1c8f)}.fsum-comparison-meta{align-items:center;display:flex;gap:var(--spacing-sm);justify-content:space-between}.fsum-family-list{gap:12px}.fsum-family,.fsum-family-list{display:flex;flex-direction:column}.fsum-family{background:var(--background-main);border:1px solid var(--border-light);border-radius:18px;gap:10px;justify-content:space-between;min-height:120px;padding:13px 15px}.fsum-family-action{-webkit-appearance:none;appearance:none;cursor:pointer;font:inherit;text-align:left;width:100%}.fsum-family-action:hover{border-color:#0e74904d;box-shadow:0 8px 20px #0e749014}.fsum-family-action:focus-visible{outline:2px solid #0e749094;outline-offset:2px}.fsum-family--danger,.fsum-family--warning{background:linear-gradient(180deg,#fff,#fffaf4);border-color:#b453093d}.fsum-family--danger{background:linear-gradient(180deg,#fff,#fef8f8);border-color:#b91c1c38}.fsum-family--calm{background:linear-gradient(180deg,#fff,#f5fcfa);border-color:#0f766e2e}.fsum-family-delta,.fsum-family-name{color:var(--text-primary)}.fsum-family-label{margin:4px 0 0}.fsum-family-delta--warning{color:#b45309}.fsum-family-delta--danger{color:#b91c1c}.fsum-family-delta--calm{color:#0f766e}.fsum-family-progress-fill{background:linear-gradient(90deg,#0e7490f0,#0e749099)}.fsum-family--warning .fsum-family-progress-fill{background:linear-gradient(90deg,#b45309eb,#b453098f)}.fsum-family--danger .fsum-family-progress-fill{background:linear-gradient(90deg,#b91c1ceb,#b91c1c8f)}.fsum-family--calm .fsum-family-progress-fill{background:linear-gradient(90deg,#0f766eeb,#0f766e8f)}.fsum-tooltip{background:#fffffffa;border:1px solid #94a3b833;border-radius:14px;box-shadow:0 18px 36px #0f172a1f;min-width:180px;opacity:1;padding:10px 12px;transform:translateY(0);transition:opacity .22s ease,transform .22s ease}.fsum-tooltip--fade-out{opacity:0;transform:translateY(6px)}.fsum-tooltip-title{color:var(--text-primary);font-size:12px;font-weight:700;margin:0 0 8px}.fsum-skeleton-block,.fsum-skeleton-hero{animation:fsum-shimmer 1.4s linear infinite;background:linear-gradient(90deg,#e2e8f0b3,#f1f5f9f5,#e2e8f0b3);background-size:200% 100%;border-radius:24px}.fsum-skeleton-hero{height:240px}.fsum-skeleton-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(2,minmax(0,1fr))}.fsum-skeleton-block{height:280px}@keyframes fsum-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:880px){.fsum-body{grid-template-columns:1fr}}@media (max-width:767px){.fsum-card{gap:10px}.fsum-hero,.fsum-panel{border-radius:16px}.fsum-hero,.fsum-panel{padding:12px}.fsum-panel{gap:10px}.fsum-title{font-size:1.45rem}.fsum-message{font-size:.95rem;max-width:none}.fsum-metrics,.fsum-skeleton-grid{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.fsum-metric{border-radius:14px;min-height:88px;padding:10px}.fsum-metric:last-child,.fsum-timeline-stat:last-child{grid-column:1/-1}.fsum-timeline-summary{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.fsum-timeline-stat{border-radius:14px;padding:10px}.fsum-timeline-chart{border-radius:16px;height:220px;padding:8px 2px 2px 0}.fsum-timeline-legend{gap:8px}.fsum-family-meta,.fsum-family-row,.fsum-hero-top,.fsum-panel-header,.fsum-progress-caption,.fsum-progress-header{flex-direction:column}.fsum-badge,.fsum-panel-chip{align-self:flex-start}.fsum-comparison,.fsum-family{border-radius:14px;min-height:auto;padding:10px}}@media (max-width:360px){.fsum-metrics,.fsum-skeleton-grid,.fsum-timeline-summary{grid-template-columns:1fr}.fsum-metric:last-child,.fsum-timeline-stat:last-child{grid-column:auto}.fsum-title{font-size:1.3rem}.fsum-metric-value,.fsum-timeline-stat-value{font-size:.95rem}.fsum-timeline-chart{height:206px}}.expense-drilldown-layer{inset:0;position:fixed}.expense-drilldown-backdrop{background:#0f172a5c;inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .22s ease}.expense-drilldown-backdrop.is-open{animation:expense-drilldown-fade-in .22s ease both;opacity:1;pointer-events:auto}.expense-drilldown-backdrop.is-closing{animation:expense-drilldown-fade-out .2s ease both;opacity:0;pointer-events:none}.expense-drilldown-sheet{--expense-drilldown-offset:0px;background:#fff;background:var(--background-main,#fff);border-radius:24px 24px 0 0;bottom:0;box-shadow:0 -12px 36px #0f172a2e;display:flex;flex-direction:column;height:min(78vh,760px);left:50%;max-width:100%;opacity:0;overflow:hidden;position:absolute;transform:translate3d(-50%,var(--expense-drilldown-offset),0);width:min(720px,100%);will-change:transform,opacity}.expense-drilldown-sheet.is-open{animation:expense-drilldown-sheet-in .28s cubic-bezier(.22,1,.36,1) both}.expense-drilldown-sheet.is-closing{animation:expense-drilldown-sheet-out .28s cubic-bezier(.32,.72,0,1) both}.expense-drilldown-sheet.is-dragging{transition:none}.expense-drilldown-sheet.is-closing:not(.is-dragging),.expense-drilldown-sheet.is-open:not(.is-dragging){transition:transform .26s cubic-bezier(.22,1,.36,1)}.expense-drilldown-grabber{background:#fff;background:var(--background-main,#fff);display:flex;justify-content:center;padding:10px 0 6px}.expense-drilldown-grabber-bar{background:var(--border-neutral);border-radius:999px;height:5px;width:42px}.expense-drilldown-header{align-items:center;background:#fff;background:var(--background-main,#fff);border-bottom:1px solid var(--border-light);display:flex;gap:var(--spacing-md);justify-content:space-between;padding:0 var(--spacing-lg) var(--spacing-md);position:-webkit-sticky;position:sticky;top:0;z-index:1}.expense-drilldown-header-main{align-items:center;display:flex;gap:var(--spacing-sm);min-width:0}.expense-drilldown-header-btn,.expense-drilldown-header-placeholder{align-items:center;border:1px solid var(--border-light);border-radius:999px;display:inline-flex;flex:0 0 auto;height:40px;justify-content:center;width:40px}.expense-drilldown-header-btn{background:#fff;background:var(--background-main,#fff);color:var(--text-primary);cursor:pointer}.expense-drilldown-header-copy{min-width:0}.expense-drilldown-eyebrow,.expense-drilldown-header-eyebrow{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0 0 4px}.expense-drilldown-header-title,.expense-drilldown-title{color:var(--text-primary);font-size:clamp(1.125rem,2.5vw,1.375rem);margin:0}.expense-drilldown-body{background:var(--background-secondary);flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--spacing-lg)}.expense-drilldown-view{display:flex;flex-direction:column;gap:var(--spacing-md)}.expense-drilldown-section,.expense-drilldown-state,.expense-drilldown-summary{background:#fff;background:var(--background-main,#fff);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.expense-drilldown-section-head,.expense-drilldown-summary-top{align-items:flex-start;display:flex;gap:var(--spacing-md);justify-content:space-between}.expense-drilldown-status{align-items:center;border-radius:999px;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:6px 10px;white-space:nowrap}.expense-drilldown-status.is-success{background:#dcfce7;color:#166534}.expense-drilldown-status.is-warning{background:#fef3c7;color:#92400e}.expense-drilldown-status.is-danger{background:#fee2e2;color:#991b1b}.expense-drilldown-status.is-muted,.expense-drilldown-status.is-neutral{background:var(--background-secondary);color:var(--text-secondary)}.expense-drilldown-metrics{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:var(--spacing-md)}.expense-drilldown-metric{background:var(--background-secondary);border-radius:var(--radius-md);padding:var(--spacing-md)}.expense-drilldown-metric-label{color:var(--text-secondary);display:block;font-size:var(--font-size-sm);margin-bottom:6px}.expense-drilldown-metric-value{color:var(--text-primary);font-size:var(--font-size-lg)}.expense-drilldown-section-title{color:var(--text-primary);font-size:var(--font-size-base);margin:0}.expense-drilldown-section-meta{color:var(--text-secondary);font-size:var(--font-size-sm)}.expense-drilldown-list{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.expense-drilldown-item{grid-gap:var(--spacing-sm);align-items:center;background:#fff;background:var(--background-main,#fff);border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;display:grid;gap:var(--spacing-sm);grid-template-columns:minmax(0,1fr) auto auto;padding:var(--spacing-md);text-align:left;width:100%}.expense-drilldown-item.is-static{cursor:default}.expense-drilldown-item-main{align-items:center;display:flex;gap:var(--spacing-sm);min-width:0}.expense-drilldown-item-indicator{border-radius:999px;flex:0 0 auto;height:10px;width:10px}.expense-drilldown-item-indicator.is-success{background:#16a34a}.expense-drilldown-item-indicator.is-warning{background:#d97706}.expense-drilldown-item-indicator.is-danger{background:#dc2626}.expense-drilldown-item-indicator.is-muted,.expense-drilldown-item-indicator.is-neutral{background:var(--border-neutral)}.expense-drilldown-item-title{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.expense-drilldown-context,.expense-drilldown-item-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm);margin:4px 0 0}.expense-drilldown-item-side{align-items:flex-end;color:var(--text-secondary);display:flex;flex-direction:column;font-size:var(--font-size-sm);gap:4px}.expense-drilldown-item-side strong{color:var(--text-primary);font-size:var(--font-size-base)}.expense-drilldown-item-chevron{color:var(--text-secondary)}.expense-drilldown-state-title{color:var(--text-primary);font-weight:var(--font-weight-semibold);margin:0 0 6px}.expense-drilldown-state-subtitle{color:var(--text-secondary);margin:0}.expense-drilldown-breadcrumb{align-items:center;background:#0000;border:none;color:var(--text-secondary);display:inline-flex;font-size:var(--font-size-sm);gap:6px;margin-bottom:var(--spacing-sm);padding:0}@media (max-width:640px){.expense-drilldown-sheet{height:min(82vh,100dvh);width:100%}.expense-drilldown-body,.expense-drilldown-header{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.expense-drilldown-metrics{grid-template-columns:1fr}.expense-drilldown-item{grid-template-columns:minmax(0,1fr) auto}.expense-drilldown-item-chevron{display:none}}@keyframes expense-drilldown-fade-in{0%{opacity:0}to{opacity:1}}@keyframes expense-drilldown-fade-out{0%{opacity:1}to{opacity:0}}@keyframes expense-drilldown-sheet-in{0%{opacity:0;transform:translate3d(-50%,calc(32px + var(--expense-drilldown-offset)),0) scale(.985)}to{opacity:1;transform:translate3d(-50%,var(--expense-drilldown-offset),0) scale(1)}}@keyframes expense-drilldown-sheet-out{0%{opacity:1;transform:translate3d(-50%,var(--expense-drilldown-offset),0) scale(1)}72%{opacity:.82;transform:translate3d(-50%,calc(56px + var(--expense-drilldown-offset)),0) scale(.996)}to{opacity:0;transform:translate3d(-50%,calc(128px + var(--expense-drilldown-offset)),0) scale(.992)}}.pvac-card{width:100%}.pvac-card,.pvac-hero{display:flex;flex-direction:column;gap:var(--spacing-md)}.pvac-hero{background:radial-gradient(circle at top right,#439db11f,#0000 36%),linear-gradient(180deg,#fffffff5,#f6f9fbf5);border:1px solid var(--border-light);border-radius:24px;box-shadow:0 18px 40px #0f172a0f;padding:20px}.pvac-hero-top{align-items:flex-start;display:flex;gap:var(--spacing-md);justify-content:space-between}.pvac-eyebrow{color:var(--text-secondary);font-size:11px;font-weight:700;letter-spacing:.08em;margin:0 0 6px;text-transform:uppercase}.pvac-hero-title{color:var(--text-primary);font-size:clamp(1.5rem,4vw,2rem);line-height:1.05;margin:0}.pvac-hero-subtitle{color:var(--text-secondary);font-size:13px;margin:6px 0 0}.pvac-hero-message{color:var(--text-secondary);font-size:var(--font-size-base);line-height:1.5;margin:0}.pvac-badge{align-items:center;border:1px solid;border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;justify-content:center;min-height:30px;padding:0 12px;white-space:nowrap}.pvac-badge--small{font-size:11px;min-height:26px;padding:0 10px}.pvac-hero-progress{display:flex;flex-direction:column;gap:8px}.pvac-family-progress-track,.pvac-hero-progress-track{background:#94a3b82e;border-radius:999px;height:12px;overflow:hidden;position:relative}.pvac-hero-progress-expected{background:#439db12e;border-radius:inherit;inset:0 auto 0 0;position:absolute}.pvac-family-progress-fill,.pvac-hero-progress-actual{background:linear-gradient(90deg,#439db1f2,#439db194);border-radius:inherit;inset:0 auto 0 0;position:absolute}.pvac-hero-progress-out{background:linear-gradient(90deg,#dc2626f2,#dc2626a3);border-radius:inherit;bottom:0;position:absolute;top:0}.pvac-hero-progress-caption{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);justify-content:space-between}.pvac-summary-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.pvac-hero-mobile-summary{display:none}.pvac-hero-mobile-primary,.pvac-hero-mobile-secondary{display:flex;flex-direction:column}.pvac-hero-mobile-label{color:var(--text-secondary);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.pvac-hero-mobile-value{color:var(--text-primary);font-size:1.45rem;line-height:1.05}.pvac-hero-mobile-secondary{color:var(--text-secondary);font-size:12px;gap:4px}.pvac-summary-item{background:#ffffffad;border:1px solid #94a3b81f;border-radius:18px;display:flex;flex-direction:column;gap:6px;padding:14px}.pvac-summary-label{color:var(--text-secondary);font-size:12px}.pvac-summary-value{color:var(--text-primary);font-size:1.05rem}.pvac-list{gap:12px}.pvac-family-card,.pvac-list{display:flex;flex-direction:column}.pvac-family-card{align-items:stretch;background:var(--background-main);border:1px solid var(--border-light);border-radius:18px;box-shadow:0 10px 24px #0f172a0a;color:inherit;cursor:pointer;font:inherit;gap:6px;justify-content:flex-start;min-height:auto;padding:13px 16px 7px;text-align:left;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;width:100%}.pvac-family-card--active,.pvac-family-card:focus-visible,.pvac-family-card:hover{background:linear-gradient(180deg,#fff,#f7fbfc);border-color:#439db15c;box-shadow:0 14px 32px #0f172a14;outline:none;transform:translateY(-1px)}.pvac-family-layout{display:flex;flex-direction:column;gap:10px}.pvac-family-main{display:flex;flex-direction:column;gap:4px;min-width:0}.pvac-family-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.pvac-family-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.pvac-family-name{color:var(--text-primary);font-size:1rem;margin:0}.pvac-family-message{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:13px;line-height:1.35;margin:0;overflow:hidden}.pvac-family-bottom{grid-gap:6px 14px;align-items:end;display:grid;gap:6px 14px;grid-template-columns:minmax(0,1fr) auto}.pvac-family-metrics{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}.pvac-family-metric{align-items:flex-start;display:flex;flex-direction:column;gap:2px;min-width:0}.pvac-family-metric-label{color:var(--text-secondary);font-size:10px;letter-spacing:.04em;text-transform:uppercase}.pvac-family-metric-value{color:var(--text-primary);font-size:12px;font-weight:700}.pvac-chip-row{align-items:center;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.pvac-chip{align-items:baseline;background:#0f172a0a;border-radius:12px;color:var(--text-secondary);display:inline-flex;gap:5px;padding:6px 8px}.pvac-chip--primary{background:#439db11f;color:#175b68}.pvac-chip--danger{background:#e163631f;color:#a23131}.pvac-chip-label{font-size:10px;letter-spacing:.04em;text-transform:uppercase}.pvac-chip-value{color:inherit;font-size:12px}.pvac-affordance{align-items:center;background:#ffffffe0;border:1px solid #94a3b83d;border-radius:999px;color:var(--text-secondary);display:inline-flex;flex:none;height:28px;justify-content:center;margin-top:2px;width:28px}.pvac-tone--neutral{color:var(--text-primary)}.pvac-tone--neutral .pvac-badge{background:#439db114;color:#175b68}.pvac-tone--warning .pvac-badge{background:#f59e0b1f;color:#8a5a00}.pvac-tone--danger .pvac-badge{background:#e163631f;color:#a23131}.pvac-tone--calm .pvac-badge{background:#10b9811a;color:#236a5a}.pvac-tone--warning .pvac-hero-progress-actual{background:linear-gradient(90deg,#f59e0bf2,#f59e0b8c)}.pvac-tone--danger .pvac-hero-progress-actual{background:linear-gradient(90deg,#e16363f2,#e163638c)}.pvac-tone--calm .pvac-hero-progress-actual{background:linear-gradient(90deg,#10b981f2,#10b9818c)}.is-danger{color:#a23131;font-weight:700}.is-muted{color:var(--text-secondary);font-weight:700}.pvac-family-card--skeleton,.pvac-skeleton-block,.pvac-skeleton-chip{animation:pvac-pulse 1.2s ease-in-out infinite;background:linear-gradient(90deg,#94a3b824,#94a3b838,#94a3b824);background-size:200% 100%;border-radius:16px}.pvac-skeleton-block--title{height:32px;width:48%}.pvac-skeleton-block--body{height:56px;width:90%}.pvac-skeleton-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.pvac-skeleton-chip{height:64px}.pvac-family-card--skeleton{height:132px}@keyframes pvac-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:720px){.pvac-family-card,.pvac-hero{border-radius:18px;padding:12px 12px 7px}.pvac-summary-grid{gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.pvac-summary-item{border-radius:14px;gap:4px;padding:10px}.pvac-summary-label{font-size:10px}.pvac-summary-value{font-size:.9rem}.pvac-hero-top{gap:8px}.pvac-hero-subtitle{font-size:12px}.pvac-hero-message{font-size:13px;line-height:1.35}.pvac-hero-progress-caption{font-size:11px}.pvac-family-bottom{align-items:start;gap:4px;grid-template-columns:1fr}.pvac-family-metrics{gap:6px 8px;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.pvac-family-metric{align-items:flex-start;flex-direction:column;gap:1px;min-width:0}.pvac-family-metric-label{font-size:9px;letter-spacing:.04em;text-transform:uppercase}.pvac-family-metric-value{font-size:11px;max-width:100%}.pvac-chip-row{gap:5px;justify-content:flex-start}.pvac-chip{padding:5px 7px}.pvac-chip-label{font-size:9px}.pvac-chip-value{font-size:11px}.pvac-affordance{height:26px;margin-top:0;width:26px}}@media (max-width:520px){.pvac-card{gap:12px}.pvac-hero{gap:10px}.pvac-hero-title{font-size:1.45rem}.pvac-hero-subtitle{font-size:11px;margin-top:4px}.pvac-hero-message{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:12px;line-height:1.3;overflow:hidden}.pvac-hero-progress-caption{font-size:10px;gap:8px;justify-content:space-between}.pvac-hero-mobile-summary{display:flex;flex-direction:column;gap:6px;padding:8px 0 2px}.pvac-summary-grid{display:none}.pvac-family-title-row{gap:6px}.pvac-family-message{-webkit-line-clamp:2;font-size:12px}.pvac-family-metrics{gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}.pvac-chip-row .pvac-chip:nth-child(n+3){display:none}.pvac-chip-row{width:100%}.pvac-chip{max-width:calc(50% - 3px)}.pvac-chip-label{font-size:8px}.pvac-chip-value{font-size:10px}.pvac-affordance{align-self:start}}.dashboard-v2-content{background-color:var(--background-main);display:flex;flex-direction:column;gap:var(--spacing-lg);padding:12px 0 var(--spacing-lg) 0}.dashboard-card-v2,.dashboard-v2-content .category-section,.dashboard-v2-content .chart-section{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--spacing-md);margin:0;padding:var(--spacing-md) var(--spacing-lg) var(--spacing-lg) var(--spacing-lg)}.dashboard-v2-content .section-title-row{align-items:center;display:flex;gap:var(--spacing-sm);justify-content:space-between;margin-bottom:0}.dashboard-v2-content .section-pill{background:#ecfeff;background:var(--background-pill,#ecfeff);border:1px solid #0e74903d;border-radius:999px;color:#0e7490;color:var(--info,#0e7490);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:6px 10px}.state-panel{background:var(--background-secondary);border:1px dashed var(--border-light);border-radius:var(--radius-md);gap:var(--spacing-xs);padding:var(--spacing-lg) var(--spacing-md)}.state-title{color:var(--text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.state-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm)}.dashboard-v2-content .financial-summary{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin:0;padding:var(--spacing-md) var(--spacing-lg) var(--spacing-lg) var(--spacing-lg)}.dashboard-v2-content .section-title{color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-lg) 0}.summary-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(3,1fr)}@media (max-width:767px){.summary-grid{grid-template-areas:"receitaPlan receitaReal" "despesaPlan despesaReal" "saldoPlan   saldoReal";grid-template-columns:repeat(2,1fr)}.summary-item.receita-plan,.summary-skeleton-item.receita-plan{grid-area:receitaPlan}.summary-item.receita-real,.summary-skeleton-item.receita-real{grid-area:receitaReal}.summary-item.despesa-plan,.summary-skeleton-item.despesa-plan{grid-area:despesaPlan}.summary-item.despesa-real,.summary-skeleton-item.despesa-real{grid-area:despesaReal}.summary-item.saldo-plan,.summary-skeleton-item.saldo-plan{grid-area:saldoPlan}.summary-item.saldo-real,.summary-skeleton-item.saldo-real{grid-area:saldoReal}}.dashboard-v2-content .summary-item{background:var(--background-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md)}.dashboard-v2-content .summary-label{color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.dashboard-v2-content .summary-value{color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.dashboard-v2-content .chart-section.chart-section-balance{gap:0}.dashboard-v2-content .summary-skeleton-item{background:var(--background-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md)}.skeleton-line{background-color:var(--border-light);border-radius:4px}.skeleton-label{height:14px;width:60%}.skeleton-value{height:24px;width:80%}.dashboard-v2-content .operational-insights{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--spacing-md);margin:0;padding:var(--spacing-lg)}.insight-item{background:var(--background-secondary);border-left:3px solid var(--info);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md)}.insight-text{color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5}.next-action-guidance{background:var(--card-bg);border:1px dashed var(--border-neutral);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);text-align:center}.guidance-text{color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-base);margin:0}@media (min-width:768px){.dashboard-v2-content{margin:0 auto;max-width:1024px;padding:12px 24px 32px}.summary-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:420px){.dashboard-v2-content{padding:10px 8px 140px}}@media (max-width:767px){.dashboard-v2-content{gap:10px}.dashboard-v2-content .category-section,.dashboard-v2-content .chart-section{border-radius:16px;gap:10px;padding:10px}.dashboard-v2-content .financial-summary{background:#0000;border:0;border-radius:0;box-shadow:none;padding:0}.dashboard-v2-content .section-title{margin-bottom:10px}}.real-row-layout{align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:space-between}.summary-content-left{display:flex;flex-direction:column;gap:var(--spacing-xs)}.delta-chip{align-items:center;border-radius:999px;display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;line-height:1.2;padding:4px 10px;white-space:nowrap}.delta-chip--good{background-color:var(--background-secondary);border:1px solid var(--border-neutral);color:var(--text-secondary)}.delta-chip--warn{background-color:#fffbeb;border:1px solid #fde68a;color:#b45309}.delta-chip--neutral{background-color:var(--background-tertiary);border:1px solid var(--border-light);color:var(--text-muted);opacity:.9}.category-picker-trigger{align-items:center;background:#fff;border:1px solid #ccc;border-radius:4px;color:#333;cursor:pointer;display:flex;font-size:14px;gap:8px;justify-content:space-between;padding:10px 12px;text-align:left;width:100%}.category-picker-trigger:focus{border-color:#4a90e2;box-shadow:0 0 0 1px #4a90e24d;outline:none}.category-picker-value{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-picker-value.is-placeholder{color:#999}.category-picker-clear{background:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#444;cursor:pointer;font-size:12px;padding:4px 8px}.category-picker-clear:hover{background:#ededed}.category-picker-caret{color:#666;font-size:12px}.category-picker-popover{background:#fff;border:1px solid #e6e6e6;border-radius:8px;box-shadow:0 10px 28px #00000029;max-width:380px;padding:0;z-index:2001}.category-picker-command{width:100%}.category-picker-search{border-bottom:1px solid #f0f0f0;padding:8px 8px 6px}.category-picker-search input{background:#fff;border:1px solid #ccc;border-radius:6px;color:#333;font-size:14px;padding:9px 10px;width:100%}.category-picker-search input:focus{border-color:#4a90e2;box-shadow:0 0 0 1px #4a90e24d;outline:none}.category-picker-body{padding:6px 8px 10px}.category-picker-section{margin-bottom:8px}.category-picker-section:last-child{margin-bottom:0}.category-picker-section-title{margin:4px 0 6px}.category-picker-family,.category-picker-section-title{color:#666;font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.category-picker-family{box-sizing:border-box;padding:4px 8px}.category-picker-section-items{display:flex;flex-direction:column;gap:4px}.category-picker-item{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;box-sizing:border-box;color:#222;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 10px;text-align:left;width:100%}.category-picker-item:hover{background:#f6f9ff}.category-picker-item.is-active{background:#eef4ff;border-color:#d6e3ff}.category-picker-item.is-selected{font-weight:600}.category-picker-item-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-picker-virtual-list{outline:none;overflow:auto!important}.category-picker-empty{color:#666;font-size:13px;padding:12px 8px}.date-picker-container{display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%}.date-picker-label{color:var(--text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.date-picker-input-wrapper{align-items:center;display:flex;position:relative}.date-picker-text-input{padding-right:44px!important}.date-picker-native-mobile,.date-picker-text-input{font-family:inherit;font-size:16px;width:100%}.date-picker-icon-wrapper{align-items:center;color:var(--text-secondary);display:flex;height:24px;justify-content:center;pointer-events:auto;position:absolute;right:12px;width:24px;z-index:2}.date-picker-native-hidden{border:none;cursor:pointer;height:100%;margin:0;opacity:0;padding:0;pointer-events:auto;position:absolute;right:12px;top:0;width:32px;z-index:1}.date-picker-native-hidden::-webkit-calendar-picker-indicator{cursor:pointer;height:100%;left:0;margin:0;padding:0;position:absolute;top:0;width:100%}.manual-entry-modal-overlay{align-items:center;background:#0009;display:flex;height:100%;justify-content:center;left:0;overscroll-behavior:none;padding:12px;padding:calc(12px + var(--app-safe-top, 0px)) calc(12px + var(--app-safe-right, 0px)) calc(12px + var(--app-safe-bottom, 0px)) calc(12px + var(--app-safe-left, 0px));position:fixed;top:0;touch-action:none;width:100%;z-index:2000}.manual-entry-modal-container{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;left:50%;max-height:calc(100vh - 24px);max-height:calc(var(--app-vvh, 1vh)*100 - 24px - var(--app-safe-top, 0px) - var(--app-safe-bottom, 0px));max-width:420px;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 24px));width:min(420px,calc(100vw - 24px - var(--app-safe-left, 0px) - var(--app-safe-right, 0px)));z-index:2001}@media (max-width:768px){.manual-entry-modal-container{max-width:none;width:calc(100vw - 16px);width:calc(100vw - 16px - var(--app-safe-left, 0px) - var(--app-safe-right, 0px))}}.manual-entry-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;min-height:44px;padding:12px 14px}.manual-entry-modal-title{color:#333;font-size:17px;font-weight:600;margin:0}.manual-entry-modal-close-btn{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;line-height:1;padding:0;transition:color .2s ease;width:32px}.manual-entry-modal-close-btn:hover{color:#333}.manual-entry-modal-form{display:flex;flex:1 1;flex-direction:column}.manual-entry-modal-content{-webkit-overflow-scrolling:touch;flex:1 1;max-height:calc(100vh - 180px);max-height:calc(var(--app-vvh, 1vh)*100 - 180px - var(--app-safe-top, 0px) - var(--app-safe-bottom, 0px));overflow-y:auto;overscroll-behavior:contain;padding:14px}.manual-entry-modal-field{margin-bottom:10px}.manual-entry-modal-field:last-child{margin-bottom:0}.manual-entry-modal-fx-preview{font-size:12px;margin:0}.manual-entry-modal-label{color:#333;display:block;font-size:13px;font-weight:500;margin-bottom:4px}.manual-entry-modal-input,.manual-entry-modal-select{background:#fff;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;color:#333;font-size:16px;padding:9px 12px;transition:border-color .2s ease;width:100%}.manual-entry-modal-input:focus,.manual-entry-modal-select:focus{border-color:#4a90e2;outline:none}.manual-entry-modal-input::placeholder{color:#999}.manual-entry-modal-select{cursor:pointer}.manual-entry-modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:10px;padding:12px 14px}.manual-entry-modal-btn{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:9px 14px;transition:all .2s ease}.manual-entry-modal-btn-cancel{background:#f5f5f5;color:#666}.manual-entry-modal-btn-cancel:hover{background:#e0e0e0}.manual-entry-modal-btn-submit{background:#4a90e2;color:#fff}.manual-entry-modal-btn-submit:hover{background:#357abd}.manual-entry-modal-btn-submit:active{background:#2d6aa5}@media (max-width:768px){.manual-entry-modal-content{max-height:calc(100vh - 210px);max-height:calc(var(--app-vvh, 1vh)*100 - 210px - var(--app-safe-top, 0px) - var(--app-safe-bottom, 0px))}.manual-entry-modal-footer{flex-direction:column;padding-bottom:12px;padding-bottom:calc(12px + var(--app-safe-bottom, 0px))}.manual-entry-modal-btn{width:100%}}.budget-effectivation-overlay{background:#0f172a52;inset:0;overscroll-behavior:none;padding:12px;padding:calc(12px + var(--app-safe-top, 0px)) calc(12px + var(--app-safe-right, 0px)) calc(12px + var(--app-safe-bottom, 0px)) calc(12px + var(--app-safe-left, 0px));position:fixed;touch-action:none;z-index:1200}.budget-effectivation-modal{background:var(--card-bg);border:1px solid var(--border-light);border-radius:16px;box-shadow:0 20px 48px #0f172a33;display:flex;flex-direction:column;left:50%;max-height:calc(100vh - 24px);max-height:calc(var(--app-vvh, 1vh)*100 - 24px - var(--app-safe-top, 0px) - var(--app-safe-bottom, 0px));padding:18px;position:fixed;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 24px));z-index:1201}.budget-effectivation-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.budget-effectivation-eyebrow{color:var(--text-secondary);font-size:12px;letter-spacing:.08em;margin:0 0 4px;text-transform:uppercase}.budget-effectivation-title{color:var(--text-primary);font-size:20px;margin:0}.budget-effectivation-close{background:#0000;border:none;color:var(--text-secondary);cursor:pointer;font-size:28px;line-height:1}.budget-effectivation-form{-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:14px;overflow-y:auto;overscroll-behavior:contain}.budget-effectivation-field{display:flex;flex-direction:column;gap:6px}.budget-effectivation-field span{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.budget-effectivation-field input{background:#fff;border:1px solid var(--border-light);border-radius:12px;box-sizing:border-box;color:var(--text-primary);font-size:16px;padding:11px 12px;width:100%}.budget-effectivation-field input[readonly]{background:var(--background-secondary)}.budget-effectivation-field-date-action.is-highlighted,.budget-effectivation-field-date.is-highlighted{animation:budget-effectivation-date-flash 1.4s ease-out}.budget-effectivation-field-date-action.is-highlighted .budget-effectivation-date-shortcut,.budget-effectivation-field-date.is-highlighted input{border-color:#0e7490;box-shadow:0 0 0 4px #0e749024}.budget-effectivation-date-shortcut{background:var(--background-secondary);border:1px solid var(--border-light);border-radius:12px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:600;padding:11px 14px;white-space:nowrap}.budget-effectivation-date-shortcut:disabled{cursor:not-allowed;opacity:.7}@keyframes budget-effectivation-date-flash{0%{transform:scale(.985)}35%{transform:scale(1.01)}to{transform:scale(1)}}.budget-effectivation-grid{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:minmax(160px,.72fr) minmax(220px,.98fr) auto}.budget-effectivation-field-amount,.budget-effectivation-field-date,.budget-effectivation-field-date-action{min-width:0}.budget-effectivation-field-spacer{visibility:hidden}.budget-effectivation-field-date-action .budget-effectivation-date-shortcut{min-height:49px}.budget-effectivation-summary{align-items:center;background:var(--background-secondary);border-radius:12px;color:var(--text-secondary);display:flex;justify-content:space-between;padding:10px 12px}.budget-effectivation-summary strong{color:var(--text-primary)}.budget-effectivation-error{color:#b91c1c;font-size:13px}.budget-effectivation-actions{display:flex;gap:10px;justify-content:flex-end}.budget-effectivation-btn{border:none;border-radius:12px;cursor:pointer;font-weight:700;padding:10px 16px}.budget-effectivation-btn.secondary{background:var(--background-secondary);border:1px solid var(--border-light);color:var(--text-primary)}.budget-effectivation-btn.primary{background:#0e7490;color:#fff}.budget-effectivation-btn:disabled,.budget-effectivation-close:disabled{cursor:not-allowed;opacity:.7}@media (max-width:640px){.budget-effectivation-modal{padding:14px;width:calc(100vw - 16px)}.budget-effectivation-grid{grid-template-columns:1fr}.budget-effectivation-date-shortcut{width:100%}.budget-effectivation-field-spacer{display:none}.budget-effectivation-actions{padding-bottom:0;padding-bottom:calc(var(--app-safe-bottom, 0px))}}:root{--expenses-surface:var(--card-bg);--expenses-border:var(--border-light);--expenses-shadow:var(--shadow-sm)}.expenses-v3{background:var(--background-main);color:#0f172a;display:flex;flex-direction:column;gap:16px;padding:12px 0 var(--spacing-lg) 0}@media (min-width:768px){.expenses-v3{margin:0 auto;max-width:1024px;padding:12px 24px 32px}}.expenses-hero-card{background:radial-gradient(circle at top right,#0e74901f,#0000 34%),linear-gradient(180deg,#fffffffa,#f7fafcfa);gap:14px;padding:18px 18px 20px}.expenses-hero-card,.expenses-list-card{border:1px solid var(--expenses-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);box-shadow:var(--expenses-shadow);display:flex;flex-direction:column}.expenses-list-card{background:var(--card-bg);background:var(--expenses-surface);gap:6px;padding:8px 10px}.expenses-v3 .list-header,.expenses-v3 .list-row{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:40px 90px 1fr 140px 110px;padding:10px}.expenses-v3 .list-header{border-bottom:1px solid var(--border-light);color:var(--text-secondary);font-size:12px;font-weight:600}.expenses-v3 .list-header .list-col-date{cursor:pointer;-webkit-user-select:none;user-select:none}.expenses-v3 .expenses-list{display:flex;flex-direction:column;margin:0}.expenses-v3 .list-row{background:#0000;border:none;border-bottom:1px solid var(--border-light);border-radius:12px;cursor:pointer;text-align:left;transition:background .15s ease,transform .12s ease}.expenses-v3 .list-row:last-child{border-bottom:none}.expenses-v3 .list-row:hover{background:var(--background-secondary);transform:translateY(-1px)}.expenses-v3 .list-row:active{background:var(--background-tertiary)}.expenses-v3 .list-row.is-open{background:#4a5a631f;border-bottom-left-radius:0;border-bottom-right-radius:0}.expenses-v3 .action-panel{align-items:center;background:#4a5a631f;border:none;border-radius:0 0 12px 12px;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding:6px 12px}.expenses-v3 .action-panel-btn{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:600;padding:8px 12px;transition:background .15s ease,border-color .15s ease}.expenses-v3 .action-panel-btn:hover{background:var(--background-secondary);border-color:var(--border-neutral)}.expenses-v3 .action-panel-btn-delete{border-color:#b91c1c52;color:#b91c1c}.expenses-v3 .list-col-icon{font-size:18px;text-align:center}.expenses-v3 .list-col-date{color:var(--text-primary);font-size:14px;white-space:nowrap}.expenses-v3 .list-col-description{color:var(--text-primary);font-size:14px;font-weight:600}.expenses-v3 .list-col-category{color:var(--text-secondary);font-size:14px;white-space:nowrap}.expenses-v3 .list-col-value{color:var(--text-primary);font-size:14px;font-weight:700;text-align:right;white-space:nowrap}.expenses-v3 .list-header .list-col-value{text-align:right}@media (max-width:767px){.expenses-v3 .list-header,.expenses-v3 .list-row{grid-template-columns:36px 80px 1fr 100px}.expenses-v3 .list-col-category{display:none}}@media (max-width:420px){.expenses-v3{padding:10px 8px 140px}.expenses-list-card{gap:4px;padding:6px 8px}.expenses-v3 .list-header,.expenses-v3 .list-row{gap:8px;grid-template-columns:28px 68px 1fr 90px;padding:8px}.expenses-v3 .list-header{font-size:11px}.expenses-v3 .list-col-icon{font-size:16px}.expenses-v3 .list-col-date{font-size:12px}.expenses-v3 .list-col-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:13px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.expenses-v3 .list-col-value{text-align:right;white-space:nowrap}}.empty-state{align-items:center;background:var(--card-bg);background:var(--expenses-surface);border:1px dashed #439db166;border-radius:16px;box-shadow:var(--shadow-sm);box-shadow:var(--expenses-shadow);display:flex;flex-direction:column;gap:10px;padding:36px 20px;text-align:center}.empty-text{color:#0f172a;font-size:16px;font-weight:700;margin:0}.empty-hint{color:#475569;font-size:14px;margin:0}.state-panel{background:var(--card-bg);background:var(--expenses-surface);border:1px solid var(--expenses-border);border-radius:16px;box-shadow:var(--shadow-sm);box-shadow:var(--expenses-shadow);padding:28px 16px}.state-title{color:#0f172a;margin:0}.state-subtitle{color:#475569;margin:0}.expenses-v3 .btn-primary{align-items:center;background:#0e7490;border:none;border-radius:12px;box-shadow:0 10px 22px #0e74902e;color:#fff;cursor:pointer;display:inline-flex;font-weight:700;justify-content:center;padding:10px 16px;transition:transform .15s ease,filter .15s ease}.expenses-v3 .btn-primary:hover{filter:brightness(1.02);transform:translateY(-1px)}.expenses-v3 .budget-pending-card{background:var(--card-bg);background:var(--expenses-surface);border:1px solid var(--expenses-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);box-shadow:var(--expenses-shadow);display:flex;flex-direction:column;gap:6px;padding:8px 10px}.expenses-v3 .budget-pending-header{align-items:center;display:flex;justify-content:space-between;padding:6px 10px 8px}.expenses-v3 .budget-pending-title{align-items:baseline;color:#0f172a;display:flex;flex-wrap:wrap;font-size:18px;gap:4px;margin:0}.expenses-v3 .budget-pending-title strong{font-weight:700}.expenses-v3 .budget-pending-title span{color:#475569;font-size:14px;font-weight:400}.expenses-v3 .budget-pending-list{display:flex;flex-direction:column}.expenses-v3 .budget-pending-row,.expenses-v3 .budget-pending-table-header{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:40px 90px minmax(0,1fr) 180px 110px 118px;padding:10px}.expenses-v3 .budget-pending-table-header{color:var(--text-secondary);font-size:12px;font-weight:600}.expenses-v3 .budget-pending-row,.expenses-v3 .budget-pending-table-header{border-bottom:1px solid var(--border-light)}.expenses-v3 .budget-pending-row:last-child{border-bottom:none}.expenses-v3 .budget-pending-row.is-overdue{background:#b91c1c0d;border-radius:12px}.expenses-v3 .budget-pending-col-icon{font-size:18px;text-align:center}.expenses-v3 .budget-pending-col-date{align-items:center;color:var(--text-primary);display:flex;font-size:14px;font-weight:700;gap:4px;justify-content:flex-start;white-space:nowrap}.expenses-v3 .budget-pending-col-category,.expenses-v3 .budget-pending-col-description{min-width:0}.expenses-v3 .budget-pending-description-text{color:var(--text-primary);display:block;font-size:14px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.expenses-v3 .budget-pending-col-category{color:var(--text-secondary);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expenses-v3 .budget-pending-badge{align-items:center;background:#b91c1c1a;border-radius:999px;color:#b91c1c;display:inline-flex;flex:0 0 auto;font-size:12px;font-weight:700;height:20px;justify-content:center;width:20px}.expenses-v3 .budget-pending-col-value{color:var(--text-primary);font-size:14px;font-weight:700;text-align:right;white-space:nowrap}.expenses-v3 .budget-pending-col-action{display:flex;justify-content:flex-end}.expenses-v3 .budget-pending-btn{align-items:center;background:#0e7490;border:none;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;justify-content:center;line-height:1;min-height:28px;padding:0 12px}.expenses-v3 .budget-pending-btn:disabled{cursor:not-allowed;opacity:.7}.expenses-v3 .budget-pending-empty{color:var(--text-secondary);font-size:14px;padding:10px}@media (max-width:767px){.expenses-v3 .budget-pending-row,.expenses-v3 .budget-pending-table-header{gap:7px;grid-template-columns:30px 58px minmax(0,1fr) 80px 96px}.expenses-v3 .budget-pending-col-category{display:none}.expenses-v3 .budget-pending-col-value{justify-self:end;padding-right:2px}.expenses-v3 .budget-pending-col-action{justify-content:flex-end}.expenses-v3 .budget-pending-btn{font-size:12px;min-height:28px;padding:0 12px}}@media (max-width:420px){.expenses-v3 .budget-pending-card{gap:4px;padding:6px 8px}.expenses-v3 .budget-pending-header{padding:4px 8px 8px}.expenses-v3 .budget-pending-row,.expenses-v3 .budget-pending-table-header{gap:6px;grid-template-columns:22px 52px minmax(0,1fr) 68px 82px;padding:8px}.expenses-v3 .budget-pending-table-header{font-size:11px}.expenses-v3 .budget-pending-col-icon{font-size:16px}.expenses-v3 .budget-pending-col-date,.expenses-v3 .budget-pending-col-value,.expenses-v3 .budget-pending-description-text{font-size:12px}.expenses-v3 .budget-pending-description-text{max-width:100%}.expenses-v3 .budget-pending-col-value{padding-right:0}.expenses-v3 .budget-pending-btn{font-size:12px;min-height:26px;min-width:0;padding:0 10px}}.expenses-v3 .btn-primary:active{filter:brightness(.98);transform:translateY(0)}.expenses-v3 .btn-primary:disabled{cursor:not-allowed;opacity:.7}.txn-date-desktop{display:inline}.txn-date-mobile{display:none}.txn-receipt-indicator{align-items:center;color:currentColor;display:inline-flex;margin-left:6px;opacity:.65}@media (max-width:480px){.txn-date-desktop{display:none}.txn-date-mobile{display:inline}}@keyframes expensesSkeletonPulse{0%{opacity:.5}50%{opacity:.8}to{opacity:.5}}.expenses-v3 .skeleton-block{animation:expensesSkeletonPulse 1.5s ease-in-out infinite;background-color:#e2e8f0;border-radius:6px}.expenses-v3 .skeleton-text{height:14px;margin-bottom:4px}.expenses-v3 .skeleton-text.large{height:24px;margin-bottom:6px}.expenses-v3 .hero-chip.skeleton-chip{background:#fff;border-color:#e2e8f0;display:flex;flex-direction:column;gap:8px;min-width:120px}.expenses-v3 .list-row.skeleton-row{pointer-events:none}.expenses-v3 .skeleton-circle{animation:expensesSkeletonPulse 1.5s ease-in-out infinite;background-color:#e2e8f0;border-radius:50%;height:32px;width:32px}.expenses-v3 .budget-pending-card-skeleton .budget-pending-header{align-items:flex-start}.expenses-v3 .budget-pending-skeleton-title{display:flex;flex-direction:column;gap:6px}.expenses-v3 .budget-pending-row-skeleton{pointer-events:none}.income-v2-content{display:flex;flex-direction:column;gap:16px;padding:12px 0 var(--spacing-lg) 0}.operational-header-income{align-items:center;background:#fff;border:1px solid #ddd;border-radius:8px;display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px;padding:16px}.header-copy{display:flex;flex-direction:column;gap:4px}.header-text-income{color:#555;font-size:14px;margin:0}.header-total-income{color:#222;font-size:16px;font-weight:600;margin:0}.header-actions{align-items:center;display:flex}.header-action-btn{align-items:center;background:#0e7490;border:none;border-radius:12px;box-shadow:0 10px 22px #0e74902e;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:700;justify-content:center;padding:10px 16px;transition:transform .15s ease,filter .15s ease}.header-action-btn:hover{filter:brightness(1.02);transform:translateY(-1px)}.header-action-btn:active{filter:brightness(.98);transform:translateY(0)}.header-action-btn:disabled{cursor:not-allowed;opacity:.7}.budget-pending-header{align-items:center;display:flex;justify-content:space-between}.income-v2-content .budget-pending-title{align-items:baseline;color:#0f172a;display:flex;flex-wrap:wrap;font-size:18px;gap:4px;margin:0}.income-v2-content .budget-pending-title strong{font-weight:700}.income-v2-content .budget-pending-title span{color:#475569;font-size:14px;font-weight:400}.income-v2-content .budget-pending-list{display:flex;flex-direction:column}.income-v2-content .budget-pending-card{gap:6px;padding:8px 10px}.income-v2-content .budget-pending-header{align-items:center;display:flex;justify-content:space-between;padding:6px 10px 8px}.income-v2-content .budget-pending-row,.income-v2-content .budget-pending-table-header{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:40px 90px minmax(0,1fr) 180px 110px 118px;padding:10px}.income-v2-content .budget-pending-table-header{border-bottom:1px solid var(--border-light);color:var(--text-secondary);font-size:12px;font-weight:600}.income-v2-content .budget-pending-row{border-bottom:1px solid var(--border-light)}.income-v2-content .budget-pending-row:last-child{border-bottom:none}.income-v2-content .budget-pending-row.is-overdue{background:#b91c1c0d;border-radius:12px}.income-v2-content .budget-pending-col-icon{font-size:18px;text-align:center}.income-v2-content .budget-pending-col-date{align-items:center;color:var(--text-primary);display:flex;font-size:14px;font-weight:700;gap:4px;justify-content:flex-start;white-space:nowrap}.income-v2-content .budget-pending-col-category,.income-v2-content .budget-pending-col-description{min-width:0}.income-v2-content .budget-pending-description-text{color:var(--text-primary);font-size:14px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.income-v2-content .budget-pending-col-category{color:var(--text-secondary);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.income-v2-content .budget-pending-badge{align-items:center;background:#b91c1c1a;border-radius:999px;color:#b91c1c;display:inline-flex;flex:0 0 auto;font-size:12px;font-weight:700;height:20px;justify-content:center;width:20px}.income-v2-content .budget-pending-col-value{color:var(--text-primary);font-size:14px;font-weight:700;text-align:right;white-space:nowrap}.income-v2-content .budget-pending-col-action{display:flex;justify-content:flex-end}.income-v2-content .budget-pending-btn{align-items:center;background:#0e7490;border:none;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;justify-content:center;line-height:1;min-height:28px;padding:0 12px}.income-v2-content .budget-pending-btn:disabled{cursor:not-allowed;opacity:.7}.income-v2-content .budget-pending-empty{color:var(--text-secondary);font-size:14px;padding:10px}.income-list-container{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:6px;padding:8px 10px}.income-v2-content .list-header,.income-v2-content .list-row{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:40px 90px 1fr 140px 110px;padding:10px}.income-v2-content .list-header{border-bottom:1px solid var(--border-light);color:var(--text-secondary);font-size:12px;font-weight:600}.income-v2-content .list-header .list-col-date{cursor:pointer;-webkit-user-select:none;user-select:none}.income-list-container .income-list{display:flex;flex-direction:column;margin:0}.income-v2-content .list-row{background:#0000;border:none;border-bottom:1px solid var(--border-light);border-radius:12px;cursor:pointer;text-align:left;transition:background .15s ease,transform .12s ease}.income-v2-content .list-row:last-child{border-bottom:none}.income-v2-content .list-row:hover{background:var(--background-secondary);transform:translateY(-1px)}.income-v2-content .list-row:active{background:var(--background-tertiary)}.income-v2-content .list-row.is-open{background:#4a5a631f;border-bottom-left-radius:0;border-bottom-right-radius:0}.income-v2-content .action-panel{align-items:center;background:#4a5a631f;border:none;border-radius:0 0 12px 12px;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding:6px 12px}.income-v2-content .action-panel-btn{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:600;padding:8px 12px;transition:background .15s ease,border-color .15s ease}.income-v2-content .action-panel-btn:hover{background:var(--background-secondary);border-color:var(--border-neutral)}.income-v2-content .action-panel-btn-delete{border-color:#b91c1c52;color:#b91c1c}.income-v2-content .list-col-icon{font-size:18px;text-align:center}.income-v2-content .list-col-date{color:var(--text-primary);font-size:14px;white-space:nowrap}.income-v2-content .list-col-description{color:var(--text-primary);font-size:14px;font-weight:600}.income-v2-content .list-col-category{color:var(--text-secondary);font-size:14px;white-space:nowrap}.income-v2-content .list-col-value{color:var(--text-primary);font-size:14px;font-weight:700;text-align:right;white-space:nowrap}.income-v2-content .list-header .list-col-value{text-align:right}@media (max-width:767px){.income-v2-content .list-header,.income-v2-content .list-row{grid-template-columns:36px 80px 1fr 100px}.income-v2-content .list-col-category{display:none}.income-v2-content .budget-pending-row,.income-v2-content .budget-pending-table-header{gap:10px;grid-template-columns:36px 72px minmax(0,1fr) 100px 104px}.income-v2-content .budget-pending-col-category{display:none}.income-v2-content .budget-pending-col-action{justify-content:flex-end}.income-v2-content .budget-pending-btn{font-size:12px;min-height:28px;padding:0 12px}}@media (max-width:420px){.income-v2-content{padding:10px 8px 140px}.income-v2-content .list-header,.income-v2-content .list-row{gap:8px;grid-template-columns:28px 68px 1fr 90px;padding:8px}.income-list-container{gap:4px;padding:6px 8px}.income-v2-content .budget-pending-header{padding:4px 8px 8px}.income-v2-content .budget-pending-row,.income-v2-content .budget-pending-table-header{gap:8px;grid-template-columns:28px 64px minmax(0,1fr) 88px 92px;padding:8px}.income-v2-content .budget-pending-table-header{font-size:11px}.income-v2-content .budget-pending-col-icon{font-size:16px}.income-v2-content .budget-pending-col-date,.income-v2-content .budget-pending-col-value,.income-v2-content .budget-pending-description-text{font-size:12px}.income-v2-content .budget-pending-btn{font-size:12px;min-height:26px;min-width:0;padding:0 10px}.income-v2-content .list-header{font-size:11px}.income-v2-content .list-col-icon{font-size:16px}.income-v2-content .list-col-date{font-size:12px}.income-v2-content .list-col-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:13px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.income-v2-content .list-col-value{text-align:right;white-space:nowrap}}.income-item{grid-gap:12px;align-items:center;background:#0000;border:none;border-bottom:1px solid #e5e5e5;cursor:pointer;display:grid;gap:12px;grid-template-columns:auto 1fr auto;padding:10px 12px;text-align:left;transition:background .15s ease}.income-item:last-child{border-bottom:none}.income-item:hover{background:#f9f9f9}.income-item:active{background:#f3f3f3}.income-date{color:#666;font-size:13px;white-space:nowrap}.income-description{color:#222;font-size:14px;font-weight:500}.income-value{color:#222;font-size:14px;font-weight:600;white-space:nowrap}.empty-state-income{background:#fefefe;border:1px dashed #ccc;border-radius:8px;display:flex;flex-direction:column;gap:8px;margin-top:16px;padding:48px 24px;text-align:center}.empty-text-income{color:#555;font-size:16px;margin:0}.empty-hint-income{color:#888;font-size:14px;margin:0}@media (min-width:768px){.income-v2-content{margin:0 auto;max-width:1024px;padding:12px 24px 32px}}.income-hero-card{background:radial-gradient(circle at top right,#0e74901f,#0000 34%),linear-gradient(180deg,#fffffffa,#f7fafcfa);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:14px;padding:18px 18px 20px}.hero-eyebrow{color:#475569}.hero-title{color:#0f172a}.hero-sub{color:#475569}.hero-actions{align-items:center;display:flex;gap:10px}.hero-metrics{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.hero-chip{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.hero-chip.chip-ok{background:var(--background-secondary);border-color:color-mix(in srgb,var(--info) 24%,#0000)}.chip-label{color:#475569}.chip-value{color:#0f172a}.income-v2-content .btn-primary{align-items:center;background:#0e7490;border:none;border-radius:12px;box-shadow:0 10px 22px #0e74902e;color:#fff;cursor:pointer;display:inline-flex;font-weight:700;justify-content:center;padding:10px 16px;transition:transform .15s ease,filter .15s ease}.income-v2-content .btn-primary:hover{filter:brightness(1.02);transform:translateY(-1px)}.income-v2-content .btn-primary:active{filter:brightness(.98);transform:translateY(0)}.income-v2-content .btn-primary:disabled{cursor:not-allowed;opacity:.7}@keyframes incomeSkeletonPulse{0%{opacity:.5}50%{opacity:.8}to{opacity:.5}}.income-v2-content .skeleton-block{animation:incomeSkeletonPulse 1.5s ease-in-out infinite;background-color:#e2e8f0;border-radius:6px}.income-v2-content .skeleton-text{height:14px;margin-bottom:4px}.income-v2-content .skeleton-text.large{height:24px;margin-bottom:6px}.income-v2-content .hero-chip.skeleton-chip{background:#fff;border-color:#e2e8f0;display:flex;flex-direction:column;gap:8px;min-width:120px}.income-v2-content .list-row.skeleton-row{pointer-events:none}.income-v2-content .skeleton-circle{animation:incomeSkeletonPulse 1.5s ease-in-out infinite;background-color:#e2e8f0;border-radius:50%;height:32px;width:32px}.income-v2-content .budget-pending-card-skeleton .budget-pending-header{align-items:flex-start}.income-v2-content .budget-pending-skeleton-title{display:flex;flex-direction:column;gap:6px}.income-v2-content .budget-pending-row-skeleton{pointer-events:none}.insights-v2-container{background:var(--background-main);color:var(--text-primary);display:flex;flex-direction:column;font-family:var(--font-family);gap:var(--spacing-xl);padding:var(--spacing-md) 0 var(--spacing-lg) 0}.insights-v2-section{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg)}.insights-v2-section-title{color:var(--text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.insights-v2-cards-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.insights-v2-card{align-items:center;background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:var(--spacing-md);min-height:96px;padding:var(--spacing-md)}.insights-v2-card-icon{align-items:center;background:var(--background-secondary);border-radius:var(--radius-full);color:var(--text-primary);display:inline-flex;flex-shrink:0;font-size:22px;height:44px;justify-content:center;line-height:1;width:44px}.insights-v2-card-label{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.insights-v2-card-type{color:var(--text-secondary);font-weight:var(--font-weight-semibold)}.insights-v2-card-subtype,.insights-v2-card-type{font-size:var(--font-size-sm);line-height:1.4;margin:0}.insights-v2-card-subtype{color:var(--text-muted);font-weight:var(--font-weight-medium)}.insights-v2-card-value-container{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:4px}.insights-v2-card-value{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0;text-align:right;white-space:nowrap}.insights-v2-card-variance{color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin:0;text-align:right;white-space:nowrap}.insights-v2-block{background:var(--background-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:inset 0 1px 0 #1f2a300a;padding:var(--spacing-md)}.insights-v2-list{display:flex;flex-direction:column;gap:var(--spacing-sm);list-style:none;margin:0;padding:0}.insights-v2-list-item{color:var(--text-primary);font-size:var(--font-size-base);line-height:1.55;padding-left:18px;position:relative}.insights-v2-list-item:before{background:var(--info);border-radius:50%;content:"";height:6px;left:0;position:absolute;top:10px;width:6px}.insights-v2-trend-text{color:var(--text-primary);font-size:var(--font-size-base);line-height:1.55;margin-bottom:var(--spacing-sm)}.insights-v2-trend-bar{background:var(--border-light);border-radius:3px;height:6px;overflow:hidden;width:100%}.insights-v2-trend-fill{background:linear-gradient(90deg,var(--info) 0,var(--progress) 100%);height:100%;transition:width var(--transition-base)}.insights-v2-action-block{align-items:center;background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:var(--spacing-md);padding:var(--spacing-md)}.insights-v2-generate-btn{background:var(--info);border:1px solid var(--info);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--spacing-sm) var(--spacing-lg);transition:transform var(--transition-fast),box-shadow var(--transition-fast),filter var(--transition-fast);white-space:nowrap}.insights-v2-generate-btn:hover:not(:disabled){box-shadow:var(--shadow-md);filter:brightness(1.02);transform:translateY(-1px)}.insights-v2-generate-btn:disabled{background:var(--disabled);border-color:var(--disabled);box-shadow:none;color:var(--disabled-text);cursor:not-allowed}.insights-v2-generated-info{color:var(--text-secondary);font-size:var(--font-size-xs);text-align:right;white-space:nowrap}.insights-v2-error{background:#fcf1f1;border:1px solid #c84343;border-radius:var(--radius-md);color:#7a1f1f;font-weight:var(--font-weight-medium);margin:0;padding:var(--spacing-md)}.insights-v2-empty,.insights-v2-loading{background:var(--background-secondary);border:1px dashed var(--border-light);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin:0;padding:var(--spacing-lg);text-align:center}@media (min-width:768px){.insights-v2-container{margin:0 auto;max-width:1040px;padding:var(--spacing-md) var(--spacing-xl) calc(var(--spacing-lg) + 110px) var(--spacing-xl)}.insights-v2-action-block{flex-wrap:nowrap}}@media (max-width:767px){.insights-v2-action-block{align-items:stretch;flex-direction:column}.insights-v2-generate-btn,.insights-v2-generated-info{text-align:center;width:100%}.insights-v2-generated-info{order:2}}@keyframes insightsSkeletonPulse{0%{opacity:.6}50%{opacity:.8}to{opacity:.6}}.insights-skeleton-card{align-items:center;animation:insightsSkeletonPulse 1.5s ease-in-out infinite;background:var(--background-secondary);border:1px solid var(--border-light);border-radius:var(--radius-lg);display:flex!important;gap:var(--spacing-md);min-height:96px;padding:var(--spacing-md)}.insights-skeleton-icon{background:var(--border-light);border-radius:50%;flex-shrink:0;height:44px;width:44px}.insights-skeleton-text{background:var(--border-light);border-radius:4px;height:16px;margin-bottom:4px}.insights-skeleton-block{animation:insightsSkeletonPulse 1.5s ease-in-out infinite;background:var(--background-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--spacing-md)}.insights-skeleton-section-title{height:24px;margin-bottom:var(--spacing-md);width:200px}.insights-skeleton-list-item,.insights-skeleton-section-title{animation:insightsSkeletonPulse 1.5s ease-in-out infinite;background:var(--border-light);border-radius:4px}.insights-skeleton-list-item{height:16px;margin-bottom:var(--spacing-sm);width:90%}.budget-traj-chart-wrap{background:linear-gradient(180deg,#f8fafcdb,#fffffffa);border:1px solid #94a3b81f;border-radius:16px;height:300px;padding:10px 6px 2px 0;width:100%}.budget-traj-tooltip{background:#fffffffa;border:1px solid #94a3b833;border-radius:12px;box-shadow:0 12px 26px #0f172a1f;min-width:170px;padding:10px 12px}.budget-traj-tooltip-title{color:var(--text-primary);font-size:12px;font-weight:700;margin:0 0 8px}.budget-traj-tooltip-row{align-items:center;color:var(--text-secondary);display:flex;font-size:12px;gap:12px;justify-content:space-between}.budget-traj-tooltip-row strong{color:var(--text-primary)}.budget-traj-skeleton{animation:budget-traj-shimmer 1.4s linear infinite;background:linear-gradient(90deg,#e2e8f0b3,#f1f5f9f5,#e2e8f0b3);background-size:200% 100%;border-radius:16px;height:300px}@keyframes budget-traj-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:767px){.budget-traj-chart-wrap,.budget-traj-skeleton{height:240px}}.dashboard-card{background:#fff;background:var(--dash-surface-2,#fff);border:1px solid #0f172a14;border:1px solid var(--dash-border,#0f172a14);border-radius:14px;isolation:isolate;overflow:hidden;padding:10px 12px}.dashboard-card.summary-card{background:#fff}:root{--md-sys-color-primary:#6750a4;--md-sys-color-on-primary:#fff;--md-sys-color-primary-container:#eaddff;--md-sys-color-on-primary-container:#21005d;--md-sys-color-secondary:#625b71;--md-sys-color-tertiary:#7d5260;--md-sys-color-error:#ba1a1a;--md-sys-color-error-container:#ffdad6;--md-sys-color-on-error-container:#410002;--md-sys-color-surface:#fffbfe;--md-sys-color-on-surface:#1c1b1f;--md-sys-color-outline:#79747e;--md-sys-color-surface-variant:#e7e0ec;--md-sys-color-success:#27ae60;--md-sys-color-success-container:#d4edda;--md-sys-color-on-success-container:#155724;--md-sys-elevation-1:0 1px 2px 0 #0000000d;--md-sys-elevation-2:0 1px 3px 1px #00000014,0 1px 2px 0 #0000001a;--md-sys-elevation-3:0 4px 8px 3px #00000014,0 1px 3px 0 #0000001a;--md-sys-typescale-display-small:2.25rem;--md-sys-typescale-title-large:1.375rem;--md-sys-typescale-title-medium:1rem;--md-sys-typescale-body-large:1rem;--md-sys-typescale-label-medium:0.75rem}.dashboard-container{background-color:#fff;color:#1c1b1f;color:var(--md-sys-color-on-surface);font-family:Roboto,Segoe UI,system-ui,sans-serif;margin:0 auto;max-width:1440px;min-height:100vh;padding:2rem 1.5rem 120px;position:relative}.hamburger-menu{align-items:center;background:#6750a4;background:var(--md-sys-color-primary);border:none;border-radius:12px;box-shadow:0 1px 3px 1px #00000014,0 1px 2px 0 #0000001a;box-shadow:var(--md-sys-elevation-2);cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;gap:4px;height:48px;justify-content:center;padding:.625rem;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);width:48px;z-index:1000}.hamburger-menu:hover{background:#eaddff;background:var(--md-sys-color-primary-container);box-shadow:0 4px 8px 3px #00000014,0 1px 3px 0 #0000001a;box-shadow:var(--md-sys-elevation-3);transform:scale(1.05)}.hamburger-menu span{background:#fff;background:var(--md-sys-color-on-primary);border-radius:2px;height:2px;transition:all .3s cubic-bezier(.4,0,.2,1);width:20px}.hamburger-menu:hover span{background:#21005d;background:var(--md-sys-color-on-primary-container)}.side-menu{background:#fff;box-shadow:2px 0 10px #0000004d;height:100vh;left:-300px;padding:2rem 1rem;position:fixed;top:0;transition:left .3s ease;width:280px;z-index:1001}.side-menu.open{left:0}.close-menu{background:none;border:none;color:#7f8c8d;cursor:pointer;font-size:2rem;height:40px;line-height:1;padding:0;position:absolute;right:1rem;top:1rem;width:40px}.close-menu:hover{color:#2c3e50}.side-menu nav{display:flex;flex-direction:column;gap:.5rem;margin-top:3rem}.side-menu nav button{align-items:center;background:#f8f9fa;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:1rem;gap:.75rem;padding:1rem;text-align:left;transition:all .2s}.side-menu nav button:hover{background:#e9ecef;transform:translateX(5px)}.side-menu nav button.logout-btn{background:#fee;color:#e74c3c;margin-top:1rem}.side-menu nav button.logout-btn:hover{background:#fdd}.menu-overlay{background:#00000080;height:100%;left:0;position:fixed;top:0;width:100%;z-index:999}.welcome-header{align-items:center;display:flex;gap:1rem;justify-content:flex-start;margin-bottom:1rem;padding-top:2rem;text-align:left}.welcome-header h2{color:#1c1b1f;color:var(--md-sys-color-on-surface);flex:1 1;font-size:2.25rem;font-size:var(--md-sys-typescale-display-small);font-weight:400;letter-spacing:0;margin:0}.profile-picture-header{align-items:center;background:#e7e0ec;background:var(--md-sys-color-surface-variant,#e7e0ec);border:2px solid #79747e;border:2px solid var(--md-sys-color-outline,#79747e);border-radius:50%;box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--md-sys-elevation-1,0 1px 2px 0 #0000000d);cursor:pointer;display:flex;flex-shrink:0;height:56px;justify-content:center;overflow:hidden;transition:all .2s cubic-bezier(.4,0,.2,1);width:56px}.profile-picture-header:hover{border-color:#6750a4;border-color:var(--md-sys-color-primary,#6750a4);box-shadow:0 1px 3px 1px #00000014,0 1px 2px 0 #0000001a;box-shadow:var(--md-sys-elevation-2,0 1px 3px 1px #00000014);transform:scale(1.05)}.profile-picture-header img{height:100%;object-fit:cover;width:100%}.profile-placeholder{font-size:1.75rem}.dashboard-header{align-items:center;display:flex;margin-bottom:2rem;padding:1rem 0;text-align:left}.dashboard-header h1{color:#1c1b1f;color:var(--md-sys-color-on-surface);font-size:1.375rem;font-size:var(--md-sys-typescale-title-large);font-weight:500;letter-spacing:.15px;margin:0}.dashboard-header .period{color:var(--md-sys-color-on-surface-variant);font-size:1rem;font-size:var(--md-sys-typescale-body-large);margin:.25rem 0 0}.month-bar{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:2rem}.month-nav-btn{background:#3498db;border-radius:8px;box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--md-sys-elevation-1);color:#fff;font-size:1rem;padding:.5rem 1rem;transition:transform .2s ease,box-shadow .2s ease}.month-nav-btn:hover{box-shadow:0 1px 3px 1px #00000014,0 1px 2px 0 #0000001a;box-shadow:var(--md-sys-elevation-2);transform:scale(1.05)}.month-label{font-size:1.2rem;min-width:200px}.ai-btn{background:#27ae60;border:none;border-radius:8px;box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--md-sys-elevation-1);color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:.5rem 1rem;transition:transform .2s ease,box-shadow .2s ease}.ai-btn:hover{box-shadow:0 1px 3px 1px #00000014,0 1px 2px 0 #0000001a;box-shadow:var(--md-sys-elevation-2);transform:scale(1.02)}.back-button{background:none;border:none;color:#1c1b1f;color:var(--md-sys-color-on-surface);cursor:pointer;font-size:1.5rem;line-height:1;margin-right:1rem;padding:.5rem;transition:opacity .2s}.back-button:hover{opacity:.7}.period{color:#7f8c8d;font-size:1.1rem}.budget-tracking{color:var(--md-sys-color-on-surface-variant);font-family:Roboto Mono,Courier New,monospace;font-size:.875rem;margin:.5rem 0 0}.budget-tracking strong{color:#6750a4;color:var(--md-sys-color-primary);font-weight:600}.summary-cards{align-items:stretch;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.card-wrapper{display:flex;flex:1 1 280px;min-width:260px}.card{background:#fffbfe;background:var(--md-sys-color-surface);border:1px solid #00000014;border:1px solid var(--md-sys-color-outline-variant,#00000014);border-radius:16px;box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--md-sys-elevation-1);display:flex;flex-direction:column;gap:.75rem;min-height:180px;padding:1.5rem;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.card:hover{box-shadow:0 1px 3px 1px #00000014,0 1px 2px 0 #0000001a;box-shadow:var(--md-sys-elevation-2);transform:scale(1.01)}.card-header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.card-header h2{margin:0}.card-value{display:none}.btn-add-item{flex:0 0 auto}.card table{border-collapse:collapse;table-layout:auto;width:100%}.card table td,.card table th{padding:.5rem;white-space:normal;word-break:break-word}.card{box-sizing:border-box;max-width:100%!important;overflow-x:auto}.items-table td.col-value,.items-table th.col-value{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-icon{align-items:center;border-radius:12px;display:flex;font-size:2rem;height:48px;justify-content:center;width:48px}.income-card .card-icon{background-color:#d4edda;background-color:var(--md-sys-color-success-container);color:#155724;color:var(--md-sys-color-on-success-container)}.expense-card .card-icon{background-color:var(--md-sys-color-secondary-container);color:#21005d;color:var(--md-sys-color-on-primary-container)}.balance-card .card-icon{background-color:#ffdad6;background-color:var(--md-sys-color-error-container);color:#410002;color:var(--md-sys-color-on-error-container)}.balance-card.positive .card-icon{background-color:#d4edda;background-color:var(--md-sys-color-success-container);color:#155724;color:var(--md-sys-color-on-success-container)}.card-content h3{color:var(--md-sys-color-on-surface-variant);font-size:.75rem;font-size:var(--md-sys-typescale-label-medium);font-weight:500;letter-spacing:.5px;margin:0;text-transform:uppercase}.card-content .amount{color:#1c1b1f;color:var(--md-sys-color-on-surface);font-size:2rem;font-weight:400;letter-spacing:-.5px;margin:0}.balance-card{background:#ffdad6;background:var(--md-sys-color-error-container);box-shadow:0 1px 3px 1px #00000014,0 1px 2px 0 #0000001a;box-shadow:var(--md-sys-elevation-2);color:#410002;color:var(--md-sys-color-on-error-container);grid-column:span 4;transform:scale(1.02)}.balance-card.positive{background:#d4edda;background:var(--md-sys-color-success-container);color:#155724;color:var(--md-sys-color-on-success-container)}.balance-card:hover{box-shadow:0 4px 8px 3px #00000014,0 1px 3px 0 #0000001a;box-shadow:var(--md-sys-elevation-3);transform:scale(1.03)}.balance-card .card-content .amount{color:inherit}.details-section{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(12,1fr);margin-bottom:2rem}.expense-details,.income-details{background:#fffbfe;background:var(--md-sys-color-surface);border:1px solid #00000014;border:1px solid var(--md-sys-color-outline-variant,#00000014);border-radius:16px;box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--md-sys-elevation-1);grid-column:span 6;padding:1.5rem;transition:box-shadow .2s}.expense-details:hover,.income-details:hover{box-shadow:0 1px 3px 1px #00000014,0 1px 2px 0 #0000001a;box-shadow:var(--md-sys-elevation-2)}.expense-details h2,.income-details h2{color:#1c1b1f;color:var(--md-sys-color-on-surface);font-size:1.375rem;font-size:var(--md-sys-typescale-title-large);font-weight:500;letter-spacing:.15px;margin:0 0 1rem}.detail-list{display:flex;flex-direction:column;gap:.5rem}.detail-item{align-items:center;background:#e7e0ec;background:var(--md-sys-color-surface-variant);border-radius:12px;display:flex;justify-content:space-between;padding:12px 16px;transition:all .2s}.detail-item:hover{background:var(--md-sys-color-secondary-container);transform:translateX(4px)}.detail-label{color:#1c1b1f;color:var(--md-sys-color-on-surface);font-size:.75rem;font-size:var(--md-sys-typescale-label-medium);font-weight:500;letter-spacing:.1px;text-transform:uppercase}.detail-value{color:#6750a4;color:var(--md-sys-color-primary);font-size:1rem;font-size:var(--md-sys-typescale-body-large);font-weight:500;letter-spacing:.25px}.chart-section{background:var(--card-bg);border:1px solid var(--border-light);border-radius:16px;box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:1.5rem;transition:box-shadow .2s}.chart-section:hover{box-shadow:0 1px 3px 1px #00000014,0 1px 2px 0 #0000001a;box-shadow:var(--md-sys-elevation-2)}.chart-section h2{color:#1c1b1f;color:var(--md-sys-color-on-surface);font-size:1.375rem;font-size:var(--md-sys-typescale-title-large);font-weight:500;letter-spacing:.15px;margin:0 0 1.5rem}.expense-chart{display:flex;flex-direction:column;gap:.75rem}.chart-bar{align-items:center;display:flex;gap:1rem}.bar-label{color:#1c1b1f;color:var(--md-sys-color-on-surface);font-size:.75rem;font-size:var(--md-sys-typescale-label-medium);font-weight:500;letter-spacing:.1px;min-width:140px;text-transform:uppercase}.bar-container{background:#e7e0ec;background:var(--md-sys-color-surface-variant);border-radius:20px;flex:1 1;height:40px;overflow:hidden;position:relative}.bar-fill{background:#6750a4;background:var(--md-sys-color-primary);border-radius:20px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.bar-percentage{color:#1c1b1f;color:var(--md-sys-color-on-surface);font-size:.75rem;font-size:var(--md-sys-typescale-label-medium);font-weight:500;letter-spacing:.5px;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.btn-primary,.btn-secondary{border-radius:8px;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;padding:1rem 2rem;text-decoration:none;transition:all .2s}.btn-primary{background:#3498db;color:#fff}.btn-primary:hover{background:#2980b9}.btn-secondary{background:#fff;border:2px solid #3498db;color:#3498db}.btn-secondary:hover{background:#3498db;color:#fff}.empty-state,.error-message,.loading{font-size:1.2rem;padding:3rem;text-align:center}.error-message{color:#e74c3c}.empty-state h2{color:#2c3e50;margin-bottom:1rem}.empty-state p{color:#7f8c8d;margin-bottom:2rem}.section-title{background:#0000;margin:2rem 0 1rem}.section-title h2{color:#1c1b1f;color:var(--md-sys-color-on-surface);font-size:1.375rem;font-size:var(--md-sys-typescale-title-large);font-weight:500;letter-spacing:.15px;margin:0}.percentage-text{color:var(--md-sys-color-on-surface-variant);font-size:.875rem;font-weight:400;margin-top:.25rem}.category-comparison-section{background:#0000;display:flex;flex-direction:column;gap:.625rem;margin-bottom:1.5rem}.summary-list{display:flex;flex-direction:column;gap:10px;padding:.875rem 0}.summary-item{align-items:baseline;display:flex;justify-content:space-between}.summary-label{color:var(--md-sys-color-on-surface-variant);font-size:.9rem}.summary-value{align-items:baseline;display:inline-flex;gap:6px}.summary-amount,.summary-value{color:#1c1b1f;color:var(--md-sys-color-on-surface);font-size:1rem;font-weight:600}.summary-suffix{color:var(--md-sys-color-on-surface-variant);font-size:.875rem}.summary-value--diff .summary-suffix{color:inherit}.summary-progress{margin-top:6px}.summary-progress-bar{background:#0000000f;border-radius:6px;height:10px;overflow:hidden;width:100%}.summary-progress-fill{height:100%}.summary-progress-fill.state-ok{background:#10b981}.summary-progress-fill.state-warn{background:#f59e0b}.summary-progress-fill.state-alert{background:#ef4444}.summary-diagnosis{border-radius:8px;font-size:.9rem;margin:8px 0 0;padding:10px 12px}.summary-diagnosis-icon{display:inline-block;font-size:.875rem;line-height:1;margin-right:6px;vertical-align:initial}.summary-diagnosis.state-ok{background:#d1fae5;color:#065f46}.summary-diagnosis.state-alert{background:#fee2e2;color:#991b1b}.category-comparison-card{background:#fffbfe;background:var(--md-sys-color-surface);border:1px solid #00000014;border:1px solid var(--md-sys-color-outline-variant,#00000014);border-radius:12px;box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--md-sys-elevation-1);padding:.875rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.category-comparison-card:hover{box-shadow:0 1px 3px 1px #00000014,0 1px 2px 0 #0000001a;box-shadow:var(--md-sys-elevation-2);transform:translateY(-2px)}.category-info{margin-bottom:.5rem}.category-name{color:#1c1b1f;color:var(--md-sys-color-on-surface);font-size:.875rem;font-weight:600;letter-spacing:.15px;margin:0 0 .5rem;text-transform:uppercase}.category-values{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.value-item{display:flex;flex-direction:column;gap:.125rem}.value-label{color:var(--md-sys-color-on-surface-variant);font-size:.625rem;font-weight:500;letter-spacing:.4px;text-transform:uppercase}.value-amount{font-size:.9375rem;font-weight:600;letter-spacing:.15px}.value-amount.planned{color:#6750a4;color:var(--md-sys-color-primary)}.value-amount.actual{color:#7d5260;color:var(--md-sys-color-tertiary)}.value-amount.difference.positive{color:#27ae60;color:var(--md-sys-color-success)}.value-amount.difference.negative{color:#ba1a1a;color:var(--md-sys-color-error)}.value-amount.percentage{color:#1c1b1f;color:var(--md-sys-color-on-surface)}.category-bar-container{margin-top:.5rem}.comparison-bar{align-items:center;display:flex;gap:.375rem}.bar-base{background:#e7e0ec;background:var(--md-sys-color-surface-variant);flex:1 1;height:24px;overflow:hidden}.bar-actual,.bar-base{border-radius:12px;position:relative}.bar-actual{background:#6750a4;background:var(--md-sys-color-primary);height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.bar-actual.exceeded{background:#ba1a1a;background:var(--md-sys-color-error)}.exceeded-label{color:#ba1a1a;color:var(--md-sys-color-error);font-size:.75rem;font-size:var(--md-sys-typescale-label-medium);font-weight:600;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}.empty-message{color:var(--md-sys-color-on-surface-variant);font-style:italic;padding:2rem;text-align:center}@media (max-width:1024px){.balance-card,.summary-cards .card{grid-column:span 6}.details-section .expense-details,.details-section .income-details{grid-column:span 12}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.summary-cards .card-wrapper{opacity:1}.summary-cards .card-wrapper:first-child{animation-delay:.1s}.summary-cards .card-wrapper:nth-child(2){animation-delay:.2s}.summary-cards .card-wrapper:nth-child(3){animation-delay:.3s}.category-comparison-card{opacity:1}.category-comparison-card:first-child{animation-delay:.05s}.category-comparison-card:nth-child(2){animation-delay:.1s}.category-comparison-card:nth-child(3){animation-delay:.15s}.category-comparison-card:nth-child(4){animation-delay:.2s}.category-comparison-card:nth-child(5){animation-delay:.25s}.category-comparison-card:nth-child(6){animation-delay:.3s}.category-comparison-card:nth-child(n+7){animation-delay:.35s}.chart-section{opacity:1}@media (max-width:768px){.dashboard-container{padding:1rem 1rem 120px}.welcome-header{align-items:center;flex-direction:row;flex-wrap:nowrap;gap:1rem;padding-top:1rem}.welcome-header h2{flex:1 1;font-size:1.5rem}.side-menu{left:-90vw;width:90vw}.details-section{grid-template-columns:1fr}.details-section .expense-details,.details-section .income-details{grid-column:span 1}.chart-section{overflow-x:auto}.expense-chart{min-width:300px}.chart-bar{align-items:center;flex-direction:row;gap:.75rem}.bar-label{font-size:.7rem;min-width:100px}.bar-container{flex:1 1;min-width:150px}.category-values{grid-template-columns:1fr 1fr}.value-amount{font-size:1rem}.section-title h2{font-size:1.25rem}.category-name{font-size:.875rem}}@media (max-width:480px){.dashboard-container{padding:1rem .75rem}.welcome-header h2{font-size:1.25rem}.category-values{grid-template-columns:1fr}.value-amount{font-size:.875rem}.section-title h2{font-size:1rem}.category-name{font-size:.75rem}.chart-bar{gap:.5rem}.bar-label{font-size:.6rem;min-width:80px}.bar-container{min-width:120px}.card-wrapper{flex:1 1 100%;min-width:0}.card{min-height:auto;padding:1rem}.card-header{align-items:center;display:flex;gap:.75rem}.card-header h2{flex:1 1 100%;order:1}.card-value{display:inline-block;font-size:1.1rem;font-weight:700;margin-left:auto;white-space:nowrap}.card-content .amount{display:none}.btn-add-item{margin-top:.5rem;order:2;width:100%}.card table td,.card table th{font-size:.9rem;padding:.5rem .25rem}.month-bar{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:40px 1fr 40px}.month-bar .month-label{min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.month-bar .ai-btn{grid-column:1/-1;width:100%}.items-table thead{display:none}.items-table,.items-table tbody,.items-table tr{display:block;width:100%}.items-table tr{background:#fff;border:1px solid #00000014;border-radius:16px;margin-bottom:12px;padding:12px}.items-table td{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:6px 0}.items-table td:before{color:#666;content:attr(data-label);font-weight:600}.items-table td[data-label=A\E7\F5 es] .item-actions{align-items:center;display:flex;gap:12px;justify-content:flex-end;width:100%}}@media (max-width:360px){.dashboard-container{padding:.25rem}.welcome-header{gap:.5rem}.welcome-header h2{font-size:1rem}.hamburger-menu{height:40px;width:40px}.hamburger-menu span{width:16px}.section-title h2{font-size:.875rem}.value-amount{font-size:.75rem}.category-name{font-size:.625rem}}.teaser-section{background:#0000;margin-bottom:3rem}.dashboard-v3{--dash-bg:var(--color-bg-primary,#fafdfb);--dash-surface:var(--color-surface-primary,#fff);--dash-surface-2:var(--color-bg-primary,#fafdfb);--dash-border:var(--color-border,#e5e5e5);--dash-text:var(--color-text-primary,#1a1a1a);--dash-text-muted:var(--color-text-secondary,#5a7c7a);--dash-accent:var(--color-accent,#439db1);--dash-accent-2:var(--color-highlight,#78c4bf);--dash-accent-secondary:var(--color-accent-secondary,#d0c286);--dash-positive:var(--color-positive,#9cd3a2);--dash-negative:var(--color-negative,#d17a83);--dash-shadow:var(--elevation-soft,0 1px 3px 0 #0000001a);--dash-radius:var(--radius-lg,0.75rem);--dash-radius-sm:var(--radius-md,0.5rem);--dash-radius-pill:999px;background:var(--dash-bg);color:var(--dash-text);min-height:calc(100vh - 56px);padding:16px 16px 120px}.dashboard-hero-card{background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius);box-shadow:var(--dash-shadow);display:flex;flex-direction:column;gap:14px;margin-bottom:18px;padding:18px 18px 20px}.hero-top{align-items:center;display:flex;gap:12px;justify-content:space-between}.hero-eyebrow{color:var(--dash-text-muted);font-size:12px;letter-spacing:.08em;margin:0;text-transform:uppercase}.hero-title{color:var(--dash-text);font-size:22px;font-weight:700;margin:4px 0 2px}.hero-sub{color:var(--dash-text-muted);font-size:14px;margin:0}.hero-profile{align-items:center;background:linear-gradient(135deg,#439db1 0,var(--dash-surface) 100%);background:linear-gradient(135deg,var(--color-bg-gradient-start,#439db1) 0,var(--dash-surface) 100%);border:1px solid var(--dash-border);border-radius:var(--dash-radius-sm);box-shadow:var(--dash-shadow);cursor:pointer;display:inline-flex;height:48px;justify-content:center;width:48px}.hero-profile img{border-radius:calc(var(--dash-radius-sm) - 2px);height:100%;object-fit:cover;width:100%}.month-bar-v2{align-items:center;background:var(--dash-surface-2);border:1px solid var(--dash-border);border-radius:var(--dash-radius);display:flex;gap:12px;isolation:isolate;justify-content:space-between;overflow:hidden;padding:10px 12px;position:-webkit-sticky;position:sticky;top:56px;z-index:1300}.dashboard-v3 .month-bar-v2>*{position:relative;z-index:1}.dashboard-v3 .month-bar-v2:after{background:var(--dash-accent-2);border-radius:inherit;content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .16s ease;z-index:0}html.fab-open .dashboard-v3 .month-bar-v2:after{opacity:.6}.month-nav-btn{background:var(--dash-accent);border:none;border-radius:var(--dash-radius-sm);box-shadow:var(--dash-shadow);color:var(--dash-surface);cursor:pointer;font-weight:700;height:36px;transition:transform .14s ease,box-shadow .14s ease,background .14s ease,outline .14s ease;width:36px}.month-nav-btn:hover{background:var(--dash-accent-2);box-shadow:var(--dash-shadow);transform:translateY(-1px)}.month-nav-btn:active{box-shadow:var(--dash-shadow);transform:translateY(0)}.month-nav-btn:focus-visible{outline:2px solid var(--dash-accent-secondary);outline-offset:2px}.month-label{color:var(--dash-text);flex:1 1;font-size:15px;font-weight:700;text-align:center}.hero-metrics{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.hero-chip{background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius-sm);padding:10px 12px;transition:box-shadow .14s ease,transform .14s ease}.hero-chip,.hero-chip:hover{box-shadow:var(--dash-shadow)}.hero-chip:hover{transform:translateY(-1px)}.hero-chip.chip-alert{background:var(--dash-surface);border-color:var(--dash-negative);color:var(--dash-negative)}.hero-chip.chip-ok{background:var(--dash-surface);border-color:var(--dash-positive);color:var(--dash-positive)}.hero-chip.chip-alert .chip-label,.hero-chip.chip-alert .chip-value{color:var(--dash-negative)}.hero-chip.chip-ok .chip-label,.hero-chip.chip-ok .chip-value{color:var(--dash-positive)}.chip-label{color:var(--dash-text-muted);display:block;font-size:12px}.chip-value{color:var(--dash-text);display:block;font-size:16px;font-weight:700}.icon-inline{align-items:center;color:var(--dash-text-muted);display:inline-flex;justify-content:center;margin-right:6px;vertical-align:middle}.dashboard-v3-card,.dashboard-v3-panel{background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius);box-shadow:var(--dash-shadow);padding:16px 16px 18px}.dashboard-v3-panel+.dashboard-v3-panel{margin-top:14px}.dashboard-v3-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr;margin:14px 0}@media (min-width:860px){.dashboard-v3-grid{grid-template-columns:1.2fr .8fr}}.section-title-row{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:12px}.section-title-row h2{color:var(--dash-text);font-size:18px;margin:0}.section-pill{background:var(--dash-accent-2);border:1px solid var(--dash-border);border-radius:var(--dash-radius-pill);color:var(--dash-surface);font-size:12px;font-weight:700;padding:6px 10px}.state-panel{display:flex;flex-direction:column;gap:8px;padding:24px 16px;text-align:center}.state-title{color:var(--dash-text);font-size:16px;font-weight:700}.state-subtitle{color:var(--dash-text-muted);font-size:14px}.btn-primary{align-items:center;background:var(--dash-accent);border:none;border-radius:var(--dash-radius-sm);box-shadow:var(--dash-shadow);color:var(--dash-surface);cursor:pointer;display:inline-flex;font-weight:700;justify-content:center;margin:0 auto;padding:10px 16px;transition:background-color .14s ease,transform .14s ease,box-shadow .14s ease}.btn-primary:hover{background:var(--dash-accent-2);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:focus-visible{outline:2px solid var(--dash-accent-secondary);outline-offset:2px}.teaser-section{margin-top:6px}.budget-future-section{gap:var(--spacing-sm)}.budget-future-card{padding:10px 12px}.budget-future-legend{align-items:center;display:inline-flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-left:auto}.budget-future-legend-item{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:8px}.budget-future-legend-dot{border-radius:999px;display:inline-block;height:10px;width:10px}.budget-future-legend-dot.income{background:#0f766e}.budget-future-legend-dot.expense{background:#b91c1c}.budget-future-visx-wrapper{height:100%;width:100%}.budget-future-badge{align-items:center;background:#0e749014;border:1px solid #0e749024;border-radius:999px;color:#0e7490;display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:6px;padding:6px 10px}.budget-future-tooltip{background:#fff;background:var(--background,#fff);min-width:170px}.budget-future-tooltip-row{align-items:center;color:var(--text-secondary);display:flex;font-size:12px;gap:12px;justify-content:space-between}.budget-future-tooltip-row strong{color:var(--text-primary)}.budget-future-tooltip-divider{background:#94a3b833;height:1px;margin:8px 0}.budget-future-tooltip-balance strong{color:#0e7490;color:var(--info,#0e7490)}.budget-future-guidance{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0}.budget-future-card .balance-card-body{min-height:220px}@media (max-width:480px){.budget-future-legend{justify-content:center;margin-left:0;width:100%}.budget-future-card .balance-card-body{min-height:210px}}.budget-v2-container{background:var(--background-main);color:var(--text-primary);display:flex;flex-direction:column;font-family:var(--font-family);gap:var(--spacing-lg);padding:var(--spacing-md) 0 var(--spacing-lg) 0}.budget-v2-section{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg)}.budget-v2-hero{gap:var(--spacing-sm)}.budget-v2-hero-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between}.budget-v2-hero-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.budget-v2-eyebrow{color:var(--text-secondary);font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase}.budget-v2-eyebrow,.budget-v2-title{font-weight:var(--font-weight-semibold)}.budget-v2-title{color:var(--text-primary);font-size:var(--font-size-xl);margin:0}.budget-v2-subtitle,.budget-v2-subtitle-title{color:var(--text-secondary);font-size:var(--font-size-base);margin:0}.budget-v2-subtitle-title{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.budget-v2-btn{align-items:center;align-self:flex-start;background:#0e7490;border:none;border-radius:12px;box-shadow:0 10px 22px #0e74902e;color:#fff;cursor:pointer;display:inline-flex;font-weight:700;justify-content:center;padding:10px 16px;transition:transform .15s ease,filter .15s ease}.budget-v2-btn:hover{filter:brightness(1.02);transform:translateY(-1px)}.budget-v2-btn:active{filter:brightness(.98);transform:translateY(0)}.budget-v2-btn:disabled{cursor:not-allowed;opacity:.7}.budget-v2-btn.ghost{background:var(--background-secondary);border:1px solid var(--border-light);box-shadow:none;color:var(--text-primary)}.budget-v2-metrics{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.budget-v2-card{background:var(--background-secondary);border:1px solid var(--border-light);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md)}.budget-v2-card-draft{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#ffffff1f;box-shadow:var(--shadow-md);color:#fff}.budget-v2-card-title{color:inherit;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.budget-v2-card-row{align-items:center;display:flex;font-size:var(--font-size-base);gap:var(--spacing-sm);justify-content:space-between}.budget-v2-divider{background:var(--border-light);height:1px;opacity:.8}.budget-v2-card-draft .budget-v2-divider{background:#ffffff59}.budget-v2-chip-row{align-items:center;display:flex;gap:var(--spacing-xs)}.budget-v2-chip{align-items:center;background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-full);color:var(--text-primary);display:inline-flex;font-size:var(--font-size-sm);gap:6px;padding:4px 8px}.chip-positive{background:#ecfdf3;border-color:#bbf7d0;color:#166534}.chip-negative{background:#fef2f2;border-color:#fecdd3;color:#b91c1c}.budget-v2-card-impact-positive{background:#ecfdf3;border-color:#bbf7d0}.budget-v2-card-impact-negative{background:#fef2f2;border-color:#fecdd3}.budget-v2-impact-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.budget-v2-impact-hint{color:var(--text-secondary);margin:0}.budget-v2-error{background:#fef2f2;border:1px solid #fecdd3;border-radius:var(--radius-md);color:#b91c1c}.budget-v2-error,.budget-v2-risk-box{padding:var(--spacing-sm) var(--spacing-md)}.budget-v2-risk-box{background:var(--background-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.35rem}.budget-v2-risk-text{color:var(--text-primary);font-size:var(--font-size-sm);margin:0}.budget-v2-risk-cta{align-self:flex-start;background:#0000;border:none;color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-xs);padding:0}.budget-v2-risk-cta:hover{color:var(--text-primary)}.budget-v2-risk-detail{display:flex;flex-direction:column;gap:.2rem}.budget-v2-risk-detail,.budget-v2-risk-subtext{color:var(--text-secondary);font-size:var(--font-size-xs)}.budget-v2-risk-subtext{margin:0}.budget-v2-risk-adjustment-preview{background:var(--background-main);border:1px solid var(--border-light);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm)}.budget-v2-risk-adjustment-list{color:var(--text-secondary);display:flex;flex-direction:column;font-size:var(--font-size-xs);gap:.2rem}.budget-v2-risk-adjustment-item{align-items:center;display:flex;gap:var(--spacing-sm);justify-content:space-between}.budget-v2-risk-impact{color:var(--text-primary);font-size:var(--font-size-xs)}.budget-v2-risk-actions{display:flex;gap:var(--spacing-xs);justify-content:flex-end}.budget-v2-risk-actions .budget-v2-btn{font-size:var(--font-size-xs);padding:6px 12px}.budget-v2-recurring-pill{align-items:center;border:1px solid var(--border-light);border-radius:var(--radius-full);color:var(--text-secondary);display:inline-flex;font-size:var(--font-size-xs);gap:.2rem;padding:.1rem .45rem}.budget-v2-recurring-suggestion{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.35rem}.budget-v2-recurring-suggestion-text{color:var(--text-secondary);font-size:var(--font-size-xs)}.budget-v2-occurrence-inline{align-items:center;display:flex;flex-wrap:nowrap;gap:.35rem;justify-content:flex-end;white-space:nowrap}.budget-v2-loading{color:var(--text-secondary)}.budget-v2-table-head{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between}.budget-v2-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto;width:100%}.budget-v2-table{border-collapse:collapse;border-spacing:0;width:100%}.budget-v2-lines-table{min-width:760px;table-layout:fixed}.budget-v2-table td,.budget-v2-table th{border-bottom:1px solid var(--border-light);font-size:var(--font-size-sm);padding:.5rem;text-align:left;vertical-align:middle}.text-truncate{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-v2-col-type{min-width:30px;padding-left:.25rem;padding-right:.25rem;text-align:center;width:30px}.budget-v2-mobile-date{color:var(--text-secondary);display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}.budget-v2-editor-mobile-cell{width:100%}.budget-v2-editor-mobile-block{display:flex;flex-direction:column;gap:.5rem}.budget-v2-editor-mobile-section{display:flex;flex-direction:column;gap:.25rem}.budget-v2-editor-mobile-row{grid-gap:.5rem;display:grid;gap:.5rem}.budget-v2-editor-mobile-row-primary{align-items:start;grid-template-columns:1fr}.budget-v2-editor-mobile-row-primary .budget-v2-editor-mobile-section{justify-content:flex-start}.budget-v2-editor-mobile-row-primary .budget-v2-occurrence-label{display:block;line-height:1.2}.budget-v2-editor-mobile-type .budget-v2-type-segmented{justify-content:center;min-height:37px;padding:3px;width:100%}.budget-v2-type-pillbox{align-items:center;background:#0000000f;border-radius:999px;display:flex;gap:4px;gap:var(--space-xxs,4px);padding:4px;position:relative}.budget-v2-type-pillbox-thumb{background:#fff;border-radius:999px;box-shadow:0 2px 8px #0000001a;height:40px;left:4px;position:absolute;top:4px;transition:transform .3s cubic-bezier(.4,0,.2,1);width:calc(50% - 4px);will-change:transform;z-index:1}.budget-v2-type-pillbox[data-active=income] .budget-v2-type-pillbox-thumb{transform:translateX(calc(100% + 4px));transform:translateX(calc(100% + var(--space-xxs, 4px)))}.budget-v2-type-pillbox-btn{background:#0000;border:none;border-radius:999px;color:#7f8c8d;color:var(--color-text-secondary,#7f8c8d);cursor:pointer;flex:1 1;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);height:40px;opacity:.6;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:10}.budget-v2-type-pillbox-btn.is-active{color:#2c3e50;color:var(--color-text-primary,#2c3e50);font-weight:var(--font-weight-semibold);opacity:1}.budget-v2-editor-mobile-type .budget-v2-type-option{height:25px;min-width:25px;width:25px}.budget-v2-editor-mobile-category{min-width:0}.budget-v2-editor-mobile-section.budget-v2-occurrence-fields{grid-gap:.5rem;align-items:start;display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.budget-v2-editor-mobile-section.budget-v2-occurrence-fields>label{min-width:0}.budget-v2-editor-mobile-section.budget-v2-occurrence-fields>label input{width:100%}.budget-v2-editor-mobile-section.budget-v2-occurrence-fields>.budget-v2-installment-mode,.budget-v2-editor-mobile-section.budget-v2-occurrence-fields>.budget-v2-monthly-mode{grid-column:1/-1}.budget-v2-col-category,.col-category{min-width:190px;width:25%}.budget-v2-col-description,.col-description{min-width:150px;width:20%}.budget-v2-col-occurrence{min-width:210px;text-align:right;width:28%}.budget-v2-col-value{min-width:60px;text-align:right;width:60px}.budget-v2-col-actions{min-width:16px;padding-left:.1rem;padding-right:.1rem;text-align:center;width:16px}.budget-v2-sortable{cursor:pointer}.budget-v2-sort-head{align-items:center;display:inline-flex;gap:.25rem}.budget-v2-sort-head-center{justify-content:center;width:100%}.budget-v2-sort-head-end{justify-content:flex-end;width:100%}.budget-v2-row-editor td{vertical-align:top}.budget-v2-row-editor .budget-v2-col-type{min-width:240px;padding-top:.9rem;text-align:center;width:240px}.budget-v2-row-editor .budget-v2-col-occurrence{text-align:left}.budget-v2-cell-type .budget-v2-type-segmented{margin:0 auto}.budget-v2-editor-input{font-size:16px;width:100%}.budget-v2-section .category-picker-search input,.budget-v2-section .category-picker-trigger,.budget-v2-section .date-picker-native-mobile,.budget-v2-section .date-picker-text-input,.budget-v2-section input,.budget-v2-section select,.budget-v2-section textarea{font-size:16px}.budget-v2-row-editor-actions td{border-top:none}.budget-v2-row-edit.budget-v2-row-editor-actions>td{border-bottom:none;border-top:1px solid var(--border-light)}.budget-v2-editor-actions-cell{padding:0 1rem 1rem}.budget-v2-editor-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.budget-v2-create-card{background:#fffbea;border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:0 10px 28px #0f172a24,0 2px 8px #0f172a14;padding:var(--spacing-md)}.budget-v2-edit-card{width:100%}.budget-v2-row-edit-card-cell,.budget-v2-row-edit-card>td{border-bottom:1px solid var(--border-light);padding:.75rem 0}.budget-v2-editor-mobile-header{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.25rem}.budget-v2-editor-mobile-header span{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.budget-v2-editor-btn{padding:6px 16px}.budget-v2-editor-btn.danger{color:#b91c1c}.budget-v2-row-expanded-actions{background:var(--card-bg)}.budget-v2-expanded-actions-cell{background:var(--card-bg);border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);padding:0}.budget-v2-expanded-actions-content{align-items:center;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding:6px 12px;width:100%}.budget-v2-inline-action-btn{align-items:center;background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:.5rem;justify-content:center;padding:8px 12px;transition:background .15s ease,border-color .15s ease}.budget-v2-inline-action-btn:hover{background:var(--background-secondary);border-color:var(--border-neutral)}.budget-v2-inline-action-btn.danger{background:var(--card-bg);border-color:#b91c1c52;color:#b91c1c}@media (max-width:768px){.budget-v2-section{padding:var(--spacing-sm)}.budget-v2-table td,.budget-v2-table th{font-size:.8rem;padding:.45rem .3rem}.budget-v2-lines-table{min-width:0;table-layout:fixed}.budget-v2-col-type{min-width:88px;text-align:left;width:88px}.budget-v2-col-category,.col-category{min-width:0;width:34%}.budget-v2-col-description,.col-description{min-width:0;width:18%}.budget-v2-col-occurrence{min-width:0;width:26%}.budget-v2-col-value{min-width:120px;width:120px}.budget-v2-col-actions{display:none}.budget-v2-row-editor,.budget-v2-row-editor-actions{display:table-row}.budget-v2-row-editor{background:#e3f2fd;border-top:1px solid var(--border-light);box-sizing:border-box;min-width:100%!important}.budget-v2-row-editor,.budget-v2-row-editor>td{display:block;max-width:100%!important;width:100%!important}.budget-v2-row-editor>td{border-bottom:none;min-width:0!important;padding:.42rem .5rem;text-align:left}.budget-v2-row-editor>td:before{color:var(--text-secondary);content:attr(data-label);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.02em;margin-bottom:.2rem;text-transform:uppercase}.budget-v2-row-editor>.budget-v2-col-actions,.budget-v2-row-editor>.budget-v2-col-actions:before,.budget-v2-row-editor>.budget-v2-col-type:before{display:none}.budget-v2-row-editor>.budget-v2-col-type{padding-bottom:.15rem;padding-top:.5rem}.budget-v2-row-editor-actions{background:#e3f2fd;box-sizing:border-box;display:block;max-width:100%!important;min-width:100%!important;width:100%!important}.budget-v2-row-editor-actions>td{border-bottom:none;border-top:1px solid var(--border-light);display:block;width:100%}.budget-v2-row-editor-mobile{box-sizing:border-box;display:table-row!important}.budget-v2-row-editor-mobile,.budget-v2-row-editor-mobile>td{max-width:none!important;min-width:0!important;width:auto!important}.budget-v2-row-editor-mobile>td{border-bottom:1px solid var(--border-light);display:table-cell!important;padding:.5rem .55rem!important}.budget-v2-row-editor-mobile>td:before{content:none!important;display:none!important}.budget-v2-row-editor-actions-mobile{display:table-row!important;max-width:none!important;min-width:0!important;width:auto!important}.budget-v2-row-editor-actions-mobile>td{border-top:1px solid var(--border-light);display:table-cell!important;max-width:none!important;min-width:0!important;width:auto!important}.budget-v2-row-edit-card-cell,.budget-v2-row-edit-card>td{padding:.5rem 0 .65rem}.budget-v2-row-editor .budget-v2-col-actions,.budget-v2-row-editor td:before,.budget-v2-row-editor-actions td:before{display:none}.budget-v2-row-editor .budget-v2-editor-input,.budget-v2-row-editor .budget-v2-occurrence-fields input{min-width:0}.budget-v2-row-editor .budget-v2-installment-mode,.budget-v2-row-editor .budget-v2-monthly-mode,.budget-v2-row-editor .budget-v2-occurrence-fields input,.budget-v2-row-editor .budget-v2-occurrence-fields label{max-width:100%;min-width:0;width:100%}.budget-v2-row-editor .budget-v2-occurrence-fields{grid-gap:.5rem;align-items:start;display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.budget-v2-row-editor .budget-v2-occurrence-fields>.budget-v2-installment-mode,.budget-v2-row-editor .budget-v2-occurrence-fields>.budget-v2-monthly-mode{grid-column:1/-1}.budget-v2-row-editor .budget-v2-occurrence-fields>label{min-width:0}.budget-v2-row-editor .budget-v2-occurrence-fields>label input{width:100%}.budget-v2-table .text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-v2-table .budget-v2-scheduled-inline{gap:.25rem;margin-top:.2rem}.budget-v2-col-occurrence .budget-v2-scheduled-inline{flex-wrap:nowrap;justify-content:flex-end}.budget-v2-col-occurrence .budget-v2-scheduled-link{white-space:nowrap}.budget-v2-table .budget-v2-occurrence-summary{display:none}.budget-v2-table .budget-v2-mobile-date{display:inline-block}.budget-v2-impact-value{font-size:1.5rem}}@media (max-width:480px){.budget-v2-lines-table{table-layout:fixed;width:100%}.budget-v2-table th.budget-v2-col-description,.budget-v2-table th.budget-v2-col-occurrence,.budget-v2-table th.col-description,.budget-v2-table tr:not(.budget-v2-row-editor)>.budget-v2-col-description,.budget-v2-table tr:not(.budget-v2-row-editor)>.budget-v2-col-occurrence,.budget-v2-table tr:not(.budget-v2-row-editor)>.col-description{display:none!important}.budget-v2-table td.budget-v2-col-actions,.budget-v2-table th.budget-v2-col-actions,.budget-v2-table tr>.budget-v2-col-actions{border:0!important;max-width:0!important;min-width:0!important;overflow:hidden!important;padding:0!important;visibility:hidden!important;width:0!important}.budget-v2-col-type{min-width:0;width:22%}.budget-v2-col-category,.col-category{min-width:0;width:53%}.budget-v2-col-value{min-width:0;width:25%}.budget-v2-table .budget-v2-col-value,.budget-v2-table .budget-v2-col-value .text-right{text-align:right}.budget-v2-row-editor-mobile>.budget-v2-editor-mobile-cell{box-sizing:border-box;max-width:100%!important;min-width:0!important;width:100%!important}.budget-v2-editor-mobile-row-primary{grid-template-columns:1fr}.budget-v2-table-wrapper{padding-bottom:90px}.budget-v2-table td,.budget-v2-table th{padding:.42rem .26rem}.budget-v2-mobile-date{font-size:.72rem}.budget-v2-occurrence-option{padding:.1rem .45rem}.budget-v2-editor-actions{justify-content:stretch;width:100%}.budget-v2-editor-btn{flex:1 1;min-width:100px}.budget-v2-inline-action-btn{flex:0 0 auto}.budget-v2-type-option{font-size:11px;padding:6px}.budget-v2-installment-mode,.budget-v2-monthly-mode{min-width:100%}}.budget-v2-table th{background:var(--background-secondary);color:var(--text-secondary);font-weight:var(--font-weight-semibold)}.budget-v2-table tr:last-child td{border-bottom:none}.budget-v2-table tbody tr:not(.budget-v2-row-open):not(.budget-v2-row-edit):not(.budget-v2-row-new):not(.budget-v2-row-expanded-actions):hover>td{background:var(--background-secondary)}.budget-v2-table tbody tr:not(.budget-v2-row-open):not(.budget-v2-row-edit):not(.budget-v2-row-new):not(.budget-v2-row-expanded-actions):active>td{background:var(--background-tertiary)}.budget-v2-table input,.budget-v2-table select{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-md);font-family:var(--font-family);font-size:16px;padding:.55rem .65rem;width:100%}.budget-v2-row-new{background:#fffbea}.budget-v2-row-edit{background:#e3f2fd}.budget-v2-table tr.budget-v2-row-open>td{background:#4a5a631f}.budget-v2-table tr.budget-v2-row-open>td:first-child{border-bottom-left-radius:var(--radius-md);border-top-left-radius:var(--radius-md)}.budget-v2-table tr.budget-v2-row-open>td:last-child{border-bottom-right-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.budget-v2-table tr.budget-v2-row-open:has(+tr.budget-v2-row-expanded-actions)>td:first-child{border-bottom-left-radius:0}.budget-v2-table tr.budget-v2-row-open:has(+tr.budget-v2-row-expanded-actions)>td:last-child{border-bottom-right-radius:0}.budget-v2-table tr.budget-v2-row-open+tr.budget-v2-row-expanded-actions>td{background:#4a5a631f;border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.budget-v2-inline-actions{align-items:center;display:inline-flex;gap:var(--spacing-xs)}.budget-v2-inline-actions button{background:none;border:none;cursor:pointer;font-size:1rem}.budget-v2-scheduled-inline{align-items:center;display:inline-flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.budget-v2-occurrence-label{color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.budget-v2-type-segmented{align-items:center;background:#eef2f6;border:1px solid #d7dde5;border-radius:999px;box-shadow:inset 0 1px 1px #ffffffe6,0 1px 2px #0f172a14;display:inline-flex;gap:2px;padding:2px}.budget-v2-type-option{align-items:center;background:#0000;border:0;border-radius:999px;color:#5f6b7a;cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;gap:0;height:24px;justify-content:center;line-height:1;min-width:24px;padding:0;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease;width:24px}.budget-v2-type-option svg{color:currentColor;height:14px;width:14px}@media (max-width:768px){.budget-v2-col-type{min-width:72px;text-align:left;width:72px}.budget-v2-type-option{height:22px;min-width:22px;width:22px}.budget-v2-type-option svg{height:13px;width:13px}}.budget-v2-type-option.is-income-active{background:linear-gradient(180deg,#d6f7e0,#b8efca);box-shadow:0 1px 0 #ffffffbf,0 1px 3px #1f8f4d40;color:#1f8f4d}.budget-v2-type-option.is-expense-active{background:linear-gradient(180deg,#ffe2e4,#ffc9cf);box-shadow:0 1px 0 #ffffffbf,0 1px 3px #cf3a4540;color:#cf3a45}.budget-v2-type-option:focus-visible{outline:2px solid #5a9cff;outline-offset:1px}.budget-v2-type-option:hover:not(.is-income-active):not(.is-expense-active){background:#e3e9f0;color:#3f4c5d}.budget-v2-occurrence-selector{align-items:center;display:inline-flex;flex-wrap:wrap;gap:.25rem}.budget-v2-occurrence-option{background:var(--background-secondary);border:1px solid var(--border-light);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-xs);padding:.15rem .55rem}.budget-v2-occurrence-option.is-active{background:var(--card-bg);border-color:var(--text-secondary);color:var(--text-primary)}.budget-v2-occurrence-fields{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.3rem}.budget-v2-occurrence-fields label{color:var(--text-secondary);display:flex;flex-direction:column;font-size:var(--font-size-xs);gap:.2rem}.budget-v2-occurrence-fields input{width:90px}.budget-v2-occurrence-summary{color:var(--text-secondary);font-size:var(--font-size-xs);margin-top:.2rem}.budget-v2-installment-mode{display:flex;flex-direction:column;gap:.2rem;min-width:220px}.budget-v2-monthly-mode{display:flex;flex-direction:column;gap:.2rem;min-width:240px}.budget-v2-installment-summary{font-weight:var(--font-weight-medium)}.budget-v2-installment-summary,.budget-v2-value-hint{color:var(--text-secondary);font-size:var(--font-size-xs);margin-top:.25rem}.budget-v2-value-hint{text-align:left}.budget-v2-scheduled-link{align-items:center;background:#0000;border:none;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);gap:.25rem;padding:0}.budget-v2-scheduled-link:hover{color:var(--text-primary)}.budget-v2-scheduled-clear{align-items:center;background:#0000;border:none;color:var(--text-secondary);cursor:pointer;display:inline-flex;justify-content:center;padding:0}.budget-v2-scheduled-picker-inline{margin-top:.3rem}.budget-v2-scheduled-picker-inline input[type=date]{font-size:var(--font-size-xs);min-width:150px;padding:.35rem .45rem;width:auto}.budget-v2-scheduled-error{color:#b91c1c;display:block;font-size:var(--font-size-xs);margin-top:.25rem}.budget-v2-tag{border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:.25rem .75rem}.tag-income{background:#ecfdf3;color:#166534}.tag-expense{background:#fef2f2;color:#b91c1c}.text-positive{color:#166534}.text-negative{color:#b91c1c}.text-muted{color:var(--text-secondary)}.text-strong{font-weight:var(--font-weight-semibold)}.budget-v2-table .text-right,.budget-v2-table .text-right input,.text-right,.text-right input{text-align:right}.text-center{text-align:center}@media (min-width:768px){.budget-v2-container{margin:0 auto;max-width:1040px;padding:var(--spacing-md) var(--spacing-xl) calc(var(--spacing-lg) + 110px) var(--spacing-xl)}}@keyframes budgetSkeletonPulse{0%{opacity:.5}50%{opacity:.8}to{opacity:.5}}.budget-skeleton-row{align-items:center;animation:budgetSkeletonPulse 1.5s ease-in-out infinite;background:var(--background-secondary);border-radius:var(--radius-md);display:flex;gap:var(--spacing-md);height:48px;margin-bottom:var(--spacing-sm);padding:0 var(--spacing-md);width:100%}.budget-skeleton-text{background:var(--border-light);border-radius:4px;height:16px}.budget-skeleton-chip{background:var(--border-light);border-radius:99px;height:24px;width:80px}.budget-skeleton-circle{animation:budgetSkeletonPulse 1.5s ease-in-out infinite;background:var(--border-light);border-radius:50%;height:24px;width:24px}.budget-skeleton-row--table{justify-content:space-between}.profile-v2-container{background:var(--background-main);color:var(--text-primary);display:flex;flex-direction:column;font-family:var(--font-family);gap:var(--spacing-lg);padding:var(--spacing-md) 0 var(--spacing-lg) 0}.profile-v2-section{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg)}.profile-v2-hero{gap:var(--spacing-sm)}.profile-v2-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between}.profile-v2-eyebrow{color:var(--text-secondary);font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase}.profile-v2-eyebrow,.profile-v2-title{font-weight:var(--font-weight-semibold)}.profile-v2-title{color:var(--text-primary);font-size:var(--font-size-xl);margin:0}.profile-v2-subtitle{color:var(--text-secondary);font-size:var(--font-size-base);margin:0}.profile-v2-btn{align-items:center;align-self:flex-start;background:#0e7490;border:none;border-radius:12px;box-shadow:0 10px 22px #0e74902e;color:#fff;cursor:pointer;display:inline-flex;font-weight:700;justify-content:center;padding:10px 16px;transition:transform .15s ease,filter .15s ease}.profile-v2-btn:hover{filter:brightness(1.02);transform:translateY(-1px)}.profile-v2-btn:active{filter:brightness(.98);transform:translateY(0)}.profile-v2-btn:disabled{cursor:not-allowed;opacity:.7}.profile-v2-btn.secondary{border:1px solid var(--border-light);box-shadow:none}.profile-v2-btn.secondary,.profile-v2-message{background:var(--background-secondary);color:var(--text-primary)}.profile-v2-message{border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md)}.profile-v2-message.success{background:#ecfdf3;border-color:#bbf7d0;color:#166534}.profile-v2-message.error{background:#fef2f2;border-color:#fecdd3;color:#b91c1c}.profile-v2-loading{color:var(--text-secondary)}.profile-v2-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:1fr}.profile-v2-tile{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md)}.profile-v2-tile-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between}.profile-v2-tile-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.profile-v2-badges{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.profile-v2-badge{background:var(--background-secondary);border:1px solid var(--border-light);border-radius:var(--radius-full);color:var(--text-secondary);font-size:var(--font-size-xs);padding:.35rem .6rem}.profile-v2-picture{flex-direction:column;gap:var(--spacing-sm)}.profile-v2-picture,.profile-v2-picture-preview{align-items:center;display:flex;justify-content:center}.profile-v2-picture-preview{background:var(--background-secondary);border:2px solid var(--border-light);border-radius:50%;cursor:pointer;height:160px;overflow:hidden;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;width:160px}.profile-v2-picture-preview:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.profile-v2-picture-preview img{height:100%;object-fit:cover;width:100%}.profile-v2-picture-placeholder{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:var(--spacing-2xs);padding:var(--spacing-sm);text-align:center}.profile-v2-picture-icon{font-size:2rem}.profile-v2-picture-text{font-size:var(--font-size-sm)}.profile-v2-picture-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.profile-v2-hint{color:var(--text-secondary);font-size:var(--font-size-xs);margin:0}.profile-v2-form{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr}.profile-v2-field{color:var(--text-primary);display:flex;flex-direction:column;font-weight:var(--font-weight-semibold);gap:var(--spacing-2xs)}.profile-v2-field input{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-size-base);padding:.7rem .85rem}.profile-v2-field input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #0075ff1f;outline:none}.profile-v2-input-disabled{background:var(--background-secondary);color:var(--text-secondary);cursor:not-allowed}.profile-v2-field small{color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular)}.profile-v2-actions{align-items:center;border-top:1px solid var(--border-light);display:flex;justify-content:center;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);width:100%}.profile-v2-actions .profile-v2-btn{max-width:260px;width:100%}@media (min-width:768px){.profile-v2-container{margin:0 auto;max-width:1040px;padding:var(--spacing-md) var(--spacing-xl) calc(var(--spacing-lg) + 110px) var(--spacing-xl)}.profile-v2-form,.profile-v2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-v2-actions,.profile-v2-field:nth-child(3),.profile-v2-field:nth-child(4){grid-column:1/-1}}@keyframes profileSkeletonPulse{0%{opacity:.6}50%{opacity:.8}to{opacity:.6}}.profile-skeleton-text{background:var(--border-light);border-radius:4px;height:16px;margin-bottom:8px}.profile-skeleton-circle{background:var(--border-light);border-radius:50%;height:160px;margin:0 auto;width:160px}.profile-skeleton-input{background:var(--border-light);border-radius:var(--radius-md);height:42px;margin-top:8px;width:100%}.profile-skeleton-btn{background:var(--border-light);border-radius:12px;height:40px;width:140px}.profile-skeleton-tile{animation:profileSkeletonPulse 1.5s ease-in-out infinite;background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--spacing-md)}.import-v2-container{background:var(--background-main);color:var(--text-primary);display:flex;flex-direction:column;font-family:var(--font-family);gap:var(--spacing-xl);padding:var(--spacing-md) var(--spacing-lg) calc(var(--spacing-lg) + 50px) var(--spacing-lg)}.import-v2-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-lg)}.import-v2-eyebrow{color:var(--text-secondary);font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase}.import-v2-eyebrow,.import-v2-title{font-weight:var(--font-weight-semibold)}.import-v2-title{color:var(--text-primary);font-size:var(--font-size-xl);margin:0}.import-v2-subtitle{color:var(--text-secondary);font-size:var(--font-size-base);margin:0}.import-v2-placeholder{background:var(--background-secondary);border:1px dashed var(--border-light);border-radius:var(--radius-md);color:var(--text-secondary);margin-top:var(--spacing-md);padding:var(--spacing-md);text-align:center}.import-v2-loader{padding:3rem;padding:var(--spacing-2xl,3rem);text-align:center}.import-v2-spinner{animation:importV2Spin .9s linear infinite;border:4px solid var(--border-light);border-radius:50%;border-top-color:var(--primary);height:42px;margin:0 auto var(--spacing-md) auto;width:42px}.import-v2-review-card{border-radius:12px;gap:16px;padding:16px}.import-v2-review-card.is-warning{background:var(--card-bg);border-left:4px solid var(--warning-dark)}.import-v2-review-card.is-ok{background:var(--card-bg);border-left:4px solid var(--success-dark)}.import-v2-review-card.is-error{background:var(--card-bg);border-left:4px solid var(--error-dark)}.import-v2-review-block{display:flex;flex-direction:column;gap:8px}.import-v2-review-status{align-items:flex-start;flex-direction:row;gap:12px}.import-v2-review-icon{font-size:24px;line-height:1;margin-top:2px}.import-v2-review-status-text{min-width:0}.import-v2-review-title{color:var(--text-primary);font-size:18px;font-weight:600;margin:0}.import-v2-review-subtitle{color:var(--text-secondary);font-size:14px;font-weight:400;margin:2px 0 0}.import-v2-review-section-title{color:var(--text-primary);font-size:14px;font-weight:600;margin:0}.import-v2-review-info-list{display:flex;flex-direction:column;gap:6px}.import-v2-review-info-row{grid-gap:8px;align-items:start;display:grid;gap:8px;grid-template-columns:110px minmax(0,1fr)}.import-v2-review-info-label{color:var(--text-secondary);font-size:12px}.import-v2-review-info-value{color:var(--text-primary);font-size:14px;font-weight:600;min-width:0}.import-v2-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-v2-file-name.is-expanded{overflow:visible;white-space:normal}.import-v2-file-toggle{align-self:flex-start;background:none;border:none;color:var(--primary);cursor:pointer;font-size:12px;margin:0;padding:0;text-decoration:underline}.import-v2-review-metrics{background:var(--background-secondary);border:1px solid var(--border-light);border-radius:12px;padding:12px}.import-v2-review-metrics-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:8px}.import-v2-review-metric{background:var(--card-bg);border:1px solid var(--border-light);border-radius:10px;display:flex;flex-direction:column;gap:2px;padding:10px}.import-v2-review-metric-label{color:var(--text-secondary);font-size:12px}.import-v2-review-metric-count{color:var(--text-primary);font-size:16px;font-weight:600;line-height:1.2}.import-v2-review-metric-amount{color:var(--text-secondary);font-size:13px}.import-v2-review-metric.is-duplicate .import-v2-review-metric-count{color:var(--error-dark)}.import-v2-review-metric.is-selected .import-v2-review-metric-count{color:var(--success-dark)}.import-v2-review-actions{display:flex;justify-content:flex-end}.import-v2-status-summary-grid{grid-gap:.75rem 2rem;display:grid;gap:.75rem 2rem;grid-template-columns:1fr 1fr}.import-v2-status-summary-left,.import-v2-status-summary-right{min-width:0}.import-v2-label-mobile{display:none}.import-v2-list{display:flex;flex-direction:column}.import-v2-txn-item{grid-gap:.5rem;align-items:start;border-bottom:1px solid var(--border-light);display:grid;gap:.5rem;grid-template-columns:30px minmax(0,1fr);padding:.75rem}.import-v2-txn-item.is-flagged{background:#fffbf0}.import-v2-txn-check{align-items:center;display:flex;justify-content:center;min-width:0}.import-v2-txn-checkbox{cursor:pointer;transform:scale(1.2)}.import-v2-txn-main{display:flex;flex-direction:column;gap:.3rem;min-width:0}.import-v2-txn-topline{align-items:baseline;display:flex;gap:.75rem;justify-content:space-between;min-width:0}.import-v2-txn-date{font-weight:500;white-space:nowrap}.import-v2-txn-description{line-height:1.35;min-width:0;overflow:hidden;text-overflow:clip;white-space:nowrap}.import-v2-txn-warning-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.import-v2-txn-warning-pill{background:var(--warning-light);border-radius:4px;color:var(--warning-dark);font-size:.75rem;padding:2px 6px}.import-v2-txn-warning-link{background:none;border:none;color:var(--primary);cursor:pointer;font-size:.75rem;padding:0;text-decoration:underline}.import-v2-txn-detail{color:var(--text-secondary);font-size:.9rem;min-width:0;overflow-wrap:break-word;white-space:normal}.import-v2-txn-flags{display:flex;flex-wrap:wrap;gap:.5rem}.import-v2-txn-flag-pill{background:var(--warning-light);border-radius:12px;color:var(--warning-dark);font-size:.75rem;padding:2px 8px}.import-v2-txn-amount{flex-shrink:0;font-weight:600;min-width:88px;text-align:right;white-space:nowrap}.import-v2-txn-amount.is-income{color:var(--success-dark)}@keyframes importV2Spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (min-width:768px){.import-v2-container{margin:0 auto;max-width:1040px;padding:var(--spacing-md) var(--spacing-xl) calc(var(--spacing-lg) + 50px) var(--spacing-xl)}}@media (max-width:767px){.import-v2-container{padding-bottom:calc(var(--spacing-lg) + 80px)}.import-v2-status-summary-grid{gap:.5rem;grid-template-columns:1fr}.import-v2-review-card{gap:14px;padding:14px}.import-v2-review-info-row{grid-template-columns:96px minmax(0,1fr)}.import-v2-review-metrics-grid{gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}.import-v2-review-metric{padding:8px}.import-v2-review-actions{justify-content:stretch}.import-v2-review-actions .btn-primary{width:100%}.import-v2-label-desktop{display:none}.import-v2-label-mobile{display:inline}.import-v2-list{padding-right:.25rem}.import-v2-txn-item{gap:.4rem;grid-template-columns:28px minmax(0,1fr);padding:.65rem}.import-v2-txn-amount{font-size:.95rem;min-width:84px}.import-v2-txn-description{font-size:.95rem}}@media (max-width:360px){.import-v2-list{padding-right:.15rem}.import-v2-txn-item{gap:.35rem;grid-template-columns:26px minmax(0,1fr);padding:.6rem}.import-v2-txn-amount{font-size:.9rem;min-width:84px}.import-v2-review-title{font-size:17px}.import-v2-review-subtitle{font-size:13px}.import-v2-review-info-row{gap:6px;grid-template-columns:84px minmax(0,1fr)}.import-v2-review-metric-count{font-size:15px}.import-v2-review-metric-amount{font-size:12px}}.monthly-page{display:flex;flex-direction:column;gap:16px;padding:72px 16px 16px}@media (min-width:1024px){.monthly-page{margin:0 auto;max-width:1600px}}.monthly-page .month-bar{align-items:center;display:flex;gap:12px}.monthly-page .summary-cards{margin-top:8px}.monthly-page .section-title{margin-top:24px}.bottom-navigation{align-items:center;background:#fff;border-top:1px solid #0f172a14;bottom:0;box-shadow:0 -2px 8px #0206170a;display:flex;height:64px;justify-content:space-around;left:0;padding:8px 0 calc(8px + env(safe-area-inset-bottom));position:fixed;right:0;z-index:1100}.bottom-nav-item{align-items:center;background:#0000;border:none;color:#64748b;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:4px;justify-content:center;min-width:0;padding:8px 4px;transition:color .14s ease}.bottom-nav-item:hover{color:#475569}.bottom-nav-item.active{color:#2563eb}.bottom-nav-icon{align-items:center;display:flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.bottom-nav-label{font-size:.75rem;font-weight:500;line-height:1;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.dashboard-container,.expenses-container,.income-container{padding-bottom:80px}.piggy-v2-container{background:var(--background-main);color:var(--text-primary);display:flex;flex-direction:column;font-family:var(--font-family);gap:var(--spacing-lg);padding:var(--spacing-md) 0 var(--spacing-lg) 0}.piggy-v2-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;padding:var(--spacing-lg)}.piggy-v2-card,.piggy-v2-hero,.piggy-v2-hero-row{gap:var(--spacing-md)}.piggy-v2-hero-row{align-items:flex-start;display:flex;justify-content:space-between}.piggy-v2-eyebrow{color:var(--text-secondary);font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase}.piggy-v2-eyebrow,.piggy-v2-title{font-weight:var(--font-weight-semibold)}.piggy-v2-title{color:var(--text-primary);font-size:var(--font-size-xl);margin:0}.piggy-v2-subtitle{color:var(--text-secondary);font-size:var(--font-size-base);margin:0}.piggy-v2-btn{align-items:center;align-self:flex-start;background:#439db1;background:var(--info,#439db1);border:1px solid #439db1;border:1px solid var(--info,#439db1);border-radius:var(--radius-md);color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-weight:var(--font-weight-semibold);gap:.5rem;justify-content:center;padding:.7rem 1.1rem;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.piggy-v2-btn:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.piggy-v2-btn:disabled{cursor:not-allowed;opacity:.7}.piggy-v2-btn.ghost{background:#0000;border-color:var(--border-light);color:var(--text-primary)}.piggy-v2-metrics{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.piggy-v2-metric{background:var(--background-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--spacing-2xs);padding:var(--spacing-md)}.piggy-v2-metric-label{color:var(--text-secondary);font-size:var(--font-size-sm)}.piggy-v2-metric-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.piggy-v2-content,.piggy-v2-list{gap:var(--spacing-md)}.piggy-v2-list{grid-gap:var(--spacing-md);display:grid;grid-template-columns:1fr}.piggy-v2-item{background:var(--card-bg);background-position:50%;background-repeat:no-repeat;background-size:cover;border:1px solid var(--border-light);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;padding:var(--spacing-md);text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.piggy-v2-item:hover{border-color:#439db1;border-color:var(--info,#439db1);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.piggy-v2-item-header{align-items:center;display:flex;gap:var(--spacing-sm);justify-content:space-between;margin-bottom:var(--spacing-xs)}.piggy-v2-item h2{font-size:var(--font-size-lg);margin:0}.piggy-v2-status{background:var(--background-secondary);border:1px solid var(--border-light);border-radius:999px;color:var(--text-secondary);font-size:var(--font-size-xs);letter-spacing:.04em;padding:.25rem .75rem;text-transform:uppercase}.piggy-v2-description{margin:0 0 var(--spacing-xs) 0}.piggy-v2-description,.piggy-v2-meta{color:var(--text-secondary);font-size:var(--font-size-sm)}.piggy-v2-progress{display:flex;flex-direction:column;gap:var(--spacing-2xs)}.piggy-v2-progress-top{align-items:baseline;display:flex;gap:var(--spacing-xs)}.piggy-v2-progress-bar{background:var(--background-secondary);border-radius:999px;height:10px;overflow:hidden}.piggy-v2-progress-fill{background:#439db1;background:var(--info,#439db1);border-radius:999px;height:100%;transition:width .25s ease}.piggy-v2-empty,.piggy-v2-error,.piggy-v2-loading{border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md)}.piggy-v2-loading{background:var(--background-secondary);color:var(--text-secondary)}.piggy-v2-error{background:#fef2f2;border:1px solid #fecdd3;color:#b91c1c}.piggy-v2-empty{align-items:center;background:var(--background-secondary);color:var(--text-secondary);display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between}.piggy-v2-modal-overlay{align-items:center;background:#00000059;display:flex;inset:0;justify-content:center;overscroll-behavior:none;padding:calc(var(--spacing-md) + var(--app-safe-top, 0px)) calc(var(--spacing-md) + var(--app-safe-right, 0px)) calc(var(--spacing-md) + var(--app-safe-bottom, 0px)) calc(var(--spacing-md) + var(--app-safe-left, 0px));position:fixed;touch-action:none;z-index:999}.piggy-v2-modal{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-height:calc(100vh - 32px);max-height:calc(var(--app-vvh, 1vh)*100 - 32px - var(--app-safe-top, 0px) - var(--app-safe-bottom, 0px));max-width:560px;overflow-y:auto;overscroll-behavior:contain;padding:var(--spacing-lg);width:100%}.piggy-v2-modal-header{align-items:flex-start;display:flex;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-sm)}.piggy-v2-close{background:#0000;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.5rem}.piggy-v2-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.piggy-v2-form label{color:var(--text-primary);display:flex;flex-direction:column;font-weight:var(--font-weight-semibold);gap:var(--spacing-2xs)}.piggy-v2-form input,.piggy-v2-form select,.piggy-v2-form textarea{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-md);font-family:var(--font-family);font-size:16px;padding:.65rem .75rem}.piggy-v2-form textarea{resize:vertical}.piggy-v2-grid{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:1fr}.piggy-v2-collapsible summary{cursor:pointer;font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-2xs)}.piggy-v2-help{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0}.piggy-v2-image-preview{background-position:50%;background-size:cover;border:1px solid var(--border-light);border-radius:var(--radius-md);margin-top:var(--spacing-2xs);min-height:120px}.piggy-v2-modal-actions{justify-content:flex-end}.piggy-v2-actions-row,.piggy-v2-modal-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.piggy-v2-actions-row{align-items:center;flex-wrap:wrap;justify-content:space-between}.piggy-v2-actions-group{display:flex;gap:var(--spacing-sm)}@media (max-width:600px){.piggy-v2-modal{padding-bottom:calc(var(--spacing-lg) + var(--app-safe-bottom, 0px))}.piggy-v2-actions-row{align-items:stretch;flex-direction:column}.piggy-v2-actions-row>.piggy-v2-btn{width:100%}.piggy-v2-actions-group{display:flex;width:100%}.piggy-v2-actions-group .piggy-v2-btn{flex:1 1;justify-content:center}}@media (min-width:768px){.piggy-v2-container{margin:0 auto;max-width:1040px;padding:var(--spacing-md) var(--spacing-xl) calc(var(--spacing-lg) + 110px) var(--spacing-xl)}.piggy-v2-grid,.piggy-v2-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@keyframes piggySkeletonPulse{0%{opacity:.5}50%{opacity:.8}to{opacity:.5}}.piggy-skeleton-card{animation:piggySkeletonPulse 1.5s ease-in-out infinite;background:var(--background-secondary);border:1px solid var(--border-light);border-radius:var(--radius-lg);display:flex;flex-direction:column;height:200px;justify-content:space-between;padding:var(--spacing-lg)}.piggy-skeleton-title{height:24px;margin-bottom:8px;width:60%}.piggy-skeleton-text,.piggy-skeleton-title{background:var(--border-light);border-radius:4px}.piggy-skeleton-text{height:16px;margin-bottom:4px;width:90%}.piggy-skeleton-progress{background:var(--border-light);border-radius:4px;height:8px;margin-top:16px;width:100%}
/*# sourceMappingURL=main.a47a97a6.css.map*/