@import"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,500&display=swap";@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&display=swap";.invoice-scroll::-webkit-scrollbar{width:10px;height:10px}.invoice-scroll::-webkit-scrollbar-thumb{background:var(--cream-muted);border-radius:8px}.invoice-layout{display:grid;grid-template-columns:minmax(360px,430px) minmax(0,1fr);gap:24px;align-items:start}.invoice-preview-col{min-width:0;position:sticky;top:0;align-self:start;height:calc(100vh - 120px);overflow:auto}@media (max-width: 860px){.invoice-layout{grid-template-columns:minmax(0,1fr)}.invoice-preview-col{position:static;height:auto;overflow:visible}}.invoice-sheet,.invoice-sheet *{-webkit-print-color-adjust:exact;print-color-adjust:exact}@media print{@page{size:A4;margin:0}body{background:#fff!important}body *{visibility:hidden!important}.invoice-scaler{transform:none!important}.invoice-scaler-box{width:794px!important;height:auto!important;margin:0!important}.invoice-sheet,.invoice-sheet *{visibility:visible!important}.invoice-sheet{position:absolute!important;left:0!important;top:0!important;box-shadow:none!important;border:none!important}}body.invoice-exporting .invoice-preview-col{position:static!important;height:auto!important;overflow:visible!important}body.invoice-exporting .invoice-scaler{transform:none!important}body.invoice-exporting .invoice-scaler-box{width:794px!important;height:auto!important;margin:0!important}.wedding-page{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.wedding-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.wedding-eyebrow{display:flex;align-items:center;gap:6px;margin-bottom:6px;color:var(--ink-muted);font-size:var(--text-label);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase}.wedding-hero h1{margin:0;color:var(--text-heading);font-family:var(--font-display);font-size:clamp(28px,5vw,40px);font-weight:var(--weight-medium);line-height:var(--leading-tight)}.wedding-hero p{margin:6px 0 0;color:var(--ink-muted);font-size:var(--text-body)}.wedding-countdown{font-family:var(--font-mono);color:var(--text-heading)}.wedding-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-2)}.wedding-two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:var(--space-2);align-items:start}.wedding-section-title{display:inline-flex;align-items:center;gap:8px}.wedding-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 12px;border:1px solid transparent;border-radius:var(--radius-md);background:var(--surface);color:var(--accent);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--weight-medium);white-space:nowrap;transition:transform .14s ease,opacity .14s ease}.wedding-button:hover:not(:disabled){transform:translateY(-1px)}.wedding-button:active:not(:disabled){transform:translateY(0);opacity:.85}.wedding-button:disabled{cursor:not-allowed;opacity:.5}.wedding-button--primary{background:var(--accent);color:var(--surface)}.wedding-button--outline{background:transparent;border-color:var(--border);color:var(--ink-muted)}.wedding-icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-md);background:transparent;color:var(--ink-muted);cursor:pointer;transition:background .12s ease,color .12s ease}.wedding-icon-button:hover,.wedding-icon-button:focus-visible{background:#f5f0e824;color:var(--ink)}.wedding-icon-button--danger:hover,.wedding-icon-button--danger:focus-visible{color:var(--negative)}.wedding-icon-button:disabled{cursor:not-allowed;opacity:.45}.wedding-modal .wedding-icon-button:hover{background:var(--nav-hover-bg)}.wedding-progress{display:flex;align-items:center;gap:8px;min-width:120px}.wedding-progress-track{flex:1;height:6px;overflow:hidden;border-radius:var(--radius-pill);background:#f5f0e82e}.wedding-progress-fill{height:100%;border-radius:inherit;background:var(--positive);transition:width .4s ease}.wedding-progress-fill--over{background:var(--warning)}.wedding-progress-label{min-width:44px;text-align:right;font-family:var(--font-mono);font-size:var(--text-mono-small);color:var(--card-text-muted)}.wedding-categories{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:var(--space-2)}.wedding-category{display:flex;flex-direction:column;gap:10px;min-width:0;padding:var(--space-2);border:1px solid rgba(245,240,232,.2);border-radius:var(--radius-lg);background:#f5f0e80d}.wedding-category-head{display:flex;align-items:center;gap:8px;color:var(--card-text)}.wedding-category-name{flex:1;min-width:0;overflow:hidden;font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap}.wedding-category-count{font-family:var(--font-mono);font-size:var(--text-mono-small);color:var(--card-text-muted)}.wedding-category-actions{display:flex}.wedding-tasks{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.wedding-task{display:flex;align-items:center;gap:8px;min-height:40px;border-top:1px solid rgba(245,240,232,.12)}.wedding-task-check{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:32px;height:32px;padding:0;border:none;background:transparent;color:var(--card-text-muted);cursor:pointer}.wedding-task-check--done{color:var(--positive)}.wedding-task-body{flex:1;min-width:0}.wedding-task-title{overflow-wrap:anywhere;color:var(--card-text);font-size:var(--text-body)}.wedding-task--done .wedding-task-title{color:var(--card-text-muted);text-decoration:line-through}.wedding-task-meta{color:var(--card-text-muted);font-family:var(--font-mono);font-size:var(--text-mono-small)}.wedding-task-meta--overdue{color:var(--negative)}.wedding-task-actions{display:flex;opacity:.55;transition:opacity .12s ease}.wedding-task:hover .wedding-task-actions,.wedding-task:focus-within .wedding-task-actions{opacity:1}@media (hover: none){.wedding-task-actions{opacity:1}}.wedding-quick-add{display:flex;gap:6px}.wedding-quick-add input{flex:1;min-width:0;height:36px;box-sizing:border-box;padding:0 10px;border:1px solid rgba(245,240,232,.3);border-radius:var(--radius-md);background:var(--surface);font-family:var(--font-sans);font-size:var(--text-body);color:var(--ink);outline:none}.wedding-row-actions{display:inline-flex;align-items:center;gap:2px}.wedding-totals{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);padding:14px var(--space-3);border-top:1px solid rgba(245,240,232,.24);color:var(--card-text-muted);font-size:var(--text-small)}.wedding-totals strong{margin-left:6px;color:var(--card-text);font-family:var(--font-mono);font-weight:500}.wedding-empty{margin:0;padding:var(--space-3);color:var(--card-text-muted);text-align:center}.wedding-chart{width:100%;height:240px;padding:var(--space-2) var(--space-2) 0;box-sizing:border-box}.wedding-chart-caption{margin:0;padding:4px var(--space-3) var(--space-2);color:var(--card-text-muted);font-size:var(--text-small)}.wedding-rsvp-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:0;border:none;outline:none;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.wedding-legend{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.wedding-legend li{display:flex;align-items:center;gap:8px;color:var(--card-text-muted);font-size:var(--text-small)}.wedding-legend strong{margin-left:auto;color:var(--card-text);font-family:var(--font-mono);font-weight:500}.wedding-legend-dot{width:10px;height:10px;border-radius:var(--radius-pill)}.wedding-guest-summary{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid rgba(245,240,232,.24)}@media (max-width: 480px){.wedding-guest-summary{grid-template-columns:1fr;justify-items:center}.wedding-legend{width:100%}}.wedding-ideas{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:var(--space-2)}.wedding-idea{display:flex;flex-direction:column;gap:8px;min-width:0;padding:var(--space-2);border:1px dashed rgba(245,240,232,.32);border-radius:var(--radius-lg);background:#f5f0e80d;color:var(--card-text)}.wedding-idea-head{display:flex;align-items:flex-start;gap:8px}.wedding-idea-place{flex:1;min-width:0;overflow-wrap:anywhere;font-family:var(--font-display);font-size:var(--text-h2);font-weight:var(--weight-medium);line-height:var(--leading-tight)}.wedding-idea-facts{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--card-text-muted);font-family:var(--font-mono);font-size:var(--text-mono-small)}.wedding-idea-facts span{display:inline-flex;align-items:center;gap:5px}.wedding-idea-notes{margin:0;color:var(--card-text-muted);font-size:var(--text-small);white-space:pre-wrap;overflow-wrap:anywhere}.wedding-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;background:#0000004d}.wedding-modal{width:100%;max-width:460px;max-height:90vh;box-sizing:border-box;overflow-y:auto;padding:var(--space-3);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card)}.wedding-modal h2{margin:0 0 var(--space-2);color:var(--text-heading);font-family:var(--font-display);font-size:var(--text-h2);font-weight:var(--weight-medium)}.wedding-field{margin-bottom:12px;min-width:0}.wedding-field label{display:block;margin-bottom:4px;color:var(--ink-muted);font-size:var(--text-small)}.wedding-field :is(input,select,textarea){width:100%;box-sizing:border-box;min-height:40px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-md);outline:none;background:var(--surface);color:var(--ink);font-family:var(--font-sans);font-size:16px}.wedding-field textarea{min-height:72px;padding:8px 10px;resize:vertical}@media (min-width: 768px){.wedding-field :is(input,select,textarea){font-size:var(--text-body)}}.wedding-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 420px){.wedding-field-row{grid-template-columns:1fr}}.wedding-form-error{margin:0 0 8px;color:var(--negative);font-size:var(--text-small)}.wedding-modal-actions{display:flex;gap:8px;margin-top:var(--space-2)}.wedding-modal-actions>:first-child{flex:1}.wedding-payments{margin:0 0 var(--space-2);padding:0;list-style:none}.wedding-payments li{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--border);font-size:var(--text-body)}.wedding-payments li>span:first-child{font-family:var(--font-mono);font-size:var(--text-mono-small);color:var(--ink-muted);min-width:92px}.wedding-payments li>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere;color:var(--ink)}.wedding-payments li>strong{font-family:var(--font-mono);font-weight:500;color:var(--ink)}.wedding-modal-sub{margin:0 0 var(--space-2);color:var(--ink-ghost);font-size:var(--text-small)}@media (prefers-reduced-motion: reduce){.wedding-button,.wedding-progress-fill,.wedding-task-actions{transition:none}}.quote-scroll::-webkit-scrollbar{width:10px;height:10px}.quote-scroll::-webkit-scrollbar-thumb{background:var(--cream-muted);border-radius:8px}.quote-sheet,.quote-sheet *{-webkit-print-color-adjust:exact;print-color-adjust:exact}@media print{@page{size:A4;margin:0}body{background:#fff!important}body *{visibility:hidden!important}.quote-scaler{transform:none!important}.quote-scaler-box{width:794px!important;height:auto!important;margin:0!important}.quote-sheet,.quote-sheet *{visibility:visible!important}.quote-sheet{position:absolute!important;left:0!important;top:0!important;box-shadow:none!important;border:none!important}}@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Geist-Light.ttf) format("truetype")}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Geist-Medium.otf) format("opentype")}:root{--cream: #F5F0E8;--cream-dark: #EDE7D9;--cream-muted: #D9D2C4;--surface: #FFFFFF;--ink: #0D0D0D;--navy-900: #273869;--navy-800: #405881;--card-blue: var(--navy-900);--card-text: var(--cream);--card-text-muted: #EDE7D9;--ink-muted: var(--navy-800);--ink-ghost: #9A948E;--accent: #1A1A1A;--positive: #2D6A4F;--negative: #C0392B;--warning: #B7791F;--bg-page: var(--cream);--bg-sidebar: var(--cream-dark);--bg-table-header: var(--cream-dark);--surface-card: var(--card-blue);--border: var(--cream-muted);--divider: var(--cream-muted);--text-primary: var(--ink);--text-heading: var(--navy-900);--text-secondary: var(--ink-muted);--text-ghost: var(--ink-ghost);--btn-primary-bg: var(--accent);--btn-primary-fg: var(--surface);--nav-hover-bg: rgba(13, 13, 13, .06);--nav-active-bg: var(--accent);--nav-active-fg: var(--surface);--positive-soft: rgba(45, 106, 79, .1);--positive-border: rgba(45, 106, 79, .2);--negative-soft: rgba(192, 57, 43, .1);--negative-border: rgba(192, 57, 43, .2);--warning-soft: rgba(183, 121, 31, .1);--warning-border: rgba(183, 121, 31, .2);--font-display: "Geist", system-ui, -apple-system, sans-serif;--font-sans: "Geist", system-ui, -apple-system, sans-serif;--font-mono: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-display: 32px;--text-h1: 24px;--text-h2: 18px;--text-body: 14px;--text-small: 12px;--text-label: 11px;--text-mono: 14px;--text-mono-small: 12px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--tracking-label: .05em;--tracking-wide: .08em;--tracking-section: .12em;--leading-display: 1;--leading-tight: 1.2;--leading-body: 1.5;--space-1: 8px;--space-2: 16px;--space-3: 24px;--space-4: 32px;--space-6: 48px;--space-8: 64px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-pill: 999px;--shadow-card: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04)}body{margin:0;background:var(--bg-page);color:var(--text-primary);font-family:var(--font-sans);font-weight:var(--weight-regular);font-size:var(--text-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased}.vault-card{--ink: var(--card-text);--ink-muted: var(--card-text-muted);--ink-ghost: var(--card-text-muted);--positive: #C3E8D2;--negative: #FFD0CA;--warning: #FFE0A3}.vault-card :is(input,select,textarea),.vault-card .vault-card-light{--ink: #0D0D0D;--ink-muted: var(--navy-800);--ink-ghost: #9A948E;--positive: #2D6A4F;--negative: #C0392B;--warning: #B7791F}.vault-mobile{--glass: rgba(245, 240, 232, .72);--glass-strong: rgba(245, 240, 232, .94);--glass-pill: rgba(245, 240, 232, .93);--scrim: rgba(13, 13, 13, .32);--press: rgba(13, 13, 13, .045);--lift: 0 1px 2px rgba(13, 13, 13, .04), 0 8px 24px -12px rgba(13, 13, 13, .16);--lift-high: 0 2px 6px rgba(13, 13, 13, .06), 0 24px 48px -16px rgba(13, 13, 13, .28);--gut: 20px;--stack: 14px;--card-pad: 20px;--radius-card: 22px;--tabbar-h: 58px;--tabbar-clear: calc(var(--tabbar-h) + 30px + env(safe-area-inset-bottom));--ease-spring: cubic-bezier(.32, .72, 0, 1);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-back: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .16s;--dur: .28s;--dur-slow: .46s;position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--cream);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;overflow:hidden;overscroll-behavior:none;touch-action:manipulation}.vault-mobile *{box-sizing:border-box}.vault-mobile button{font-family:inherit;-webkit-tap-highlight-color:transparent}.vault-mobile .tap{transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast) linear}.vault-mobile .tap:active{transform:scale(.97)}@media (prefers-reduced-motion: reduce){.vault-mobile *,.vault-mobile *:before,.vault-mobile *:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.vault-mobile .tap:active{transform:none}}.vault-mobile .vm-header{position:absolute;top:0;left:0;right:0;z-index:20;padding-top:env(safe-area-inset-top);background:var(--glass-strong);-webkit-backdrop-filter:blur(20px) saturate(1.6);backdrop-filter:blur(20px) saturate(1.6);transition:transform var(--dur) var(--ease-spring),opacity var(--dur-fast) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.vault-mobile .vm-header.stuck{box-shadow:0 1px 0 var(--cream-muted)}.vault-mobile.chrome-hidden .vm-header{transform:translateY(-100%);opacity:0;pointer-events:none}.vault-mobile .hd{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:6px var(--gut) 0}.vault-mobile .hd-title{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:34px;line-height:1.16;letter-spacing:-.022em;color:var(--ink);margin:0}.vault-mobile .hd-actions{display:flex;align-items:center;gap:8px;padding-bottom:4px}.vault-mobile .icon-btn{width:38px;height:38px;border-radius:var(--radius-pill);background:var(--cream-dark);border:none;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex:0 0 auto}.vault-mobile .icon-btn.on{background:var(--accent);color:var(--surface)}.vault-mobile .txt-btn{border:none;background:none;cursor:pointer;padding:8px 2px;font-size:16px;font-weight:var(--weight-medium);color:var(--ink);letter-spacing:-.01em}.vault-mobile .txt-btn.quiet{color:var(--ink-muted);font-weight:var(--weight-regular)}.vault-mobile .ws{display:flex;position:relative;background:var(--cream-dark);border-radius:12px;padding:3px;margin:12px var(--gut) 12px;flex:0 0 auto;isolation:isolate}.vault-mobile .ws-thumb{position:absolute;top:3px;bottom:3px;left:3px;border-radius:9px;background:var(--surface);box-shadow:var(--shadow-card);transition:transform var(--dur) var(--ease-spring),width var(--dur) var(--ease-spring);z-index:-1}.vault-mobile .ws .seg{flex:1 1 0;min-width:0;text-align:center;font-size:13px;font-weight:var(--weight-medium);color:var(--ink-muted);padding:8px 0;border-radius:9px;letter-spacing:-.005em;border:none;background:transparent;cursor:pointer;transition:color var(--dur-fast) linear}.vault-mobile .ws .seg.on{color:var(--ink)}.vault-mobile .vm-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;position:relative}.vault-mobile .scrollbody{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:var(--tabbar-clear)}.vault-mobile .scrollbody::-webkit-scrollbar{width:0}.vault-mobile .vm-screen>.scrollbody,.vault-mobile .vm-screen>.sub-scroll{padding-top:var(--chrome-top, 112px)}@keyframes vm-rise{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:none}}.vault-mobile .vm-screen{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;animation:vm-rise var(--dur) var(--ease-out) backwards}.vault-mobile .tabbar{position:absolute;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));width:calc(100% - 2 * var(--gut));max-width:420px;height:var(--tabbar-h);display:flex;padding:6px;border-radius:var(--radius-pill);background:var(--glass-pill);-webkit-backdrop-filter:blur(28px) saturate(1.7);backdrop-filter:blur(28px) saturate(1.7);box-shadow:var(--lift-high),inset 0 0 0 1px var(--glass-border);z-index:30;isolation:isolate;transform:translate(-50%);transition:transform var(--dur) var(--ease-spring),opacity var(--dur-fast) var(--ease-out)}.vault-mobile.chrome-hidden .tabbar{transform:translate(-50%,calc(100% + 24px));opacity:0;pointer-events:none}.vault-mobile .tab-thumb{position:absolute;top:6px;bottom:6px;left:6px;z-index:-1;border-radius:var(--radius-pill);background:var(--accent);transition:transform .52s var(--ease-back),width var(--dur) var(--ease-spring)}.vault-mobile .tab{position:relative;flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--ink-muted);background:none;border:none;cursor:pointer;padding:0;border-radius:var(--radius-pill);transition:color var(--dur) var(--ease-out)}.vault-mobile .tab.on{color:var(--surface)}.vault-mobile .tab .ico{display:inline-flex}.vault-mobile .tab.on .ico{animation:vm-tab-pop .52s var(--ease-back)}@keyframes vm-tab-pop{0%{transform:scale(.82) translateY(2px)}55%{transform:scale(1.16) translateY(-2px)}to{transform:none}}.vault-mobile .tab .lbl{font-size:10px;font-weight:var(--weight-medium);letter-spacing:.01em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-mobile .card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--lift);padding:var(--card-pad);position:relative}.vault-mobile .card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.vault-mobile .card-title{font-size:11px;font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--ink-ghost);margin:0}.vault-mobile .card-meta{font-family:var(--font-mono);font-size:11px;color:var(--ink-ghost);white-space:nowrap}.vault-mobile .stat{font-family:var(--font-display);font-weight:var(--weight-medium);letter-spacing:-.024em;color:var(--ink);line-height:1.04;font-variant-numeric:tabular-nums}.vault-mobile .stat.xl{font-size:40px}.vault-mobile .stat.lg{font-size:26px}.vault-mobile .stat.md{font-size:20px}.vault-mobile .stat.pos{color:var(--positive)}.vault-mobile .stat.neg{color:var(--negative)}.vault-mobile .stat-note{font-size:13px;color:var(--ink-muted);margin-top:10px;line-height:1.45}.vault-mobile .badge{display:inline-flex;align-items:center;border-radius:var(--radius-sm);padding:3px 8px;font-size:11px;font-weight:var(--weight-medium);letter-spacing:var(--tracking-label);text-transform:uppercase;border:1px solid;line-height:1.4;white-space:nowrap}.vault-mobile .b-pos{background:var(--positive-soft);color:var(--positive);border-color:var(--positive-border)}.vault-mobile .b-neg{background:var(--negative-soft);color:var(--negative);border-color:var(--negative-border)}.vault-mobile .b-warn{background:var(--warning-soft);color:var(--warning);border-color:var(--warning-border)}.vault-mobile .b-neutral{background:var(--cream-dark);color:var(--ink-muted);border-color:var(--cream-muted)}.vault-mobile .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--stack);padding:4px var(--gut) 8px;align-items:start}.vault-mobile .grid>.full{grid-column:1 / -1}@keyframes vm-module-in{0%{opacity:0;transform:translate3d(0,14px,0) scale(.985)}to{opacity:1;transform:none}}.vault-mobile .mod{position:relative;animation:vm-module-in var(--dur-slow) var(--ease-spring) backwards;animation-delay:calc(var(--i, 0) * 45ms)}.vault-mobile .mod.editing{animation:none}.vault-mobile .mod.editing .card{box-shadow:var(--lift),0 0 0 1.5px var(--cream-muted)}.vault-mobile .mod.editing .mod-inner{opacity:.7;pointer-events:none;transition:opacity var(--dur) var(--ease-out)}.vault-mobile .mod.dragging{z-index:10;animation:none}.vault-mobile .mod.dragging .mod-inner{opacity:1}.vault-mobile .mod.dragging .card{box-shadow:var(--lift-high);transform:scale(1.03)}.vault-mobile .mod.settling{transition:transform var(--dur) var(--ease-spring)}.vault-mobile .mod .card{transition:transform var(--dur) var(--ease-spring),box-shadow var(--dur) var(--ease-out)}.vault-mobile .mod-handle{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border:none;background:none;cursor:grab;touch-action:none;border-radius:var(--radius-card)}.vault-mobile .mod-handle:active{cursor:grabbing}.vault-mobile .mod-remove{position:absolute;top:-7px;left:-7px;z-index:4;width:26px;height:26px;border-radius:var(--radius-pill);background:var(--negative);color:var(--surface);border:2px solid var(--cream);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;animation:vm-pop var(--dur) var(--ease-spring) both}@keyframes vm-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}.vault-mobile .mod-grip{position:absolute;top:-7px;right:-7px;z-index:3;width:26px;height:26px;border-radius:var(--radius-pill);background:var(--cream-dark);border:2px solid var(--cream);color:var(--ink-muted);display:inline-flex;align-items:center;justify-content:center;pointer-events:none;animation:vm-pop var(--dur) var(--ease-spring) both}.vault-mobile .add-tile{grid-column:1 / -1;min-height:84px;border-radius:var(--radius-card);border:1.5px dashed var(--cream-muted);background:none;color:var(--ink-muted);display:flex;align-items:center;justify-content:center;gap:8px;font-size:15px;font-weight:var(--weight-medium);cursor:pointer;animation:vm-module-in var(--dur-slow) var(--ease-spring) backwards}.vault-mobile .empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:48px var(--space-4);text-align:center}.vault-mobile .empty .glyph{width:72px;height:72px;border-radius:24px;background:var(--cream-dark);display:inline-flex;align-items:center;justify-content:center;color:var(--ink-muted)}.vault-mobile .empty h3{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:20px;margin:0;color:var(--ink);letter-spacing:-.015em}.vault-mobile .empty p{font-size:14px;color:var(--ink-muted);margin:0;line-height:1.55;max-width:30ch}.vault-mobile .empty .cta{margin-top:4px;background:var(--accent);color:var(--surface);border:none;border-radius:var(--radius-pill);padding:12px 24px;font-size:15px;font-weight:var(--weight-medium);cursor:pointer}.vault-mobile .spark{display:block;width:100%;height:auto;overflow:visible}.vault-mobile .spark rect{transition:opacity var(--dur) var(--ease-out)}.vault-mobile .legend{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:4px}.vault-mobile .legend-it{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-muted)}.vault-mobile .legend-it .ld{width:8px;height:8px;border-radius:var(--radius-pill);flex:0 0 8px}.vault-mobile .legend-it .ln{display:block;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}.vault-mobile .legend-it .lv{font-family:var(--font-mono);font-size:12px;color:var(--ink-muted)}.vault-mobile .rank{display:flex;flex-direction:column;gap:16px}.vault-mobile .rank-row .rk-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:7px}.vault-mobile .rank-row .rk-name{font-size:14px;color:var(--ink);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vault-mobile .rank-row .rk-val{font-family:var(--font-mono);font-size:12px;color:var(--ink-muted);white-space:nowrap}.vault-mobile .rank-row .rk-track{height:5px;border-radius:var(--radius-pill);background:var(--cream-dark);overflow:hidden}.vault-mobile .rank-row .rk-fill{height:100%;border-radius:var(--radius-pill);transform-origin:left center;animation:vm-grow var(--dur-slow) var(--ease-spring) both}@keyframes vm-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.vault-mobile .mini{display:flex;flex-direction:column}.vault-mobile .mini-row{display:flex;align-items:center;gap:12px;padding:12px 0;border:none;background:none;width:100%;text-align:left;cursor:pointer;border-radius:10px}.vault-mobile .mini-row+.mini-row{box-shadow:0 -1px 0 var(--cream)}.vault-mobile .mini-row .cd{width:8px;height:8px;border-radius:var(--radius-pill);flex:0 0 8px}.vault-mobile .mini-row .mn{flex:1;min-width:0}.vault-mobile .mini-row .mn .t{display:block;font-size:14px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vault-mobile .mini-row .mn .s{display:block;font-size:12px;color:var(--ink-ghost);margin-top:2px}.vault-mobile .mini-row .amt{font-family:var(--font-mono);font-size:13px;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}.vault-mobile .mini-row .amt.pos{color:var(--positive)}.vault-mobile .card-link{display:block;width:100%;margin-top:14px;padding-top:13px;box-shadow:0 -1px 0 var(--cream);border:none;background:none;cursor:pointer;font-size:13px;font-weight:var(--weight-medium);color:var(--ink-muted);text-align:center}.vault-mobile .card-quiet{font-size:13px;color:var(--ink-ghost);line-height:1.5;margin:0}.vault-mobile .toolbar{padding:0 var(--gut) 4px}.vault-mobile .searchbar{background:var(--cream-dark);border-radius:12px;padding:10px 13px;display:flex;align-items:center;gap:9px;color:var(--ink-ghost)}.vault-mobile .searchbar input{flex:1;min-width:0;border:none;background:transparent;outline:none;font-family:var(--font-sans);font-size:15px;color:var(--ink)}.vault-mobile .searchbar input::placeholder{color:var(--ink-ghost)}.vault-mobile .chips{display:flex;gap:8px;padding:12px var(--gut) 0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.vault-mobile .chips::-webkit-scrollbar{display:none}.vault-mobile .chip{flex:0 0 auto;border:none;background:var(--cream-dark);color:var(--ink-muted);border-radius:var(--radius-pill);padding:8px 15px;font-size:13px;font-weight:var(--weight-medium);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-fast) linear,color var(--dur-fast) linear}.vault-mobile .chip.on{background:var(--accent);color:var(--surface)}.vault-mobile .rec-sec{padding:22px var(--gut) 8px;font-size:11px;font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--ink-ghost)}.vault-mobile .rec-group{margin:0 var(--gut);background:var(--surface);border-radius:18px;box-shadow:var(--lift);overflow:hidden}.vault-mobile .rec-row{display:flex;align-items:center;gap:13px;padding:15px 18px;background:var(--surface);border:none;width:100%;text-align:left;cursor:pointer;transition:background-color var(--dur-fast) linear}.vault-mobile .rec-row:active{background:var(--press)}.vault-mobile .rec-row+.rec-row{box-shadow:0 -1px 0 var(--cream)}.vault-mobile .rec-row .cd{width:9px;height:9px;border-radius:var(--radius-pill);flex:0 0 9px}.vault-mobile .rec-row .rn{flex:1;min-width:0}.vault-mobile .rec-row .rn .t{display:block;font-size:15px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.006em}.vault-mobile .rec-row .rn .s{display:block;font-size:12px;color:var(--ink-ghost);margin-top:3px}.vault-mobile .rec-row .amt{font-family:var(--font-mono);font-size:14px;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}.vault-mobile .rec-row .amt.pos{color:var(--positive)}.vault-mobile .fab{position:absolute;right:var(--gut);bottom:calc(var(--tabbar-h) + 30px + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:var(--radius-pill);background:var(--accent);color:var(--surface);display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--lift-high);border:none;cursor:pointer;z-index:25;animation:vm-pop var(--dur) var(--ease-spring) both;transition:transform var(--dur) var(--ease-spring),opacity var(--dur-fast) var(--ease-out)}.vault-mobile.chrome-hidden .fab{transform:translateY(calc(100% + 40px));opacity:0;pointer-events:none}.vault-mobile .list-empty{padding:56px var(--space-4);text-align:center;color:var(--ink-ghost);font-size:14px;line-height:1.6}.vault-mobile .group-label{font-size:11px;font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--ink-ghost);padding:26px var(--gut) 9px}.vault-mobile .group{margin:0 var(--gut);background:var(--surface);border-radius:18px;box-shadow:var(--lift);overflow:hidden}.vault-mobile .glrow{display:flex;align-items:center;gap:14px;padding:15px 18px;font-size:16px;color:var(--ink);width:100%;text-align:left;background:var(--surface);border:none;cursor:pointer;letter-spacing:-.008em;transition:background-color var(--dur-fast) linear}.vault-mobile .glrow:active{background:var(--press)}.vault-mobile .glrow+.glrow{box-shadow:0 -1px 0 var(--cream)}.vault-mobile .glrow .gi{color:var(--ink-muted);display:inline-flex;flex:0 0 auto}.vault-mobile .glrow .gl-label{flex:1;min-width:0}.vault-mobile .glrow .chev{color:var(--ink-ghost);flex:0 0 auto}.vault-mobile .glrow .rt{font-size:14px;color:var(--ink-ghost)}.vault-mobile .glrow.danger,.vault-mobile .glrow.danger .gi{color:var(--negative)}@keyframes vm-push-in{0%{opacity:.4;transform:translate3d(18%,0,0)}to{opacity:1;transform:none}}.vault-mobile .subscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:28;display:flex;flex-direction:column;background:var(--cream);animation:vm-push-in var(--dur) var(--ease-spring) both}.vault-mobile .sub-nav{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:calc(10px + env(safe-area-inset-top)) var(--gut) 10px 12px;background:var(--glass-strong);-webkit-backdrop-filter:blur(20px) saturate(1.6);backdrop-filter:blur(20px) saturate(1.6);box-shadow:0 1px 0 var(--cream-muted)}.vault-mobile .sub-back{display:inline-flex;align-items:center;gap:2px;color:var(--ink);font-size:16px;background:none;border:none;cursor:pointer;padding:6px 4px}.vault-mobile .sub-title{flex:1;text-align:center;padding-right:52px;font-size:16px;font-weight:var(--weight-medium);color:var(--ink);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vault-mobile .sub-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding:var(--space-2);padding-bottom:var(--tabbar-clear)}.vault-mobile .sheet-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;justify-content:flex-end}@keyframes vm-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes vm-sheet-in{0%{transform:translate3d(0,100%,0)}to{transform:none}}.vault-mobile .sheet-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:none;padding:0;margin:0;animation:vm-scrim-in var(--dur) var(--ease-out) both}.vault-mobile .sheet-root.closing .sheet-scrim{animation:vm-scrim-in var(--dur-fast) var(--ease-out) reverse both}.vault-mobile .sheet{position:relative;max-height:88vh;display:flex;flex-direction:column;background:var(--cream);border-radius:26px 26px 0 0;box-shadow:var(--lift-high);animation:vm-sheet-in var(--dur-slow) var(--ease-spring) both;padding-bottom:env(safe-area-inset-bottom);will-change:transform}.vault-mobile .sheet-root.closing .sheet{animation:vm-sheet-in var(--dur) var(--ease-out) reverse both}.vault-mobile .sheet.dragging{animation:none;transition:none}.vault-mobile .sheet.releasing{animation:none;transition:transform var(--dur) var(--ease-spring)}.vault-mobile .sheet-grab{flex:0 0 auto;padding:10px 0 4px;display:flex;justify-content:center;touch-action:none;cursor:grab}.vault-mobile .sheet-grab:before{content:"";width:38px;height:5px;border-radius:var(--radius-pill);background:var(--cream-muted)}.vault-mobile .sheet-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px var(--gut) 12px}.vault-mobile .sheet-title{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:21px;letter-spacing:-.018em;color:var(--ink);margin:0;min-width:0}.vault-mobile .sheet-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:20px}.vault-mobile .sheet-foot{flex:0 0 auto;display:flex;gap:10px;padding:12px var(--gut) 16px;box-shadow:0 -1px 0 var(--cream-muted);background:var(--cream)}.vault-mobile .btn{flex:1;border:none;cursor:pointer;border-radius:14px;padding:15px 18px;font-size:16px;font-weight:var(--weight-medium);letter-spacing:-.01em;display:inline-flex;align-items:center;justify-content:center;gap:8px}.vault-mobile .btn.primary{background:var(--accent);color:var(--surface)}.vault-mobile .btn.secondary{background:var(--cream-dark);color:var(--ink)}.vault-mobile .btn.danger{background:var(--negative-soft);color:var(--negative)}.vault-mobile .btn:disabled{opacity:.45;cursor:default}.vault-mobile .pick-group-label{font-size:11px;font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--ink-ghost);padding:20px var(--gut) 9px}.vault-mobile .pick-list{margin:0 var(--gut);background:var(--surface);border-radius:18px;overflow:hidden;box-shadow:var(--lift)}.vault-mobile .pick{display:flex;align-items:flex-start;gap:14px;width:100%;text-align:left;padding:15px 18px;background:var(--surface);border:none;cursor:pointer;transition:background-color var(--dur-fast) linear}.vault-mobile .pick:active{background:var(--press)}.vault-mobile .pick+.pick{box-shadow:0 -1px 0 var(--cream)}.vault-mobile .pick .pk{flex:1;min-width:0}.vault-mobile .pick .pk .t{display:block;font-size:15px;color:var(--ink);letter-spacing:-.008em}.vault-mobile .pick .pk .d{display:block;font-size:12.5px;color:var(--ink-ghost);margin-top:3px;line-height:1.45}.vault-mobile .pick .tick{flex:0 0 24px;width:24px;height:24px;margin-top:1px;border-radius:var(--radius-pill);background:var(--cream-dark);color:var(--surface);display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--dur) var(--ease-out)}.vault-mobile .pick.on .tick{background:var(--positive)}.vault-mobile .form{padding:4px var(--gut) 0;display:flex;flex-direction:column;gap:18px}.vault-mobile .field{display:flex;flex-direction:column;gap:7px}.vault-mobile .field>label{font-size:11px;font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--ink-ghost)}.vault-mobile .field input,.vault-mobile .field select,.vault-mobile .field textarea{width:100%;font-family:var(--font-sans);font-size:16px;color:var(--ink);background:var(--surface);border:1px solid var(--cream-muted);border-radius:13px;padding:13px 14px;outline:none;transition:border-color var(--dur-fast) linear,box-shadow var(--dur-fast) linear;-webkit-appearance:none;-moz-appearance:none;appearance:none}.vault-mobile .field select{background-image:linear-gradient(45deg,transparent 50%,var(--ink-muted) 50%),linear-gradient(135deg,var(--ink-muted) 50%,transparent 50%);background-position:calc(100% - 19px) calc(50% + 2px),calc(100% - 14px) calc(50% + 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:36px}.vault-mobile .field textarea{resize:none;line-height:1.5}.vault-mobile .field input:focus,.vault-mobile .field select:focus,.vault-mobile .field textarea:focus{border-color:var(--ink-muted);box-shadow:0 0 0 3px var(--cream-dark)}.vault-mobile .field .amount{font-family:var(--font-mono);font-size:30px;font-weight:500;letter-spacing:-.02em;padding:14px 16px}.vault-mobile .field-row{display:flex;gap:12px}.vault-mobile .field-row>.field{flex:1;min-width:0}.vault-mobile .seg2{display:flex;background:var(--cream-dark);border-radius:13px;padding:3px;gap:3px}.vault-mobile .seg2 button{flex:1;border:none;background:transparent;cursor:pointer;border-radius:10px;padding:11px 0;font-size:14px;font-weight:var(--weight-medium);color:var(--ink-muted);transition:background-color var(--dur-fast) linear,color var(--dur-fast) linear}.vault-mobile .seg2 button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-card)}.vault-mobile .form-error{margin:0 var(--gut);background:var(--negative-soft);border:1px solid var(--negative-border);color:var(--negative);border-radius:12px;padding:11px 14px;font-size:13px;line-height:1.45}.vault-mobile .kv-list{margin:0 var(--gut);background:var(--surface);border-radius:18px;box-shadow:var(--lift);overflow:hidden}.vault-mobile .kv-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;font-size:15px}.vault-mobile .kv-row+.kv-row{box-shadow:0 -1px 0 var(--cream)}.vault-mobile .kv-row .k{color:var(--ink-ghost);font-size:13px;flex:0 0 auto}.vault-mobile .kv-row .v{color:var(--ink);text-align:right;min-width:0;overflow-wrap:anywhere}.vault-mobile .kv-row .v.mono{font-family:var(--font-mono);font-size:14px}.vault-mobile .sheet-hero{padding:4px var(--gut) 18px;display:flex;flex-direction:column;gap:8px}.vault-mobile .log-stream{flex:1;min-height:0;padding:16px var(--gut) 8px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.vault-mobile .daystamp{align-self:center;font-family:var(--font-mono);font-size:11px;color:var(--ink-ghost);margin:2px 0}@keyframes vm-bubble-in{0%{opacity:0;transform:translate3d(0,8px,0) scale(.97)}to{opacity:1;transform:none}}.vault-mobile .bubble{align-self:flex-end;max-width:82%;background:var(--accent);color:var(--surface);padding:11px 15px;border-radius:20px 20px 7px;font-size:15px;line-height:1.4;animation:vm-bubble-in var(--dur) var(--ease-spring) both}.vault-mobile .bubble.them{align-self:flex-start;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-card);border-bottom-right-radius:20px;border-bottom-left-radius:7px}.vault-mobile .typing{align-self:flex-start;display:inline-flex;gap:5px;background:var(--surface);box-shadow:var(--shadow-card);border-radius:18px;padding:13px 16px;animation:vm-bubble-in var(--dur) var(--ease-spring) both}.vault-mobile .typing i{width:7px;height:7px;border-radius:var(--radius-pill);background:var(--ink-ghost);display:block;animation:vm-blink 1.4s infinite ease-in-out both}.vault-mobile .typing i:nth-child(2){animation-delay:.2s}.vault-mobile .typing i:nth-child(3){animation-delay:.4s}@keyframes vm-blink{0%,80%,to{opacity:.3}40%{opacity:1}}.vault-mobile .composer{flex:0 0 auto;padding:10px var(--gut) var(--tabbar-clear);background:var(--glass-strong);-webkit-backdrop-filter:blur(20px) saturate(1.6);backdrop-filter:blur(20px) saturate(1.6);box-shadow:0 -1px 0 var(--cream-muted)}.vault-mobile .composer .menu-row{display:flex;align-items:center;justify-content:flex-end;margin-top:8px}.vault-mobile .sub-scroll h1{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.vault-mobile .screen-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px var(--gut);text-align:center}.vault-mobile .screen-error h3{margin:0;font-family:var(--font-display);font-weight:var(--weight-medium);font-size:19px;letter-spacing:-.015em;color:var(--ink)}.vault-mobile .screen-error p{margin:0;max-width:32ch;font-size:14px;line-height:1.55;color:var(--ink-muted);overflow-wrap:anywhere}.vault-mobile .screen-error-detail{max-width:34ch;padding:8px 12px;border-radius:10px;background:var(--cream-dark);color:var(--ink-ghost);font-family:var(--font-mono);font-size:11.5px;line-height:1.45;overflow-wrap:anywhere}.vault-mobile .screen-error .btn{flex:0 0 auto;margin-top:6px}.vault-mobile .bank-glass-stage{padding:20px 16px 24px;border-radius:20px}.vault-mobile .bank-glass-heading{margin-bottom:20px}.vault-mobile .bank-glass-heading p{font-size:14px;line-height:1.5;margin:0}.vault-mobile .bank-glass-grid{grid-template-columns:1fr;gap:14px;--stack-peek: 0px}.vault-mobile .bank-glass-tilt{transform:none;padding-bottom:0}.vault-mobile .bank-glass-stack{display:flex;flex-direction:column;gap:14px}.vault-mobile .bank-glass-stack>.bank-glass-card--behind{position:relative;inset:auto;transform:none;opacity:1}.vault-mobile .bank-glass-card__flip{display:none}.vault-mobile .bank-glass-card{min-height:0;padding:18px}.vault-mobile .bank-glass-card__balance{padding-top:20px;gap:4px}.vault-mobile .bank-glass-card__balance strong{font-size:30px;line-height:1.1;letter-spacing:-.03em;overflow-wrap:anywhere}.vault-mobile .bank-glass-card__pill{width:100%;height:42px;margin-top:16px;font-size:13px}.vault-mobile .calendar-page{gap:var(--space-2)!important}.vault-mobile .calendar-content-grid{grid-template-columns:1fr!important}.vault-mobile .calendar-actions{flex-wrap:wrap;justify-content:flex-start}.vault-mobile .calendar-day-cell{aspect-ratio:auto!important;min-height:60px}.bank-glass-stage{position:relative;isolation:isolate;overflow:hidden;padding:64px 72px 56px;border-radius:20px;background:radial-gradient(circle at 76% -24%,rgba(255,255,255,.18),transparent 40%),radial-gradient(circle at 12% 112%,rgba(18,63,109,.32),transparent 44%),#405881;box-shadow:0 24px 56px #0f1b3029}.bank-glass-heading{position:relative;z-index:1;margin-bottom:40px}.bank-glass-heading h1{margin:0;color:#fff;font-family:var(--font-display);font-size:48px;font-weight:500;letter-spacing:-.045em;line-height:52px}.bank-glass-heading p{margin:12px 0 0;color:#dce9f4;font-size:20px;line-height:28px}.bank-glass-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.bank-glass-card{position:relative;display:flex;flex-direction:column;min-height:304px;overflow:hidden;padding:28px;border:1px solid rgba(255,255,255,.88);border-radius:20px;background:linear-gradient(135deg,#ffffffc2,#ffffff52 45%,#dde7f475);box-shadow:inset 0 1px #fffffff5,inset 0 -1px #40588129,0 24px 56px #0f1b3040;-webkit-backdrop-filter:blur(30px) saturate(165%);backdrop-filter:blur(30px) saturate(165%)}.bank-glass-card:before{content:"";position:absolute;width:300px;height:176px;border-radius:50%;background:#ffffff1c;pointer-events:none}.bank-glass-card--bank:before{top:-96px;left:-76px;transform:rotate(-12deg)}.bank-glass-card--gcash:before{top:-112px;left:120px;width:292px;height:180px;transform:rotate(14deg)}.bank-glass-card--cash:before{top:200px;left:-48px;width:288px;height:156px;background:#ffffff14;transform:rotate(-18deg)}.bank-glass-card>*{position:relative;z-index:1}.bank-glass-card__top,.bank-glass-card__identity,.bank-glass-card__pill{display:flex;align-items:center}.bank-glass-card__top{justify-content:space-between;gap:16px}.bank-glass-card__identity{gap:12px;min-width:0;color:#273869;font-size:16px;font-weight:500;line-height:20px}.bank-glass-card__account{flex:0 0 auto;color:#273869;font-size:12px;font-weight:600;line-height:16px;text-transform:uppercase}.bank-glass-mark{display:inline-flex;width:32px;height:32px;flex:0 0 32px;align-items:center;justify-content:center;border:1px solid #a7d5ef;border-radius:8px;color:#0e6396;background:#d8effd}.bank-glass-mark svg{width:32px;height:32px}.bank-glass-mark--gcash{border-color:transparent;background:#2471f2;color:#fff;font-family:var(--font-display);font-size:18px;font-weight:600}.bank-glass-card__balance{display:flex;flex-direction:column;gap:8px;padding-top:48px;color:#273869}.bank-glass-card__balance>span{font-size:13px;font-weight:600;letter-spacing:.12em;line-height:16px;text-transform:uppercase}.bank-glass-card__balance strong{font-family:var(--font-display);font-size:48px;font-weight:600;letter-spacing:-.055em;line-height:52px}.bank-glass-card__pill{align-self:center;width:288px;max-width:100%;height:48px;gap:8px;margin-top:auto;padding:0 16px;border:1px solid rgba(255,255,255,.72);border-radius:999px;color:#273869;background:#ffffff6b;box-shadow:inset 0 1px #fffffff2,0 6px 18px #0f1b301f;font-size:14px;line-height:20px}.bank-glass-card__pill strong{margin-left:auto;font-weight:500;white-space:nowrap}.bank-glass-card__pulse{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#6fe0a7}@media (max-width: 1080px){.bank-glass-stage{padding:48px 40px}.bank-glass-grid{grid-template-columns:1fr}}@media (max-width: 640px){.bank-glass-stage{padding:32px 24px;border-radius:16px}.bank-glass-heading{margin-bottom:32px}.bank-glass-heading h1{font-size:40px;line-height:44px}.bank-glass-heading p{font-size:16px;line-height:24px}.bank-glass-card{min-height:288px;padding:24px}.bank-glass-card__balance strong{font-size:40px;line-height:44px}}.bank-glass-grid{--stack-peek: 40px}.bank-glass-tilt{position:relative;display:flex;padding-bottom:var(--stack-peek);transform:perspective(1000px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));transition:transform .16s ease-out;will-change:transform}.bank-glass-tilt>.bank-glass-card{flex:1;min-width:0;z-index:1}.bank-glass-stack>.bank-glass-card--behind{position:absolute;top:0;right:0;bottom:var(--stack-peek);left:0;z-index:0;transform:translateY(44px) scale(.96);opacity:.92;box-shadow:inset 0 1px #fffffff5,0 12px 28px #0f1b3047}.bank-glass-stack>.bank-glass-card--behind:hover{transform:translateY(46px) scale(.97);opacity:1}.bank-glass-stack>.bank-glass-card{transition:transform .32s cubic-bezier(.22,.8,.26,1),opacity .32s ease,box-shadow .32s ease}.bank-glass-card__flip{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;background:transparent;cursor:pointer}.bank-glass-card__flip:focus-visible{outline:2px solid #fff;outline-offset:-4px}.bank-glass-card--maribank:before{top:-104px;left:44px;width:280px;height:168px;transform:rotate(9deg)}.bank-glass-mark--maribank{border-color:transparent;background:transparent}.bank-glass-mark--maribank img{display:block;width:100%;height:100%;object-fit:contain}@media (prefers-reduced-motion: reduce){.bank-glass-tilt{transform:none;transition:none}.bank-glass-stack>.bank-glass-card{transition:none}}.opportunities-page{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.opportunities-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3)}.opportunities-eyebrow{display:flex;align-items:center;gap:6px;margin-bottom:7px;color:var(--ink-muted);font-size:var(--text-label);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase}.opportunities-header h1{margin:0;color:var(--text-heading);font-family:var(--font-display);font-size:var(--text-h1);font-weight:var(--weight-medium);line-height:var(--leading-tight)}.opportunities-header p{margin:5px 0 0;color:var(--ink-ghost);font-size:var(--text-body)}.opportunities-header-actions,.opportunities-board-actions{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap;justify-content:flex-end}.opportunities-select-wrap{position:relative;display:inline-flex;align-items:center;color:var(--ink-muted)}.opportunities-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-width:176px;height:36px;padding:0 32px 0 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-body)}.opportunities-select-wrap svg{position:absolute;right:10px;pointer-events:none}.opportunities-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;box-sizing:border-box;padding:0 12px;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--weight-medium);transition:transform .14s ease,background .14s ease,border-color .14s ease}.opportunities-button:hover:not(:disabled){transform:translateY(-1px)}.opportunities-button:disabled,.opportunities-icon-button:disabled{cursor:not-allowed;opacity:.45}.opportunities-button--primary{background:var(--accent);color:var(--surface)}.opportunities-button--light{background:var(--surface);color:var(--ink)}.opportunities-button--quiet{background:transparent;color:var(--card-text-muted);border-color:color-mix(in srgb,var(--surface) 28%,transparent)}.opportunities-button--outline{background:transparent;border-color:var(--border);color:var(--ink-muted)}.opportunities-notice{margin:calc(var(--space-1) * -1) 0 0;color:var(--positive);font-size:var(--text-small)}.opportunities-loading{display:flex;flex-direction:column;gap:10px;max-width:360px}.opportunities-blank{display:flex;align-items:flex-start;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.opportunities-blank h2{margin:0;font-family:var(--font-display);font-size:var(--text-h2);font-weight:var(--weight-medium);color:var(--text-heading)}.opportunities-blank p{max-width:450px;margin:0;color:var(--ink-muted)}.opportunities-board{overflow:hidden;border:1px solid var(--card-blue);border-radius:var(--radius-lg);background:radial-gradient(ellipse at 92% -50%,color-mix(in srgb,var(--surface) 22%,transparent),transparent 44%),var(--surface-card);box-shadow:var(--shadow-card)}.opportunities-board-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:18px var(--space-3);border-bottom:1px solid color-mix(in srgb,var(--surface) 22%,transparent);color:var(--card-text)}.opportunities-board-bar>div:first-child{display:flex;align-items:baseline;gap:10px;min-width:0}.opportunities-board-kicker{color:var(--card-text-muted);font-size:var(--text-label);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase}.opportunities-board-bar strong{overflow:hidden;font-family:var(--font-display);font-size:var(--text-h2);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap}.opportunities-stage-total{color:var(--card-text-muted);font-family:var(--font-mono);font-size:var(--text-mono-small);white-space:nowrap}.opportunities-lanes{display:grid;grid-auto-columns:minmax(216px,1fr);grid-auto-flow:column;grid-template-rows:1fr;gap:1px;overflow-x:auto;background:color-mix(in srgb,var(--surface) 22%,transparent)}.opportunities-lanes--loading{grid-auto-flow:initial;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);background:transparent}.opportunity-lane{display:flex;flex-direction:column;min-height:382px;padding:var(--space-2);background:color-mix(in srgb,var(--card-blue) 76%,var(--surface));transition:background .14s ease}.opportunity-lane--drop-target{background:color-mix(in srgb,var(--positive) 34%,var(--card-blue))}.opportunity-lane-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-1);padding:0 2px 12px;color:var(--card-text);font-size:var(--text-body);font-weight:var(--weight-medium)}.opportunity-lane-header span:last-child{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--surface) 22%,transparent);color:var(--card-text-muted);font-family:var(--font-mono);font-size:10px}.opportunity-lane-cards{display:flex;flex:1;flex-direction:column;gap:10px}.opportunity-lane-empty{display:flex;flex:1;align-items:center;justify-content:center;min-height:110px;margin:0;border:1px dashed color-mix(in srgb,var(--surface) 28%,transparent);border-radius:var(--radius-lg);color:var(--card-text-muted);font-size:var(--text-small);text-align:center}.opportunity-glass-card{position:relative;isolation:isolate;overflow:hidden;padding:13px 14px;border:1px solid color-mix(in srgb,var(--surface) 82%,transparent);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 80%,transparent),color-mix(in srgb,var(--surface) 30%,transparent));box-shadow:inset 0 1px color-mix(in srgb,var(--surface) 92%,transparent),inset 0 -1px color-mix(in srgb,var(--navy-900) 16%,transparent),0 10px 18px color-mix(in srgb,var(--ink) 19%,transparent);color:var(--navy-900);cursor:grab;-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.opportunity-glass-card:after{position:absolute;z-index:-1;width:190px;height:78px;top:-48px;right:-42px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--surface) 28%,transparent);content:"";transform:rotate(-12deg)}.opportunity-glass-card:hover{transform:translateY(-2px);box-shadow:inset 0 1px color-mix(in srgb,var(--surface) 92%,transparent),0 14px 24px color-mix(in srgb,var(--ink) 25%,transparent)}.opportunity-glass-card:active{cursor:grabbing}.opportunity-glass-card--dragging{opacity:.44;transform:rotate(2deg)}.opportunity-card-top{display:flex;align-items:center;gap:4px;margin-bottom:16px;color:var(--navy-800);font-size:10px;font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase}.opportunity-card-top svg{margin-left:-4px;color:var(--navy-800)}.opportunity-glass-card>strong{display:block;overflow:hidden;color:var(--navy-900);font-family:var(--font-display);font-size:16px;font-weight:var(--weight-medium);line-height:var(--leading-tight);text-overflow:ellipsis;white-space:nowrap}.opportunity-glass-card>p{overflow:hidden;margin:4px 0 0;color:var(--navy-800);font-size:var(--text-small);text-overflow:ellipsis;white-space:nowrap}.opportunity-card-value{display:flex;align-items:end;justify-content:space-between;gap:8px;margin-top:18px}.opportunity-card-value span{color:var(--navy-800);font-size:10px;letter-spacing:var(--tracking-label);text-transform:uppercase}.opportunity-card-value b{color:var(--navy-900);font-family:var(--font-mono);font-size:var(--text-mono-small);font-weight:500;white-space:nowrap}.opportunities-modal-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:var(--space-2);background:color-mix(in srgb,var(--ink) 35%,transparent)}.opportunities-modal{width:min(100%,560px);max-height:min(720px,calc(100vh - var(--space-4)));overflow:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card)}.opportunities-modal--compact{width:min(100%,470px)}.opportunities-modal-header,.opportunities-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.opportunities-modal-header{border-bottom:1px solid var(--divider)}.opportunities-modal-header span{display:block;margin-bottom:3px;color:var(--ink-ghost);font-size:var(--text-label);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase}.opportunities-modal-header h2{margin:0;color:var(--text-heading);font-family:var(--font-display);font-size:var(--text-h2);font-weight:var(--weight-medium)}.opportunities-modal-body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3)}.opportunities-modal-body--grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.opportunities-modal-footer{border-top:1px solid var(--divider);justify-content:flex-end}.opportunities-field{display:flex;flex-direction:column;gap:6px;min-width:0}.opportunities-field--span,.opportunities-form-error--span{grid-column:1 / -1}.opportunities-field>span,.opportunities-stage-editor-header span{color:var(--ink-muted);font-size:var(--text-label);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase}.opportunities-field input,.opportunities-field select,.opportunities-stage-row input{width:100%;box-sizing:border-box;min-width:0;height:38px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-md);outline:none;background:var(--surface);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-body)}.opportunities-field select{cursor:pointer}.opportunities-field input:focus,.opportunities-field select:focus,.opportunities-stage-row input:focus,.opportunities-select:focus{border-color:var(--ink-muted);box-shadow:0 0 0 2px var(--cream-dark)}.opportunities-form-error{margin:0;color:var(--negative);font-size:var(--text-small)}.opportunities-stage-editor{display:flex;flex-direction:column;gap:10px;padding-top:4px}.opportunities-stage-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.opportunities-stage-editor-header p{margin:3px 0 0;color:var(--ink-ghost);font-size:var(--text-small)}.opportunities-text-button{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:0;border:0;background:transparent;color:var(--ink);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-small);font-weight:var(--weight-medium)}.opportunities-stage-list{display:flex;flex-direction:column;gap:6px}.opportunities-stage-row{display:flex;align-items:center;gap:6px}.opportunities-stage-position{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 20px;border-radius:var(--radius-pill);background:var(--cream-dark);color:var(--ink-muted);font-family:var(--font-mono);font-size:10px}.opportunities-stage-row-actions{display:flex;gap:2px}.opportunities-icon-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--ink-muted);cursor:pointer}.opportunities-icon-button:hover:not(:disabled){background:var(--cream-dark);color:var(--ink)}.opportunities-icon-button--danger:hover:not(:disabled){color:var(--negative)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 760px){.opportunities-header{align-items:flex-start;flex-direction:column}.opportunities-header-actions{width:100%;justify-content:stretch}.opportunities-select-wrap{flex:1}.opportunities-select{width:100%}.opportunities-board-bar{align-items:flex-start;flex-direction:column}.opportunities-board-actions{width:100%;justify-content:flex-start}.opportunities-lanes{grid-auto-columns:minmax(232px,78vw)}}@media (prefers-reduced-motion: reduce){.opportunities-button,.opportunity-lane,.opportunity-glass-card{transition:none}.opportunities-button:hover:not(:disabled),.opportunity-glass-card:hover{transform:none}}.orders-payment-cell{display:inline-flex;align-items:center;gap:6px;min-width:max-content}.orders-payment-channel-reveal{animation:orders-payment-channel-in .16s ease-out both}.orders-sort-button{display:inline-flex;align-items:center;gap:4px;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.orders-sort-button--right{justify-content:flex-end}.orders-sort-indicator{color:var(--card-text-muted);font-size:var(--text-small)}.orders-sort-button[aria-pressed=true] .orders-sort-indicator,.orders-sort-button:hover .orders-sort-indicator{color:var(--card-text)}.orders-sort-button:focus-visible{outline:2px solid var(--cream);outline-offset:3px;border-radius:var(--radius-sm)}@keyframes orders-payment-channel-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion: reduce){.orders-payment-channel-reveal{animation:none}}.async-action-button{display:inline-grid;place-items:center}.async-action-button__content{display:inline-flex;align-items:center;justify-content:center;gap:7px}.async-action-button__success-mark{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;border-radius:999px;color:var(--surface);background:var(--positive);box-shadow:0 0 color-mix(in srgb,var(--positive) 48%,transparent);animation:async-action-button-ring .46s cubic-bezier(.16,1,.3,1) both}.async-action-button__check{overflow:visible}.async-action-button__check path,.async-action-button__check polyline{stroke-dasharray:26;stroke-dashoffset:26;animation:async-action-button-check .26s .15s ease-out forwards}@keyframes async-action-button-ring{0%{transform:scale(.42);box-shadow:0 0 color-mix(in srgb,var(--positive) 48%,transparent)}58%{transform:scale(1.13);box-shadow:0 0 0 7px color-mix(in srgb,var(--positive) 0%,transparent)}to{transform:scale(1);box-shadow:0 0 color-mix(in srgb,var(--positive) 0%,transparent)}}@keyframes async-action-button-check{to{stroke-dashoffset:0}}@media (prefers-reduced-motion: reduce){.async-action-button__success-mark,.async-action-button__check path,.async-action-button__check polyline{animation:none}.async-action-button__check path,.async-action-button__check polyline{stroke-dashoffset:0}}.chart-reveal-bar{animation:chart-bar-grow .5s cubic-bezier(0,.7,.5,1) backwards}@keyframes chart-bar-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@media (prefers-reduced-motion: reduce){.chart-reveal-bar{animation:none}}
