@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.\[check\:config\]{check:config}.\[check\:sql\]{check:sql}.\[ops\:create-admin\]{ops:create-admin}.\[ops\:purge-audit\]{ops:purge-audit}.\[theme\:regression\]{theme:regression}.\[verify\:m2\]{verify:m2}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--topbar-h:68px;--sidebar-w:232px;--sidebar-py:18px;--sidebar-px:12px;--page-pad-y:30px;--page-pad-x:28px;--content-gutter:24px;--card-pad:22px;--control-py:10px;--control-px:12px;--toolbar-control-h:40px;--table-py:11px;--table-px:12px;--nav-py:11px;--nav-px:12px;--nav-font:14px;--table-font:14px;--bg:#f7f8fa;--fg:#1f2328;--muted:#6b7280;--line:#e5e7eb;--brand:#2563eb;--brand-fg:#fff;--danger:#dc2626;--surface:#fff;--topbar-bg:#fff;--sidebar-bg:#f2f5f8;--surface-2:#fafbfc;--surface-3:#f1f5f9;--nav-hover-bg:#f8fafc;--line-strong:#cbd5e1;--info-bg:#eff6ff;--info-fg:#1d4ed8;--info-line:#bfdbfe;--info-bg-soft:#e0ecff;--err-bg:#fef2f2;--err-line:#fecaca;--ok-bg:#f0fdf4;--ok-line:#bbf7d0;--ok-fg:#15803d;--tag-sell-bg:#ecfdf5;--tag-sell-fg:#047857;--tag-sell-line:#a7f3d0;--tag-item-bg:#fff7ed;--tag-item-fg:#c2410c;--tag-item-line:#fed7aa;--tag-out-bg:#fffbeb;--tag-out-fg:#b45309;--tag-out-line:#fde68a;--tag-keep-bg:#f3f4f6;--tag-keep-fg:#69707e;--tag-keep-line:#e5e7eb;--cal-out:#cbd5e1;--cal-out2:#d7dce3;--mask:#11182780;--shadow-lg:0 24px 60px #00000047;--shadow-md:0 12px 32px #0f172a24;--ring:0 0 0 3px #2563eb1f;--toast-bg:#1f2937;--toast-fg:#fff;--toast-err-bg:#991b1b;--toast-err-fg:#fff}html[data-density=compact],html[data-theme][data-density=compact]{--topbar-h:56px;--sidebar-w:208px;--sidebar-py:12px;--sidebar-px:10px;--page-pad-y:22px;--page-pad-x:20px;--content-gutter:16px;--card-pad:16px;--control-py:7px;--control-px:10px;--toolbar-control-h:34px;--table-py:7px;--table-px:10px;--nav-py:8px;--nav-px:10px;--nav-font:13px;--table-font:13px}html[data-density=spacious],html[data-theme][data-density=spacious]{--topbar-h:76px;--sidebar-w:252px;--sidebar-py:22px;--sidebar-px:14px;--page-pad-y:36px;--page-pad-x:32px;--content-gutter:32px;--card-pad:26px;--control-py:12px;--control-px:14px;--toolbar-control-h:46px;--table-py:14px;--table-px:14px;--nav-py:13px;--nav-px:14px;--nav-font:15px;--table-font:15px}html,body{background:var(--bg);color:var(--fg);margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Microsoft YaHei,sans-serif;overflow-x:clip}.app-shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);grid-template-rows:var(--topbar-h) minmax(0, 1fr);min-height:100dvh;display:grid}.app-topbar{padding:0 var(--page-pad-x);background:var(--topbar-bg);border-bottom:1px solid var(--line);grid-column:1/-1;align-items:center;gap:10px;display:flex}.app-brand{color:var(--fg);font-size:15px;font-weight:650;text-decoration:none}.app-identity{color:var(--muted);font-size:13px}.app-tools{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.ledger-switcher{position:relative}.ledger-trigger{border:1px solid var(--line);background:var(--surface);max-width:220px;min-height:32px;color:var(--fg);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.ledger-trigger-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.ledger-menu{z-index:20;border:1px solid var(--line);background:var(--surface);width:240px;box-shadow:var(--shadow-md);border-radius:10px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}.ledger-menu-title,.ledger-menu-actions{color:var(--muted);padding:9px 12px;font-size:12px}.ledger-menu button:not(.btn){width:100%;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.ledger-menu button:hover,.ledger-menu button.on{background:var(--surface-2)}.ledger-menu small,.ledger-list small{color:var(--muted);font-size:12px}.ledger-menu-actions{border-top:1px solid var(--line)}.ledger-menu-actions button{color:var(--brand)!important}.ledger-create{gap:8px;margin-bottom:14px;display:flex}.ledger-create .input{min-width:0}.ledger-list{gap:8px;display:grid}.ledger-list>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.ledger-list>div>span{gap:3px;min-width:0;display:grid}.app-sidebar{min-width:0;padding:var(--sidebar-py) var(--sidebar-px);background:var(--sidebar-bg);border-right:1px solid var(--line)}.app-content{min-width:0;overflow:visible}*{box-sizing:border-box}a{color:var(--brand)}.wrap{max-width:880px;padding:var(--page-pad-y) var(--page-pad-x);margin:0 auto}.card{background:var(--surface);border:1px solid var(--line);padding:var(--card-pad);border-radius:10px}.field{margin-bottom:14px;display:block}.field>span{color:var(--muted);margin-bottom:6px;font-size:13px;display:block}.input{width:100%;padding:var(--control-py) var(--control-px);border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:6px;font-size:14px}.btn{padding:var(--control-py) calc(var(--control-px) + 4px);border:1px solid var(--brand);background:var(--brand);color:var(--brand-fg);cursor:pointer;border-radius:6px;font-size:14px;display:inline-block}.btn.ghost{background:var(--surface);color:var(--brand)}.msg{border-radius:6px;margin-bottom:14px;padding:10px 12px;font-size:14px}.terms-agree{color:var(--muted);align-items:flex-start;gap:8px;margin-bottom:14px;font-size:13px;line-height:1.6;display:flex}.terms-agree input[type=checkbox]{width:15px;height:15px;accent-color:var(--brand);cursor:pointer;flex:none;margin:3px 0 0}.terms-agree a{color:var(--brand)}.msg.err{background:var(--err-bg);border:1px solid var(--err-line);color:var(--danger)}.msg.ok{background:var(--ok-bg);border:1px solid var(--ok-line);color:var(--ok-fg)}table{border-collapse:collapse;width:100%;font-size:var(--table-font)}th,td{border-bottom:1px solid var(--line);padding:var(--table-py) var(--table-px);text-align:left}th{color:var(--muted);font-weight:500}.muted{color:var(--muted)}:root{--spend:#c2410c;--purple:#7c3aed;--accent:#0f766e;--mut2:#9ca3af;--ok:#15803d;--warn:#b45309}.wrap-wide{max-width:none;padding:var(--page-pad-y) var(--content-gutter) 72px;margin:0}.page-title,.dash-title{border-left:4px solid var(--brand);color:var(--fg);letter-spacing:.2px;margin:0 0 8px;padding-left:13px;font-size:clamp(24px,2vw,30px);font-weight:720;line-height:1.2}.account-stack{gap:16px;display:grid}.icon-btn,.theme-btn,.density-btn{border:1px solid var(--line);background:var(--surface);width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover,.theme-btn:hover,.density-btn:hover{color:var(--fg);border-color:var(--line-strong);background:var(--surface-2)}.icon-btn:focus-visible,.theme-btn:focus-visible,.density-btn:focus-visible{border-color:var(--brand);box-shadow:var(--ring);outline:none}.icon-btn svg,.theme-btn svg,.density-btn svg{width:16px;height:16px}.icon-btn:disabled{opacity:.55;cursor:not-allowed}.table-scroll{overflow:auto}.table-scroll table{border-collapse:separate;border-spacing:0}.table-scroll thead th{z-index:2;background:var(--surface);box-shadow:inset 0 -1px 0 var(--line);white-space:nowrap;position:sticky;top:0}.table-scroll tbody td{background:var(--surface)}.table-scroll tbody tr:hover td{background:var(--surface-2)}.records-table{min-height:260px;max-height:min(620px,100dvh - 540px)}.records-table table{table-layout:fixed;width:100%;min-width:1500px}.records-table .ledger-table th:first-child,.records-table .ledger-table td:first-child{width:7%;min-width:100px}.records-table .ledger-table th:nth-child(2),.records-table .ledger-table td:nth-child(2){width:11%;min-width:160px}.records-table .ledger-table th:nth-child(3),.records-table .ledger-table td:nth-child(3){width:8%;min-width:110px}.records-table .ledger-table th:nth-child(4),.records-table .ledger-table td:nth-child(4),.records-table .ledger-table th:nth-child(5),.records-table .ledger-table td:nth-child(5){width:8%;min-width:120px}.records-table .ledger-table th:nth-child(6),.records-table .ledger-table td:nth-child(6),.records-table .ledger-table th:nth-child(7),.records-table .ledger-table td:nth-child(7){width:12%;min-width:164px}.records-table .ledger-table th:nth-child(8),.records-table .ledger-table td:nth-child(8){width:11%;min-width:148px}.records-table .ledger-table th:nth-child(9),.records-table .ledger-table td:nth-child(9){width:5%;min-width:70px}.records-table .ledger-table th:nth-child(10),.records-table .ledger-table td:nth-child(10){width:11%;min-width:160px}.records-table .ledger-table th:nth-child(11),.records-table .ledger-table td:nth-child(11){width:7%;min-width:100px}.records-table td{text-overflow:ellipsis;overflow:hidden}.ledger-table th:first-child,.ledger-table td:first-child{z-index:3;position:sticky;left:0}.ledger-table th:nth-child(2),.ledger-table td:nth-child(2){left:var(--records-type-column-width,104px);z-index:3;position:sticky}.ledger-table thead th:first-child,.ledger-table thead th:nth-child(2){z-index:4}.records-table th:last-child,.records-table td:last-child{z-index:3;min-width:100px;position:sticky;right:0}.records-table thead th:last-child{z-index:4}.admin-table-scroll{max-height:min(620px,100dvh - 300px)}.admin-table-scroll table{table-layout:fixed;min-width:720px}.admin-table-scroll .ledger-table{width:100%;min-width:946px}.admin-table-scroll .ledger-table th:first-child,.admin-table-scroll .ledger-table td:first-child{width:11%;min-width:104px}.admin-table-scroll .ledger-table th:nth-child(2),.admin-table-scroll .ledger-table td:nth-child(2){width:21%;min-width:190px}.admin-table-scroll .ledger-table th:nth-child(3),.admin-table-scroll .ledger-table td:nth-child(3){width:13%;min-width:122px}.admin-table-scroll .ledger-table th:nth-child(4),.admin-table-scroll .ledger-table td:nth-child(4){width:13%;min-width:120px}.admin-table-scroll .ledger-table th:nth-child(5),.admin-table-scroll .ledger-table td:nth-child(5){width:12%;min-width:110px}.admin-table-scroll .ledger-table th:nth-child(6),.admin-table-scroll .ledger-table td:nth-child(6){width:8%;min-width:76px}.admin-table-scroll .ledger-table th:nth-child(7),.admin-table-scroll .ledger-table td:nth-child(7){width:22%;min-width:180px}.admin-users-table{width:100%;min-width:900px}.admin-users-table th:first-child,.admin-users-table td:first-child{width:14%;min-width:126px}.admin-users-table th:nth-child(2),.admin-users-table td:nth-child(2){width:23%;min-width:200px}.admin-users-table th:nth-child(3),.admin-users-table td:nth-child(3){width:9%;min-width:82px}.admin-users-table th:nth-child(4),.admin-users-table td:nth-child(4){width:9%;min-width:96px}.admin-users-table th:nth-child(5),.admin-users-table td:nth-child(5),.admin-users-table th:nth-child(6),.admin-users-table td:nth-child(6){width:16%;min-width:132px}.admin-users-table th:nth-child(7),.admin-users-table td:nth-child(7){width:13%;min-width:154px}.admin-users-table th:first-child,.admin-users-table td:first-child{z-index:3;min-width:126px;position:sticky;left:0}.admin-users-table th:last-child,.admin-users-table td:last-child{z-index:3;min-width:150px;position:sticky;right:0}.ops-invites-table{width:100%;min-width:780px}.ops-invites-table th:first-child,.ops-invites-table td:first-child{width:24%;min-width:160px}.ops-invites-table th:nth-child(2),.ops-invites-table td:nth-child(2){width:10%;min-width:80px}.ops-invites-table th:nth-child(3),.ops-invites-table td:nth-child(3){width:12%;min-width:92px}.ops-invites-table th:nth-child(4),.ops-invites-table td:nth-child(4),.ops-invites-table th:nth-child(5),.ops-invites-table td:nth-child(5){width:16%;min-width:126px}.ops-invites-table th:nth-child(6),.ops-invites-table td:nth-child(6){width:22%;min-width:172px}.admin-users-table thead th:first-child,.admin-users-table thead th:last-child{z-index:4}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:14px;display:flex}.toolbar .field{margin-bottom:0}.toolbar .input,.toolbar select{height:var(--toolbar-control-h);padding:0 var(--control-px);font-size:13.5px}.toolbar .dr-trigger,.toolbar .btn{min-height:var(--toolbar-control-h);height:var(--toolbar-control-h);align-items:center;padding-top:0;padding-bottom:0;display:inline-flex}.toolbar .grow{flex:180px;min-width:160px}.btn.sm{padding:6px 11px;font-size:13px}.btn.link{color:var(--brand);background:0 0;border-color:#0000;padding:4px 6px}.btn.danger{border-color:var(--danger);background:var(--danger)}.btn.danger.ghost{background:var(--surface);color:var(--danger)}.btn:disabled{opacity:.55;cursor:not-allowed}.verify-banner-close{width:28px;height:28px;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:6px;margin-left:auto;padding:0;font-size:20px;line-height:1}.verify-banner-close:hover{background:currentColor}@supports (color:color-mix(in lab, red, red)){.verify-banner-close:hover{background:color-mix(in srgb, currentColor 10%, transparent)}}.import-steps{gap:7px;margin:0 0 16px;padding-left:22px;font-size:13px;line-height:1.65;display:grid}.import-steps .btn.link{height:auto;min-height:0;margin:-4px 2px -4px -6px}.import-file-name{overflow-wrap:anywhere;margin:8px 0 0}.num,th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}table th.sortable:hover{color:var(--fg)}tbody tr:hover{background:var(--surface-2)}.empty,.loading{text-align:center;color:var(--mut2);padding:30px}.tag{white-space:nowrap;border:1px solid #0000;border-radius:6px;padding:1px 8px;font-size:11.5px;display:inline-block}.t-buy{background:var(--info-bg);color:var(--info-fg);border-color:var(--info-line)}.t-sell{background:var(--tag-sell-bg);color:var(--tag-sell-fg);border-color:var(--tag-sell-line)}.t-item{background:var(--tag-item-bg);color:var(--tag-item-fg);border-color:var(--tag-item-line)}.t-out{background:var(--tag-out-bg);color:var(--tag-out-fg);border-color:var(--tag-out-line)}.t-keep{background:var(--tag-keep-bg);color:var(--tag-keep-fg);border-color:var(--tag-keep-line)}.note{color:var(--mut2);font-size:12px}.fsum{color:var(--muted);border-top:1px solid var(--line);flex-wrap:wrap;gap:6px 18px;margin-top:0;padding:10px 2px;font-size:12.5px;display:flex}.fsum b{color:var(--fg)}.pager{color:var(--muted);align-items:center;gap:10px;margin-top:14px;font-size:13.5px;display:flex}.pager .spacer{margin-left:auto}.mask{background:var(--mask);z-index:50;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.mask.on{display:flex}.modal{background:var(--surface);border:1px solid var(--line);width:100%;max-width:560px;max-height:92vh;box-shadow:var(--shadow-lg);border-radius:14px;overflow:auto}.modal header{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:16px 20px;font-weight:600;display:flex}.modal header .spacer{margin-left:auto}.modal .body{padding:18px 20px}.modal footer{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}@media (max-width:640px){.grid2{grid-template-columns:1fr}}.hint{color:var(--muted);min-height:20px;margin:-6px 0 12px;font-size:13px}.toast{background:var(--toast-bg);color:var(--toast-fg);opacity:0;pointer-events:none;z-index:99;text-align:center;border-radius:10px;max-width:90vw;padding:10px 20px;font-size:13.5px;transition:all .22s;position:fixed;bottom:30px;left:50%;transform:translate(-50%)translateY(20px)}.toast.on{opacity:1;transform:translate(-50%)translateY(0)}.toast.err{background:var(--toast-err-bg);color:var(--toast-err-fg)}.conv{background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-bottom:14px;padding:16px 18px}.conv-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.conv-row .field{flex:150px;margin-bottom:0}.conv-unit{color:var(--muted);min-height:18px;margin-top:10px;font-size:12.5px}.conv-quick{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.conv-quick button{border:1px solid var(--line);background:var(--surface);color:var(--fg);cursor:pointer;border-radius:6px;padding:5px 10px;font-size:12.5px}.conv-quick button:hover{border-color:var(--brand);color:var(--brand)}.dr{position:relative}.dr-trigger{min-width:238px;min-height:var(--toolbar-control-h);padding:0 var(--control-px);font-variant-numeric:tabular-nums;border:1px solid var(--line);background:var(--surface);color:var(--fg);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:7px;font-size:13.5px;display:inline-flex}.dr-trigger:hover{border-color:var(--line-strong)}.dr-trigger.on{border-color:var(--brand);box-shadow:var(--ring)}.dr-ico{color:var(--muted);flex:none}.dr-trigger.on .dr-ico{color:var(--brand)}.dr-badge{color:var(--brand);background:var(--info-bg);border:1px solid var(--info-line);border-radius:5px;padding:0 5px;font-size:11.5px}.dr-panel{z-index:40;background:var(--surface);border:1px solid var(--line);width:min(560px,100vw - 48px);box-shadow:var(--shadow-md);border-radius:10px;padding:10px 12px 12px;position:absolute;top:calc(100% + 6px);left:0}.dr-quick{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;padding-bottom:8px;display:flex}.dr-chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;padding:3px 9px;font-size:12.5px}.dr-chip:hover{color:var(--fg);border-color:var(--line-strong)}.dr-chip.on{color:var(--brand);background:var(--info-bg);border-color:var(--info-line)}.dr-nav{align-items:center;gap:4px;padding:8px 2px 4px;display:flex}.dr-navhint{text-align:center;color:var(--muted);flex:1;font-size:12px}.dr-navbtn{border:1px solid var(--line);background:var(--surface);width:24px;height:24px;color:var(--muted);cursor:pointer;border-radius:6px;padding:0;font-size:14px;line-height:1}.dr-navbtn:hover{color:var(--brand);border-color:var(--info-line);background:var(--nav-hover-bg)}.dr-months{gap:14px;display:flex}.dr-month{flex:1 1 0;min-width:0}.dr-mtitle{text-align:center;padding:2px 0 6px;font-size:13px;font-weight:600}.dr-week,.dr-grid{grid-template-columns:repeat(7,1fr);display:grid}.dr-week span{color:var(--mut2);text-align:center;padding-bottom:4px;font-size:11.5px}.dr-grid{gap:2px}.dr-cell{font-variant-numeric:tabular-nums;width:100%;height:30px;color:var(--fg);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:0;font-size:12.5px}.dr-cell:hover{background:var(--surface-3)}.dr-cell.out{color:var(--cal-out)}.dr-cell.wk{color:var(--mut2)}.dr-cell.out.wk{color:var(--cal-out2)}.dr-cell.today{border-color:var(--info-line);font-weight:600}.dr-cell.s-mid{background:var(--info-bg-soft);color:var(--info-fg);border-radius:0}.dr-cell.s-start,.dr-cell.s-end,.dr-cell.s-single{background:var(--brand);border-color:var(--brand);color:var(--brand-fg);font-weight:600}.dr-cell.s-start{border-radius:6px 0 0 6px}.dr-cell.s-end{border-radius:0 6px 6px 0}.dr-foot{border-top:1px solid var(--line);align-items:center;gap:8px;margin-top:10px;padding-top:8px;display:flex}.dr-sel{font-variant-numeric:tabular-nums;font-size:12.5px}.dr-days{color:var(--muted);font-size:12px}.dr-foot-spacer{flex:1}@media (max-width:620px){.dr-panel{width:calc(100vw - 24px);left:auto;right:0}.dr-month:nth-child(2){display:none}}.theme-float{z-index:60;position:fixed;top:12px;right:16px}.side-nav{flex-direction:column;gap:4px;display:flex}.side-nav a{padding:var(--nav-py) var(--nav-px);font-size:var(--nav-font);color:var(--muted);white-space:nowrap;border:1px solid #0000;border-radius:8px;text-decoration:none}.side-nav a:hover{color:var(--fg);background:var(--surface-2)}.side-nav a.on{color:var(--brand);background:var(--info-bg);border-color:var(--info-line)}.dash-sub{color:var(--mut2);margin:0;font-size:12.5px}.chips{flex-wrap:wrap;gap:8px;margin:12px 0 22px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:4px 13px;font-size:12.5px}.chip b{color:var(--fg);font-weight:600}.kpis{grid-template-columns:repeat(auto-fit,minmax(196px,1fr));gap:13px;margin-bottom:26px;display:grid}.kpi{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface-2), var(--surface));border-radius:12px;padding:15px 17px;position:relative;overflow:hidden}.kpi:after{content:"";background:var(--accent);opacity:.85;width:3px;position:absolute;top:0;bottom:0;left:0}.kpi.spend:after{background:var(--spend)}.kpi.ok:after{background:var(--ok)}.kpi.warn:after{background:var(--warn)}.kpi.purple:after{background:var(--purple)}.kpi .k{color:var(--muted);margin-bottom:5px;font-size:12.5px}.kpi .v{letter-spacing:.3px;font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.kpi .s{color:var(--mut2);margin-top:3px;font-size:11.5px}.v.spend{color:var(--spend)}.v.ok{color:var(--ok)}.v.warn{color:var(--warn)}.v.purple{color:var(--purple)}h2.sec{border-left:3px solid var(--brand);margin:30px 0 13px;padding-left:11px;font-size:16px}.charts{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:15px;display:grid}.charts-err{grid-column:1/-1;margin:0}.cbox{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:16px 18px}.cbox h3{margin:0 0 12px;font-size:14px;font-weight:600}.canvas-wrap{height:290px;position:relative}.tbl-wrap{border:1px solid var(--line);border-radius:10px;overflow:auto}.sold-note{color:var(--muted);margin:0 0 12px;font-size:12.5px}.dash-foot{color:var(--mut2);text-align:center;margin-top:38px;font-size:12px}@media (max-width:900px){.charts{grid-template-columns:1fr}}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--topbar-h:68px;--sidebar-w:232px;--sidebar-py:18px;--sidebar-px:12px;--page-pad-y:30px;--page-pad-x:28px;--content-gutter:24px;--card-pad:22px;--control-py:10px;--control-px:12px;--toolbar-control-h:40px;--table-py:11px;--table-px:12px;--nav-py:11px;--nav-px:12px;--nav-font:14px;--table-font:14px;--bg:#0f1218;--fg:#e6e9ee;--muted:#98a2b3;--line:#262d38;--brand:#5b9dff;--brand-fg:#0a0e14;--danger:#f87171;--surface:#161b23;--topbar-bg:#161b23;--sidebar-bg:#111720;--surface-2:#1b2129;--surface-3:#202732;--nav-hover-bg:#1b2129;--line-strong:#3a4451;--info-bg:#17273f;--info-fg:#8ab6ff;--info-line:#2b4a75;--info-bg-soft:#1d3350;--err-bg:#2a1618;--err-line:#5c2a2e;--ok-bg:#10241a;--ok-line:#1f4a33;--ok-fg:#4ade80;--tag-sell-bg:#10241a;--tag-sell-fg:#4ade80;--tag-sell-line:#1f4a33;--tag-item-bg:#2c1c10;--tag-item-fg:#fb923c;--tag-item-line:#5c3a1e;--tag-out-bg:#2a2210;--tag-out-fg:#fbbf24;--tag-out-line:#5a4720;--tag-keep-bg:#1e242c;--tag-keep-fg:#98a2b3;--tag-keep-line:#333c48;--cal-out:#4a5563;--cal-out2:#39424e;--mask:#0000009e;--shadow-lg:0 24px 60px #0009;--shadow-md:0 12px 32px #00000073;--ring:0 0 0 3px #5b9dff38;--toast-bg:#e8ebf0;--toast-fg:#12161c;--toast-err-bg:#b91c1c;--toast-err-fg:#fff;--spend:#fb923c;--purple:#c4b5fd;--accent:#2dd4bf;--mut2:#7d8797;--ok:#4ade80;--warn:#fbbf24}@media (max-width:760px){.app-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--topbar-h) auto minmax(0, 1fr)}.app-topbar{padding:0 14px}.app-sidebar{border-right:0;border-bottom:1px solid var(--line);grid-row:2;padding:8px 12px;overflow-x:auto}.app-content{grid-row:3}.side-nav{flex-direction:row;width:max-content}.side-nav a{padding:7px 10px}.wrap-wide{padding:20px 14px 36px}.records-table,.admin-table-scroll{max-height:min(58dvh,520px)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
