:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-14: 56px;--space-16: 64px;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 999px;--font-sans: "Vazirmatn", "Segoe UI", Tahoma, "Helvetica Neue", Arial, sans-serif;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .8125rem;--text-md: .875rem;--text-base: .9375rem;--text-lg: 1rem;--text-xl: 1.125rem;--text-2xl: 1.375rem;--text-3xl: 1.75rem;--leading-tight: 1.35;--leading-normal: 1.6;--leading-relaxed: 1.8;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-heavy: 800;--icon-xs: 14px;--icon-sm: 16px;--icon-md: 20px;--icon-lg: 24px;--icon-xl: 28px;--duration-fast: .12s;--duration-base: .18s;--duration-slow: .26s;--ease-standard: cubic-bezier(.2, .7, .3, 1);--ease-emphasized: cubic-bezier(.2, 0, 0, 1);--header-height: 60px;--bottomnav-height: 62px;--sidebar-width: 264px;--content-max: 880px;--sheet-max: 520px;--modal-max: 440px;--ring-width: 2px;--ring-offset: 2px;--control-height: 48px;--control-height-sm: 40px}:root,[data-theme=light]{color-scheme:light;--color-bg: #f4f6f5;--color-surface: #ffffff;--color-surface-2: #eff2f1;--color-surface-3: #e4e9e7;--color-raised: #ffffff;--color-border: #e2e7e5;--color-border-strong: #cbd5d1;--color-text-1: #14201c;--color-text-2: #52645e;--color-text-3: #83948e;--color-text-inverse: #ffffff;--color-primary: #0e7561;--color-primary-hover: #0c6453;--color-primary-active: #0a5446;--color-primary-soft: #dcefe8;--color-primary-softer: #edf6f2;--color-primary-text: #0a5d4e;--color-on-primary: #ffffff;--color-success: #187a48;--color-success-soft: #e0f2e7;--color-success-text: #136a3e;--color-warning: #a36a08;--color-warning-strong: #d97706;--color-warning-soft: #f9efdb;--color-warning-text: #8f5c07;--color-error: #cc3a31;--color-error-hover: #b32f27;--color-error-active: #9d2a22;--color-error-soft: #fbe9e7;--color-error-text: #b93227;--color-info: #1e6bc4;--color-info-soft: #e4effa;--color-info-text: #1a5daa;--fin-income: var(--color-success);--fin-income-soft: var(--color-success-soft);--fin-income-text: var(--color-success-text);--fin-expense: var(--color-error);--fin-expense-soft: var(--color-error-soft);--fin-expense-text: var(--color-error-text);--fin-receivable: var(--color-info);--fin-receivable-soft: var(--color-info-soft);--fin-receivable-text: var(--color-info-text);--fin-debt: var(--color-warning);--fin-debt-soft: var(--color-warning-soft);--fin-debt-text: var(--color-warning-text);--fin-paid: var(--color-success);--fin-paid-soft: var(--color-success-soft);--fin-pending: var(--color-warning);--fin-pending-soft: var(--color-warning-soft);--shadow-soft: 0 1px 2px rgba(20, 32, 28, .05);--shadow-card: 0 1px 2px rgba(20, 32, 28, .04), 0 2px 8px rgba(20, 32, 28, .05);--shadow-raised: 0 4px 14px rgba(20, 32, 28, .09), 0 1px 3px rgba(20, 32, 28, .06);--shadow-pop: 0 12px 32px rgba(20, 32, 28, .16), 0 2px 8px rgba(20, 32, 28, .08);--shadow-sheet: 0 -12px 40px rgba(20, 32, 28, .18);--shadow-focus: 0 0 0 3px var(--color-primary-soft);--shadow-focus-error: 0 0 0 3px var(--color-error-soft);--backdrop: rgba(20, 32, 28, .45);--color-focus: #0e7561;--toast-bg: #1e2925;--toast-text: #f2f6f4;--toast-border: #2c3a34;--skeleton-base: #e8edeb;--skeleton-shine: #f6f8f7;--scrollbar-thumb: #c4cfcb}[data-theme=dark]{color-scheme:dark;--color-bg: #0d1311;--color-surface: #141b18;--color-surface-2: #1b2420;--color-surface-3: #232e29;--color-raised: #1b2420;--color-border: #24302b;--color-border-strong: #36453e;--color-text-1: #e8efec;--color-text-2: #9db0a9;--color-text-3: #6c7f77;--color-text-inverse: #0d1311;--color-primary: #2ebb96;--color-primary-hover: #40cba8;--color-primary-active: #29a987;--color-primary-soft: #123329;--color-primary-softer: #0f271f;--color-primary-text: #5fd3b3;--color-on-primary: #06261d;--color-success: #3ec381;--color-success-soft: #11301f;--color-success-text: #6cd89f;--color-warning: #e0a94e;--color-warning-strong: #e0a94e;--color-warning-soft: #332812;--color-warning-text: #eabf77;--color-error: #ef6f66;--color-error-hover: #f3857d;--color-error-active: #e25d54;--color-error-soft: #3a1a17;--color-error-text: #f4938c;--color-info: #5fa7ec;--color-info-soft: #112639;--color-info-text: #88bdf2;--fin-income: var(--color-success);--fin-income-soft: var(--color-success-soft);--fin-income-text: var(--color-success-text);--fin-expense: var(--color-error);--fin-expense-soft: var(--color-error-soft);--fin-expense-text: var(--color-error-text);--fin-receivable: var(--color-info);--fin-receivable-soft: var(--color-info-soft);--fin-receivable-text: var(--color-info-text);--fin-debt: var(--color-warning);--fin-debt-soft: var(--color-warning-soft);--fin-debt-text: var(--color-warning-text);--fin-paid: var(--color-success);--fin-paid-soft: var(--color-success-soft);--fin-pending: var(--color-warning);--fin-pending-soft: var(--color-warning-soft);--shadow-soft: 0 1px 2px rgba(0, 0, 0, .25);--shadow-card: 0 1px 2px rgba(0, 0, 0, .22), 0 2px 8px rgba(0, 0, 0, .18);--shadow-raised: 0 4px 14px rgba(0, 0, 0, .35), 0 1px 3px rgba(0, 0, 0, .25);--shadow-pop: 0 12px 32px rgba(0, 0, 0, .5), 0 2px 8px rgba(0, 0, 0, .3);--shadow-sheet: 0 -12px 40px rgba(0, 0, 0, .5);--shadow-focus: 0 0 0 3px rgba(46, 187, 150, .22);--shadow-focus-error: 0 0 0 3px rgba(239, 111, 102, .22);--backdrop: rgba(4, 8, 7, .62);--color-focus: #52c7a8;--toast-bg: #2a3833;--toast-text: #eef4f1;--toast-border: #3a4b44;--skeleton-base: #1b2420;--skeleton-shine: #232e29;--scrollbar-thumb: #2e3b35}@font-face{font-family:Vazirmatn;src:url(/fonts/Vazirmatn-var.woff2) format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-1);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01";min-height:100dvh;overscroll-behavior-y:none}img,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none;padding:0}a{color:inherit;text-decoration:none}ul,ol{list-style:none;padding:0}h1,h2,h3,h4{font-weight:var(--weight-bold);line-height:var(--leading-tight)}::selection{background:var(--color-primary-soft);color:var(--color-primary-text)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full)}*::-webkit-scrollbar-track{background:transparent}:focus{outline:none}:focus-visible{outline:var(--ring-width) solid var(--color-focus);outline-offset:var(--ring-offset);border-radius:var(--radius-xs)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.tnum{font-variant-numeric:tabular-nums}.btn{--btn-height: var(--control-height);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--btn-height);padding-inline:var(--space-5);border-radius:var(--radius-md);border:1px solid transparent;font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:1;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.btn:active:not(:disabled):not(.is-loading){transform:scale(.98)}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed}.btn.is-loading{cursor:progress}.btn .btn__spinner{animation:spin .8s linear infinite}.btn--primary{background:var(--color-primary);color:var(--color-on-primary)}.btn--primary:hover:not(:disabled):not(.is-loading){background:var(--color-primary-hover)}.btn--primary:active:not(:disabled):not(.is-loading){background:var(--color-primary-active)}.btn--primary:disabled,.btn--primary[aria-disabled=true]{background:var(--color-surface-3);color:var(--color-text-3)}.btn--secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text-1)}.btn--secondary:hover:not(:disabled):not(.is-loading){background:var(--color-surface-2);border-color:var(--color-border-strong)}.btn--secondary:active:not(:disabled):not(.is-loading){background:var(--color-surface-3)}.btn--secondary:disabled{background:var(--color-surface-2);color:var(--color-text-3);border-color:var(--color-border)}.btn--ghost{background:transparent;color:var(--color-text-2)}.btn--ghost:hover:not(:disabled):not(.is-loading){background:var(--color-surface-2);color:var(--color-text-1)}.btn--ghost:active:not(:disabled):not(.is-loading){background:var(--color-surface-3)}.btn--ghost:disabled{color:var(--color-text-3)}.btn--destructive{background:var(--color-error);color:#fff}[data-theme=dark] .btn--destructive{color:#2a0f0c}.btn--destructive:hover:not(:disabled):not(.is-loading){background:var(--color-error-hover)}.btn--destructive:active:not(:disabled):not(.is-loading){background:var(--color-error-active)}.btn--destructive:disabled{background:var(--color-surface-3);color:var(--color-text-3)}.btn--text{background:transparent;color:var(--color-primary-text);padding-inline:var(--space-2);height:var(--control-height-sm);font-weight:var(--weight-semibold)}.btn--text:hover:not(:disabled){background:var(--color-primary-softer)}.btn--text:active:not(:disabled){background:var(--color-primary-soft)}.btn--text:disabled{color:var(--color-text-3)}.btn--sm{--btn-height: var(--control-height-sm);padding-inline:var(--space-4);font-size:var(--text-sm);border-radius:var(--radius-sm)}.btn--lg{--btn-height: 52px;padding-inline:var(--space-6);font-size:var(--text-lg);border-radius:var(--radius-lg)}.btn--block{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);border:1px solid transparent;color:var(--color-text-2);background:transparent;-webkit-tap-highlight-color:transparent;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.icon-btn:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text-1)}.icon-btn:active:not(:disabled){transform:scale(.94);background:var(--color-surface-3)}.icon-btn:disabled{color:var(--color-text-3);cursor:not-allowed}.icon-btn--sm{width:36px;height:36px;border-radius:var(--radius-sm)}.icon-btn--filled{background:var(--color-surface);border-color:var(--color-border);box-shadow:var(--shadow-soft)}.icon-btn--filled:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-border-strong)}.icon-btn--tint{background:var(--color-primary-soft);color:var(--color-primary-text)}.icon-btn--tint:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field__label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-1)}.field__label .field__optional{font-weight:var(--weight-regular);color:var(--color-text-3);font-size:var(--text-xs);margin-inline-start:var(--space-1)}.field__hint,.field__error{font-size:var(--text-xs);line-height:var(--leading-normal);display:flex;align-items:flex-start;gap:var(--space-1)}.field__hint{color:var(--color-text-3)}.field__error{color:var(--color-error-text)}.control{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:var(--control-height);padding-inline:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-1);font-size:var(--text-base);text-align:start;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.control:hover:not(:focus-within):not(.is-disabled):not(.is-error){border-color:var(--color-text-3)}.control:focus-within:not(.is-error),.control.is-focused:not(.is-error){border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.control.is-error{border-color:var(--color-error)}.control.is-error:focus-within{box-shadow:var(--shadow-focus-error)}.control.is-disabled{background:var(--color-surface-2);border-color:var(--color-border);color:var(--color-text-3);cursor:not-allowed}.control .control__icon{color:var(--color-text-3);flex-shrink:0}.control input,.control textarea{flex:1;min-width:0;border:none;background:transparent;outline:none;color:inherit;font-size:inherit;line-height:var(--leading-normal);padding-block:var(--space-3)}.control input::placeholder,.control textarea::placeholder{color:var(--color-text-3)}.control input:disabled,.control textarea:disabled{cursor:not-allowed}.search-input .control{border-radius:var(--radius-lg);background:var(--color-surface-2);border-color:transparent}.search-input .control:hover:not(:focus-within){background:var(--color-surface-3);border-color:transparent}.search-input .control:focus-within{background:var(--color-surface);border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.search-input .search-input__clear{color:var(--color-text-3)}.search-input .search-input__clear:hover{color:var(--color-text-1)}.select-wrap{position:relative}.select-wrap select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;min-height:var(--control-height);padding-inline:var(--space-3);padding-inline-end:var(--space-10);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-1);font-size:var(--text-base);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.select-wrap select:hover:not(:disabled){border-color:var(--color-text-3)}.select-wrap select:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.select-wrap select:disabled{background:var(--color-surface-2);color:var(--color-text-3);cursor:not-allowed;border-color:var(--color-border)}.select-wrap select.is-error{border-color:var(--color-error)}.select-wrap .select-wrap__chevron{position:absolute;inset-inline-end:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-3);pointer-events:none}.select-wrap select:disabled+.select-wrap__chevron{color:var(--color-text-3);opacity:.6}.amount-input .control{font-weight:var(--weight-semibold)}.amount-input input{font-size:var(--text-lg);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.amount-input .amount-input__unit{color:var(--color-text-3);font-size:var(--text-sm);font-weight:var(--weight-medium);flex-shrink:0}.date-trigger{justify-content:flex-start;width:100%;cursor:pointer}.date-trigger .date-trigger__value{flex:1;text-align:start}.date-trigger .date-trigger__placeholder{color:var(--color-text-3);font-weight:var(--weight-regular)}.textarea-wrap .control{align-items:flex-start;min-height:120px}.textarea-wrap textarea{resize:vertical;min-height:96px}.check{display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none;min-height:44px;position:relative}.check input{position:absolute;opacity:0;width:100%;height:100%;top:0;right:0;bottom:0;left:0;margin:0;cursor:pointer}.check input:disabled{cursor:not-allowed}.check .check__box{width:22px;height:22px;border-radius:var(--radius-xs);border:2px solid var(--color-border-strong);background:var(--color-surface);display:inline-flex;align-items:center;justify-content:center;color:var(--color-on-primary);flex-shrink:0;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.check:hover input:not(:disabled)~.check__box{border-color:var(--color-primary)}.check input:checked~.check__box{background:var(--color-primary);border-color:var(--color-primary)}.check input:focus-visible~.check__box{box-shadow:var(--shadow-focus);border-color:var(--color-primary)}.check input:disabled~.check__box{background:var(--color-surface-3);border-color:var(--color-border)}.check input:disabled:checked~.check__box{background:var(--color-border-strong);border-color:var(--color-border-strong)}.check input:disabled~.check__label{color:var(--color-text-3)}.check .check__label{font-size:var(--text-md);color:var(--color-text-1);line-height:var(--leading-normal)}.check .check__desc{display:block;font-size:var(--text-xs);color:var(--color-text-3)}.radio .check__box{border-radius:var(--radius-full)}.radio input:checked~.check__box{background:var(--color-surface);border-color:var(--color-primary);border-width:6px}.radio input:disabled:checked~.check__box{border-color:var(--color-border-strong)}.switch{display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none;min-height:44px;position:relative}.switch input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;cursor:pointer}.switch input:disabled{cursor:not-allowed}.switch .switch__track{width:46px;height:28px;border-radius:var(--radius-full);background:var(--color-surface-3);border:1px solid var(--color-border-strong);position:relative;flex-shrink:0;transition:background-color var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard)}.switch .switch__knob{position:absolute;top:2px;inset-inline-start:2px;width:22px;height:22px;border-radius:var(--radius-full);background:var(--color-surface);box-shadow:var(--shadow-soft);transition:inset-inline-start var(--duration-base) var(--ease-standard)}.switch input:checked~.switch__track{background:var(--color-primary);border-color:var(--color-primary)}.switch input:checked~.switch__track .switch__knob{inset-inline-start:calc(100% - 24px);background:var(--color-on-primary)}[data-theme=dark] .switch input:checked~.switch__track .switch__knob{background:var(--color-on-primary)}.switch input:focus-visible~.switch__track{box-shadow:var(--shadow-focus)}.switch input:disabled~.switch__track{opacity:.5}.switch input:disabled~.switch__label{color:var(--color-text-3)}.switch .switch__label{font-size:var(--text-md);color:var(--color-text-1)}.tabs{display:flex;gap:var(--space-6);border-bottom:1px solid var(--color-border);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs__tab{position:relative;padding:var(--space-3) var(--space-1);font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--color-text-3);white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;gap:var(--space-2);transition:color var(--duration-fast) var(--ease-standard)}.tabs__tab:hover{color:var(--color-text-1)}.tabs__tab.is-active{color:var(--color-primary-text);font-weight:var(--weight-semibold)}.tabs__tab.is-active:after{content:"";position:absolute;bottom:-1px;inset-inline:0;height:2.5px;border-radius:var(--radius-full);background:var(--color-primary)}.tabs__tab:disabled{color:var(--color-text-3);opacity:.6}.tabs__count{font-size:var(--text-xs);background:var(--color-surface-2);color:var(--color-text-2);border-radius:var(--radius-full);padding:1px 8px;font-weight:var(--weight-semibold)}.tabs__tab.is-active .tabs__count{background:var(--color-primary-soft);color:var(--color-primary-text)}.segmented{display:inline-flex;background:var(--color-surface-2);border-radius:var(--radius-md);padding:3px;gap:2px}.segmented--block{display:flex}.segmented__item{flex:1;min-height:38px;padding-inline:var(--space-4);border-radius:calc(var(--radius-md) - 3px);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-2);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.segmented__item:hover:not(.is-active){color:var(--color-text-1)}.segmented__item.is-active{background:var(--color-surface);color:var(--color-text-1);font-weight:var(--weight-semibold);box-shadow:var(--shadow-soft)}.segmented__item:disabled{color:var(--color-text-3);cursor:not-allowed}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-soft)}.card--flat{box-shadow:none}.card--interactive{cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.card--interactive:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-card)}.card--interactive:active{transform:scale(.995)}.card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.card__title{font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--color-text-1)}.card__subtitle{font-size:var(--text-xs);color:var(--color-text-3);margin-top:2px}.list{display:flex;flex-direction:column}.list-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);min-height:64px;width:100%;text-align:start;position:relative;transition:background-color var(--duration-fast) var(--ease-standard)}.list-item--interactive{cursor:pointer}.list-item--interactive:hover{background:var(--color-surface-2)}.list-item--interactive:active{background:var(--color-surface-3)}.list>.list-item:not(:last-child):after{content:"";position:absolute;bottom:0;inset-inline-start:var(--space-4);inset-inline-end:var(--space-4);height:1px;background:var(--color-border)}.list-item__icon{width:42px;height:42px;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--color-surface-2);color:var(--color-text-2)}.list-item__icon--tint{background:var(--color-primary-soft);color:var(--color-primary-text)}.list-item__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.list-item__title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-text-1)}.list-item__caption{font-size:var(--text-xs);color:var(--color-text-3)}.list-item__end{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-3);flex-shrink:0}.list-item__chevron{color:var(--color-text-3)}.divider{height:1px;background:var(--color-border);border:none;margin:0}.divider--spaced{margin-block:var(--space-4)}.divider-label{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-3);font-size:var(--text-xs);font-weight:var(--weight-medium)}.divider-label:before,.divider-label:after{content:"";flex:1;height:1px;background:var(--color-border)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary-text);font-weight:var(--weight-bold);flex-shrink:0;-webkit-user-select:none;user-select:none;overflow:hidden}.avatar--sm{width:32px;height:32px;font-size:var(--text-xs)}.avatar--md{width:42px;height:42px;font-size:var(--text-sm)}.avatar--lg{width:56px;height:56px;font-size:var(--text-lg)}.avatar img{width:100%;height:100%;object-fit:cover}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:3px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:1.5;white-space:nowrap}.badge--neutral{background:var(--color-surface-2);color:var(--color-text-2)}.badge--primary{background:var(--color-primary-soft);color:var(--color-primary-text)}.badge--success{background:var(--color-success-soft);color:var(--color-success-text)}.badge--warning{background:var(--color-warning-soft);color:var(--color-warning-text)}.badge--error{background:var(--color-error-soft);color:var(--color-error-text)}.badge--info{background:var(--color-info-soft);color:var(--color-info-text)}.badge--outline{background:transparent;border:1px solid var(--color-border-strong);color:var(--color-text-2)}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:1.5;white-space:nowrap}.status-badge__dot{width:7px;height:7px;border-radius:var(--radius-full);background:currentColor;flex-shrink:0}.status-badge--success{background:var(--color-success-soft);color:var(--color-success-text)}.status-badge--warning{background:var(--color-warning-soft);color:var(--color-warning-text)}.status-badge--error{background:var(--color-error-soft);color:var(--color-error-text)}.status-badge--info{background:var(--color-info-soft);color:var(--color-info-text)}.status-badge--neutral{background:var(--color-surface-2);color:var(--color-text-2)}.overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--backdrop);z-index:90;animation:fade-in var(--duration-base) var(--ease-standard);border:none;padding:0;cursor:default}.overlay-backdrop:focus-visible{outline:none}.sheet{position:fixed;inset-inline:0;bottom:0;z-index:100;display:flex;flex-direction:column;margin-inline:auto;max-width:var(--sheet-max);max-height:calc(100dvh - 48px);background:var(--color-surface);border:1px solid var(--color-border);border-bottom:none;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;box-shadow:var(--shadow-sheet);animation:sheet-in var(--duration-slow) var(--ease-emphasized);padding-bottom:env(safe-area-inset-bottom)}.sheet__handle{width:40px;height:4px;border-radius:var(--radius-full);background:var(--color-border-strong);margin:var(--space-3) auto 0;flex-shrink:0}.sheet__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-5) var(--space-2)}.sheet__title{font-size:var(--text-lg);font-weight:var(--weight-bold)}.sheet__body{overflow-y:auto;padding:var(--space-2) var(--space-5) var(--space-6)}.modal{position:fixed;z-index:100;inset-inline:var(--space-4);top:50%;transform:translateY(-50%);margin-inline:auto;max-width:var(--modal-max);max-height:calc(100dvh - 64px);display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-pop);animation:modal-in var(--duration-slow) var(--ease-emphasized)}.modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-2)}.modal__title{font-size:var(--text-lg);font-weight:var(--weight-bold)}.modal__desc{font-size:var(--text-sm);color:var(--color-text-2);margin-top:var(--space-1);line-height:var(--leading-normal)}.modal__body{overflow-y:auto;padding:var(--space-2) var(--space-5)}.modal__footer{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-5) var(--space-5)}.modal__footer .btn{flex:1}.drawer{position:fixed;inset-block:0;inset-inline-start:0;z-index:100;width:min(320px,86vw);background:var(--color-surface);border-inline-end:1px solid var(--color-border);box-shadow:var(--shadow-pop);animation:drawer-in var(--duration-slow) var(--ease-emphasized);display:flex;flex-direction:column;overflow-y:auto}.drawer__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.drawer__title{font-size:var(--text-lg);font-weight:var(--weight-bold)}.drawer__body{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-3)}.tip{position:relative;display:inline-flex}.tip:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(2px);background:var(--color-text-1);color:var(--color-bg);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:1.4;padding:5px 10px;border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard);z-index:120}.tip:hover:after,.tip:focus-within:after{opacity:1;transform:translate(-50%) translateY(0)}@media (hover: none){.tip:after{display:none}}.toast-region{position:fixed;z-index:130;inset-inline:var(--space-4);bottom:calc(var(--bottomnav-height) + env(safe-area-inset-bottom) + 14px);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);pointer-events:none}@media (min-width: 1024px){.toast-region{bottom:var(--space-6)}}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:var(--space-3);width:100%;max-width:420px;background:var(--toast-bg);color:var(--toast-text);border:1px solid var(--toast-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-pop);animation:toast-in var(--duration-slow) var(--ease-emphasized)}.toast__icon{flex-shrink:0;margin-top:1px}.toast--success .toast__icon{color:#4cc38a}.toast--error .toast__icon{color:#f2837b}.toast--warning .toast__icon{color:#e5b662}.toast--info .toast__icon{color:#7ab3f2}.toast--neutral .toast__icon{color:var(--toast-text)}.toast__body{flex:1;min-width:0}.toast__title{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.toast__desc{font-size:var(--text-xs);opacity:.78;margin-top:1px;line-height:var(--leading-normal)}.toast__close{flex-shrink:0;width:28px;height:28px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;color:var(--toast-text);opacity:.6;transition:opacity var(--duration-fast),background-color var(--duration-fast)}.toast__close:hover{opacity:1;background:#ffffff17}.alert{display:flex;align-items:flex-start;gap:var(--space-3);border-radius:var(--radius-lg);padding:var(--space-4);border:1px solid transparent}.alert__icon{flex-shrink:0;margin-top:1px}.alert__body{flex:1;min-width:0}.alert__title{font-size:var(--text-md);font-weight:var(--weight-semibold)}.alert__desc{font-size:var(--text-sm);margin-top:2px;line-height:var(--leading-normal)}.alert__close{flex-shrink:0;color:inherit;opacity:.55;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:opacity var(--duration-fast)}.alert__close:hover{opacity:1}.alert--info{background:var(--color-info-soft);color:var(--color-info-text)}.alert--success{background:var(--color-success-soft);color:var(--color-success-text)}.alert--warning{background:var(--color-warning-soft);color:var(--color-warning-text)}.alert--error{background:var(--color-error-soft);color:var(--color-error-text)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-10) var(--space-6);gap:var(--space-3)}.empty-state__icon{width:72px;height:72px;border-radius:var(--radius-full);background:var(--color-surface-2);color:var(--color-text-3);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-1)}.empty-state__title{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-text-1)}.empty-state__desc{font-size:var(--text-sm);color:var(--color-text-2);max-width:320px;line-height:var(--leading-relaxed)}.empty-state__actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin-top:var(--space-3);width:100%}.empty-state__actions .btn{min-width:200px}.empty-state--compact{padding:var(--space-8) var(--space-5)}.empty-state--compact .empty-state__icon{width:56px;height:56px}.empty-state--compact .empty-state__icon svg{width:24px;height:24px}.error-state .empty-state__icon{background:var(--color-error-soft);color:var(--color-error-text)}.spinner{animation:spin .8s linear infinite;color:var(--color-primary)}.spinner--neutral{color:var(--color-text-3)}.loading-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-10) var(--space-6);color:var(--color-text-3);font-size:var(--text-sm)}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-shine) 40%,var(--skeleton-base) 60%);background-size:300% 100%;animation:shimmer 1.5s var(--ease-standard) infinite}.skeleton--circle{border-radius:var(--radius-full)}.skeleton--text{height:13px}.skeleton--title{height:18px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes modal-in{0%{opacity:0;transform:translateY(calc(-50% + 14px)) scale(.98)}to{opacity:1;transform:translateY(-50%) scale(1)}}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes toast-in{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.shell{min-height:100dvh}.shell-content{min-height:100dvh;padding-bottom:calc(var(--bottomnav-height) + env(safe-area-inset-bottom) + 24px)}.page{max-width:var(--content-max);margin-inline:auto;padding:var(--space-4) var(--space-4) var(--space-6);animation:page-in var(--duration-slow) var(--ease-standard)}@media (min-width: 640px){.page{padding:var(--space-6) var(--space-6) var(--space-8)}}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page__section{margin-top:var(--space-6)}.page__section:first-child{margin-top:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.section-head h2{font-size:var(--text-lg);font-weight:var(--weight-bold)}.appbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:var(--space-2);min-height:var(--header-height);padding:var(--space-2) var(--space-4);padding-top:calc(var(--space-2) + env(safe-area-inset-top));background:color-mix(in srgb,var(--color-bg) 86%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.appbar__titles{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.appbar__title{font-size:var(--text-xl);font-weight:var(--weight-heavy);line-height:var(--leading-tight)}.appbar__subtitle{font-size:var(--text-xs);color:var(--color-text-3);margin-top:1px}.appbar__actions{display:flex;align-items:center;gap:var(--space-2)}@media (min-width: 640px){.appbar{padding-inline:var(--space-6)}}.bottomnav{position:fixed;bottom:0;inset-inline:0;z-index:60;display:flex;align-items:stretch;height:calc(var(--bottomnav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb,var(--color-surface) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--color-border)}.bottomnav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--color-text-3);-webkit-tap-highlight-color:transparent;transition:color var(--duration-fast) var(--ease-standard);position:relative;padding-block:var(--space-1)}.bottomnav__item:hover{color:var(--color-text-2)}.bottomnav__icon{display:flex;align-items:center;justify-content:center;width:52px;height:30px;border-radius:var(--radius-full);transition:background-color var(--duration-base) var(--ease-standard)}.bottomnav__label{font-size:var(--text-2xs);font-weight:var(--weight-semibold);line-height:1}.bottomnav__item.is-active{color:var(--color-primary-text)}.bottomnav__item.is-active .bottomnav__icon{background:var(--color-primary-soft);color:var(--color-primary-text)}.sidebar{display:none}@media (min-width: 1024px){.bottomnav{display:none}.shell-content{padding-bottom:var(--space-8);margin-inline-start:var(--sidebar-width)}.sidebar{display:flex;flex-direction:column;position:fixed;inset-block:0;inset-inline-start:0;z-index:70;width:var(--sidebar-width);padding:var(--space-5) var(--space-3);background:var(--color-surface);border-inline-end:1px solid var(--color-border)}.appbar{position:sticky}.sidebar__brand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-5)}.sidebar__brand-name{font-size:var(--text-xl);font-weight:var(--weight-heavy)}.sidebar__brand-tag{font-size:var(--text-2xs);color:var(--color-text-3)}.sidebar__nav{display:flex;flex-direction:column;gap:var(--space-1)}.sidebar__item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);min-height:46px;border-radius:var(--radius-md);color:var(--color-text-2);font-size:var(--text-md);font-weight:var(--weight-medium);position:relative;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.sidebar__item:hover{background:var(--color-surface-2);color:var(--color-text-1)}.sidebar__item.is-active{background:var(--color-primary-soft);color:var(--color-primary-text);font-weight:var(--weight-semibold)}.sidebar__item.is-active:before{content:"";position:absolute;inset-inline-start:-12px;top:50%;transform:translateY(-50%);width:3.5px;height:22px;border-radius:var(--radius-full);background:var(--color-primary)}.sidebar__footer{margin-top:auto;display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.sidebar__theme-row{display:flex;align-items:center;justify-content:space-between;padding-inline:var(--space-3)}.sidebar__theme-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-2)}.sidebar__profile{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard);text-align:start;width:100%}.sidebar__profile:hover{background:var(--color-surface-2)}.sidebar__profile-name{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.sidebar__profile-caption{font-size:var(--text-2xs);color:var(--color-text-3)}}.logo-mark{width:38px;height:38px;border-radius:var(--radius-md);background:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}[data-theme=dark] .logo-mark{background:var(--color-primary-soft)}.logo-mark svg{color:var(--color-on-primary)}[data-theme=dark] .logo-mark svg{color:var(--color-primary-text)}.home-greeting{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}.home-greeting__texts{flex:1;min-width:0}.home-greeting__hello{font-size:var(--text-2xl);font-weight:var(--weight-heavy);line-height:var(--leading-tight)}.home-greeting__date{font-size:var(--text-sm);color:var(--color-text-3);margin-top:var(--space-1)}.balance-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-card)}.balance-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.balance-card__label{font-size:var(--text-sm);color:var(--color-text-2);display:flex;align-items:center;gap:var(--space-2)}.balance-card__amount{font-size:var(--text-3xl);font-weight:var(--weight-heavy);line-height:var(--leading-tight);margin-top:var(--space-2);font-variant-numeric:tabular-nums}.balance-card__amount .amount-unit{font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--color-text-3);margin-inline-start:var(--space-1)}.balance-card__delta{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-semibold);margin-top:var(--space-3);padding:3px 10px;border-radius:var(--radius-full);background:var(--color-success-soft);color:var(--color-success-text)}.balance-card__spark{margin-top:var(--space-4);color:var(--color-primary)}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}@media (min-width: 720px){.stat-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);box-shadow:var(--shadow-soft)}.stat-card__head{display:flex;align-items:center;gap:var(--space-2)}.stat-card__chip{width:34px;height:34px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.stat-card__chip--income{background:var(--fin-income-soft);color:var(--fin-income-text)}.stat-card__chip--expense{background:var(--fin-expense-soft);color:var(--fin-expense-text)}.stat-card__chip--receivable{background:var(--fin-receivable-soft);color:var(--fin-receivable-text)}.stat-card__chip--debt{background:var(--fin-debt-soft);color:var(--fin-debt-text)}.stat-card__label{font-size:var(--text-xs);color:var(--color-text-3);font-weight:var(--weight-medium)}.stat-card__value{font-size:var(--text-lg);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;line-height:var(--leading-tight)}.stat-card__value .amount-unit{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-3)}.stat-card__caption{font-size:var(--text-2xs);color:var(--color-text-3)}.qa-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}@media (max-width: 480px){.qa-grid{grid-template-columns:repeat(2,1fr)}}.qa{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:center;-webkit-tap-highlight-color:transparent;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.qa:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-card)}.qa:active{transform:scale(.97)}.qa__icon{width:46px;height:46px;border-radius:var(--radius-md);background:var(--color-primary-softer);color:var(--color-primary-text);display:flex;align-items:center;justify-content:center}.qa__label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-1);line-height:var(--leading-tight)}.profile-card{display:flex;align-items:center;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-soft)}.profile-card__body{flex:1;min-width:0}.profile-card__name{font-size:var(--text-lg);font-weight:var(--weight-bold)}.profile-card__caption{font-size:var(--text-xs);color:var(--color-text-3);margin-top:2px}.more-group{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-soft)}.more-group+.more-group{margin-top:var(--space-4)}.ds-section{margin-bottom:var(--space-8)}.ds-section>h2{font-size:var(--text-lg);margin-bottom:var(--space-2)}.ds-section>p.ds-note{font-size:var(--text-sm);color:var(--color-text-3);margin-bottom:var(--space-4)}.ds-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5)}.ds-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.ds-row+.ds-row{margin-top:var(--space-4)}.ds-col{display:flex;flex-direction:column;gap:var(--space-3)}.ds-label{font-size:var(--text-xs);color:var(--color-text-3);font-weight:var(--weight-semibold);margin-bottom:var(--space-2)}.ds-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3)}.ds-swatch{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.ds-swatch__chip{height:52px}.ds-swatch__meta{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--color-text-2);display:flex;flex-direction:column;gap:1px}.ds-swatch__meta code{font-size:var(--text-2xs);color:var(--color-text-3);direction:ltr;text-align:end}.ds-type-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-4);padding-block:var(--space-2)}.ds-type-row+.ds-type-row{border-top:1px solid var(--color-border)}.ds-type-name{font-size:var(--text-xs);color:var(--color-text-3);min-width:96px}.grid-2{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media (min-width: 640px){.grid-2{grid-template-columns:repeat(2,1fr)}}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.party-toolbar{display:flex;align-items:center;gap:var(--space-2)}.party-toolbar__search{flex:1}.party-toolbar__btns{display:flex;gap:var(--space-2);flex-shrink:0}.party-controls-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.control-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding-inline:12px;border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary-text);font-size:var(--text-xs);font-weight:var(--weight-semibold);transition:background-color var(--duration-fast) var(--ease-standard)}.control-chip:hover{background:var(--color-primary-soft);filter:brightness(.97)}.party-count{font-size:var(--text-xs);color:var(--color-text-3);margin-top:var(--space-4);margin-bottom:var(--space-2)}.party-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media (min-width: 720px){.party-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.party-card{display:flex;align-items:center;gap:var(--space-3);width:100%;text-align:start;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);-webkit-tap-highlight-color:transparent;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.party-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-card)}.party-card:active{transform:scale(.995)}.party-card--skeleton{pointer-events:none}.party-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.party-card__top{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.party-card__name{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-text-1)}.party-card__meta{font-size:var(--text-xs);color:var(--color-text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.party-card__balance{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex-shrink:0}.party-card__amount{font-size:var(--text-sm);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;white-space:nowrap}.party-card__balance-label{font-size:var(--text-2xs);color:var(--color-text-3)}.party-card__balance--debtor .party-card__amount{color:var(--fin-receivable-text)}.party-card__balance--creditor .party-card__amount{color:var(--fin-debt-text)}.party-card__balance--settled .party-card__amount{color:var(--fin-paid)}.status-badge--sm{padding:2px 8px;font-size:var(--text-2xs)}.party-profile{display:flex;align-items:flex-start;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-soft)}.party-profile__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.party-profile__row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.party-profile__name{font-size:var(--text-xl);font-weight:var(--weight-heavy)}.party-profile__meta{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--color-text-3);line-height:var(--leading-normal)}.party-profile__meta svg{flex-shrink:0}.party-profile__actions{display:flex;flex-direction:column;gap:var(--space-2);flex-shrink:0}@media (max-width: 480px){.party-profile{flex-wrap:wrap}.party-profile__actions{flex-direction:row;width:100%}.party-profile__actions .btn,.party-profile__actions a.btn{flex:1;justify-content:center}}.balance-hero{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:var(--space-1)}.balance-hero__label{font-size:var(--text-sm);color:var(--color-text-2);font-weight:var(--weight-medium)}.balance-hero__amount{font-size:var(--text-3xl);font-weight:var(--weight-heavy);line-height:var(--leading-tight);font-variant-numeric:tabular-nums}.balance-hero__amount .amount-unit{font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--color-text-3);margin-inline-start:var(--space-1)}.balance-hero__hint{font-size:var(--text-xs);color:var(--color-text-3)}.fin-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2);margin-top:var(--space-3)}@media (min-width: 720px){.fin-tiles{grid-template-columns:repeat(3,1fr)}}.fin-tile{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:2px}.fin-tile__label{font-size:var(--text-2xs);color:var(--color-text-3);font-weight:var(--weight-medium)}.fin-tile__value{font-size:var(--text-base);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;line-height:var(--leading-tight)}.fin-tile__unit{font-size:var(--text-2xs);color:var(--color-text-3)}.fin-tile__badge{position:absolute;top:var(--space-2);inset-inline-end:var(--space-2)}.fin-tile--info .fin-tile__value{color:var(--fin-receivable-text)}.fin-tile--warning .fin-tile__value{color:var(--fin-debt-text)}.fin-tile--success .fin-tile__value{color:var(--fin-income-text)}.fin-tile--error .fin-tile__value{color:var(--fin-expense-text)}.fin-note{font-size:var(--text-2xs);color:var(--color-text-3);margin-top:var(--space-2)}.action-stack{display:flex;flex-direction:column;gap:var(--space-3)}@media (min-width: 720px){.action-stack{flex-direction:row}.action-stack .btn{flex:1}}.remind-empty{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-3);font-size:var(--text-sm);padding-block:var(--space-3)}.timeline{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-2) var(--space-4);box-shadow:var(--shadow-soft)}.timeline:before{content:"";position:absolute;top:var(--space-5);bottom:var(--space-5);inset-inline-start:35px;width:2px;background:var(--color-border);border-radius:var(--radius-full)}.t-item{position:relative;display:flex;align-items:flex-start;gap:var(--space-3);padding-block:var(--space-3)}.t-item+.t-item{border-top:1px solid var(--color-border)}.t-item__icon{width:38px;height:38px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1}.t-item__icon--received{background:var(--color-success-soft);color:var(--color-success-text)}.t-item__icon--paid{background:var(--color-error-soft);color:var(--color-error-text)}.t-item__icon--invoice{background:var(--color-info-soft);color:var(--color-info-text)}.t-item__icon--neutral,.t-item__icon--note{background:var(--color-surface-2);color:var(--color-text-2)}.t-item__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.t-item__title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-1)}.t-item__desc{font-size:var(--text-xs);color:var(--color-text-2);line-height:var(--leading-normal);overflow-wrap:anywhere}.t-item__date{font-size:var(--text-2xs);color:var(--color-text-3)}.t-item__amount{display:flex;flex-direction:column;align-items:flex-start;gap:1px;flex-shrink:0}.t-item__value{font-size:var(--text-sm);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--color-text-1)}.t-item__value--received{color:var(--fin-income-text)}.t-item__value--paid{color:var(--fin-expense-text)}.t-item__value--invoice{color:var(--color-text-1)}.t-item__unit{font-size:var(--text-2xs);color:var(--color-text-3)}.t-item__actions{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.danger-row .list-item__title,.danger-row .list-item__icon{color:var(--color-error-text)}.danger-row .list-item__icon{background:var(--color-error-soft)}.form-page{padding-bottom:240px}.form-card{padding:var(--space-5)}@media (min-width: 640px){.form-card{padding:var(--space-6)}}.sticky-footer{position:fixed;inset-inline:0;bottom:0;z-index:55;background:color-mix(in srgb,var(--color-surface) 94%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--color-border);padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-3) + var(--bottomnav-height) + env(safe-area-inset-bottom))}@media (min-width: 1024px){.sticky-footer{inset-inline-start:var(--sidebar-width);padding-bottom:var(--space-4)}}.sticky-footer__inner{max-width:560px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-2)}.sheet-section{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding-inline:var(--space-4);border-radius:var(--radius-full);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-2);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.chip:hover{border-color:var(--color-text-3)}.chip.is-active{background:var(--color-primary-soft);border-color:transparent;color:var(--color-primary-text);font-weight:var(--weight-semibold)}.money-banner{display:flex;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.money-banner--received{background:var(--color-success-soft);color:var(--color-success-text)}.money-banner--paid{background:var(--color-error-soft);color:var(--color-error-text)}.attach-row{display:flex;align-items:center;gap:var(--space-2);min-height:48px;padding-inline:var(--space-4);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-2);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.attach-row:hover{background:var(--color-surface-2);border-color:var(--color-text-3)}.contacts-note{display:flex;align-items:center;gap:6px;font-size:var(--text-2xs);color:var(--color-text-3);margin-top:var(--space-4);line-height:var(--leading-normal)}.contacts-empty{text-align:center;color:var(--color-text-3);font-size:var(--text-sm);padding:var(--space-6) 0}.item-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media (min-width: 720px){.item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.item-thumb{width:56px;height:56px;border-radius:var(--radius-md);object-fit:cover;flex-shrink:0;border:1px solid var(--color-border);background:var(--color-surface-2)}.item-thumb--lg{width:72px;height:72px}.item-thumb--placeholder{display:flex;align-items:center;justify-content:center;color:var(--color-text-3)}.type-switch{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2);margin-bottom:var(--space-4)}.type-switch__option{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:52px;border-radius:var(--radius-md);border:1.5px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-2);font-size:var(--text-base);font-weight:var(--weight-semibold);transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.type-switch__option:hover{border-color:var(--color-text-3)}.type-switch__option.is-active{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-text)}.type-pick{display:flex;align-items:center;gap:var(--space-3);width:100%;text-align:start;padding:var(--space-4);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.type-pick:hover{border-color:var(--color-border-strong);background:var(--color-surface-3)}.type-pick:active{transform:scale(.99)}.type-pick__icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.type-pick__icon--product{background:var(--color-primary-soft);color:var(--color-primary-text)}.type-pick__icon--service{background:var(--color-info-soft);color:var(--color-info-text)}.type-pick__body{display:flex;flex-direction:column;gap:2px;min-width:0}.type-pick__title{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-text-1)}.type-pick__caption{font-size:var(--text-xs);color:var(--color-text-3);line-height:var(--leading-normal)}.service-callout{display:flex;align-items:flex-start;gap:var(--space-2);background:var(--color-info-soft);color:var(--color-info-text);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-xs);line-height:var(--leading-normal);margin-bottom:var(--space-4)}.service-callout svg{flex-shrink:0;margin-top:2px}.barcode-row{display:flex;gap:var(--space-2);align-items:stretch}.barcode-row .control{flex:1}.scan-frame{position:relative;height:150px;border-radius:var(--radius-lg);border:1.5px dashed var(--color-border-strong);background:var(--color-surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-text-3);overflow:hidden}.scan-frame__line{position:absolute;inset-inline:var(--space-6);height:2px;border-radius:var(--radius-full);background:var(--color-primary);opacity:.65;animation:scan-move 2.2s var(--ease-standard) infinite alternate}.scan-frame__hint{font-size:var(--text-2xs);max-width:260px;text-align:center;line-height:var(--leading-normal)}@keyframes scan-move{0%{top:24px}to{top:calc(100% - 26px)}}.spec-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-soft)}.spec-list__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);min-height:52px}.spec-list__row+.spec-list__row{border-top:1px solid var(--color-border)}.spec-list__label{font-size:var(--text-sm);color:var(--color-text-3);flex-shrink:0}.spec-list__value{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-1);text-align:end;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.spec-list__ltr{direction:ltr;unicode-bidi:embed;letter-spacing:.5px}.spec-list__empty{color:var(--color-text-3);font-weight:var(--weight-regular)}.stock-summary{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media (min-width: 720px){.stock-summary{grid-template-columns:1.2fr 1fr;align-items:stretch}}.stock-summary__hero{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:var(--space-1)}.stock-summary__amount{font-size:var(--text-3xl);font-weight:var(--weight-heavy);line-height:var(--leading-tight);font-variant-numeric:tabular-nums}.stock-summary__amount .amount-unit{font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--color-text-3);margin-inline-start:var(--space-1)}.stock-summary__warn{font-size:var(--text-xs);color:var(--color-warning-text);font-weight:var(--weight-semibold)}.t-item__icon--entry{background:var(--color-success-soft);color:var(--color-success-text)}.t-item__icon--exit{background:var(--color-warning-soft);color:var(--color-warning-text)}.image-picker{display:flex;align-items:flex-start;gap:var(--space-4)}.image-picker__tile{width:96px;height:96px;border-radius:var(--radius-lg);border:1.5px dashed var(--color-border-strong);background:var(--color-surface-2);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;transition:border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.image-picker__tile:hover{border-color:var(--color-primary);background:var(--color-primary-softer)}.image-picker__tile--filled{border-style:solid;border-color:var(--color-border)}.image-picker__tile img{width:100%;height:100%;object-fit:cover}.image-picker__placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);color:var(--color-text-3);font-size:var(--text-2xs);font-weight:var(--weight-medium)}.image-picker__side{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.image-picker__hint{font-size:var(--text-xs);color:var(--color-text-3);line-height:var(--leading-normal)}.image-picker__actions{display:flex;gap:var(--space-1)}.image-picker__remove{color:var(--color-error-text)}.image-picker__remove:hover{background:var(--color-error-soft);color:var(--color-error-text)}.online-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4)}.online-row .switch{min-height:52px}.online-row__status{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-success-text);flex-shrink:0}.cat-add{display:flex;gap:var(--space-2);align-items:flex-start}.cat-add .control{flex:1}.chip--sm{min-height:34px;padding-inline:var(--space-3);font-size:var(--text-xs)}.movement-note{font-size:var(--text-2xs);color:var(--color-text-3);margin-top:var(--space-2);line-height:var(--leading-normal)}.badge--sm{padding:1px 8px;font-size:var(--text-2xs)}.inv-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media (min-width: 720px){.inv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.inv-card{display:flex;flex-direction:column;gap:var(--space-1);text-align:start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-card);transition:border-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.inv-card:hover{border-color:var(--color-border-strong)}.inv-card:active{transform:scale(.995)}.inv-card__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.inv-card__type{font-size:var(--text-2xs);font-weight:var(--weight-bold);padding:2px 10px;border-radius:var(--radius-full)}.inv-card__type--sell{background:var(--color-success-soft);color:var(--color-success-text)}.inv-card__type--buy{background:var(--color-info-soft);color:var(--color-info-text)}.inv-card__type--draft{background:var(--color-surface-3);color:var(--color-text-2)}.inv-card__number{font-size:var(--text-xs);color:var(--color-text-3);font-variant-numeric:tabular-nums}.inv-card__party{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-text-1)}.inv-card__date{font-size:var(--text-xs);color:var(--color-text-3)}.inv-card__total{font-size:var(--text-lg);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums;margin-top:var(--space-1)}.inv-card__badges{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-2)}.inv-card__badges .badge{display:inline-flex;align-items:center;gap:4px}.inv-editor{display:grid;grid-template-columns:1fr;gap:var(--space-4);align-items:start}.inv-editor__main{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.inv-editor__side{display:none}@media (min-width: 1024px){.inv-editor{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr)}.inv-editor__side{display:block;position:sticky;top:calc(var(--header-height, 60px) + var(--space-4))}}.inv-type-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.inv-type-switch__option{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;border-radius:var(--radius-md);border:1.5px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.inv-type-switch__option:hover{border-color:var(--color-text-3)}.inv-type-switch__option.is-active{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-text)}.party-pick{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:52px;padding:var(--space-2) var(--space-4);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-standard)}.party-pick:hover{border-color:var(--color-border-strong)}.party-pick svg{color:var(--color-text-3);flex-shrink:0}.party-pick__name{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-1)}.party-pick__meta{margin-inline-start:auto;font-size:var(--text-xs);color:var(--color-text-3)}.inv-lines{display:flex;flex-direction:column;gap:var(--space-3)}.inv-lines__empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-6) var(--space-4);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-lg);color:var(--color-text-3);font-size:var(--text-sm);font-weight:var(--weight-medium);background:var(--color-surface-2);transition:border-color var(--duration-fast) var(--ease-standard)}.inv-lines__empty:hover{border-color:var(--color-primary);color:var(--color-primary-text)}.inv-line{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4) var(--space-4);background:var(--color-surface-2)}.inv-line__head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.inv-line__title{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.inv-line__name{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text-1)}.inv-line__meta{font-size:var(--text-xs);color:var(--color-text-3)}.inv-line__remove{color:var(--color-error-text)}.inv-line__grid{display:grid;grid-template-columns:auto 1fr 1fr;gap:var(--space-3);align-items:end}@media (max-width: 560px){.inv-line__grid{grid-template-columns:1fr 1fr}.inv-line__grid>:first-child{grid-column:1 / -1}}.inv-line__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-2)}.inv-line__warning{font-size:var(--text-xs);color:var(--color-error-text);font-weight:var(--weight-semibold)}.inv-line__total{font-size:var(--text-sm);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.qty-stepper{display:flex;align-items:center;gap:2px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);height:48px;padding-inline:2px}.qty-stepper__input{width:64px;text-align:center;border:none;background:transparent;color:var(--color-text-1);font:inherit;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.qty-stepper__input:focus{outline:none}.tax-rate{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-2)}.tax-rate__input{width:56px;min-height:40px;text-align:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-1);font:inherit;font-weight:var(--weight-semibold)}.tax-rate__input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.split-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.split-head__label{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text-1)}.extra-cost{display:flex;gap:var(--space-2);align-items:center}.extra-cost>:first-child{flex:1.4}.extra-cost>:nth-child(2){flex:1}.inv-muted{font-size:var(--text-xs);color:var(--color-text-3);line-height:var(--leading-normal)}.settlement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}@media (min-width: 720px){.settlement-grid{grid-template-columns:repeat(4,1fr)}}.settlement-option{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;border-radius:var(--radius-md);border:1.5px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.settlement-option:hover{border-color:var(--color-text-3)}.settlement-option.is-active{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-text)}.paid-remaining{display:flex;flex-direction:column;gap:2px;align-items:flex-start;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--color-text-3)}.paid-remaining strong{font-size:var(--text-base);color:var(--color-text-1);font-variant-numeric:tabular-nums}.paid-remaining small{font-size:var(--text-2xs)}.more-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text-1);min-height:40px}.more-toggle__icon{transition:transform var(--duration-fast) var(--ease-standard)}.more-toggle__icon.is-open{transform:rotate(180deg)}.sticky-footer__inner--split{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.sticky-total{display:flex;flex-direction:column;gap:2px;font-size:var(--text-xs);color:var(--color-text-3)}.sticky-total strong{font-size:var(--text-xl);font-weight:var(--weight-heavy);color:var(--color-text-1);font-variant-numeric:tabular-nums}.sticky-total__actions{display:flex;gap:var(--space-2);align-items:center}.picker-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) 0;color:var(--color-text-3);font-size:var(--text-sm)}.picker-price{font-size:var(--text-xs);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-text-1);white-space:nowrap}.picker-group-label{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-text-3);margin-bottom:var(--space-1)}.picker-cat-select{max-width:150px;min-height:34px;font-size:var(--text-xs)}.is-picked .list-item__title{color:var(--color-primary-text);font-weight:var(--weight-bold)}.is-picked{background:var(--color-primary-softer);border-radius:var(--radius-md)}.is-disabled-row{opacity:.55}.sheet-label{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-text-3);margin-bottom:var(--space-2)}.inv-totals{display:flex;flex-direction:column}.inv-totals__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0;font-size:var(--text-sm);color:var(--color-text-2);font-variant-numeric:tabular-nums}.inv-totals__row--minus span:last-child{color:var(--color-error-text)}.inv-totals__grand{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-2);padding-top:var(--space-3);border-top:1.5px solid var(--color-border-strong);font-size:var(--text-base);font-weight:var(--weight-heavy);color:var(--color-text-1);font-variant-numeric:tabular-nums}.inv-doc{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:var(--space-4)}.inv-doc__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.inv-doc__brand-col{display:flex;align-items:center;gap:var(--space-3)}.inv-doc__logo{width:44px;height:44px;object-fit:contain;border-radius:var(--radius-md);border:1px solid var(--color-border);background:#fff}.inv-doc__business{display:flex;flex-wrap:wrap;gap:4px var(--space-4);font-size:var(--text-xs);color:var(--color-text-3)}.inv-doc__footer-text{font-size:var(--text-xs);color:var(--color-text-2);text-align:center;white-space:pre-line;border-top:1px dashed var(--color-border);padding-top:var(--space-3)}.inv-doc--formal{border-width:2px}.inv-doc--formal .inv-doc__head{border-bottom:2px solid var(--color-primary-text);padding-bottom:var(--space-3)}.inv-doc--formal .inv-doc__title{font-size:var(--text-lg)}.inv-doc__brand{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-primary-text)}.inv-doc__title{font-size:var(--text-xl);font-weight:var(--weight-heavy)}.inv-doc__meta{display:flex;flex-direction:column;gap:2px;align-items:flex-start;font-size:var(--text-xs);color:var(--color-text-3)}.inv-doc__party{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:var(--space-3) 0}.inv-doc__party-name{font-size:var(--text-base);font-weight:var(--weight-bold)}.inv-doc__party-meta{display:flex;align-items:center;gap:4px;font-size:var(--text-xs);color:var(--color-text-3);margin-top:2px}.inv-doc__foot{display:flex;flex-direction:column;gap:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-3)}.inv-doc__foot-block p{font-size:var(--text-sm);color:var(--color-text-1);display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:2px}.inv-items{display:flex;flex-direction:column}.inv-items__head,.inv-items__row{display:grid;grid-template-columns:minmax(0,2.2fr) .9fr 1fr .9fr 1fr;gap:var(--space-2);align-items:center;padding:var(--space-2) 0;font-size:var(--text-xs);font-variant-numeric:tabular-nums}.inv-items__head{color:var(--color-text-3);font-weight:var(--weight-bold);border-bottom:1px solid var(--color-border)}.inv-items__row{color:var(--color-text-1);font-size:var(--text-sm)}.inv-items__row+.inv-items__row{border-top:1px solid var(--color-border)}.inv-items__name{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--weight-semibold);min-width:0;overflow-wrap:anywhere}.inv-items__total{font-weight:var(--weight-bold)}@media (max-width: 560px){.inv-items__head,.inv-items__row{grid-template-columns:minmax(0,2fr) .8fr 1fr 1fr}.inv-items__head span:nth-child(4),.inv-items__row span:nth-child(4){display:none}}@media print{body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{position:absolute;inset-inline:0;top:0;padding:0}.inv-doc{--color-surface: #ffffff;--color-surface-2: #f7f7f7;--color-text-1: #17201d;--color-text-2: #3d4a46;--color-text-3: #61706b;--color-border: #d8dcda;background:#fff;color:#17201d;border:none;box-shadow:none;border-radius:0}.inv-doc__logo{border:none}}.ch-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}@media (min-width: 720px){.ch-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}.ch-summary__tile{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border)}.ch-summary__tile strong{font-size:var(--text-lg);font-weight:700;color:var(--color-text-1)}.ch-summary__tile>span:last-child{font-size:var(--text-xs);color:var(--color-text-3)}.ch-summary__label{font-size:var(--text-xs);color:var(--color-text-2)}.ch-summary__tile--success strong{color:var(--fin-income-text)}.ch-summary__tile--warning strong{color:var(--color-warning-text)}.ch-summary__tile--error strong{color:var(--fin-expense-text)}.ch-hero{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-border)}.ch-hero__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.ch-hero__label{font-size:var(--text-sm);color:var(--color-text-2)}.ch-hero__amount{font-size:var(--text-2xl);font-weight:800;color:var(--color-text-1)}.ch-hero__note{font-size:var(--text-sm);color:var(--color-text-2)}.ch-due--overdue{color:var(--color-error-text)!important;font-weight:600}.ch-due--soon{color:var(--color-warning-text)!important;font-weight:600}.ch-reminder{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-warning-soft);border:1px solid var(--color-border)}.ch-reminder__title{display:flex;align-items:center;gap:var(--space-2);font-weight:700;font-size:var(--text-sm);color:var(--color-warning-text)}.ch-reminder__desc{font-size:var(--text-sm);color:var(--color-text-2)}.ch-reminder__note{font-size:var(--text-xs);color:var(--color-text-3)}.attachment{display:flex;flex-direction:column;gap:var(--space-2)}.attachment__preview{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--color-surface-2);border:1px solid var(--color-border)}.attachment__thumb{width:64px;height:64px;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-border);flex-shrink:0}.attachment__file-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-md);background:var(--color-surface-3);color:var(--color-text-2);flex-shrink:0}.attachment__meta{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.attachment__name{font-size:var(--text-sm);font-weight:600;color:var(--color-text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment__caption{font-size:var(--text-xs);color:var(--color-text-3)}.attachment__actions{display:flex;gap:var(--space-1);flex-shrink:0}.attachment__empty{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-4);border-radius:var(--radius-lg);border:1.5px dashed var(--color-border-strong);background:transparent;color:var(--color-text-2);font-size:var(--text-sm);cursor:pointer;transition:border-color .15s ease,color .15s ease}.attachment__empty:hover{border-color:var(--color-primary);color:var(--color-primary-text)}.attachment__hint{font-size:var(--text-xs);color:var(--color-text-3)}.picker-row{display:flex;align-items:center;gap:var(--space-2)}.picker-trigger{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-1);font-size:var(--text-sm);text-align:right;cursor:pointer;transition:border-color .15s ease}.picker-trigger:hover{border-color:var(--color-border-strong)}.picker-trigger.is-error{border-color:var(--color-error)}.picker-trigger__placeholder{color:var(--color-text-3)}.fin-income-text{color:var(--fin-income-text)}.fin-expense-text{color:var(--fin-expense-text)}.group-heading{margin:0 0 var(--space-2);font-size:var(--text-xs);font-weight:700;color:var(--color-text-3);letter-spacing:.01em}.detail-description{margin:0;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-text-1);white-space:pre-wrap}.activity-chart{display:flex;flex-direction:column;gap:var(--space-3)}.activity-chart__legend{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.activity-chart__legend-item{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-2)}.activity-chart__dot{width:10px;height:10px;border-radius:var(--radius-full)}.activity-chart__dot--income{background:var(--fin-income)}.activity-chart__dot--expense{background:var(--fin-expense)}.activity-chart__range{margin-inline-start:auto;font-size:var(--text-xs);color:var(--color-text-3)}.activity-chart__scroll{overflow-x:auto;padding-bottom:var(--space-1)}.activity-chart__empty{margin:0;padding:var(--space-4) 0;text-align:center;font-size:var(--text-sm);color:var(--color-text-3)}.activity-chart__caption{margin:0;font-size:var(--text-xs);color:var(--color-text-3)}.home-cheque-banner{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-warning-strong);background:var(--color-warning-soft);text-align:right;cursor:pointer;transition:box-shadow .15s ease}.home-cheque-banner:hover{box-shadow:var(--shadow-card)}.home-cheque-banner__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-warning-strong);color:var(--color-surface);flex-shrink:0}.home-cheque-banner__body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.home-cheque-banner__body strong{font-size:var(--text-sm);font-weight:700;color:var(--color-warning-text)}.home-cheque-banner__body span{font-size:var(--text-xs);color:var(--color-text-2)}.home-cheque-banner__hint{font-size:var(--text-xs);font-weight:700;color:var(--color-warning-text);flex-shrink:0}:root{--chart-1: #0e7561;--chart-2: #1e6bc4;--chart-3: #d97706;--chart-4: #cc3a31;--chart-5: #7c5cd6;--chart-6: #64748b}[data-theme=dark]{--chart-1: #2ebb96;--chart-2: #6ea8f0;--chart-3: #e0a94e;--chart-4: #ef6f66;--chart-5: #a78bfa;--chart-6: #94a3b8}.range-picker{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.range-picker__chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-2);font-size:var(--text-sm);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.range-picker__chip:hover{border-color:var(--color-border-strong)}.range-picker__chip:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.range-picker__chip.is-active{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-text);font-weight:700}.range-custom{display:flex;flex-direction:column;gap:var(--space-3)}.range-custom__hint{margin:0;font-size:var(--text-xs);color:var(--color-text-3)}.range-custom__actions{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}@media (min-width: 720px){.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.metric-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-4);padding-inline-start:calc(var(--space-4) + 4px);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);text-align:right;overflow:hidden;transition:box-shadow .15s ease,transform .15s ease}.metric-card--static{cursor:default}.metric-card:not(.metric-card--static):hover{box-shadow:var(--shadow-card)}.metric-card:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.metric-card__bar{position:absolute;inset-inline-start:0;top:0;bottom:0;width:4px}.metric-card__bar--primary{background:var(--color-primary)}.metric-card__bar--income{background:var(--fin-income)}.metric-card__bar--expense{background:var(--fin-expense)}.metric-card__bar--receivable{background:var(--fin-receivable)}.metric-card__bar--debt{background:var(--fin-debt)}.metric-card__bar--neutral{background:var(--color-border-strong)}.metric-card__label{font-size:var(--text-xs);color:var(--color-text-2)}.metric-card__value{font-size:var(--text-lg);font-weight:800;color:var(--color-text-1)}.metric-card__caption{font-size:var(--text-xs);color:var(--color-text-3)}.kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}@media (min-width: 720px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.kpi-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);text-align:right}button.kpi-card{cursor:pointer;transition:box-shadow .15s ease}button.kpi-card:hover{box-shadow:var(--shadow-card)}.kpi-card:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.kpi-card__label{font-size:var(--text-xs);color:var(--color-text-2)}.kpi-card__value{font-size:var(--text-lg);font-weight:800;color:var(--color-text-1);overflow-wrap:anywhere}.kpi-card__caption{font-size:var(--text-xs);color:var(--color-text-3)}.kpi-card--lead .kpi-card__value{color:var(--color-primary-text)}.kpi-card--income .kpi-card__value{color:var(--fin-income-text)}.kpi-card--expense .kpi-card__value{color:var(--fin-expense-text)}.kpi-card--receivable .kpi-card__value{color:var(--fin-receivable-text)}.kpi-card--debt .kpi-card__value{color:var(--fin-debt-text)}.chart-grid{display:flex;flex-direction:column;gap:var(--space-4)}@media (min-width: 960px){.chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid>:first-child{grid-column:1 / -1}}.chart-card{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border)}.chart-card__head{margin-bottom:var(--space-3)}.chart-card__title{margin:0;font-size:var(--text-sm);font-weight:800;color:var(--color-text-1)}.chart-card__caption{margin:2px 0 0;font-size:var(--text-xs);color:var(--color-text-3)}.chart-scroll{overflow-x:auto;padding-bottom:var(--space-1)}.chart-skeleton{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border)}.column-chart__axis{stroke:var(--color-border-strong);stroke-width:1}.column-chart__grid{stroke:var(--color-border);stroke-width:1;stroke-dasharray:3 4}.column-chart__tick,.column-chart__label{fill:var(--color-text-3);font-size:9px}.column-chart__bar:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.chart-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-2)}.chart-legend__item{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-2)}.chart-legend__swatch{width:10px;height:10px;border-radius:var(--radius-full);display:inline-block}.bar-list{display:flex;flex-direction:column;gap:var(--space-2)}.bar-list__row{display:grid;grid-template-columns:minmax(72px,1.2fr) 2fr minmax(84px,auto);align-items:center;gap:var(--space-2)}.bar-list__label{font-size:var(--text-xs);color:var(--color-text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-list__track{height:10px;border-radius:var(--radius-full);background:var(--color-surface-3);overflow:hidden}.bar-list__fill{display:block;height:100%;border-radius:var(--radius-full);transition:width .3s ease}.bar-list__value{font-size:var(--text-xs);font-weight:700;color:var(--color-text-1);text-align:left;direction:ltr}.donut{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.donut__figure{flex-shrink:0}.donut__track{stroke:var(--color-surface-3)}.donut__center-label{fill:var(--color-text-3);font-size:10px}.donut__center-value{fill:var(--color-text-1);font-size:13px;font-weight:800}.donut__legend{list-style:none;margin:0;padding:0;flex:1;min-width:180px;display:flex;flex-direction:column;gap:var(--space-2)}.donut__legend-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-2)}.donut__legend-swatch{width:10px;height:10px;border-radius:var(--radius-full)}.donut__legend-label{font-size:var(--text-xs);color:var(--color-text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.donut__legend-value{font-size:var(--text-xs);font-weight:700;color:var(--color-text-1);display:flex;gap:var(--space-2);align-items:baseline}.donut__legend-percent{color:var(--color-text-3);font-weight:400}.filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.filter-chip{padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-2);font-size:var(--text-xs);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.filter-chip:hover{border-color:var(--color-border-strong)}.filter-chip:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.filter-chip.is-active{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-text);font-weight:700}.filter-chip--clear{border-style:dashed;color:var(--color-error-text)}.rt-wrap{overflow-x:auto}.rt{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.rt th{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:700;color:var(--color-text-3);text-align:right;border-bottom:1px solid var(--color-border);white-space:nowrap}.rt td{padding:var(--space-3);color:var(--color-text-1);border-bottom:1px solid var(--color-border);vertical-align:middle}.rt tbody tr:last-child td{border-bottom:none}.rt__end{text-align:left}.rt__center{text-align:center}.rt-row--interactive{cursor:pointer;transition:background .12s ease}.rt-row--interactive:hover{background:var(--color-surface-2)}.rt-row--interactive:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-focus)}.rt__hint{color:var(--color-text-3);font-size:var(--text-xs)}.rt__hint--danger{color:var(--color-error-text);font-weight:700}.rt__name-cell{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.rt-card{padding:0;overflow:hidden}.rt-skeleton-row{display:flex;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.rt-skeleton-row:last-child{border-bottom:none}@media (max-width: 720px){.rt thead{display:none}.rt,.rt tbody,.rt tr,.rt td{display:block;width:100%}.rt tr{margin:var(--space-3);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.rt tbody tr:first-child{margin-top:var(--space-3)}.rt td{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-1);border-bottom:1px dashed var(--color-border);text-align:right}.rt td:last-child{border-bottom:none}.rt td:before{content:attr(data-label);font-size:var(--text-xs);font-weight:700;color:var(--color-text-3);flex-shrink:0}.rt__end{text-align:left}}.report-error-card{padding:var(--space-5)}.stat-card--link{cursor:pointer;text-align:right;transition:box-shadow .15s ease,transform .15s ease}.stat-card--link:hover{box-shadow:var(--shadow-card)}.stat-card--link:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.stat-card__chip--sales{background:var(--color-primary-soft);color:var(--color-primary-text)}.stat-card__chip--cheque{background:var(--fin-pending-soft);color:var(--fin-debt-text)}.print-header{display:none}@media print{body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.no-print,.sidebar,.bottomnav,.appbar,.range-picker,.filter-chips{display:none!important}.print-area{position:absolute;inset-inline:0;top:0;padding:0}.print-header{display:block;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #14201c}.print-header h1{margin:0 0 4px;font-size:18pt}.print-header p{margin:0 0 2px;font-size:10pt;color:#444}.print-header__meta{font-size:9pt;color:#666}.card,.chart-card,.kpi-card,.metric-card{box-shadow:none!important;break-inside:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.settings-layout{display:block}.settings-nav{display:none}.settings-content{min-width:0}@media (min-width: 900px){.settings-layout{display:grid;grid-template-columns:240px minmax(0,720px);gap:var(--space-6);align-items:start}.settings-nav{display:flex;flex-direction:column;gap:2px;position:sticky;top:var(--space-4)}.settings-nav__item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-2);font:inherit;font-size:var(--text-sm);text-align:start;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard)}.settings-nav__item:hover{background:var(--color-surface-2)}.settings-nav__item.is-active{background:var(--color-primary-soft);color:var(--color-primary-text);font-weight:var(--weight-bold)}.settings-nav__item:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}}.settings-form{display:flex;flex-direction:column;gap:var(--space-4)}.settings-card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4)}.settings-card__title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);font-weight:var(--weight-heavy)}.settings-card--danger{border-color:var(--color-error)}.settings-caption{font-size:var(--text-xs);color:var(--color-text-3);line-height:var(--leading-relaxed)}.settings-fieldset{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);margin:0}.settings-fieldset legend{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text-2);padding-inline:var(--space-2)}.settings-row-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.settings-preview{font-size:var(--text-sm);color:var(--color-text-2);background:var(--color-surface-2);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.settings-preview strong{color:var(--color-primary-text)}.settings-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.settings-row-inline{display:flex;align-items:flex-end;gap:var(--space-3)}.settings-row-inline .grow{flex:1}.settings-add-btn{flex-shrink:0;margin-bottom:1px}.settings-cat-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.settings-cat-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.settings-cat-row:last-child{border-bottom:none}.settings-cat-row__main{display:flex;flex-direction:column;gap:2px;min-width:0}.settings-cat-row__name{font-weight:var(--weight-bold)}.settings-cat-row__usage{font-size:var(--text-xs);color:var(--color-text-3)}.settings-cat-row__actions{display:flex;gap:var(--space-1);flex-shrink:0}.save-bar{position:sticky;bottom:calc(var(--bottomnav-height) + env(safe-area-inset-bottom) + var(--space-2));z-index:30}.save-bar__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);padding:var(--space-3) var(--space-4)}.save-bar__hint{font-size:var(--text-xs);color:var(--color-text-3)}@media (min-width: 900px){.save-bar{bottom:var(--space-4)}}.sheet-note{font-size:var(--text-sm);color:var(--color-text-2);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.sheet-actions{display:flex;flex-direction:column;gap:var(--space-2)}.modal-actions{display:flex;justify-content:flex-start;gap:var(--space-2)}.visually-hidden-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.backup-summary p{font-size:var(--text-sm);color:var(--color-text-2);margin-bottom:var(--space-2)}.backup-summary ul{list-style:none;margin:var(--space-3) 0 0;padding:0;border-top:1px solid var(--color-border)}.backup-summary li{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px dashed var(--color-border);font-size:var(--text-sm)}.settings-danger-actions{display:flex;flex-direction:column}.about-card{align-items:center;text-align:center}.about-card__name{font-size:var(--text-xl);font-weight:var(--weight-heavy)}.about-card__desc{font-size:var(--text-sm);color:var(--color-text-2);line-height:var(--leading-relaxed);max-width:48ch}.about-card__meta{display:flex;gap:var(--space-6);margin:0}.about-card__meta div{display:flex;flex-direction:column;gap:2px}.about-card__meta dt{font-size:var(--text-xs);color:var(--color-text-3)}.about-card__meta dd{margin:0;font-weight:var(--weight-bold)}.about-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.about-list li{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-2);line-height:var(--leading-relaxed)}.settings-check{font-size:var(--text-xs);color:var(--color-text-3);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:2px var(--space-3)}.list-item--muted{opacity:.55}
