html{background:var(--background);-webkit-text-size-adjust:100%;min-height:100%}body{background:var(--background);min-height:100%;color:var(--foreground);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{-webkit-tap-highlight-color:transparent}::selection{background:var(--brand-soft);color:var(--heading)}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--ring);outline-offset:2px}h1,h2,h3{color:var(--heading);margin:0}p{margin:0}.mono{word-break:break-all;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px}.num{text-align:right;font-variant-numeric:tabular-nums}.muted-copy{color:var(--muted-foreground);font-size:13px}.hide-sm{display:inline}.spin{animation:.8s linear infinite mh-spin}@keyframes mh-spin{to{transform:rotate(360deg)}}.btn{letter-spacing:-.005em;border-radius:7px;gap:6px;height:34px;padding:0 12px;font-size:13.5px;font-weight:500;transition:background-color .12s ease-out,border-color .12s ease-out,color .12s ease-out,box-shadow .12s ease-out}.btn:active:not(:disabled){translate:0 .5px}.btn-sm{height:30px;padding:0 10px;font-size:13px}.btn-icon{width:34px;padding:0}.btn-primary{background:var(--primary);border:1px solid var(--primary);color:var(--primary-foreground);box-shadow:var(--shadow-sm), inset 0 1px 0 #ffffff1f}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-secondary{background:var(--card);border:1px solid var(--border-strong);color:var(--foreground);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--muted)}.btn-ghost{color:var(--muted-foreground);background:0 0;border:1px solid #0000}.btn-ghost:hover:not(:disabled){background:var(--muted);color:var(--foreground)}.btn-danger{background:var(--card);border:1px solid var(--border-strong);color:var(--destructive)}.btn-danger:hover:not(:disabled){background:var(--destructive-soft);border-color:var(--destructive)}.btn:disabled{opacity:.55;cursor:not-allowed}.icon-btn{width:30px;height:30px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;transition:background-color .12s ease-out,color .12s ease-out;display:inline-grid}.icon-btn:hover{background:var(--muted);color:var(--foreground)}.link-btn{color:var(--brand);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:13px;font-weight:500;display:inline-flex}.link-btn:hover{text-underline-offset:3px;text-decoration:underline}[data-slot=sidebar-wrapper]{background:var(--background);min-height:100dvh;--sidebar-width:15rem!important}.app-shell{width:100%;min-height:100dvh;display:flex}.app-main{background:var(--background);min-width:0}.app-content{flex:1;min-width:0}.app-sidebar [data-slot=sidebar-inner],[data-slot=sidebar][data-mobile=true]{background:var(--sidebar)}.app-sidebar[data-slot=sidebar-container],.app-sidebar [data-slot=sidebar-container]{border-right:1px solid var(--sidebar-border)}.sidebar-header{gap:14px;padding:16px 12px 8px}.sidebar-brand{align-items:center;gap:8px;padding:0 6px;display:flex}.brand-mark{flex:none;align-items:center;display:inline-flex}.brand-mark img{width:auto;height:24px;display:block}.brand-mark-on-dark,[data-theme=dark] .brand-mark-on-light{display:none!important}[data-theme=dark] .brand-mark-on-dark{display:block!important}.workspace-switcher{border:1px solid var(--border);background:var(--card);width:100%;height:38px;color:var(--heading);box-shadow:var(--shadow-sm);cursor:pointer;border-radius:8px;gap:8px;padding:0 8px 0 6px;font-size:13px;font-weight:600}.workspace-switcher:hover{border-color:var(--border-strong)}.workspace-switcher [data-slot=select-value]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.workspace-switcher-mark{background:var(--brand-soft);width:24px;height:24px;color:var(--brand);border-radius:6px;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.sidebar-content{gap:4px;padding:4px 0}.sidebar-group{padding:4px 12px}.sidebar-label{height:28px;color:var(--muted-foreground);letter-spacing:.01em;padding:0 8px;font-size:11.5px;font-weight:600}.nav-list{gap:1px}.nav-link{height:34px;color:var(--sidebar-foreground);border-radius:7px;gap:10px;padding:0 8px;font-size:13.5px;font-weight:500;transition:background-color .12s ease-out,color .12s ease-out}.nav-link svg{color:var(--muted-foreground)}.nav-link:hover{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}.nav-link[data-active]{background:var(--card);color:var(--brand);box-shadow:0 0 0 1px var(--sidebar-border), var(--shadow-sm);font-weight:600}.nav-link[data-active] svg{color:var(--brand)}.nav-count{background:var(--warning-soft);min-width:20px;height:20px;color:var(--warning);font-variant-numeric:tabular-nums;pointer-events:none;border-radius:999px;place-items:center;padding:0 6px;font-size:11px;font-weight:600;display:grid;position:absolute;top:7px;right:8px}.sidebar-footer{border-top:1px solid var(--sidebar-border);padding:10px 12px 14px}.sidebar-account{align-items:center;gap:10px;min-width:0;padding:4px;display:flex}.sidebar-account-copy{min-width:0;line-height:1.3;display:grid}.sidebar-account-copy strong,.sidebar-account-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-account-copy strong{color:var(--heading);font-size:13px;font-weight:600}.sidebar-account-copy small{color:var(--muted-foreground);font-size:12px}.topbar{z-index:20;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--background) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);align-items:center;gap:12px;height:52px;padding:0 24px;display:flex;position:sticky;top:0}.topbar-menu{width:34px;height:34px;color:var(--foreground);border-radius:7px;margin-left:-6px;display:none}.breadcrumb{min-width:0;color:var(--muted-foreground);align-items:center;gap:6px;font-size:13px;display:flex}.breadcrumb svg{color:var(--subtle-foreground);flex:none}.breadcrumb-root{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.breadcrumb-current{color:var(--heading);white-space:nowrap;font-weight:600}.topbar-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.page{flex-direction:column;gap:20px;width:100%;max-width:1280px;margin:0 auto;padding:28px 32px 56px;display:flex}.page-narrow{max-width:960px}.page.page-alert{padding-bottom:0}.page.page-alert+.page{padding-top:16px}.page-header{justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:4px;display:flex}.page-header-copy{min-width:0}.page-header h1{font-family:var(--font-serif);letter-spacing:-.015em;font-variation-settings:"opsz" 48;overflow-wrap:anywhere;font-size:30px;font-weight:450;line-height:1.15}.page-header p{color:var(--muted-foreground);margin-top:6px;font-size:14px}.page-header-actions{flex:none;align-items:center;gap:8px;display:flex}.surface{border:1px solid var(--border);background:var(--card);min-width:0;box-shadow:var(--shadow-sm);border-radius:12px;overflow:hidden}.surface-body{padding:16px 20px 20px}.surface-footer{border-top:1px solid var(--border);padding:12px 20px}.section-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:14px 20px;display:flex}.section-header>div{flex-wrap:wrap;align-items:baseline;gap:10px;min-width:0;display:flex}.section-header h2{letter-spacing:-.005em;font-size:15px;font-weight:600}.section-meta{color:var(--muted-foreground);font-size:13px}.filter-tabs{scrollbar-width:none;gap:8px;margin:0 -2px;padding:2px;display:flex;overflow-x:auto}.filter-tabs::-webkit-scrollbar{display:none}.filter-tab{border:1px solid var(--border-strong);background:var(--card);height:32px;color:var(--foreground);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:500;transition:background-color .12s ease-out,border-color .12s ease-out,color .12s ease-out;display:inline-flex}.filter-tab:hover{background:var(--muted)}.filter-tab-count{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:12px}.filter-tab[aria-pressed=true]{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.filter-tab[aria-pressed=true] .filter-tab-count{color:var(--brand)}.table-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.table-toolbar-meta{color:var(--muted-foreground);font-variant-numeric:tabular-nums;flex:none;font-size:13px}.search-input{border:1px solid var(--input);background:var(--card);width:min(360px,100%);height:34px;color:var(--muted-foreground);border-radius:7px;align-items:center;gap:8px;padding:0 10px;transition:border-color .12s ease-out,box-shadow .12s ease-out;display:flex}.search-input:focus-within{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 18%, transparent)}.search-input input{min-width:0;height:100%;color:var(--foreground);background:0 0;border:0;outline:0;flex:1;font-size:13.5px}.search-input input::placeholder{color:var(--subtle-foreground)}.search-input input::-webkit-search-cancel-button{cursor:pointer}.table-wrap{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13.5px}.data-table th{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--muted) 55%, var(--card));height:36px;color:var(--muted-foreground);text-align:left;white-space:nowrap;padding:0 16px;font-size:12px;font-weight:500}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap;height:52px;padding:8px 16px}.data-table tbody tr:last-child td{border-bottom:0}.data-table-compact td{height:46px}.data-row{transition:background-color .1s ease-out;position:relative}.data-row:hover{background:color-mix(in srgb, var(--muted) 60%, var(--card))}.data-row:has(.row-link:focus-visible){background:color-mix(in srgb, var(--muted) 60%, var(--card))}.row-link{z-index:1;cursor:pointer;background:0 0;border:0;width:100%;padding:0;position:absolute;inset:0}.row-link:focus-visible{outline:2px solid var(--ring);outline-offset:-2px;border-radius:4px}.col-amount,.col-status,.col-type,.col-date,.col-phone,.col-role{width:1%}.col-date{text-align:right;color:var(--muted-foreground);font-variant-numeric:tabular-nums}.data-table th.col-date{text-align:right}.col-main{width:100%;max-width:0}.col-count,.col-total{width:1%}.col-phone,.col-payee{color:var(--muted-foreground)}.cell-title,.cell-sub{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.cell-title{color:var(--heading);font-weight:500}.cell-sub{color:var(--muted-foreground);font-size:12.5px}.cell-wrap{white-space:normal}.cell-with-avatar{align-items:center;gap:10px;min-width:0;display:flex}.cell-with-avatar>span:last-child{min-width:0}.amount{font-variant-numeric:tabular-nums;color:var(--heading);font-weight:600}.amount-in{color:var(--success)}.amount-out{color:var(--destructive)}.currency-code{color:var(--subtle-foreground);letter-spacing:.02em;margin-left:6px;font-size:11.5px;font-weight:500}.type-tag{background:var(--muted);height:22px;color:var(--muted-foreground);border-radius:6px;align-items:center;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.status{white-space:nowrap;background:var(--muted);height:22px;color:var(--muted-foreground);border-radius:6px;align-items:center;gap:4px;padding:0 7px 0 6px;font-size:12px;font-weight:600;display:inline-flex}.status-completed{background:var(--success-soft);color:var(--success)}.status-pending{background:var(--warning-soft);color:var(--warning)}.status-failed,.status-cancelled{background:var(--destructive-soft);color:var(--destructive)}.avatar{border-radius:999px;flex:none;place-items:center;font-weight:600;line-height:1;display:inline-grid}.avatar-sm{width:28px;height:28px;font-size:12px}.avatar-md{width:34px;height:34px;font-size:13px}.avatar-lg{width:44px;height:44px;font-size:16px}.avatar-tone-0{background:var(--brand-soft);color:var(--brand)}.avatar-tone-1{background:var(--info-soft);color:var(--info)}.avatar-tone-2{background:var(--success-soft);color:var(--success)}.avatar-tone-3{background:var(--warning-soft);color:var(--warning)}.avatar-tone-4{background:var(--muted);color:var(--foreground)}.metric-strip{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-sm);border-radius:12px;grid-template-columns:minmax(0,1.25fr) repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.metric{border:0;border-left:1px solid var(--border);text-align:left;cursor:pointer;background:0 0;gap:4px;min-width:0;padding:16px 20px 18px;transition:background-color .12s ease-out;display:grid}.metric:first-child{border-left:0}.metric:hover{background:color-mix(in srgb, var(--muted) 50%, var(--card))}.metric-label{color:var(--muted-foreground);font-size:13px;font-weight:500}.metric-value{color:var(--heading);letter-spacing:-.02em;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:22px;font-weight:600;overflow:hidden}.metric-hint{color:var(--subtle-foreground);font-size:12px}.metric-net .metric-value{font-size:26px}.metric-net.is-positive .metric-value{color:var(--success)}.metric-net.is-negative .metric-value{color:var(--destructive)}.metric-net{background:color-mix(in srgb, var(--muted) 35%, var(--card))}.overview-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);align-items:start;gap:20px;display:grid}.attention-list{margin:0;padding:0;list-style:none}.attention-list li+li{border-top:1px solid var(--border)}.attention-row{text-align:left;width:100%;min-height:56px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:10px 16px 10px 20px;transition:background-color .1s ease-out;display:flex}.attention-row:hover{background:color-mix(in srgb, var(--muted) 60%, var(--card))}.attention-copy{flex:1;min-width:0;display:grid}.attention-copy strong{color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.attention-copy small{font-size:12.5px}.attention-amount{color:var(--heading);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.attention-empty{gap:12px;padding:20px;display:flex}.attention-empty-icon{background:var(--success-soft);width:28px;height:28px;color:var(--success);border-radius:999px;flex:none;place-items:center;display:grid}.attention-empty strong{color:var(--heading);font-weight:600}.attention-empty p{color:var(--muted-foreground);margin-top:2px;font-size:13px}.chart{gap:12px;display:grid}.chart-legend{flex-wrap:wrap;gap:8px 28px;display:flex}.chart-legend-item{grid-template-columns:auto 1fr;align-items:center;column-gap:8px;display:grid}.chart-legend-label{color:var(--muted-foreground);font-size:13px}.chart-legend-item strong{color:var(--heading);letter-spacing:-.015em;font-variant-numeric:tabular-nums;grid-column:2;font-size:18px;font-weight:600}.chart-swatch{border-radius:2px;width:10px;height:3px;display:inline-block}.chart-swatch-1{background:var(--chart-1)}.chart-swatch-2{background:var(--chart-2)}.chart-plot{width:100%;position:relative;overflow:hidden}.chart-plot svg{touch-action:pan-y;display:block}.chart-grid{stroke:var(--chart-grid);stroke-width:1px}.chart-axis{fill:var(--subtle-foreground);font-variant-numeric:tabular-nums;font-size:11px}.chart-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-line-1{stroke:var(--chart-1)}.chart-line-2{stroke:var(--chart-2);stroke-dasharray:5 4}.chart-crosshair{stroke:var(--border-strong);stroke-width:1px;stroke-dasharray:3 3}.chart-dot{stroke:var(--card);stroke-width:2px}.chart-dot-1{fill:var(--chart-1)}.chart-dot-2{fill:var(--chart-2)}.chart-empty{color:var(--muted-foreground);pointer-events:none;place-items:center;font-size:13px;display:grid;position:absolute;inset:0 0 28px 52px}.chart-tooltip{border:1px solid var(--border);background:var(--popover);min-width:170px;box-shadow:var(--shadow-md);pointer-events:none;border-radius:8px;gap:4px;padding:8px 10px;font-size:12.5px;display:grid;position:absolute;top:4px;translate:-50%}.chart-tooltip-date{color:var(--muted-foreground);font-size:12px;font-weight:500}.chart-tooltip-row{color:var(--muted-foreground);align-items:center;gap:6px;display:flex}.chart-tooltip-row strong{color:var(--heading);font-variant-numeric:tabular-nums;margin-left:auto;padding-left:12px;font-weight:600}.empty-state{text-align:center;justify-items:center;gap:6px;padding:48px 24px;display:grid}.empty-icon{background:var(--muted);width:40px;height:40px;color:var(--muted-foreground);border-radius:10px;place-items:center;margin-bottom:6px;display:grid}.empty-state h3{font-size:15px;font-weight:600}.empty-state p{max-width:380px;color:var(--muted-foreground);font-size:13.5px}.empty-action{margin-top:12px}.loading-state{min-height:50vh;color:var(--muted-foreground);place-content:center;justify-items:center;gap:12px;padding:48px 24px;font-size:13px;display:grid}.surface .loading-state{min-height:220px}.spinner{border:2px solid var(--border-strong);border-top-color:var(--brand);border-radius:999px;width:22px;height:22px;animation:.7s linear infinite mh-spin}.alert{border:1px solid var(--border);background:var(--card);border-radius:10px;align-items:center;gap:10px;padding:10px 10px 10px 14px;font-size:13.5px;display:flex}.alert-error{border-color:color-mix(in srgb, var(--destructive) 35%, var(--border));background:var(--destructive-soft);color:var(--destructive)}.alert-dot{background:currentColor;border-radius:999px;flex:none;width:8px;height:8px}.alert-message{flex:1;min-width:0}.alert-dismiss{width:28px;height:28px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.alert-dismiss:hover{background:color-mix(in srgb, currentColor 10%, transparent)}.callout{border:1px solid var(--border);background:var(--muted);color:var(--muted-foreground);border-radius:8px;padding:12px 14px;font-size:13px}.field{align-content:start;gap:6px;min-width:0;display:grid}.field [data-slot=label],.field-label{color:var(--foreground);font-size:13px;font-weight:500;line-height:1.3}.bs-date{grid-template-columns:54px minmax(0,1fr) 70px;gap:6px;display:grid}.native-select{border:1px solid var(--input);background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238e8b82' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 6px center;width:100%;height:36px;color:var(--foreground);box-shadow:var(--shadow-sm);appearance:none;cursor:pointer;border-radius:7px;padding:0 22px 0 8px;font-size:14px}.native-select:hover{border-color:var(--border-strong)}.native-select:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 18%, transparent);outline:none}.field-hint{color:var(--muted-foreground);font-size:12px}[data-slot=input],.select-trigger[data-slot=select-trigger]{border:1px solid var(--input);background:var(--card);width:100%;height:36px;color:var(--foreground);box-shadow:var(--shadow-sm);border-radius:7px;padding:0 10px;font-size:14px;transition:border-color .12s ease-out,box-shadow .12s ease-out}[data-slot=input]::placeholder{color:var(--subtle-foreground)}[data-slot=input]:hover,.select-trigger[data-slot=select-trigger]:hover{border-color:var(--border-strong)}[data-slot=input]:focus-visible,.select-trigger[data-slot=select-trigger]:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 18%, transparent);outline:none}[data-slot=input]:read-only:not([type=hidden]){background:var(--muted);color:var(--muted-foreground);box-shadow:none;cursor:default}[data-slot=input][type=hidden]{display:none}.select-trigger[data-slot=select-trigger][data-placeholder]{color:var(--subtle-foreground)}[data-slot=select-content]{border:1px solid var(--border);box-shadow:var(--shadow-md);--tw-ring-shadow:0 0 #0000;padding:4px}[data-slot=select-item]{border-radius:5px;min-height:32px;padding-left:8px;font-size:13.5px}[data-slot=select-item][data-highlighted]{background:var(--muted)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.inline-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.form-group{border:1px solid var(--border);border-radius:10px;overflow:hidden}.form-group>*+*{border-top:1px solid var(--border)}.form-group-row{background:color-mix(in srgb, var(--muted) 40%, var(--card));padding:12px 14px}.form-group-row .field{max-width:200px}.toggle-row{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.toggle-row-copy{gap:2px;display:grid}.toggle-row-copy strong{color:var(--heading);font-size:13.5px;font-weight:500}.toggle-row-copy small{color:var(--muted-foreground);font-size:12.5px}.switch{appearance:none;background:var(--border-strong);cursor:pointer;border-radius:999px;flex:none;width:34px;height:20px;margin:0;transition:background-color .15s ease-out;position:relative}.switch:after{content:"";background:#fff;border-radius:999px;width:16px;height:16px;transition:transform .15s ease-out;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.switch:checked{background:var(--primary)}.switch:checked:after{transform:translate(14px)}.segmented{background:var(--muted);border-radius:9px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.segmented label{height:34px;color:var(--muted-foreground);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;font-size:13.5px;font-weight:500;transition:background-color .12s ease-out,color .12s ease-out;display:flex;position:relative}.segmented [data-slot=radio-group-item]{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.segmented label:has([data-checked]){background:var(--card);color:var(--heading);box-shadow:var(--shadow-sm)}.segmented label:has(:focus-visible){outline:2px solid var(--ring);outline-offset:1px}.modal:has(.modal-form[data-direction]){border-top:3px solid var(--border)}.modal:has(.modal-form[data-direction=sale]){border-top-color:var(--success)}.modal:has(.modal-form[data-direction=purchase]){border-top-color:var(--destructive)}.modal-form[data-direction=sale] .segmented label:has([data-checked]){background:var(--success-soft);color:var(--success);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--success) 45%, transparent)}.modal-form[data-direction=purchase] .segmented label:has([data-checked]){background:var(--destructive-soft);color:var(--destructive);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--destructive) 45%, transparent)}.modal-form[data-direction=sale] .totals-final dd{color:var(--success)}.modal-form[data-direction=purchase] .totals-final dd{color:var(--destructive)}.modal-form[data-direction=sale] .modal-footer .btn-primary{background:var(--success-strong);border-color:var(--success-strong)}.modal-form[data-direction=purchase] .modal-footer .btn-primary{background:var(--destructive-strong);border-color:var(--destructive-strong)}.modal-form[data-direction] .modal-footer .btn-primary:hover:not(:disabled){filter:brightness(.92)}.line-items{gap:10px;display:grid}.line-items-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.line-items-head>div{display:grid}.line-items-head strong{color:var(--heading);font-size:13.5px;font-weight:500}.line-items-head small{color:var(--muted-foreground);font-size:12.5px}.line-item-list{gap:8px;display:grid}.line-item{grid-template-columns:minmax(0,1fr) 80px 120px 30px;align-items:center;gap:8px;display:grid}.line-item-labels{color:var(--muted-foreground);font-size:12px;font-weight:500}.totals{gap:6px;margin:0;font-size:13.5px;display:grid}.totals>div{justify-content:space-between;gap:16px;display:flex}.totals dt{color:var(--muted-foreground)}.totals dd{color:var(--foreground);font-variant-numeric:tabular-nums;margin:0}.totals .totals-final{border-top:1px solid var(--border);margin-top:4px;padding-top:10px}.totals .totals-final dt,.totals .totals-final dd{color:var(--heading);font-weight:600}.totals-boxed{background:color-mix(in srgb, var(--muted) 55%, var(--card));border-radius:10px;padding:14px 16px}[data-slot=dialog-overlay]{background:var(--overlay);-webkit-backdrop-filter:none;backdrop-filter:none}.modal[data-slot=dialog-content]{border:1px solid var(--border);background:var(--card);width:calc(100% - 32px);max-width:520px;max-height:min(88dvh,820px);color:var(--foreground);box-shadow:var(--shadow-lg);--tw-ring-shadow:0 0 #0000;border-radius:14px;flex-direction:column;gap:0;padding:0;display:flex;overflow:hidden}.modal-lg[data-slot=dialog-content]{max-width:640px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px 14px;display:flex}.modal-title{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--heading);font-size:21px;font-weight:500;line-height:1.2}.modal-subtitle{color:var(--muted-foreground);margin-top:4px;font-size:13px}.modal-form{flex-direction:column;flex:1;min-height:0;display:flex}.modal-body{overscroll-behavior:contain;flex:1;grid-auto-rows:max-content;align-content:start;gap:16px;min-height:0;padding:18px 20px 20px;display:grid;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);background:color-mix(in srgb, var(--muted) 40%, var(--card));justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.modal-footer-note{color:var(--muted-foreground);font-size:13px}.modal-footer-actions{gap:8px;margin-left:auto;display:flex}.category-list{border:1px solid var(--border);border-radius:10px;margin:0;padding:0;list-style:none}.category-row{justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:8px 8px 8px 14px;display:flex}.category-row+.category-row{border-top:1px solid var(--border)}.panel-backdrop{z-index:50;background:var(--overlay);transition:opacity .2s ease-out;position:fixed;inset:0}.panel-backdrop[data-starting-style],.panel-backdrop[data-ending-style]{opacity:0}.panel{z-index:51;border-left:1px solid var(--border);background:var(--card);width:min(480px,100vw);color:var(--foreground);box-shadow:var(--shadow-lg);outline:none;flex-direction:column;transition:transform .24s cubic-bezier(.22,1,.36,1),opacity .24s ease-out;display:flex;position:fixed;top:0;bottom:0;right:0}.panel[data-starting-style],.panel[data-ending-style]{opacity:0;transform:translate(24px)}.panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px 16px;display:flex}.panel-header-copy{gap:6px;min-width:0;display:grid}.panel-eyebrow{color:var(--muted-foreground);font-size:12.5px;font-weight:500}.panel-title{font-family:var(--font-serif);letter-spacing:-.015em;color:var(--heading);overflow-wrap:anywhere;font-size:26px;font-weight:450;line-height:1.15}.panel-amount{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;display:inline-flex}.panel-amount .currency-code{font-family:var(--font-sans);font-size:13px}.panel-identity{align-items:center;gap:12px;display:flex}.panel-identity .avatar{font-family:var(--font-sans)}.panel-meta{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.panel-body{overscroll-behavior:contain;flex:1;min-height:0;padding:4px 20px 24px;overflow-y:auto}.panel-section{gap:10px;padding:18px 0;display:grid}.panel-section+.panel-section{border-top:1px solid var(--border)}.panel-section h3{font-size:14px;font-weight:600}.panel-section-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.panel-section-head span{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:12.5px}.panel-footer{padding:12px 20px;padding-bottom:max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--border);background:color-mix(in srgb, var(--muted) 40%, var(--card));justify-content:flex-end;gap:8px;display:flex}.detail-list{margin:0;display:grid}.detail-list-row{grid-template-columns:140px minmax(0,1fr);gap:12px;padding:8px 0;font-size:13.5px;display:grid}.detail-list-row+.detail-list-row{border-top:1px dashed var(--border)}.detail-list dt{color:var(--muted-foreground)}.detail-list dd{min-width:0;color:var(--heading);overflow-wrap:anywhere;margin:0}.line-table{border-collapse:collapse;width:100%;font-size:13px}.line-table th{color:var(--muted-foreground);text-align:left;padding:0 0 8px;font-size:12px;font-weight:500}.line-table td{border-top:1px solid var(--border);color:var(--foreground);padding:8px 0}.line-table th+th,.line-table td+td{padding-left:12px}.stat-row{border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0 2px;display:grid;overflow:hidden}.stat-row>div{gap:2px;min-width:0;padding:10px 12px;display:grid}.stat-row>div+div{border-left:1px solid var(--border)}.stat-row span{color:var(--muted-foreground);font-size:12px}.stat-row strong{color:var(--heading);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.list{border:1px solid var(--border);border-radius:10px;overflow:hidden}.list-row{text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:54px;padding:8px 12px;transition:background-color .1s ease-out;display:flex}.list-row.static{cursor:default}.list-row+.list-row{border-top:1px solid var(--border)}.list-row:not(.static):hover{background:color-mix(in srgb, var(--muted) 60%, var(--card))}.list-row-copy{min-width:0;display:grid}.list-row-copy strong{color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;overflow:hidden}.list-row-copy small{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.list-row-end{flex:none;justify-items:end;gap:4px;display:grid}.invite-banner{align-items:center;gap:14px;padding:18px 20px;display:flex}.invite-banner>div{flex:1;min-width:0}.invite-banner strong{color:var(--heading);font-weight:600}.invite-banner p{max-width:620px;color:var(--muted-foreground);margin-top:2px;font-size:13px}.invite-banner-icon{background:var(--brand-soft);width:36px;height:36px;color:var(--brand);border-radius:9px;flex:none;place-items:center;display:grid}.roles-table td{height:56px}.col-role{min-width:160px}.you-tag{background:var(--brand-soft);color:var(--brand);vertical-align:1px;border-radius:5px;margin-left:8px;padding:1px 6px;font-size:11px;font-weight:600}.settings-section{grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:24px 40px;padding:24px;display:grid}.settings-section+.settings-section{border-top:1px solid var(--border)}.settings-section-copy h2{font-size:15px;font-weight:600}.settings-section-copy p{color:var(--muted-foreground);margin-top:4px;font-size:13px}.settings-section-body{align-content:start;gap:18px;min-width:0;display:grid}.settings-field{gap:8px;display:grid}.settings-label{color:var(--foreground);font-size:13px;font-weight:500}.profile-row{align-items:center;gap:14px;display:flex}.profile-copy{flex:1;min-width:0;display:grid}.profile-copy strong{color:var(--heading);font-weight:600}.profile-copy span{color:var(--muted-foreground);text-overflow:ellipsis;font-size:13px;overflow:hidden}.segmented-control{background:var(--muted);border-radius:9px;gap:2px;width:fit-content;max-width:100%;padding:3px;display:inline-flex}.segmented-control button{height:30px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 14px;font-size:13px;font-weight:500;transition:background-color .12s ease-out,color .12s ease-out}.segmented-control button:hover{color:var(--foreground)}.segmented-control button[aria-checked=true]{background:var(--card);color:var(--heading);box-shadow:var(--shadow-sm)}.landing{background:var(--background);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100dvh;display:grid}.landing-copy{flex-direction:column;justify-content:space-between;gap:48px;padding:32px 56px;display:flex}.landing-brand{align-items:center;gap:10px;display:flex}.landing-logo{width:auto;height:56px;display:block}.landing-body{max-width:560px}.landing-kicker{color:var(--brand);font-size:13.5px;font-weight:600}.landing-body h1{font-family:var(--font-serif);letter-spacing:-.025em;font-variation-settings:"opsz" 72;margin-top:14px;font-size:clamp(38px,5vw,60px);font-weight:400;line-height:1.04}.landing-body h1 em{color:var(--brand);font-style:normal}.landing-lede{max-width:480px;color:var(--muted-foreground);margin-top:20px;font-size:16px;line-height:1.6}.landing-points{gap:10px;margin:28px 0 0;padding:0;list-style:none;display:grid}.landing-points li{color:var(--foreground);align-items:center;gap:10px;font-size:14px;display:flex}.landing-points svg{color:var(--success)}.landing-foot{color:var(--subtle-foreground);text-transform:capitalize;font-size:12.5px}.landing-auth{border-left:1px solid var(--border);background:var(--sidebar);place-items:center;padding:32px;display:grid}.landing-auth-inner{justify-items:center;gap:20px;width:100%;max-width:420px;display:grid}.landing-auth-heading{text-align:center}.landing-auth-heading h2{font-family:var(--font-serif);letter-spacing:-.01em;font-size:26px;font-weight:450}.landing-auth-heading p{color:var(--muted-foreground);margin-top:4px}.verify{background:var(--background);min-height:100dvh}.verify-top{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex}.verify-brand{display:inline-flex}.verify-body{gap:20px;width:100%;max-width:640px;margin:0 auto;padding:40px 24px 64px;display:grid}.verify-intro h1{font-family:var(--font-serif);letter-spacing:-.015em;font-variation-settings:"opsz" 48;font-size:32px;font-weight:450;line-height:1.15}.verify-intro p{max-width:520px;color:var(--muted-foreground);margin-top:8px}.verify-card{gap:16px;padding:20px;display:grid}.verify-form{gap:16px;display:grid}.verify-actions{justify-content:flex-end;gap:8px;display:flex}.mono-input[data-slot=input]{letter-spacing:.04em;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.verify-scanner{justify-items:center;gap:8px;display:grid}.verify-scanner video{aspect-ratio:1;object-fit:cover;background:#000;border-radius:12px;width:100%;max-width:360px}.verify-scanner p,.verify-scan-error{color:var(--muted-foreground);font-size:13px}.verify-scan-error{color:var(--destructive)}.verify-result{gap:14px;padding:20px;display:grid}.verify-result-head{gap:12px;display:flex}.verify-result-head h2{font-size:16px;font-weight:600}.verify-result-head p{color:var(--muted-foreground);margin-top:2px;font-size:13.5px}.verify-result-icon{border-radius:999px;flex:none;place-items:center;width:32px;height:32px;display:grid}.verify-valid{border-top:3px solid var(--success)}.verify-valid .verify-result-icon{background:var(--success-soft);color:var(--success)}.verify-invalid{border-top:3px solid var(--destructive)}.verify-invalid .verify-result-icon{background:var(--destructive-soft);color:var(--destructive)}.verify-footnote{color:var(--subtle-foreground);font-size:12.5px}.landing-verify{color:var(--brand);align-items:center;gap:6px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.landing-verify:hover{text-underline-offset:3px;text-decoration:underline}@media (max-width:1100px){.overview-grid{grid-template-columns:minmax(0,1fr)}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-net{grid-column:1/-1}.metric:nth-child(2),.metric:nth-child(4){border-left:0}.metric:nth-child(n+2){border-top:1px solid var(--border)}}@media (max-width:960px){.landing{grid-template-columns:minmax(0,1fr)}.landing-copy{gap:32px;padding:24px 24px 8px}.landing-foot{display:none}.landing-auth{background:0 0;border-left:0;padding:24px 16px 40px}.settings-section{grid-template-columns:minmax(0,1fr);gap:16px}}@media (max-width:767px){.topbar{padding:0 16px}.topbar-menu{display:inline-flex}.page{gap:16px;padding:20px 16px 40px}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.page-header h1{font-size:26px}.page-header-actions{width:100%}.page-header-actions .btn-primary{flex:1}[data-slot=input],.select-trigger[data-slot=select-trigger],.native-select,.search-input input{font-size:16px}.btn{height:38px}.btn-icon{width:38px}.nav-link{height:40px}}@media (max-width:720px){.verify-body{padding:24px 16px 40px}.verify-intro h1{font-size:26px}.verify-actions .btn{flex:1}.hide-sm{display:none}.table-toolbar{padding:10px 12px}.search-input{width:100%}.table-toolbar-meta,.data-table thead{display:none}.data-table,.data-table tbody{display:block}.data-table tr{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:12px 16px;display:grid}.data-table tbody tr:last-child{border-bottom:0}.data-table td{text-align:left;border:0;width:auto;max-width:none;height:auto;padding:0}.data-table .col-main{grid-area:1/1/span 2;align-self:center;min-width:0}.data-table .col-amount{text-align:right;grid-area:1/2}.data-table .col-status{grid-area:2/2;justify-self:end}.data-table .col-type,.data-table .col-date,.data-table .currency-code{display:none}.contacts-table .col-type{grid-area:1/2;justify-self:end;display:block}.contacts-table .col-total{color:var(--muted-foreground);grid-area:2/2;justify-self:end;font-size:12.5px}.contacts-table .col-phone,.contacts-table .col-count,.expense-table .col-payee,.expense-table .col-type{display:none}.expense-table .col-date{grid-area:2/2;justify-self:end;font-size:12.5px;display:block}.roles-table tr{grid-template-columns:minmax(0,1fr)}.roles-table .col-role,.roles-table .col-main{grid-area:auto/1}.form-grid,.inline-form{grid-template-columns:minmax(0,1fr)}.line-item{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) 30px;row-gap:6px}.line-item>:first-child{grid-column:1/-1}.line-item-labels{display:none}.line-item+.line-item{border-top:1px dashed var(--border);padding-top:10px}.invite-banner{flex-wrap:wrap}.invite-banner .btn{width:100%}.modal[data-slot=dialog-content]{border-bottom:0;border-radius:16px 16px 0 0;width:100%;max-width:none;max-height:92dvh;inset:auto 0 0;translate:none}.modal-footer{padding-bottom:max(12px, env(safe-area-inset-bottom))}.modal-footer-actions{width:100%}.modal-footer-actions .btn{flex:1}.panel{border-left:0;width:100vw}.panel-footer .btn{flex:1}.detail-list-row{grid-template-columns:minmax(0,1fr);gap:2px}}@media (max-width:480px){.metric{padding:12px 14px}.metric-value{font-size:17px}.metric-net .metric-value{font-size:24px}.metric-hint{font-size:11.5px}.section-header,.surface-body{padding-left:16px;padding-right:16px}.stat-row{grid-template-columns:minmax(0,1fr)}.stat-row>div+div{border-left:0;border-top:1px solid var(--border)}.profile-row{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
