@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.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{--font-sans: "Geist Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-page-title: 28px;--text-section-title: 18px;--text-card-title: 15px;--text-body: 14px;--text-input: 16px;--text-caption: 12px;--text-kpi: 30px;--space-4: 4px;--space-8: 8px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--space-40: 40px;--radius-badge: 999px;--radius-control: 8px;--radius-card: 10px;--radius-column: 10px;--radius-sheet: 16px;--motion-fast: .12s;--motion-base: .18s;--motion-slow: .24s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-exit: cubic-bezier(.4, 0, 1, 1);--control-min-height: 44px;--shell-sidebar-desktop: 256px;--shell-sidebar-tablet: 72px;--shell-content-max-width: 1280px;--shell-content-padding: 36px;color-scheme:light;--color-bg: #F7F7F4;--color-bg-sidebar: #F2F1ED;--color-panel: #F2F1ED;--color-raised: #F7F7F4;--color-subtle: #EBEAE5;--color-column: #EBEAE5;--color-field: #FDFDFB;--color-overlay: rgba(38, 37, 30, .45);--color-text: #26251E;--color-text-secondary: #6B6A62;--color-text-tertiary: #6B6A62;--color-text-disabled: #AAA89F;--color-border: #DDDCD5;--color-border-strong: #CDCBC2;--color-border-input: #CDCBC2;--color-primary: #26251E;--color-primary-hover: #14120B;--color-primary-active: #14120B;--color-on-primary: #F7F7F4;--color-primary-subtle: #EBEAE5;--color-primary-text: #26251E;--color-focus: #26251E;--color-success-text: #24694B;--color-success-bg: #EDF5F0;--color-warning-text: #916014;--color-warning-bg: #FAF5E9;--color-danger-text: #A63232;--color-danger-bg: #FBEEEE;--color-danger-fill: #A63232;--color-on-danger: #FFFFFF;--color-attention-text: #B83F00;--color-attention-bg: #FDEDE4;--color-status-draft-text: #6B6A62;--color-status-draft-bg: #EBEAE5;--color-status-active-text: #24694B;--color-status-active-bg: #EDF5F0;--color-status-done-text: #26251E;--color-status-done-bg: #DDDCD5;--color-status-cancelled-text: #6B6A62;--color-status-cancelled-bg: #F2F1ED;--color-role-manager-bg: #2B4A7E;--color-role-manager-fg: #FFFFFF;--color-role-employee-bg: #EFE4CF;--color-role-employee-fg: #6A4B16;--chart-version-1: #2B4A7E;--chart-version-2: #F54E00;--chart-version-3: #24694B;--chart-version-4: #916014;--chart-version-5: #A63232;--chart-version-6: #6B6A62;--chart-version-older: #AAA89F;--chart-driver-bom: #26251E;--chart-driver-price: #F54E00;--chart-driver-adjustment: #6B6A62;--chart-grid: #EBEAE5;--chart-axis: #AAA89F;--shadow-card: 0 0 0 1px rgba(28, 25, 23, .06), 0 1px 2px rgba(28, 25, 23, .04);--shadow-raised: 0 0 0 1px rgba(28, 25, 23, .06), 0 8px 24px rgba(28, 25, 23, .1)}:root[data-theme=dark]{color-scheme:dark;--color-bg: #14120B;--color-bg-sidebar: #1B1913;--color-panel: #1B1913;--color-raised: #24221B;--color-subtle: #24221B;--color-column: #1B1913;--color-field: #0F0D08;--color-overlay: rgba(0, 0, 0, .6);--color-text: #EDECE6;--color-text-secondary: #AAA89F;--color-text-tertiary: #AAA89F;--color-text-disabled: #4A473C;--color-border: #343229;--color-border-strong: #4A473C;--color-border-input: #4A473C;--color-primary: #EDECE6;--color-primary-hover: #FFFFFF;--color-primary-active: #DDDCD5;--color-on-primary: #14120B;--color-primary-subtle: #24221B;--color-primary-text: #EDECE6;--color-focus: #EDECE6;--color-success-text: #A1D8B6;--color-success-bg: #16271F;--color-warning-text: #E7C27D;--color-warning-bg: #2A2214;--color-danger-text: #EEAAAA;--color-danger-bg: #2D1D1D;--color-danger-fill: #A63232;--color-on-danger: #FFFFFF;--color-attention-text: #FF9A66;--color-attention-bg: #2A1A10;--color-status-draft-text: #AAA89F;--color-status-draft-bg: #24221B;--color-status-active-text: #A1D8B6;--color-status-active-bg: #16271F;--color-status-done-text: #EDECE6;--color-status-done-bg: #343229;--color-status-cancelled-text: #AAA89F;--color-status-cancelled-bg: #1B1913;--color-role-manager-bg: #9DB8E6;--color-role-manager-fg: #0F1D33;--color-role-employee-bg: #4A3D26;--color-role-employee-fg: #F1DFBB;--chart-version-1: #9DB8E6;--chart-version-2: #FF6A26;--chart-version-3: #A1D8B6;--chart-version-4: #E7C27D;--chart-version-5: #EEAAAA;--chart-version-6: #AAA89F;--chart-version-older: #4A473C;--chart-driver-bom: #EDECE6;--chart-driver-price: #FF6A26;--chart-driver-adjustment: #AAA89F;--chart-grid: #24221B;--chart-axis: #4A473C;--shadow-card: 0 0 0 1px rgba(255, 255, 255, .06);--shadow-raised: 0 0 0 1px rgba(255, 255, 255, .08), 0 8px 24px rgba(0, 0, 0, .5)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--color-bg: #14120B;--color-bg-sidebar: #1B1913;--color-panel: #1B1913;--color-raised: #24221B;--color-subtle: #24221B;--color-column: #1B1913;--color-field: #0F0D08;--color-overlay: rgba(0, 0, 0, .6);--color-text: #EDECE6;--color-text-secondary: #AAA89F;--color-text-tertiary: #AAA89F;--color-text-disabled: #4A473C;--color-border: #343229;--color-border-strong: #4A473C;--color-border-input: #4A473C;--color-primary: #EDECE6;--color-primary-hover: #FFFFFF;--color-primary-active: #DDDCD5;--color-on-primary: #14120B;--color-primary-subtle: #24221B;--color-primary-text: #EDECE6;--color-focus: #EDECE6;--color-success-text: #A1D8B6;--color-success-bg: #16271F;--color-warning-text: #E7C27D;--color-warning-bg: #2A2214;--color-danger-text: #EEAAAA;--color-danger-bg: #2D1D1D;--color-danger-fill: #A63232;--color-on-danger: #FFFFFF;--color-attention-text: #FF9A66;--color-attention-bg: #2A1A10;--color-status-draft-text: #AAA89F;--color-status-draft-bg: #24221B;--color-status-active-text: #A1D8B6;--color-status-active-bg: #16271F;--color-status-done-text: #EDECE6;--color-status-done-bg: #343229;--color-status-cancelled-text: #AAA89F;--color-status-cancelled-bg: #1B1913;--color-role-manager-bg: #9DB8E6;--color-role-manager-fg: #0F1D33;--color-role-employee-bg: #4A3D26;--color-role-employee-fg: #F1DFBB;--chart-version-1: #9DB8E6;--chart-version-2: #FF6A26;--chart-version-3: #A1D8B6;--chart-version-4: #E7C27D;--chart-version-5: #EEAAAA;--chart-version-6: #AAA89F;--chart-version-older: #4A473C;--chart-driver-bom: #EDECE6;--chart-driver-price: #FF6A26;--chart-driver-adjustment: #AAA89F;--chart-grid: #24221B;--chart-axis: #4A473C;--shadow-card: 0 0 0 1px rgba(255, 255, 255, .06);--shadow-raised: 0 0 0 1px rgba(255, 255, 255, .08), 0 8px 24px rgba(0, 0, 0, .5)}}@media(prefers-reduced-motion:reduce){:root{--motion-fast: 0ms;--motion-base: 0ms;--motion-slow: 0ms}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-body);line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--color-focus);box-shadow:0 0 0 1px var(--color-focus)}h1,h2,p{margin:0}h1{font-size:var(--text-page-title);font-weight:700;letter-spacing:-.02em;line-height:1.2}h2{font-size:var(--text-section-title);font-weight:700;letter-spacing:-.01em;line-height:1.3}h3{margin:0;font-size:var(--text-card-title);font-weight:600}.eyebrow{font-size:var(--text-caption);font-weight:500;color:var(--color-text-secondary)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}input,select,textarea{background:var(--color-field);border:1px solid var(--color-border-input);border-radius:var(--radius-control);min-height:var(--control-min-height);padding:10px 12px;max-width:100%;width:100%;font-size:var(--text-input);transition:border-color var(--motion-fast) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard)}input::placeholder,textarea::placeholder{color:var(--color-text-tertiary)}input:disabled,select:disabled,textarea:disabled{color:var(--color-text-disabled)}textarea{min-height:90px;resize:vertical}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--color-primary)}input[type=file]{font-size:var(--text-input);padding:8px;border:0}fieldset{border:0;margin:0;padding:0;min-width:0}a{color:inherit}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-8);min-height:var(--control-min-height);padding:10px var(--space-16);border-radius:var(--radius-control);border:1px solid transparent;font-weight:600;white-space:nowrap;text-decoration:none;transition:background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),opacity var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.button:active:not(:disabled){transform:scale(.98)}.button-primary{background:var(--color-primary);color:var(--color-on-primary)}.button-primary:active:not(:disabled){background:var(--color-primary-active)}.button-outline{background:var(--color-panel);border-color:var(--color-border-strong);color:var(--color-text)}.button-ghost{background:transparent;color:var(--color-text)}.button-danger{background:var(--color-danger-fill);color:var(--color-on-danger)}.button-icon{width:var(--control-min-height);padding:0;flex:none}.button-small{padding:8px var(--space-12)}@media(hover:hover){.button-primary:hover:not(:disabled){background:var(--color-primary-hover)}.button-outline:hover:not(:disabled),.button-ghost:hover:not(:disabled){background:var(--color-subtle)}.button-danger:hover:not(:disabled){opacity:.9}}.wordmark{font-size:22px;font-weight:700;letter-spacing:-.02em;border:0;background:none;padding:0;color:var(--color-text);text-align:left}.muted,.field-hint{color:var(--color-text-secondary)}.field-hint{font-size:var(--text-caption);font-weight:500;margin-top:-16px}.stack{display:flex;flex-direction:column;gap:var(--space-20)}.field{display:flex;flex-direction:column;gap:var(--space-8);font-weight:600}.field>span{font-size:13px}.field input,.field select,.field textarea{font-weight:400}.error-message{color:var(--color-danger-text);font-size:var(--text-body);font-weight:500}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:var(--space-40) max(var(--space-24),env(safe-area-inset-right)) var(--space-40) max(var(--space-24),env(safe-area-inset-left))}.auth-panel{width:100%;max-width:400px;display:flex;flex-direction:column;gap:var(--space-24);background:var(--color-panel);box-shadow:var(--shadow-card);border-radius:var(--radius-sheet);padding:var(--space-32)}.auth-panel .wordmark{align-self:center;display:inline-flex;align-items:center;gap:6px;font-size:22px;font-weight:700;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-control);background:var(--color-primary);color:var(--color-on-primary);font-size:17px;font-weight:700;letter-spacing:-.02em}.auth-heading{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.auth-panel h1{font-size:24px}.auth-note{font-size:var(--text-body);color:var(--color-text-secondary)}.auth-note strong{display:block;margin-top:6px;color:var(--color-text)}.auth-link{align-self:center;min-height:var(--control-min-height);color:var(--color-primary-text)}.rules{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-8);font-size:13px}.rule{display:flex;align-items:center;gap:var(--space-8);color:var(--color-text-secondary)}.rule-ok{color:var(--color-success-text)}.app-shell{min-height:100dvh;display:grid;grid-template-columns:var(--shell-sidebar-desktop) minmax(0,1fr);align-items:start}.topbar{display:none}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:var(--space-24);padding:var(--space-24) var(--space-12) var(--space-16);background:var(--color-bg-sidebar);border-right:1px solid var(--color-border);overflow-y:auto;scrollbar-gutter:stable}.sidebar-brand{min-height:var(--control-min-height);padding:0 var(--space-8);display:flex;align-items:center;font-size:20px}.topbar .wordmark,.sidebar-brand{display:inline-flex;align-items:center;gap:var(--space-8)}.topbar .brand-mark,.sidebar-brand .brand-mark{width:36px;height:36px;font-size:15px}.main-nav{display:flex;flex-direction:column;gap:var(--space-4);flex:1}.main-nav button{position:relative;display:flex;align-items:center;gap:var(--space-12);min-height:var(--control-min-height);padding:10px var(--space-12);border:0;border-radius:var(--radius-control);background:transparent;color:var(--color-text-secondary);text-align:left;font-size:var(--text-body);font-weight:500;transition:color var(--motion-fast) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard)}.main-nav button svg{flex:none}.main-nav button[aria-current=page]{color:var(--color-primary-text);background:var(--color-primary-subtle);font-weight:600}@media(hover:hover){.main-nav button:hover{color:var(--color-text);background:var(--color-subtle)}.main-nav button[aria-current=page]:hover{color:var(--color-primary-text);background:var(--color-primary-subtle)}}.nav-label-short{display:none}.topbar-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-section-title);font-weight:600;color:var(--color-text)}.topbar-back,.topbar-home{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;margin-left:calc(-1 * var(--space-8));border:0;border-radius:var(--radius-control);background:transparent;color:var(--color-text)}@media(hover:hover){.topbar-back:hover,.topbar-home:hover{background:var(--color-subtle)}}@media(max-width:699.98px){.back-inline{display:none}}.sidebar-user{display:flex;align-items:center;gap:var(--space-12);min-height:56px;padding:var(--space-8);border:0;border-radius:var(--radius-control);background:transparent;text-align:left;min-width:0;transition:background-color var(--motion-fast) var(--ease-standard)}@media(hover:hover){.sidebar-user:hover{background:var(--color-subtle)}}.sidebar-user-text{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);min-width:0}.sidebar-user-text strong{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}.avatar{display:inline-grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;border:0;background:var(--color-subtle);color:var(--color-text);box-shadow:var(--shadow-card);font-size:var(--text-caption);font-weight:700;padding:0}.topbar .avatar{width:var(--control-min-height);height:var(--control-min-height)}.content{width:100%;max-width:var(--shell-content-max-width);margin:0 auto;padding:var(--shell-content-padding);min-width:0;min-height:100dvh}.notice{padding:var(--space-12);color:var(--color-success-text);background:var(--color-success-bg);border-radius:var(--radius-control);margin-bottom:var(--space-20);font-weight:500}.entry-landing{max-width:560px;padding:8vh 0 0;display:flex;flex-direction:column;gap:var(--space-12)}.entry-hint{color:var(--color-text-secondary);font-size:15px;max-width:48ch}.entry-actions{margin-top:var(--space-16)}.entry-cta{min-height:52px;padding:14px 28px;font-size:var(--text-input)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--space-20);margin-bottom:28px}.scope-label{font-size:var(--text-caption);font-weight:500;color:var(--color-text-secondary);margin-top:var(--space-8)}.toolbar{display:flex;gap:var(--space-12);margin-bottom:var(--space-20);align-items:center}.toolbar>select{width:auto;max-width:200px;font-size:var(--text-input)}.searchbox{display:flex;align-items:center;gap:10px;border:1px solid var(--color-border-input);border-radius:var(--radius-control);background:var(--color-field);padding:0 var(--space-12);flex:1;min-width:0}.searchbox svg{flex:none;color:var(--color-text-secondary)}.searchbox input{border:0;background:none;padding-left:0;width:100%;min-width:0}.searchbox input:focus-visible{box-shadow:none}.searchbox:focus-within{border-color:var(--color-focus);box-shadow:0 0 0 1px var(--color-focus)}.segmented{display:inline-flex;background:var(--color-subtle);padding:3px;border-radius:var(--radius-control);gap:3px}.segmented button{border:0;background:none;border-radius:8px;padding:8px 18px;min-height:var(--control-min-height);color:var(--color-text-secondary);font-weight:500;transition:color var(--motion-fast) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard)}.segmented button[aria-pressed=true]{background:var(--color-panel);color:var(--color-primary-text);font-weight:600;box-shadow:var(--shadow-card)}.results-meta{display:flex;justify-content:space-between;gap:var(--space-20);font-size:var(--text-caption);font-weight:500;color:var(--color-text-secondary);margin:22px 0 var(--space-12)}.results-meta strong{color:var(--color-text);font-size:var(--text-body);font-variant-numeric:tabular-nums}.table-wrap{overflow:auto;scrollbar-gutter:stable;box-shadow:var(--shadow-card);border-radius:var(--radius-card);background:var(--color-panel);margin-bottom:var(--space-20)}.ledger{width:100%;border-collapse:collapse;min-width:540px}.ledger th{background:var(--color-panel);font-size:var(--text-caption);font-weight:500;color:var(--color-text-secondary);text-align:left;padding:var(--space-12) var(--space-16);border-bottom:1px solid var(--color-border-strong)}@media(hover:hover){.ledger tbody tr:hover td{background:var(--color-subtle)}}.ledger td{padding:var(--space-16);border-top:1px solid var(--color-border);vertical-align:top;font-size:13px}.ledger tbody tr:first-child td{border-top:0}.ledger .right{text-align:right}.amount{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.text-link{padding:0;background:none;border:0;text-align:left;color:var(--color-primary-text);text-decoration:underline;text-underline-offset:3px;min-height:28px}.item-name{font-weight:600;font-size:var(--text-body)}.row-subtitle,.row-reference{display:block;font-size:var(--text-caption);font-weight:500;color:var(--color-text-secondary);margin-top:var(--space-4)}.empty-state{min-height:160px;padding:64px var(--space-20);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-12);color:var(--color-text-secondary)}.loading{display:flex;gap:10px;align-items:center;justify-content:center;min-height:160px;padding:var(--space-40);color:var(--color-text-secondary)}.loading svg{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.initial-loading{min-height:100dvh;display:grid;place-items:center}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);z-index:20}.dialog-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(440px,calc(100% - 32px));max-height:90dvh;overflow:auto;background:var(--color-raised);box-shadow:var(--shadow-raised);border-radius:var(--radius-sheet);padding:var(--space-24);z-index:21}.dialog-overlay[data-state=open]{animation:overlay-in var(--motion-slow) var(--ease-standard)}.dialog-overlay[data-state=closed]{animation:overlay-out var(--motion-base) var(--ease-exit) forwards}.dialog-content[data-state=open]{animation:dialog-in var(--motion-slow) var(--ease-standard)}.dialog-content[data-state=closed]{animation:dialog-out var(--motion-base) var(--ease-exit) forwards}@keyframes overlay-in{0%{opacity:0}}@keyframes overlay-out{to{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translate(-50%,calc(-50% + 12px)) scale(.98)}}@keyframes dialog-out{to{opacity:0;transform:translate(-50%,calc(-50% + 8px)) scale(.98)}}@keyframes sheet-in{0%{opacity:0;transform:translateY(16px)}}@keyframes sheet-out{to{opacity:0;transform:translateY(12px)}}.dialog-wide{width:min(760px,calc(100% - 32px))}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);margin-bottom:var(--space-20)}.dialog-header h2{font-size:20px}.actions{display:flex;gap:var(--space-8);align-items:center;flex-wrap:wrap}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12)}.period-controls{display:flex;gap:var(--space-16);flex-wrap:wrap;margin-bottom:28px}.period-controls>.field{flex:1;min-width:150px}.summary{padding:28px 0 var(--space-32);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-32);display:flex;flex-direction:column;gap:var(--space-8)}.summary>span{color:var(--color-text-secondary);font-size:13px;font-weight:500}.summary>strong{font-size:36px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.breakdown-list>div{display:flex;justify-content:space-between;align-items:center;gap:var(--space-20);padding:18px 0;border-bottom:1px solid var(--color-border)}.breakdown-list strong{font-variant-numeric:tabular-nums}.editor-page{max-width:880px;margin:0 auto}.editor-page>h1{margin:var(--space-16) 0 28px}.align-start{align-self:flex-start}.form-section{padding:var(--space-24) 0;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-20)}.form-section-head{display:flex;gap:var(--space-12);align-items:flex-start}.form-section-head p{font-size:13px;color:var(--color-text-secondary);margin-top:2px}.step{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--color-primary-subtle);color:var(--color-primary-text);font-size:13px;font-weight:700}.invoice-table{box-shadow:var(--shadow-card);border-radius:var(--radius-card);overflow:hidden;background:var(--color-panel)}.invoice-table-head,.invoice-row{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(70px,.7fr) minmax(100px,1fr) minmax(110px,1.1fr);gap:var(--space-12);align-items:center;padding:var(--space-12)}.invoice-table-head{font-size:var(--text-caption);font-weight:500;color:var(--color-text-secondary);background:var(--color-panel);border-bottom:1px solid var(--color-border-strong)}.invoice-table-head>span:last-child{text-align:right}.invoice-row{border-bottom:1px solid var(--color-border);padding-block:14px}.invoice-row label,.invoice-row .cell-amount{display:block;min-width:0}.mobile-label{display:none}.invoice-row input,.invoice-row select{min-width:0;padding:8px 10px;font-size:var(--text-input)}.line-meta{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-caption);font-weight:500;color:var(--color-text-secondary)}.line-amount{display:block;text-align:right;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.table-actions{display:flex;justify-content:space-between;gap:var(--space-8);padding:var(--space-12)}.upload-field{border:1px dashed var(--color-border-strong);border-radius:var(--radius-control);display:flex;align-items:center;gap:var(--space-8);padding:10px;background:var(--color-panel)}.invoice-footer{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:var(--space-24);padding:var(--space-16) 0 calc(var(--space-16) + env(safe-area-inset-bottom,0px));background:var(--color-bg);box-shadow:0 -1px 0 var(--color-border)}.invoice-footer>div{display:flex;flex-direction:column;gap:2px}.invoice-footer strong{font-size:28px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.attachment-list{list-style:none;padding:0;margin:0}.attachment-list li{display:flex;align-items:center;justify-content:space-between;gap:10px}.attachment-list span{overflow-wrap:anywhere}.invoice-metadata{display:flex;gap:var(--space-16);flex-wrap:wrap;margin:var(--space-24) 0;color:var(--color-text-secondary)}.invoice-metadata strong{color:var(--color-text)}.detail-total{display:flex;justify-content:space-between;align-items:center;padding:var(--space-20) 0;margin:var(--space-12) 0 var(--space-24);border-bottom:1px solid var(--color-border)}.detail-total strong{font-size:24px;font-variant-numeric:tabular-nums}.detail-notes{margin-bottom:var(--space-24);white-space:pre-wrap}.receipt-gallery{display:flex;gap:var(--space-16);flex-wrap:wrap;margin:var(--space-16) 0 28px}.receipt{display:flex;flex-direction:column;gap:var(--space-8);max-width:140px;text-decoration:none}.receipt img{width:140px;height:110px;object-fit:cover;border-radius:var(--radius-control);box-shadow:var(--shadow-card)}.receipt span{display:flex;gap:5px;font-size:11px;overflow-wrap:anywhere}.audit-list{list-style:none;padding:0}.audit-list li{display:flex;justify-content:space-between;gap:var(--space-12);border-bottom:1px solid var(--color-border);padding:var(--space-12) 0;font-size:var(--text-caption)}.account-page{max-width:540px;margin:auto}.account-page h1{margin:var(--space-24) 0}.profile{display:flex;flex-direction:column;gap:6px;padding:var(--space-20) 0 28px}.profile span{color:var(--color-text-secondary)}.account-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-20);padding:var(--space-20) 0;min-height:60px;border:0;border-bottom:1px solid var(--color-border);background:none;text-align:left}.account-row small{display:block;color:var(--color-text-secondary);margin-top:5px}.employee-list>div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-20);padding:var(--space-20) 0;border-bottom:1px solid var(--color-border)}.employee-list p{font-size:var(--text-caption);margin:5px 0}.badge{display:inline-flex;align-items:center;min-height:22px;background:var(--color-status-draft-bg);border:1px solid var(--color-border);padding:0 10px;border-radius:var(--radius-badge);font-size:12px;font-weight:700;line-height:1.5;color:var(--color-status-draft-text);white-space:nowrap}.check-field{display:flex;gap:10px;align-items:flex-start;font-size:13px}progress{width:100%;accent-color:var(--color-primary)}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.file-picker{position:relative;display:flex;align-items:center;justify-content:center;min-height:var(--control-min-height);flex:1;font-weight:400;font-size:var(--text-input);cursor:pointer}.file-picker input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.file-picker:focus-within{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:6px}.mobile-row-meta{display:none}.dialog-content .auth-page{padding:0;min-height:0}.dialog-content .auth-panel{gap:var(--space-20)}.dialog-content .auth-panel .wordmark{display:none}@media(min-width:700px)and (max-width:1023.98px){.app-shell{grid-template-columns:var(--shell-sidebar-tablet) minmax(0,1fr)}.sidebar{padding:var(--space-16) 6px;align-items:stretch;gap:var(--space-16)}.sidebar-brand{justify-content:center;padding:0}.brand-full{display:none}.main-nav button{flex-direction:column;justify-content:center;gap:var(--space-4);padding:var(--space-8) 2px;min-height:56px;font-size:11px;text-align:center;line-height:1.15}.sidebar-user{justify-content:center;padding:6px;border:0}.sidebar-user-text{display:none}.content{padding:28px var(--space-24)}}@media(max-width:699.98px){.app-shell{display:block}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:env(safe-area-inset-top,0px) max(var(--space-16),env(safe-area-inset-right)) 0 max(var(--space-16),env(safe-area-inset-left));background:var(--color-bg);box-shadow:0 1px 0 var(--color-border)}.topbar .wordmark{font-size:18px}.sidebar{display:contents}.sidebar-brand,.sidebar-user{display:none}.main-nav{position:fixed;left:0;right:0;bottom:0;z-index:10;flex-direction:row;gap:0;flex:none;background:var(--color-panel);border-top:1px solid var(--color-border);padding:var(--space-4) max(var(--space-4),env(safe-area-inset-right)) env(safe-area-inset-bottom,0px) max(var(--space-4),env(safe-area-inset-left))}.main-nav button{flex:1;min-width:0;flex-direction:column;justify-content:center;gap:2px;min-height:52px;padding:6px 2px;font-size:11px;text-align:center;line-height:1.15}.main-nav button[aria-current=page],.main-nav button[aria-current=page]:hover{background:none;color:var(--color-primary)}.nav-label-full{display:none}.nav-label-short{display:inline}.content{min-height:0;padding:var(--space-20) max(var(--space-16),env(safe-area-inset-right)) calc(88px + env(safe-area-inset-bottom,0px)) max(var(--space-16),env(safe-area-inset-left))}h1{font-size:24px}.entry-landing{padding-top:4vh}.entry-cta{width:100%}.auth-page{align-items:start;padding-top:calc(var(--space-40) + env(safe-area-inset-top,0px))}.auth-panel{padding:var(--space-24) var(--space-20)}.page-heading{margin-bottom:var(--space-24);gap:var(--space-12)}.toolbar{gap:var(--space-8)}.toolbar>select{max-width:150px}.editor-page>h1{margin-bottom:var(--space-20)}.invoice-table{box-shadow:none;background:none;overflow:visible;display:flex;flex-direction:column;gap:var(--space-12)}.invoice-table-head{display:none}.invoice-row{grid-template-columns:1fr 1fr;gap:var(--space-12);padding:14px;border:0;box-shadow:var(--shadow-card);border-radius:var(--radius-card);background:var(--color-panel)}.invoice-row .item-cell{grid-column:1 / -1}.invoice-row .cell-amount{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:baseline}.mobile-label{display:block;margin-bottom:var(--space-4);font-size:var(--text-caption);font-weight:500;color:var(--color-text-secondary)}.cell-amount .mobile-label{margin:0}.line-amount{font-size:17px}.table-actions{padding:0}.invoice-footer{bottom:calc(57px + env(safe-area-inset-bottom,0px));margin-inline:calc(-1*max(var(--space-16),env(safe-area-inset-left))) calc(-1*max(var(--space-16),env(safe-area-inset-right)));padding:var(--space-12) max(var(--space-16),env(safe-area-inset-right)) var(--space-12) max(var(--space-16),env(safe-area-inset-left));gap:var(--space-12)}.invoice-footer strong{font-size:22px}.summary>strong{font-size:32px}.dialog-content{padding:var(--space-20)}.employee-list>div{align-items:flex-start;flex-direction:column}.period-controls{gap:10px}.period-controls>.field{min-width:135px}.dialog-content .auth-panel{box-shadow:none;padding:0}}@media(max-width:699.98px){.history-ledger{min-width:0}.history-ledger th:nth-child(2),.history-ledger td:nth-child(2),.history-ledger th:nth-child(3),.history-ledger td:nth-child(3){display:none}.history-ledger td{padding:var(--space-16) 10px}.history-ledger th{padding:var(--space-12) 10px}.history-ledger .amount{font-size:13px}.mobile-row-meta{display:block;color:var(--color-text-secondary);font-size:11px;margin-top:6px}}.dialog-content .auth-panel{box-shadow:none;padding:0;background:none;max-width:none}@media(pointer:coarse){.text-link,.analytics-page .text-link,.auth-link,.topbar .wordmark,.range-presets button{min-height:var(--control-min-height);display:inline-flex;align-items:center}}@media(max-width:699px){.auth-page:not(.dialog-content .auth-page) .auth-panel{box-shadow:none;background:transparent;padding:var(--space-8) 0 var(--space-24)}}.role-tag{display:inline-flex;align-items:center;min-height:22px;padding:0 10px;border-radius:var(--radius-badge);font-size:12px;font-weight:700;white-space:nowrap;border:1px solid transparent}.role-tag-super_admin{background:var(--color-subtle);color:var(--color-text);border-color:var(--color-border)}.role-tag-manager{background:var(--color-role-manager-bg);color:var(--color-role-manager-fg)}.role-tag-employee{background:var(--color-role-employee-bg);color:var(--color-role-employee-fg)}.state-tag{display:inline-flex;align-items:center;gap:var(--space-8);font-size:13px;font-weight:500;white-space:nowrap}.state-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--color-text-secondary)}.state-active .state-dot{background:var(--color-success-text)}.state-active{color:var(--color-success-text)}.state-pending .state-dot,.state-expired .state-dot{background:var(--color-attention-text)}.state-pending,.state-expired{color:var(--color-attention-text)}.state-suspended,.state-deleted{color:var(--color-text-secondary)}.state-deleted .state-dot{background:transparent;border:1.5px solid var(--color-text-secondary)}.dialog-stable{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:min(720px,90dvh);overflow:hidden}.dialog-stable .dialog-body{min-height:0;overflow:auto;scrollbar-gutter:stable}.dialog-stable .dialog-footer{display:flex;justify-content:flex-end;gap:var(--space-8);flex-wrap:wrap;min-height:60px;padding-top:var(--space-16);border-top:1px solid var(--color-border);margin-top:var(--space-12)}.dialog-full{width:min(960px,calc(100% - 32px))}@media(max-width:699.98px){.dialog-content.dialog-full{top:0;right:0;bottom:0;left:0;transform:none;width:100%;height:100dvh;max-height:none;border-radius:0;padding:calc(var(--space-16) + env(safe-area-inset-top,0px)) max(var(--space-16),env(safe-area-inset-right)) calc(var(--space-16) + env(safe-area-inset-bottom,0px)) max(var(--space-16),env(safe-area-inset-left))}.dialog-content.dialog-full[data-state=open]{animation:sheet-in var(--motion-slow) var(--ease-standard)}.dialog-content.dialog-full[data-state=closed]{animation:sheet-out var(--motion-base) var(--ease-exit) forwards}.dialog-full input,.dialog-full select,.dialog-full textarea{font-size:var(--text-input)}}
