:root{--brand-50: #f1f6fb;--brand-100: #dceaf5;--brand-200: #bad4e8;--brand-500: #173863;--brand-700: #123154;--brand-800: #0d2745;--brand-900: #081d34;--accent-50: #fdf6ec;--accent-100: #fbe9cf;--accent-200: #f6d3a3;--accent-500: #e08a1a;--accent-600: #c97812;--accent-700: #a8620c;--accent-800: #8a4f08;--slate-1: #fafbfd;--slate-2: #f5f8fc;--slate-3: #eef2f7;--slate-4: #e9eef4;--slate-5: #e3e8ef;--slate-6: #e3e8ef;--slate-7: #c9d2dd;--slate-8: #b3bfcd;--slate-9: #8794a6;--slate-10: #6b7a8c;--slate-11: #56657a;--slate-12: #152033;--green-2: #eaf6ef;--green-3: #d9efe2;--green-4: #c8e7d4;--green-6: #b2dbc2;--green-7: #8fcaa6;--green-9: #2f9a66;--green-11: #23784f;--green-12: #174f34;--amber-2: #fdf3e3;--amber-3: #fbe7c6;--amber-4: #f8dba8;--amber-6: #f0c98a;--amber-7: #e6b268;--amber-9: #e08a1a;--amber-11: #a35f0c;--amber-12: #5e3707;--red-2: #fbecea;--red-3: #f7dcd8;--red-4: #f2cbc5;--red-6: #ebb4ac;--red-7: #e09a90;--red-9: #cc4a3c;--red-11: #b0372b;--red-12: #6e2219;--background: var(--slate-2);--surface: #ffffff;--surface-2: var(--slate-2);--surface-3: var(--slate-3);--text-primary: var(--slate-12);--text-secondary: #3d4d61;--text-tertiary: var(--slate-11);--border: var(--slate-6);--border-light: #edf1f5;--border-strong: var(--slate-7);--border-input: var(--slate-9);--on-brand: #ffffff;--on-dark: var(--on-brand);--on-dark-muted: var(--slate-7);--sidebar: var(--background);--sidebar-hover: var(--surface-3);--sidebar-active: rgba(23, 56, 99, .07);--sidebar-text: var(--text-secondary);--sidebar-muted: var(--text-tertiary);--login-ground: var(--brand-800);--success: var(--green-11);--success-bg: var(--green-2);--success-soft: var(--green-3);--success-border: var(--green-6);--success-accent: var(--green-9);--success-strong: var(--green-12);--warning: var(--amber-11);--warning-bg: var(--amber-2);--warning-soft: var(--amber-3);--warning-border: var(--amber-6);--warning-accent: var(--amber-9);--warning-strong: var(--amber-12);--danger: var(--red-11);--danger-bg: var(--red-2);--danger-soft: var(--red-3);--danger-border: var(--red-6);--danger-accent: var(--red-9);--danger-strong: var(--red-12);--neutral: var(--text-secondary);--neutral-bg: var(--surface-2);--neutral-soft: var(--surface-3);--neutral-border: var(--border-strong);--neutral-accent: var(--slate-9);--neutral-strong: var(--text-primary);--chart-in: var(--brand-500);--chart-out: var(--slate-9);--font: "Schibsted Grotesk", "Helvetica Neue", Arial, sans-serif;--font-display: "Newsreader", Georgia, serif;--mono: "Martian Mono", ui-monospace, Menlo, Consolas, monospace;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 18px;--fs-xl: 26px;--fs-2xl: var(--fs-lg);--fs-3xl: 24px;--fs-4xl: var(--fs-xl);--fs-5xl: var(--fs-xl);--fs-heading-page: var(--fs-xl);--fs-heading-section: var(--fs-lg);--fs-heading-card: var(--fs-lg);--fs-heading-item: var(--fs-md);--fs-figure-sm: var(--fs-lg);--fs-figure-md: var(--fs-3xl);--fs-figure-lg: 30px;--fs-display: 36px;--tracking-caps: .08em;--tracking-caps-wide: .08em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--rhythm-head: var(--space-3);--rhythm-page: var(--space-6);--rhythm-section: var(--space-7);--radius-xs: 4px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 999px;--radius-in-lg: var(--radius-md);--radius-in-popover: var(--radius-md);--line: 1px;--paper-ruling: repeating-linear-gradient(to bottom, transparent 0 31px, rgba(23, 56, 99, .05) 31px 32px);--paper-glow: radial-gradient(1200px 520px at 100% -10%, rgba(224, 138, 26, .09), transparent 60%);--shadow-overlay: 0 16px 40px rgba(16, 24, 40, .18);--overlay: rgba(21, 32, 51, .45);--ease: cubic-bezier(.2, .7, .2, 1);--duration-fast: .15s;--duration-base: .2s;--duration-slow: .3s;--sidebar-width: 224px;--topbar-height: 56px;--width-page: 1400px;--width-content: 780px;--width-form: 340px;--width-dialog-xs: 420px;--width-dialog-sm: 460px;--width-dialog-md: 580px;--width-dialog-lg: 760px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html:has(dialog[open]){overflow:hidden}body{margin:0;min-width:320px;font-family:var(--font);font-size:var(--fs-md);line-height:1.5;color:var(--text-primary);background:var(--background);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.25;text-wrap:balance}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}img,svg{flex-shrink:0}::selection{background:var(--brand-100);color:var(--brand-700)}:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}h1[tabindex="-1"]:focus{outline:none}.login-brand-panel :focus-visible{outline-color:var(--accent-500)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.positive{color:var(--success)}.negative{color:var(--danger)}.muted-text{color:var(--text-secondary);font-size:var(--fs-sm)}.stack{display:grid;gap:var(--space-4)}.padded{padding:var(--space-4)}.mono{font-variant-numeric:lining-nums}.uppercase{text-transform:uppercase}.button-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.skip-link{position:absolute;left:var(--space-3);top:-60px;z-index:200;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--brand-500);color:var(--on-brand);font-weight:700;text-decoration:none}.skip-link:focus{top:var(--space-3)}.kpi-label,.summary-tile>span,.account-balance small,.detail-amount>span,.balance-group-head,.popover-label,.profile-trigger small,.data-table th,.table-card-head h3,.nav-section,.goal-progress span{color:var(--text-secondary);font-size:var(--fs-xs);font-weight:700;letter-spacing:var(--tracking-caps);text-transform:uppercase}.profile-avatar,.category-symbol,.currency-symbol,.row-icon,.kpi-icon,.asset-icon,.empty-icon,.confirm-icon{display:inline-grid;flex:0 0 auto;place-items:center;width:var(--tile, 36px);height:var(--tile, 36px);overflow:hidden;border-radius:var(--radius-md);background:var(--brand-100);color:var(--brand-500);font-size:var(--fs-md);font-weight:800}.profile-avatar.small{--tile: 32px;font-size:var(--fs-sm)}.asset-icon{--tile: 44px}.empty-icon,.confirm-icon{--tile: 56px;border-radius:var(--radius-full)}.category-symbol,.currency-symbol{font-size:var(--fs-sm)}.kpi-icon svg{width:20px;height:20px}.asset-icon svg{width:24px;height:24px}.row-icon,.kpi-card.tone-neutral .kpi-icon,.is-archived .category-symbol{background:var(--neutral-soft);color:var(--neutral)}.row-icon.neutral,.row-icon.muted{background:var(--neutral-bg);color:var(--text-tertiary)}.row-icon.in,.kpi-card.tone-success .kpi-icon{background:var(--success-soft);color:var(--success)}.row-icon.warning,.kpi-card.tone-warning .kpi-icon,.confirm-icon.tone-warning{background:var(--warning-soft);color:var(--warning)}.row-icon.out,.kpi-card.tone-danger .kpi-icon,.confirm-icon.tone-danger{background:var(--danger-soft);color:var(--danger)}.card,.account-card,.asset-card,.profile-card{padding:var(--space-5);border:var(--line) solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.callout,.form-error,.error-state{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:var(--line) solid transparent;border-radius:var(--radius-lg);font-size:var(--fs-sm)}.callout.tone-danger,.form-error,.error-state{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.role-chip,.status-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:700;line-height:1.5;white-space:nowrap}.role-chip,.status-badge.tone-brand{background:var(--brand-100);color:var(--brand-700)}.text-btn,.card-link,.sidebar-link,.profile-card-cta,.attachment-list a,.form-stack summary,.table-view summary,.help-disclosure summary,.history-disclosure summary{color:var(--brand-500);font-size:var(--fs-sm);font-weight:700;text-decoration:none;text-underline-offset:3px}.text-btn:hover,.card-link:hover,.sidebar-link:hover,.profile-card:hover .profile-card-cta,.attachment-list a:hover,.form-stack summary:hover,.table-view summary:hover,.help-disclosure summary:hover,.history-disclosure summary:hover{color:var(--brand-700);text-decoration:underline}.banner-link,.row-link,.balance-group a{color:inherit;font-weight:600;text-decoration:none;text-underline-offset:3px}.banner-link,.banner-link:hover,.row-link:hover,.balance-group a:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:40px;padding:var(--space-2) var(--space-4);border:var(--line) solid transparent;border-radius:var(--radius-md);font-size:var(--fs-md);font-weight:700;line-height:1.2;text-decoration:none;white-space:nowrap;transition:background-color var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.btn:disabled{opacity:.55}.btn-primary{background:var(--brand-500);border-color:var(--brand-500);color:var(--on-brand)}.btn-primary:hover:not(:disabled){background:var(--brand-700);border-color:var(--brand-700)}.btn-accent{background:var(--accent-500);border-color:var(--accent-500);color:var(--brand-700)}.btn-accent:hover:not(:disabled),.btn-accent:active:not(:disabled){background:var(--accent-600);border-color:var(--accent-600);color:var(--brand-900)}.btn-accent:active:not(:disabled){border-color:var(--accent-700)}.btn-accent:disabled{opacity:1;background:var(--accent-100);border-color:var(--accent-100);color:var(--text-secondary)}.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-input)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--brand-50);color:var(--brand-700)}.btn-ghost.danger{color:var(--danger)}.btn-ghost.danger:hover:not(:disabled){background:var(--danger-bg);color:var(--danger)}.btn-danger{background:var(--danger);border-color:var(--danger);color:var(--on-brand)}.btn-danger:hover:not(:disabled){background:var(--danger-strong);border-color:var(--danger-strong)}.btn-danger-outline{background:var(--surface);border-color:var(--danger-border);color:var(--danger)}.btn-danger-outline:hover:not(:disabled){background:var(--danger-bg);border-color:var(--danger-accent)}.btn-small{min-height:36px;padding:var(--space-1) var(--space-3);font-size:var(--fs-sm)}.btn-large{min-height:48px;font-size:var(--fs-lg)}.btn-block{width:100%}.icon-btn,.modal-close,.password-toggle{display:inline-grid;flex:0 0 auto;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);transition:background-color var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.icon-btn:hover,.modal-close:hover,.password-toggle:hover{background:var(--surface-3);color:var(--text-primary)}.icon-btn.small{width:32px;height:32px}.modal-close{border:var(--line) solid var(--border);background:var(--surface)}.password-toggle{position:absolute;top:50%;right:var(--space-1);transform:translateY(-50%)}.text-btn{display:inline-flex;align-items:center;gap:var(--space-2);min-height:36px;padding:var(--space-2) var(--space-1);border:0;background:none}.card-link{display:inline-flex;align-items:center;gap:var(--space-1);min-height:36px;padding:var(--space-2) var(--space-1);white-space:nowrap}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:60;width:var(--sidebar-width);display:flex;flex-direction:column;border-right:var(--line) solid var(--border);background:var(--sidebar);color:var(--sidebar-text)}.sidebar-brand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5);border-bottom:var(--line) solid var(--border);background:var(--surface)}.sidebar-brand>div{flex:1;min-width:0}.sidebar-brand strong{display:block;color:var(--text-primary);font-size:var(--fs-lg);font-weight:700}.sidebar-brand span{display:block;overflow:hidden;color:var(--sidebar-muted);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap}.brand-mark{display:block;flex:0 0 auto;width:36px;height:36px;object-fit:contain}.brand-mark.large{width:56px;height:56px}.nav-menu{flex:1;display:flex;flex-direction:column;gap:2px;padding:var(--space-3);overflow-y:auto}.nav-item{position:relative;display:flex;align-items:center;gap:var(--space-3);min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--sidebar-text);font-size:var(--fs-md);font-weight:600;text-decoration:none}.sidebar .nav-item:hover{background:var(--sidebar-hover);color:var(--brand-700)}.nav-item.active{background:var(--sidebar-active);color:var(--brand-700);font-weight:700}.nav-section{margin:var(--space-4) var(--space-3) var(--space-2);color:var(--sidebar-muted)}.sidebar-footer{padding:var(--space-3);border-top:var(--line) solid var(--border)}.sidebar-link{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:40px;padding:0 var(--space-3);border:0;border-radius:var(--radius-md);background:none}.sidebar-link:hover{background:var(--sidebar-hover)}.drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;border:0;background:var(--overlay)}.main-column{margin-left:var(--sidebar-width);min-width:0}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:var(--space-4);height:var(--topbar-height);padding:0 var(--space-6);background:color-mix(in srgb,var(--surface) 96%,transparent);border-bottom:var(--line) solid var(--border)}.profile-switcher,.user-menu,.row-menu{position:relative}.profile-trigger{display:flex;align-items:center;gap:var(--space-3);min-width:190px;max-width:280px;padding:var(--space-1) var(--space-2) var(--space-1) var(--space-1);border:var(--line) solid transparent;border-radius:var(--radius-md);background:transparent;text-align:left}.profile-trigger:hover,.profile-trigger[aria-expanded=true]{background:var(--surface-2);border-color:var(--border)}.profile-trigger-text{flex:1;min-width:0}.profile-trigger small{display:block}.profile-trigger strong{display:block;overflow:hidden;font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap}.admin-context{display:flex;align-items:center;gap:var(--space-3);color:var(--brand-500)}.admin-context small{display:block;color:var(--text-secondary);font-size:var(--fs-xs)}.admin-context strong{display:block;color:var(--text-primary);font-size:var(--fs-md)}.topbar-search{position:relative;flex:1;max-width:420px;margin:0 auto;display:flex;align-items:center}.topbar-search.is-hidden{display:none}.topbar-search svg{position:absolute;left:var(--space-3);color:var(--text-secondary);pointer-events:none}.topbar-search kbd{position:absolute;right:var(--space-3);padding:0 var(--space-2);border:var(--line) solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);font-family:var(--font);font-size:var(--fs-xs)}.topbar-actions{display:flex;align-items:center;gap:var(--space-3);margin-left:auto}.avatar-btn{display:flex;align-items:center;gap:var(--space-1);height:40px;padding:0 var(--space-2) 0 var(--space-1);border:var(--line) solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--text-secondary)}.avatar-btn:hover,.avatar-btn[aria-expanded=true]{border-color:var(--border-strong);background:var(--surface-2)}.avatar-btn>span{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-full);background:var(--brand-500);color:var(--on-brand);font-size:var(--fs-md);font-weight:700}.popover{position:absolute;top:calc(100% + var(--space-2));left:0;z-index:70;min-width:290px;padding:var(--space-2);border:var(--line) solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.user-popover,.row-menu-popover{right:0;left:auto}.row-menu-popover{min-width:210px}.popover-label{display:block;padding:var(--space-2) var(--space-3)}.popover-hint{margin-bottom:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--warning-bg);color:var(--warning);font-size:var(--fs-sm);font-weight:600}.popover-item{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-in-popover);background:transparent;color:var(--text-primary);text-align:left}.popover-item>span:not(.profile-avatar){flex:1;min-width:0}.popover-item strong{display:block;font-size:var(--fs-md);font-weight:600}.popover-item small{display:block;color:var(--text-secondary);font-size:var(--fs-xs)}.popover-item:hover:not(:disabled),.popover-item[aria-current=true]{background:var(--brand-50)}.popover-item[aria-current=true]>svg{color:var(--brand-500)}.popover-item:disabled{opacity:.5}.popover-item.danger{color:var(--danger)}.popover-item.danger:hover{background:var(--danger-bg)}.popover-divider{height:var(--line);margin:var(--space-1) 0;background:var(--border)}.user-summary{display:grid;gap:2px;padding:var(--space-2) var(--space-3)}.user-summary strong{font-size:var(--fs-md)}.user-summary small{color:var(--text-secondary);font-size:var(--fs-sm);overflow-wrap:anywhere}.user-summary .role-chip{justify-self:start;margin-top:var(--space-2)}strong>.role-chip{margin-left:var(--space-2);vertical-align:1px}.status-banner{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-6);border-bottom:var(--line) solid;font-size:var(--fs-sm);text-align:center}.status-banner.tone-warning{background:var(--warning-bg);color:var(--warning);border-bottom-color:var(--warning-border)}.status-banner.tone-neutral{background:var(--neutral-bg);color:var(--neutral);border-bottom-color:var(--neutral-soft)}.update-prompt{position:fixed;left:50%;bottom:calc(var(--space-4) + env(safe-area-inset-bottom));z-index:70;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);width:min(560px,calc(100% - var(--space-8)));padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--brand-800);color:var(--on-dark);transform:translate(-50%);font-size:var(--fs-sm)}.update-prompt span{flex:1 1 220px}.update-prompt .text-btn{color:var(--on-dark-muted)}@media(max-width:767px){.update-prompt{bottom:calc(88px + env(safe-area-inset-bottom))}}.status-banner.tone-danger{background:var(--danger-bg);color:var(--danger);border-bottom-color:var(--danger-border)}.banner-link{display:inline-flex;align-items:center;min-height:24px;margin-block:calc(var(--space-2) * -1);padding:2px var(--space-2);white-space:nowrap}main:focus{outline:none}.page{max-width:var(--width-page);margin:0 auto;padding:var(--space-6) var(--space-7) var(--space-8)}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--rhythm-page)}.page-heading h1{font-size:var(--fs-heading-page);font-weight:800;letter-spacing:-.01em}.page-heading{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.header-actions,.quick-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-2)}.section{margin-top:var(--rhythm-section)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--rhythm-head)}.section-head .muted-text{margin-top:var(--space-1)}.section-title{font-size:var(--fs-heading-section);font-weight:700}.section>.section-title{margin-bottom:var(--rhythm-head)}.section-title .muted-text{margin-left:var(--space-2);font-weight:600}.section-icon{color:var(--brand-500)}@property --sub-nav-fade-start{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --sub-nav-fade-end{syntax: "<length>"; inherits: false; initial-value: 0px;}.sub-nav{display:flex;align-items:center;gap:var(--space-1);margin-bottom:var(--rhythm-page);padding:var(--space-1);overflow-x:auto;border:var(--line) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);scrollbar-width:none}.sub-nav::-webkit-scrollbar{display:none}@supports (animation-timeline: scroll()){.sub-nav{-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--sub-nav-fade-start),#000 calc(100% - var(--sub-nav-fade-end)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--sub-nav-fade-start),#000 calc(100% - var(--sub-nav-fade-end)),transparent);animation:sub-nav-fade linear both;animation-timeline:scroll(self inline)}}@supports not (animation-timeline: scroll()){@media(max-width:767px){.sub-nav{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - var(--space-7)),transparent);mask-image:linear-gradient(to right,#000 calc(100% - var(--space-7)),transparent)}}}@keyframes sub-nav-fade{0%{--sub-nav-fade-start: 0px;--sub-nav-fade-end: 32px}8%{--sub-nav-fade-start: 32px}92%{--sub-nav-fade-end: 32px}to{--sub-nav-fade-start: 32px;--sub-nav-fade-end: 0px}}.sub-nav-btn{display:inline-flex;flex:0 0 auto;align-items:center;gap:var(--space-2);min-height:40px;padding:var(--space-2) var(--space-3);border:var(--line) solid transparent;border-radius:var(--radius-in-lg);background:transparent;color:var(--text-secondary);font-size:var(--fs-sm);font-weight:700;white-space:nowrap;transition:background-color var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.sub-nav-btn:hover{background:var(--brand-50);border-color:var(--brand-100);color:var(--brand-700)}.sub-nav-btn.active{background:var(--brand-500);border-color:var(--brand-500);color:var(--on-brand)}.sub-nav-count{min-width:24px;padding:0 var(--space-2);border-radius:var(--radius-full);background:var(--surface-3);color:var(--text-secondary);font-size:var(--fs-xs);text-align:center}.sub-nav-btn.active .sub-nav-count{background:color-mix(in srgb,var(--on-brand) 20%,transparent);color:var(--on-brand)}.toolbar{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--rhythm-head)}.search-field{position:relative;flex:1 1 280px;display:flex;align-items:center}.search-field>svg{position:absolute;left:var(--space-3);color:var(--text-secondary);pointer-events:none}.search-field .icon-btn{position:absolute;right:var(--space-1)}.select-field{display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--fs-sm);font-weight:600}.filter-note{margin:calc(var(--space-1) * -1) 0 var(--space-3);color:var(--text-secondary);font-size:var(--fs-sm)}.busy-fade{position:relative}.busy-fade[aria-busy=true]{cursor:progress}.busy-fade[aria-busy=true]:before{content:"";position:absolute;top:0;left:var(--radius-lg);right:var(--radius-lg);z-index:1;height:2px;border-radius:var(--radius-full);background:var(--brand-500);animation:fade-in var(--duration-base) var(--ease)}.list-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-1);color:var(--text-secondary);font-size:var(--fs-sm)}.card.flush{padding:0;overflow:hidden}.card-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-4)}.card-header.padded{margin:0;padding:var(--space-5) var(--space-5) var(--space-3)}.card-header h2,.modal-header h2,.confirm-dialog h2{font-size:var(--fs-heading-card);font-weight:700}.card-header p,.modal-header p{margin-top:var(--space-1);color:var(--text-secondary);font-size:var(--fs-sm)}.card-title,.inset-form h3,.report-section h3,.account-card h3,.asset-card h3,.budget-card h3,.goal-card h3{font-size:var(--fs-heading-item);font-weight:700}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:var(--space-4)}.card-grid.two{grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr))}.card-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-3);border-top:var(--line) solid var(--border-light)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--space-4);margin-bottom:var(--rhythm-page)}.kpi-grid.three{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.kpi-card{display:grid;align-content:start;gap:var(--space-2);min-width:0;padding:var(--space-4) var(--space-5);border:var(--line) solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.kpi-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.kpi-value{color:var(--brand-500);font-size:var(--fs-figure-md);font-weight:700;line-height:1.2;letter-spacing:-.01em;overflow-wrap:anywhere}.kpi-hint{color:var(--text-secondary);font-size:var(--fs-xs)}.status-badge.tone-success{background:var(--success-soft);color:var(--success)}.status-badge.tone-warning{background:var(--warning-soft);color:var(--warning)}.status-badge.tone-danger{background:var(--danger-soft);color:var(--danger)}.status-badge.tone-neutral{background:var(--neutral-soft);color:var(--neutral)}.callout>span{display:grid;flex:0 0 auto;padding-top:1px}.callout strong{display:block;font-size:var(--fs-md)}.callout p{margin-top:var(--space-1);color:var(--text-secondary)}.callout.tone-brand{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-700)}.callout.tone-success{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.callout.tone-warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning)}.callout.tone-neutral{background:var(--surface-2);border-color:var(--border);color:var(--text-primary)}.callout.tone-neutral>span{color:var(--brand-500)}.progress{height:8px;overflow:hidden;border-radius:var(--radius-full);background:var(--surface-3)}.progress i{display:block;height:100%;border-radius:var(--radius-full);background:var(--brand-500);transition:width var(--duration-slow) var(--ease)}.progress.tone-warning i{background:var(--warning)}.progress.tone-danger i{background:var(--danger-accent)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-6);border:var(--line) dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-secondary);text-align:center}.card .empty-state{border:0;padding:var(--space-7) var(--space-3)}.empty-icon{margin-bottom:var(--space-1)}.empty-state h1,.empty-state h3{color:var(--text-primary);font-size:var(--fs-heading-item);font-weight:700}.empty-state p{max-width:46ch;font-size:var(--fs-md)}.empty-state .btn,.empty-state .choice-list{margin-top:var(--space-2)}.choice-list{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.choice-list small{color:var(--text-secondary);font-size:var(--fs-xs);font-weight:600}.error-state{flex-wrap:wrap;align-items:center;font-size:var(--fs-md)}.error-state>div{flex:1 1 220px}.error-state strong{font-size:var(--fs-md)}.error-state p{margin-top:var(--space-1);font-size:var(--fs-sm)}.skeleton{display:block;background:var(--surface-3)}.loading-block{display:grid;gap:var(--space-4)}.skeleton-row{display:grid;grid-template-columns:36px minmax(0,1fr) 96px;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:var(--line) solid var(--border-light)}.skeleton-row>div{display:grid;gap:var(--space-2)}.screen-center{display:grid;place-items:center;min-height:100vh;padding:var(--space-6)}.table-card{overflow:hidden;border:var(--line) solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.card .table-card{border:0;border-radius:0}.table-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:var(--line) solid var(--border);background:var(--surface-2)}.table-card-head span{color:var(--text-secondary);font-size:var(--fs-xs);font-weight:600}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-variant-numeric:lining-nums}.data-table th{padding:var(--space-3) var(--space-4);border-bottom:var(--line) solid var(--border);background:var(--surface-2);text-align:left;white-space:nowrap}.data-table td{padding:var(--space-3) var(--space-4);border-bottom:var(--line) solid var(--border-light);font-size:var(--fs-md);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:var(--surface-2)}.data-table .num{text-align:right;white-space:nowrap}.data-table td small{display:block;margin-top:2px;color:var(--text-secondary);font-size:var(--fs-xs)}.data-table tfoot th,.data-table tfoot td{border-top:var(--line) solid var(--border);border-bottom:0;background:var(--surface-2);color:var(--text-primary);font-size:var(--fs-md);font-weight:700;text-transform:none;letter-spacing:0}.data-table.compact td{padding:var(--space-2) var(--space-4)}.cell-main{display:flex;align-items:center;gap:var(--space-3);min-width:0}td.cell-main{display:table-cell}td.cell-main>*{vertical-align:middle}.cell-main>div,td.cell-main>div{display:inline-block;min-width:0}td.cell-main>.row-icon,td.cell-main>.profile-avatar{margin-right:var(--space-3)}.cell-main strong{font-size:var(--fs-md);font-weight:600}.cell-strong{display:block;font-size:var(--fs-md);font-weight:600}.cell-actions{text-align:right;white-space:nowrap}.cell-actions>*+*{margin-left:var(--space-1)}.row-muted td{color:var(--text-tertiary)}.row-overdue td{background:var(--danger-bg)}.transaction-table tbody tr{cursor:pointer}.row-link{min-height:24px;padding:2px 0;border:0;background:none;text-align:left}.transaction-table .status-badge{margin-top:var(--space-1)}.mobile-meta{display:none}.row-reversed .row-link{color:var(--text-tertiary)}.fee-note{color:var(--text-tertiary)!important}.amount{font-weight:700;white-space:nowrap}.amount.is-reversed{color:var(--text-tertiary);text-decoration:line-through}.form-stack{display:grid;gap:var(--space-4)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.form-grid .full{grid-column:1 / -1}.field{display:grid;align-content:start;gap:var(--space-2);min-width:0}.field-label{display:block;color:var(--text-primary);font-size:var(--fs-sm);font-weight:700}.field-label em{margin-left:var(--space-2);color:var(--text-secondary);font-size:var(--fs-xs);font-style:normal;font-weight:500}.field input,.field select,.field textarea,.search-field input,.select-field select,.topbar-search input,.money-input{min-height:44px;border:var(--line) solid var(--border-input);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font-size:var(--fs-md);transition:border-color var(--duration-fast) var(--ease)}.field input,.field select,.field textarea{width:100%;padding:var(--space-2) var(--space-3)}.search-field input{width:100%;padding:var(--space-2) calc(var(--space-8) + var(--space-2)) var(--space-2) var(--space-8)}.select-field select{min-width:190px;padding:var(--space-2) var(--space-3);font-weight:600}.topbar-search input{width:100%;min-height:40px;padding:var(--space-2) 72px var(--space-2) var(--space-8);background:var(--surface-2)}.field input:focus,.field select:focus,.field textarea:focus,.search-field input:focus,.select-field select:focus,.topbar-search input:focus,.money-input:focus-within,.check-row:focus-within{border-color:var(--brand-500);outline:2px solid var(--brand-500);outline-offset:0}.field input:disabled,.field select:disabled{background:var(--surface-3);color:var(--text-secondary)}.field input::placeholder,.field textarea::placeholder,.search-field input::placeholder,.topbar-search input::placeholder{color:var(--text-tertiary)}.field textarea{min-height:80px;resize:vertical}.field .code-input{font-size:var(--fs-figure-md);font-weight:700;font-variant-numeric:lining-nums;letter-spacing:.4em;text-indent:.4em;text-align:center}.money-input{display:flex;align-items:stretch;overflow:hidden}.money-input b{display:grid;place-items:center;padding:0 var(--space-3);border-right:var(--line) solid var(--border);background:var(--surface-2);color:var(--text-secondary);font-size:var(--fs-sm)}.field .money-input input{min-height:41px;border:0;border-radius:0;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.money-input input::-webkit-outer-spin-button,.money-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.money-input.large input{min-height:56px;font-size:var(--fs-figure-md);font-weight:700}.password-input{position:relative;display:block}.password-input input{padding-right:calc(var(--space-8) + var(--space-2))}.check-row{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:var(--line) solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);cursor:pointer;transition:border-color var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease)}.check-row:has(input:checked){border-color:var(--brand-500);background:var(--brand-50)}.check-row input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--brand-500)}.check-row strong{display:block;font-size:var(--fs-md)}.check-row small{display:block;color:var(--text-secondary);font-size:var(--fs-sm)}.segmented{display:flex;gap:var(--space-1);padding:var(--space-1);border:var(--line) solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2)}.segmented button{display:flex;flex:1;align-items:center;justify-content:center;gap:var(--space-2);min-height:40px;padding:var(--space-1) var(--space-2);border:0;border-radius:var(--radius-in-lg);background:transparent;color:var(--text-secondary);font-size:var(--fs-sm);font-weight:700;transition:background-color var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.segmented button:hover{background:var(--brand-50);color:var(--brand-700)}.segmented button.active,.segmented button[aria-pressed=true]{background:var(--brand-500);color:var(--on-brand)}.form-stack details{padding-top:var(--space-1);border-top:var(--line) solid var(--border-light)}.form-stack summary,.table-view summary,.help-disclosure summary,.history-disclosure summary{display:list-item;min-height:36px;padding:var(--space-2) 0;cursor:pointer}.form-stack details[open]>summary{margin-bottom:var(--space-2)}.file-drop{position:relative;display:grid;justify-items:center;gap:2px;padding:var(--space-4);border:var(--line) dashed var(--brand-200);border-radius:var(--radius-md);background:var(--brand-50);color:var(--brand-500);text-align:center;cursor:pointer}.file-drop span{font-size:var(--fs-md);font-weight:700}.file-drop small{color:var(--text-secondary);font-size:var(--fs-xs)}.file-drop input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.file-drop:focus-within{outline:2px solid var(--brand-500);outline-offset:2px}.file-list{display:grid;gap:var(--space-2);margin:var(--space-2) 0 0;padding:0;list-style:none}.file-list li{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);border:var(--line) solid var(--border);border-radius:var(--radius-md);background:var(--surface);font-size:var(--fs-sm)}.file-list li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-list li small{color:var(--text-secondary);font-size:var(--fs-xs)}.form-error{font-weight:600}.status-region{display:grid;gap:var(--space-3)}.status-region:empty{position:absolute}.status-region:focus{outline:none}.inset-form{padding:var(--space-4);border:var(--line) solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2)}.inset-form .modal-actions{position:static;margin:0;padding:var(--space-4) 0 0;background:transparent}.form-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--space-2);padding-top:var(--space-2)}.steps{display:grid;gap:var(--space-3);margin:0;padding-left:var(--space-6);font-size:var(--fs-md)}.steps svg{vertical-align:-3px}dialog.modal{width:min(var(--width-dialog-md),calc(100vw - 32px));max-width:none;max-height:min(90vh,920px);padding:0;overflow:hidden;border:0;border-radius:var(--radius-xl);background:var(--surface);color:var(--text-primary)}dialog.modal-wide{width:min(var(--width-dialog-lg),calc(100vw - 32px))}dialog.modal-narrow{width:min(var(--width-dialog-sm),calc(100vw - 32px))}dialog.modal[open]{animation:fade-in var(--duration-base) var(--ease)}dialog::backdrop{background:var(--overlay)}.modal-panel{max-height:inherit;overflow-y:auto;overscroll-behavior:contain}.modal-header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-6) var(--space-4);border-bottom:var(--line) solid var(--border);background:var(--surface)}.modal-body{padding:var(--space-5) var(--space-6) var(--space-6)}.modal-actions{position:sticky;bottom:calc(var(--space-6) * -1);z-index:1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);margin:var(--space-2) calc(var(--space-6) * -1) calc(var(--space-6) * -1);padding:var(--space-4) var(--space-6) var(--space-5);border-top:var(--line) solid var(--border);background:var(--surface)}.modal-actions.start{justify-content:flex-start}.card .modal-actions,.settings-section .modal-actions{position:static;margin:0;padding:var(--space-4) 0 0}.confirm-dialog{width:min(var(--width-dialog-xs),calc(100vw - 32px));padding:var(--space-7) var(--space-6) var(--space-6);border:0;border-radius:var(--radius-xl);background:var(--surface);color:var(--text-primary);text-align:center}.confirm-dialog[open]{animation:fade-in var(--duration-base) var(--ease)}.confirm-icon{margin:0 auto var(--space-4)}.confirm-actions{display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--space-6)}.confirm-actions .btn{min-width:120px}.detail-amount{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--surface-2);text-align:center}.detail-amount strong{font-size:var(--fs-figure-lg);line-height:1.2}.detail-list{margin:0}.detail-list div{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:var(--line) solid var(--border-light);font-size:var(--fs-md)}.detail-list dt{color:var(--text-secondary)}.detail-list dd{margin:0;font-weight:600;text-align:right;overflow-wrap:anywhere}.detail-section h3{margin-bottom:var(--space-2);font-size:var(--fs-md);font-weight:700}.attachment-list{display:grid;gap:var(--space-1);margin:0;padding:0;list-style:none}.attachment-list li{display:flex;align-items:center;gap:var(--space-2);min-height:36px;color:var(--text-secondary)}.attachment-list a{overflow-wrap:anywhere}.history-list{display:grid;margin:0;padding:0;list-style:none}.history-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:var(--line) solid var(--border-light);font-size:var(--fs-sm)}.history-list li:last-child{border-bottom:0}.history-list strong{display:block;font-size:var(--fs-md)}.history-list small{display:block;color:var(--text-secondary);font-size:var(--fs-xs)}.history-list b{white-space:nowrap}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:var(--space-3)}.summary-tile{padding:var(--space-3) var(--space-4);border:var(--line) solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2)}.summary-tile>span{display:block}.summary-tile strong{display:block;margin-top:var(--space-1);font-size:var(--fs-figure-sm);font-weight:700}.summary-tile.tone-danger strong{color:var(--danger)}.summary-tile.tone-success strong{color:var(--success)}.toast-region{position:fixed;right:var(--space-6);bottom:var(--space-6);z-index:300;display:grid;gap:var(--space-3);width:min(380px,calc(100vw - 32px));pointer-events:none}.toast-list{display:grid;gap:var(--space-3)}.toast-list:empty{position:absolute}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border:var(--line) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);pointer-events:auto;animation:fade-in var(--duration-base) var(--ease)}.toast>div{flex:1;min-width:0}.toast strong{display:block;font-size:var(--fs-md)}.toast p{margin-top:var(--space-1);color:var(--text-secondary);font-size:var(--fs-sm)}.toast.tone-brand .toast-icon{color:var(--brand-500)}.toast.tone-success .toast.tone-success .toast-icon{color:var(--success)}.toast.tone-danger .toast.tone-danger .toast-icon{color:var(--danger)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.9fr);gap:var(--rhythm-page);margin-bottom:var(--rhythm-page)}.dashboard-grid.lower{grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr)}.chart-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);color:var(--text-secondary);font-size:var(--fs-xs);font-weight:600}.chart-legend span{display:flex;align-items:center;gap:var(--space-2)}.chart-legend i{width:10px;height:10px;border-radius:var(--radius-xs)}.chart-box{min-height:240px}.table-view{margin-top:var(--space-2)}.attention-list,.balance-group ul{display:grid;margin:0;padding:0;list-style:none}.attention-list li,.balance-group li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:var(--line) solid var(--border-light)}.attention-list li:last-child,.balance-group li:last-child{border-bottom:0}.attention-list li>div:not(.attention-value),.balance-group li>div{flex:1;min-width:0}.attention-list strong{display:block;font-size:var(--fs-md);font-weight:600}.attention-list small,.balance-group small{display:block;color:var(--text-secondary);font-size:var(--fs-xs)}.attention-list .is-overdue small{color:var(--danger);font-weight:600}.attention-value{display:grid;justify-items:end;gap:var(--space-1)}.attention-value b{white-space:nowrap}.balance-groups{display:grid;gap:var(--space-5)}.balance-group-head{display:flex;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:var(--line) solid var(--border)}.balance-group-head b{color:var(--text-primary);font-size:var(--fs-sm);letter-spacing:0}.balance-group a{display:inline-block;min-height:24px;padding:2px 0}.balance-group b{white-space:nowrap;font-size:var(--fs-md)}.profile-card{position:relative;display:grid;gap:var(--space-4);width:100%;color:var(--text-primary);text-align:left;transition:border-color var(--duration-fast) var(--ease)}.profile-card:hover{border-color:var(--brand-200)}.profile-card>.profile-avatar{position:absolute}.profile-card-name{min-height:36px;padding-left:calc(36px + var(--space-3))}.profile-card-name strong{display:block;font-size:var(--fs-heading-item)}.profile-card-name small,.profile-card-value small{display:block;color:var(--text-secondary);font-size:var(--fs-xs)}.profile-card-value strong{display:block;font-size:var(--fs-figure-sm)}.profile-card-foot{display:flex;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-3);border-top:var(--line) solid var(--border-light);color:var(--text-secondary);font-size:var(--fs-sm)}.profile-card-foot b{color:var(--text-primary);white-space:nowrap}.profile-card-foot b.negative{color:var(--danger)}.profile-card-cta{display:inline-flex;align-items:center;gap:var(--space-1)}.account-card,.asset-card{display:flex;flex-direction:column}.account-card>header,.asset-card>header{display:flex;align-items:center;gap:var(--space-3)}.account-card>header>div,.asset-card>header>div{flex:1;min-width:0}.account-card h3,.asset-card h3{overflow-wrap:anywhere}.account-card header small,.asset-card header small{display:block;color:var(--text-secondary);font-size:var(--fs-sm)}.account-balance{margin:var(--space-4) 0 var(--space-3)}.account-balance small{display:block}.account-balance strong{display:block;font-size:var(--fs-figure-sm);font-weight:700;font-variant-numeric:lining-nums}.account-movement{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);padding-top:var(--space-3);border-top:var(--line) solid var(--border-light)}.account-movement small{display:block;color:var(--text-secondary);font-size:var(--fs-xs)}.account-movement b{font-size:var(--fs-md);font-variant-numeric:lining-nums}.account-meta{margin-top:var(--space-3);color:var(--text-secondary);font-size:var(--fs-sm)}.account-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.account-actions .btn{flex:1 1 auto}.account-card>footer,.asset-card>footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:auto;padding-top:var(--space-3);border-top:var(--line) solid var(--border-light);color:var(--text-secondary);font-size:var(--fs-sm)}.account-movement+footer,.account-meta+footer,.account-actions+footer{margin-top:var(--space-4)}.asset-icon,.asset-property,.asset-land,.asset-vehicle,.asset-equipment,.asset-livestock,.asset-investment,.asset-shares{background:var(--brand-100)}.budget-card,.goal-card{display:flex;flex-direction:column;gap:var(--space-3)}.budget-card>.card-actions,.goal-card>.card-actions{margin-top:auto}.budget-card>header,.goal-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.budget-card header small,.goal-card header small{display:block;color:var(--text-secondary);font-size:var(--fs-sm)}.budget-percent{font-size:var(--fs-xl);font-weight:700}.budget-percent.tone-danger{color:var(--danger)}.budget-percent.tone-warning{color:var(--warning)}.budget-percent.tone-brand{color:var(--brand-500)}.budget-figures{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-1) var(--space-3);color:var(--text-secondary);font-size:var(--fs-sm)}.budget-figures b{color:var(--text-primary)}.budget-figures b.negative{color:var(--danger)}.budget-alert{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);font-weight:700}.budget-alert.tone-danger{color:var(--danger)}.budget-alert.tone-warning{color:var(--warning)}.goal-progress{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3)}.goal-progress span{display:block}.goal-progress strong{display:block;font-size:var(--fs-figure-md)}.goal-progress strong small{color:var(--text-secondary);font-size:var(--fs-md);font-weight:500}.goal-progress>b{color:var(--brand-500);font-size:var(--fs-figure-md)}.row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-1)}.history-disclosure{padding:0 var(--space-1)}.report-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--rhythm-page)}.report-controls .sub-nav{margin:0}.report-section{margin-top:var(--space-6)}.report-section h3{margin-bottom:var(--space-2)}.report-table td{padding:var(--space-2) var(--space-1)}.report-table tfoot th,.report-table tfoot td{padding:var(--space-3) var(--space-1);background:transparent;text-align:left}.report-table tfoot td{text-align:right}.trial-table td,.trial-table th{padding:var(--space-2) var(--space-3)}.trial-table tfoot th{text-align:left}.settings-section{display:grid;gap:var(--rhythm-head)}.settings-section>.section-head{margin-bottom:0}.settings-section.narrow{max-width:var(--width-content)}.settings-list{margin:0;padding:0;overflow:hidden;border:var(--line) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);list-style:none}.settings-list.flat{border:0;border-radius:0}.settings-list li{display:flex;align-items:center;gap:var(--space-3);min-height:64px;padding:var(--space-3) var(--space-4);border-bottom:var(--line) solid var(--border-light)}.settings-list li:last-child{border-bottom:0}.settings-list li.is-current{background:var(--brand-50)}.settings-list-main{flex:1;min-width:0}.settings-list-main strong{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);font-size:var(--fs-md);font-weight:700}.settings-list-main strong>.role-chip{margin-left:0}.settings-list-main small{display:block;color:var(--text-secondary);font-size:var(--fs-sm)}.settings-list li.is-archived .settings-list-main strong{color:var(--text-secondary)}.settings-list li.is-archived .settings-list-main small{color:var(--text-tertiary)}.settings-list-actions{display:flex;flex:0 0 auto;align-items:center;gap:var(--space-1)}.category-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:var(--space-4)}.login-page{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);min-height:100vh;background:var(--surface)}.login-brand-panel{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-8);padding:var(--space-8) clamp(var(--space-7),6vw,96px);background:var(--login-ground);color:var(--on-dark)}.login-brand,.login-mobile-brand{display:flex;align-items:center;gap:var(--space-3);font-size:var(--fs-lg);font-weight:700}.login-pitch{max-width:560px}.login-pitch h2{font-size:var(--fs-display);font-weight:800;line-height:1.08;letter-spacing:-.02em}.login-pitch p{margin-top:var(--space-4);color:var(--on-dark-muted);font-size:var(--fs-lg);line-height:1.6}.login-pitch ul{display:grid;gap:var(--space-3);margin:var(--space-7) 0 0;padding:0;list-style:none}.login-pitch li{display:flex;align-items:center;gap:var(--space-3);color:var(--on-dark);font-size:var(--fs-lg)}.login-pitch li svg{color:var(--accent-500)}.login-footnote{color:var(--on-dark-muted);font-size:var(--fs-md)}.login-form-panel{display:grid;place-items:center;padding:var(--space-8) var(--space-6)}.login-form{display:grid;gap:var(--space-4);width:min(var(--width-form),100%)}.account-choices{display:grid;gap:var(--space-2);min-width:0;margin:0;padding:0;border:0}.account-choices legend{margin-bottom:var(--space-2);padding:0}.login-mobile-brand{display:none;color:var(--brand-500)}.login-heading{display:grid;gap:var(--space-2)}.login-eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);justify-self:start;color:var(--accent-800);font-size:var(--fs-xs);font-weight:700;letter-spacing:var(--tracking-caps-wide);text-transform:uppercase}.login-heading h1{font-size:var(--fs-4xl);font-weight:800;letter-spacing:-.02em}.login-heading p{color:var(--text-secondary);font-size:var(--fs-md)}.login-divider{width:100%;height:var(--line);margin:2px 0;border:0;background:var(--border)}.login-form .field-label{font-size:var(--fs-xs);letter-spacing:var(--tracking-caps-wide);text-transform:uppercase}.help-disclosure p{color:var(--text-secondary);font-size:var(--fs-sm)}.login-links{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.login-link-muted{flex-wrap:wrap;gap:0 var(--space-1);color:var(--text-secondary);font-weight:500;text-align:left}.login-link-muted strong{color:var(--brand-500);font-weight:700}.offline-screen .empty-state{max-width:var(--width-dialog-sm)}.bottom-nav{display:none}@media(pointer:coarse){.btn,.avatar-btn{min-height:44px}.avatar-btn{height:44px}.btn-small{min-height:40px}.icon-btn,.icon-btn.small,.modal-close,.password-toggle{width:44px;height:44px}.password-toggle{right:0}.text-btn,.card-link,.form-stack summary,.table-view summary,.help-disclosure summary,.history-disclosure summary,.banner-link{min-height:44px}.form-stack summary,.table-view summary,.help-disclosure summary,.history-disclosure summary{padding-block:var(--space-3)}.row-link,.balance-group a{display:inline-flex;align-items:center;min-height:44px}}@media(max-width:1200px){.dashboard-grid,.dashboard-grid.lower{grid-template-columns:minmax(0,1fr)}}@media(max-width:1023px){.sidebar{transform:translate(-100%);transition:transform var(--duration-base) var(--ease)}.sidebar.open{transform:translate(0)}.main-column{margin-left:0}.topbar{padding:0 var(--space-4);gap:var(--space-2)}.profile-trigger{min-width:0}}@media(max-width:767px){:root{--fs-heading-page: var(--fs-3xl)}.topbar{height:60px}.topbar-search,.new-btn,.topbar-actions .btn-accent{display:none}.profile-trigger{max-width:210px}.page{padding:var(--space-4) var(--space-4) calc(96px + env(safe-area-inset-bottom))}.page-header{flex-direction:column;align-items:stretch;gap:var(--space-4)}.header-actions,.quick-actions{justify-content:stretch}.header-actions>.btn{flex:1 1 0}.header-actions>.quick-actions{display:grid;flex:1 1 100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.quick-actions .btn{flex-direction:column;gap:var(--space-1);min-height:64px;padding:var(--space-2);font-size:var(--fs-sm)}.kpi-grid,.kpi-grid.three{grid-template-columns:1fr;gap:var(--space-2)}.kpi-card{grid-template-columns:minmax(0,1fr) auto;column-gap:var(--space-3);row-gap:2px;align-items:center;padding:var(--space-3) var(--space-4)}.kpi-head{display:contents}.kpi-label,.kpi-value,.kpi-hint{grid-column:1}.kpi-icon{--tile: 32px;grid-column:2;grid-row:1 / span 3}.kpi-icon svg{width:18px;height:18px}.kpi-value{font-size:var(--fs-figure-sm)}.card,.account-card,.asset-card,.profile-card{padding:var(--space-4)}.card-header.padded{padding:var(--space-4) var(--space-4) var(--space-3)}.status-banner{padding:var(--space-2) var(--space-4);text-align:left;justify-content:flex-start}.banner-detail{display:none}.toast-region{top:var(--space-3);right:var(--space-3);left:var(--space-3);bottom:auto;width:auto}.field input,.field select,.field textarea,.search-field input,.select-field select{font-size:var(--fs-lg)}.field .code-input{font-size:var(--fs-figure-md)}.select-field{flex:1 1 100%}.select-field select{flex:1;min-width:0}.report-controls{align-items:stretch}.report-controls .sub-nav,.period-select{width:100%}.bottom-nav{position:fixed;inset:auto 0 0 0;z-index:50;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;padding:var(--space-1) var(--space-2) calc(var(--space-1) + env(safe-area-inset-bottom));border-top:var(--line) solid var(--border);background:var(--surface)}.bottom-nav .nav-item{flex-direction:column;justify-content:center;gap:2px;min-height:56px;padding:var(--space-1);border:0;border-radius:var(--radius-lg);background:transparent;color:var(--text-secondary);font-size:var(--fs-xs);font-weight:700}.bottom-nav .nav-item.active{background:var(--sidebar-active);color:var(--brand-700)}.bottom-nav:has(.nav-label-long){grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}.bottom-nav .nav-label-long{padding-inline:0;letter-spacing:-.02em}.bottom-nav-new{justify-self:center;display:grid;place-items:center;width:56px;height:56px;margin-bottom:var(--space-2);border:0;border-radius:var(--radius-full);background:var(--brand-500);color:var(--on-brand)}.bottom-nav:not(:has(.bottom-nav-new)){grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:720px){.data-table:not(.keep-table) thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.data-table:not(.keep-table),.data-table:not(.keep-table) tbody,.data-table:not(.keep-table) tfoot{display:block}.data-table:not(.keep-table) tr{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:var(--line) solid var(--border-light)}.data-table:not(.keep-table) tbody tr:last-child{border-bottom:0}.data-table:not(.keep-table) td,.data-table:not(.keep-table) th{display:block;padding:0;border:0;background:transparent}.data-table:not(.keep-table) td.cell-main{grid-column:1;display:flex}.data-table:not(.keep-table) td.num{grid-column:2;grid-row:1}.data-table:not(.keep-table) td[data-label]{grid-column:1 / -1;grid-row:auto;display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--fs-sm);text-align:right}.data-table:not(.keep-table) td[data-label]:before{content:attr(data-label);color:var(--text-secondary);font-size:var(--fs-xs);font-weight:700;text-align:left}.data-table:not(.keep-table) td[data-label] small{display:inline;margin-left:var(--space-2)}.data-table:not(.keep-table) td.cell-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:var(--space-2);text-align:left}.row-actions{justify-content:flex-start}.data-table:not(.keep-table) tfoot tr{border-top:var(--line) solid var(--border)}.transaction-table td[data-label]{display:none!important}.transaction-table .mobile-meta{display:inline}.row-overdue{background:var(--danger-bg)}}@media(max-width:640px){.form-grid{grid-template-columns:minmax(0,1fr)}dialog.modal,dialog.modal-wide,dialog.modal-narrow{width:100%;max-height:92dvh;margin:auto 0 0;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.modal-header{padding:var(--space-4) var(--space-4) var(--space-3)}.modal-body{padding:var(--space-4) var(--space-4) var(--space-5)}.modal-actions{bottom:calc(var(--space-5) * -1);margin:var(--space-2) calc(var(--space-4) * -1) calc(var(--space-5) * -1);padding:var(--space-3) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom))}.modal-actions .btn{flex:1 1 0}.confirm-actions .btn{flex:1 1 0;min-width:0}.segmented button{flex-direction:column;gap:2px;font-size:var(--fs-xs)}.settings-list li{flex-wrap:wrap}.settings-list-main{flex:1 1 calc(100% - 60px)}.settings-list-actions{margin-left:calc(36px + var(--space-3))}.section-head{flex-wrap:wrap;align-items:flex-start}.section-head>.btn{flex:1 1 100%}}@media(max-width:900px){.login-page{grid-template-columns:minmax(0,1fr);min-height:100dvh;padding:max(var(--space-6),env(safe-area-inset-top)) var(--space-4) max(var(--space-6),env(safe-area-inset-bottom));background:var(--surface-2)}.login-brand-panel{display:none}.login-form-panel{display:block;place-items:normal;width:100%;max-width:calc(var(--width-form) + 2 * var(--space-6));margin:auto;padding:var(--space-7) var(--space-6);border:var(--line) solid var(--border);border-radius:var(--radius-xl);background:var(--surface)}.login-form{width:100%}.login-mobile-brand{display:flex;margin-bottom:var(--space-6);font-size:var(--fs-2xl);letter-spacing:-.01em}.login-mobile-brand .brand-mark{width:40px;height:40px}.login-heading h1{line-height:1.15}}@media(max-width:360px){.login-page{padding-inline:var(--space-3)}.login-form-panel{padding:var(--space-6) var(--space-4)}}@keyframes fade-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{.sidebar,.topbar,.bottom-nav,.status-banner,.header-actions,.report-controls,.toast-region,.skip-link{display:none!important}.main-column{margin:0}.page{max-width:none;padding:0}body{background:var(--surface)}}.drawer-chip{display:inline-flex;align-items:center;gap:var(--space-1);min-height:32px;padding:0 var(--space-3);border:var(--line) solid var(--warning-border);border-radius:var(--radius-full);background:var(--warning-bg);color:var(--warning);font-size:var(--fs-xs);font-weight:700;text-decoration:none;white-space:nowrap}.drawer-chip.is-open{border-color:var(--success-border);background:var(--success-bg);color:var(--success)}.drawer-chip:hover{text-decoration:underline}@media(max-width:520px){.drawer-chip span{display:none}.drawer-chip{padding:0 var(--space-2)}}.plate{display:inline-flex;align-items:center;padding:1px var(--space-2);border:var(--line) solid var(--text-primary);border-radius:var(--radius-sm);background:var(--amber-3);color:var(--text-primary);font-size:var(--fs-md);font-weight:800;letter-spacing:.06em;font-variant-numeric:lining-nums;white-space:nowrap}.plate.small{padding:0 var(--space-1);border-width:var(--line);font-size:var(--fs-sm)}.plate.large{padding:var(--space-1) var(--space-3);font-size:var(--fs-2xl)}.chip-group{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip{display:inline-flex;align-items:center;gap:var(--space-2);min-height:40px;padding:var(--space-2) var(--space-3);border:var(--line) solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font-size:var(--fs-sm);font-weight:600;text-align:left;transition:border-color var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease)}.chip:hover:not(:disabled){border-color:var(--brand-500);background:var(--brand-50)}.chip[aria-pressed=true]{border-color:var(--brand-500);background:var(--brand-50);color:var(--brand-700)}.chip:disabled{opacity:.55}.chip small{color:var(--text-secondary);font-size:var(--fs-xs);font-weight:600}.chip[aria-pressed=true] small{color:var(--brand-700)}.chip .chip-check{display:grid;place-items:center;width:18px;height:18px;border:var(--line) solid var(--border-input);border-radius:var(--radius-xs);background:var(--surface)}.chip[aria-pressed=true] .chip-check{border-color:var(--brand-500);background:var(--brand-500);color:var(--on-brand)}.page-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:var(--rhythm-page);align-items:start}.page-columns>*{min-width:0}@media(max-width:1100px){.page-columns{grid-template-columns:minmax(0,1fr)}}.badge-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.total-line{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--surface-2)}.total-line span{color:var(--text-secondary);font-size:var(--fs-sm);font-weight:700}.total-line strong{color:var(--brand-500);font-size:var(--fs-figure-sm);font-weight:800;font-variant-numeric:lining-nums}.inline-notice{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);border:var(--line) solid var(--warning-border);border-radius:var(--radius-lg);background:var(--warning-bg);color:var(--warning);font-size:var(--fs-sm);font-weight:600}.inline-notice>span{flex:1 1 220px}.pager{display:flex;align-items:center;gap:var(--space-2)}.invite-card{display:grid;gap:var(--space-4)}.business-choices{display:grid;gap:var(--space-2)}.business-choice{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:64px;padding:var(--space-3) var(--space-4);border:var(--line) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-primary);text-align:left;text-decoration:none}.business-choice:hover{border-color:var(--brand-200);background:var(--brand-50)}.business-choice>div{flex:1;min-width:0}.business-choice strong{display:block;font-size:var(--fs-md)}.business-choice small{display:block;color:var(--text-secondary);font-size:var(--fs-xs)}.copy-link{display:flex;gap:var(--space-2)}.copy-link input{flex:1;min-width:0;min-height:44px;padding:var(--space-2) var(--space-3);border:var(--line) solid var(--border-input);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-primary);font-size:var(--fs-sm)}@media print{.no-print{display:none!important}}.inline-notice .float-input{width:120px;min-height:36px;padding:var(--space-1) var(--space-2);border:var(--line) solid var(--border-input);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary)}.table-scroll,.report-table-wrap{position:relative}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.data-table td small.mobile-meta{display:none}@media(max-width:720px){.data-table td small.mobile-meta{display:block}}.data-table td[data-label=Phone]{white-space:nowrap}@media(max-width:767px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-tile strong{font-size:var(--fs-xl)}}.auth-layout{display:grid;min-height:100vh;min-height:100svh;place-items:center;padding:var(--space-6);color:var(--text-primary);background:var(--paper-glow),linear-gradient(to right,transparent 0 71px,rgba(224,138,26,.5) 71px 72px,transparent 72px),var(--paper-ruling),var(--background)}.auth-card{display:grid;gap:var(--space-5);width:min(var(--width-form),100%)}.auth-brand{display:flex;align-items:center;gap:10px}.auth-brand-icon{width:28px;height:28px;object-fit:contain;flex:0 0 auto}.auth-brand-name{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:500}.auth-title{font-family:var(--font-display);font-size:var(--fs-display);font-weight:500;line-height:1.1;letter-spacing:-.02em}.auth-mode-switch{display:flex;gap:var(--space-1);border-bottom:var(--line) solid var(--border)}.auth-mode-button{min-height:36px;margin-bottom:-1px;padding:var(--space-2) 10px;border:0;border-bottom:2px solid transparent;background:none;color:var(--text-tertiary);font:inherit;font-size:var(--fs-md);font-weight:500;transition:color var(--duration-fast)}.auth-mode-button:hover{color:var(--text-primary)}.auth-mode-button[aria-selected=true]{border-bottom-color:var(--accent-500);color:var(--text-primary)}.auth-form{display:grid;gap:14px}.auth-field-label{display:block;margin-bottom:6px;color:var(--text-secondary);font-size:var(--fs-sm);font-weight:500}.auth-input-wrap{position:relative}.auth-input{width:100%;height:40px;padding:0 44px 0 12px;border:var(--line) solid var(--border-input);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font:inherit;font-size:var(--fs-md);transition:border-color var(--duration-fast)}.auth-input:focus{border-color:var(--brand-500);outline:2px solid var(--brand-500);outline-offset:0}.auth-toggle{position:absolute;top:50%;right:4px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:var(--radius-md);background:none;color:var(--text-tertiary);transform:translateY(-50%)}.auth-toggle:hover{background:var(--surface-3);color:var(--text-primary)}.auth-cta{width:100%;min-height:40px;margin-top:var(--space-1);border:0;border-radius:var(--radius-md);background:var(--brand-500);color:var(--on-brand);font:inherit;font-size:var(--fs-md);font-weight:500;transition:background-color var(--duration-fast),transform .1s}.auth-cta:hover:not(:disabled){background:var(--brand-700)}.auth-cta:active:not(:disabled){transform:translateY(1px)}.auth-cta:disabled{cursor:wait;opacity:.6}.auth-error{padding:10px 12px;border-radius:var(--radius-md);background:var(--danger-bg);color:var(--danger);font-size:var(--fs-sm);line-height:1.45}.auth-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--text-tertiary);font-size:var(--fs-sm)}.auth-link{padding:0;border:0;background:none;color:var(--brand-500);font:inherit;font-size:var(--fs-sm);font-weight:500;text-decoration:none;cursor:pointer}.auth-link:hover{text-decoration:underline}.auth-note{padding:10px 12px;border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);font-size:var(--fs-sm);line-height:1.5}.auth-choices{display:grid;gap:var(--space-2)}.auth-choice{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:10px 12px;border:var(--line) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-primary);text-align:left;text-decoration:none;transition:border-color var(--duration-fast)}.auth-choice:hover{border-color:var(--brand-500)}.auth-choice>div{flex:1;min-width:0}.auth-choice strong{display:block;font-size:var(--fs-md);font-weight:600}.auth-choice small{display:block;color:var(--text-tertiary);font-size:var(--fs-sm)}.auth-choice-avatar{display:grid;place-items:center;width:32px;height:32px;flex:0 0 auto;border-radius:7px;background:var(--brand-500);color:var(--on-brand);font-family:var(--font-display);font-weight:500}.auth-cta-link{display:grid;place-items:center;text-decoration:none}.auth-card>*{animation:rise .42s var(--ease) both}.auth-card>:nth-child(2){animation-delay:.05s}.auth-card>:nth-child(3){animation-delay:.1s}.auth-card>:nth-child(n+4){animation-delay:.15s}@media(max-width:560px){.auth-layout{place-items:start center;padding:max(var(--space-8),env(safe-area-inset-top)) var(--space-4) var(--space-6);background:var(--paper-glow),var(--paper-ruling),var(--background)}}.plate-input{font-size:var(--fs-xl)!important;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:640px){.form-grid.three{grid-template-columns:minmax(0,1fr)}}.vehicle-details>summary{color:var(--brand-500);font-size:var(--fs-sm);font-weight:700;cursor:pointer;min-height:36px;padding:var(--space-2) 0}.vehicle-details[open]>summary{margin-bottom:var(--space-2)}.plain-fieldset{display:grid;gap:var(--space-3);min-width:0;margin:0;padding:0;border:0}.plain-fieldset legend{margin-bottom:var(--space-2);padding:0}.chosen-customer{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:var(--line) solid var(--brand-200);border-radius:var(--radius-lg);background:var(--brand-50)}.chosen-customer>div{flex:1;min-width:0}.chosen-customer strong{display:block;font-size:var(--fs-md)}.chosen-customer small{display:block;color:var(--text-secondary);font-size:var(--fs-xs)}.customer-search{display:grid;gap:var(--space-2)}.pick-list{display:grid;gap:2px;max-height:260px;margin:0;padding:var(--space-1);overflow-y:auto;border:var(--line) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);list-style:none}.pick-list>li.muted-text{padding:var(--space-2) var(--space-3)}.job-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);align-items:start}.board-column{min-width:0;padding:var(--space-3);border:var(--line) solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2)}.board-column>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-1) var(--space-1) var(--space-3)}.board-column h2{font-size:var(--fs-heading-item);font-weight:700}.board-column>ul{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}.board-empty{padding:var(--space-5) var(--space-2);color:var(--text-secondary);font-size:var(--fs-sm);text-align:center}.job-card{display:grid;overflow:hidden;border:var(--line) solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.job-card-link{display:grid;gap:var(--space-2);padding:var(--space-3) var(--space-4);color:inherit;text-decoration:none}.job-card-link:hover{background:var(--brand-50)}.job-card-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.job-ref{color:var(--text-secondary);font-size:var(--fs-xs);font-weight:700}.job-card-meta{color:var(--text-secondary);font-size:var(--fs-sm)}.job-card-services{font-size:var(--fs-sm);font-weight:600}.job-card-foot{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);color:var(--text-secondary);font-size:var(--fs-xs);font-weight:600}.job-card-foot span{display:inline-flex;align-items:center;gap:var(--space-1)}.job-card-money{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding-top:var(--space-2);border-top:var(--line) solid var(--border-light)}.job-card-money b{font-variant-numeric:lining-nums}.job-card-action{padding:0 var(--space-4) var(--space-3)}@media(max-width:900px){.job-board{grid-template-columns:minmax(0,1fr)}}.back-link{margin-bottom:var(--space-2)}.release-blocked{display:grid;gap:var(--space-3);margin-bottom:var(--rhythm-page)}.job-page>.callout{margin-bottom:var(--rhythm-page)}.money-summary{margin-top:var(--space-3)}.money-summary div:last-child{border-bottom:0}.payment-row-end{display:flex;align-items:center;gap:var(--space-2)}.job-notes{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);border:var(--line) solid var(--border);border-radius:var(--radius-sm);background:var(--accent-50);font-size:var(--fs-sm);white-space:pre-wrap}.timeline{display:grid;gap:0;margin:0;padding:0;list-style:none}.timeline li{position:relative;display:grid;gap:2px;padding:0 0 var(--space-4) var(--space-6)}.timeline li:before{content:"";position:absolute;top:5px;left:4px;width:10px;height:10px;border-radius:var(--radius-full);background:var(--neutral-accent)}.timeline li:not(:last-child):after{content:"";position:absolute;top:18px;bottom:2px;left:8px;width:2px;background:var(--border)}.timeline li.status-washing:before{background:var(--warning-accent)}.timeline li.status-completed:before,.timeline li.status-released:before{background:var(--success-accent)}.timeline li.status-cancelled:before{background:var(--danger-accent)}.timeline strong{font-size:var(--fs-md)}.timeline small{color:var(--text-secondary);font-size:var(--fs-xs)}.my-job-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:var(--space-4);margin:0;padding:0;list-style:none}.my-job-card{display:grid;gap:var(--space-3);padding:var(--space-5);border:var(--line) solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.my-job-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.my-job-vehicle{color:var(--text-secondary);font-size:var(--fs-md);font-weight:600}.my-job-services{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.my-job-services li{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--brand-100);color:var(--brand-700);font-size:var(--fs-sm);font-weight:700}.my-job-card .job-notes{margin-top:0}.my-jobs .settings-list-main strong .plate{margin-right:var(--space-2)}.coupon-band{margin:var(--space-3) 0 var(--space-2);padding:var(--space-1) 0;border-radius:var(--radius-sm);background:var(--text-primary);color:var(--on-brand);font-size:var(--fs-xs);font-weight:800;letter-spacing:.18em;text-align:center;text-transform:uppercase}.coupon-number,.coupon-code{display:grid;justify-items:center;gap:2px;padding:var(--space-2) 0}.coupon-number span,.coupon-code span{color:var(--text-secondary);font-size:var(--fs-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.coupon-number strong{font-size:var(--fs-5xl);font-weight:800;line-height:1;letter-spacing:-.01em}.coupon-code strong{padding:var(--space-1) var(--space-4);border:var(--line) dashed var(--text-primary);border-radius:var(--radius-md);font-family:ui-monospace,Consolas,monospace;font-size:var(--fs-3xl);font-weight:800;letter-spacing:.2em}.coupon-vehicle{display:grid;justify-items:center;gap:var(--space-1);margin:var(--space-2) 0 var(--space-3);text-align:center}.coupon-vehicle p{color:var(--text-secondary);font-size:var(--fs-xs)}.coupon-notes{margin-top:var(--space-2);padding:var(--space-2);border:var(--line) solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-xs)}.coupon-cut{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-4) 0 var(--space-3);color:var(--text-tertiary)}.coupon-cut span{flex:1;border-top:var(--line) dashed var(--border-strong)}.coupon-tag{display:grid;justify-items:center;gap:var(--space-1);text-align:center}.coupon-tag>span{color:var(--text-secondary);font-size:var(--fs-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase}.coupon-tag strong{font-size:var(--fs-3xl);font-weight:800;line-height:1.1}.coupon-tag small{color:var(--text-secondary);font-size:var(--fs-xs)}.coupon-code-input{font-family:ui-monospace,Consolas,monospace;font-size:var(--fs-2xl)!important;font-weight:700;letter-spacing:.25em;text-transform:uppercase}@media print{.coupon-number strong{font-size:var(--fs-xl)}.coupon-code strong{font-size:var(--fs-lg)}.coupon-band{background:var(--slate-12);-webkit-print-color-adjust:exact;print-color-adjust:exact}}.plate-list{display:inline-flex;flex-wrap:wrap;gap:var(--space-1)}.customer-summary{margin-bottom:var(--space-4)}.customer-notes{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border:var(--line) solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);font-size:var(--fs-sm);white-space:pre-line}.page>.card-link:first-child{margin-bottom:var(--space-2)}.padded-list{padding:0 var(--space-5) var(--space-3)}.history-meta{display:grid;justify-items:end;gap:var(--space-1);text-align:right}.statement-amount{text-align:right;white-space:nowrap;font-weight:600}.data-table td small .card-link,.data-table td small .row-link{min-height:0;padding:0;font-size:var(--fs-xs)}.plate-input{text-transform:uppercase;letter-spacing:.06em;font-weight:700}.price-matrix th[scope=row]{min-width:180px;padding:var(--space-3) var(--space-4);border-bottom:var(--line) solid var(--border-light);background:var(--surface);text-align:left;text-transform:none;letter-spacing:0;color:var(--text-primary);font-size:var(--fs-md);font-weight:400}.price-matrix tbody tr:last-child th{border-bottom:0}.price-matrix th[scope=row] small{display:block;margin-top:2px;color:var(--text-secondary);font-size:var(--fs-xs);font-weight:500}.price-matrix th[scope=row] .status-badge{margin-top:var(--space-1)}.price-matrix .row-muted th[scope=row] .cell-strong{color:var(--text-tertiary)}.price-matrix tbody tr:hover th[scope=row]{background:var(--surface-2)}.price-fieldset{margin:0;padding:0;border:0;min-width:0}.price-fieldset legend{margin-bottom:var(--space-2);padding:0}.price-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:var(--space-3)}.price-cell{display:grid;gap:var(--space-1);font-size:var(--fs-sm);font-weight:600}.price-cell small{color:var(--text-tertiary);font-weight:500}.price-cell .money-input input{width:100%;min-width:0;min-height:41px;padding:var(--space-2) var(--space-3);border:0;background:transparent;color:var(--text-primary);font-size:var(--fs-md);-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.price-cell .money-input input:focus{outline:none}@media(max-width:720px){.statement-amount{text-align:right}}.inline-note{color:var(--text-secondary);font-size:var(--fs-sm);font-weight:500}.cash-lines .cash-expected{border-top:var(--line) solid var(--border);border-bottom:0}.cash-lines .cash-expected dt{color:var(--text-primary);font-weight:700}.cash-lines .cash-expected dd{color:var(--brand-500);font-size:var(--fs-figure-sm);font-weight:800}.cash-lines dt small{font-weight:500}.cash-open-card{max-width:var(--width-content)}.struck{text-decoration:line-through;color:var(--text-tertiary)}.purchase-lines{display:grid;gap:var(--space-3)}.purchase-line{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) minmax(90px,auto) auto;align-items:end;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:var(--line) solid var(--border-light)}.purchase-line-total{display:grid;gap:var(--space-2);min-height:44px;align-content:end;text-align:right}.purchase-line-total b{padding-bottom:var(--space-2);font-variant-numeric:lining-nums;white-space:nowrap}.purchase-lines>.text-btn{justify-self:start}@media(max-width:640px){.purchase-line{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.purchase-line>.field:first-child{grid-column:1 / -1}.purchase-line-total{grid-column:1 / 3;text-align:left;min-height:0}.purchase-line-total b{padding-bottom:0}}.receipt-page{min-height:100vh;padding:var(--space-4);background:var(--background)}.receipt-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);max-width:420px;margin:0 auto var(--space-4)}.receipt-message{max-width:420px;margin:0 auto}.receipt{position:relative;max-width:420px;margin:0 auto;padding:var(--space-6) var(--space-5);overflow:hidden;border:var(--line) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-primary);font-size:var(--fs-sm);font-variant-numeric:lining-nums}.receipt-head{text-align:center;padding-bottom:var(--space-3);border-bottom:var(--line) dashed var(--border-strong)}.receipt-head h1{font-size:var(--fs-xl);font-weight:800}.receipt-head p{color:var(--text-secondary);font-size:var(--fs-xs)}.receipt-title{display:grid;justify-items:center;gap:2px;padding:var(--space-3) 0}.receipt-title strong{font-size:var(--fs-lg)}.receipt-title span{color:var(--text-secondary);font-size:var(--fs-xs)}.receipt-line{display:flex;justify-content:space-between;gap:var(--space-3);padding:2px 0}.receipt-line>:last-child{text-align:right}.receipt-line.muted{color:var(--text-secondary)}.receipt-job{margin:var(--space-2) 0;padding:var(--space-2) 0;border-top:var(--line) dashed var(--border-strong)}.receipt-total{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin:var(--space-2) 0;padding:var(--space-3) 0;border-top:var(--line) solid var(--text-primary);border-bottom:var(--line) solid var(--text-primary)}.receipt-total strong{font-size:var(--fs-2xl);font-weight:800}.receipt-balance{margin-top:var(--space-2);padding-top:var(--space-2);border-top:var(--line) dashed var(--border-strong)}.receipt-foot{margin-top:var(--space-4);padding-top:var(--space-3);border-top:var(--line) dashed var(--border-strong);color:var(--text-secondary);font-size:var(--fs-xs);text-align:center}.receipt-foot p+p{margin-top:var(--space-1)}.receipt-stamp{position:absolute;top:42%;left:50%;padding:var(--space-1) var(--space-4);border:var(--line) solid var(--danger);border-radius:var(--radius-md);color:var(--danger);font-size:var(--fs-5xl);font-weight:800;letter-spacing:.12em;opacity:.35;transform:translate(-50%,-50%) rotate(-18deg);pointer-events:none}.receipt.is-voided .receipt-total strong{text-decoration:line-through}@media print{@page{margin:6mm}body{background:var(--surface)}.receipt-page{min-height:0;padding:0;background:var(--surface)}.receipt{max-width:80mm;margin:0 auto;padding:0;border:0;border-radius:0;font-size:var(--fs-sm)}.receipt-head h1,.receipt-total strong{font-size:var(--fs-md)}.receipt-stamp{opacity:.5}}.board-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.board-tile{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:var(--line) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-primary);text-decoration:none}a.board-tile:hover{border-color:var(--brand-200)}.board-tile strong{display:block;font-size:var(--fs-figure-sm);font-weight:800;line-height:1.1}.board-tile small{display:block;color:var(--text-secondary);font-size:var(--fs-xs);font-weight:600}@media(max-width:900px){.board-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.dashboard-grid .stack>.card{margin:0}.page>.card+.card,.page>section.card{margin-top:0}.report-type-select{min-width:260px}.report-card{padding:var(--space-5)}.report-card .report-figures{margin-bottom:var(--space-5)}.report-card .card-header p{max-width:70ch}.report-table-wrap{overflow-x:auto}.report-table-wrap .data-table th,.report-table-wrap .data-table td{white-space:nowrap}.report-table-wrap .data-table td.text-cell{min-width:120px;white-space:normal}.report-table-wrap .data-table tfoot td{font-weight:800}.data-table tr.report-continued td{border-top:0}.data-table tr:has(+.report-continued) td{border-bottom-color:transparent}.report-breakdowns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:var(--space-5) var(--space-6);margin-top:var(--space-6)}.report-breakdown{min-width:0}.report-breakdown h3{margin-bottom:var(--space-2);font-size:var(--fs-md);font-weight:700}.report-notes{margin:var(--space-5) 0 0;padding-left:var(--space-5);color:var(--text-secondary);font-size:var(--fs-sm)}.print-only{display:none!important}@media(max-width:767px){.report-type-select{grid-column:1 / -1;min-width:0}.report-card{padding:var(--space-4)}}@media print{@page{size:A4 landscape;margin:10mm}.page:has(.report-card)>.page-header{display:none}.print-only{display:revert!important}.report-card{padding:0;border:0;color:var(--slate-12);-webkit-print-color-adjust:exact;print-color-adjust:exact}.rpt-letterhead.print-only{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:18px;padding-bottom:10px}.rpt-mark{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--radius-full);background:var(--brand-800);color:var(--on-brand);font-size:var(--fs-lg);font-weight:800}.rpt-heading{text-align:center}.rpt-heading strong{display:block;font-size:16pt;font-weight:800;letter-spacing:.8px;text-transform:uppercase}.rpt-heading p{margin:4px 0 0;color:var(--slate-11);font-size:9pt;font-weight:600}.rpt-contact{display:flex;flex-direction:column;align-items:flex-end;font-size:9pt;font-style:normal;line-height:1.6;text-align:right}.rpt-contact strong{font-size:11pt}.rpt-meta-bar.print-only{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 6mm;padding:8px 0 6px;border-top:var(--line) solid var(--slate-7);border-bottom:var(--line) solid var(--slate-12)}.rpt-meta-bar>div{padding:0 12px;text-align:center}.rpt-meta-bar>div:not(:last-child){border-right:var(--line) solid var(--slate-7)}.rpt-meta-bar dt{color:var(--slate-11);font-size:9pt;font-weight:800;letter-spacing:.5px;text-transform:uppercase}.rpt-meta-bar dd{margin:0;font-size:9pt;font-weight:700}.report-table-wrap{overflow:visible}.report-table-wrap .data-table{font-size:9pt}.report-table-wrap .data-table td.text-cell{min-width:0}.report-breakdowns{grid-template-columns:1fr 1fr}.report-breakdown{break-inside:avoid}}.settings-form{max-width:var(--width-content)}.admin-shell .page{max-width:1200px}.admin-topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:var(--space-3);height:var(--topbar-height);padding:0 var(--space-6);border-bottom:var(--line) solid var(--border);background:color-mix(in srgb,var(--surface) 96%,transparent)}.admin-topbar .brand{display:flex;align-items:center;gap:var(--space-3);color:var(--text-primary);font-weight:700;text-decoration:none}.admin-topbar .brand small{display:block;color:var(--text-secondary);font-size:var(--fs-xs);font-weight:600}@media(max-width:767px){.admin-topbar{padding:0 var(--space-4)}.admin-shell .page{padding-bottom:var(--space-8)}}.grow-input{flex:1 1 220px;min-width:0;min-height:44px;padding:var(--space-2) var(--space-3);border:var(--line) solid var(--border-input);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary)}.grow-input:focus{border-color:var(--brand-500);outline:none}body{font-size:var(--fs-md)}.page-heading h1,.section-title,.card-header h2,.modal-header h2,.confirm-dialog h2,.empty-state h1,.topbar-title,.login-heading h1{font-family:var(--font-display);font-weight:500;letter-spacing:-.01em}.page-heading h1{font-size:var(--fs-heading-page);letter-spacing:-.02em;line-height:1.15}.mono,.data-table,.amount,.account-balance strong,.account-movement b{font-variant-numeric:lining-nums}.kpi-label,.summary-tile>span,.account-balance small,.detail-amount>span,.balance-group-head,.popover-label,.data-table th,.table-card-head h3,.nav-section,.goal-progress span{font-family:var(--mono);font-size:var(--fs-xs);font-weight:400;letter-spacing:var(--tracking-caps);color:var(--text-tertiary)}.kpi-value,.summary-tile strong,.detail-amount strong,.account-balance strong,.profile-card-value strong,.goal-progress strong,.budget-percent{font-family:var(--font-display);font-weight:500;letter-spacing:-.01em;color:var(--text-primary)}.main-column{min-height:100vh;background:var(--paper-glow),var(--paper-ruling),var(--background);background-attachment:fixed,local,fixed}.topbar{height:var(--topbar-height);background:#f5f8fcdb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar-title{font-size:var(--fs-lg)}.btn{min-height:36px;padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:var(--fs-sm);font-weight:500;transition:background-color var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast),transform .1s}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary,.btn-accent,.btn-navy{background:var(--brand-500);border-color:var(--brand-500);color:var(--on-brand)}.btn-primary:hover:not(:disabled),.btn-accent:hover:not(:disabled),.btn-accent:active:not(:disabled),.btn-navy:hover:not(:disabled){background:var(--brand-700);border-color:var(--brand-700);color:var(--on-brand)}.btn-primary:disabled,.btn-accent:disabled{opacity:.5;background:var(--brand-500);border-color:var(--brand-500);color:var(--on-brand)}.btn-secondary{border-color:var(--border-strong);background:var(--surface);color:var(--text-secondary)}.btn-secondary:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-3);color:var(--text-primary)}.btn-small{min-height:30px;padding:2px var(--space-3);font-size:var(--fs-xs)}.btn-large{min-height:40px;font-size:var(--fs-md)}.icon-btn{width:32px;height:32px;border-radius:var(--radius-md)}.sidebar{width:var(--sidebar-width)}.nav-brand{position:relative;display:flex;align-items:center;gap:10px;padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:0;background:transparent;text-align:left}.nav-brand>div{min-width:0}.nav-brand-logo{display:grid;flex:none;place-items:center;width:28px;height:28px;overflow:hidden;border:0;border-radius:7px;background:var(--brand-500);color:var(--on-brand);font-family:var(--font-display);font-size:var(--fs-md);font-weight:500}.nav-brand-logo img{width:100%;height:100%;object-fit:cover}.nav-brand strong{display:block;overflow:hidden;color:var(--text-primary);font-family:var(--font-display);font-size:var(--fs-lg);font-weight:500;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.nav-brand small{display:block;overflow:hidden;color:var(--text-tertiary);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap}.nav-brand .nav-brand-close{position:absolute;top:var(--space-2);right:var(--space-2)}.nav-menu{gap:1px;padding:var(--space-1) 10px var(--space-3)}.sidebar .nav-item{min-height:36px;padding:0 10px;border-radius:var(--radius-md);color:var(--sidebar-text);font-size:var(--fs-md);font-weight:500;transition:background-color var(--duration-fast),color var(--duration-fast)}.sidebar .nav-item svg{color:var(--text-tertiary)}.sidebar .nav-item:hover{background:var(--sidebar-hover);color:var(--text-primary)}.sidebar .nav-item.active{background:var(--sidebar-active);box-shadow:inset 3px 0 0 var(--accent-500);color:var(--brand-500);font-weight:500}.sidebar .nav-item.active svg{color:var(--brand-500)}.nav-section{margin:var(--space-4) 10px var(--space-1)}.sidebar-footer{border-top-color:var(--border)}.avatar-btn{border:0;background:transparent;padding:0}.avatar-btn>span{width:30px;height:30px;border:0;background:var(--surface-3);color:var(--text-secondary);font-size:var(--fs-xs);font-weight:600}.avatar-btn:hover>span,.avatar-btn[aria-expanded=true]>span{background:var(--slate-4);color:var(--text-primary)}.field-label{color:var(--text-secondary);font-size:var(--fs-sm);font-weight:500}.field input,.field select,.field textarea,.money-input,.search-field input,.select-field select,.topbar-search input{min-height:38px;border:var(--line) solid var(--border-input);border-radius:var(--radius-md);font-size:var(--fs-md)}.field input,.field select,.field textarea{padding:7px 10px}.field .money-input input{min-height:36px}.check-row,.card,.table-card,.kpi-card,.settings-list,.account-card,.asset-card,.profile-card,.inset-form,.summary-tile,.empty-state{border-radius:var(--radius-lg)}.card,.account-card,.asset-card,.profile-card{padding:var(--space-4)}.card-header h2{font-size:var(--fs-heading-card)}.section-title{font-size:var(--fs-heading-section)}.table-card-head{background:var(--surface)}.kpi-grid,.kpi-grid.three{gap:1px;overflow:hidden;border:var(--line) solid var(--border);border-radius:var(--radius-lg);background:var(--border);grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}.kpi-card{gap:var(--space-1);padding:var(--space-3) var(--space-4);border:0;border-radius:0}.kpi-icon{display:none}.kpi-value{font-size:var(--fs-figure-md);line-height:1.1}.kpi-value.positive{color:var(--success)}.kpi-value.negative{color:var(--danger)}.data-table th{padding:9px var(--space-3);background:var(--surface);white-space:nowrap}.data-table td{padding:10px var(--space-3);border-bottom-color:var(--border);font-size:var(--fs-md)}.data-table th:first-child,.data-table td:first-child{padding-left:var(--space-4)}.data-table th:last-child,.data-table td:last-child{padding-right:var(--space-4)}.data-table tbody tr:hover td{background:var(--slate-1)}.data-table tfoot th,.data-table tfoot td{background:var(--surface);font-family:var(--font)}.row-overdue td:first-child{box-shadow:inset 2px 0 0 var(--danger)}.row-overdue td{background:transparent}.row-menu .icon-btn{border:var(--line) solid transparent}.row-menu .icon-btn:hover,.row-menu .icon-btn[aria-expanded=true]{border-color:var(--border);background:var(--surface)}.cell-actions .row-actions{align-items:center}.data-table td.cell-main{white-space:nowrap}.data-table td.cell-main>div{max-width:15rem;white-space:normal}.role-chip,.status-badge{padding:1px var(--space-2);font-size:var(--fs-xs);font-weight:500}.sub-nav{gap:var(--space-1);padding:0;border:0;border-bottom:var(--line) solid var(--border);border-radius:0;background:transparent}.sub-nav-btn{min-height:36px;margin-bottom:-1px;padding:var(--space-2) 10px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--text-tertiary);font-size:var(--fs-md);font-weight:500}.sub-nav-btn:hover{border-color:transparent;background:transparent;color:var(--text-primary)}.sub-nav-btn.active{border-bottom-color:var(--accent-500);background:transparent;color:var(--text-primary)}.sub-nav-btn.active .sub-nav-count{background:var(--surface-3);color:var(--text-secondary)}.pill-group{display:flex;flex-wrap:wrap;gap:var(--space-2)}.pill{display:inline-flex;align-items:center;gap:var(--space-2);min-height:32px;padding:0 var(--space-3);border:var(--line) solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);color:var(--text-secondary);font-size:var(--fs-sm);font-weight:500;white-space:nowrap;transition:background-color var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast)}.pill:hover{background:var(--surface-3);color:var(--text-primary)}.pill[aria-pressed=true]{border-color:var(--brand-500);background:var(--brand-500);color:var(--on-brand)}.popover{padding:var(--space-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay)}.popover-item{min-height:36px;padding:7px 10px;font-size:var(--fs-md)}.row-menu-popover{z-index:120}dialog.modal,.confirm-dialog{border-radius:var(--radius-xl);box-shadow:var(--shadow-overlay)}.modal-actions{flex-direction:row}.update-prompt{box-shadow:var(--shadow-overlay)}@media(max-width:1023px){.sidebar.open{box-shadow:var(--shadow-overlay)}}.toast{border:0;border-radius:var(--radius-lg);background:var(--text-primary);color:var(--on-dark);box-shadow:var(--shadow-overlay)}.toast p,.toast .toast-icon,.toast.tone-brand .toast-icon{color:var(--on-dark-muted)}.toast.tone-danger{background:var(--danger)}.toast.tone-danger p,.toast.tone-danger .toast-icon{color:var(--on-dark)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes backdrop-in{0%{opacity:0}}.page>*{animation:rise .42s var(--ease) both}.page>:nth-child(2){animation-delay:.05s}.page>:nth-child(3){animation-delay:.1s}.page>:nth-child(4){animation-delay:.15s}.page>:nth-child(n+5){animation-delay:.2s}dialog.modal[open],.confirm-dialog[open]{animation:rise .26s var(--ease) both}dialog::backdrop{animation:backdrop-in .18s ease-out both}.toast{animation:rise .26s var(--ease) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(pointer:coarse){.btn,.sidebar .nav-item,.popover-item,.sub-nav-btn,.pill{min-height:44px}.btn-small{min-height:40px}.icon-btn{width:44px;height:44px}.field input,.field select,.money-input,.search-field input,.select-field select{min-height:44px}}@media(max-width:767px){.bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;background:var(--surface)}.bottom-nav:not(:has(.bottom-nav-new)){grid-template-columns:repeat(5,minmax(0,1fr))}.bottom-nav .nav-item{border-radius:0}.bottom-nav .nav-item.active{background:transparent;color:var(--brand-500);box-shadow:inset 0 2px 0 var(--accent-500)}.bottom-nav .nav-item.nav-checkin{color:var(--brand-500)}.kpi-grid,.kpi-grid.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px}.kpi-card{display:grid;grid-template-columns:1fr;padding:var(--space-3)}.kpi-value{font-size:var(--fs-lg)}.card{padding:var(--space-4)}.field input,.field select,.field textarea,.search-field input,.select-field select{font-size:16px}}@media(max-width:1023px){.topbar-title{font-size:var(--fs-lg)}}@media(min-width:768px){.phone-only{display:none!important}}.filter-section{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px}.filter-section .filter-actions{margin-left:auto}.period-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-width:140px;min-height:44px;padding:10px 40px 10px 16px;border:var(--line) solid var(--border-light);border-radius:var(--radius-lg);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath fill='%23173863' d='M3.22 5.22a.75.75 0 0 1 1.06 0L7 7.94l2.72-2.72a.75.75 0 1 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0L3.22 6.28a.75.75 0 0 1 0-1.06z'/%3E%3C/svg%3E") no-repeat right 14px center / 14px;color:var(--text-primary);font:inherit;font-size:var(--fs-md);font-weight:600;cursor:pointer;transition:border-color var(--duration-base) var(--ease),background-color var(--duration-base) var(--ease)}.period-select:hover{border-color:var(--brand-500);background-color:var(--brand-50)}.period-select:focus{outline:none;border-color:var(--brand-500);background-color:var(--surface)}.custom-range{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:var(--fs-md);font-weight:600}.custom-range input[type=date]{min-height:44px;padding:8px 12px;border:var(--line) solid var(--border-light);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-primary);font:inherit;font-size:var(--fs-md);font-weight:600}.custom-range input[type=date]:focus{outline:none;border-color:var(--brand-500)}@media(max-width:767px){.filter-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.filter-section .period-select{width:100%;min-width:0;font-size:var(--fs-md)}.filter-section .custom-range,.filter-section .filter-actions{grid-column:1 / -1}.filter-section .filter-actions{margin-left:0}.custom-range input[type=date]{flex:1;min-width:0;font-size:var(--fs-md)}}.screen-picker{display:grid;gap:var(--space-2);min-width:0;margin:0;padding:0;border:0}.screen-picker legend{margin-bottom:var(--space-1);padding:0}.screen-picker>.btn{justify-self:start}.screen-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:var(--space-3);margin-top:var(--space-1)}.screen-group{display:grid;align-content:start;gap:2px;padding:var(--space-3);border:var(--line) solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2)}.screen-group-check{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);padding-bottom:var(--space-2);border-bottom:var(--line) solid var(--border);font-weight:700;cursor:pointer}.screen-check{display:flex;align-items:center;gap:var(--space-2);padding:3px 0;font-size:var(--fs-sm);cursor:pointer}.screen-picker input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-500)}.screen-picker:disabled .screen-group{opacity:.7}.inline-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-2)}.inline-form>.field{flex:1 1 220px}.inline-form>input{flex:1 1 160px;min-height:40px;padding:0 var(--space-3);border:var(--line) solid var(--slate-7);border-radius:var(--radius-lg)}.inline-form>.btn{min-height:48px}.inline-form>.btn-small{min-height:40px}.form-section{display:grid;gap:var(--space-3);padding-top:var(--space-4);border-top:var(--line) solid var(--border-light)}.form-section-title{margin:0;font-size:var(--fs-md);font-weight:700}.data-table td.nowrap{white-space:nowrap}.segmented.wrap{flex-wrap:wrap}.segmented.wrap button{flex:1 1 140px}.purchase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.purchase-items-section{display:flex;flex-direction:column;border:var(--line) solid var(--slate-6);border-radius:var(--radius-lg);background:var(--slate-2)}.purchase-items-title{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:var(--line) solid var(--slate-6)}.purchase-items-title h3{margin:0;color:var(--text-primary);font-size:var(--fs-md);font-weight:600}.purchase-item-count{padding:3px 10px;border-radius:var(--radius-lg);background:var(--brand-50);color:var(--brand-700);font-size:var(--fs-sm);font-weight:600}.purchase-items-header,.purchase-item-row{display:grid;grid-template-columns:36px minmax(0,2fr) minmax(0,.8fr) minmax(0,1.2fr) minmax(0,1.2fr) 36px;gap:8px;align-items:center}.purchase-items-header{padding:10px 16px;border-bottom:var(--line) solid var(--slate-6);background:var(--slate-3);color:var(--slate-11);font-size:var(--fs-sm);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.purchase-items{display:grid;gap:6px;max-height:38vh;padding:8px;overflow-y:auto}.purchase-item-row{padding:10px 8px;border:var(--line) solid var(--slate-6);border-radius:var(--radius-md);background:var(--surface);transition:border-color var(--duration-base) var(--ease)}.purchase-item-row:focus-within{border-color:var(--brand-500)}.purchase-item-row select,.purchase-item-row input{width:100%;min-width:0;min-height:40px;padding:8px 10px;border:var(--line) solid var(--slate-6);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);font:inherit;font-size:var(--fs-sm)}.purchase-row-num{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-sm);background:var(--brand-50);color:var(--brand-700);font-size:var(--fs-sm);font-weight:700}.purchase-row-total{font-size:var(--fs-md);font-variant-numeric:lining-nums;text-align:right}.btn-add-purchase-item{display:flex;align-items:center;justify-content:center;gap:6px;margin:0 8px 8px;padding:10px;border:var(--line) dashed var(--slate-7);border-radius:var(--radius-md);background:transparent;color:var(--brand-700);font-size:var(--fs-sm);font-weight:600;cursor:pointer}.btn-add-purchase-item:hover:not(:disabled){border-color:var(--brand-500);background:var(--surface)}.btn-add-purchase-item:disabled{opacity:.5;cursor:not-allowed}.purchase-grand-total{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border:var(--line) solid var(--green-6);border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--green-2) 0%,var(--green-2) 100%)}.purchase-grand-total span{color:var(--slate-11);font-size:var(--fs-md);font-weight:600}.purchase-grand-total strong{color:var(--green-11);font-size:var(--fs-lg);font-weight:800;font-variant-numeric:lining-nums}.purchases-table tbody.purchase-group+tbody.purchase-group tr:first-child td{border-top:var(--line) solid var(--border)}.purchases-table td[rowspan]{vertical-align:middle}.purchases-table .purchase-number{text-align:center}@media(max-width:767px){.purchase-grid{grid-template-columns:1fr;gap:var(--space-3)}.purchase-items-header{display:none}.purchase-item-row{grid-template-columns:28px minmax(0,1fr) minmax(0,1fr) 32px}.purchase-item-row select,.purchase-item-row .purchase-row-total{grid-column:2 / 4}.purchase-item-row .icon-btn{grid-row:1;grid-column:4}}
