@font-face{font-family:primeicons;font-display:block;src:url(/assets/primeicons-C1oiW3xv.eot);src:url(/assets/primeicons-C1oiW3xv.eot?#iefix)format("embedded-opentype"),url(/assets/primeicons-Cw7jw2u3.woff2)format("woff2"),url(/assets/primeicons-DFbS0HxT.woff)format("woff"),url(/assets/primeicons-MNyB0pWW.ttf)format("truetype"),url(/assets/primeicons-DI7WxhAS.svg?#primeicons)format("svg");font-weight:400;font-style:normal}.pi{speak:none;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:primeicons;font-style:normal;font-weight:400;line-height:1;display:inline-block}.pi:before{--webkit-backface-visibility:hidden;backface-visibility:hidden}.pi-fw{text-align:center;width:1.28571em}.pi-spin{animation:2s linear infinite fa-spin}@media (prefers-reduced-motion:reduce){.pi-spin{transition-duration:0s;transition-delay:0s;animation-duration:1ms;animation-iteration-count:1;animation-delay:-1ms}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.pi-eye-dropper:before{content:""}.pi-code-branch:before{content:""}.pi-signature:before{content:""}.pi-stamp:before{content:""}.pi-rectangle-xmark:before{content:""}.pi-note-sticky:before{content:""}.pi-sidebar:before{content:""}.pi-slash:before{content:""}.pi-grid-2:before{content:""}.pi-columns-2:before{content:""}.pi-rows-2:before{content:""}.pi-square:before{content:""}.pi-compress:before{content:""}.pi-pen-line:before{content:""}.pi-case-sensitive:before{content:""}.pi-text-color:before{content:""}.pi-list-tree:before{content:""}.pi-highlighter:before{content:""}.pi-text:before{content:""}.pi-heading-6:before{content:""}.pi-heading-5:before{content:""}.pi-heading-4:before{content:""}.pi-heading-3:before{content:""}.pi-heading-2:before{content:""}.pi-heading-1:before{content:""}.pi-heading:before{content:""}.pi-grip:before{content:""}.pi-grip-horizontal:before{content:""}.pi-grip-vertical:before{content:""}.pi-paragraph-right:before{content:""}.pi-paragraph-left:before{content:""}.pi-arrow-u-turn-up-left:before{content:""}.pi-arrow-u-turn-up-right:before{content:""}.pi-horizontal-rule:before{content:""}.pi-outdent:before{content:""}.pi-indent:before{content:""}.pi-list-ol:before{content:""}.pi-block-quote:before{content:""}.pi-superscript:before{content:""}.pi-subscript:before{content:""}.pi-strikethrough:before{content:""}.pi-underline:before{content:""}.pi-italic:before{content:""}.pi-bold:before{content:""}.pi-dot:before{content:""}.pi-folder-plus:before{content:""}.pi-receipt:before{content:""}.pi-asterisk:before{content:""}.pi-face-smile:before{content:""}.pi-pinterest:before{content:""}.pi-expand:before{content:""}.pi-pen-to-square:before{content:""}.pi-wave-pulse:before{content:""}.pi-turkish-lira:before{content:""}.pi-spinner-dotted:before{content:""}.pi-crown:before{content:""}.pi-pause-circle:before{content:""}.pi-warehouse:before{content:""}.pi-objects-column:before{content:""}.pi-clipboard:before{content:""}.pi-play-circle:before{content:""}.pi-venus:before{content:""}.pi-cart-minus:before{content:""}.pi-file-plus:before{content:""}.pi-microchip:before{content:""}.pi-twitch:before{content:""}.pi-building-columns:before{content:""}.pi-file-check:before{content:""}.pi-microchip-ai:before{content:""}.pi-trophy:before{content:""}.pi-barcode:before{content:""}.pi-file-arrow-up:before{content:""}.pi-mars:before{content:""}.pi-tiktok:before{content:""}.pi-arrow-up-right-and-arrow-down-left-from-center:before{content:""}.pi-ethereum:before{content:""}.pi-list-check:before{content:""}.pi-thumbtack:before{content:""}.pi-arrow-down-left-and-arrow-up-right-to-center:before{content:""}.pi-equals:before{content:""}.pi-lightbulb:before{content:""}.pi-star-half:before{content:""}.pi-address-book:before{content:""}.pi-chart-scatter:before{content:""}.pi-indian-rupee:before{content:""}.pi-star-half-fill:before{content:""}.pi-cart-arrow-down:before{content:""}.pi-calendar-clock:before{content:""}.pi-sort-up-fill:before{content:""}.pi-sparkles:before{content:""}.pi-bullseye:before{content:""}.pi-sort-down-fill:before{content:""}.pi-graduation-cap:before{content:""}.pi-hammer:before{content:""}.pi-bell-slash:before{content:""}.pi-gauge:before{content:""}.pi-shop:before{content:""}.pi-headphones:before{content:""}.pi-eraser:before{content:""}.pi-stopwatch:before{content:""}.pi-verified:before{content:""}.pi-delete-left:before{content:""}.pi-hourglass:before{content:""}.pi-truck:before{content:""}.pi-wrench:before{content:""}.pi-microphone:before{content:""}.pi-megaphone:before{content:""}.pi-arrow-right-arrow-left:before{content:""}.pi-bitcoin:before{content:""}.pi-file-edit:before{content:""}.pi-language:before{content:""}.pi-file-export:before{content:""}.pi-file-import:before{content:""}.pi-file-word:before{content:""}.pi-gift:before{content:""}.pi-cart-plus:before{content:""}.pi-thumbs-down-fill:before{content:""}.pi-thumbs-up-fill:before{content:""}.pi-arrows-alt:before{content:""}.pi-calculator:before{content:""}.pi-sort-alt-slash:before{content:""}.pi-arrows-h:before{content:""}.pi-arrows-v:before{content:""}.pi-pound:before{content:""}.pi-prime:before{content:""}.pi-chart-pie:before{content:""}.pi-reddit:before{content:""}.pi-code:before{content:""}.pi-sync:before{content:""}.pi-shopping-bag:before{content:""}.pi-server:before{content:""}.pi-database:before{content:""}.pi-hashtag:before{content:""}.pi-bookmark-fill:before{content:""}.pi-filter-fill:before{content:""}.pi-heart-fill:before{content:""}.pi-flag-fill:before{content:""}.pi-circle:before{content:""}.pi-circle-fill:before{content:""}.pi-bolt:before{content:""}.pi-history:before{content:""}.pi-box:before{content:""}.pi-at:before{content:""}.pi-arrow-up-right:before{content:""}.pi-arrow-up-left:before{content:""}.pi-arrow-down-left:before{content:""}.pi-arrow-down-right:before{content:""}.pi-telegram:before{content:""}.pi-stop-circle:before{content:""}.pi-stop:before{content:""}.pi-whatsapp:before{content:""}.pi-building:before{content:""}.pi-qrcode:before{content:""}.pi-car:before{content:""}.pi-instagram:before{content:""}.pi-linkedin:before{content:""}.pi-send:before{content:""}.pi-slack:before{content:""}.pi-moon:before{content:""}.pi-sun:before{content:""}.pi-youtube:before{content:""}.pi-vimeo:before{content:""}.pi-flag:before{content:""}.pi-wallet:before{content:""}.pi-map:before{content:""}.pi-link:before{content:""}.pi-credit-card:before{content:""}.pi-discord:before{content:""}.pi-percentage:before{content:""}.pi-euro:before{content:""}.pi-book:before{content:""}.pi-shield:before{content:""}.pi-paypal:before{content:""}.pi-amazon:before{content:""}.pi-phone:before{content:""}.pi-filter-slash:before{content:""}.pi-facebook:before{content:""}.pi-github:before{content:""}.pi-twitter:before{content:""}.pi-step-backward-alt:before{content:""}.pi-step-forward-alt:before{content:""}.pi-forward:before{content:""}.pi-backward:before{content:""}.pi-fast-backward:before{content:""}.pi-fast-forward:before{content:""}.pi-pause:before{content:""}.pi-play:before{content:""}.pi-compass:before{content:""}.pi-id-card:before{content:""}.pi-ticket:before{content:""}.pi-file-o:before{content:""}.pi-reply:before{content:""}.pi-directions-alt:before{content:""}.pi-directions:before{content:""}.pi-thumbs-up:before{content:""}.pi-thumbs-down:before{content:""}.pi-sort-numeric-down-alt:before{content:""}.pi-sort-numeric-up-alt:before{content:""}.pi-sort-alpha-down-alt:before{content:""}.pi-sort-alpha-up-alt:before{content:""}.pi-sort-numeric-down:before{content:""}.pi-sort-numeric-up:before{content:""}.pi-sort-alpha-down:before{content:""}.pi-sort-alpha-up:before{content:""}.pi-sort-alt:before{content:""}.pi-sort-amount-up:before{content:""}.pi-sort-amount-down:before{content:""}.pi-sort-amount-down-alt:before{content:""}.pi-sort-amount-up-alt:before{content:""}.pi-palette:before{content:""}.pi-undo:before{content:""}.pi-desktop:before{content:""}.pi-sliders-v:before{content:""}.pi-sliders-h:before{content:""}.pi-search-plus:before{content:""}.pi-search-minus:before{content:""}.pi-file-excel:before{content:""}.pi-file-pdf:before{content:""}.pi-check-square:before{content:""}.pi-chart-line:before{content:""}.pi-user-edit:before{content:""}.pi-exclamation-circle:before{content:""}.pi-android:before{content:""}.pi-google:before{content:""}.pi-apple:before{content:""}.pi-microsoft:before{content:""}.pi-heart:before{content:""}.pi-mobile:before{content:""}.pi-tablet:before{content:""}.pi-key:before{content:""}.pi-shopping-cart:before{content:""}.pi-comments:before{content:""}.pi-comment:before{content:""}.pi-briefcase:before{content:""}.pi-bell:before{content:""}.pi-paperclip:before{content:""}.pi-share-alt:before{content:""}.pi-envelope:before{content:""}.pi-volume-down:before{content:""}.pi-volume-up:before{content:""}.pi-volume-off:before{content:""}.pi-eject:before{content:""}.pi-money-bill:before{content:""}.pi-images:before{content:""}.pi-image:before{content:""}.pi-sign-in:before{content:""}.pi-sign-out:before{content:""}.pi-wifi:before{content:""}.pi-sitemap:before{content:""}.pi-chart-bar:before{content:""}.pi-camera:before{content:""}.pi-dollar:before{content:""}.pi-lock-open:before{content:""}.pi-table:before{content:""}.pi-map-marker:before{content:""}.pi-list:before{content:""}.pi-eye-slash:before{content:""}.pi-eye:before{content:""}.pi-folder-open:before{content:""}.pi-folder:before{content:""}.pi-video:before{content:""}.pi-inbox:before{content:""}.pi-lock:before{content:""}.pi-unlock:before{content:""}.pi-tags:before{content:""}.pi-tag:before{content:""}.pi-power-off:before{content:""}.pi-save:before{content:""}.pi-question-circle:before{content:""}.pi-question:before{content:""}.pi-copy:before{content:""}.pi-file:before{content:""}.pi-clone:before{content:""}.pi-calendar-times:before{content:""}.pi-calendar-minus:before{content:""}.pi-calendar-plus:before{content:""}.pi-ellipsis-v:before{content:""}.pi-ellipsis-h:before{content:""}.pi-bookmark:before{content:""}.pi-globe:before{content:""}.pi-replay:before{content:""}.pi-filter:before{content:""}.pi-print:before{content:""}.pi-align-right:before{content:""}.pi-align-left:before{content:""}.pi-align-center:before{content:""}.pi-align-justify:before{content:""}.pi-cog:before{content:""}.pi-cloud-download:before{content:""}.pi-cloud-upload:before{content:""}.pi-cloud:before{content:""}.pi-pencil:before{content:""}.pi-users:before{content:""}.pi-clock:before{content:""}.pi-user-minus:before{content:""}.pi-user-plus:before{content:""}.pi-trash:before{content:""}.pi-window-minimize:before{content:""}.pi-window-maximize:before{content:""}.pi-external-link:before{content:""}.pi-refresh:before{content:""}.pi-user:before{content:""}.pi-exclamation-triangle:before{content:""}.pi-calendar:before{content:""}.pi-chevron-circle-left:before{content:""}.pi-chevron-circle-down:before{content:""}.pi-chevron-circle-right:before{content:""}.pi-chevron-circle-up:before{content:""}.pi-angle-double-down:before{content:""}.pi-angle-double-left:before{content:""}.pi-angle-double-right:before{content:""}.pi-angle-double-up:before{content:""}.pi-angle-down:before{content:""}.pi-angle-left:before{content:""}.pi-angle-right:before{content:""}.pi-angle-up:before{content:""}.pi-upload:before{content:""}.pi-download:before{content:""}.pi-ban:before{content:""}.pi-star-fill:before{content:""}.pi-star:before{content:""}.pi-chevron-left:before{content:""}.pi-chevron-right:before{content:""}.pi-chevron-down:before{content:""}.pi-chevron-up:before{content:""}.pi-caret-left:before{content:""}.pi-caret-right:before{content:""}.pi-caret-down:before{content:""}.pi-caret-up:before{content:""}.pi-search:before{content:""}.pi-check:before{content:""}.pi-check-circle:before{content:""}.pi-times:before{content:""}.pi-times-circle:before{content:""}.pi-plus:before{content:""}.pi-plus-circle:before{content:""}.pi-minus:before{content:""}.pi-minus-circle:before{content:""}.pi-circle-on:before{content:""}.pi-circle-off:before{content:""}.pi-sort-down:before{content:""}.pi-sort-up:before{content:""}.pi-sort:before{content:""}.pi-step-backward:before{content:""}.pi-step-forward:before{content:""}.pi-th-large:before{content:""}.pi-arrow-down:before{content:""}.pi-arrow-left:before{content:""}.pi-arrow-right:before{content:""}.pi-arrow-up:before{content:""}.pi-bars:before{content:""}.pi-arrow-circle-down:before{content:""}.pi-arrow-circle-left:before{content:""}.pi-arrow-circle-right:before{content:""}.pi-arrow-circle-up:before{content:""}.pi-info:before{content:""}.pi-info-circle:before{content:""}.pi-home:before{content:""}.pi-spinner:before{content:""}:root{--visor-bg:#f3f4f6;--visor-surface:#fff;--visor-text:#111827;--visor-muted:#6b7280;--visor-subtle:#9ca3af;--visor-border:#e5e7eb;--visor-accent:#2563eb;--visor-accent-hover:#1d4ed8;--visor-accent-soft:#eff6ff;--visor-accent-soft-hover:#dbeafe;--visor-success:#059669;--visor-success-soft:#d1fae5;--visor-danger:#dc2626;--visor-danger-soft:#fee2e2;--visor-hover:#f3f4f6;--visor-hover-strong:#f9fafb;--visor-track:#e5e7eb;--visor-warning-soft:#fffbeb;--visor-nav-text:#4b5563;--visor-chart-grid:#f3f4f6;--visor-chart-previous:#d1d5db;--visor-btn:#2563eb;--visor-btn-hover:#1d4ed8;--visor-btn-text:#fff;--visor-radius:12px;--visor-radius-sm:8px;--visor-shadow:0 1px 2px #0f172a0a, 0 8px 24px #0f172a0f;--visor-sidebar-width:15.5rem;color:var(--visor-text);background:var(--visor-bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,system-ui,sans-serif;line-height:1.5}html[data-theme=dark]{--visor-bg:#111827;--visor-surface:#1f2937;--visor-text:#f9fafb;--visor-muted:#9ca3af;--visor-subtle:#6b7280;--visor-border:#ffffff1a;--visor-accent:#60a5fa;--visor-accent-hover:#93c5fd;--visor-accent-soft:#60a5fa29;--visor-accent-soft-hover:#60a5fa3d;--visor-success:#34d399;--visor-success-soft:#10b9812e;--visor-danger:#f87171;--visor-danger-soft:#dc262633;--visor-hover:#ffffff0f;--visor-hover-strong:#ffffff14;--visor-track:#374151;--visor-warning-soft:#f59e0b29;--visor-nav-text:#d1d5db;--visor-chart-grid:#374151;--visor-chart-previous:#6b7280;--visor-btn:#2563eb;--visor-btn-hover:#1d4ed8;--visor-btn-text:#fff;--visor-shadow:0 1px 2px #0000003d, 0 8px 24px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--visor-bg);min-width:1024px;min-height:100%;color:var(--visor-text);margin:0}.app-shell{min-width:1024px;min-height:100vh;display:flex}.app-sidebar{width:var(--visor-sidebar-width);background:var(--visor-surface);border-right:1px solid var(--visor-border);flex-direction:column;flex-shrink:0;align-self:flex-start;height:100vh;padding:1.35rem .85rem 1.1rem;display:flex;position:sticky;top:0;overflow-y:auto}.app-brand{letter-spacing:-.03em;color:var(--visor-accent);align-items:center;gap:.55rem;margin:0 .5rem 1.65rem;font-size:1.35rem;font-weight:700;text-decoration:none;display:flex}.app-brand-mark{object-fit:contain;flex-shrink:0;width:1.75rem;height:1.75rem;display:block}.app-sidebar-alerts{justify-content:flex-end;margin:-.85rem .35rem 1rem;display:flex}.alerts-bell-button{color:var(--visor-muted)!important}.alerts-bell-button:hover{color:var(--visor-accent)!important}.alerts-panel{width:min(22rem,90vw);padding:0}.alerts-panel-header{padding:.75rem 1rem .35rem;font-size:.95rem;font-weight:600}.alerts-panel-empty{color:var(--visor-muted);margin:0;padding:.5rem 1rem 1rem;font-size:.9rem}.alerts-panel-list{max-height:20rem;margin:0;padding:0 0 .5rem;list-style:none;overflow:auto}.alerts-panel-item{border-top:1px solid var(--visor-border)}.alerts-panel-link{color:inherit;align-items:flex-start;gap:.65rem;padding:.7rem 1rem;text-decoration:none;display:flex}.alerts-panel-link:hover{background:var(--visor-surface-muted,#0000000a)}.alerts-panel-link>i{color:var(--visor-accent);margin-top:.15rem}.alerts-panel-link strong{font-size:.9rem;display:block}.alerts-panel-type{color:var(--visor-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.1rem;font-size:.72rem;display:block}.alerts-panel-body{color:var(--visor-muted);margin-top:.15rem;font-size:.82rem;line-height:1.35;display:block}.alerts-panel-action{color:var(--visor-accent);align-items:center;gap:.35rem;margin-top:.4rem;font-size:.78rem;font-weight:600;display:inline-flex}.alerts-panel-action>i{font-size:.65rem}.app-nav{flex-direction:column;gap:.2rem;display:flex}.app-nav-section+.app-nav-section{border-top:1px solid var(--visor-border);margin-top:1.1rem;padding-top:.85rem}.app-nav-section-label{color:var(--visor-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 .8rem .4rem;font-size:.6875rem;font-weight:600;display:block}.app-nav--footer{border-top:1px solid var(--visor-border);margin-top:auto;padding-top:.75rem}.app-nav-link{border-radius:var(--visor-radius-sm);color:var(--visor-nav-text);align-items:center;gap:.75rem;padding:.65rem .8rem;font-size:.9375rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s;display:flex}.app-nav-link i{text-align:center;width:1.125rem;font-size:1rem}.app-nav-link:hover{background:var(--visor-hover);color:var(--visor-text)}.app-nav-link--active{background:var(--visor-accent-soft);color:var(--visor-accent)}.app-nav-link--active:hover{background:var(--visor-accent-soft-hover);color:var(--visor-accent-hover)}.app-nav-group{flex-direction:column;gap:.2rem;display:flex}.app-nav-group-label{color:var(--visor-muted);align-items:center;gap:.75rem;padding:.65rem .8rem .2rem;font-size:.9375rem;font-weight:500;display:flex}.app-nav-group-label i{text-align:center;width:1.125rem;font-size:1rem}.app-nav-link--nested{padding-left:2.35rem}.app-nav-link--disabled{color:var(--visor-muted);cursor:default;-webkit-user-select:none;user-select:none}.app-nav-link--disabled:hover{color:var(--visor-muted);background:0 0}.app-nav-badge{background:var(--visor-hover);color:var(--visor-muted);letter-spacing:.01em;white-space:nowrap;border-radius:999px;margin-left:auto;padding:.15rem .5rem;font-size:.6875rem;font-weight:600}button.app-nav-logout{cursor:pointer;width:100%;font:inherit;text-align:left;background:0 0;border:none;margin-top:.25rem}.auth-shell{background:radial-gradient(ellipse 80% 60% at 10% 20%, var(--visor-accent-soft), transparent 55%), radial-gradient(ellipse 70% 50% at 90% 80%, var(--visor-success-soft), transparent 50%), var(--visor-bg);justify-content:center;align-items:center;min-width:1024px;min-height:100vh;padding:2rem;display:flex}.auth-panel{background:var(--visor-surface);border:1px solid var(--visor-border);border-radius:var(--visor-radius);width:min(26rem,100%);box-shadow:var(--visor-shadow);padding:2rem 1.75rem 1.5rem}.auth-brand{justify-content:center;align-items:center;margin-bottom:.85rem;display:flex}.auth-brand-logo{object-fit:contain;width:min(11.5rem,100%);height:auto;display:block}.auth-subtitle{color:var(--visor-muted);margin:0 0 1.35rem;font-size:.9375rem}.auth-form{flex-direction:column;gap:.9rem;display:flex}.auth-form .form-field{flex-direction:column;gap:.35rem;display:flex}.auth-form .form-field>span{color:var(--visor-muted);font-size:.8125rem;font-weight:600}.auth-form .form-field .p-password,.auth-form .form-field .p-password .p-inputtext{width:100%}.auth-submit{width:100%;margin-top:.25rem}.auth-switch{width:100%;color:var(--visor-accent);font:inherit;cursor:pointer;text-align:center;background:0 0;border:none;margin-top:1rem;padding:.5rem;font-size:.875rem;display:block}.auth-switch:hover{color:var(--visor-accent-hover);text-decoration:underline}.app-main{flex:1;min-width:0;max-width:calc(1280px + 4rem);margin:1.5rem auto 2.5rem;padding:0 2rem}.page-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.35rem;display:flex}.page-header h1{letter-spacing:-.03em;color:var(--visor-text);margin:0;font-size:1.75rem;font-weight:700}.page-subtitle{color:var(--visor-muted);margin:.3rem 0 0;font-size:.9375rem}.page-inline-link{color:var(--visor-accent);font-weight:600;text-decoration:none}.page-inline-link:hover{text-decoration:underline}.page-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.app-main :not(.p-selectbutton)>.p-button:not(.p-button-outlined):not(.p-button-text):not(.p-button-secondary):not(.p-button-success):not(.p-button-info):not(.p-button-warning):not(.p-button-help):not(.p-button-danger){background:var(--visor-btn);border-color:var(--visor-btn);color:var(--visor-btn-text)}.app-main :not(.p-selectbutton)>.p-button:not(.p-button-outlined):not(.p-button-text):not(.p-button-secondary):not(.p-button-success):not(.p-button-info):not(.p-button-warning):not(.p-button-help):not(.p-button-danger):hover{background:var(--visor-btn-hover);border-color:var(--visor-btn-hover);color:var(--visor-btn-text)}.app-main :not(.p-selectbutton)>.p-button.p-button-outlined:not(.p-button-danger):not(.p-button-success):not(.p-button-secondary){border-color:var(--visor-border);color:var(--visor-text);background:0 0}.app-main :not(.p-selectbutton)>.p-button.p-button-outlined:not(.p-button-danger):not(.p-button-success):not(.p-button-secondary):hover{background:var(--visor-hover);border-color:var(--visor-accent);color:var(--visor-accent)}.app-main :not(.p-selectbutton)>.p-button.p-button-outlined.p-button-secondary{border-color:var(--visor-border);color:var(--visor-text);background:0 0}.app-main :not(.p-selectbutton)>.p-button.p-button-outlined.p-button-secondary:hover{background:var(--visor-hover);border-color:var(--visor-accent);color:var(--visor-accent)}.app-main :not(.p-selectbutton)>.p-button.p-button-outlined.p-button-danger{border-color:var(--visor-danger-soft);color:var(--visor-danger);background:0 0}.app-main :not(.p-selectbutton)>.p-button.p-button-outlined.p-button-danger:hover{background:var(--visor-danger-soft);border-color:var(--visor-danger);color:var(--visor-danger)}.app-main :not(.p-selectbutton)>.p-button.p-button-text:not(.p-button-danger):not(.p-button-success){color:var(--visor-nav-text)}.app-main :not(.p-selectbutton)>.p-button.p-button-text:not(.p-button-danger):not(.p-button-success):hover{background:var(--visor-hover);color:var(--visor-text)}.app-main :not(.p-selectbutton)>.p-button.p-button-text.p-button-danger{color:var(--visor-danger)}.app-main :not(.p-selectbutton)>.p-button.p-button-text.p-button-danger:hover{background:var(--visor-danger-soft);color:var(--visor-danger)}.app-main .p-selectbutton .p-button{background:var(--visor-hover);border-color:var(--visor-border);color:var(--visor-muted)}.app-main .p-selectbutton .p-button:hover{background:var(--visor-hover-strong);border-color:var(--visor-border);color:var(--visor-text)}.app-main .p-selectbutton .p-button.p-highlight{background:var(--visor-accent-soft);border-color:var(--visor-accent-soft);color:var(--visor-accent)}.app-main .p-selectbutton .p-button.p-highlight:hover{background:var(--visor-accent-soft-hover);border-color:var(--visor-accent-soft-hover);color:var(--visor-accent-hover)}.dash-header{margin-bottom:1.5rem}.dash-budget-strip{border:1px solid color-mix(in srgb, var(--visor-danger) 28%, var(--visor-border));border-radius:var(--visor-radius-sm);background:var(--visor-danger-soft);justify-content:space-between;align-items:center;gap:1rem;margin:-.5rem 0 1.15rem;padding:.75rem 1rem;display:flex}.dash-budget-strip p{color:var(--visor-text);align-items:center;gap:.55rem;margin:0;font-size:.9375rem;display:flex}.dash-budget-strip i{color:var(--visor-danger)}.dash-budget-strip a{color:var(--visor-danger);flex-shrink:0;font-weight:600;text-decoration:none}.dash-budget-strip a:hover{text-decoration:underline}.dash-quality-strip{border:1px solid color-mix(in srgb, var(--visor-accent) 28%, var(--visor-border));border-radius:var(--visor-radius-sm);background:var(--visor-accent-soft);justify-content:space-between;align-items:center;gap:1rem;margin:-.5rem 0 1.15rem;padding:.75rem 1rem;display:flex}.dash-quality-strip p{color:var(--visor-text);align-items:center;gap:.55rem;margin:0;font-size:.9375rem;display:flex}.dash-quality-strip i{color:var(--visor-accent)}.dash-quality-strip a{color:var(--visor-accent);flex-shrink:0;font-weight:600;text-decoration:none}.dash-quality-strip a:hover{text-decoration:underline}.dash-header-link{color:var(--visor-accent);font-weight:600;text-decoration:none}.dash-header-link:hover{text-decoration:underline}.month-close-progress{color:var(--visor-muted);margin:0 0 1rem;font-size:.9375rem}.month-close-success{width:100%;margin-bottom:1.25rem}.month-close-list{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.month-close-item{border:1px solid var(--visor-border);border-radius:var(--visor-radius-sm);background:var(--visor-surface);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex}.month-close-item--done{border-color:color-mix(in srgb, var(--visor-success) 35%, var(--visor-border));background:var(--visor-success-soft)}.month-close-item-main{align-items:flex-start;gap:.75rem;min-width:0;display:flex}.month-close-check{color:var(--visor-muted);margin-top:.15rem;font-size:1.15rem}.month-close-item--done .month-close-check{color:var(--visor-success)}.month-close-title{color:var(--visor-text);margin:0;font-weight:650}.month-close-detail{color:var(--visor-muted);margin:.25rem 0 0;font-size:.9rem}.month-close-manual{color:var(--visor-text);cursor:pointer;align-items:center;gap:.5rem;margin-top:.65rem;font-size:.9rem;display:inline-flex}.month-close-actions{margin:1.25rem 0 .5rem}.month-close-summary{border:1px solid var(--visor-border,#00000014);background:var(--visor-surface,#fff);border-radius:12px;margin:1rem 0 1.5rem;padding:1.1rem 1.25rem}.month-close-summary-title{color:var(--visor-text);margin:0 0 .85rem;font-size:1.05rem;font-weight:650}.month-close-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.month-close-summary-grid span{color:var(--visor-muted);font-size:.8rem;display:block}.month-close-summary-grid strong{color:var(--visor-text);margin-top:.2rem;font-size:1.05rem;display:block}.month-close-summary-compare{color:var(--visor-muted);flex-wrap:wrap;align-items:center;gap:.45rem;margin:.9rem 0 0;font-size:.9rem;display:flex}.month-close-summary-cats{margin-top:1rem}.month-close-summary-cats-label{color:var(--visor-text);margin:0 0 .45rem;font-size:.85rem;font-weight:600}.month-close-summary-cats ol{margin:0;padding:0;list-style:none}.month-close-summary-cats li{border-top:1px solid var(--visor-border,#0000000f);justify-content:space-between;gap:1rem;padding:.35rem 0;font-size:.9rem;display:flex}.month-close-summary-cats li:first-child{border-top:none}@media (width<=640px){.month-close-summary-grid{grid-template-columns:1fr}}.page-kicker{color:var(--visor-text);margin:0 0 .85rem;font-size:.95rem;font-weight:500}.page-greeting{letter-spacing:-.03em;color:var(--visor-text);margin:0;font-size:1.85rem;font-weight:700}.dash-grid{grid-template-columns:1fr 1fr;gap:1.15rem;display:grid}.dash-card{background:var(--visor-surface);border-radius:var(--visor-radius);min-height:18.5rem;box-shadow:var(--visor-shadow);flex-direction:column;padding:1.1rem 1.25rem 1.25rem;display:flex}.dash-card-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.dash-card-header h2{letter-spacing:.08em;text-transform:uppercase;color:var(--visor-muted);margin:0;font-size:.7rem;font-weight:600}.dash-card-header a{color:var(--visor-accent);font-size:.875rem;font-weight:500;text-decoration:none}.dash-card-header a:hover{color:var(--visor-accent-hover)}.dash-card-body{flex:1;min-height:0;display:flex}.dash-empty{color:var(--visor-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.55rem;display:flex}.dash-empty i{color:var(--visor-subtle);font-size:1.35rem}.dash-empty p{max-width:16rem;margin:0;font-size:.9rem}.dash-pace{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.dash-pace-headline{letter-spacing:-.03em;color:var(--visor-text);margin:0;font-size:1.55rem;font-weight:700}.dash-pace-meta{color:var(--visor-muted);flex-wrap:wrap;align-items:center;gap:.45rem;margin:.45rem 0 .9rem;font-size:.8125rem;display:flex}.dash-pace-caption{color:var(--visor-muted);margin:-.5rem 0 .65rem;font-size:.8125rem}.dash-badge{background:var(--visor-hover);color:var(--visor-muted);border-radius:999px;align-items:center;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.dash-badge--down{background:var(--visor-success-soft);color:var(--visor-success)}.dash-badge--up{background:var(--visor-danger-soft);color:var(--visor-danger)}.dash-pace-chart{flex:1;min-height:10.5rem}.dash-pace-chart .p-chart{height:100%}.dash-result{flex-direction:column;flex:1;min-width:0;display:flex}.dash-result-bar{background:var(--visor-track);border-radius:999px;height:.7rem;margin:.35rem 0 1.15rem;display:block;overflow:hidden}.dash-result-bar-fill{background:var(--visor-accent);border-radius:999px;height:100%;display:block}.dash-result-stats{grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-top:auto;display:grid}.dash-result-stats span{color:var(--visor-muted);margin-bottom:.2rem;font-size:.8rem;display:block}.dash-result-stats strong{color:var(--visor-text);font-size:.95rem;font-weight:700}.dash-result-stats--muted span,.dash-result-stats--muted strong{color:var(--visor-subtle)}.dash-networth{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.dash-networth-placeholder{min-height:7.5rem}.dash-networth-ranges{justify-content:space-between;gap:.35rem;margin-top:auto;padding-top:.75rem;display:flex}.dash-networth-range{min-width:2.35rem;color:var(--visor-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.35rem .45rem;font-size:.75rem;font-weight:600}.dash-networth-range:disabled{cursor:not-allowed;opacity:1}.dash-networth-range--active{background:var(--visor-accent-soft);color:var(--visor-accent)}.dash-networth-chart{height:7.5rem;margin-top:.5rem;overflow:hidden}.dash-networth-chart .p-chart{height:100%}.dash-networth-caption{color:var(--visor-subtle);margin:.5rem 0 0;font-size:.7rem;line-height:1.3}.inbox-category-dropdown{min-width:10rem}.dash-cats-wrap{width:100%;overflow:auto}.dash-cats{border-collapse:collapse;width:100%}.dash-cats th{color:var(--visor-muted);letter-spacing:.06em;text-align:left;text-transform:uppercase;white-space:nowrap;padding:0 .5rem .55rem;font-size:.65rem;font-weight:600}.dash-cats td{border-top:1px solid var(--visor-border);vertical-align:middle;padding:.45rem .5rem;font-size:.8125rem}.dash-cats-name{align-items:center;gap:.45rem;font-weight:500;display:inline-flex}.dash-cats-name i{font-size:.85rem}.dash-cats-num{white-space:nowrap;text-align:right;font-weight:600}.dash-cats th:nth-child(2),.dash-cats th:nth-child(5){text-align:right}.dash-cats-prev{color:var(--visor-muted);font-weight:500}.dash-cats-bar{background:var(--visor-hover);border-radius:999px;width:5.75rem;height:.45rem;overflow:hidden}.dash-cats-bar-fill{border-radius:999px;height:100%;display:block}.dash-cats-bar-fill--down{background:var(--visor-success)}.dash-cats-bar-fill--up{background:var(--visor-danger)}.dash-cats-bar-fill--flat{background:var(--visor-subtle)}.cat-spend{gap:1.15rem;display:grid}.cat-spend-visuals{grid-template-columns:minmax(18rem,.75fr) minmax(0,1.25fr);align-items:start;gap:1.15rem;display:grid}.cat-spend-panel{background:var(--visor-surface);border-radius:var(--visor-radius);box-shadow:var(--visor-shadow);padding:1.25rem}.cat-spend-panel-header{margin-bottom:1rem}.cat-spend-panel-header h2{color:var(--visor-text);margin:0;font-size:1rem;font-weight:600}.cat-spend-panel-header p{color:var(--visor-muted);margin:.25rem 0 0;font-size:.8125rem}.cat-spend-panel .dash-empty{min-height:8rem}.cat-spend-months label{color:var(--visor-muted);font-size:.8125rem}.cat-spend-months .p-dropdown{min-width:10.5rem}.cat-spend-chart{width:100%}.cat-spend-chart .p-chart{height:100%}.cat-spend-share-summary{color:var(--visor-muted);flex-direction:column;align-items:center;gap:.25rem;margin-bottom:.5rem;font-size:.8125rem;display:flex}.cat-spend-share-summary strong{color:var(--visor-text);font-size:1.5rem;font-weight:600}.cat-spend-share-chart{width:100%;height:22rem}.cat-spend-share-chart .p-chart{height:100%}.spend-pace,.spend-pace-visuals{gap:1.15rem;display:grid}.spend-pace-panel{background:var(--visor-surface);border-radius:var(--visor-radius);border:1px solid var(--visor-border);padding:1.25rem}.spend-pace-panel-header{margin-bottom:1rem}.spend-pace-panel-header--table{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.spend-pace-panel-header h2{color:var(--visor-text);margin:0;font-size:1rem;font-weight:600}.spend-pace-panel-header p{color:var(--visor-muted);margin:.25rem 0 0;font-size:.8125rem}.spend-pace-panel .dash-empty{min-height:8rem}.spend-pace-main-chart{height:20rem}.spend-pace-history-chart{width:100%}.spend-pace-history-chart .p-chart,.spend-pace-main-chart .p-chart{height:100%}.spend-pace-source-chart{height:11rem;margin-top:1rem}.spend-pace-source-chart .p-chart{height:100%}.spend-pace-sources{gap:.75rem;display:grid}.spend-pace-source-row{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.2rem 1rem;display:grid}.spend-pace-source-row>span:first-child{color:var(--visor-muted);font-size:.8125rem}.spend-pace-source-row strong{color:var(--visor-text);text-align:right;font-size:1rem;font-weight:600}.spend-pace-source-prev{color:var(--visor-subtle);grid-column:1/-1;font-size:.75rem}.spend-pace-link{color:var(--visor-accent);white-space:nowrap;font-size:.8125rem;font-weight:600;text-decoration:none}.spend-pace-link:hover{text-decoration:underline}.spend-pace-empty-copy{color:var(--visor-muted);margin:0;font-size:.875rem}.spend-check-page{max-width:40rem}.spend-check-page .page-header{margin-bottom:1rem}.spend-check-page .page-subtitle{max-width:34rem}.spend-title-row{align-items:center;gap:.25rem;display:flex}.spend-title-row h1{margin:0;font-size:1.5rem}.spend-how-info-button.p-button{width:1.75rem;height:1.75rem;color:var(--visor-muted)}.spend-how-info-button.p-button:hover{color:var(--visor-accent)}.spend-how-info-panel{max-width:min(24rem,100vw - 2rem)}.spend-how-info-title{color:var(--visor-text);margin:0 0 .5rem;font-weight:700}.spend-how-info-panel .spend-calc-detail:first-of-type{margin-top:0}.spend-ask{flex-direction:column;gap:.65rem;margin-bottom:.85rem;padding:.9rem 1rem;display:flex}.spend-form-primary{flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;display:flex}.spend-ask .form-field{min-width:0}.spend-ask .form-field label{font-size:.875rem}.spend-amount-field{flex:12rem;max-width:14.5rem}.spend-date-field{flex:0 10.25rem}.spend-amount-wrap{border:1px solid var(--visor-border);border-radius:var(--visor-radius);background:var(--visor-bg,var(--visor-surface));align-items:center;gap:.4rem;width:100%;min-height:2.6rem;padding:.2rem .65rem;display:flex}.spend-amount-wrap:focus-within{border-color:var(--visor-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--visor-accent) 16%, transparent)}.spend-amount-prefix{color:var(--visor-muted);font-size:.95rem;font-weight:600}.spend-ask #spend-amount{width:100%;box-shadow:none;font-variant-numeric:tabular-nums;background:0 0;border:0;padding:.35rem 0;font-size:1.2rem;font-weight:700}.spend-ask #spend-amount::placeholder{color:color-mix(in srgb, var(--visor-muted) 55%, transparent);font-weight:500}.spend-ask #spend-amount:focus{box-shadow:none}.spend-ask .p-calendar,.spend-ask .p-calendar .p-inputtext{width:100%}.spend-ask .p-calendar .p-inputtext{min-height:2.6rem;padding-top:.45rem;padding-bottom:.45rem;font-size:.95rem}.spend-results{min-height:0}.spend-answer-placeholder{color:var(--visor-muted);border:1px dashed var(--visor-border);border-radius:var(--visor-radius);background:color-mix(in srgb, var(--visor-surface) 70%, transparent);margin:0 0 .85rem;padding:.7rem .85rem;font-size:.875rem}.spend-intent-field .p-selectbutton,.spend-horizon-field .p-selectbutton,.spend-mode-field .p-selectbutton{flex-wrap:wrap}.spend-intent-hint{color:var(--visor-muted);margin:.45rem 0 0;font-size:.9rem}.spend-horizon-active{color:var(--visor-text);margin:.45rem 0 0;font-size:.9rem}.spend-text-button{color:var(--visor-accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.spend-disclosure{border-top:1px solid var(--visor-border,#00000014);padding-top:.75rem}.spend-disclosure summary{cursor:pointer;color:var(--visor-text);font-weight:600;list-style:none}.spend-disclosure summary::-webkit-details-marker{display:none}.spend-disclosure summary:before{content:"▸ ";color:var(--visor-muted)}.spend-disclosure[open] summary:before{content:"▾ "}.spend-disclosure--muted summary{color:var(--visor-muted);font-size:.9rem;font-weight:500}.spend-disclosure .form-field{margin-top:.75rem}.spend-advanced-grid{gap:1rem;margin-top:.75rem;display:grid}.spend-calc-detail{color:var(--visor-muted);max-width:42rem;margin:.65rem 0 0;font-size:.88rem;line-height:1.45}.spend-period-field .p-selectbutton,.spend-month-analysis-field .p-selectbutton,.spend-mode-field .p-selectbutton{flex-wrap:wrap}.spend-clamp-note{color:var(--visor-muted);margin:.35rem 0 0;font-size:.8rem}.spend-pending-hint{margin:0 0 .75rem;display:block}.spend-pending-hint.p-message{padding:.65rem .8rem}.spend-pending-hint-body{flex-direction:column;gap:.35rem;font-size:.875rem;line-height:1.4;display:flex}.spend-pending-hint-body p{margin:0}.spend-pending-hint-actions{font-size:.85rem}.spend-pending-hint-actions a{font-weight:600}.spend-results--stale{opacity:.72;transition:opacity .15s}.spend-capacity{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.85rem;margin-bottom:1.15rem;display:grid}.spend-capacity-item{border:1px solid var(--visor-border);border-radius:var(--visor-radius);background:var(--visor-surface);padding:.85rem 1rem}.spend-capacity-item--primary{border-color:var(--visor-accent)}.spend-capacity-label{color:var(--visor-muted);margin:0;font-size:.82rem}.spend-capacity-value{color:var(--visor-text);font-variant-numeric:tabular-nums;margin:.35rem 0 0;font-size:1.15rem;font-weight:700}.spend-assumptions{color:var(--visor-muted);max-width:42rem;margin:0 0 1.15rem;font-size:.9rem}.spend-analysis-kind{border-left:3px solid var(--visor-border-strong,var(--visor-border));background:var(--visor-surface);max-width:42rem;margin:0 0 1.15rem;padding:.85rem 1rem}.spend-analysis-kind-question{color:var(--visor-text);margin:0 0 .35rem;font-size:.95rem;font-weight:600}.spend-analysis-kind-detail{color:var(--visor-muted);margin:0;font-size:.88rem;line-height:1.45}.spend-impact-rows{flex-direction:column;gap:.55rem;display:flex}.spend-impact-rows p{color:var(--visor-text);justify-content:space-between;gap:1rem;margin:0;display:flex}.spend-impact-rows__emphasis{border-top:1px solid var(--visor-border);padding-top:.45rem;font-size:1.05rem}.spend-sim-projection{margin-bottom:1.15rem}.spend-verdict{border:1px solid var(--visor-border);border-radius:var(--visor-radius);align-items:flex-start;gap:.65rem;margin-bottom:.75rem;padding:.8rem .95rem;display:flex}.spend-verdict i{margin-top:.1rem;font-size:1.15rem}.spend-verdict-headline{color:var(--visor-text);letter-spacing:-.01em;margin:0;font-size:1.125rem;font-weight:700}.spend-verdict-detail{color:var(--visor-muted);margin:.2rem 0 0;font-size:.875rem;line-height:1.4}.spend-verdict-actions{flex-wrap:wrap;gap:.75rem 1.1rem;margin:.65rem 0 0;font-size:.9rem;display:flex}.spend-verdict-actions a{color:var(--visor-accent);text-decoration:none}.spend-verdict-actions a:hover{text-decoration:underline}.goal-indefinite-actions{flex-wrap:wrap;gap:.75rem 1.1rem;margin:.65rem 0 0;font-size:.9rem;display:flex}.goal-indefinite-actions a{color:var(--visor-accent);text-decoration:none}.goal-indefinite-actions a:hover{text-decoration:underline}.proj-panel>.goal-indefinite-actions{justify-content:center;margin-top:.85rem}.spend-answer-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:0 0 .75rem;display:grid}@media (width<=720px){.spend-answer-facts{grid-template-columns:1fr}}.spend-answer-fact{border:1px solid var(--visor-border);border-radius:var(--visor-radius);background:var(--visor-surface);flex-direction:column;gap:.15rem;padding:.65rem .75rem;display:flex}.spend-answer-fact span{color:var(--visor-muted);font-size:.75rem;line-height:1.3}.spend-answer-fact strong{color:var(--visor-text);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:700}.spend-answer-fact--warn{border-color:color-mix(in srgb, #d97706 40%, var(--visor-border));background:color-mix(in srgb, #d97706 8%, var(--visor-surface))}.spend-answer-fact--warn strong{color:#92400e}.spend-more{border:1px solid var(--visor-border);border-radius:var(--visor-radius);background:var(--visor-surface);margin-top:.85rem;padding:.6rem .8rem}.spend-more>summary{cursor:pointer;color:var(--visor-muted);font-weight:600;list-style:none}.spend-more>summary::-webkit-details-marker{display:none}.spend-more>summary:before{content:"▸ "}.spend-more[open]>summary:before{content:"▾ "}.spend-more-body{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.spend-details-inner{margin-top:.25rem}.spend-verdict--careful{background:color-mix(in srgb, #d97706 12%, var(--visor-surface));border-color:color-mix(in srgb, #d97706 45%, var(--visor-border))}.spend-verdict--careful i{color:#b45309}.spend-verdict--safe{background:var(--visor-success-soft)}.spend-verdict--safe i{color:var(--visor-success)}.spend-verdict--unsafe{background:var(--visor-danger-soft)}.spend-verdict--unsafe i{color:var(--visor-danger)}.spend-verdict--empty{background:var(--visor-surface)}.spend-verdict--empty i{color:var(--visor-muted)}.spend-verdict--idle{background:var(--visor-surface)}.spend-verdict--idle i{color:var(--visor-muted)}.spend-movements-title{color:var(--visor-text);margin:0 0 1rem;font-size:1.05rem}.spend-movements-accordion .p-accordion-header-link{align-items:center}.spend-movement-group-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.25rem;width:100%;display:flex}.spend-movement-group-label{color:var(--visor-text);font-weight:600}.spend-movement-group-meta{color:var(--visor-muted);flex-wrap:wrap;gap:.75rem 1.25rem;font-size:.9rem;font-weight:400;display:flex}.spend-movement-group-total{color:var(--visor-text);font-variant-numeric:tabular-nums}.spend-movement-group-empty{color:var(--visor-muted);margin:0;font-size:.9rem}.proj-period{align-items:center}.proj-period .p-inputnumber{width:9.5rem}.proj-summary{margin-bottom:1.15rem}.proj-panel{background:var(--visor-surface);border-radius:var(--visor-radius);box-shadow:var(--visor-shadow);margin-bottom:1.15rem;padding:1.25rem}.proj-flat-education{width:100%;margin:0 0 1rem;display:flex}.proj-chart{height:20rem}.proj-chart .p-chart{height:100%}.app-main .p-datatable{background:var(--visor-surface);border-radius:var(--visor-radius);box-shadow:var(--visor-shadow);overflow:hidden}.app-main .p-datatable .p-datatable-thead>tr>th{background:var(--visor-surface);color:var(--visor-muted);border-color:var(--visor-border);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:600}.col-header-with-hint{white-space:normal;flex-direction:column;align-items:flex-start;gap:.2rem;display:flex}.col-header-hint{max-width:14rem;color:var(--visor-muted);letter-spacing:normal;text-transform:none;font-size:.6875rem;font-weight:400;line-height:1.35}.app-main .p-datatable .p-datatable-tbody>tr>td{border-color:var(--visor-border);color:var(--visor-text)}.app-main .p-datatable .p-datatable-tbody>tr:last-child>td{border-bottom:none}.app-main .p-datatable .p-datatable-emptymessage td{color:var(--visor-muted)}.app-main .p-datatable .p-datatable-header{background:var(--visor-surface);border:none;border-bottom:1px solid var(--visor-border);padding:.85rem 1.15rem}.app-main .p-datatable .p-paginator{background:var(--visor-surface);border:none;border-top:1px solid var(--visor-border);padding:.65rem 1rem}.app-main .p-datatable .p-paginator .p-paginator-page.p-highlight{background:var(--visor-accent-soft);color:var(--visor-accent);border-color:#0000}.app-main .p-datatable .p-sortable-column:not(.p-highlight):hover{background:var(--visor-hover-strong);color:var(--visor-text)}.app-main .p-datatable .p-sortable-column.p-highlight,.app-main .p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon{color:var(--visor-accent)}.app-main .p-datatable .p-sortable-column:focus{box-shadow:none}.table-toolbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.table-toolbar-meta{color:var(--visor-muted);font-size:.875rem;font-weight:500}.table-toolbar-search{width:22rem}.table-toolbar-search .p-inputtext{width:100%}.col-numeric{text-align:right}.col-amount{font-variant-numeric:tabular-nums;white-space:nowrap}.col-actions{width:8.5rem}.app-main .p-card{background:var(--visor-surface);color:var(--visor-text);border-radius:var(--visor-radius);box-shadow:var(--visor-shadow);border:none}.app-main .p-card .p-card-title{color:var(--visor-text)}.app-main .p-card .p-card-body,.app-main .p-card .p-card-content{padding:1.15rem 1.25rem}.income-total{font-weight:600}.income-card-grid{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:1rem;display:grid}.income-card{background:var(--visor-surface);border-radius:var(--visor-radius);box-shadow:var(--visor-shadow);flex-direction:column;gap:.35rem;padding:1.1rem 1.15rem .7rem;display:flex}.income-card--focus{outline:2px solid var(--visor-accent);outline-offset:1px}.income-card-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.income-card-name{letter-spacing:-.02em;color:var(--visor-text);margin:0;font-size:1rem;font-weight:600}.income-card-amount{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--visor-success);margin:.15rem 0 0;font-size:1.45rem;font-weight:700}.income-card-meta{color:var(--visor-muted);margin:.15rem 0 0;font-size:.8125rem;line-height:1.4}.income-card-actions{border-top:1px solid var(--visor-border);justify-content:flex-end;gap:.15rem;margin-top:.35rem;margin-right:-.45rem;padding-top:.35rem;display:flex}.income-card-empty{color:var(--visor-muted);margin:0;padding:1.5rem 0}.income-card-loading{justify-content:center;padding:2.5rem 0;display:flex}.wealth-summary{grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-bottom:1.35rem;display:grid}.wealth-stat{background:var(--visor-surface);border-radius:var(--visor-radius);box-shadow:var(--visor-shadow);padding:1rem 1.15rem}.wealth-stat--total{background:var(--visor-accent-soft)}.wealth-stat-label{color:var(--visor-muted);margin:0;font-size:.8125rem;font-weight:500}.wealth-stat-value{letter-spacing:-.03em;color:var(--visor-text);margin:.35rem 0 0;font-size:1.35rem;font-weight:700}.wealth-stat-link{color:var(--visor-accent);margin-top:.4rem;font-size:.8125rem;text-decoration:none;display:inline-block}.wealth-stat-link:hover{color:var(--visor-accent-hover)}.wealth-stat-meta{color:var(--visor-muted);margin:.4rem 0 0;font-size:.75rem}.wealth-summary--compact{margin-bottom:1.15rem}.wealth-summary--compact .wealth-stat{padding:.85rem 1.1rem}.wealth-summary--compact .wealth-stat-value{font-size:1.2rem}.wealth-account-grid{grid-template-columns:repeat(auto-fill,minmax(22rem,1fr));gap:1rem;display:grid}.wealth-account{background:var(--visor-surface);border-radius:var(--visor-radius);box-shadow:var(--visor-shadow);flex-direction:column;padding:1rem 1.15rem .7rem;display:flex}.wealth-account-header{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.25rem;display:flex}.wealth-account-header h2{letter-spacing:-.02em;margin:0;font-size:1rem;font-weight:600}.wealth-account-total{letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:1.05rem;font-weight:700}.wealth-account-list{margin:0;padding:0;list-style:none}.wealth-reserve{border-top:1px solid var(--visor-border);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.5rem;padding:.6rem 0;display:grid}.wealth-reserve-name{margin:0;font-size:.9rem;font-weight:500}.wealth-reserve-kind{color:var(--visor-muted);margin:.1rem 0 0;font-size:.75rem}.wealth-reserve-amount{font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:.9rem;font-weight:600}.wealth-account-empty{border-top:1px solid var(--visor-border);color:var(--visor-muted);margin:0;padding:.6rem 0;font-size:.875rem}.wealth-orphan-hint{margin:0 0 .5rem}.wealth-account-add{align-self:flex-start;margin:.15rem 0 0 -.45rem}.income-row,.fixed-expense-row{grid-template-columns:minmax(14rem,2fr) minmax(0,1.1fr) minmax(0,1.1fr) 7.5rem 8rem auto;align-items:end;gap:.75rem;display:grid}.income-row-edit,.fixed-expense-row-edit{grid-template-columns:minmax(14rem,2fr) minmax(0,1.1fr) minmax(0,1.1fr) 7.5rem 8rem}.income-row label,.fixed-expense-row label,.card-form-row label{white-space:nowrap;text-overflow:ellipsis;color:var(--visor-muted);margin-bottom:.3rem;font-size:.8125rem;font-weight:500;display:block;overflow:hidden}.income-row .p-dropdown,.income-row .p-inputtext,.fixed-expense-row .p-dropdown,.fixed-expense-row .p-inputtext{width:100%}.income-row .p-dropdown,.fixed-expense-row .p-dropdown,.card-form-row .p-dropdown,.form-field .p-dropdown{min-width:0;display:flex}.income-row .p-dropdown .p-dropdown-label,.fixed-expense-row .p-dropdown .p-dropdown-label,.card-form-row .p-dropdown .p-dropdown-label,.form-field .p-dropdown .p-dropdown-label,.form-grid>.p-dropdown .p-dropdown-label{width:100%;min-width:0}.batch-dialog-actions{border-top:1px solid var(--visor-border);justify-content:flex-end;align-items:center;gap:.65rem;margin-top:.35rem;padding-top:.85rem;display:flex}.batch-dialog-actions .batch-dialog-actions-add{margin-right:auto}.card-row{grid-template-columns:1fr auto;align-items:end;gap:.65rem;display:grid}.card-row label{margin-bottom:.3rem;display:block}.card-row .p-inputtext{width:100%}.form-grid{gap:.65rem;display:grid}.form-grid>label{margin-bottom:-.35rem;font-weight:500;display:block}.settings-stack{flex-direction:column;gap:1rem;max-width:40rem;display:flex}.settings-card{max-width:100%}.settings-card .p-card-title{margin-bottom:.25rem}.settings-card .p-card-subtitle{color:var(--visor-muted);margin-bottom:.85rem;font-weight:400;line-height:1.4}.settings-card-title-row{align-items:center;gap:.65rem;display:inline-flex}.settings-card--soon{opacity:.72;pointer-events:none;-webkit-user-select:none;user-select:none}.settings-card--soon .p-card-title{width:100%}.settings-row{border-top:1px solid var(--visor-border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:.85rem 0;display:flex}.settings-row:first-of-type{border-top:none;padding-top:0}.settings-row .p-dropdown{min-width:12rem}.settings-row .p-selectbutton{flex-wrap:nowrap;flex-shrink:0}.settings-row .p-selectbutton .p-button{min-width:6.5rem}.pending-banner{border:1px solid var(--visor-border);border-radius:var(--border-radius);background:var(--visor-warning-soft);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.85rem 1rem;display:flex}.pending-banner p{color:var(--visor-text);margin:0}.pending-banner span{color:var(--visor-muted);margin-top:.2rem;font-size:.8125rem;display:block}.form-hint{color:var(--visor-muted);margin:-.35rem 0 0;font-size:.8125rem}.admin-user-id{align-items:center;gap:.25rem;max-width:22rem;display:flex}.admin-user-id-value{text-overflow:ellipsis;white-space:nowrap;color:var(--visor-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;overflow:hidden}.admin-user-actions{flex-wrap:wrap;gap:.35rem;display:flex}.form-grid>.p-inputtext,.form-grid>.p-dropdown,.form-grid>.p-calendar,.form-grid>.p-inputnumber{width:100%}.form-grid>.p-dropdown{min-width:0;display:flex}.form-grid>.p-calendar{display:flex}.form-grid>.p-calendar .p-inputtext{flex:1;width:auto}.form-grid-row{grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:.15rem 0;display:grid}.form-grid-row label{margin:0;font-weight:500}.form-field label{margin-bottom:.3rem;font-weight:500;display:block}.form-field .p-inputtext,.form-field .p-inputnumber,.form-field .p-inputnumber-input{width:100%}.purchase-installment-grid{grid-template-columns:repeat(3,1fr);gap:.65rem;display:grid}.credit-card-grid{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem;display:grid}.credit-card-tile{cursor:pointer;transition:box-shadow .15s,transform .15s}.credit-card-tile:hover{box-shadow:var(--visor-shadow);transform:translateY(-1px)}.credit-card-tile .p-card-body{padding-top:0}.credit-card-tile-body{gap:.85rem;display:grid}.credit-card-tile-metric{gap:.2rem;display:grid}.credit-card-tile-label{color:var(--visor-muted);font-size:.875rem}.credit-card-tile-metric strong{color:var(--visor-text);font-size:1.05rem}.cards-loading{justify-content:center;padding:3rem 0;display:flex}.cards-empty{color:var(--visor-muted);margin:0}.cards-accounts-cta{width:100%;margin:0 0 1rem;display:flex}.purchase-amount-cell{flex-direction:column;gap:.15rem;line-height:1.25;display:flex}.purchase-amount-caption{color:var(--visor-muted);font-size:.75rem;font-weight:400}.list-query-error{width:100%;margin:0 0 1rem;display:flex}.card-form-row{grid-template-columns:minmax(12rem,1.4fr) minmax(0,1.2fr) minmax(8rem,9rem) minmax(8rem,9rem) auto;align-items:end;gap:.75rem;display:grid}.card-form-row .form-field .p-dropdown,.card-form-row .form-field .p-inputtext,.form-grid>.p-selectbutton{width:100%}.purchase-installment-grid--stacked{grid-column:1/-1}.card-detail-back{margin-bottom:.35rem;padding-left:0}.card-detail-toolbar,.ledger-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0;display:flex}.card-detail-toolbar .p-icon-field,.ledger-toolbar .p-icon-field{width:18rem}.ledger-toolbar-filters{align-items:center;gap:1rem;display:flex}.ledger-fixed-filter{color:var(--visor-muted);white-space:nowrap;cursor:pointer;align-items:center;gap:.45rem;font-size:.875rem;display:inline-flex}a.tx-origin-badge,a.fe-status-badge{text-decoration:none}a.tx-origin-badge:hover,a.fe-status-badge:hover{text-decoration:underline}.month-strip{grid-template-columns:repeat(12,minmax(0,1fr));gap:.35rem;margin-top:.75rem;display:grid}.month-strip-tile{border:1px solid var(--visor-border);border-radius:var(--visor-radius-sm);background:var(--visor-surface);min-height:4.5rem;color:var(--visor-text);cursor:pointer;flex-direction:column;align-items:center;gap:.35rem;padding:.55rem .2rem .65rem;display:flex}.month-strip-tile--open,.month-strip-tile--past{background:var(--visor-accent-soft)}.month-strip-tile--future{background:0 0;border-style:dashed}.month-strip-tile--selected{border-color:var(--visor-accent);background:var(--visor-accent-soft-hover)}.month-strip-label{color:var(--visor-muted);font-size:.75rem;font-weight:600}.month-strip-amount{font-variant-numeric:tabular-nums;color:var(--visor-text);font-size:.78rem}.month-strip-amount--charge{color:var(--visor-danger);font-weight:600}.month-strip-amount--income{color:var(--visor-success);font-weight:600}.month-strip-amount--projected{color:var(--visor-muted)}.card-cycle-footer,.ledger-footer{border-top:1px solid var(--visor-border);color:var(--visor-muted);justify-content:space-between;align-items:center;gap:1rem;margin-top:.85rem;padding-top:.85rem;font-size:.875rem;display:flex}.card-cycle-footer-metrics,.ledger-footer-metrics{align-items:center;gap:1rem;display:flex}.card-cycle-footer-metrics strong,.ledger-footer-metrics strong{color:var(--visor-text)}.ledger-footer-metrics-block{flex-direction:column;align-items:flex-end;gap:.25rem;display:flex}.ledger-footer-hint{text-align:right;margin:0}.invoice-import-actions{justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}.invoice-import-pending-message{width:100%;margin-bottom:1rem;display:flex}.invoice-category-map{margin-bottom:1rem}.invoice-category-map__row{border-radius:var(--visor-radius-sm);border:1px solid #0000;grid-template-columns:1fr 1fr;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.5rem .65rem;display:grid}.invoice-category-map__row--pending{border-color:color-mix(in srgb, #d97706 35%, var(--visor-border));background:var(--visor-warning-soft)}.invoice-category-map__pending-hint{color:#b45309;font-weight:500}html[data-theme=dark] .invoice-category-map__pending-hint{color:#fbbf24}.invoice-category-map__dropdown--pending.p-dropdown{border-color:color-mix(in srgb, #d97706 55%, var(--visor-border))}.p-datatable .invoice-import-row--pending>td{background:var(--visor-warning-soft)}.row-actions{justify-content:flex-end;display:flex}.tx-amount{font-variant-numeric:tabular-nums;white-space:nowrap}.tx-amount--income{color:var(--visor-success);font-weight:600}.tx-amount--expense{color:var(--visor-danger);font-weight:600}.tx-amount--transfer{color:var(--visor-muted)}.tx-type-badge{border-radius:999px;align-items:center;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.tx-type-badge--income{background:var(--visor-success-soft);color:var(--visor-success)}.tx-type-badge--expense{background:var(--visor-danger-soft);color:var(--visor-danger)}.tx-type-badge--transfer{background:var(--visor-hover);color:var(--visor-muted)}.tx-type-badge--adjustment{background:var(--visor-hover);color:var(--visor-text)}.tx-type-cell{flex-wrap:wrap;align-items:center;gap:.35rem;display:inline-flex}.tx-origin-badge{background:var(--visor-accent-soft);color:var(--visor-accent);border-radius:999px;align-items:center;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.fe-status-badge{border-radius:999px;align-items:center;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.fe-status-badge--posted{background:var(--visor-success-soft);color:var(--visor-success)}.fe-status-badge--pending{background:var(--visor-hover);color:var(--visor-muted)}button.fe-status-badge{cursor:pointer;font:inherit;border:0}button.fe-status-badge--pending{background:var(--visor-warning-soft);color:#b45309}html[data-theme=dark] button.fe-status-badge--pending{color:#fbbf24}button.fe-status-badge--pending:hover{filter:brightness(.97)}.fe-status-badge--focus,.fe-pending-row--focus>td{outline:2px solid var(--visor-accent);outline-offset:1px}.fe-status-badge--incomplete{background:var(--visor-warning-soft);color:#b45309}html[data-theme=dark] .fe-status-badge--incomplete{color:#fbbf24}.status-row{border-top:1px solid var(--visor-border);justify-content:space-between;align-items:center;padding:.75rem 0;display:flex}.status-row:first-child{border-top:none;padding-top:0}.status-row:last-child{padding-bottom:0}.status-db-detail{width:100%;margin:.85rem 0 0;display:flex}.desktop-gate{background:var(--visor-bg);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.desktop-gate-card{background:var(--visor-surface);border:1px solid var(--visor-border);border-radius:var(--visor-radius);max-width:28rem;box-shadow:var(--visor-shadow);padding:2rem}.desktop-gate-card h1{margin:0 0 .75rem;font-size:1.35rem}.desktop-gate-card p{color:var(--visor-muted);margin:0}
