@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--green-50: #eef7f2;--green-100: #d9eee2;--green-200: #b4dcc5;--green-300: #85c2a1;--green-400: #4f9f78;--green-500: #2e7d5b;--green-600: #256a4c;--green-700: #1e573f;--green-800: #184532;--green-900: #16211c;--gray-0: #ffffff;--gray-25: #fafbf9;--gray-50: #f5f7f4;--gray-100: #eef1ee;--gray-150: #e6eae6;--gray-200: #dde3de;--gray-300: #c6cec8;--gray-400: #9aa59d;--gray-500: #6b786e;--gray-600: #4f5d53;--gray-700: #3a463e;--gray-800: #26302a;--gray-900: #16211c;--color-bg: var(--gray-50);--color-surface: var(--gray-0);--color-surface-muted: var(--gray-25);--color-surface-sunken: var(--gray-100);--color-border: var(--gray-150);--color-border-strong: var(--gray-200);--color-border-input: var(--gray-300);--color-text: var(--gray-900);--color-text-secondary: var(--gray-600);--color-text-tertiary: var(--gray-500);--color-text-disabled: var(--gray-400);--color-text-inverse: #ffffff;--color-overlay: rgba(14, 22, 18, .48);--color-primary: var(--green-500);--color-primary-hover: var(--green-600);--color-primary-active: var(--green-700);--color-primary-soft: var(--green-50);--color-primary-soft-border: var(--green-200);--color-primary-text: var(--green-600);--color-focus: var(--green-500);--color-success: #1f6b46;--color-success-bg: #eaf5ee;--color-success-border: #bfe3cc;--color-success-solid: var(--green-500);--color-warning: #8a5300;--color-warning-bg: #fff5e1;--color-warning-border: #f3d9a4;--color-warning-solid: #c98a12;--color-danger: #b42318;--color-danger-bg: #fdeeec;--color-danger-border: #f5c6c1;--color-danger-solid: #c0392b;--color-danger-solid-hover: #a93226;--color-info: #1d4f8f;--color-info-bg: #ebf2fc;--color-info-border: #c7daf5;--color-info-solid: #2f6fca;--color-neutral: #46534a;--color-neutral-bg: var(--gray-100);--color-neutral-border: var(--gray-200);--color-mpesa: #2a7f1b;--color-mpesa-hover: #23701a;--color-mpesa-bright: #43b02a;--font-sans: "Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 22px;--text-3xl: 28px;--text-4xl: 36px;--leading-tight: 1.2;--leading-snug: 1.35;--leading-normal: 1.5;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-heavy: 800;--tracking-tight: -.02em;--tracking-wide: .06em;--space-0-5: 2px;--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-2-5: 10px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 999px;--shadow-xs: 0 1px 2px rgba(22, 33, 28, .05);--shadow-sm: 0 1px 2px rgba(22, 33, 28, .04), 0 2px 8px rgba(22, 33, 28, .05);--shadow-md: 0 2px 4px rgba(22, 33, 28, .04), 0 8px 20px rgba(22, 33, 28, .08);--shadow-lg: 0 4px 10px rgba(22, 33, 28, .06), 0 18px 40px rgba(22, 33, 28, .14);--shadow-xl: 0 24px 64px rgba(22, 33, 28, .24);--ring: 0 0 0 3px rgba(46, 125, 91, .28);--ring-danger: 0 0 0 3px rgba(192, 57, 43, .22);--control-h: 44px;--control-h-sm: 36px;--control-h-lg: 52px;--tap-min: 44px;--sidebar-w: 240px;--content-max: 1280px;--bottom-nav-h: 64px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .12s;--duration-base: .2s;--duration-slow: .32s;--z-sticky: 10;--z-nav: 40;--z-dropdown: 50;--z-drawer: 60;--z-modal: 70;--z-toast: 90;--chart-1: #2a78d6;--chart-2: #eb6834;--chart-3: #1baf7a;--chart-4: #eda100;--chart-grey: #9a9a94;--chart-expense: #e34948;--chart-s1: #4a3aa7;--chart-s2: #e87ba4}@media(max-width:760px){:root{--text-3xl: 24px;--text-4xl: 32px}}[data-sidebar-theme=dark]{--nav-bg: #16211c;--nav-bg-elevated: #1c2a23;--nav-active-bg: #253a30;--nav-hover-bg: #1f2f27;--nav-border: #26352d;--nav-text: #f2f0e9;--nav-text-secondary: #b7c2ba;--nav-text-muted: #8d9b90;--nav-icon: #9fb0a4;--nav-icon-active: #8fd6b0;--nav-indicator: #5fbf8f}[data-sidebar-theme=light]{--nav-bg: #f2f0e9;--nav-bg-elevated: #ebe8df;--nav-active-bg: #e1e8dc;--nav-hover-bg: #e8ebe2;--nav-border: #dedbd0;--nav-text: #16211c;--nav-text-secondary: #4a574d;--nav-text-muted: #5f6d62;--nav-icon: #5f6d62;--nav-icon-active: #1e573f;--nav-indicator: #2e7d5b}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body,#root{min-height:100%;margin:0}body{min-height:100vh;min-height:100dvh;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);font-feature-settings:"cv11","ss01";font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,p,dl,dd,figure,blockquote{margin:0}h1,h2,h3,h4{color:var(--color-text);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}img,svg{max-width:100%}img{display:block}a{color:var(--color-primary-text);text-underline-offset:2px}code{font-family:var(--font-mono)}table{border-collapse:collapse}::placeholder{color:var(--color-text-tertiary);opacity:1}::selection{background:var(--green-100);color:var(--color-text)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-xs)}.num,.money{font-variant-numeric:tabular-nums;white-space:nowrap}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--color-text-secondary)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.skip-link{position:absolute;z-index:var(--z-toast);top:var(--space-2);left:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md);color:var(--color-text);font-weight:var(--weight-semibold);transform:translateY(-200%)}.skip-link:focus-visible{transform:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes slide-in-right{0%{transform:translate(32px);opacity:.4}to{transform:none;opacity:1}}@keyframes slide-in-up{0%{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}@keyframes pop-in{0%{opacity:0;transform:scale(.97) translateY(6px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}@media(prefers-reduced-motion:reduce){:root{--duration-fast: 0ms;--duration-base: 0ms;--duration-slow: 0ms}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.spinner{animation-duration:1.6s!important;animation-iteration-count:infinite!important}}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-h);padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease,box-shadow var(--duration-fast) ease,transform var(--duration-fast) ease}.button svg{flex:0 0 auto}.button-label{overflow:hidden;text-overflow:ellipsis}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.55}.button.is-loading{opacity:.85;cursor:progress}.button-block{display:flex;width:100%}.button-sm{min-height:var(--control-h-sm);padding:0 var(--space-3);font-size:var(--text-sm);border-radius:var(--radius-sm)}.button-lg{min-height:var(--control-h-lg);padding:0 var(--space-6);font-size:var(--text-lg);border-radius:var(--radius-lg)}.button-primary{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-xs)}.button-primary:hover:not(:disabled){background:var(--color-primary-hover)}.button-primary:active:not(:disabled){background:var(--color-primary-active)}.button-secondary,.button-quiet{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs)}.button-secondary:hover:not(:disabled),.button-quiet:hover:not(:disabled){border-color:var(--color-border-input);background:var(--color-surface-muted)}.button-ghost{background:transparent;color:var(--color-text-secondary)}.button-ghost:hover:not(:disabled){background:var(--color-surface-sunken);color:var(--color-text)}.button-danger{background:var(--color-danger-solid);color:var(--color-text-inverse);box-shadow:var(--shadow-xs)}.button-danger:hover:not(:disabled){background:var(--color-danger-solid-hover)}.button-danger-ghost{background:transparent;color:var(--color-danger)}.button-danger-ghost:hover:not(:disabled){background:var(--color-danger-bg)}.button-mpesa{background:var(--color-mpesa);color:#fff;box-shadow:0 6px 16px #2a7f1b47}.button-mpesa:hover:not(:disabled){background:var(--color-mpesa-hover)}.button-link{min-height:auto;padding:0;border:0;background:none;color:var(--color-primary-text);font-weight:var(--weight-semibold)}.button-link:hover:not(:disabled){text-decoration:underline}.icon-button{position:relative;display:inline-grid;place-items:center;flex:0 0 auto;width:40px;height:40px;padding:0;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--duration-fast) ease,color var(--duration-fast) ease,border-color var(--duration-fast) ease}.icon-button:hover:not(:disabled){background:var(--color-surface-sunken);color:var(--color-text)}.icon-button:disabled{opacity:.45;cursor:not-allowed}.icon-button-outline{border-color:var(--color-border-strong);background:var(--color-surface);box-shadow:var(--shadow-xs)}.icon-button-outline:hover:not(:disabled){background:var(--color-surface-muted)}.icon-button-sm{width:36px;height:36px;border-radius:var(--radius-sm)}.icon-button[aria-pressed=true]{background:var(--color-primary-soft);color:var(--color-primary-text)}.icon-button-badge{position:absolute;top:3px;right:2px;min-width:18px;height:18px;padding:0 5px;border:2px solid var(--color-surface);border-radius:var(--radius-full);background:var(--color-danger-solid);color:#fff;font-size:10px;font-weight:var(--weight-bold);line-height:14px;text-align:center}@media(max-width:760px),(pointer:coarse){.icon-button,.icon-button-sm{width:var(--tap-min);height:var(--tap-min)}.button-sm,.tabs-pills .tab{min-height:var(--tap-min)}.segmented-option{min-height:40px}}.spinner{display:inline-block;flex:0 0 auto;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;opacity:.85;animation:spin .7s linear infinite}.field{display:grid;align-content:start;gap:var(--space-1-5);min-width:0;margin:0;padding:0;border:0}.field-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.field-label{padding:0;color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:var(--leading-snug)}.field-set>.field-label{margin-bottom:var(--space-1)}.field-optional{color:var(--color-text-tertiary);font-weight:var(--weight-regular)}.field-required{color:var(--color-danger)}.field-hint{color:var(--color-text-secondary);font-size:var(--text-xs);line-height:var(--leading-snug)}.field-error{display:flex;align-items:flex-start;gap:var(--space-1-5);color:var(--color-danger);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-snug);animation:rise-in var(--duration-base) var(--ease-out)}.field-error svg{flex:0 0 auto;margin-top:1px}.input,.select,.textarea{width:100%;min-width:0;min-height:var(--control-h);padding:0 var(--space-3);border:1px solid var(--color-border-input);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--text-md);line-height:var(--leading-snug);transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease,background-color var(--duration-fast) ease}.input-lg{min-height:var(--control-h-lg);font-size:var(--text-xl);font-weight:var(--weight-semibold)}.textarea{min-height:88px;padding:var(--space-2) var(--space-3);resize:vertical;line-height:var(--leading-normal)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--space-10);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234f5d53' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}.input:hover:not(:disabled):not(:focus),.select:hover:not(:disabled):not(:focus),.textarea:hover:not(:disabled):not(:focus){border-color:var(--gray-400)}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-primary);box-shadow:var(--ring);outline:none}.input:disabled,.select:disabled,.textarea:disabled,.input[readonly]{background:var(--color-surface-sunken);color:var(--color-text-secondary);cursor:not-allowed}.input[readonly]{cursor:default}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true],.has-error .input-group{border-color:var(--color-danger-solid)}.input[aria-invalid=true]:focus,.textarea[aria-invalid=true]:focus{box-shadow:var(--ring-danger)}.input-group{display:flex;align-items:center;min-width:0;border:1px solid var(--color-border-input);border-radius:var(--radius-md);background:var(--color-surface);transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.input-group:focus-within{border-color:var(--color-primary);box-shadow:var(--ring)}.input-group.is-disabled{background:var(--color-surface-sunken)}.input-group .input{border:0;box-shadow:none;background:transparent}.input-group .input:focus{box-shadow:none}.input-affix{padding:0 0 0 var(--space-3);color:var(--color-text-secondary);font-weight:var(--weight-semibold);white-space:nowrap}.input-affix:last-child{padding:0 var(--space-3) 0 0}.input-group .input-affix+.input{padding-left:var(--space-2)}.input-toggle{display:grid;place-items:center;flex:0 0 auto;width:var(--tap-min);height:var(--tap-min);margin-right:1px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer}.input-toggle:hover{color:var(--color-text)}.search-input{display:flex;align-items:center;gap:var(--space-2);min-width:0;min-height:var(--control-h);padding:0 var(--space-1) 0 var(--space-3);border:1px solid var(--color-border-input);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.search-input:focus-within{border-color:var(--color-primary);box-shadow:var(--ring)}.search-input svg{flex:0 0 auto}.search-input input{flex:1;min-width:0;height:calc(var(--control-h) - 2px);border:0;outline:0;background:transparent;color:var(--color-text);font-size:var(--text-md)}.search-input input::-webkit-search-cancel-button{display:none}.search-input-clear{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer}.search-input-clear:hover{background:var(--color-surface-sunken);color:var(--color-text)}@media(max-width:760px){.input,.select,.textarea,.search-input input{font-size:var(--text-lg)}.input-lg{font-size:var(--text-xl)}}.check{display:flex;align-items:flex-start;gap:var(--space-3);min-height:var(--tap-min);padding:var(--space-2) 0;color:var(--color-text);font-size:var(--text-md);line-height:var(--leading-snug);cursor:pointer}.check input{flex:0 0 auto;width:20px;height:20px;margin:0;accent-color:var(--color-primary);cursor:pointer}.check-text{display:grid;gap:2px;padding-top:1px}.check-text small{color:var(--color-text-secondary);font-size:var(--text-xs)}.check.is-disabled{color:var(--color-text-disabled);cursor:not-allowed}input[type=checkbox],input[type=radio]{accent-color:var(--color-primary)}.choice-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.choice-chip{display:inline-flex;align-items:center;justify-content:center;flex:1 1 auto;min-height:var(--control-h);padding:0 var(--space-4);border:1px solid var(--color-border-input);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--text-md);font-weight:var(--weight-semibold);cursor:pointer;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease}.choice-chip:hover:not(:disabled):not(.is-selected){border-color:var(--gray-400);background:var(--color-surface-muted)}.choice-chip.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary-text);box-shadow:inset 0 0 0 1px var(--color-primary)}.badge{display:inline-flex;align-items:center;gap:var(--space-1-5);min-height:24px;padding:0 var(--space-2);border:1px solid transparent;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:1;white-space:nowrap}.badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge-neutral{border-color:var(--color-neutral-border);background:var(--color-neutral-bg);color:var(--color-neutral)}.badge-success{border-color:var(--color-success-border);background:var(--color-success-bg);color:var(--color-success)}.badge-warning{border-color:var(--color-warning-border);background:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{border-color:var(--color-danger-border);background:var(--color-danger-bg);color:var(--color-danger)}.badge-info{border-color:var(--color-info-border);background:var(--color-info-bg);color:var(--color-info)}.badge-brand{border-color:var(--color-primary-soft-border);background:var(--color-primary-soft);color:var(--color-primary-text)}.badge-muted{border-color:var(--color-border);background:var(--color-surface-muted);color:var(--color-text-secondary)}.badge-muted.status-cancelled{text-decoration:line-through}.card{min-width:0;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.card-pad-lg{padding:var(--space-6)}.card-pad-none{padding:0}.card-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-4)}.card-header-text{display:grid;flex:1 1 200px;gap:var(--space-1);min-width:0}.card-title{font-size:var(--text-xl);font-weight:var(--weight-bold)}.card-description{color:var(--color-text-secondary);font-size:var(--text-sm)}.card-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-2)}.eyebrow{display:block;color:var(--color-text-secondary);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.page-header{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-5)}.page-header-text{display:grid;gap:var(--space-1);min-width:0}.page-title{font-size:var(--text-2xl);font-weight:var(--weight-bold)}.page-description{max-width:64ch;color:var(--color-text-secondary);font-size:var(--text-md)}.page-header-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.section-title{margin:var(--space-6) 0 var(--space-3);color:var(--color-text);font-size:var(--text-lg);font-weight:var(--weight-bold)}.section-title:first-child{margin-top:0}.subsection-title{margin:var(--space-5) 0 var(--space-2);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.tabs{display:flex;gap:var(--space-1);min-width:0;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{display:inline-flex;align-items:center;gap:var(--space-2);flex:0 0 auto;min-height:var(--control-h);padding:0 var(--space-3);border:0;background:transparent;color:var(--color-text-secondary);font-size:var(--text-md);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;transition:color var(--duration-fast) ease,background-color var(--duration-fast) ease,border-color var(--duration-fast) ease}.tab:hover{color:var(--color-text)}.tab:focus-visible{outline-offset:-2px}.tabs-underline{margin-bottom:var(--space-5);border-bottom:1px solid var(--color-border)}.tabs-underline .tab{margin-bottom:-1px;border-bottom:2px solid transparent;border-radius:0}.tabs-underline .tab.is-selected{border-bottom-color:var(--color-primary);color:var(--color-text)}.tabs-pills{gap:var(--space-2);margin-bottom:var(--space-4);padding:2px}.tabs-pills .tab{min-height:40px;padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface)}.tabs-pills .tab:hover:not(.is-selected){background:var(--color-surface-muted)}.tabs-pills .tab.is-selected{border-color:var(--color-text);background:var(--color-text);color:#fff}.tab-count{min-width:22px;padding:2px 7px;border-radius:var(--radius-full);background:var(--color-surface-sunken);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:16px;text-align:center}.tab.is-selected .tab-count{background:var(--color-primary-soft);color:var(--color-primary-text)}.tabs-pills .tab.is-selected .tab-count{background:#ffffff2e;color:#fff}.tab-count.is-alert{background:var(--color-danger-solid);color:#fff}.tabs-pills .tab.is-selected .tab-count.is-alert{background:var(--color-danger-solid)}.segmented{display:inline-flex;gap:2px;padding:3px;border-radius:var(--radius-md);background:var(--color-surface-sunken)}.segmented-option{min-height:38px;padding:0 var(--space-4);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer}.segmented-option.is-selected{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.segmented-sm .segmented-option{min-height:32px}.dialog-root{position:fixed;z-index:var(--z-modal);top:0;right:0;bottom:0;left:0}.dialog-root-drawer{z-index:var(--z-drawer)}.dialog-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--color-overlay);animation:fade-in var(--duration-base) ease}.dialog-root-drawer .dialog-backdrop{justify-content:flex-end;padding:0}.modal,.drawer{position:relative;display:flex;flex-direction:column;min-width:0;max-height:calc(100dvh - 48px);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-xl);outline:none}.modal{width:min(560px,100%);border-radius:var(--radius-xl);animation:pop-in var(--duration-slow) var(--ease-out)}.modal-sm{width:min(440px,100%)}.modal-lg{width:min(720px,100%)}.drawer{width:min(520px,100vw);height:100dvh;max-height:100dvh;border-width:0 0 0 1px;border-radius:var(--radius-xl) 0 0 var(--radius-xl);animation:slide-in-right var(--duration-slow) var(--ease-out)}.drawer-lg{width:min(600px,100vw)}.dialog-grabber{display:none}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex:0 0 auto;padding:var(--space-5) var(--space-5) var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border)}.dialog-heading{display:grid;gap:var(--space-1);min-width:0}.dialog-title{font-size:var(--text-xl);font-weight:var(--weight-bold);overflow-wrap:anywhere}.dialog-description{color:var(--color-text-secondary);font-size:var(--text-sm)}.dialog-close{margin:-6px -6px 0 0}.dialog-body{flex:1 1 auto;min-height:0;padding:var(--space-5) var(--space-6) var(--space-6);overflow-y:auto;overscroll-behavior:contain}.dialog-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-2);flex:0 0 auto;padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.drawer .dialog-footer{border-radius:0 0 0 var(--radius-xl)}@media(max-width:760px){.dialog-backdrop,.dialog-root-drawer .dialog-backdrop{align-items:flex-end;justify-content:stretch;padding:0}.modal,.drawer,.modal-sm,.modal-lg,.drawer-lg{width:100%;height:auto;max-height:calc(100dvh - 24px);border-width:1px 0 0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation:slide-in-up var(--duration-slow) var(--ease-out)}.drawer{height:calc(100dvh - 24px)}.dialog-grabber{display:block;width:40px;height:4px;margin:var(--space-2) auto 0;border-radius:var(--radius-full);background:var(--gray-300)}.dialog-header{padding:var(--space-3) var(--space-4) var(--space-3) var(--space-5)}.dialog-body{padding:var(--space-4) var(--space-5) var(--space-6)}.dialog-footer{padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));border-radius:0}.dialog-footer .button{flex:1 1 0}.drawer .dialog-footer{border-radius:0}}.skeleton{display:block;max-width:100%;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--gray-100) 0%,var(--gray-150) 40%,var(--gray-100) 80%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}.skeleton-group{display:grid;gap:var(--space-3)}.skeleton-text{gap:var(--space-2-5)}.skeleton-rows{gap:0}.skeleton-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.skeleton-row:last-child{border-bottom:0}.skeleton-row-main{display:grid;flex:1;gap:var(--space-2)}.skeleton-table{gap:0}.skeleton-table-row{display:grid;gap:var(--space-4);align-items:center;padding:var(--space-4) var(--space-3);border-bottom:1px solid var(--color-border)}.skeleton-table-row.is-head{padding-top:var(--space-2);padding-bottom:var(--space-3)}.skeleton-cards{gap:var(--space-3)}.skeleton-card{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.skeleton-card-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.skeleton-stat{gap:var(--space-3)}.empty-state{display:grid;justify-items:center;align-content:center;gap:var(--space-2);min-height:220px;padding:var(--space-8) var(--space-5);text-align:center}.empty-state.is-compact{min-height:0;padding:var(--space-6) var(--space-3)}.empty-state-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:var(--space-2);border-radius:var(--radius-lg);background:var(--color-primary-soft);color:var(--color-primary-text)}.is-compact .empty-state-icon{width:40px;height:40px;border-radius:var(--radius-md)}.error-state .empty-state-icon{background:var(--color-danger-bg);color:var(--color-danger)}.empty-state-title{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--weight-bold)}.is-compact .empty-state-title{font-size:var(--text-md)}.empty-state-text{max-width:44ch;color:var(--color-text-secondary);font-size:var(--text-md)}.empty-state-action{margin-top:var(--space-3)}.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid;border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--leading-normal)}.alert-icon{flex:0 0 auto;margin-top:1px}.alert-body{display:grid;flex:1;gap:2px;min-width:0}.alert-title{font-weight:var(--weight-semibold)}.alert-text{overflow-wrap:anywhere}.alert-action{flex:0 0 auto;align-self:center}.alert-dismiss{display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;margin:-6px -8px -6px 0;border:0;border-radius:var(--radius-sm);background:transparent;color:inherit;cursor:pointer}.alert-dismiss:hover{background:#0000000f}.alert-info{border-color:var(--color-info-border);background:var(--color-info-bg);color:var(--color-info)}.alert-success{border-color:var(--color-success-border);background:var(--color-success-bg);color:var(--color-success)}.alert-warning{border-color:var(--color-warning-border);background:var(--color-warning-bg);color:var(--color-warning)}.alert-danger{border-color:var(--color-danger-border);background:var(--color-danger-bg);color:var(--color-danger)}.alert-neutral{border-color:var(--color-border-strong);background:var(--color-surface-muted);color:var(--color-text-secondary)}.alert-title,.alert strong{color:inherit}.table-wrap{position:relative;min-width:0;overflow-x:auto;margin:0 calc(-1 * var(--space-5));padding:0 var(--space-5)}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-md)}.data-table th,.data-table td{padding:var(--space-3);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle}.data-table th{padding-top:var(--space-2);padding-bottom:var(--space-2);background:var(--color-surface-muted);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.02em;white-space:nowrap}.data-table thead th:first-child{border-top-left-radius:var(--radius-sm)}.data-table thead th:last-child{border-top-right-radius:var(--radius-sm)}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr{transition:background-color var(--duration-fast) ease}.data-table .is-numeric,.data-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table .cell-strong{font-weight:var(--weight-semibold)}.data-table .cell-sub{display:block;margin-top:2px;color:var(--color-text-secondary);font-size:var(--text-xs)}.clickable-row{cursor:pointer}.clickable-row:hover{background:var(--color-surface-muted)}.clickable-row:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);padding-top:var(--space-4);color:var(--color-text-secondary);font-size:var(--text-sm)}.pagination-controls{display:flex;align-items:center;gap:var(--space-2)}.facts{display:grid;gap:0;margin:0}.facts>div{display:grid;grid-template-columns:minmax(96px,34%) 1fr;gap:var(--space-3);padding:var(--space-2-5) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-md)}.facts>div:last-child{border-bottom:0}.facts dt{color:var(--color-text-secondary)}.facts dd{margin:0;overflow-wrap:anywhere}.list{display:grid;margin:0;padding:0;list-style:none}.list-row{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.list-row:last-child{border-bottom:0}.list-row-main{display:grid;flex:1;gap:2px;min-width:0}.list-row-title{overflow:hidden;color:var(--color-text);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap}.list-row-sub{overflow:hidden;color:var(--color-text-secondary);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.list-row-sub.wrap,.list-row-title.wrap{white-space:normal;overflow-wrap:anywhere}.list-row-end{display:grid;justify-items:end;gap:var(--space-1);flex:0 0 auto;text-align:right}.list-row-wrap{flex-wrap:wrap}.list-row-wrap>.inline-panel{flex:1 0 100%}.avatar{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary-text);font-size:var(--text-sm);font-weight:var(--weight-bold)}.amount{font-variant-numeric:tabular-nums;font-weight:var(--weight-bold);white-space:nowrap}.amount-in{color:var(--color-success)}.amount-out{color:var(--color-danger)}.summary-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.summary-tile{display:grid;gap:var(--space-1);min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.summary-tile span{color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium)}.summary-tile strong{overflow:hidden;font-size:var(--text-lg);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.summary-tile.is-emphasis{border-color:var(--color-primary-soft-border);background:var(--color-primary-soft)}.summary-tile.is-emphasis strong{color:var(--color-primary-text)}.summary-tile.is-danger{border-color:var(--color-danger-border);background:var(--color-danger-bg)}.summary-tile.is-danger strong{color:var(--color-danger)}.inline-panel{display:grid;gap:var(--space-4);margin:var(--space-4) 0;padding:var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface-muted);animation:rise-in var(--duration-base) var(--ease-out)}.inline-panel-title{font-size:var(--text-lg);font-weight:var(--weight-bold)}.inline-panel-text{color:var(--color-text-secondary);font-size:var(--text-sm)}.inline-panel.is-danger{border-color:var(--color-danger-border);background:var(--color-danger-bg)}.form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.form-stack{display:grid;gap:var(--space-4)}.form-section{display:grid;gap:var(--space-4);padding-bottom:var(--space-5);margin-bottom:var(--space-5);border-bottom:1px solid var(--color-border)}.form-section:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}.form-section-title{font-size:var(--text-md);font-weight:var(--weight-bold)}@media(max-width:760px){.form-grid{grid-template-columns:1fr}.form-actions .button{flex:1 1 auto}}.popover{position:absolute;z-index:var(--z-dropdown);top:calc(100% + var(--space-2));right:0;width:280px;max-width:calc(100vw - 24px);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);animation:pop-in var(--duration-base) var(--ease-out)}.menu-item{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--tap-min);padding:0 var(--space-3);border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-text);font-size:var(--text-md);font-weight:var(--weight-medium);text-align:left;text-decoration:none;cursor:pointer}.menu-item:hover{background:var(--color-surface-sunken)}.menu-item svg{color:var(--color-text-secondary)}.menu-separator{height:1px;margin:var(--space-2) 0;background:var(--color-border)}.switch{position:relative;flex:0 0 auto;width:44px;height:26px;padding:0;border:0;border-radius:var(--radius-full);background:var(--gray-300);cursor:pointer;transition:background-color var(--duration-fast) ease}.switch span{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:var(--shadow-xs);transition:transform var(--duration-base) var(--ease-out)}.switch.is-on{background:var(--color-primary)}.switch.is-on span{transform:translate(18px)}.switch:disabled{opacity:.5;cursor:not-allowed}[data-sonner-toaster]{--normal-bg: var(--color-surface);--normal-border: var(--color-border);--normal-text: var(--color-text);--border-radius: var(--radius-lg);font-family:var(--font-sans)}[data-sonner-toaster] [data-sonner-toast]{gap:var(--space-3);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-lg);font-size:var(--text-md)}[data-sonner-toaster] [data-sonner-toast] [data-title]{font-weight:var(--weight-semibold);line-height:var(--leading-snug)}[data-sonner-toaster] [data-sonner-toast] [data-description]{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-snug)}[data-sonner-toaster] [data-sonner-toast][data-type=success] [data-icon]{color:var(--color-success-solid)}[data-sonner-toaster] [data-sonner-toast][data-type=error]{border-color:var(--color-danger-border)}[data-sonner-toaster] [data-sonner-toast][data-type=error] [data-icon]{color:var(--color-danger-solid)}[data-sonner-toaster] [data-sonner-toast][data-type=warning] [data-icon]{color:var(--color-warning-solid)}[data-sonner-toaster] [data-sonner-toast][data-type=info] [data-icon]{color:var(--color-info-solid)}[data-sonner-toaster] [data-sonner-toast] [data-button]{height:32px;padding:0 var(--space-3);border-radius:var(--radius-sm);background:var(--color-text);font-weight:var(--weight-semibold)}[data-sonner-toaster] [data-sonner-toast] [data-close-button]{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text-secondary)}@media(max-width:760px){.summary-tiles{gap:var(--space-1-5)}.summary-tile{padding:var(--space-2-5) var(--space-2)}.summary-tile strong{font-size:var(--text-md);white-space:normal;overflow-wrap:anywhere}}@media(max-width:760px),(pointer:coarse){.tabs-pills .tab{min-height:var(--tap-min)}}.c-phone-only,.data-table .c-phone-only{display:none}.c-ref{font-weight:var(--weight-semibold)}@media(max-width:760px){.table-wrap.as-cards{margin:0;padding:0;overflow:visible}.as-cards .data-table,.as-cards .data-table tbody,.as-cards .data-table tfoot{display:grid;gap:var(--space-3);width:100%;min-width:0}.as-cards .data-table thead{display:none}.as-cards .data-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-1) var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs)}.as-cards .data-table tr.clickable-row:active{background:var(--color-surface-muted)}.as-cards .data-table td,.as-cards .data-table th{display:block;grid-column:1 / -1;padding:0;border:0;background:none;text-align:left;white-space:normal}.as-cards .data-table .c-primary{grid-column:1;grid-row:1;color:var(--color-text);font-size:var(--text-lg);font-weight:var(--weight-bold)}.as-cards .data-table .c-end{grid-column:2;grid-row:1;text-align:right;font-size:var(--text-lg);font-weight:var(--weight-bold)}.as-cards .data-table .c-sub{grid-column:1;color:var(--color-text-secondary);font-size:var(--text-sm)}.as-cards .data-table .c-badge{grid-column:2;grid-row:2;justify-self:end}.as-cards .data-table td[data-label]{display:flex;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-1);color:var(--color-text);font-size:var(--text-sm)}.as-cards .data-table td[data-label]:before{content:attr(data-label);flex:0 0 auto;color:var(--color-text-secondary)}.as-cards .data-table td[data-label]>*{text-align:right}.as-cards .data-table tr>[data-label]:first-of-type{margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.as-cards .data-table .c-actions{margin-top:var(--space-2);text-align:left}.as-cards .data-table .c-actions .row-actions{justify-content:flex-start}.as-cards .data-table .c-wide{margin-top:var(--space-2)}.as-cards .data-table .c-hide-phone{display:none}.as-cards .c-phone-only,.as-cards .data-table .c-phone-only{display:block}.as-cards .c-ref{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium)}.as-cards .data-table .cell-sub{font-weight:var(--weight-regular)}.as-cards .unmatched-table{min-width:0}.as-cards .sales-close-table tfoot tr{border-color:var(--color-primary-soft-border);background:var(--color-primary-soft)}.as-cards .sales-close-table tfoot th{font-size:var(--text-md)}}.page-header{align-items:center;margin-bottom:0}.page-description{color:var(--color-text-secondary);font-size:var(--text-md)}.live-pill{display:inline-flex;align-items:center;gap:var(--space-1-5);margin-left:var(--space-1);padding:2px 10px;border-radius:var(--radius-full);background:var(--color-success-bg);color:var(--color-success);font-size:var(--text-xs);font-weight:var(--weight-bold);vertical-align:1px}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--color-success-solid);box-shadow:0 0 0 3px #2e7d5b2e}@media(max-width:760px){.page-header{align-items:stretch;gap:var(--space-3)}.page-header-actions{width:100%}.page-header-actions .button{flex:1 1 0}}@media(max-width:760px){.as-cards .sales-close-table tr{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.as-cards .sales-close-table .c-end{font-size:var(--text-md)}}@media(max-width:760px){.as-cards .data-table td.c-hide-phone,.as-cards .data-table th.c-hide-phone{display:none}}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh;min-height:100dvh;background:linear-gradient(to right,var(--nav-bg) var(--sidebar-w),var(--color-bg) var(--sidebar-w))}.sidebar{position:sticky;z-index:var(--z-nav);top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;width:var(--sidebar-w);padding:var(--space-5) var(--space-3) var(--space-4);background:var(--nav-bg);color:var(--nav-text-secondary);border-right:1px solid var(--nav-border);overflow-y:auto;scrollbar-width:thin}.sidebar-brand{display:flex;align-items:center;gap:var(--space-3);margin:0 var(--space-2) var(--space-6);color:var(--nav-text);text-decoration:none}.sidebar-brand img{width:44px;height:44px;flex:0 0 auto;border-radius:50%;background:#fff;box-shadow:0 0 0 2px var(--nav-bg-elevated)}.sidebar-brand strong{display:block;color:var(--nav-text);font-size:var(--text-md);font-weight:var(--weight-bold);letter-spacing:-.01em}.sidebar-brand span{display:block;color:var(--nav-text-muted);font-size:var(--text-xs)}.sidebar-section{display:grid;gap:2px;margin-bottom:var(--space-5)}.sidebar-label{padding:0 var(--space-3);margin-bottom:var(--space-1-5);color:var(--nav-text-muted);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.sidebar-link{position:relative;display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap-min);padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--nav-text-secondary);font-size:var(--text-md);font-weight:var(--weight-medium);text-decoration:none;transition:background-color var(--duration-fast) ease,color var(--duration-fast) ease}.sidebar-link svg{flex:0 0 auto;color:var(--nav-icon);transition:color var(--duration-fast) ease}.sidebar-link:hover{background:var(--nav-hover-bg);color:var(--nav-text)}.sidebar-link[aria-current=page]{background:var(--nav-active-bg);color:var(--nav-text);font-weight:var(--weight-semibold)}.sidebar-link[aria-current=page] svg{color:var(--nav-icon-active)}.sidebar-link[aria-current=page]:before{content:"";position:absolute;left:-12px;top:10px;bottom:10px;width:4px;border-radius:0 4px 4px 0;background:var(--nav-indicator)}.sidebar-link:focus-visible{outline-color:var(--nav-indicator);outline-offset:-2px}.sidebar-footer{margin-top:auto;padding-top:var(--space-4);border-top:1px solid var(--nav-border)}.sidebar-user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-3)}.sidebar-user .avatar{background:var(--nav-active-bg);color:var(--nav-text)}.sidebar-user div strong{display:block;overflow:hidden;color:var(--nav-text);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.sidebar-user div span{display:block;color:var(--nav-text-muted);font-size:var(--text-xs);text-transform:capitalize}.sidebar-signout{width:100%;border:0;background:transparent;cursor:pointer;font:inherit}.sidebar-close{display:none}.app-main{min-width:0}.app-content{width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--space-6) var(--space-8) var(--space-12)}.app-content>*+*{margin-top:var(--space-5)}.app-notices{display:grid;gap:var(--space-3)}.topbar{position:sticky;z-index:var(--z-sticky);top:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:72px;padding:var(--space-3) var(--space-8);border-bottom:1px solid var(--color-border);background:#f5f7f4db;backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px)}.topbar-start{display:flex;align-items:center;gap:var(--space-3);min-width:0}.topbar-title{display:grid;gap:1px;min-width:0}.topbar-title h1{overflow:hidden;font-size:var(--text-2xl);font-weight:var(--weight-bold);text-overflow:ellipsis;white-space:nowrap}.topbar-title span{color:var(--color-text-secondary);font-size:var(--text-xs)}.topbar-logo{display:none}.topbar-actions{display:flex;align-items:center;gap:var(--space-1)}.topbar-menu{position:relative}.topbar-avatar{display:grid;place-items:center;width:40px;height:40px;margin-left:var(--space-1);padding:0;border:2px solid var(--color-surface);border-radius:50%;background:var(--color-primary);color:#fff;font-size:var(--text-xs);font-weight:var(--weight-bold);box-shadow:0 0 0 1px var(--color-border-strong);cursor:pointer}.topbar-avatar:hover{background:var(--color-primary-hover)}.menu-header{display:grid;gap:2px;padding:var(--space-2) var(--space-3) var(--space-3)}.menu-header strong{font-size:var(--text-md)}.menu-header span{color:var(--color-text-secondary);font-size:var(--text-sm);text-transform:capitalize}.notifications-panel{width:340px;padding:var(--space-3)}.notifications-panel-title{padding:var(--space-1) var(--space-2) var(--space-2);font-size:var(--text-md);font-weight:var(--weight-bold)}.notification-list{display:grid;max-height:320px;margin:0;padding:0;overflow-y:auto;list-style:none}.notification-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-2);border-top:1px solid var(--color-border)}.notification-item.is-unread{background:var(--color-primary-soft);border-radius:var(--radius-md)}.notification-item .list-row-main{gap:0}.notifications-empty{padding:var(--space-4) var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm);text-align:center}.notify-switch{display:grid;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-3)}.notify-switch-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--text-md);font-weight:var(--weight-semibold)}.notify-switch small{color:var(--color-text-secondary);font-size:var(--text-xs);line-height:var(--leading-snug)}.notify-switch .notify-warning{color:var(--color-warning)}.notify-switch-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.offline-banner{position:sticky;z-index:var(--z-sticky);top:0}.nav-toggle,.nav-scrim{display:none}@media(max-width:1023px){.app-shell{grid-template-columns:minmax(0,1fr);background:var(--color-bg)}.sidebar{position:fixed;inset:0 auto 0 0;height:100dvh;width:min(300px,86vw);box-shadow:var(--shadow-xl);transform:translate(-105%);visibility:hidden;transition:transform var(--duration-slow) var(--ease-out),visibility 0s linear var(--duration-slow)}.sidebar.is-open{transform:none;visibility:visible;transition:transform var(--duration-slow) var(--ease-out)}.sidebar-close{display:inline-grid;margin-left:auto;color:var(--nav-text-secondary)}.sidebar-close:hover:not(:disabled){background:var(--nav-hover-bg);color:var(--nav-text)}.nav-toggle{display:inline-grid;margin-left:calc(-1 * var(--space-2))}.nav-scrim.is-visible{display:block;position:fixed;z-index:calc(var(--z-nav) - 1);top:0;right:0;bottom:0;left:0;background:var(--color-overlay);animation:fade-in var(--duration-base) ease}.topbar{padding:var(--space-2) var(--space-4);min-height:64px}.app-content{padding:var(--space-5) var(--space-5) var(--space-10)}}@media(max-width:760px){.topbar{min-height:56px;padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3);background:#ffffffeb}.topbar-title h1{font-size:var(--text-xl)}.topbar-title span{display:none}.topbar-avatar{width:var(--tap-min);height:var(--tap-min);margin-left:0}.app-content{padding:var(--space-4) var(--space-4) var(--space-10)}.app-content>*+*{margin-top:var(--space-4)}.notifications-panel{position:fixed;top:60px;right:var(--space-2);left:var(--space-2);width:auto}.topbar-menu .popover:not(.notifications-panel){position:fixed;top:60px;right:var(--space-2)}}.notify-prompt-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.bottom-nav,.topbar-logo{display:none}@media(max-width:760px){.sidebar,.nav-scrim,.nav-toggle{display:none!important}.topbar-logo{display:block;width:32px;height:32px;flex:0 0 auto;border-radius:50%;box-shadow:0 0 0 1px var(--color-border)}.app-content{padding-bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom) + var(--space-8))}.bottom-nav{position:fixed;z-index:var(--z-nav);right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom));padding:var(--space-1) var(--space-1) env(safe-area-inset-bottom);border-top:1px solid var(--color-border);background:#fffffff5;box-shadow:0 -6px 20px #16211c0f;backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px)}.bottom-nav-link{display:grid;justify-items:center;align-content:center;gap:2px;min-height:56px;padding:0;border:0;background:transparent;color:var(--color-text-secondary);font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-decoration:none;cursor:pointer}.bottom-nav-icon{display:grid;place-items:center;width:56px;height:30px;border-radius:var(--radius-full);transition:background-color var(--duration-base) var(--ease-out),color var(--duration-base) ease}.bottom-nav-link[aria-current=page],.bottom-nav-link.is-active{color:var(--color-primary-text);font-weight:var(--weight-bold)}.bottom-nav-link[aria-current=page] .bottom-nav-icon,.bottom-nav-link.is-active .bottom-nav-icon{background:var(--color-primary-soft);color:var(--color-primary-text)}.bottom-nav-link:focus-visible{outline-offset:-4px;border-radius:var(--radius-md)}}.more-menu{display:grid;gap:var(--space-2)}.more-link{display:flex;align-items:center;gap:var(--space-3);min-height:64px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);text-decoration:none}.more-link:hover{background:var(--color-surface-muted)}.more-link[aria-current=page]{border-color:var(--color-primary-soft-border);background:var(--color-primary-soft)}.more-link-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary-text)}.more-link>svg{color:var(--color-text-tertiary)}.more-footer{display:grid;gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border);font-size:var(--text-sm)}.more-signout{color:var(--color-danger)}.more-signout svg{color:var(--color-danger)!important}.auth-shell{display:grid;grid-template-columns:minmax(360px,44%) 1fr;min-height:100vh;min-height:100dvh;background:var(--color-surface)}.auth-brand{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-8);padding:var(--space-12) var(--space-10);overflow:hidden;background:radial-gradient(120% 80% at 0% 0%,#5fbf8f38,#5fbf8f00 60%),radial-gradient(90% 70% at 100% 100%,#2e7d5b59,#2e7d5b00 65%),var(--green-900);color:#e3ebe5}.auth-brand-top{display:flex;align-items:center;gap:var(--space-3)}.auth-brand-top img{width:52px;height:52px;border-radius:50%;background:#fff}.auth-brand-top strong{display:block;color:#fff;font-size:var(--text-lg)}.auth-brand-top span{display:block;color:#a9bbb0;font-size:var(--text-sm)}.auth-brand-copy{display:grid;gap:var(--space-4);max-width:420px}.auth-brand-copy h2{color:#fff;font-size:34px;font-weight:var(--weight-bold);line-height:1.15;letter-spacing:-.03em}.auth-brand-copy p{color:#b8c7bd;font-size:var(--text-lg)}.auth-points{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}.auth-points li{display:flex;align-items:center;gap:var(--space-3);color:#dfe8e2;font-size:var(--text-md)}.auth-points svg{flex:0 0 auto;color:#8fd6b0}.auth-brand-foot{color:#8fa597;font-size:var(--text-xs)}.auth-main{display:grid;place-items:center;padding:var(--space-10) var(--space-6);background:var(--color-bg)}.auth-card{display:grid;gap:var(--space-5);width:min(100%,420px)}.auth-card-logo{display:none}.auth-heading{display:grid;gap:var(--space-2)}.auth-heading h1{font-size:var(--text-3xl);font-weight:var(--weight-bold)}.auth-heading p{color:var(--color-text-secondary);font-size:var(--text-md)}.auth-form{display:grid;gap:var(--space-4)}.auth-form .button{margin-top:var(--space-1)}.auth-help{color:var(--color-text-secondary);font-size:var(--text-sm);text-align:center}@media(max-width:959px){.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}.auth-main{align-items:start;padding:var(--space-10) var(--space-4) var(--space-8);background:radial-gradient(140% 60% at 50% 0%,#2e7d5b1f,#2e7d5b00 70%),var(--color-bg)}.auth-card{padding:var(--space-6) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-md)}.auth-card-logo{display:flex;align-items:center;gap:var(--space-3)}.auth-card-logo img{width:48px;height:48px;border-radius:50%;box-shadow:0 0 0 1px var(--color-border)}.auth-card-logo strong{display:block;font-size:var(--text-md)}.auth-card-logo span{display:block;color:var(--color-text-secondary);font-size:var(--text-xs)}.auth-heading h1{font-size:var(--text-2xl)}}.system-shell{display:grid;place-items:center;min-height:100vh;min-height:100dvh;padding:var(--space-8) var(--space-4);background:radial-gradient(120% 50% at 50% 0%,#2e7d5b1a,#2e7d5b00 70%),var(--color-bg)}.system-inline{display:grid;place-items:center;min-height:min(60vh,520px);padding:var(--space-6) 0}.system-card{display:grid;justify-items:center;gap:var(--space-3);width:min(100%,460px);padding:var(--space-10) var(--space-8) var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-md);text-align:center;animation:rise-in var(--duration-slow) var(--ease-out)}.system-logo{width:56px;height:56px;margin-bottom:var(--space-2);border-radius:50%;box-shadow:0 0 0 1px var(--color-border)}.system-illustration{display:grid;place-items:center;width:72px;height:72px;margin-bottom:var(--space-2);border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary-text);box-shadow:0 0 0 8px #2e7d5b0f;font-size:32px;font-weight:var(--weight-heavy)}.system-illustration-warning{background:var(--color-warning-bg);color:var(--color-warning);box-shadow:0 0 0 8px #c98a1214}.system-illustration-danger{background:var(--color-danger-bg);color:var(--color-danger);box-shadow:0 0 0 8px #c0392b12}.system-code{color:var(--color-text-tertiary);font-size:var(--text-sm);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.system-title{font-size:var(--text-2xl);font-weight:var(--weight-bold)}.system-text{max-width:38ch;color:var(--color-text-secondary);font-size:var(--text-md)}.system-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin-top:var(--space-3)}.system-footnote{margin-top:var(--space-2);color:var(--color-text-tertiary);font-size:var(--text-xs)}@media(max-width:760px){.system-card{padding:var(--space-8) var(--space-5) var(--space-6)}.system-actions{width:100%;flex-direction:column}.system-actions .button{width:100%}}.splash{display:grid;place-items:center;gap:var(--space-4);min-height:100vh;min-height:100dvh;background:var(--color-bg)}.splash-inner{display:grid;justify-items:center;gap:var(--space-4);color:var(--color-text-secondary);font-size:var(--text-sm)}.splash img{width:64px;height:64px;border-radius:50%;box-shadow:0 0 0 1px var(--color-border),var(--shadow-md);animation:pop-in var(--duration-slow) var(--ease-out)}.splash .spinner{color:var(--color-primary)}.page-card{min-width:0}.page-loading{display:grid;gap:var(--space-6);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.align-start{justify-self:start}.is-refreshing{opacity:.6;transition:opacity var(--duration-base) ease}.code,.num-code{font-family:var(--font-mono);font-size:.95em;letter-spacing:.02em}.filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-4)}.filter-search{flex:1 1 260px}.filter-field{flex:0 1 180px}.filter-field .field-label{font-size:var(--text-xs);color:var(--color-text-secondary)}.filter-checks{display:flex;flex-wrap:wrap;gap:0 var(--space-5)}.page-help{margin-bottom:var(--space-4)}@media(max-width:760px){.filter-bar{gap:var(--space-2)}.filter-search{flex-basis:100%}.filter-field{flex:1 1 calc(50% - var(--space-2))}}.page-intro{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4)}.page-intro .page-title{margin-top:var(--space-1)}.live-banner{animation:rise-in var(--duration-slow) var(--ease-out)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4)}.stat-card{display:grid;align-content:start;gap:var(--space-1);min-width:0;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.stat-label{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.stat-value{margin:var(--space-1) 0;color:var(--color-text);font-size:var(--text-3xl);font-weight:var(--weight-bold);letter-spacing:-.03em;line-height:1.15}.stat-skeleton{margin:var(--space-2) 0}.stat-note{color:var(--color-text-tertiary);font-size:var(--text-xs)}.stat-flag{display:inline-flex;align-items:center;gap:var(--space-1-5);margin-top:var(--space-2);color:var(--color-warning);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.widget-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr);gap:var(--space-4);align-items:start}.widget{min-height:0}.widget .card-header{padding-bottom:var(--space-3);margin-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.credit-total{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-1);border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary-text);font-size:var(--text-sm)}.hidden-widgets{padding:var(--space-3) var(--space-4);border:1px dashed var(--color-border-input);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-size:var(--text-sm)}.hidden-widgets summary{min-height:32px;font-weight:var(--weight-semibold);cursor:pointer}.hidden-widgets-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}@media(max-width:1100px){.widget-grid{grid-template-columns:1fr}}@media(max-width:760px){.page-intro{align-items:stretch}.page-intro .page-header-actions{width:100%}.page-intro .page-header-actions .button{flex:1 1 0}.stat-grid{grid-template-columns:1fr 1fr;gap:var(--space-3)}.stat-card{padding:var(--space-4)}.stat-card:first-child{grid-column:1 / -1}.stat-card:not(:first-child) .stat-value{font-size:var(--text-xl)}.stat-card:only-child{grid-column:1 / -1}}.reminder-toolbar{display:flex;justify-content:flex-end;margin-bottom:var(--space-1)}.reminder-list{display:grid;gap:var(--space-4)}.reminder-section ul,.reminder-done ul{margin:0;padding:0;list-style:none}.reminder-section-title{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.reminder-section-title span{min-width:22px;padding:1px 7px;border-radius:var(--radius-full);background:var(--color-surface-sunken);text-align:center;letter-spacing:0}.reminder-section-title.is-overdue{color:var(--color-danger)}.reminder-section-title.is-overdue span{background:var(--color-danger-bg)}.reminder-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.reminder-item:last-child{border-bottom:0}.reminder-check-hit{display:grid;place-items:center;flex:0 0 auto;width:var(--tap-min);height:var(--tap-min);margin:-10px -6px -10px -12px;border-radius:var(--radius-md);cursor:pointer}.reminder-check-hit:hover{background:var(--color-surface-sunken)}.reminder-check{width:20px;height:20px;margin:0;cursor:pointer}.reminder-body{display:grid;flex:1 1 auto;gap:3px;min-width:0}.reminder-title{color:var(--color-text);font-size:var(--text-md);font-weight:var(--weight-semibold);overflow-wrap:anywhere}.reminder-note{color:var(--color-text-secondary);font-size:var(--text-sm);overflow-wrap:anywhere;white-space:pre-line}.reminder-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-3);color:var(--color-text-secondary);font-size:var(--text-xs)}.reminder-meta>span{display:inline-flex;align-items:center;gap:var(--space-1)}.reminder-item.is-overdue .reminder-due{color:var(--color-danger);font-weight:var(--weight-bold)}.reminder-item.is-today .reminder-due{color:var(--color-primary-text);font-weight:var(--weight-bold)}.reminder-item.is-done .reminder-title{color:var(--color-text-secondary);text-decoration:line-through}.reminder-actions,.reminder-confirm{display:inline-flex;flex:0 0 auto;align-items:center;gap:var(--space-1);margin-top:-6px}.reminder-clear{color:var(--color-text-secondary);font-size:var(--text-sm)}.reminder-done summary{min-height:32px;color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer}.drawer-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-4) 0}.drawer-inline-action{margin:calc(-1 * var(--space-2)) 0 var(--space-3) calc(-1 * var(--space-3))}.drawer-badges{display:flex;flex-wrap:wrap;gap:var(--space-1-5);margin-top:var(--space-2)}.meta-row{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);margin-top:var(--space-3);color:var(--color-text-secondary);font-size:var(--text-sm)}.list-row.is-reversed .list-row-title{color:var(--color-text-secondary)}.badge-wrap{max-width:60%;white-space:normal;line-height:1.3;padding-top:4px;padding-bottom:4px;text-align:left}.timeline{display:grid;gap:0;margin:0;padding:0;list-style:none}.timeline li{position:relative;display:grid;gap:2px;padding:0 0 var(--space-4) var(--space-6);font-size:var(--text-sm)}.timeline li:before{content:"";position:absolute;left:6px;top:6px;width:9px;height:9px;border:2px solid var(--color-surface);border-radius:50%;background:var(--green-400);box-shadow:0 0 0 1px var(--green-300)}.timeline li:after{content:"";position:absolute;left:10px;top:18px;bottom:0;width:1px;background:var(--color-border-strong)}.timeline li:last-child:after{display:none}.timeline li:last-child{padding-bottom:0}.timeline strong{color:var(--color-text);font-weight:var(--weight-semibold)}.timeline span{color:var(--color-text-secondary);font-size:var(--text-xs)}.picked-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-muted)}.picked-row.is-found{border-color:var(--color-success-border);background:var(--color-success-bg);color:var(--color-success)}.pick-list{display:grid;gap:var(--space-2);max-height:320px;margin:0;padding:0;overflow-y:auto;list-style:none}.pick-option{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);text-align:left;cursor:pointer;transition:border-color var(--duration-fast) ease,background-color var(--duration-fast) ease}.pick-option:hover{border-color:var(--gray-400);background:var(--color-surface-muted)}.pick-option.is-selected,.pick-option:has(input:checked){border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:inset 0 0 0 1px var(--color-primary)}.pick-option input{flex:0 0 auto;width:18px;height:18px;margin:0}.radio-stack{display:grid;gap:0}.apply-list{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.apply-row{display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap-min);cursor:pointer}.apply-row input{width:18px;height:18px;margin:0}.lookup-hint{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-success-bg);color:var(--color-success);font-size:var(--text-sm)}.lookup-loading{display:inline-flex;align-items:center;gap:var(--space-2)}.item-editor{display:grid;gap:var(--space-2)}.item-editor-row{display:grid;grid-template-columns:minmax(0,1fr) 72px 120px 110px 36px;gap:var(--space-2);align-items:center}.item-editor-head{color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.item-editor-head .is-numeric,.item-editor-amount{text-align:right}.item-editor-amount{font-weight:var(--weight-semibold)}.discount-field{max-width:260px}.totals{display:grid;gap:var(--space-1);margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-muted)}.totals div{display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--text-sm)}.totals dt{color:var(--color-text-secondary)}.totals dd{margin:0;font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold)}.totals .totals-strong{font-size:var(--text-lg)}.totals .totals-strong dt{color:var(--color-text);font-weight:var(--weight-semibold)}.invoice-total-preview{display:grid;margin-right:auto;line-height:1.2}.invoice-total-preview span{color:var(--color-text-secondary);font-size:var(--text-xs)}.invoice-total-preview strong{font-size:var(--text-xl)}.invoice-qr{display:grid;justify-items:center;gap:var(--space-2);margin:var(--space-5) 0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-size:var(--text-sm);text-align:center}.invoice-qr img{width:180px;height:180px;object-fit:contain}.row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.unmatched-table{min-width:820px}.actions-cell{text-align:right}@media(max-width:760px){.item-editor-head{display:none}.item-editor-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md)}.item-editor-row>:first-child{grid-column:1 / -1}.item-editor-amount{grid-column:1 / 3;text-align:left}.item-editor-row .icon-button{grid-column:3;grid-row:3}.invoice-total-preview{width:100%;margin:0 0 var(--space-1);grid-template-columns:1fr auto;align-items:baseline}}.pay-link-panel{display:grid;gap:var(--space-3);margin:var(--space-4) 0;padding:var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface-muted)}.pay-link-head{display:flex;align-items:center;gap:var(--space-3)}.pay-link-icon{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary-text)}.pay-link-title{font-size:var(--text-md);font-weight:var(--weight-bold)}.pay-link-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.pay-link-url{font-family:var(--font-mono);font-size:var(--text-sm)}.stk-status{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-2) 0;text-align:center}.stk-status .facts{width:100%;margin-top:var(--space-3);text-align:left}.stk-status-icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:var(--space-2);border-radius:50%}.stk-status-icon.is-waiting{background:var(--color-warning-bg);color:var(--color-warning);animation:pulse-ring 1.8s ease-out infinite}.stk-status-icon.is-success{background:var(--color-success-solid);color:#fff;animation:pop-in var(--duration-slow) var(--ease-out)}.stk-status-icon.is-failed{background:var(--color-danger-bg);color:var(--color-danger)}.stk-status-icon.is-timeout{background:var(--color-warning-bg);color:var(--color-warning)}.stk-status-title{font-size:var(--text-lg);font-weight:var(--weight-bold)}.stk-status-text{max-width:36ch;color:var(--color-text-secondary)}.stk-status-amount{font-size:var(--text-3xl);font-weight:var(--weight-bold)}@keyframes pulse-ring{0%{box-shadow:0 0 #c98a1259}70%{box-shadow:0 0 0 14px #c98a1200}to{box-shadow:0 0 #c98a1200}}.staff-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,.8fr) auto;gap:var(--space-3);align-items:end;margin-bottom:var(--space-5);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-muted)}.staff-form .field-hint{display:none}.mpesa-urls-list{display:grid;gap:var(--space-1);margin:0}.mpesa-urls-list dt{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.mpesa-urls-list dd{margin:0 0 var(--space-2)}.mpesa-urls-list code,.mpesa-urls-result code{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-sunken);font-size:var(--text-sm);overflow-wrap:anywhere;white-space:pre-wrap}.mpesa-urls-result{display:grid;gap:var(--space-2)}.mpesa-urls-result summary{color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer}@media(max-width:900px){.staff-form{grid-template-columns:1fr 1fr}.staff-form-submit{grid-column:1 / -1}}@media(max-width:560px){.staff-form{grid-template-columns:1fr}}.job-badges{display:inline-flex;flex-wrap:wrap;gap:var(--space-1-5)}.job-list{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}.job-card{position:relative;display:grid;gap:var(--space-2);width:100%;padding:var(--space-4) var(--space-4) var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs);color:var(--color-text);text-align:left;cursor:pointer;overflow:hidden;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease,transform var(--duration-fast) ease}.job-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:transparent}.job-card.is-overdue:before{background:var(--color-danger-solid)}.job-card.is-ready:before{background:var(--color-success-solid)}.job-card.is-overdue{border-color:var(--color-danger-border)}.job-card:hover{border-color:var(--color-border-input);box-shadow:var(--shadow-md)}.job-card:active{transform:translateY(1px)}.job-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.job-card-client{display:grid;gap:2px;min-width:0}.job-card-client strong{overflow:hidden;font-size:var(--text-lg);font-weight:var(--weight-bold);text-overflow:ellipsis;white-space:nowrap}.job-card-ref{color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.01em}.job-card-money{display:grid;justify-items:end;flex:0 0 auto;gap:1px;text-align:right}.job-card-money small{color:var(--color-text-secondary);font-size:var(--text-xs)}.job-card-money strong{font-size:var(--text-lg);font-weight:var(--weight-bold)}.job-card-desc{overflow:hidden;color:var(--color-text);font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap}.job-card-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.job-card-who{color:var(--color-text-tertiary);font-size:var(--text-xs)}.job-when{display:inline-flex;align-items:center;gap:var(--space-1-5);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.job-when.is-danger{color:var(--color-danger)}.job-when.is-warning{color:var(--color-warning)}.job-when.is-success{color:var(--color-success)}.job-when.is-neutral{color:var(--color-text-secondary);font-weight:var(--weight-medium)}.stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 var(--space-4);padding:0;list-style:none}.stepper li{position:relative;display:grid;justify-items:center;gap:var(--space-1-5);color:var(--color-text-tertiary);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-align:center}.stepper li:before{content:"";position:absolute;z-index:0;top:10px;left:-50%;width:100%;height:2px;background:var(--color-border-strong)}.stepper li:first-child:before{display:none}.stepper li.is-done:before,.stepper li.is-current:before{background:var(--color-primary)}.stepper-dot{position:relative;z-index:1;display:grid;place-items:center;width:22px;height:22px;border:2px solid var(--color-border-input);border-radius:50%;background:var(--color-surface);color:#fff}.stepper li.is-done .stepper-dot{border-color:var(--color-primary);background:var(--color-primary)}.stepper li.is-current .stepper-dot{border-color:var(--color-primary);box-shadow:0 0 0 4px #2e7d5b2e}.stepper li.is-current .stepper-dot:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--color-primary)}.stepper li.is-current,.stepper li.is-done{color:var(--color-text)}.job-next{display:grid;gap:var(--space-2);margin:var(--space-2) 0 var(--space-4)}.job-more-actions{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2)}.job-more-actions:empty{display:none}.money-section{display:grid;gap:var(--space-3);margin:var(--space-5) 0;padding:var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface-muted)}.money-section-head{display:flex;align-items:center;gap:var(--space-2)}.money-section-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary-text)}.money-section-title{flex:1;font-size:var(--text-lg);font-weight:var(--weight-bold)}.money-section .summary-tile{background:var(--color-surface)}.money-section .summary-tile.is-emphasis{background:var(--color-primary-soft)}.money-section .pay-link-panel{margin:0;background:var(--color-surface)}.money-section .subsection-title{margin:var(--space-2) 0 0}.money-section .inline-panel{margin:0;background:var(--color-surface)}.job-form{margin-bottom:var(--space-5);border-color:var(--color-primary-soft-border);box-shadow:var(--shadow-md),inset 0 3px 0 var(--color-primary)}.job-description{margin:var(--space-1) 0 var(--space-4);font-size:var(--text-lg);overflow-wrap:anywhere}.job-description span{color:var(--color-text-secondary)}.job-detail-facts,.drawer .facts{margin-top:var(--space-4)}.job-forward,.job-ready-message{flex:1 1 100%}.owed-total{display:grid;gap:2px;margin-bottom:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);background:var(--color-primary-soft)}.owed-total span{color:var(--color-primary-text);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.owed-total strong{font-size:var(--text-3xl);font-weight:var(--weight-bold);letter-spacing:-.02em}.owed-total small{color:var(--color-text-secondary);font-size:var(--text-sm)}.job-payment-form .pick-list{max-height:260px}.sales-page{--sales-c1: var(--chart-1);--sales-c2: var(--chart-2);--sales-c3: var(--chart-3);--sales-c4: var(--chart-4);--sales-c-grey: var(--chart-grey);--sales-exp: var(--chart-expense);--sales-s1: var(--chart-s1);--sales-s2: var(--chart-s2);display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.sales-page>.tabs{margin-bottom:0}.sales-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.sales-muted{margin:0;color:var(--color-text-secondary);font-size:var(--text-sm)}.sales-amount{white-space:nowrap;font-variant-numeric:tabular-nums}.sales-table small,.sales-close-table small{display:block}.sales-parts{display:block;margin-top:3px;color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-regular)}.sales-ok{color:var(--color-success);font-weight:var(--weight-bold)}.sales-over{color:var(--color-warning);font-weight:var(--weight-bold)}.sales-short{color:var(--color-danger);font-weight:var(--weight-bold)}.sales-diff-list{display:grid;gap:2px}.sales-badge{display:inline-block;margin-left:var(--space-2);padding:1px 8px;border-radius:var(--radius-full);background:var(--color-warning-bg);color:var(--color-warning);font-size:var(--text-2xs);font-weight:var(--weight-bold);white-space:nowrap}.sales-status{padding:3px 9px;border-radius:var(--radius-full);background:var(--color-surface-sunken);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap}.sales-status-closed{background:var(--color-success-bg);color:var(--color-success)}.sales-reversed td{color:var(--color-text-tertiary);text-decoration:line-through}.sales-reversed td small{text-decoration:none}.sales-reverse-note{margin-top:2px;color:var(--color-danger)}.sales-inline{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.sales-inline .input{flex:1 1 180px;min-height:40px}.sales-date-picker{min-width:170px}.sales-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3)}.sales-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);margin:var(--space-2) 0 var(--space-4)}.sales-kpi{display:grid;gap:2px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.sales-kpi span{color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.sales-kpi strong{font-size:var(--text-xl);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.sales-kpi-expense strong{color:var(--color-danger)}.select-sm{min-height:var(--control-h-sm);font-size:var(--text-sm)}.sales-tally form{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);margin-top:var(--space-4)}.sales-amount-field{display:grid;gap:var(--space-2);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.sales-amount-field input{width:100%;min-width:0;min-height:72px;padding:0 var(--space-4);border:2px solid var(--color-border-input);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);font-size:36px;font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.sales-amount-field input:focus{border-color:var(--color-primary);box-shadow:var(--ring);outline:none}.sales-channel-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.sales-channel{min-height:76px;padding:var(--space-2);border:0;border-radius:var(--radius-lg);background:var(--color-primary);box-shadow:var(--shadow-sm);color:#fff;font-size:var(--text-lg);font-weight:var(--weight-bold);cursor:pointer;transition:transform var(--duration-fast) ease,filter var(--duration-fast) ease,opacity var(--duration-fast) ease}.sales-channel:hover:not(:disabled){filter:brightness(.94)}.sales-channel-pochi{background:#1f5fa8}.sales-channel-personal{background:#6a3fa0}.sales-channel:disabled{opacity:.4;cursor:not-allowed}.sales-channel:not(:disabled):active{transform:scale(.98)}.sales-late-banner{margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-warning-bg);color:var(--color-warning);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.sales-options{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md)}.sales-options summary,.sales-summary-title{min-height:28px;color:var(--color-primary-text);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer}.sales-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3);margin:var(--space-3) 0}.sales-category{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-2);margin:0;padding:0;border:0}.sales-category-option{display:flex;align-items:center;gap:var(--space-2);min-height:52px;padding:0 var(--space-3);border:1px solid var(--color-border-input);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-md);font-weight:var(--weight-semibold);cursor:pointer}.sales-category-option input{width:18px;height:18px;margin:0}.sales-category-option.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:inset 0 0 0 1px var(--color-primary);color:var(--color-primary-text)}.sales-close-table th[scope=row]{background:transparent;color:var(--color-text);font-size:var(--text-md);letter-spacing:0;white-space:normal}.sales-close-table tfoot th,.sales-close-table tfoot td{border-bottom:0;background:var(--color-primary-soft)}.sales-grand{font-size:var(--text-2xl);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.sales-money-input{min-width:150px}.sales-money-input .field-label{font-size:var(--text-xs);color:var(--color-text-secondary)}.sales-cash-inputs{display:flex;flex-wrap:wrap;gap:var(--space-3)}.sales-note{margin-top:var(--space-4)}.sales-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.sales-confirm{display:grid;gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-4);border:1px solid var(--color-warning-border);border-radius:var(--radius-lg);background:var(--color-warning-bg)}.sales-why{margin-top:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm)}.sales-why.is-blocked{padding:var(--space-2) var(--space-3);border-left:3px solid var(--color-warning-solid);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-warning-bg);color:var(--color-warning);font-weight:var(--weight-semibold)}.sales-confirm-warning{padding:var(--space-2) var(--space-3);border-left:3px solid var(--color-warning-solid);background:var(--color-surface);color:var(--color-warning);font-weight:var(--weight-semibold)}.sales-setting{align-items:flex-end;margin-top:var(--space-3)}.sales-page .alert{margin:var(--space-3) 0}.sales-chart{margin-top:var(--space-2)}.sales-legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm)}.sales-legend-item{display:inline-flex;align-items:center;gap:var(--space-1-5)}.sales-legend-item b{color:var(--color-text);font-variant-numeric:tabular-nums}.sales-legend i,.sales-tooltip i{display:inline-block;width:10px;height:10px;border-radius:3px}.sales-chart-frame{position:relative}.sales-chart-frame svg{display:block;width:100%;height:auto;overflow:visible}.sales-grid{stroke:var(--color-border);stroke-width:1}.sales-axis{fill:var(--color-text-secondary);font-size:11px}.sales-hit{cursor:pointer;outline:none}.sales-hit:focus-visible{stroke:var(--color-focus);stroke-width:2}.sales-tooltip{position:absolute;z-index:3;top:0;display:grid;gap:var(--space-1);min-width:200px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg);font-size:var(--text-sm);pointer-events:none;transform:translate(-50%)}.sales-tooltip span{display:flex;align-items:center;gap:var(--space-1-5)}.sales-tooltip b{margin-left:auto;font-variant-numeric:tabular-nums}.sales-tooltip em{color:var(--color-text-secondary);font-size:var(--text-xs)}.sales-tooltip small{color:var(--color-warning)}.sales-tooltip-total{padding-top:var(--space-1);border-top:1px solid var(--color-border);font-weight:var(--weight-bold)}@media(max-width:760px){.sales-channel-buttons{grid-template-columns:1fr}.sales-channel{min-height:64px}.sales-amount-field input{font-size:32px}.sales-close-table{min-width:0}}.pay-shell{display:grid;align-content:start;justify-items:center;gap:var(--space-4);min-height:100vh;min-height:100dvh;padding:var(--space-6) var(--space-4) var(--space-10);background:radial-gradient(130% 55% at 50% 0%,#2a7f1b1f,#2a7f1b00 70%),var(--color-bg);color:var(--color-text)}.pay-brand{display:flex;align-items:center;gap:var(--space-3);width:min(100%,460px)}.pay-brand img{width:48px;height:48px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--color-border),var(--shadow-sm)}.pay-brand strong{display:block;font-size:var(--text-lg)}.pay-brand span{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-success);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.pay-card{display:grid;gap:var(--space-5);width:min(100%,460px);padding:var(--space-6) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-lg)}.pay-summary{display:grid;justify-items:center;gap:var(--space-1);text-align:center}.pay-reference{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--color-surface-sunken);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-bold)}.pay-reference span{color:var(--color-text-secondary);font-weight:var(--weight-medium)}.pay-due-label{margin-top:var(--space-3);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.pay-due{font-size:44px;font-weight:var(--weight-heavy);letter-spacing:-.03em;line-height:1.05}.pay-due-note{color:var(--color-text-secondary);font-size:var(--text-sm)}.pay-details{border:1px solid var(--color-border);border-radius:var(--radius-lg)}.pay-details-title{margin:0;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:var(--text-md);font-weight:var(--weight-semibold)}.pay-details>:not(.pay-details-title){margin:var(--space-3) var(--space-4)}.pay-description{color:var(--color-text-secondary);overflow-wrap:anywhere}.pay-items{display:grid;gap:var(--space-2);padding:0;list-style:none;font-size:var(--text-md)}.pay-items li{display:flex;justify-content:space-between;gap:var(--space-3);color:var(--color-text-secondary)}.pay-items li span{min-width:0;overflow-wrap:anywhere}.pay-items li strong{flex:0 0 auto;color:var(--color-text);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.pay-amounts{display:grid;gap:var(--space-1-5);padding-top:var(--space-3);border-top:1px dashed var(--color-border-strong)}.pay-amounts div{display:flex;justify-content:space-between;gap:var(--space-3)}.pay-amounts dt{color:var(--color-text-secondary)}.pay-amounts dd{margin:0;font-variant-numeric:tabular-nums}.pay-balance{font-weight:var(--weight-bold)}.pay-balance dt{color:var(--color-text)}.pay-form{display:grid;gap:var(--space-4)}.pay-form-title{font-size:var(--text-lg);font-weight:var(--weight-bold)}.pay-form label{display:grid;gap:var(--space-2);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.pay-form input{width:100%;min-height:56px;padding:0 var(--space-4);border:1px solid var(--color-border-input);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--text-xl);font-weight:var(--weight-semibold);transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.pay-form input:focus{border-color:var(--color-mpesa);box-shadow:0 0 0 3px #2a7f1b40;outline:none}.pay-form input[aria-invalid=true]{border-color:var(--color-danger-solid)}.pay-form small{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-regular)}.pay-form-error{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-danger-bg);color:var(--color-danger);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.pay-form-error svg{flex:0 0 auto;margin-top:1px}.pay-submit{min-height:58px;font-size:var(--text-lg)}.pay-trust{display:flex;align-items:flex-start;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-xs)}.pay-trust svg{flex:0 0 auto;margin-top:2px;color:var(--color-success)}.pay-result,.pay-waiting{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-4) 0;text-align:center}.pay-result-icon,.pay-phone-icon{display:grid;place-items:center;width:80px;height:80px;margin-bottom:var(--space-2);border-radius:50%}.pay-result.is-success .pay-result-icon{background:var(--color-mpesa);color:#fff;box-shadow:0 0 0 10px #2a7f1b1f;animation:pop-in var(--duration-slow) var(--ease-out)}.pay-result.is-muted .pay-result-icon{background:var(--color-surface-sunken);color:var(--color-text-secondary)}.pay-result.is-error .pay-result-icon{background:var(--color-danger-bg);color:var(--color-danger)}.pay-phone-icon{background:var(--color-warning-bg);color:var(--color-warning);animation:pulse-ring 1.8s ease-out infinite}.pay-result-title{font-size:var(--text-2xl);font-weight:var(--weight-bold)}.pay-result-amount{font-size:40px;font-weight:var(--weight-heavy);letter-spacing:-.03em;color:var(--color-mpesa)}.pay-result-text{max-width:34ch;color:var(--color-text-secondary);font-size:var(--text-md)}.pay-result-facts{width:100%;margin:var(--space-2) 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-muted);text-align:left}.pay-result-facts div{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-1-5) 0;font-size:var(--text-sm)}.pay-result-facts dt{color:var(--color-text-secondary)}.pay-result-facts dd{margin:0;font-weight:var(--weight-semibold);text-align:right}.pay-result .button,.pay-waiting .button{margin-top:var(--space-2)}.pay-waiting-note{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);color:var(--color-warning);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.pay-notice{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid;border-radius:var(--radius-lg);font-size:var(--text-sm)}.pay-notice div{display:grid;gap:2px}.pay-notice strong{font-size:var(--text-md)}.pay-notice.is-warning{border-color:var(--color-danger-border);background:var(--color-danger-bg);color:var(--color-danger)}.pay-notice.is-success{border-color:var(--color-success-border);background:var(--color-success-bg);color:var(--color-success)}.pay-footnote{max-width:460px;color:var(--color-text-secondary);font-size:var(--text-sm);text-align:center}@media(max-width:480px){.pay-shell{padding-top:var(--space-4)}.pay-card{padding:var(--space-5) var(--space-4)}.pay-due{font-size:40px}}
