/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--spacing:.25rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-ui);--default-mono-font-family:"SFMono-Regular", Consolas, "Liberation Mono", monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.\!start{inset-inline-start:var(--spacing)!important}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.hidden{display:none}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--background:#f6f5ef;--foreground:#202826;--muted:#697371;--line:#d9ddd2;--panel:#fff;--panel-soft:#fbfaf6;--ink:#18211f;--green:#2d6a5b;--green-soft:#dfeee8;--red:#ba4b3f;--red-soft:#f6dfdc;--gold:#a97822;--gold-soft:#f3ead4;--blue:#405c85;--blue-soft:#e2e8f1;--list-row-height:48px;--list-visible-rows:10;--font-ui:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans SC", Arial, sans-serif;--font-display:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans SC", Arial, sans-serif}*{box-sizing:border-box}html{scrollbar-gutter:stable;overflow-y:scroll}body{background:var(--background);color:var(--foreground);font-family:var(--font-ui);font-synthesis:none;margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding:24px}.login-shell{background:linear-gradient(180deg, #ffffff75, #f6f5ef00), var(--background);align-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{grid-template-columns:minmax(0,1.05fr) minmax(320px,.8fr);gap:18px;width:100%;max-width:980px;margin:0 auto;display:grid}.login-brand-block,.login-route-card{background:var(--panel);border:1px solid var(--line);border-radius:8px}.login-brand-block{gap:18px;min-height:360px;padding:34px;display:grid}.login-brand-block p:not(.eyebrow){color:var(--muted);max-width:560px;font-size:15px;line-height:1.75}.login-account-note{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;max-width:520px;padding:12px 14px;display:flex}.login-account-note span{color:var(--muted);font-size:13px;font-weight:700}.login-account-note strong{color:var(--ink);overflow-wrap:anywhere;min-width:0}.login-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.login-form{gap:12px;max-width:520px;display:grid}.login-error-note{background:var(--red-soft);color:var(--red);border:1px solid #e7b8b1;border-radius:8px;max-width:520px;padding:10px 12px;font-size:13px;font-weight:800;line-height:1.5}.login-primary,.login-secondary{border-radius:6px;justify-content:center;align-items:center;min-height:44px;padding:0 18px;font-weight:800;text-decoration:none;display:inline-flex}.login-primary{background:var(--green);border:1px solid var(--green);color:#fff}.login-primary:disabled{color:#646b68;cursor:not-allowed;background:#c9cec7;border-color:#c9cec7}.login-secondary{border:1px solid var(--line);color:var(--green);background:#fff}.login-route-card{align-self:stretch;gap:14px;padding:22px;display:grid}.login-route-card>span{color:var(--muted);font-size:13px;font-weight:800}.login-route-list{gap:10px;display:grid}.login-route-row{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:76px;padding:12px;display:grid}.login-route-row strong,.login-route-row small{display:block}.login-route-row strong{color:var(--ink);font-size:15px}.login-route-row small{color:var(--muted);margin-top:3px;line-height:1.5}.login-route-row b{background:var(--green-soft);color:var(--green);white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:13px}@media print{body.print-analysis{background:#fff}body.print-analysis *{visibility:hidden}body.print-analysis .analysis-export-scope,body.print-analysis .analysis-export-scope *{visibility:visible}body.print-analysis .analysis-export-scope{width:100%;position:absolute;top:0;left:0}body.print-analysis .no-print,body.print-analysis .side-nav,body.print-analysis .topbar{display:none!important}body.print-analysis .panel{break-inside:avoid;box-shadow:none}}.topbar{background:var(--panel);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;width:100%;max-width:1440px;margin:0 auto 18px;padding:20px;display:flex}.eyebrow{color:var(--green);margin:0 0 6px;font-size:13px;font-weight:700}h1,h2,p{margin:0}h1{color:var(--ink);font-family:var(--font-display);font-size:28px;font-weight:650;line-height:1.25}h2{color:var(--ink);font-family:var(--font-display);font-size:18px;font-weight:650;line-height:1.3}.topbar-actions{align-items:center;gap:12px;display:flex}.role-switch{border:1px solid var(--line);background:#edf0e7;border-radius:8px;grid-template-columns:repeat(4,minmax(76px,1fr));padding:4px;display:grid}.role-switch button{color:var(--muted);background:0 0;border:0;border-radius:6px;min-height:36px;padding:0 12px}.role-switch .selected{background:var(--green);color:#fff}.role-switch button:disabled{cursor:default;opacity:.72}.role-switch button.selected:disabled{opacity:1}.cashier-account-selector{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:8px;min-height:46px;padding:0 10px;display:flex}.cashier-account-selector span{color:var(--muted);white-space:nowrap;font-size:13px;font-weight:700}.cashier-account-selector select{color:var(--green);background:#fff;border:0;outline:0;min-width:190px;font-weight:800}.workspace{grid-template-columns:192px minmax(0,1fr);gap:18px;width:100%;max-width:1440px;margin:0 auto;display:grid}.side-nav{background:var(--panel);border:1px solid var(--line);border-radius:8px;align-self:start;gap:6px;padding:10px;display:grid;position:sticky;top:18px}.side-nav button{color:var(--muted);text-align:left;background:0 0;border:0;border-radius:6px;min-height:42px;padding:0 12px}.side-nav button.active,.side-nav button:hover{background:var(--green-soft);color:var(--green);font-weight:700}.content-area{min-width:0}.view-stack{gap:18px;display:grid}.metric-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.metric,.panel,.access-tile{background:var(--panel);border:1px solid var(--line);border-radius:8px}.metric{gap:8px;min-height:136px;padding:18px;display:grid}.metric span,.access-tile span,.field span{color:var(--muted);font-size:13px;font-weight:700}.metric strong{color:var(--ink);word-break:break-word;font-size:28px;line-height:1.2}.metric small,.access-tile small{color:var(--muted);font-size:13px}.metric-income{border-color:#b9d8ce}.metric-expense{border-color:#e5b7b1}.metric-warning{border-color:#e8d2a2}.panel-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;padding-bottom:12px;display:flex}.panel-title span{color:var(--muted);font-size:13px;font-weight:700}.checklist-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.check-row{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;gap:8px;min-height:118px;padding:14px;display:grid}.check-row span{color:var(--muted);font-size:13px}.check-row strong{color:var(--ink);font-size:20px}.status{border-radius:999px;justify-content:center;align-items:center;width:fit-content;min-height:26px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.status-done{background:var(--green-soft);color:var(--green)}.status-warn{background:var(--gold-soft);color:var(--gold)}.status-open{background:var(--blue-soft);color:var(--blue)}.status-muted{color:var(--muted);background:#edf0e7}.status-action{border:0}.status-action:hover{box-shadow:0 0 0 3px #2d6a5b1f}.table-wrap{max-height:calc(var(--list-row-height) * (var(--list-visible-rows) + 1));overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{border-bottom:1px solid var(--line);height:var(--list-row-height);text-align:left;white-space:nowrap;padding:13px 10px}th{background:var(--panel);color:var(--muted);z-index:1;font-size:13px;font-weight:800;position:sticky;top:0}td{color:var(--ink);font-size:14px}tr:last-child td{border-bottom:0}.daily-row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bill-age-warning td{color:var(--gold);font-weight:700}.bill-age-danger td{color:var(--red);font-weight:800}.entry-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:12px;display:grid}.field{align-content:start;gap:7px;display:grid}.field input,.field select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;min-width:0;min-height:42px;padding:0 12px}.field input[readonly],.field input:disabled,.field select:disabled{color:var(--green);opacity:1;background:#edf0e7;font-weight:800}.receipt-field{min-width:0}.receipt-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.receipt-action,.receipt-clear,.proof-link{border:1px solid var(--line);color:var(--green);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;min-height:42px;padding:0 12px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.receipt-action:hover,.receipt-clear:hover,.proof-link:hover{background:var(--green-soft);border-color:var(--green)}.proof-list{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.proof-list .proof-link{white-space:nowrap;min-height:34px;padding:0 9px}.receipt-action.disabled,.receipt-clear:disabled{color:#646b68;cursor:not-allowed;background:#edf0e7}.field .receipt-file-input{appearance:none;clip:rect(0 0 0 0);clip-path:inset(50%);opacity:0;pointer-events:none;white-space:nowrap;border:0;width:1px;height:1px;min-height:0;margin:-1px;padding:0;position:absolute;overflow:hidden}.receipt-status{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;min-height:20px;display:flex}.receipt-status small{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:700;overflow:hidden}.proof-link{min-height:34px;padding:0 10px}.save-feedback{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:10px 14px;display:flex}.save-feedback span{color:var(--ink);font-weight:800}.save-feedback small{color:var(--muted);font-weight:700}.save-feedback-success{border-color:#2d6a5b59}.save-feedback-warning{border-color:#c28b2561}.save-feedback-error{border-color:#b243406b}.supplier-autocomplete-field{z-index:8;align-self:start;position:relative}.supplier-suggestion-list{border:1px solid var(--line);z-index:30;background:#fff;border-radius:8px;gap:6px;max-height:180px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 16px 30px #24322c29}.supplier-suggestion-list button{background:var(--panel-soft);border:1px solid var(--line);color:var(--green);cursor:pointer;text-align:left;border-radius:6px;min-height:34px;padding:0 10px;font-weight:800}.supplier-suggestion-list button:hover{background:var(--green-soft);border-color:var(--green)}.inline-total{background:var(--green-soft);color:var(--green);white-space:nowrap;border:1px solid #c5ddd4;border-radius:999px;padding:8px 12px;font-size:13px}.denomination-grid{grid-template-columns:repeat(7,minmax(92px,1fr));gap:10px;display:grid}.denomination-field{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;padding:12px;display:grid}.denomination-field>span{color:var(--muted);font-size:13px;font-weight:800}.denomination-label{align-items:center;min-height:24px;display:flex}.denomination-mark{--money-accent:var(--green);--money-border:#20544a;color:var(--ink);vertical-align:middle;white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:800;line-height:1;display:inline-flex}.denomination-art{box-shadow:none;color:#fff;background:0 0;border:0;flex:none;justify-content:center;align-items:center;font-size:9px;font-weight:900;display:inline-flex;position:relative;overflow:hidden}.denomination-bill .denomination-art{border-radius:5px;width:44px;height:24px}.denomination-image{object-fit:contain;width:100%;height:100%;display:block}.denomination-coin .denomination-art{border-radius:999px;width:26px;height:26px;font-size:12px}.denomination-compact{gap:4px;font-size:12px}.denomination-compact.denomination-bill .denomination-art{width:34px;height:18px}.denomination-compact.denomination-coin .denomination-art{width:20px;height:20px}.denomination-bronze{--money-accent:#a56534;--money-border:#7f4924}.denomination-steel{--money-accent:#7d8789;--money-border:#596265}.denomination-gold{--money-accent:#b48b2d;--money-border:#82621d}.denomination-mint{--money-accent:#5c786d;--money-border:#3f5b52}.denomination-green{--money-accent:#2f7a5f;--money-border:#205944}.denomination-violet{--money-accent:#6f5796;--money-border:#4f3b72}.denomination-red{--money-accent:#b54843;--money-border:#88302e}.change-count-badges{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.change-count-badge{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:4px;padding:3px 7px 3px 4px;display:inline-flex}.change-count-quantity{color:var(--green);font-size:12px;font-weight:900}.change-count-empty{color:var(--muted);font-weight:700}.amount-with-counts{align-items:flex-start;gap:6px;display:grid}.denomination-field input{border:1px solid var(--line);color:var(--ink);border-radius:6px;min-width:0;min-height:40px;padding:0 10px}.denomination-field input:disabled{color:var(--muted);background:#edf0e7}.detail-search{align-items:center;gap:7px;min-width:260px;display:grid}.detail-search span{color:var(--muted);font-size:13px;font-weight:700}.detail-search input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;width:100%;min-height:42px;padding:0 12px}.field input:focus,.field select:focus,.denomination-field input:focus,.table-number-input:focus,.detail-search input:focus,.primary-action:focus,.secondary-action:focus,.login-primary:focus,.login-secondary:focus,.danger-clear-action:focus,.supplier-suggestion-list button:focus,.history-month-list button:focus,.search-with-action button:focus,.receipt-action:focus-within,.receipt-clear:focus,.proof-link:focus,.side-nav button:focus,.role-switch button:focus,.cashier-account-selector:focus-within,.compact-month-field input:focus,.status-action:focus{outline-offset:2px;outline:3px solid #2d6a5b38}.primary-action{background:var(--green);color:#fff;border:0;border-radius:6px;align-self:end;min-height:42px;padding:0 16px;font-weight:800}.primary-action:disabled{color:#646b68;cursor:not-allowed;background:#c9cec7}.secondary-action{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:6px;min-height:42px;padding:0 16px;font-weight:800}.secondary-action:hover{background:var(--green-soft);border-color:var(--green)}.secondary-action:disabled{color:var(--muted);cursor:not-allowed;background:#edf0e7}.danger-action{color:var(--red);border-color:#e5bbb5}.danger-action:hover{background:var(--red-soft);border-color:var(--red)}.danger-action:disabled{border-color:var(--line);color:var(--muted);background:#edf0e7}.danger-action:disabled:hover{border-color:var(--line);background:#edf0e7}.supplier-ledger-panel{background:var(--panel-soft)}.supplier-query-controls{grid-template-columns:minmax(220px,.85fr) minmax(260px,1fr);gap:12px;max-width:760px;margin-bottom:16px;display:grid}.supplier-query-controls .field{min-width:0}.search-with-action{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.search-with-action button{background:var(--green);color:#fff;border:0;border-radius:6px;min-height:42px;padding:0 16px;font-weight:800}.search-with-action button:hover{background:#235447}.supplier-ledger-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px;display:grid}.supplier-ledger-summary div{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;min-height:104px;padding:14px;display:grid}.supplier-ledger-summary span,.subsection-title span{color:var(--muted);font-size:13px;font-weight:700}.supplier-ledger-summary strong{color:var(--ink);word-break:break-word;font-size:24px;line-height:1.2}.supplier-ledger-grid{grid-template-columns:minmax(0,1fr) minmax(0,.75fr);gap:16px;display:grid}.supplier-ledger-grid section{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;padding:14px}.subsection-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;display:flex}.subsection-title h3{color:var(--ink);margin:0;font-size:16px}.subsection-copy{gap:4px;display:grid}.subsection-heading-line{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.subsection-heading-line strong{background:var(--green-soft);color:var(--green);white-space:nowrap;border:1px solid #c5ddd4;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:800}.ledger-list-section{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;padding:14px}.archive-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.archive-month-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.archive-month-summary div{background:var(--green-soft);border:1px solid #bdd8ce;border-radius:8px;gap:8px;min-height:106px;padding:16px;display:grid}.archive-summary div{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;gap:8px;min-height:96px;padding:14px;display:grid}.archive-summary span{color:var(--muted);font-size:13px;font-weight:700}.archive-month-summary span{color:var(--green);font-size:13px;font-weight:800}.archive-summary strong{color:var(--ink);word-break:break-word;font-size:22px;line-height:1.2}.archive-month-summary strong{color:var(--ink);word-break:break-word;font-size:26px;line-height:1.2}.archive-month-summary small{color:var(--muted);font-size:13px}.cashier-change-panel,.cashier-settlement-panel,.change-pool-panel{background:var(--panel-soft)}.change-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.change-summary-grid div{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;min-height:96px;padding:14px;display:grid}.change-summary-grid span,.month-end-settlement span{color:var(--muted);font-size:13px;font-weight:700}.change-summary-grid strong{color:var(--ink);word-break:break-word;font-size:22px;line-height:1.2}.change-action-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.change-action-row strong{color:var(--ink);font-size:18px}.change-opening-section,.register-allocation-section{margin-bottom:16px}.register-allocation-tools{grid-template-columns:minmax(180px,.8fr) minmax(180px,.7fr) auto;align-items:end;gap:12px;margin-bottom:14px;display:grid}.allocation-total-card{min-height:74px}.register-allocation-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.register-allocation-strip div{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;gap:6px;min-height:90px;padding:12px;display:grid}.register-allocation-strip span,.register-allocation-strip small{color:var(--muted);font-size:13px;font-weight:700}.register-allocation-strip strong{color:var(--ink);font-size:20px;line-height:1.2}.compact-month-field{gap:7px;min-width:180px;display:grid}.compact-month-field span{color:var(--muted);font-size:13px;font-weight:700}.compact-month-field input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;min-height:42px;padding:0 12px}.bank-reconcile-hero{background:var(--panel)}.bank-reconcile-hero .panel-title{align-items:end}.bank-month-field{width:min(220px,100%)}.bank-reconcile-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.bank-reconcile-summary-grid div,.bank-check-list div{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;gap:8px;min-height:108px;padding:14px;display:grid}.bank-reconcile-summary-grid span,.bank-check-list span{color:var(--muted);font-size:13px;font-weight:700}.bank-reconcile-summary-grid strong,.bank-check-list strong{color:var(--ink);word-break:break-word;font-size:24px;line-height:1.2}.bank-reconcile-summary-grid small,.bank-check-list small{color:var(--muted);font-size:13px;line-height:1.35}.bank-reconcile-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:18px;display:grid}.bank-reconcile-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.bank-reconcile-form .field:last-of-type,.bank-reconcile-form .primary-action{grid-column:1/-1}.bank-check-panel{background:var(--panel)}.bank-check-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.bank-difference-card.is-even{border-color:#bdd8ce}.bank-difference-card.is-even strong{color:var(--green)}.bank-difference-card.is-short{background:var(--red-soft);border-color:#e5bbb5}.bank-difference-card.is-short strong{color:var(--red)}.bank-difference-card.is-over{background:var(--gold-soft);border-color:#e8d2a2}.bank-difference-card.is-over strong{color:var(--gold)}.cashier-form-grid{grid-template-columns:minmax(180px,.8fr) minmax(180px,.8fr) minmax(180px,1fr);align-items:end;gap:12px;margin-bottom:16px;display:grid}.cashier-panel-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cashier-language-switch{border:1px solid var(--line);background:#edf0e7;border-radius:8px;padding:3px;display:inline-flex}.cashier-language-switch button{color:var(--muted);background:0 0;border:0;border-radius:6px;min-height:34px;padding:0 10px;font-size:13px;font-weight:800}.cashier-language-switch button.selected{background:var(--green);color:#fff}.cashier-mode-note{border:1px solid var(--line);background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px 14px;min-height:48px;margin-bottom:14px;padding:10px 12px;display:flex}.cashier-mode-note strong{color:var(--green)}.cashier-mode-note span{color:var(--muted);font-size:13px;font-weight:700}.cashier-total-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:6px;min-height:74px;padding:12px;display:grid}.cashier-total-card span{color:var(--muted);font-size:13px;font-weight:700}.cashier-total-card strong{color:var(--ink);font-size:22px;line-height:1.2}.cashier-settlement-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.cashier-settlement-summary div{border:1px solid var(--line);background:#fff;border-radius:8px;gap:6px;min-height:96px;padding:12px;display:grid}.cashier-settlement-summary span,.cashier-settlement-summary small{color:var(--muted);font-size:13px;font-weight:700}.cashier-settlement-summary strong{color:var(--ink);word-break:break-word;font-size:22px;line-height:1.2}.settlement-table-wrap{margin-top:0}.table-number-input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;width:100%;min-width:84px;min-height:34px;padding:0 8px}.table-number-input:disabled{color:var(--muted);background:#edf0e7}.settlement-ok,.settlement-warning{white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:800;display:inline-flex}.settlement-ok{background:var(--green-soft);color:var(--green)}.settlement-warning{background:var(--gold-soft);color:var(--gold)}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.row-actions button{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:6px;min-height:34px;padding:0 10px;font-size:13px;font-weight:800}.row-actions button:hover{background:var(--green-soft);border-color:var(--green)}.row-actions button:disabled{color:var(--muted);cursor:not-allowed;background:#edf0e7}.row-actions .danger-inline{color:var(--red)}.row-actions .danger-inline:hover{background:var(--red-soft);border-color:var(--red)}.cashier-row-actions{min-width:190px}.bill-delete-actions{min-width:120px}.payment-record-actions{min-width:168px}.payment-amount-edit-input{border:1px solid var(--green);color:var(--ink);font:inherit;background:#fff;border-radius:6px;width:100%;min-width:96px;max-width:132px;height:36px;padding:0 10px;font-weight:750}.payment-amount-edit-input:focus{box-shadow:0 0 0 3px var(--green-soft);outline:0}.locked-action{color:var(--muted);font-size:13px;font-weight:700}.change-pool-action-panel{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(220px,1fr) minmax(140px,.4fr) minmax(180px,.5fr) auto;align-items:end;gap:12px;margin-top:14px;padding:14px;display:grid}.action-preview{border:1px solid var(--line);background:#fff;border-radius:8px;gap:6px;min-height:76px;padding:12px;display:grid}.action-preview span,.action-preview small{color:var(--muted);font-size:13px;font-weight:700}.action-preview strong{color:var(--ink);font-size:20px;line-height:1.2}.action-preview .action-error{color:var(--red)}.action-button-group{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.retention-note{background:var(--gold-soft);color:var(--gold);border:1px solid #e5d2aa;border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:13px;font-weight:700}.month-end-settlement{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:14px;display:flex}.month-end-input-group{grid-template-columns:minmax(180px,1fr) minmax(160px,.8fr);align-items:end;gap:12px;display:grid}.month-end-field input{font-size:18px;font-weight:800}.month-end-basis,.month-end-result{gap:6px;display:grid}.month-end-basis strong,.month-end-result strong{color:var(--green);font-size:24px;line-height:1.2}.monthly-report-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;display:grid}.balance-panel,.purchase-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;align-content:start;gap:16px;padding:18px;display:grid}.balance-panel{background:var(--ink);border-color:var(--ink);color:#fff}.balance-panel .panel-title{border-color:#ffffff29;margin-bottom:0}.balance-panel h2,.balance-panel .panel-title span{color:#fff}.balance-hero{gap:8px;padding:4px 0 8px;display:grid}.balance-hero span,.payment-summary span,.supplier-list span,.formula-row span{color:var(--muted);font-size:13px;font-weight:700}.balance-hero strong{color:#fff;word-break:break-word;font-size:42px;line-height:1.1}.balance-hero small,.payment-progress small,.supplier-list small{color:var(--muted);font-size:13px}.formula-list{gap:10px;display:grid}.formula-row{background:#ffffff14;border:1px solid #ffffff24;border-radius:8px;justify-content:space-between;align-items:center;min-height:54px;padding:0 14px;display:flex}.formula-income{background:#dfeee829}.formula-total{background:#fff}.formula-breakdown{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:-2px;display:grid}.formula-breakdown div{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;gap:5px;min-height:58px;padding:10px 12px;display:grid}.formula-breakdown span{color:#ffffff94;font-size:12px;font-weight:700}.formula-breakdown b{color:#fff;word-break:break-word;font-size:15px;line-height:1.2}.payment-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.payment-summary div{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;gap:8px;min-height:104px;padding:14px;display:grid}.payment-summary strong{color:var(--ink);word-break:break-word;font-size:22px;line-height:1.2}.payment-progress{gap:8px;display:grid}.payment-progress div{background:#edf0e7;border-radius:999px;height:12px;overflow:hidden}.payment-progress span{background:var(--green);height:100%;display:block}.supplier-list{border:1px solid var(--line);max-height:calc(54px * var(--list-visible-rows));border-radius:8px;overflow:auto}.supplier-list div{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:54px;padding:0 14px;display:grid}.supplier-list div+div{border-top:1px solid var(--line)}.supplier-list strong{color:var(--ink)}.history-report-layout{grid-template-columns:minmax(260px,.34fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.history-list-panel{align-content:start;gap:16px;display:grid;position:sticky;top:18px}.history-search-row,.history-restore-tools{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.archive-file-field{gap:7px;display:grid}.archive-file-field span{color:var(--muted);font-size:13px;font-weight:800}.archive-file-field input{border:1px solid var(--line);color:var(--ink);font:inherit;background:#fff;border-radius:7px;max-width:100%;min-height:42px;padding:7px 9px}.monthly-archive-panel{justify-content:space-between;align-items:center;gap:18px;display:flex}.monthly-archive-copy{gap:3px;min-width:0;display:grid}.monthly-archive-copy>span{color:var(--green);font-size:13px;font-weight:800}.monthly-archive-copy strong{color:var(--ink);font-size:17px}.monthly-archive-copy small{color:var(--muted);font-size:13px}.history-month-list{border:1px solid var(--line);max-height:calc(74px * var(--list-visible-rows));border-radius:8px;overflow:auto}.history-month-list button{border:0;border-bottom:1px solid var(--line);text-align:left;background:#fff;gap:4px;width:100%;min-height:74px;padding:12px 14px;display:grid}.history-month-list button:last-child{border-bottom:0}.history-month-list button:hover,.history-month-list button.selected{background:var(--green-soft)}.history-month-list strong{color:var(--ink);font-size:15px}.history-month-list span{color:var(--green);font-size:14px;font-weight:800}.history-month-list small,.history-empty,.empty-report-panel p{color:var(--muted);font-size:13px}.history-empty{padding:16px}.history-detail-stack,.empty-report-panel{gap:18px;min-width:0;display:grid}.analysis-control-panel{background:var(--panel-soft)}.analysis-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:10px;display:flex}.analysis-mode-switch{border:1px solid var(--line);background:#fff;border-radius:8px;gap:4px;padding:4px;display:flex}.analysis-mode-switch button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:9px 12px;font-weight:800}.analysis-mode-switch button.is-active{background:var(--green);color:#fff}.analysis-hero-panel{color:#fff;background:#13211d;grid-template-columns:minmax(240px,1.15fr) minmax(0,1.85fr);align-items:stretch;gap:18px;display:grid}.analysis-hero-copy{gap:8px;display:grid}.analysis-hero-copy span,.analysis-hero-copy small,.analysis-hero-side span{color:#ffffffb8;font-size:13px;font-weight:800}.analysis-hero-copy strong{font-size:48px;line-height:1}.analysis-hero-side{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.analysis-hero-side div{background:#ffffff14;border:1px solid #ffffff21;border-radius:8px;gap:8px;padding:14px;display:grid}.analysis-hero-side strong{color:#fff;font-size:17px;line-height:1.35}.analysis-summary-panel{background:#f8f8f3}.analysis-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.analysis-summary-grid div{border:1px solid var(--line);background:#fff;border-radius:8px;gap:6px;min-height:104px;padding:14px;display:grid}.analysis-summary-grid span,.analysis-chart-row small{color:var(--muted);font-size:12px;font-weight:700}.analysis-summary-grid strong{color:var(--ink);word-break:break-word;font-size:21px;line-height:1.2}.analysis-summary-grid small,.analysis-empty{color:var(--muted);font-size:12px;line-height:1.5}.analysis-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.analysis-chart-panel{gap:14px;display:grid}.analysis-line-chart,.analysis-pie-layout,.analysis-column-chart{border:1px solid var(--line);background:#fbfbf7;border-radius:8px;min-height:236px;padding:14px}.analysis-line-chart svg{width:100%;height:220px;display:block}.analysis-axis-line{stroke:#d6d9ce;stroke-width:2px}.analysis-line-path{stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.analysis-chart-legend{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.analysis-chart-legend span,.analysis-pie-list span{color:var(--muted);align-items:center;gap:7px;font-size:12px;font-weight:800;display:flex}.analysis-chart-legend i,.analysis-pie-list i{border-radius:999px;width:9px;height:9px;display:inline-block}.analysis-pie-layout{grid-template-columns:180px minmax(0,1fr);align-items:center;gap:18px;display:grid}.analysis-pie{aspect-ratio:1;border-radius:999px;place-items:center;padding:38px;display:grid;position:relative}.analysis-pie:after{border-radius:inherit;content:"";background:#fbfbf7;position:absolute;inset:36px}.analysis-pie strong,.analysis-pie span{z-index:1;position:relative}.analysis-pie strong{color:var(--ink);font-size:19px;line-height:1.2}.analysis-pie span{color:var(--muted);font-size:12px;font-weight:800}.analysis-pie-list{gap:9px;max-height:210px;display:grid;overflow:auto}.analysis-pie-list strong{color:var(--ink);margin-left:auto}.analysis-column-chart{grid-auto-columns:minmax(52px,1fr);grid-auto-flow:column;align-items:end;gap:10px;min-height:260px;display:grid;overflow-x:auto}.analysis-column{align-items:center;gap:7px;min-height:220px;display:grid}.analysis-column-bars{align-items:end;gap:4px;width:100%;height:150px;display:flex}.analysis-column-bars i{border-radius:999px 999px 4px 4px;flex:1;min-height:3px;box-shadow:inset -5px 0 #ffffff38}.analysis-column strong{color:var(--ink);text-align:center;font-size:12px}.analysis-column span{color:var(--muted);font-size:12px;font-weight:800}.analysis-chart-list{max-height:calc(62px * var(--list-visible-rows));gap:10px;display:grid;overflow:auto}.analysis-chart-row{grid-template-columns:52px minmax(0,1fr) minmax(96px,auto);align-items:center;gap:10px;min-height:52px;display:grid}.analysis-chart-row>span{color:var(--ink);font-size:13px;font-weight:800}.analysis-chart-row strong{color:var(--ink);text-align:right;font-size:14px}.analysis-chart-row small{grid-column:2/4;line-height:1.4}.analysis-bar-track{background:#edf0e7;border-radius:999px;height:14px;display:flex;overflow:hidden}.analysis-bar{min-width:0;display:block}.analysis-bar-income{background:var(--green)}.analysis-bar-card{background:var(--blue)}.analysis-bar-expense{background:var(--red)}.analysis-bar-purchase{background:var(--gold)}.analysis-bar-payment{background:#6d5c8f}.analysis-bar-change{background:#4a8f7a}.analysis-bar-return{background:#9b7653}.analysis-empty{border:1px solid var(--line);background:#fff;border-radius:8px;padding:16px}.analysis-detail-panel .table-wrap{max-height:calc(48px * var(--list-visible-rows))}.settings-hero-panel{background:var(--panel-soft)}.settings-overview-grid{grid-template-columns:minmax(260px,1.3fr) repeat(3,minmax(120px,.6fr));gap:14px;display:grid}.settings-stat{border:1px solid var(--line);background:#fff;border-radius:8px;align-content:center;gap:6px;min-height:76px;padding:12px 14px;display:grid}.settings-stat span{color:var(--muted);font-size:12px;font-weight:800}.settings-stat strong{color:var(--green);font-size:24px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.settings-wide-grid{grid-template-columns:1fr}.settings-section{gap:16px;display:grid}.settings-list{gap:10px;display:grid}.supplier-settings-list{max-height:calc(var(--list-row-height) * var(--list-visible-rows));scrollbar-gutter:stable;overflow:auto}.settings-list-row,.settings-add-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.settings-list-row input,.settings-add-row input{min-width:0}.compact-select{align-items:center;gap:10px;display:flex}.compact-select span{color:var(--muted);font-size:12px;font-weight:800}.compact-select select{min-width:180px;min-height:38px}.access-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.access-status-panel{background:var(--panel-soft)}.access-status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.access-status-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;min-height:118px;padding:16px;display:grid}.access-status-card span{color:var(--muted);font-size:13px;font-weight:800}.access-status-card strong{color:var(--green);font-size:18px;line-height:1.3}.access-status-card small{color:var(--muted);font-size:13px;line-height:1.5}.storage-usage-panel{background:#fff}.storage-usage-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.storage-usage-card{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;gap:8px;min-height:118px;padding:16px;display:grid}.storage-usage-card span,.storage-usage-card small{color:var(--muted);font-size:13px;line-height:1.45}.storage-usage-card span{font-weight:750}.storage-usage-card strong{color:var(--ink);font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:24px;font-weight:680;line-height:1.2}.storage-usage-total-card{background:var(--green-soft);border-color:#b7d3c8}.storage-usage-total-card strong{color:var(--green)}.storage-usage-loading{border:1px dashed var(--line);color:var(--muted);background:#fbfcfa;justify-content:center;align-items:center;min-height:118px;padding:16px;font-size:14px;display:flex}.account-access-panel{gap:18px;display:grid}.account-issue-layout{grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:18px;display:grid}.account-issue-form{align-content:start;gap:12px;display:grid}.account-register-field{grid-column:1/-1}.account-list-panel{border:1px solid var(--line);border-radius:8px;gap:12px;min-width:0;padding:14px;display:grid}.account-list-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.account-list-title span,.account-table-wrap small{color:var(--muted);font-size:12px}.account-table-wrap td strong,.account-table-wrap td small{display:block}.compact-action{min-height:34px;padding:0 12px}.danger-zone-panel{background:snow;border-color:#e5bbb5}.danger-zone-grid{gap:12px;display:grid}.danger-zone-content{background:#fff;border:1px solid #efd3cf;border-radius:8px;grid-template-columns:minmax(260px,1fr) minmax(220px,.8fr) auto;align-items:end;gap:16px;padding:14px;display:grid}.danger-zone-content strong{color:var(--red);margin-bottom:6px;font-size:16px;display:block}.danger-zone-content p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.danger-confirm-field{margin:0}.danger-clear-action{color:var(--red);background:#fff;border:1px solid #e5bbb5;border-radius:6px;min-height:42px;padding:0 16px;font-weight:800}.access-tile{gap:10px;min-height:126px;padding:18px;display:grid}.access-tile strong{color:var(--ink);font-size:18px;line-height:1.35}@media (width<=1100px){.login-panel,.metric-grid,.checklist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-report-grid,.history-report-layout{grid-template-columns:1fr}.monthly-archive-panel{flex-direction:column;align-items:stretch}.monthly-archive-panel .primary-action{width:100%}.history-list-panel{position:static}.supplier-ledger-grid,.cashier-form-grid,.register-allocation-tools,.bank-reconcile-layout,.analysis-hero-panel,.analysis-hero-side,.analysis-summary-grid,.analysis-chart-grid,.bank-reconcile-summary-grid,.change-summary-grid,.settings-grid,.settings-overview-grid,.danger-zone-content,.account-issue-layout,.access-status-grid{grid-template-columns:1fr}.cashier-settlement-summary,.register-allocation-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.denomination-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.storage-usage-grid,.entry-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=960px){body{font-size:16px}.app-shell{padding:10px 10px calc(112px + env(safe-area-inset-bottom,0px));overflow-x:hidden}.login-shell{align-items:start;padding:12px}.login-panel{grid-template-columns:1fr}.login-brand-block,.login-route-card{padding:20px}.login-brand-block{min-height:auto}.login-account-note,.login-route-row{grid-template-columns:1fr;align-items:flex-start}.login-account-note{flex-direction:column}.topbar,.topbar-actions{flex-direction:column;align-items:stretch}.topbar{gap:14px;max-width:none;margin-bottom:12px;padding:16px}.topbar-actions{gap:10px;width:100%}h1{font-size:26px;line-height:1.18}h2{font-size:22px}.eyebrow{font-size:14px}.role-switch{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.role-switch button{min-height:50px;padding:0 6px;font-size:15px;font-weight:800}.topbar .secondary-action{justify-content:center;align-items:center;width:100%;min-height:48px;font-size:15px;display:inline-flex}.workspace{grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;max-width:none;overflow:hidden}.side-nav{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:8px;width:100%;min-width:0;padding:8px;scroll-padding:8px;display:flex;position:static;overflow:auto hidden}.side-nav button{scroll-snap-align:center;text-align:center;white-space:nowrap;flex:none;width:max-content;min-width:96px;min-height:48px;padding:0 16px;font-size:15px;font-weight:800}.content-area,.view-stack,.panel,.input-panel{width:100%;min-width:0}.content-area{padding-bottom:24px}.view-stack{gap:12px}.panel{padding:16px}.metric-grid,.checklist-grid,.entry-form,.bank-reconcile-form,.cashier-form-grid,.cashier-settlement-summary,.change-pool-action-panel,.monthly-report-grid,.archive-summary,.change-summary-grid,.register-allocation-tools,.register-allocation-strip,.supplier-ledger-summary,.archive-month-summary,.analysis-hero-panel,.analysis-hero-side,.analysis-summary-grid,.analysis-chart-grid,.history-report-layout,.history-search-row,.history-restore-tools,.payment-summary,.bank-reconcile-summary-grid,.bank-reconcile-layout,.bank-check-list,.access-status-grid,.storage-usage-grid,.access-grid{grid-template-columns:1fr}.entry-form,.bank-reconcile-form{gap:14px}.field{gap:8px;width:100%}.field span,.panel-title span,.detail-search span{font-size:15px}.field input,.field select,.compact-month-field input,.detail-search input,.search-with-action button{width:100%;min-height:54px;font-size:17px}.field input,.field select,.detail-search input{padding:0 14px}.entry-form>.primary-action{width:100%;min-height:56px;font-size:17px}.receipt-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.receipt-action,.receipt-clear,.proof-link{width:100%;min-height:50px;font-size:16px}.receipt-status small{white-space:normal;font-size:14px}.table-wrap,.history-month-list,.supplier-list,.analysis-chart-list,.analysis-pie-list,.supplier-settings-list{scroll-padding-bottom:72px}.denomination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.month-end-settlement{flex-direction:column;align-items:flex-start}.month-end-input-group{grid-template-columns:1fr;width:100%}.panel-title{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:14px;padding-bottom:12px}.cashier-panel-actions{align-items:stretch;width:100%}.cashier-panel-actions>.secondary-action,.cashier-language-switch{width:100%}.cashier-language-switch button{flex:1 1 0;min-height:44px;font-size:15px}.analysis-toolbar{flex-direction:column;align-items:stretch;width:100%}.analysis-mode-switch{overflow-x:auto}.analysis-pie-layout{grid-template-columns:1fr;justify-items:center}.analysis-hero-copy strong{font-size:36px}.bank-reconcile-hero .panel-title{align-items:flex-start}.bank-month-field{width:100%}.supplier-query-controls{grid-template-columns:1fr;max-width:100%}.detail-search{width:100%;min-width:100%}.metric strong,.balance-hero strong,.bank-reconcile-summary-grid strong,.bank-check-list strong{font-size:24px}.formula-breakdown{grid-template-columns:1fr}}.topbar-brand{align-items:center;gap:12px;min-width:0;display:flex}.navigation-toggle,.navigation-close{color:var(--green);background:#f5f8f5;border:1px solid #cdd8cf;border-radius:7px;flex:none;justify-content:center;align-items:center;display:inline-flex}.navigation-toggle{width:42px;height:42px;padding:0}.navigation-toggle:hover,.navigation-toggle[aria-expanded=true]{background:var(--green-soft);border-color:#9db9ae}.navigation-toggle-icon{gap:4px;width:17px;display:grid}.navigation-toggle-icon span{background:currentColor;border-radius:2px;width:100%;height:2px;display:block}.signed-in-user{text-align:right;align-items:flex-end;gap:2px;line-height:1.2;display:grid}.signed-in-user span{color:var(--muted);font-size:12px;font-weight:700}.signed-in-user strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:168px;font-size:14px;font-weight:750;overflow:hidden}.workspace{display:block}.app-navigation{background:var(--panel);left:max(16px, env(safe-area-inset-left,0px));opacity:0;pointer-events:none;max-height:calc(100dvh - 32px);top:max(16px, env(safe-area-inset-top,0px));z-index:90;border:1px solid #d9e2da;border-radius:8px;flex-direction:column;gap:16px;width:min(304px,100vw - 32px);padding:14px;transition:opacity .16s,transform .18s;display:flex;position:fixed;overflow-y:auto;transform:translate(calc(-100% - 28px));box-shadow:0 18px 48px #18262033}.app-navigation.is-open{opacity:1;pointer-events:auto;transform:translate(0)}.navigation-drawer-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:2px 2px 14px;display:flex}.navigation-drawer-heading div{gap:3px;display:grid}.navigation-drawer-heading span,.navigation-utility>span{color:var(--muted);font-size:12px;font-weight:750}.navigation-close{width:38px;height:38px;padding:0;font-size:24px;line-height:1;display:none}.navigation-groups{gap:8px;display:grid}.navigation-group{background:#fbfcfa;border:1px solid #e0e6e0;border-radius:7px;overflow:hidden}.navigation-group-trigger{color:var(--ink);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;min-height:46px;padding:0 12px;font-size:15px;font-weight:750;display:flex}.navigation-chevron{color:var(--green);font-size:20px;font-weight:500;line-height:1}.navigation-submenu{border-top:1px solid #e0e6e0;gap:2px;padding:6px;display:grid}.app-navigation .navigation-submenu button,.app-navigation .navigation-utility button{color:#52615a;text-align:left;background:0 0;border:0;border-radius:6px;width:100%;min-height:40px;padding:0 10px;font-size:14px;font-weight:700}.app-navigation .navigation-submenu button.active,.app-navigation .navigation-utility button.active{background:var(--green-soft);box-shadow:inset 3px 0 0 var(--green);color:var(--green);font-weight:800}.navigation-utility{border-top:1px solid var(--line);gap:4px;margin-top:auto;padding:14px 2px 2px;display:grid}.navigation-utility>span{margin:0 10px 4px}.navigation-scrim{display:none}@media (width<=960px){.topbar{gap:12px}.topbar-brand{gap:10px}.topbar-actions{flex-direction:row;justify-content:space-between;align-items:center}.topbar-actions .role-switch{width:100%}.topbar-actions .secondary-action{flex:none;width:auto;min-width:108px}.signed-in-user{text-align:left;align-items:flex-start}.signed-in-user strong{max-width:min(190px,48vw)}.app-navigation{height:100dvh;max-height:none;padding:calc(16px + env(safe-area-inset-top,0px)) 14px calc(16px + env(safe-area-inset-bottom,0px));border-radius:0 8px 8px 0;gap:18px;width:min(326px,100vw - 40px);top:0;left:0;transform:translate(-100%)}.navigation-close{display:inline-flex}.navigation-group-trigger{min-height:50px;font-size:16px}.app-navigation .navigation-submenu button,.app-navigation .navigation-utility button{min-height:48px;font-size:15px}.navigation-scrim{z-index:80;background:#1826204d;border:0;width:100%;padding:0;display:block;position:fixed;inset:0}}@media (width<=480px){.topbar h1{font-size:22px}.navigation-toggle{width:40px;height:40px}.topbar-actions .secondary-action{min-width:98px;padding:0 10px}}:root{--background:#f4f6f3;--foreground:#26322f;--muted:#66736e;--line:#d7dfd8;--panel:#fff;--panel-soft:#f8faf7;--ink:#1e2b27;--green:#226b5a;--green-soft:#e0f0e9;--red:#b44940;--red-soft:#f9e3df;--gold:#9a701f;--gold-soft:#f7edd8;--blue:#3f6489;--blue-soft:#e3edf7}body{background:var(--background);letter-spacing:0}button,input,select,.receipt-action,.proof-link{transition:background-color .15s,border-color .15s,box-shadow .15s,color .15s}button:active:not(:disabled){transform:translateY(1px)}.app-shell{padding:22px}.login-panel{grid-template-columns:minmax(0,500px);max-width:500px}.login-brand-block{border-color:#d9e2da;gap:20px;min-height:0;padding:30px;box-shadow:0 12px 30px #1f342c14}.login-heading-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.login-heading-row h1{font-size:26px}.login-detail{color:var(--muted);margin:-6px 0 2px;font-size:15px;line-height:1.65}.login-language-switch{border:1px solid var(--line);background:#eef2ed;border-radius:8px;flex:none;padding:3px;display:inline-flex}.login-language-switch button{color:var(--muted);background:0 0;border:0;border-radius:6px;min-height:34px;padding:0 10px;font-size:13px;font-weight:800}.login-language-switch button.selected{background:var(--green);color:#fff;box-shadow:0 1px 2px #1c4a3d2e}.login-form{gap:14px;max-width:none}.login-account-note,.login-error-note{border-radius:7px;max-width:none}.login-primary,.login-secondary{border-radius:7px;min-height:46px}.login-primary:hover:not(:disabled),.search-with-action button:hover{background:#185746}.topbar,.side-nav,.panel,.metric,.access-tile{border-color:#d9e2da;box-shadow:0 1px 2px #1f342c0a}.topbar{margin-bottom:16px;padding:18px 20px}.topbar h1{font-size:26px}.role-switch,.cashier-language-switch{background:#eef2ed;border-color:#d9e2da}.role-switch .selected,.cashier-language-switch button.selected{box-shadow:0 1px 2px #1c4a3d29}.workspace{gap:16px}.side-nav{gap:4px;padding:8px}.side-nav button{border-radius:6px;min-height:40px}.side-nav button.active{background:var(--green-soft);box-shadow:inset 3px 0 0 var(--green)}.side-nav button:hover:not(.active){background:#f0f4f0}.panel{padding:20px}.panel-title{margin-bottom:18px;padding-bottom:13px}.panel-title h2{font-size:19px}.metric{min-height:128px;padding:17px}.metric strong{font-size:27px}.field input,.field select,.detail-search input,.denomination-field input,.table-number-input{border-color:#cdd8cf;border-radius:7px;min-height:44px}.field input:hover:not(:disabled),.field select:hover:not(:disabled),.detail-search input:hover:not(:disabled),.denomination-field input:hover:not(:disabled),.table-number-input:hover:not(:disabled){border-color:#9db9ae}.field input:focus,.field select:focus,.denomination-field input:focus,.table-number-input:focus,.detail-search input:focus{border-color:var(--green);outline:0;box-shadow:0 0 0 3px #226b5a1f}.primary-action,.secondary-action,.receipt-action,.receipt-clear,.proof-link,.search-with-action button{border-radius:7px;min-height:44px}.primary-action{box-shadow:0 1px 2px #1c4a3d2e}.primary-action:hover:not(:disabled){background:#185746;box-shadow:0 3px 8px #1c4a3d2e}.secondary-action{border-color:#cdd8cf}.table-wrap{scrollbar-color:#b3c4bb transparent;border:1px solid #e0e6e0;border-radius:7px}th{background:#f7f9f6}.save-feedback,.cashier-mode-note,.cashier-total-card,.cashier-settlement-summary div,.denomination-field,.ledger-list-section,.supplier-ledger-grid section{border-color:#d9e2da}.cashier-mode-note{background:#f8faf7;min-height:44px}.cashier-mode-note strong{font-size:14px}.cashier-settlement-summary div{background:#fbfcfa}.change-count-empty{color:#94a19b}.metric strong,.balance-hero strong,.cashier-total-card strong,.cashier-settlement-summary strong,.bank-reconcile-summary-grid strong,.bank-check-list strong,.supplier-ledger-summary strong,.analysis-hero-copy strong,.month-end-result strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-weight:650}.primary-action,.secondary-action,.login-primary,.login-secondary,.receipt-action,.receipt-clear,.proof-link,.search-with-action button,.role-switch button,.side-nav button,.cashier-language-switch button,.login-language-switch button{font-weight:700}.panel-title>span,.panel-title>div>span,.subsection-title>span,.subsection-copy>span,.analysis-chart-panel .panel-title span,.cashier-mode-note>span,.save-feedback small,.bank-reconcile-summary-grid small,.bank-check-list small,.access-tile small{display:none}.panel-title:has(>div)>div{min-width:0}.panel-title:has(>div){align-items:center}.cashier-mode-note{justify-content:flex-start}.cashier-mode-note strong{line-height:1.35}.save-feedback{justify-content:flex-start}@media (width<=960px){.app-shell{padding:12px 12px calc(116px + env(safe-area-inset-bottom,0px))}.login-shell{padding:20px 14px calc(36px + env(safe-area-inset-bottom,0px))}.login-brand-block{gap:18px;padding:22px}.login-heading-row{flex-direction:column;align-items:stretch}.login-language-switch{width:100%}.login-language-switch button{flex:1 1 0;min-height:42px}.login-primary,.login-secondary{width:100%;min-height:52px;font-size:16px}.login-actions{width:100%;display:grid}.topbar{border-radius:8px;padding:16px}.topbar h1{font-size:24px}.side-nav{border-radius:8px;padding:6px}.side-nav button.active{box-shadow:inset 0 -3px 0 var(--green)}.panel{border-radius:8px;padding:16px}.panel-title h2{font-size:20px}.primary-action,.secondary-action,.search-with-action button{min-height:50px}}.confirmation-backdrop{z-index:100;background:#15231d7a;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.confirmation-dialog{background:#fff;border:1px solid #d7ddd4;border-radius:8px;gap:18px;width:min(100%,480px);max-width:480px;padding:24px;display:grid;box-shadow:0 20px 48px #18262038}.confirmation-dialog-heading{gap:7px;display:grid}.confirmation-dialog-heading span{color:var(--red);font-size:13px;font-weight:750}.confirmation-dialog h2{color:var(--ink);font-family:var(--font-display);margin:0;font-size:22px;font-weight:680;line-height:1.25}.confirmation-dialog p{color:#56645d;margin:0;font-size:15px;line-height:1.65}.confirmation-dialog-actions{justify-content:flex-end;gap:10px;display:flex}.confirmation-dialog-actions button{min-width:112px}.danger-confirm-action{background:var(--red);border:1px solid var(--red);color:#fff;border-radius:6px;min-height:42px;padding:0 16px;font-weight:750}.danger-confirm-action:hover{background:#b73d37;border-color:#b73d37}.danger-confirm-action:disabled{cursor:not-allowed;background:#d6aaa6;border-color:#d6aaa6}.danger-confirm-action:focus{outline-offset:2px;outline:3px solid #be464038}@media (width<=960px){.confirmation-backdrop{padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px));align-items:flex-end}.confirmation-dialog{gap:16px;padding:20px}.confirmation-dialog h2{font-size:20px}.confirmation-dialog-actions{grid-template-columns:1fr 1fr;display:grid}.confirmation-dialog-actions button{min-width:0}}.app-navigation{border-radius:8px;gap:16px;padding:14px}@media (width<=960px){.app-navigation{padding:calc(16px + env(safe-area-inset-top,0px)) 14px calc(16px + env(safe-area-inset-bottom,0px));border-radius:0 8px 8px 0;gap:18px}}.navigation-toggle{color:#fff;background:#1c594c;border-color:#1c594c;transition:background .15s,box-shadow .15s,transform .15s;box-shadow:0 4px 10px #1c594c33}.navigation-toggle:hover,.navigation-toggle[aria-expanded=true]{color:#fff;background:#16483e;border-color:#16483e;transform:translateY(-1px);box-shadow:0 7px 16px #1c594c42}.signed-in-user{background:#f7faf8;border:1px solid #d8e5dc;border-radius:7px;align-items:center;gap:9px;padding:7px 10px;display:flex}.signed-in-user-icon{color:var(--green);background:#e2f0e9;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.signed-in-user>div{gap:2px;display:grid}.app-navigation{scrollbar-color:#6d998b transparent;background:#173f36;border-color:#285b4f;box-shadow:0 24px 56px #0c261f4d}.navigation-drawer-heading{border-bottom-color:#e6f6ee2e;padding:4px 2px 16px}.navigation-brand{align-items:center;gap:10px;display:flex}.navigation-brand-icon{color:#24483f;background:#f0c878;border-radius:7px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.navigation-drawer-heading span,.navigation-utility>span{color:#a9cbbd;letter-spacing:.04em;font-size:11px;font-weight:750}.navigation-drawer-heading strong{color:#fff;font-size:17px;font-weight:700}.navigation-close{color:#fff;background:#ffffff1a;border-color:#ffffff29}.navigation-close:hover{background:#ffffff2b}.navigation-groups{gap:10px}.navigation-group{background:#ffffff0f;border-color:#e8f7ef21;border-radius:8px}.navigation-group-trigger{color:#f7fbf8;min-height:50px;padding:0 12px;font-size:15px}.navigation-group-trigger:hover{color:#fff;background:#ffffff14}.navigation-group-label{align-items:center;gap:9px;display:flex}.navigation-group-icon{color:#a8dcc4;background:#ffffff1f;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.navigation-group[data-group=history] .navigation-group-icon{color:#f0cf8b}.navigation-group[data-group=cash] .navigation-group-icon{color:#9ed3ea}.navigation-chevron{color:#b9dacb;transition:transform .16s}.navigation-chevron.is-expanded{transform:rotate(180deg)}.navigation-submenu{border-top-color:#e8f7ef21;gap:3px;padding:7px}.app-navigation .navigation-submenu button,.app-navigation .navigation-utility button{color:#d7e7df;align-items:center;gap:10px;min-height:42px;padding:0 9px;font-size:14px;transition:background .14s,color .14s,transform .14s;display:flex}.navigation-item-icon{color:#a6c8b9;flex:none;justify-content:center;align-items:center;display:inline-flex}.app-navigation .navigation-submenu button:hover,.app-navigation .navigation-utility button:hover{color:#fff;background:#ffffff1a;transform:translate(2px)}.app-navigation .navigation-submenu button.active,.app-navigation .navigation-utility button.active{color:#1c594c;background:#fff;font-weight:800;box-shadow:0 6px 14px #081e1833}.navigation-utility{border-top-color:#e6f6ee2e;gap:5px;padding-top:16px}.navigation-utility>span{margin-left:9px}@media (width<=960px){.signed-in-user{background:#f7faf8}.app-navigation .navigation-submenu button,.app-navigation .navigation-utility button{min-height:50px;font-size:15px}.navigation-group-trigger{min-height:54px}.navigation-scrim{background:#091c1775}}.mobile-navigation-bar{display:none}@media (width>=961px){.app-shell{padding-left:98px}.topbar,.workspace{width:100%;max-width:1440px;margin-left:0;margin-right:auto}.app-navigation{opacity:1;pointer-events:auto;background:#242724;border-color:#393e39;border-radius:8px;gap:14px;width:62px;height:auto;max-height:none;padding:10px;transition:width .18s,box-shadow .18s;top:18px;bottom:18px;left:18px;overflow:hidden;transform:none;box-shadow:0 16px 42px #10181433}.app-navigation:hover,.app-navigation.is-open,.app-navigation:focus-within{width:292px;box-shadow:0 22px 52px #10181442}.navigation-drawer-heading{border-bottom-color:#ebf2ed24;min-height:42px;padding:2px}.navigation-brand-icon{color:#2a5447;background:#d9e8df;border-radius:7px;width:38px;height:38px}.navigation-group{background:0 0;border-color:#0000;border-radius:7px;overflow:visible}.navigation-group-trigger{border-radius:7px;min-height:42px;padding:0 10px}.navigation-group.is-active-group .navigation-group-trigger{background:#def2e81a}.navigation-submenu{border-top:0;border-left:1px solid #ddf0e626;gap:2px;margin:1px 0 4px 24px;padding:4px 0 4px 8px}.navigation-utility{border-top-color:#ebf2ed24}.app-navigation:not(:hover):not(.is-open):not(:focus-within) .navigation-brand>div,.app-navigation:not(:hover):not(.is-open):not(:focus-within) .navigation-chevron,.app-navigation:not(:hover):not(.is-open):not(:focus-within) .navigation-group-label>span:last-child,.app-navigation:not(:hover):not(.is-open):not(:focus-within) .navigation-submenu,.app-navigation:not(:hover):not(.is-open):not(:focus-within) .navigation-utility{display:none}.app-navigation:not(:hover):not(.is-open):not(:focus-within) .navigation-drawer-heading,.app-navigation:not(:hover):not(.is-open):not(:focus-within) .navigation-group-trigger{justify-content:center;padding-left:0;padding-right:0}.app-navigation:not(:hover):not(.is-open):not(:focus-within) .navigation-groups{gap:9px}.app-navigation:not(:hover):not(.is-open):not(:focus-within) .navigation-group-icon{background:0 0;width:36px;height:36px}.app-navigation:not(:hover):not(.is-open):not(:focus-within) .navigation-group.is-active-group .navigation-group-icon{color:#275848;background:#e8f1eb}}@media (width<=960px){.app-shell{padding-bottom:calc(126px + env(safe-area-inset-bottom,0px))}.app-navigation{bottom:calc(76px + env(safe-area-inset-bottom,0px));color:var(--ink);opacity:0;background:#fbfcfa;border-color:#d8e1da;border-radius:10px 10px 0 0;width:100%;height:min(70dvh,620px);max-height:none;padding:16px 14px 14px;top:auto;left:0;transform:translateY(calc(100% + 22px));box-shadow:0 -16px 42px #14231c33}.app-navigation.is-open{opacity:1;transform:translateY(0)}.navigation-drawer-heading{border-bottom-color:#dfe7e1}.navigation-brand-icon{color:#f8faf7;background:#244d41}.navigation-drawer-heading span,.navigation-utility>span{color:#66766d}.navigation-drawer-heading strong{color:#21302a}.navigation-close{color:#35564a;background:#f0f4f0;border-color:#d8e2da}.navigation-group{background:#fff;border-color:#dfe7e1}.navigation-group-trigger{color:#24332c}.navigation-group-trigger:hover{color:#1d5a4a;background:#f4f8f5}.navigation-group-icon{color:#1d6e59;background:#edf4ef}.navigation-group[data-group=history] .navigation-group-icon{color:#4c6684;background:#eef2f7}.navigation-group[data-group=cash] .navigation-group-icon{color:#9a701f;background:#faf1df}.navigation-chevron{color:#638073}.navigation-submenu{border-top-color:#e2e9e3}.app-navigation .navigation-submenu button,.app-navigation .navigation-utility button{color:#4c5e55}.navigation-item-icon{color:#638073}.app-navigation .navigation-submenu button:hover,.app-navigation .navigation-utility button:hover{color:#1c6552;background:#f0f6f2;transform:none}.app-navigation .navigation-submenu button.active,.app-navigation .navigation-utility button.active{box-shadow:none;color:#1b6854;background:#e2f0e8}.navigation-utility{border-top-color:#dfe7e1}.navigation-scrim{background:#101c1647}.mobile-navigation-bar{bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:70;background:#fffffff5;border:1px solid #d9e2da;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;padding:5px;display:grid;position:fixed;left:12px;right:12px;box-shadow:0 8px 26px #16271f24}.mobile-navigation-bar button{color:#63726a;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:3px;min-height:58px;padding:5px 4px;font-size:12px;font-weight:750;display:grid}.mobile-navigation-icon{justify-content:center;align-items:center;height:24px;display:inline-flex}.mobile-navigation-bar button.active{color:#1d6a56;background:#e6f1eb}.mobile-navigation-bar button:active{background:#d8eae0}}@media (width>=961px){.app-shell{padding-left:294px}.desktop-corner-logo{z-index:60;background:#fff;border:1px solid #d9e3db;border-radius:8px;width:246px;height:92px;display:block;position:fixed;top:20px;left:24px;overflow:hidden;box-shadow:0 8px 24px #263b3114}.desktop-corner-logo img{object-fit:cover;object-position:center 51%;width:100%;height:100%;display:block}.app-navigation,.app-navigation:hover,.app-navigation.is-open,.app-navigation:focus-within{scrollbar-gutter:stable;background:#fbfcfa;border-color:#d9e3db;gap:14px;width:246px;height:calc(100dvh - 164px);max-height:calc(100dvh - 164px);padding:14px;transition:none;top:132px;bottom:auto;left:24px;overflow:hidden auto;box-shadow:0 10px 28px #263b3117}.navigation-close{display:none}.navigation-drawer-heading{border-bottom-color:#e2e9e3;min-height:44px;padding:2px 0 14px}.navigation-brand-icon{color:#356653;background:#e7f1eb;border-radius:8px}.navigation-drawer-heading span,.navigation-utility>span{color:#6d7c73}.navigation-drawer-heading strong{color:#24322b}.navigation-groups{gap:8px}.navigation-group{background:#fff;border:1px solid #e1e9e2;border-radius:8px;transition:border-color .16s,box-shadow .16s;overflow:hidden}.navigation-group:hover{border-color:#bad6c7;box-shadow:0 6px 16px #2d5e4914}.navigation-group.is-active-group .navigation-group-trigger,.navigation-group:hover .navigation-group-trigger,.navigation-group-trigger:focus-visible{color:#245f4c;background:#f2f8f4}.navigation-group-trigger{color:#28362f;min-height:48px;padding:0 11px}.navigation-group-icon,.navigation-group[data-group=history] .navigation-group-icon,.navigation-group[data-group=cash] .navigation-group-icon{color:#6b7971;background:#f0f3f1;width:30px;height:30px}.navigation-group.is-active-group .navigation-group-icon,.navigation-group:hover .navigation-group-icon,.navigation-group-trigger:focus-visible .navigation-group-icon{color:#1f6a54;background:#e3f0e9}.navigation-chevron{color:#819088}.navigation-submenu{box-shadow:none;opacity:0;pointer-events:none;visibility:visible;z-index:auto;background:0 0;border:0;border-top:1px solid #e4ebe5;border-radius:0;gap:3px;width:auto;max-height:0;padding:0 7px;transition:max-height .18s,opacity .14s,padding .18s;display:grid;position:static;left:auto;overflow:hidden;transform:none}.navigation-group[data-group=current] .navigation-submenu,.navigation-group:hover .navigation-submenu,.navigation-group:focus-within .navigation-submenu{opacity:1;pointer-events:auto;max-height:520px;padding:7px}.navigation-group[data-group=current] .navigation-chevron,.navigation-group:hover .navigation-chevron,.navigation-group:focus-within .navigation-chevron{transform:rotate(180deg)}.app-navigation .navigation-submenu button,.app-navigation .navigation-utility button{color:#52645a;min-height:40px}.navigation-item-icon{color:#6c897b}.app-navigation .navigation-submenu button:hover,.app-navigation .navigation-utility button:hover{color:#1f6a54;background:#f0f6f2;transform:none}.app-navigation .navigation-submenu button.active,.app-navigation .navigation-utility button.active{box-shadow:none;color:#1f6a54;background:#e3f0e9}.app-navigation .navigation-submenu button.active .navigation-item-icon,.app-navigation .navigation-utility button.active .navigation-item-icon{color:#1f6a54}.navigation-utility{border-top-color:#e1e9e2;margin-top:2px;padding:12px 0 0}.navigation-utility>span{margin-left:10px}.app-navigation:not(:hover):not(.is-open):not(:focus-within) .navigation-brand>div,.app-navigation:not(:hover):not(.is-open):not(:focus-within) .navigation-submenu,.app-navigation:not(:hover):not(.is-open):not(:focus-within) .navigation-utility{display:grid}.app-navigation:not(:hover):not(.is-open):not(:focus-within) .navigation-chevron{display:block}.app-navigation:not(:hover):not(.is-open):not(:focus-within) .navigation-group-label>span:last-child{display:inline}.app-navigation:not(:hover):not(.is-open):not(:focus-within) .navigation-drawer-heading{justify-content:space-between;padding:2px 0 14px}.app-navigation:not(:hover):not(.is-open):not(:focus-within) .navigation-group-trigger{justify-content:space-between;padding-left:11px;padding-right:11px}.app-navigation:not(:hover):not(.is-open):not(:focus-within) .navigation-groups{gap:8px}.app-navigation:not(:hover):not(.is-open):not(:focus-within) .navigation-group-icon{color:#6b7971;background:#f0f3f1;width:30px;height:30px}.app-navigation:not(:hover):not(.is-open):not(:focus-within) .navigation-group.is-active-group .navigation-group-icon{color:#1f6a54;background:#e3f0e9}.navigation-group[data-group=current] .navigation-chevron,.app-navigation:not(:hover):not(.is-open):not(:focus-within) .navigation-group[data-group=current] .navigation-chevron{display:none}}@media (width<=960px){.app-navigation{overscroll-behavior:contain;height:100dvh;max-height:none;padding:calc(16px + env(safe-area-inset-top,0px)) 14px calc(16px + env(safe-area-inset-bottom,0px));border-radius:10px 0 0 10px;width:min(340px,100vw - 42px);inset:0 0 0 auto;transform:translate(100%);box-shadow:-18px 0 44px #14231c33}.app-navigation.is-open{transform:translate(0)}.navigation-scrim{touch-action:none}.navigation-submenu{display:none}.navigation-submenu.is-expanded{display:grid}.mobile-navigation-bar{bottom:auto;left:auto;right:max(10px, env(safe-area-inset-right,0px));background:#fffffff7;border:1px solid #d5e1d8;border-radius:8px;width:58px;padding:4px;display:block;top:50%;transform:translateY(-50%);box-shadow:0 10px 28px #1832272e}.mobile-navigation-bar button{border-radius:6px;align-items:center;gap:2px;width:100%;min-height:58px;padding:5px 3px;font-size:11px;display:grid}.mobile-navigation-icon{height:25px}}:root{--background:#f4f7f4;--foreground:#23312b;--ink:#18261f;--muted:#68776f;--line:#d8e2da;--panel-soft:#f7faf7;--green:#236b56;--green-soft:#e2f0e9}body{letter-spacing:0;text-rendering:optimizelegibility}button,input,select,textarea{letter-spacing:0}button,a,input,select,textarea{transition:background-color .14s,border-color .14s,box-shadow .14s,color .14s}.topbar,.panel,.metric,.balance-panel,.purchase-panel{border-color:var(--line);box-shadow:0 7px 22px #1e372b0e}.panel{background:#fffffffb}.primary-action,.entry-form .action-button,.login-primary{box-shadow:0 5px 12px #236b5624}.primary-action:hover:not(:disabled),.entry-form .action-button:hover:not(:disabled),.login-primary:hover:not(:disabled){background:#195d49;border-color:#195d49;box-shadow:0 7px 16px #236b5633}.secondary-action:hover:not(:disabled),.login-secondary:hover:not(:disabled){background:#f0f6f2;border-color:#a9c1b4}input,select,textarea{border-color:#cedbd2;min-height:44px}input:hover,select:hover,textarea:hover{border-color:#a9c1b4}input:focus,select:focus,textarea:focus{border-color:#4f8c77;box-shadow:0 0 0 3px #236b561f}.save-feedback{z-index:45;animation:.16s ease-out feedback-enter;position:sticky;top:12px;box-shadow:0 10px 28px #19302521}@keyframes feedback-enter{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.monthly-archive-actions{flex-wrap:wrap;justify-content:flex-end;align-items:stretch;gap:8px;display:flex}.navigation-group-trigger.is-static{cursor:default}.danger-link{color:#a63f35;background:#fff;border:1px solid #e3b9b3;border-radius:6px;min-height:34px;padding:0 11px;font-size:13px;font-weight:750}.danger-link:hover:not(:disabled){background:#fbefed;border-color:#cf847b}@media (width>=961px){.app-shell{padding:20px 24px 36px 294px}.desktop-corner-logo{background:#fff;justify-content:center;align-items:center;width:246px;height:88px;padding:9px 14px;display:flex}.desktop-corner-logo img{object-fit:contain;object-position:center;width:100%;height:100%}.app-navigation,.app-navigation:hover,.app-navigation.is-open,.app-navigation:focus-within{opacity:1;pointer-events:auto;width:246px;left:24px;transform:none}.navigation-group,.navigation-group:hover{transform:none}.navigation-group[data-group=current] .navigation-submenu{opacity:1;pointer-events:auto;max-height:540px;padding:7px;display:grid}.topbar{min-height:86px;padding:16px 20px}.workspace{min-width:0}.content-area{max-width:1500px}}@media (width<=960px){html,body{overflow-x:hidden}.app-shell{min-height:100dvh;padding:10px 10px calc(112px + env(safe-area-inset-bottom,0px))}.topbar{gap:14px;padding:16px}.topbar h1{overflow-wrap:anywhere;font-size:30px;line-height:1.16}.topbar-actions{gap:10px;width:100%}.role-switch{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.role-switch button{white-space:normal;min-height:46px}.signed-in-user{background:var(--panel-soft);border:1px solid var(--line);text-align:left;border-radius:7px;flex:auto;align-items:center;min-height:48px;padding:8px 10px;display:flex}.signed-in-user strong{max-width:min(58vw,260px)}.app-navigation{padding:calc(14px + env(safe-area-inset-top,0px)) 12px calc(20px + env(safe-area-inset-bottom,0px));border-radius:12px 0 0 12px;width:min(306px,100vw - 54px)}.navigation-drawer-heading{min-height:62px}.navigation-close{width:48px;height:48px;display:inline-flex}.navigation-group-trigger{min-height:50px}.app-navigation .navigation-submenu button,.app-navigation .navigation-utility button{min-height:46px}.mobile-navigation-bar{right:max(8px, env(safe-area-inset-right,0px));width:64px}.mobile-navigation-bar button{min-height:68px;font-size:12px}.content-area,.view-stack{min-width:0}.panel,.metric,.balance-panel,.purchase-panel{border-radius:8px}.panel{padding:17px}.panel-title{gap:8px}.panel-title h2{overflow-wrap:anywhere;font-size:22px;line-height:1.3}.panel-title>span,.panel-title small{overflow-wrap:anywhere}.entry-form{grid-template-columns:minmax(0,1fr)}.entry-form .field,.entry-form .action-button{grid-column:1;width:100%;min-width:0}.field>span{font-size:14px}input,select,textarea{width:100%;min-width:0;font-size:16px}.table-wrap{overscroll-behavior-x:contain;scrollbar-width:thin}.monthly-archive-panel{align-items:stretch;display:grid}.monthly-archive-actions{grid-template-columns:1fr;display:grid}.monthly-archive-actions button{width:100%;min-height:46px}}@media (width<=420px){.topbar h1{font-size:26px}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}:root{--hh-canvas:#f5f9fd;--hh-surface:#fff;--hh-surface-soft:#f7faff;--hh-surface-raised:#fbfdff;--hh-ink:#17263a;--hh-text:#314158;--hh-muted:#7c899b;--hh-line:#e1e8f0;--hh-line-strong:#c7d3e0;--hh-primary:#1687e8;--hh-primary-hover:#0d72cb;--hh-primary-soft:#e8f4ff;--hh-red:#e15969;--hh-red-soft:#fff0f2;--hh-blue:#1687e8;--hh-blue-soft:#e8f4ff;--hh-gold:#e39a22;--hh-gold-soft:#fff6e6;--hh-positive:#1aa67d;--hh-positive-soft:#eaf8f3;--hh-chart-grid:#e6edf5;--hh-chart-cursor:#a8d3f6;--hh-shadow:0 1px 3px #2b4a6d0d;--hh-shadow-raised:0 16px 40px #2b4a6d1a;--background:var(--hh-canvas);--foreground:var(--hh-text);--ink:var(--hh-ink);--muted:var(--hh-muted);--line:var(--hh-line);--panel:var(--hh-surface);--panel-soft:var(--hh-surface-soft);--green:var(--hh-primary);--green-soft:var(--hh-primary-soft);--red:var(--hh-red);--red-soft:var(--hh-red-soft);--gold:var(--hh-gold);--gold-soft:var(--hh-gold-soft);--blue:var(--hh-blue);--blue-soft:var(--hh-blue-soft);--font-ui:"Noto Sans SC", "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", "Segoe UI", Arial, sans-serif;--font-display:"Noto Sans SC", "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", "Segoe UI", Arial, sans-serif}html{background:var(--hh-canvas);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--hh-canvas);color:var(--hh-text);font-family:var(--font-ui);font-size:14px;font-weight:450;line-height:1.55}button,input,select,textarea{font-family:inherit}input[type=month]:not(:disabled){cursor:pointer}button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #1687e82e}.topbar,.panel,.metric,.access-tile,.balance-panel,.purchase-panel{background:var(--hh-surface);border-color:var(--hh-line);box-shadow:var(--hh-shadow)}.login-shell{background:linear-gradient(90deg, #0d7fdc 0, #0d7fdc 34%, var(--hh-canvas) 34%), var(--hh-canvas);padding:32px}.login-panel{background:var(--hh-surface);border:1px solid #ffffff6b;border-radius:8px;grid-template-columns:minmax(300px,.78fr) minmax(430px,1fr);gap:0;max-width:1020px;min-height:590px;overflow:hidden;box-shadow:0 30px 80px #1f497433}.login-identity-panel{color:#fff;background:#0d7fdc;flex-direction:column;min-width:0;padding:38px;display:flex;position:relative}.login-identity-panel:after{content:"";background:#ffc35c;width:54px;height:3px;position:absolute;bottom:38px;left:38px}.login-logo-frame{background:#0d7fdc;border-radius:6px;width:100%;height:112px;padding:12px 18px;overflow:hidden}.login-logo-frame img{mix-blend-mode:multiply;object-fit:contain;width:100%;height:100%}.login-identity-copy{gap:12px;margin:auto 0;display:grid}.login-identity-copy>span{color:#d8edff;letter-spacing:0;font-size:11px;font-weight:800}.login-identity-copy h2{color:#fff;max-width:310px;font-size:36px;font-weight:650;line-height:1.25}.login-identity-index{color:#e3f2ff;font-variant-numeric:tabular-nums;border-top:1px solid #ffffff2e;align-items:center;gap:18px;padding-top:18px;font-size:12px;font-weight:750;display:flex}.login-brand-block{background:var(--hh-surface);border:0;border-radius:0;align-content:center;gap:22px;min-height:590px;padding:48px 54px}.login-heading-row{align-items:flex-start}.login-heading-row h1{font-size:29px;font-weight:650;line-height:1.3}.login-heading-row .eyebrow{margin-bottom:8px}.login-detail{color:var(--hh-muted);font-size:14px;line-height:1.7}.login-form{gap:16px}.login-language-switch,.role-switch,.cashier-language-switch{border:1px solid var(--hh-line);background:#eef2f0;border-radius:6px;padding:3px}.login-language-switch button,.role-switch button,.cashier-language-switch button{border-radius:4px}.login-language-switch button.selected,.role-switch .selected,.cashier-language-switch button.selected{background:var(--hh-surface);color:var(--hh-primary);box-shadow:0 1px 4px #1f49741f}.login-primary,.login-secondary{border-radius:6px;gap:9px;min-height:48px}.login-primary{background:var(--hh-primary);border-color:var(--hh-primary)}.login-primary:hover:not(:disabled){background:var(--hh-primary-hover);border-color:var(--hh-primary-hover)}.login-account-note,.login-error-note{border-radius:6px}.topbar{border-radius:0}.topbar-brand{align-items:center;gap:13px}.topbar-view-icon{background:var(--hh-primary-soft);color:var(--hh-primary);border:1px solid #cce5fb;border-radius:6px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.topbar .eyebrow{color:var(--hh-muted);letter-spacing:0;margin:0 0 2px;font-size:11px;font-weight:800}.topbar h1{color:var(--hh-ink);font-size:22px;font-weight:650;line-height:1.25}.topbar-actions{min-width:0}.ledger-period{border-right:1px solid var(--hh-line);color:var(--hh-primary);align-items:center;gap:9px;min-height:40px;padding-right:18px;display:flex}.ledger-period div{gap:1px;display:grid}.ledger-period span,.signed-in-user span{color:var(--hh-muted);font-size:11px;font-weight:750}.ledger-period strong,.signed-in-user strong{color:var(--hh-ink);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.signed-in-user{background:0 0;border:0;border-radius:0;padding:0}.signed-in-user-icon{background:var(--hh-primary-soft);color:var(--hh-primary)}.compact-action{gap:7px;min-width:76px}.desktop-corner-logo{background:var(--hh-surface);border-color:var(--hh-line);box-shadow:none}.desktop-corner-logo img{object-fit:contain;padding:6px 13px}.app-navigation{background:var(--hh-surface);border-color:var(--hh-line);box-shadow:none}.navigation-drawer-heading{border-bottom-color:var(--hh-line)}.navigation-brand-icon{background:var(--hh-primary-soft);color:var(--hh-primary)}.navigation-drawer-heading span,.navigation-utility>span{color:var(--hh-muted);letter-spacing:0}.navigation-drawer-heading strong{color:var(--hh-ink)}.view-stack{gap:14px}.metric-grid{background:var(--hh-surface);border:1px solid var(--hh-line);box-shadow:var(--hh-shadow);border-radius:8px;gap:0;overflow:hidden}.metric{box-shadow:none;border:0;border-radius:0;min-height:126px;padding:18px 20px;position:relative}.metric:before{content:"";background:#9aabc0;width:36px;height:3px;position:absolute;top:0;left:20px}.metric-income:before{background:var(--hh-positive)}.metric-expense:before{background:var(--hh-red)}.metric-warning:before{background:var(--hh-gold)}.metric-heading{align-items:center;gap:8px;display:flex}.metric-heading>span:last-child{color:var(--hh-muted);font-size:12px;font-weight:750}.metric-icon{color:#8291a4;align-items:center;display:inline-flex}.metric-income .metric-icon{color:var(--hh-positive)}.metric-expense .metric-icon{color:var(--hh-red)}.metric-warning .metric-icon{color:var(--hh-gold)}.metric strong{color:var(--hh-ink);font-variant-numeric:tabular-nums;letter-spacing:0;font-size:28px;font-weight:650;line-height:1.2}.metric small{color:var(--hh-muted);font-size:11px;font-weight:600}.panel{border-radius:8px;padding:0}.panel-title{background:var(--hh-surface-raised);border-bottom:1px solid var(--hh-line);align-items:center;min-height:58px;margin:0;padding:14px 18px;position:relative}.panel-title:before{background:var(--hh-primary);content:"";border-radius:2px;width:3px;height:22px;position:absolute;left:0}.panel-title h2{color:var(--hh-ink);font-size:16px;font-weight:700}.panel-title>span,.panel-title>div>span{color:var(--hh-muted);font-size:12px;font-weight:650}.panel>:not(.panel-title):not(.table-wrap),.input-panel>:not(.panel-title):not(.table-wrap){box-sizing:border-box;min-width:0;max-width:calc(100% - 36px);margin-left:18px;margin-right:18px}.panel>:first-child:not(.panel-title):not(.table-wrap),.input-panel>:first-child:not(.panel-title):not(.table-wrap),.panel>.panel-title+:not(.table-wrap),.input-panel>.panel-title+:not(.table-wrap){margin-top:18px}.panel>:last-child:not(.panel-title):not(.table-wrap){margin-bottom:18px}.panel>.table-wrap{margin:0}.input-panel{background:var(--hh-surface)}.checklist-grid{gap:0;margin-top:0}.check-row{background:0 0;border:0;border-radius:0;min-height:112px;padding:20px}.check-row+.check-row{border-left:1px solid var(--hh-line)}.check-row span{color:var(--hh-muted);font-size:12px;font-weight:700}.check-row strong{color:var(--hh-ink);font-variant-numeric:tabular-nums;font-size:21px;font-weight:650}.status{border:1px solid #0000;border-radius:4px;min-height:24px;padding:0 8px;font-size:11px}.overview-welcome{justify-content:space-between;align-items:flex-end;gap:24px;min-height:74px;padding:4px 2px 0;display:flex}.overview-welcome>div{gap:3px;display:grid}.overview-welcome>div>span,.overview-section-heading>div>span{color:var(--hh-primary);font-size:11px;font-weight:800}.overview-welcome h2{color:var(--hh-ink);font-size:23px;font-weight:680}.overview-welcome p{color:var(--hh-muted);font-size:12px}.overview-sync-state{color:#607088;white-space:nowrap;align-items:center;gap:7px;font-size:12px;font-weight:700;display:inline-flex}.overview-sync-state i{background:var(--hh-positive);border:3px solid var(--hh-positive-soft);border-radius:50%;width:10px;height:10px}.overview-metric-grid{border-color:#dfe8f1;box-shadow:0 8px 26px #355d870f}.overview-metric-grid .metric{min-height:116px;padding:17px 20px}.overview-metric-grid .metric:first-child strong{color:var(--hh-primary)}.overview-metric-grid .metric:before{display:none}.overview-metric-grid .metric-heading{justify-content:space-between}.overview-metric-grid .metric-heading>span:last-child{order:-1}.overview-metric-grid .metric-icon{border-radius:50%;justify-content:center;width:24px;height:24px}.overview-metric-grid .metric-income .metric-icon{background:var(--hh-positive-soft)}.overview-metric-grid .metric-expense .metric-icon{background:var(--hh-red-soft)}.overview-metric-grid .metric-warning .metric-icon{background:var(--hh-gold-soft)}.overview-main-grid,.overview-lower-grid{grid-template-columns:minmax(0,2.55fr) minmax(290px,.95fr);gap:18px;display:grid}.overview-dashboard .panel{border-color:#dfe8f1;box-shadow:0 8px 26px #355d870d}.overview-trend-panel{min-height:392px}.overview-section-heading{border-bottom:1px solid var(--hh-line);justify-content:space-between;align-items:center;min-height:72px;margin:0 20px;padding:14px 0;display:flex}.overview-section-heading>div:first-child{gap:2px;display:grid}.overview-section-heading h2{color:var(--hh-ink);font-size:16px;font-weight:720}.overview-section-heading>b{background:var(--hh-primary-soft);color:var(--hh-primary);border-radius:5px;justify-content:center;align-items:center;min-width:30px;height:28px;padding:0 8px;font-size:12px;display:inline-flex}.overview-trend-total{text-align:right;align-items:flex-end;gap:2px;display:grid}.overview-trend-total span{color:var(--hh-muted);font-size:11px;font-weight:700}.overview-trend-total strong{color:var(--hh-ink);font-variant-numeric:tabular-nums;font-size:21px;font-weight:680}.overview-chart{min-width:0;height:296px;margin:4px 12px 14px 6px!important}.overview-chart svg{width:100%;height:100%;display:block;overflow:visible}.overview-chart-grid line{stroke:#e8eef5;stroke-dasharray:3 5;stroke-width:1px}.overview-chart-grid text,.overview-chart-label{fill:#8a98aa;font-family:var(--font-ui);font-size:11px;font-weight:650}.overview-chart-area{fill:#eaf5ff;opacity:.8}.overview-chart-line{fill:none;stroke:var(--hh-primary);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.overview-chart-point{fill:#fff;stroke:var(--hh-primary);stroke-width:2.5px}.overview-check-list{display:grid;margin:0 20px 16px!important}.overview-status-row{appearance:none;border:0;border-bottom:1px solid var(--hh-line);color:inherit;cursor:pointer;text-align:left;background:0 0;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;min-height:78px;padding:0 2px;display:grid}.overview-status-row:last-child{border-bottom:0}.overview-status-row:focus-visible{outline-offset:-3px;outline:3px solid #1687e829}.overview-status-icon{background:var(--hh-primary-soft);color:var(--hh-primary);border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.overview-status-copy{gap:4px;min-width:0;display:grid}.overview-status-copy strong{color:var(--hh-ink);font-size:13px;font-weight:700}.overview-status-copy small{color:var(--hh-muted);font-size:11px;line-height:1.45}.overview-row-action{color:var(--hh-primary);white-space:nowrap;justify-content:flex-end;align-items:center;gap:3px;font-size:11px;font-weight:750;display:inline-flex}.overview-status-row.needs-action .overview-row-action,.overview-status-row.is-overdue .overview-row-action{color:#9a6a10}.overview-status-row.is-danger .overview-status-icon{background:var(--hh-red-soft);color:var(--hh-red)}.overview-status-row.is-danger .overview-row-action{color:var(--hh-red)}.overview-text-action{color:var(--hh-primary);background:0 0;border:0;align-items:center;gap:5px;padding:6px 0;font-size:12px;font-weight:750;display:inline-flex}.overview-text-action:hover{color:var(--hh-primary-hover)}.overview-recent-panel .table-wrap{border:0;border-radius:0;max-height:none}.overview-recent-panel th,.overview-recent-panel td{height:49px;padding-left:20px;padding-right:20px}.overview-recent-panel th{background:#fbfdff}.overview-recent-panel tbody tr:nth-child(2n) td{background:#fff}.amount-positive{color:var(--hh-positive);font-weight:750}.overview-empty-row{color:var(--hh-muted);text-align:center;height:164px!important}.overview-summary-panel{flex-direction:column;display:flex}.overview-summary-balance{gap:5px;display:grid;margin:20px 20px 16px!important}.overview-summary-balance span{color:var(--hh-muted);font-size:12px;font-weight:700}.overview-summary-balance.is-positive strong{color:var(--hh-positive)}.overview-summary-balance.is-negative strong{color:var(--hh-red)}.overview-summary-balance strong{font-variant-numeric:tabular-nums;font-size:30px;font-weight:680}.overview-summary-bars{gap:15px;display:grid;margin:0 20px 20px!important}.overview-summary-bars>div{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;display:grid}.overview-summary-bars span{color:var(--hh-muted);font-size:11px;font-weight:700}.overview-summary-bars strong{color:var(--hh-ink);font-variant-numeric:tabular-nums;font-size:11px;font-weight:750}.overview-summary-bars i{background:var(--hh-primary);border-radius:3px;grid-column:1/-1;min-width:2px;max-width:100%;height:6px;position:relative}.overview-summary-bars>div:after{content:"";z-index:0;background:#ecf1f6;border-radius:3px;grid-area:2/1/auto/-1;width:100%;height:6px}.overview-summary-bars i{z-index:1}.overview-summary-action{background:var(--hh-primary-soft);color:var(--hh-primary);border:1px solid #cce5fb;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:40px;margin:auto 20px 20px;padding:0 14px;font-size:12px;font-weight:750;display:inline-flex}.entry-form{grid-template-columns:repeat(4,minmax(180px,1fr));align-items:start;gap:14px 16px;padding:20px 0}.field{gap:7px}.receipt-field{grid-template-rows:auto minmax(44px,auto);align-self:start}.receipt-actions{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));align-items:stretch;gap:8px;width:100%;display:grid}.receipt-actions .receipt-action,.receipt-actions .receipt-clear{width:100%;margin:0}.receipt-status{width:100%;min-width:0}.field input,.field select,.field textarea,.detail-search input,.denomination-field input,.table-number-input,input,select,textarea{border:1px solid var(--hh-line-strong);color:var(--hh-ink);background:#fff;border-radius:5px;min-height:44px}.field input,.field select,.field textarea{padding-left:12px;padding-right:12px}.field input:focus,.field select:focus,.field textarea:focus,.detail-search input:focus,.denomination-field input:focus,.table-number-input:focus{border-color:var(--hh-primary);outline:0;box-shadow:0 0 0 3px #1687e81c}.field input[readonly],.field input:disabled,.field select:disabled,.table-number-input:disabled{color:#637188;background:#f1f4f8;border-color:#e0e7ef}.primary-action,.secondary-action,.receipt-action,.receipt-clear,.proof-link,.search-with-action button,.entry-form .action-button{border-radius:5px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 15px;font-size:13px;font-weight:750;display:inline-flex}.primary-action,.entry-form .action-button{background:var(--hh-primary);border:1px solid var(--hh-primary);box-shadow:none;color:#fff}.primary-action:hover:not(:disabled),.entry-form .action-button:hover:not(:disabled){background:var(--hh-primary-hover);border-color:var(--hh-primary-hover);box-shadow:none}.primary-action:disabled,.entry-form .action-button:disabled{color:#7e8b9d;background:#dfe7ef;border-color:#dfe7ef}.app-shell button,.login-shell button,.confirmation-dialog button{-webkit-tap-highlight-color:transparent;transition:background-color .14s,border-color .14s,box-shadow .14s,color .14s,opacity .14s,transform .1s}.app-shell button:active:not(:disabled),.login-shell button:active:not(:disabled),.confirmation-dialog button:active:not(:disabled){transform:translateY(1px)scale(.985)}.app-shell button:focus-visible,.login-shell button:focus-visible,.confirmation-dialog button:focus-visible{outline-offset:2px;outline:3px solid #1687e83d}.app-shell button:disabled,.login-shell button:disabled,.confirmation-dialog button:disabled{cursor:not-allowed;opacity:.68}.primary-action.is-loading,button[aria-busy=true]{cursor:progress}.operation-spinner{animation:.72s linear infinite operation-spin}@keyframes operation-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.app-shell button,.login-shell button,.confirmation-dialog button,tbody tr{transition:none}.operation-spinner{animation:none}}.month-picker{align-content:start;gap:7px;min-width:180px;display:grid;position:relative}.month-picker-label{color:var(--hh-muted);font-size:13px;font-weight:700}.month-picker-trigger{background:var(--hh-surface);border:1px solid var(--hh-line-strong);color:var(--hh-ink);cursor:pointer;text-align:left;border-radius:7px;justify-content:space-between;align-items:center;gap:14px;width:100%;min-height:44px;padding:0 12px;font-size:14px;font-weight:600;display:flex}.month-picker-trigger:hover:not(:disabled){border-color:#9fc7ea}.month-picker.is-open .month-picker-trigger{border-color:var(--hh-primary);box-shadow:0 0 0 3px #1687e81f}.month-picker-trigger svg{color:var(--hh-primary);flex:none}.month-picker-trigger:disabled{color:var(--hh-muted);cursor:not-allowed;opacity:.75;background:#f1f5f8}.month-picker-scrim{display:none}.month-picker-popover{background:var(--hh-surface);border:1px solid var(--hh-line);z-index:180;border-radius:8px;grid-template-columns:142px minmax(310px,1fr);width:500px;display:grid;position:absolute;top:calc(100% + 8px);overflow:hidden;box-shadow:0 18px 48px #2240602e}.month-picker[data-align=start] .month-picker-popover{left:0}.month-picker[data-align=end] .month-picker-popover{right:0}.month-picker-shortcuts{border-right:1px solid var(--hh-line);background:#f6f9fc;align-content:start;gap:4px;padding:16px 10px;display:grid}.month-picker-shortcuts strong{color:var(--hh-muted);padding:0 10px 7px;font-size:12px;font-weight:700}.month-picker-shortcuts button{color:var(--hh-text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;min-height:40px;padding:0 10px;font-size:14px;font-weight:600}.month-picker-shortcuts button:hover,.month-picker-shortcuts button.is-selected{background:var(--hh-primary-soft);color:var(--hh-primary)}.month-picker-calendar{gap:18px;padding:18px;display:grid}.month-picker-navigation{grid-template-columns:34px 34px minmax(100px,1fr) 34px 34px;align-items:center;gap:4px;display:grid}.month-picker-navigation strong{color:var(--hh-ink);text-align:center;font-size:16px;font-weight:650}.month-picker-navigation button{color:var(--hh-text);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.month-picker-navigation button:hover{background:var(--hh-primary-soft);color:var(--hh-primary)}.month-picker-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.month-picker-grid button{color:var(--hh-text);cursor:pointer;background:#f8fafc;border:1px solid #0000;border-radius:6px;min-height:46px;font-size:14px;font-weight:600;position:relative}.month-picker-grid button:hover{background:var(--hh-primary-soft);color:var(--hh-primary);border-color:#b9dcf8}.month-picker-grid button.is-current:not(.is-selected):after{background:var(--hh-primary);content:"";border-radius:50%;width:4px;height:4px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.month-picker-grid button.is-selected{background:var(--hh-primary);border-color:var(--hh-primary);color:#fff}@media (width<=960px){.month-picker-label{font-size:15px}.month-picker-trigger{min-height:54px;font-size:17px}}@media (width<=680px){.month-picker-scrim{z-index:179;background:#10223647;border:0;padding:0;display:block;position:fixed;inset:0}.month-picker-popover,.month-picker[data-align=start] .month-picker-popover,.month-picker[data-align=end] .month-picker-popover{z-index:180;grid-template-columns:minmax(0,1fr);width:auto;max-height:min(620px,100dvh - 40px);position:fixed;top:50%;left:16px;right:16px;overflow-y:auto;transform:translateY(-50%)}.month-picker-shortcuts{border-bottom:1px solid var(--hh-line);border-right:0;grid-template-columns:repeat(4,minmax(0,1fr));padding:10px}.month-picker-shortcuts strong{grid-column:1/-1;padding:0 4px 4px}.month-picker-shortcuts button{text-align:center;min-height:38px;padding:0 4px;font-size:13px}.month-picker-calendar{gap:14px;padding:14px}.month-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.month-picker-grid button{min-height:44px}}.secondary-action,.receipt-action,.receipt-clear,.proof-link{border:1px solid var(--hh-line-strong);color:#3d6286;background:#fff}.danger-link,.danger-action,.danger-confirm-action{border-radius:5px}.save-feedback{border:1px solid #c9d9e8;border-left:4px solid var(--hh-primary);max-width:min(520px,100vw - 32px);min-height:54px;left:0;right:0;top:max(16px, env(safe-area-inset-top,0px));z-index:110;background:#fff;border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:max-content;margin:0 auto;padding:10px 10px 10px 12px;display:grid;position:fixed;box-shadow:0 16px 42px #20426133}.save-feedback-icon{background:var(--hh-primary-soft);color:var(--hh-primary);border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.save-feedback .save-feedback-copy{color:var(--hh-ink);min-width:0;font-size:13px;font-weight:700;line-height:1.45}.save-feedback-close{color:#7b8da1;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.save-feedback-close:hover{color:var(--hh-ink);background:#eef4fa}.save-feedback-loading{border-left-color:var(--hh-primary)}.save-feedback-success{border-left-color:#2f9d71}.save-feedback-success .save-feedback-icon{color:#247d59;background:#e9f7f1}.save-feedback-error{border-left-color:var(--hh-red)}.save-feedback-error .save-feedback-icon{color:var(--hh-red);background:#fff0ef}.save-feedback-warning{border-left-color:var(--hh-gold)}.save-feedback-warning .save-feedback-icon{color:#9b6d13;background:#fff7df}.table-wrap{isolation:isolate;max-height:calc(var(--list-row-height) * (var(--list-visible-rows) + 1));overscroll-behavior:contain;scrollbar-color:#aab9b1 transparent;background:#fff;border:0;border-radius:0;position:relative}table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}th,td{height:var(--list-row-height);border-bottom:1px solid #e4e9e6;padding:11px 14px}th{color:#67778b;letter-spacing:0;text-transform:none;white-space:nowrap;z-index:2;background:#f6f9fc;font-size:11px;font-weight:800;position:sticky;top:0;box-shadow:inset 0 -1px #dce4ec}td{color:#34445a;vertical-align:middle;font-size:13px}tbody tr{transition:background-color .12s}tbody tr:last-child td{border-bottom-color:#0000}td strong,td .metric-value,td .amount{font-variant-numeric:tabular-nums}td .status-badge,td .payment-status,td .archive-status{white-space:nowrap}@media (width<=960px){.save-feedback{max-width:none;bottom:auto;left:12px;right:12px;top:calc(12px + env(safe-area-inset-top,0px));width:auto}}.bill-age-warning td{color:#8a651c}.bill-age-danger td{color:#a94138}.denomination-field,.cashier-mode-note,.cashier-total-card,.cashier-settlement-summary div,.action-preview,.ledger-list-section,.supplier-ledger-grid section,.settings-overview-grid>*,.access-tile{background:var(--hh-surface-soft);border-color:var(--hh-line);border-radius:6px}.cashier-total-card,.cashier-settlement-summary div,.action-preview{box-shadow:none}.denomination-field strong,.cashier-total-card strong,.cashier-settlement-summary strong,.action-preview strong,.balance-hero strong,.bank-reconcile-summary-grid strong,.bank-check-list strong,.supplier-ledger-summary strong,.analysis-hero-copy strong,.month-end-result strong{color:var(--hh-ink);font-variant-numeric:tabular-nums;font-weight:650}.bank-reconcile-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(170px,.72fr)}.bank-reconcile-summary-grid,.bank-check-list{box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin-inline:auto}.bank-reconcile-summary-grid>div,.bank-check-list>div{box-sizing:border-box;align-content:center;min-width:0;max-width:100%;min-height:90px;padding:16px 18px;overflow:hidden}.bank-check-list>div:last-child{grid-column:1/-1;justify-self:center;width:calc(50% - 6px);max-width:calc(50% - 6px)}.bank-reconcile-layout,.bank-reconcile-layout>*,.bank-check-panel{min-width:0;max-width:100%}.analysis-mode-switch,.cashier-language-switch,.role-switch{box-shadow:none}.analysis-mode-switch button{border-radius:4px}.confirmation-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f1b1575}.confirmation-dialog{border:1px solid var(--hh-line);border-radius:8px;box-shadow:0 28px 80px #0d1f1747}.confirmation-dialog-heading>span{color:var(--hh-red);letter-spacing:0}@media (width>=961px){.app-shell{padding:0 26px 48px 238px}.desktop-corner-logo{border:0;border-bottom:1px solid var(--hh-line);z-index:70;border-radius:0;width:212px;height:86px;position:fixed;top:0;left:0}.app-navigation,.app-navigation:hover,.app-navigation.is-open,.app-navigation:focus-within{border:0;border-right:1px solid var(--hh-line);box-shadow:none;overflow-anchor:none;scrollbar-gutter:auto;scrollbar-width:none;border-radius:0;width:212px;min-width:212px;max-width:212px;height:calc(100dvh - 86px);max-height:calc(100dvh - 86px);margin:0;padding:18px 14px 20px;transition:none;inset:86px auto auto 0;overflow:hidden auto;transform:none!important}.app-navigation::-webkit-scrollbar{width:0;height:0;display:none}.topbar{border:0;border-bottom:1px solid var(--hh-line);z-index:42;border-radius:0;max-width:none;min-height:86px;margin:0 -26px 18px;padding:14px 26px;position:sticky;top:0}.workspace{max-width:none;margin:0}.content-area{max-width:none}.navigation-drawer-heading{display:none}.navigation-groups{box-sizing:border-box;flex:none;gap:7px;width:100%;min-width:0;margin:0;transform:none}.navigation-group,.navigation-group:hover,.navigation-group:focus-within{box-sizing:border-box;border:0;border-radius:6px;width:100%;margin:0;transform:none!important}.navigation-group:hover{box-shadow:none;border-color:#0000}.navigation-group-trigger{width:100%;min-height:43px;padding:0 9px;transform:none!important}.navigation-group[data-group=current] .navigation-submenu,.navigation-group:hover .navigation-submenu,.navigation-group:focus-within .navigation-submenu{box-sizing:border-box;width:100%;max-height:540px;padding:5px 5px 8px 13px}.app-navigation .navigation-submenu button,.app-navigation .navigation-utility button{box-sizing:border-box;width:100%;min-height:38px;padding:0 10px;transform:none!important}}.workspace-tabs{background:#f2f6fb;border:1px solid #dbe6f0;border-radius:7px;align-items:center;gap:3px;padding:4px;display:inline-flex}.workspace-tabs button{color:#68788a;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:5px;min-height:38px;padding:0 18px;font-weight:650}.change-pool-panel>.workspace-tabs{margin:0 0 18px}[data-change-section=today] .change-opening-section,[data-change-section=today] .change-inventory-section,[data-change-section=today] .change-history-section,[data-change-section=inventory] .register-allocation-section,[data-change-section=inventory] .change-history-section,[data-change-section=inventory] .change-review-panel,[data-change-section=history] .change-opening-section,[data-change-section=history] .register-allocation-section,[data-change-section=history] .change-inventory-section,[data-change-section=history] .change-review-panel{display:none}.change-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.change-summary-grid>div{min-height:105px}.change-summary-grid small{color:#8090a2;margin-top:6px;display:block}.review-queue{border-top:1px solid #e1e9f1}.change-flow-summary{border-top:1px solid #e1e9f1;border-bottom:1px solid #e1e9f1;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px;display:grid}.change-flow-summary>div{gap:4px;padding:14px;display:grid}.change-flow-summary>div+div{border-left:1px solid #e1e9f1}.change-flow-summary span{color:#738295;font-size:12px}.change-flow-summary strong{font-size:18px}.review-queue-row{border-bottom:1px solid #e7edf4;grid-template-columns:minmax(180px,1fr) minmax(220px,1.4fr) auto;align-items:center;gap:18px;min-height:72px;padding:12px 2px;display:grid}.review-queue-row>div:first-child{gap:4px;display:grid}.review-queue-row span,.empty-workspace-state span{color:#788797;font-size:13px}.empty-workspace-state{align-items:flex-start;gap:5px;min-height:96px;padding:22px 2px;display:grid}.stock-status{color:#19724d;background:#e9f6ef;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.stock-status.is-empty{color:#ba423d;background:#fff0ef}.change-pool-action-panel .denomination-inputs{grid-column:1/-1}.change-action-grid{grid-column:1/-1;grid-template-columns:minmax(150px,.7fr) repeat(2,minmax(180px,1fr));align-items:end;gap:12px;display:grid}.change-action-denomination,.change-current-count{border:1px solid var(--hh-line);background:#fff;border-radius:6px;align-content:center;gap:7px;min-height:72px;padding:11px 13px;display:grid}.change-action-denomination>span,.change-current-count>span{color:var(--hh-muted);font-size:12px;font-weight:750}.change-current-count strong{color:var(--hh-text);font-variant-numeric:tabular-nums;font-size:22px}.change-adjustment-reason{grid-column:span 2}.month-close-summary{border-top:1px solid #e1e9f1;border-bottom:1px solid #e1e9f1;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px;display:grid}.month-close-summary>div{gap:5px;padding:16px;display:grid}.month-close-summary>div+div{border-left:1px solid #e1e9f1}.month-close-summary span{color:#738295;font-size:12px;font-weight:650}.month-close-summary strong{font-size:20px}.month-close-summary .is-different strong{color:#bd443f}.month-close-summary .is-even strong{color:#19724d}.month-closed-badge{background:#e8f3ff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:750;color:#0879e8!important}.closure-history{border-top:1px solid #e1e9f1;margin-top:24px;padding-top:20px}.cashier-task-switcher{justify-content:space-between;align-items:center;padding-top:10px;padding-bottom:10px;display:flex}.cashier-form-grid.cashier-increase-grid{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr)}.register-allocation-tools.fixed-capital-tools{grid-template-columns:minmax(240px,1fr) auto}.fixed-capital-scope{background:#f7faff;border:1px solid #dfe9f4;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;display:flex}.fixed-capital-scope span{color:#6b7a8b;font-size:13px;font-weight:700}.fixed-capital-scope strong{color:#26384b;text-align:right;font-size:14px}[data-cashier-task=movement] .cashier-settlement-panel,[data-cashier-task=movement] .cashier-records-panel,[data-cashier-task=settlement] .cashier-movement-panel,[data-cashier-task=settlement] .cashier-records-panel,[data-cashier-task=records] .cashier-movement-panel,[data-cashier-task=records] .cashier-settlement-panel{display:none}@media (width<=960px){.register-allocation-tools.fixed-capital-tools{grid-template-columns:1fr}.fixed-capital-scope{align-items:flex-start;display:grid}.fixed-capital-scope strong{text-align:left}.cashier-form-grid.cashier-increase-grid{grid-template-columns:1fr}.change-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.change-summary-grid>div{min-height:92px}.review-queue-row{grid-template-columns:1fr;align-items:stretch;gap:10px;padding:16px 0}.review-queue-row .row-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.review-queue-row .row-actions button{min-height:44px}.cashier-task-switcher{align-items:stretch;gap:10px;display:grid}.cashier-task-switcher .workspace-tabs{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.cashier-task-switcher .workspace-tabs button,.change-pool-panel>.workspace-tabs button{min-height:46px;padding:0 8px}.change-pool-panel>.workspace-tabs{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.month-close-summary,.change-flow-summary{grid-template-columns:1fr}.change-flow-summary>div+div,.month-close-summary>div+div{border-top:1px solid #e1e9f1;border-left:0}}@media (width<=520px){.change-summary-grid{grid-template-columns:1fr}.workspace-tabs button{font-size:13px}}@media (width<=1200px) and (width>=961px){.metric-grid:not(.overview-metric-grid){grid-template-columns:repeat(3,minmax(0,1fr))}.metric-grid:not(.overview-metric-grid) .metric+.metric{border-left:1px solid var(--hh-line)}.metric-grid:not(.overview-metric-grid) .metric:nth-child(4){border-left:0}.metric-grid:not(.overview-metric-grid) .metric:nth-child(n+4){border-top:1px solid var(--hh-line)}.overview-main-grid,.overview-lower-grid{grid-template-columns:minmax(0,1.8fr) minmax(280px,.9fr)}.entry-form{grid-template-columns:repeat(3,minmax(180px,1fr))}}@media (width<=960px){html,body{overflow-x:hidden}.login-shell{background:var(--hh-canvas);padding:14px 12px calc(28px + env(safe-area-inset-bottom,0px))}.login-panel{grid-template-columns:1fr;min-height:0}.login-identity-panel{min-height:190px;padding:20px}.login-identity-panel:after{bottom:20px;left:20px}.login-logo-frame{max-width:230px;height:72px;padding:7px 12px}.login-identity-copy{margin:24px 0 34px}.login-identity-copy>span{font-size:10px}.login-identity-copy h2{max-width:none;font-size:24px}.login-identity-index{display:none}.login-brand-block{min-height:0;padding:26px 20px 28px}.login-heading-row h1{font-size:25px}.app-shell{padding:10px 10px calc(104px + env(safe-area-inset-bottom,0px))}.topbar{border:1px solid var(--hh-line);border-radius:8px;gap:14px;margin:0 0 10px;padding:14px}.topbar-brand{width:100%}.topbar-view-icon{width:40px;height:40px}.topbar h1{font-size:21px}.topbar-actions{grid-template-columns:minmax(0,1fr) auto;gap:9px;width:100%;display:grid}.ledger-period,.signed-in-user{border:1px solid var(--hh-line);border-radius:6px;min-height:48px;padding:7px 10px}.topbar-actions .role-switch,.topbar-actions .cashier-account-selector{grid-column:1/-1}.topbar-actions .secondary-action{min-height:48px}.app-navigation{background:var(--hh-surface);border-radius:8px 0 0 8px;width:min(340px,100vw - 36px)}.navigation-close{background:var(--hh-primary-soft);border-color:var(--hh-line);color:var(--hh-primary)}.navigation-group{background:0 0;border:0}.navigation-group-trigger{min-height:48px}.navigation-submenu{border-left:1px solid var(--hh-line);border-top:0;margin-left:23px;padding-left:9px}.app-navigation .navigation-submenu button,.app-navigation .navigation-utility button{min-height:45px}.mobile-navigation-bar{background:var(--hh-primary);border:0;border-radius:8px 0 0 8px;width:56px;padding:4px;right:0;box-shadow:0 14px 34px #1769b03d}.mobile-navigation-bar button{color:#fff;min-height:64px}.mobile-navigation-bar button.active{background:var(--hh-primary-hover);color:#fff}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{min-height:116px;padding:16px}.metric+.metric{border-left:1px solid var(--hh-line)}.metric:nth-child(odd){border-left:0}.metric:nth-child(n+3){border-top:1px solid var(--hh-line)}.metric:last-child:nth-child(odd){grid-column:1/-1}.metric:before{left:16px}.metric strong{font-size:24px}.panel-title{min-height:56px;padding:13px 15px}.panel-title h2{font-size:17px}.panel>:not(.panel-title):not(.table-wrap),.input-panel>:not(.panel-title):not(.table-wrap){margin-left:15px;margin-right:15px}.panel>:last-child:not(.panel-title):not(.table-wrap){margin-bottom:15px}.entry-form{grid-template-columns:minmax(0,1fr);padding:16px 0}.entry-form .field,.entry-form .action-button{grid-column:1;width:100%}.field>span{font-size:13px}input,select,textarea{font-size:16px}.primary-action,.secondary-action,.receipt-action,.receipt-clear,.proof-link,.entry-form .action-button{min-height:48px}.checklist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.check-row{min-height:104px;padding:16px}.check-row:nth-child(odd){border-left:0}.check-row:nth-child(n+3){border-top:1px solid var(--hh-line)}th,td{padding:11px 12px}.confirmation-dialog{border-radius:8px 8px 0 0}.overview-welcome{align-items:flex-start;padding:4px 2px}.overview-main-grid,.overview-lower-grid{grid-template-columns:1fr}.overview-chart{height:270px}.overview-summary-panel{min-height:320px}}@media (width<=430px){.app-shell{padding-left:8px;padding-right:8px}.topbar{padding:12px}.topbar-actions{grid-template-columns:1fr auto}.ledger-period strong,.signed-in-user strong{font-size:12px}.metric{padding:14px}.metric strong{font-size:21px}.metric-heading>span:last-child{font-size:11px}.checklist-grid{grid-template-columns:1fr}.check-row,.check-row+.check-row,.check-row:nth-child(n+3){border-left:0;border-top:1px solid var(--hh-line)}.check-row:first-child{border-top:0}.overview-welcome{gap:10px;display:grid}.overview-welcome h2{font-size:21px}.overview-metric-grid{grid-template-columns:1fr}.overview-metric-grid .metric,.overview-metric-grid .metric+.metric,.overview-metric-grid .metric:nth-child(n+3),.overview-metric-grid .metric:last-child:nth-child(odd){border-left:0;border-top:1px solid var(--hh-line);grid-column:auto;min-height:102px}.overview-metric-grid .metric:first-child{border-top:0}.overview-section-heading{margin-left:15px;margin-right:15px}.overview-chart{height:238px;margin-left:0!important;margin-right:4px!important}.overview-chart-grid text{font-size:10px}.overview-check-list,.overview-summary-balance,.overview-summary-bars{margin-left:15px!important;margin-right:15px!important}.overview-recent-panel .table-wrap{overflow-x:auto}.overview-recent-panel table{min-width:660px}}@media (width>=961px){.app-navigation,.app-navigation:hover,.app-navigation.is-open,.app-navigation:focus-within{box-sizing:border-box;overflow-x:clip;width:212px!important;min-width:212px!important;max-width:212px!important;margin:0!important;padding-left:14px!important;padding-right:14px!important;transition:none!important;left:0!important;right:auto!important;transform:none!important}.app-navigation .navigation-groups,.app-navigation:hover .navigation-groups,.app-navigation:focus-within .navigation-groups{box-sizing:border-box;width:100%;min-width:0;gap:7px!important;margin:0!important;padding:0!important;transform:none!important}.app-navigation .navigation-group,.app-navigation .navigation-group:hover,.app-navigation .navigation-group:focus-within{box-sizing:border-box;width:100%;min-width:0;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;transform:none!important}.app-navigation .navigation-group-trigger,.app-navigation:not(:hover):not(.is-open):not(:focus-within) .navigation-group-trigger,.app-navigation:hover .navigation-group-trigger,.app-navigation:focus-within .navigation-group-trigger{box-sizing:border-box;width:100%;min-width:0;justify-content:space-between!important;margin:0!important;padding-left:9px!important;padding-right:9px!important;transform:none!important}.app-navigation .navigation-group-label{gap:9px;min-width:0;transform:none!important}.app-navigation .navigation-group-icon,.app-navigation:not(:hover):not(.is-open):not(:focus-within) .navigation-group-icon,.app-navigation .navigation-group:hover .navigation-group-icon,.app-navigation .navigation-group-trigger:focus-visible .navigation-group-icon{flex:0 0 30px;width:30px!important;height:30px!important;transform:none!important}.app-navigation .navigation-submenu,.app-navigation .navigation-group[data-group=current] .navigation-submenu,.app-navigation .navigation-group:hover .navigation-submenu,.app-navigation .navigation-group:focus-within .navigation-submenu{box-sizing:border-box;min-width:0;max-width:100%;padding-left:13px;padding-right:5px;overflow-x:clip;width:100%!important;margin:1px 0 4px!important;transform:none!important}.app-navigation .navigation-submenu button,.app-navigation .navigation-submenu button:hover,.app-navigation .navigation-submenu button:focus-visible,.app-navigation .navigation-submenu button.active,.app-navigation .navigation-utility button,.app-navigation .navigation-utility button:hover,.app-navigation .navigation-utility button:focus-visible,.app-navigation .navigation-utility button.active{box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin-left:0!important;margin-right:0!important;padding-left:10px!important;padding-right:10px!important;transform:none!important}.app-navigation .navigation-item-icon{flex:0 0 18px;width:18px;transform:none!important}}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.app-shell button:focus-visible,.login-shell button:focus-visible,.confirmation-dialog button:focus-visible{outline-color:#1687e83d}.login-panel{border:1px solid var(--hh-line);box-shadow:0 24px 70px #2b4a6d1f}.login-identity-panel,.login-logo-frame{background:#e8f4ff}.login-identity-panel{color:var(--hh-ink)}.login-identity-copy>span,.login-identity-copy h2,.login-identity-index{color:var(--hh-ink)}.topbar{background:#fffffff5}.topbar-view-icon,.navigation-brand-icon,.signed-in-user-icon{background:var(--hh-primary-soft);color:var(--hh-primary);border-color:#cce5fb}.topbar-quick-entry{white-space:nowrap;min-height:40px;box-shadow:0 5px 14px #1687e829}.app-tooltip{background:var(--hh-ink);color:#fff;z-index:140;border-radius:5px;padding:7px 9px;font-size:11px;font-weight:700;animation:.14s ease-out hh-tooltip-enter}@keyframes hh-tooltip-enter{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.ledger-period{color:var(--hh-primary)}.desktop-corner-logo,.app-navigation{background:#f7faff}.desktop-corner-logo img{filter:saturate(.92)contrast(1.03)}.navigation-group-trigger{color:#586a80}.navigation-group-trigger:hover,.navigation-group.is-active-group .navigation-group-trigger,.app-navigation .navigation-submenu button:hover,.app-navigation .navigation-utility button:hover{color:var(--hh-primary);background:#f0f7fe}.navigation-group.is-active-group .navigation-group-icon,.app-navigation .navigation-submenu button.active,.app-navigation .navigation-utility button.active{background:var(--hh-primary-soft);color:var(--hh-primary)}.app-navigation .navigation-submenu button.active,.app-navigation .navigation-utility button.active{box-shadow:inset 3px 0 0 var(--hh-primary)}.panel,.metric-grid,.topbar{border-color:var(--hh-line)}.panel,.metric-grid,.overview-dashboard .panel,.overview-metric-grid{box-shadow:0 6px 22px #2b4a6d0d}.view-stack{animation:.22s cubic-bezier(.22,1,.36,1) hh-view-enter}@keyframes hh-view-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.overview-welcome>div>span,.overview-section-heading>div>span{color:var(--hh-primary)}.overview-welcome h2{font-size:25px;font-weight:700}.overview-sync-state{color:#4f6f65;background:#f4faf7;border:1px solid #d8ebe4;border-radius:5px;min-height:32px;padding:0 10px}.overview-metric-grid{grid-template-columns:1.28fr repeat(4,minmax(0,1fr))}.overview-metric-grid .metric{min-height:122px;transition:background-color .18s,box-shadow .18s}.overview-metric-grid .metric:first-child{box-shadow:inset 3px 0 0 var(--hh-primary);background:#fbfdff}.overview-metric-grid .metric:first-child .metric-icon{background:var(--hh-primary-soft);color:var(--hh-primary)}.overview-metric-grid .metric:hover{background:#fbfdff}.overview-metric-grid .metric:first-child:hover{background:#f3f8fd}.overview-dashboard .panel,.overview-metric-grid{border-color:#e1e8f0}.overview-section-heading>b{background:var(--hh-positive-soft);color:var(--hh-positive)}.overview-chart{height:300px;margin:2px 12px 12px 6px!important}.overview-chart-loading{color:var(--hh-muted);background:linear-gradient(#fbfdff 0%,#f5f9fd 100%);border-radius:6px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.overview-chart-tooltip{background:#fffffffa;border:1px solid #dfe8f1;border-radius:6px;gap:2px;min-width:118px;padding:9px 11px;display:grid;box-shadow:0 10px 28px #2b4a6d1f}.overview-chart-tooltip span{color:var(--hh-muted);font-size:11px;font-weight:700}.overview-chart-tooltip strong{color:var(--hh-ink);font-variant-numeric:tabular-nums;font-size:15px}.overview-text-action,.overview-summary-action{color:var(--hh-primary)}.overview-summary-action{background:var(--hh-primary-soft);border-color:#cce5fb}.overview-recent-panel th,th{color:#66768b;background:#f7faff;box-shadow:inset 0 -1px #e1e8f0}.field>span,.field>label,.denomination-field>span{color:#607088}.secondary-action,.receipt-action,.receipt-clear,.proof-link{color:#5f6e83}.save-feedback{border-color:#c7d3e0;border-left-color:var(--hh-primary);box-shadow:0 16px 40px #2b4a6d26}.daily-entry-panel>.daily-entry-form{margin:0!important}.daily-entry-form{grid-template-columns:minmax(0,2.2fr) minmax(270px,.8fr);align-items:stretch;gap:0;padding:0;display:grid}.daily-entry-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:18px;padding:24px;display:grid}.daily-expense-editor{border-top:1px solid var(--hh-line);grid-column:1/-1;gap:12px;padding-top:18px;display:grid}.daily-expense-editor>header{justify-content:space-between;align-items:center;gap:14px;display:flex}.daily-expense-editor>header>div{gap:3px;display:grid}.daily-expense-editor>header span{color:var(--hh-text);font-size:13px;font-weight:800}.daily-expense-editor>header strong{color:var(--hh-primary);font-variant-numeric:tabular-nums;font-size:15px}.daily-expense-rows{gap:10px;display:grid}.change-purchase-reminder{color:#345b82;background:#eef6ff;border:1px solid #cfe2fa;border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:grid}.change-purchase-reminder .text-action{color:var(--hh-primary);white-space:nowrap;align-items:center;gap:4px;font-weight:800;display:inline-flex}.daily-expense-row{background:var(--hh-surface-soft);border:1px solid var(--hh-line);border-radius:6px;grid-template-columns:minmax(180px,1.5fr) minmax(150px,.85fr) minmax(120px,.7fr) 40px;align-items:end;gap:10px;padding:12px;display:grid}.expense-remove-action{color:var(--hh-red);background:#fff;border:1px solid #e6c0c5;border-radius:5px;justify-content:center;align-items:center;width:40px;height:44px;padding:0;display:inline-flex}.expense-remove-action:hover:not(:disabled){border-color:var(--hh-red);background:#fff1f3}.expense-detail-cell{white-space:normal;max-width:310px}.monthly-report-grid{align-items:start}.balance-panel,.purchase-panel{color:var(--hh-ink);align-self:start;width:100%;min-height:0}.balance-panel .panel-title{border-color:var(--hh-line)}.balance-panel h2,.balance-panel .panel-title span,.balance-hero strong{color:var(--hh-ink)}.balance-hero span,.balance-hero small,.formula-row span{color:var(--hh-muted)}.formula-row{background:var(--hh-surface-soft);border-color:var(--hh-line)}.formula-row b{color:var(--hh-ink)}.formula-total{background:#eef9f5;border-color:#bfe3d4}.formula-total span,.formula-total b{color:#226c52}.formula-breakdown div{border-color:var(--hh-line);background:#fff}.formula-breakdown span{color:var(--hh-muted)}.formula-breakdown b{color:var(--hh-ink)}.monthly-balance-panel{grid-column:1/-1}.monthly-balance-hero{border-bottom:1px solid var(--hh-line);padding-bottom:22px}.monthly-funds-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.monthly-fund-card{border:1px solid var(--hh-line);background:#fff;border-radius:7px;min-width:0;display:grid;overflow:hidden}.monthly-fund-card>header{border-bottom:1px solid var(--hh-line);background:#f8fbfe;justify-content:space-between;align-items:center;gap:16px;min-height:78px;padding:16px 18px;display:flex}.monthly-fund-card.is-cash>header{background:#f4faf7}.monthly-fund-card>header div{gap:4px;min-width:0;display:grid}.monthly-fund-card>header span{color:var(--hh-muted);font-size:11px;font-weight:800}.monthly-fund-card>header strong{color:var(--hh-ink);font-size:17px}.monthly-fund-card>header>b{color:var(--hh-primary);font-variant-numeric:tabular-nums;text-align:right;word-break:break-word;font-size:22px}.monthly-fund-card.is-cash>header>b{color:#22785e}.monthly-fund-rows{padding:4px 18px;display:grid}.monthly-fund-rows>div{border-bottom:1px solid #edf1f5;justify-content:space-between;align-items:center;gap:14px;min-height:48px;display:flex}.monthly-fund-rows span{color:var(--hh-muted);font-size:13px;font-weight:700}.monthly-fund-rows b{color:var(--hh-ink);font-variant-numeric:tabular-nums;text-align:right;font-size:14px}.monthly-fund-rows .is-income b{color:#22785e}.monthly-fund-rows .is-outflow-total{border-bottom:0;margin-top:2px}.monthly-fund-rows .is-outflow-total span,.monthly-fund-rows .is-outflow-total b{color:#b94e45;font-weight:800}.monthly-fund-card>footer{background:var(--hh-surface-soft);border-top:1px solid var(--hh-line);justify-content:space-between;align-items:center;min-height:62px;padding:14px 18px;display:flex}.monthly-fund-card>footer span{color:var(--hh-ink);font-size:14px;font-weight:800}.monthly-fund-card>footer strong{color:var(--hh-primary);font-variant-numeric:tabular-nums;text-align:right;font-size:20px}.monthly-fund-card.is-cash>footer strong{color:#22785e}.daily-entry-summary{background:#fbfdff;border-left:1px solid #dfe8f1;align-content:start;gap:13px;margin:0;padding:24px;display:grid}.daily-entry-summary>span{color:var(--hh-primary);font-size:11px;font-weight:800}.daily-entry-summary>strong{color:var(--hh-ink);font-variant-numeric:tabular-nums;font-size:32px;font-weight:700;line-height:1.15}.daily-entry-summary>div{border-bottom:1px solid #dfe8f1;justify-content:space-between;align-items:center;min-height:32px;display:flex}.daily-entry-summary>div span,.daily-entry-summary>small{color:var(--hh-muted);font-size:11px;font-weight:650}.daily-entry-summary>div b{color:var(--hh-ink);font-variant-numeric:tabular-nums;font-size:12px}.daily-entry-summary .primary-action{width:100%;margin-top:5px}.monthly-reconciliation-panel{margin-top:18px}.monthly-reconciliation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.reconciliation-card{background:var(--hh-surface-soft);border:1px solid var(--hh-line);border-radius:7px;gap:16px;padding:18px;display:grid}.reconciliation-card>header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.reconciliation-card>header>div{gap:4px;display:grid}.reconciliation-card>header span,.reconciliation-values span{color:var(--hh-muted);font-size:12px;font-weight:700}.reconciliation-card>header strong{color:var(--hh-ink);font-size:17px}.reconciliation-card>header b{white-space:nowrap;border-radius:5px;padding:7px 9px;font-size:12px}.reconciliation-card>header b.is-even{color:#237158;background:#e6f5ef}.reconciliation-card>header b.is-warning{color:#9a6418;background:#fff2dc}.reconciliation-card>header b.is-pending{color:#5f6e83;background:#edf2f7}.reconciliation-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.reconciliation-values>div{border:1px solid var(--hh-line);background:#fff;border-radius:6px;gap:6px;min-height:72px;padding:12px;display:grid}.reconciliation-values strong{color:var(--hh-ink);font-variant-numeric:tabular-nums;font-size:17px}@media (width<=1180px) and (width>=961px){.topbar-quick-entry{padding-left:11px;padding-right:11px}.topbar-quick-entry span{display:none}.overview-metric-grid .metric{padding-left:15px;padding-right:15px}.overview-metric-grid .metric strong{font-size:24px}.bank-reconcile-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=960px){.topbar{background:#fff}.mobile-navigation-bar{background:var(--hh-primary);box-shadow:0 12px 30px #1687e838}.mobile-navigation-bar button.active{background:var(--hh-primary-hover)}.daily-entry-form{grid-template-columns:minmax(0,1fr)}.daily-entry-summary{border-top:1px solid #dfe8f1;border-left:0}.monthly-reconciliation-grid,.monthly-funds-grid{grid-template-columns:minmax(0,1fr)}.bank-check-list>div:last-child{width:100%;max-width:100%}.change-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.topbar-quick-entry{grid-column:1/-1;width:100%}.daily-entry-fields{grid-template-columns:minmax(0,1fr);padding:18px 15px}.daily-entry-summary{padding:20px 15px}.daily-expense-editor>header{flex-direction:column;align-items:stretch}.daily-expense-editor>header .secondary-action{width:100%}.daily-expense-row{grid-template-columns:minmax(0,1fr) 44px}.daily-expense-row .field{grid-column:1/-1}.change-purchase-reminder{grid-template-columns:auto minmax(0,1fr);align-items:start}.change-purchase-reminder .text-action{grid-column:2;justify-self:start}.change-action-grid{grid-template-columns:minmax(0,1fr)}.change-adjustment-reason{grid-column:1}.expense-remove-action{grid-column:2;justify-self:end}.formula-breakdown{grid-template-columns:minmax(0,1fr)}.monthly-fund-card>header{flex-direction:column;align-items:flex-start}.monthly-fund-card>header>b{text-align:left}.reconciliation-card>header{flex-direction:column;align-items:stretch}.reconciliation-card>header b{white-space:normal;justify-self:start}.reconciliation-values{grid-template-columns:minmax(0,1fr)}}@media (width<=960px){.overview-dashboard,.overview-dashboard>*,.overview-main-grid,.overview-main-grid>*,.overview-lower-grid,.overview-lower-grid>*,.overview-metric-grid,.overview-metric-grid .metric{min-width:0;max-width:100%}.overview-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-metric-grid .metric{border-left:0;border-top:1px solid var(--hh-line);grid-column:auto}.overview-metric-grid .metric:first-child{border-top:0;grid-column:1/-1}.overview-metric-grid .metric:last-child:nth-child(odd){grid-column:auto}.overview-metric-grid .metric:nth-child(odd):not(:first-child){border-left:1px solid var(--hh-line)}.overview-metric-grid .metric-heading>span:last-child{overflow-wrap:normal;word-break:keep-all}.overview-metric-grid .metric strong,.overview-metric-grid .metric small{overflow-wrap:anywhere;word-break:normal}}@media (width<=430px){.overview-metric-grid{grid-template-columns:minmax(0,1fr)}.overview-metric-grid .metric,.overview-metric-grid .metric:nth-child(odd):not(:first-child){border-left:0;grid-column:auto;min-height:102px}}@media (prefers-reduced-motion:reduce){.view-stack,.app-tooltip{animation:none}.overview-status-row,.overview-metric-grid .metric{transition:none}}:root{--hh-canvas:#f6f5f2;--hh-surface:#fff;--hh-surface-soft:#faf9f7;--hh-surface-raised:#fdfcfb;--hh-ink:#1b2432;--hh-text:#455064;--hh-muted:#667181;--hh-line:#e4e1dc;--hh-line-strong:#d2cdc5;--hh-control-line:#96918a;--hh-fire:#e84a2a;--hh-primary:#c83f1f;--hh-primary-hover:#b53618;--hh-primary-soft:#fff1ed;--hh-red:#b73540;--hh-red-soft:#fff0f1;--hh-blue:#c83f1f;--hh-blue-soft:#fff1ed;--hh-gold:#855400;--hh-gold-soft:#fff5df;--hh-positive:#177b60;--hh-positive-soft:#eaf7f1;--hh-chart-grid:#ece9e4;--hh-chart-cursor:#efb3a5;--hh-shadow:0 1px 2px #29231d09;--hh-shadow-raised:0 18px 50px #29231d17;--background:var(--hh-canvas);--foreground:var(--hh-text);--ink:var(--hh-ink);--muted:var(--hh-muted);--line:var(--hh-line);--panel:var(--hh-surface);--panel-soft:var(--hh-surface-soft);--green:var(--hh-primary);--green-soft:var(--hh-primary-soft);--red:var(--hh-red);--red-soft:var(--hh-red-soft);--gold:var(--hh-gold);--gold-soft:var(--hh-gold-soft);--blue:var(--hh-primary);--blue-soft:var(--hh-primary-soft);--font-ui:Inter, "SF Pro Text", "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", system-ui, sans-serif;--font-display:Inter, "SF Pro Display", "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", system-ui, sans-serif}html{background:var(--hh-canvas);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-behavior:smooth}body{background:var(--hh-canvas);color:var(--hh-text);font-family:var(--font-ui);letter-spacing:-.005em;font-size:14px;font-weight:450}::selection{color:var(--hh-ink);background:#ffd9cf}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.app-shell button:focus-visible,.login-shell button:focus-visible,.confirmation-dialog button:focus-visible{outline-offset:2px;outline:3px solid #8f2e18}.login-shell{background:radial-gradient(circle at 12% 12%, #e84a2a21, transparent 29%), var(--hh-canvas)}.login-panel{border:1px solid var(--hh-line);border-radius:18px;box-shadow:0 28px 80px #32271d24}.login-identity-panel{color:#fff;background:#24231f}.login-logo-frame{background:#fff;border-radius:12px;justify-content:center;align-items:center;padding:12px 18px;display:flex}.login-logo-frame .facipos-wordmark{min-height:0}.login-logo-frame .facipos-wordmark-login .facipos-wordmark-text{letter-spacing:.1em;font-size:clamp(30px,4vw,38px)}.login-identity-panel:after{background:var(--hh-fire)}.login-identity-copy>span{color:#ff9c83}.login-identity-copy h2,.login-identity-index{color:#fff}.login-identity-index{border-top-color:#ffffff24}.login-brand-block{background:#fff}.login-language-switch,.role-switch,.cashier-language-switch,.analysis-mode-switch{border-color:var(--hh-line);background:#f3f1ee}.login-language-switch button.selected,.role-switch .selected,.cashier-language-switch button.selected{color:var(--hh-primary);background:#fff}.login-primary,.primary-action{background:var(--hh-primary);border-color:var(--hh-primary);box-shadow:none;color:#fff;border-radius:8px}.login-primary:hover:not(:disabled),.primary-action:hover:not(:disabled){background:var(--hh-primary-hover);border-color:var(--hh-primary-hover);box-shadow:0 7px 18px #c83f1f29}.login-success-note{background:var(--hh-positive-soft);color:var(--hh-positive);border:1px solid #b9dfcf;border-radius:8px;align-items:center;gap:9px;min-height:44px;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.5;display:flex}.password-reset-entry{justify-content:flex-end;margin-top:-8px;display:flex}.password-reset-trigger,.password-reset-back{color:var(--hh-primary);text-underline-offset:3px;background:0 0;border:0;justify-content:center;align-items:center;min-height:44px;padding:6px 2px;font-size:13px;font-weight:720;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;display:inline-flex}.password-reset-trigger:hover:not(:disabled),.password-reset-back:hover:not(:disabled){color:var(--hh-primary-hover);text-decoration-color:currentColor}.password-reset-flow{gap:16px;max-width:520px;display:grid}.password-reset-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.password-reset-heading>div{gap:3px;display:grid}.password-reset-heading span{color:var(--hh-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.password-reset-heading h2{color:var(--hh-ink);letter-spacing:-.025em;margin:0;font-size:22px;font-weight:720;line-height:1.25}.password-reset-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.password-reset-progress li{background:var(--hh-surface-soft);border:1px solid var(--hh-line);color:var(--hh-muted);border-radius:8px;align-items:center;gap:7px;min-width:0;padding:7px 8px;display:flex}.password-reset-progress li>span{color:#716c64;background:#ece8e2;border-radius:50%;flex:0 0 23px;justify-content:center;align-items:center;height:23px;font-size:11px;font-weight:800;display:inline-flex}.password-reset-progress li small{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.password-reset-progress li.is-current{background:var(--hh-primary-soft);color:var(--hh-primary);border-color:#efb8aa}.password-reset-progress li.is-current>span{background:var(--hh-primary);color:#fff}.password-reset-progress li.is-complete{color:var(--hh-positive)}.password-reset-progress li.is-complete>span{background:var(--hh-positive-soft);color:var(--hh-positive)}.password-reset-feedback{border:1px solid #0000;border-radius:8px;min-height:0;font-size:13px;font-weight:700;line-height:1.5}.password-reset-feedback:empty{display:none}.password-reset-feedback[data-kind=error]{background:var(--hh-red-soft);color:var(--hh-red);border-color:#e9bbc0;padding:10px 12px}.password-reset-feedback[data-kind=notice]{background:var(--hh-positive-soft);color:var(--hh-positive);border-color:#b9dfcf;padding:10px 12px}.password-reset-form{gap:14px;display:grid}.password-reset-intro{color:var(--hh-primary);background:#fff8f4;border:1px solid #f2d6cd;border-radius:8px;align-items:flex-start;gap:10px;padding:11px 12px;display:flex}.password-reset-intro svg{flex:none;margin-top:1px}.password-reset-intro p{color:var(--hh-text)!important;margin:0!important;font-size:13px!important;line-height:1.55!important}.password-reset-form input[inputmode=numeric]{font-variant-numeric:tabular-nums;letter-spacing:.22em}.password-reset-actions{flex-wrap:wrap;gap:10px;display:flex}.password-reset-actions .login-primary,.password-reset-actions .login-secondary{min-height:44px}.app-shell{background:var(--hh-canvas);min-height:100dvh}.desktop-corner-logo{display:none}.topbar{border-color:var(--hh-line);box-shadow:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff2}.topbar-brand{gap:11px}.topbar-view-icon{background:var(--hh-primary-soft);color:var(--hh-primary);border:1px solid #f4c9be;border-radius:9px;width:38px;height:38px}.topbar .eyebrow{color:var(--hh-muted);letter-spacing:.04em;font-size:10px}.topbar h1{color:var(--hh-ink);letter-spacing:-.025em;font-size:20px;font-weight:720}.topbar-actions{flex:0 auto;gap:9px;min-width:0}.topbar-brand{flex:auto;min-width:0}.topbar-action-group{align-items:center;gap:9px;min-width:0;display:flex}.topbar-quick-entry{border-radius:8px;min-height:40px;padding-inline:14px;box-shadow:0 7px 16px #c83f1f26}.ledger-period,.signed-in-user{border:1px solid var(--hh-line);color:var(--hh-primary);background:#f7f5f2;border-radius:8px;min-height:40px;padding:6px 10px}.ledger-period{border-right:1px solid var(--hh-line)}.ledger-period span,.signed-in-user span{color:var(--hh-muted);font-size:10px}.ledger-period strong,.signed-in-user strong{color:var(--hh-ink);font-size:12px}.signed-in-user-icon{color:var(--hh-primary);background:#fff}.role-switch{border-radius:9px;gap:2px;padding:3px}.role-switch button{border-radius:6px;min-height:32px;padding-inline:9px}.role-switch .selected{box-shadow:0 1px 5px #342b231a}.secondary-action,.receipt-action,.receipt-clear,.proof-link{border-color:var(--hh-control-line);color:#596273;background:#fff;border-radius:8px}.secondary-action:hover:not(:disabled),.receipt-action:hover:not(:disabled),.receipt-clear:hover:not(:disabled),.proof-link:hover{background:var(--hh-primary-soft);color:var(--hh-primary);border-color:#e9a899}.compact-action{min-width:0}.app-navigation,.app-navigation:hover,.app-navigation.is-open,.app-navigation:focus-within{border-color:var(--hh-line);box-shadow:none;background:#fff}.navigation-drawer-heading{border-bottom-color:var(--hh-line);isolation:isolate;z-index:8;background:#fff;justify-content:center;margin-top:-14px;position:sticky;top:0}.facipos-wordmark{justify-content:center;align-items:center;width:100%;min-width:0;min-height:44px;display:flex;overflow:hidden}.facipos-wordmark .facipos-wordmark-text{color:#202733;letter-spacing:.09em;transform-origin:50%;white-space:nowrap;align-items:baseline;padding:5px 1px 8px;font-family:Avenir Next,Helvetica Neue,Trebuchet MS,sans-serif;font-size:29px;font-style:italic;font-weight:850;line-height:1;display:inline-flex;position:relative;transform:skew(-3deg)}.facipos-wordmark-text:after{background:linear-gradient(90deg, #202733 0 52%, var(--hh-primary) 52% 100%);content:"";opacity:.9;border-radius:999px;height:2px;position:absolute;bottom:1px;left:3px;right:5px}.facipos-wordmark .facipos-wordmark-pos{color:var(--hh-primary);font-size:inherit;letter-spacing:inherit;font-weight:900}.navigation-close{position:absolute;top:50%;right:4px;transform:translateY(-50%)}.navigation-group{background:0 0;border-color:#0000}.navigation-group-trigger{color:#5f6878;border-radius:8px}.navigation-group-trigger:hover,.navigation-group.is-active-group .navigation-group-trigger{color:var(--hh-ink);background:#faf8f5}.navigation-group-icon,.navigation-group[data-group=history] .navigation-group-icon,.navigation-group[data-group=cash] .navigation-group-icon{color:#8f96a1;background:0 0}.navigation-group.is-active-group .navigation-group-icon{background:var(--hh-primary-soft);color:var(--hh-primary)}.navigation-submenu{border-left-color:#ebe6df}.app-navigation .navigation-submenu button,.app-navigation .navigation-utility button{color:#6c7481;border-radius:7px;font-weight:650}.app-navigation .navigation-submenu button:hover,.app-navigation .navigation-utility button:hover{color:var(--hh-ink);background:#faf8f5}.app-navigation .navigation-submenu button.active,.app-navigation .navigation-utility button.active{background:var(--hh-primary-soft);box-shadow:none;color:var(--hh-primary)}.app-navigation .navigation-submenu button.active .navigation-item-icon,.app-navigation .navigation-utility button.active .navigation-item-icon{color:var(--hh-primary)}.navigation-utility{border-top-color:var(--hh-line)}.navigation-account{background:#f7f5f2;border:1px solid #ebe7e1;border-radius:10px;flex:none;align-items:center;gap:9px;margin-top:12px;padding:9px;display:flex}.navigation-account-avatar{color:#fff;background:#24231f;border-radius:50%;flex:0 0 32px;justify-content:center;align-items:center;height:32px;display:inline-flex}.navigation-account>div{gap:1px;min-width:0;display:grid}.navigation-account strong{color:var(--hh-ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.navigation-account>div>span{color:var(--hh-muted);font-size:10px}.navigation-scrim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1e1b186b}.workspace{min-width:0}.content-area{width:100%;min-width:0;max-width:1540px}.view-stack,.history-report-layout{animation:.19s cubic-bezier(.22,1,.36,1) hh-modern-enter}@keyframes hh-modern-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.panel,.balance-panel,.purchase-panel,.access-tile{border:1px solid var(--hh-line);box-shadow:var(--hh-shadow);background:#fff;border-radius:11px}.panel-title{background:#fff;border-bottom-color:#edeae6;min-height:60px;padding:14px 18px;text-align:left!important;justify-content:space-between!important}.panel-title>div{text-align:left!important;align-items:flex-start!important}.panel-title:before{display:none}.panel-title h2{color:var(--hh-ink);letter-spacing:-.018em;font-size:16px;font-weight:730;text-align:left!important}.panel-title>span,.panel-title>div>span{color:var(--hh-muted);font-size:11px;display:block}.analysis-chart-panel .panel-title span{display:block}.subsection-title,.subsection-heading-line h3{color:var(--hh-ink)}.overview-dashboard{gap:16px}.overview-welcome{min-height:76px;padding:2px 2px 0}.overview-welcome>div>span,.overview-section-heading>div>span{color:var(--hh-primary);letter-spacing:.04em;font-size:10px;font-weight:800}.overview-welcome h2{color:var(--hh-ink);letter-spacing:-.04em;font-size:28px;font-weight:750}.overview-welcome p{color:var(--hh-muted)}.overview-sync-state{background:var(--hh-positive-soft);color:var(--hh-positive);border:1px solid #cfe7dc;border-radius:999px;min-height:32px;padding-inline:11px}.overview-sync-state i{background:var(--hh-positive)}.overview-metric-grid,.metric-grid{box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:1.28fr repeat(4,minmax(0,1fr));gap:11px;display:grid;overflow:visible}.overview-metric-grid .metric,.metric{border:1px solid var(--hh-line);box-shadow:var(--hh-shadow);background:#fff;border-radius:10px;min-height:126px;padding:17px}.metric+.metric{border-left:1px solid var(--hh-line)}.metric:before{display:none}.overview-metric-grid .metric:first-child{box-shadow:inset 3px 0 0 var(--hh-fire);background:#fff9f7;border-color:#efb6a8}.overview-metric-grid .metric:first-child:hover,.overview-metric-grid .metric:hover{background:#fffdfc;box-shadow:0 8px 24px #362b2212}.metric-heading>span:last-child{color:var(--hh-muted);font-size:11px}.metric-icon{color:#949ba5}.overview-metric-grid .metric:first-child .metric-icon,.metric-income .metric-icon{background:var(--hh-primary-soft);color:var(--hh-primary)}.metric-expense .metric-icon{background:var(--hh-red-soft);color:var(--hh-red)}.metric-warning .metric-icon{background:var(--hh-gold-soft);color:var(--hh-gold)}.metric strong{color:var(--hh-ink);letter-spacing:-.035em;font-size:27px;font-weight:720}.overview-metric-grid .metric:first-child strong{color:var(--hh-ink);font-size:31px}.metric small{color:var(--hh-muted)}.overview-main-grid{grid-template-columns:minmax(330px,.9fr) minmax(0,1.1fr)}.overview-check-panel{order:-1}.overview-section-heading{border-bottom-color:#edeae6}.overview-section-heading>b{border-radius:999px}.overview-section-heading>b.has-pending{background:var(--hh-gold-soft);color:var(--hh-gold)}.overview-section-heading>b.is-clear{background:var(--hh-positive-soft);color:var(--hh-positive)}.overview-status-row{border-bottom-color:#efede9;min-height:78px}.overview-status-row:hover{background:#faf9f7}.overview-status-icon{color:#737b87;background:#f4f2ef}.overview-status-row.is-done .overview-status-icon{background:var(--hh-positive-soft);color:var(--hh-positive)}.overview-status-row.needs-action .overview-status-icon,.overview-status-row.is-overdue .overview-status-icon{background:var(--hh-gold-soft);color:var(--hh-gold)}.overview-status-row.needs-action .overview-row-action,.overview-status-row.is-overdue .overview-row-action,.overview-text-action,.overview-summary-action{color:var(--hh-primary)}.overview-status-row.is-danger .overview-status-icon,.save-feedback-error .save-feedback-icon{background:var(--hh-red-soft);color:var(--hh-red)}.overview-summary-balance{background:#fff9f7;border-color:#f0d2ca}.overview-summary-balance.is-positive strong,.amount-positive{color:var(--hh-positive)}.overview-summary-bars i{background:var(--hh-primary)}.overview-summary-bars>div:nth-child(2) i{background:var(--hh-red)}.overview-summary-bars>div:nth-child(3) i{background:var(--hh-gold)}.overview-summary-action{background:var(--hh-primary-soft);border-color:#edb9ad;border-radius:8px}.overview-summary-action:hover{background:#ffe6df;border-color:#e9a899}.overview-chart-tooltip{border-color:var(--hh-line);box-shadow:var(--hh-shadow-raised);background:#fffffffa;border-radius:8px}.field>span,.field>label,.denomination-field>span{color:#606978;font-size:12px;font-weight:720}.field input,.field select,.field textarea,.detail-search input,.denomination-field input,.table-number-input,.payment-amount-edit-input{border-color:var(--hh-control-line);color:var(--hh-ink);background:#fff;border-radius:8px}.field input:hover:not(:disabled),.field select:hover:not(:disabled),.field textarea:hover:not(:disabled),.detail-search input:hover:not(:disabled),.denomination-field input:hover:not(:disabled),.table-number-input:hover:not(:disabled){border-color:#d59a8c}.field input:focus,.field select:focus,.field textarea:focus,.detail-search input:focus,.denomination-field input:focus,.table-number-input:focus{border-color:var(--hh-primary);box-shadow:0 0 0 3px #c83f1f1c}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.detail-search input:focus-visible,.denomination-field input:focus-visible,.table-number-input:focus-visible,.payment-amount-edit-input:focus-visible{border-color:var(--hh-primary);box-shadow:none;outline-offset:2px;outline:3px solid #8f2e18}.field input[readonly],.field input:disabled,.field select:disabled,.field textarea:disabled{color:#8a9099;background:#f4f2ef}.entry-form,.bank-reconcile-form,.account-issue-form{gap:14px}.daily-entry-summary{border-left-color:var(--hh-line);background:#faf9f7}.daily-entry-summary>span,.daily-expense-editor>header strong{color:var(--hh-primary)}.daily-expense-row,.change-action-denomination,.change-current-count,.reconciliation-card{border-color:var(--hh-line);background:#faf9f7;border-radius:9px}.change-purchase-reminder{color:#755825;background:#fff8ed;border-color:#ead7b7;border-radius:8px}.change-purchase-reminder .text-action,.text-action{color:var(--hh-primary)}.expense-remove-action{border-radius:8px}.workspace-tabs{border-color:var(--hh-line);background:#f3f1ee;border-radius:9px}.workspace-tabs button{border-radius:7px}.workspace-tabs button:hover{color:var(--hh-ink);background:#ebe7e1}.workspace-tabs button.is-active{color:var(--hh-primary);background:#fff;box-shadow:0 1px 5px #2c251f1a}.analysis-mode-switch button.selected{background:var(--hh-primary);color:#fff}.table-wrap{scrollbar-color:#cec8c0 transparent;border-radius:0 0 11px 11px;overflow:auto}table{color:var(--hh-text);font-variant-numeric:tabular-nums}th,.overview-recent-panel th{color:#626b78;letter-spacing:.01em;background:#faf9f7;font-size:11px;box-shadow:inset 0 -1px #e8e4de}td{border-bottom-color:#efede9}tbody tr:nth-child(2n) td{background:#fdfcfb}tbody tr:hover td{background:#fff8f5}.history-month-list>*,.supplier-list>*,.review-queue>*{contain-intrinsic-size:52px;content-visibility:auto}.status{border-radius:999px;min-height:25px;padding-inline:9px;font-weight:750}.status-done{background:var(--hh-positive-soft);color:var(--hh-positive);border-color:#c7e6da}.status-warn{background:var(--hh-gold-soft);color:var(--hh-gold);border-color:#ead7ad}.status-open{background:var(--hh-primary-soft);color:var(--hh-primary);border-color:#f0c4b9}.status-muted{color:#596270;background:#f1f0ee;border-color:#e0ddd8}.bank-reconcile-hero,.settings-hero-panel,.analysis-hero-panel,.access-status-panel{background:linear-gradient(118deg,#fff1eddb,#fff0 52%),#fff}.bank-reconcile-summary-grid>div,.supplier-ledger-grid section,.settings-overview-grid>*,.access-status-card,.access-tile,.cashier-total-card,.cashier-settlement-summary>div,.change-summary-grid>div,.allocation-total-card,.storage-usage-card,.storage-usage-total-card{border-color:var(--hh-line);background:#faf9f7;border-radius:9px}.bank-reconcile-summary-grid>div:last-child{background:var(--hh-primary-soft);border-color:#efc3b8}.bank-reconcile-summary-grid>div:last-child strong,.analysis-hero-copy strong,.supplier-ledger-summary strong,.cashier-total-card strong,.change-flow-summary strong{color:var(--hh-primary)}.supplier-suggestion-list{border-color:var(--hh-line);box-shadow:var(--hh-shadow-raised);border-radius:8px}.supplier-suggestion-list button:hover,.supplier-suggestion-list button:focus-visible{background:var(--hh-primary-soft);color:var(--hh-primary)}.payment-progress>span{background:var(--hh-primary)}.monthly-fund-card,.reconciliation-card{border-color:var(--hh-line);border-radius:10px}.monthly-fund-card>header,.monthly-fund-card>footer{border-color:var(--hh-line);background:#faf9f7}.monthly-fund-card>header>b,.monthly-fund-card>footer strong,.balance-hero strong{color:var(--hh-primary)}.monthly-fund-card.is-cash>header,.formula-total{background:#f1f8f5}.monthly-fund-card.is-cash>header>b,.monthly-fund-card.is-cash>footer strong{color:var(--hh-positive)}.formula-row,.formula-breakdown>div,.monthly-fund-card,.monthly-fund-card>footer{border-color:var(--hh-line)}.formula-income{background:var(--hh-primary-soft);border-color:#efc3b8}.history-month-list button.active,.history-month-list button:hover{background:var(--hh-primary-soft);color:var(--hh-primary);border-color:#efc3b8}.analysis-chart-panel,.analysis-detail-panel,.analysis-summary-panel{border-color:var(--hh-line)}.analysis-chart-grid,.analysis-axis-line{border-color:#ebe7e1}.analysis-bar-track{background:#f0ede8}.settings-list-row,.review-queue-row,.access-status-card,.account-table-wrap{border-color:var(--hh-line)}.denomination-art,.denomination-image{border-color:var(--hh-line);border-radius:9px}.denomination-field:focus-within .denomination-art{border-color:#df9d8d;box-shadow:0 0 0 3px #c83f1f17}.danger-zone-panel,.danger-inline,.action-error{border-color:#efc8cc}.danger-action,.danger-confirm-action,.danger-clear-action{color:#b83743;border-color:#e6aeb4}.danger-confirm-action{color:#fff;background:#b83743}.save-feedback{border-color:var(--hh-line-strong);border-left-color:var(--hh-primary);box-shadow:var(--hh-shadow-raised);background:#fff;border-radius:10px}.save-feedback-icon{background:var(--hh-primary-soft);color:var(--hh-primary)}.month-picker-trigger,.cashier-account-selector select{border-color:var(--hh-control-line)}.month-picker-popover,.confirmation-dialog{border-color:var(--hh-line);box-shadow:var(--hh-shadow-raised);background:#fff;border-radius:12px}.month-picker-grid button:hover,.month-picker-shortcuts button:hover{background:var(--hh-primary-soft);color:var(--hh-primary)}.month-picker-grid button.selected{background:var(--hh-primary);color:#fff}.confirmation-backdrop,.month-picker-scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#201d1a70}.app-tooltip{background:#24231f;border-radius:7px}.app-tooltip-arrow{fill:#24231f}@media (width>=961px){.app-shell{padding:0 28px 48px 252px!important}.app-shell[data-role=cashier]{padding-left:28px!important}.app-navigation,.app-navigation:hover,.app-navigation.is-open,.app-navigation:focus-within{scrollbar-gutter:stable;width:224px!important;min-width:224px!important;max-width:224px!important;height:100dvh!important;max-height:100dvh!important;padding:14px 12px 16px!important;transition:none!important;top:0!important;bottom:0!important;left:0!important;overflow:hidden auto!important;transform:none!important}.app-navigation .navigation-submenu:not(.is-expanded),.app-navigation .navigation-group:hover .navigation-submenu:not(.is-expanded),.app-navigation .navigation-group:focus-within .navigation-submenu:not(.is-expanded){opacity:0!important;pointer-events:none!important;max-height:0!important;padding-top:0!important;padding-bottom:0!important;overflow:hidden!important}.app-navigation .navigation-group:hover .navigation-chevron:not(.is-expanded),.app-navigation .navigation-group:focus-within .navigation-chevron:not(.is-expanded){transform:none!important}.navigation-drawer-heading{flex:0 0 78px;justify-content:center;align-items:center;min-height:78px;padding:14px 5px 13px;display:flex!important}.navigation-close{display:none}.navigation-groups{flex:1 0 auto;gap:5px!important;padding-top:10px!important}.navigation-group-trigger{min-height:40px}.app-navigation .navigation-submenu button,.app-navigation .navigation-utility button{min-height:38px}.navigation-utility{margin-top:12px}.topbar{border:0;border-bottom:1px solid var(--hh-line);z-index:42;width:auto;max-width:none;min-height:72px;margin:0 -28px 22px;padding:11px 28px;position:sticky;top:0}.workspace{max-width:1540px;margin:0 auto}.mobile-navigation-bar{display:none}}@media (width<=1220px) and (width>=961px){.role-switch button{padding-inline:7px;font-size:11px}.ledger-period span{display:none}.overview-metric-grid,.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-metric-grid .metric:first-child{grid-column:span 2}.overview-main-grid,.overview-lower-grid{grid-template-columns:1fr}}@media (width>=701px) and (width<=960px){.daily-entry-form{grid-template-columns:minmax(0,1.65fr) minmax(260px,.85fr)!important}.daily-entry-fields,[data-ui-view=bills] .entry-form,[data-ui-view=payments] .entry-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}[data-ui-view=bills] .entry-form>.primary-action,[data-ui-view=payments] .entry-form>.primary-action{grid-column:1/-1}}@media (width<=960px){.password-reset-flow{max-width:none}.password-reset-heading{align-items:flex-start}.password-reset-progress{gap:6px}.password-reset-progress li{justify-content:center;padding:7px 5px}.password-reset-progress li small{display:none}.password-reset-actions{grid-template-columns:1fr;display:grid}.password-reset-actions .login-primary,.password-reset-actions .login-secondary{width:100%;min-height:48px}.app-shell{overflow:clip visible;padding:0 0 calc(82px + env(safe-area-inset-bottom,0px))!important}.topbar{border:0;border-bottom:1px solid var(--hh-line);z-index:42;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;margin:0;padding:10px 14px;display:grid;position:sticky;top:0}.topbar-brand{width:auto;min-width:0}.topbar-view-icon{width:34px;height:34px}.topbar h1{text-overflow:ellipsis;white-space:nowrap;font-size:18px;overflow:hidden}.topbar .eyebrow{display:none}.topbar-actions{grid-column:1/-1;grid-template-columns:minmax(0,1fr);gap:7px;width:100%;padding:0;overflow:visible;align-items:stretch!important;display:grid!important}.topbar-action-group{gap:7px;width:100%}.topbar-context-actions{display:flex}.topbar-account-actions{grid-template-columns:minmax(0,1fr) auto;display:grid}.topbar-quick-entry,.topbar-actions .role-switch,.topbar-actions .cashier-account-selector,.topbar-actions .secondary-action,.ledger-period,.signed-in-user{grid-column:auto;width:auto;min-height:40px}.topbar-quick-entry{flex:auto;justify-content:center;min-width:0}.topbar-context-actions .ledger-period{flex:none}.topbar-account-actions .role-switch,.topbar-account-actions .cashier-account-selector{grid-column:1/-1;width:100%}.topbar-account-actions .role-switch{grid-template-columns:repeat(4,minmax(0,1fr));display:grid!important}.topbar-actions .role-switch button{white-space:nowrap;min-height:44px}.topbar-account-actions .signed-in-user{grid-area:1/1;width:100%;min-width:0}.topbar-account-actions .cashier-account-selector{grid-row:2}.topbar-account-actions .compact-action{grid-area:1/2;min-height:44px}.ledger-period span,.signed-in-user span{display:none}.compact-action span{display:inline}.workspace{max-width:none;margin:0;padding:14px}.content-area{max-width:none}.app-navigation{opacity:0;max-width:min(340px,100vw - 32px);height:100dvh;max-height:100dvh;padding:calc(14px + env(safe-area-inset-top,0px)) 12px calc(18px + env(safe-area-inset-bottom,0px));pointer-events:none;visibility:hidden;background:#fff;border-radius:0 14px 14px 0;width:min(340px,100vw - 32px);transition:opacity .16s,transform .18s,visibility 0s linear .18s;inset:0 auto 0 0;overflow:hidden auto;transform:translate(calc(-100% - 24px));box-shadow:18px 0 50px #29231d26}.app-navigation.is-open{opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s;transform:translate(0)}.navigation-drawer-heading{margin-top:calc(-14px - env(safe-area-inset-top,0px));min-height:calc(82px + env(safe-area-inset-top,0px));padding:calc(14px + env(safe-area-inset-top,0px)) 52px 12px}.app-navigation .navigation-close{border-color:var(--hh-line);color:var(--hh-ink);background:#f4f2ef;width:48px;min-width:48px;height:48px;padding:0}.navigation-account{margin-top:14px}.mobile-navigation-bar{border:0;border-top:1px solid var(--hh-line);padding:6px 8px calc(7px + env(safe-area-inset-bottom,0px));z-index:65;background:#fffffff7;border-radius:0;align-items:stretch;gap:2px;width:100%;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 28px #31282012;height:auto!important;min-height:0!important;max-height:none!important;top:auto!important;transform:none!important}.mobile-navigation-bar button{color:#626b78;background:0 0;border:0;border-radius:8px;flex:1 1 0;justify-items:center;gap:2px;min-width:0;min-height:52px;padding:5px 3px;font-size:10px;display:grid;height:auto!important}.mobile-navigation-bar button.active{background:var(--hh-primary-soft);color:var(--hh-primary)}.mobile-navigation-icon{justify-content:center;align-items:center;height:24px;display:inline-flex}.overview-welcome{align-items:flex-start;min-height:0}.overview-welcome h2{font-size:24px}.overview-sync-state{flex:none}.overview-metric-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.overview-metric-grid .metric,.overview-metric-grid .metric:nth-child(odd):not(:first-child),.metric{border:1px solid var(--hh-line);grid-column:auto;min-height:112px}.overview-metric-grid .metric:first-child{grid-column:1/-1}.overview-main-grid,.overview-lower-grid,.bank-reconcile-layout,.history-report-layout,.analysis-pie-layout{grid-template-columns:minmax(0,1fr)}.overview-check-panel{order:-1}.overview-chart{height:250px}.month-picker-navigation{grid-template-columns:44px 44px minmax(0,1fr) 44px 44px}.month-picker-navigation button{width:44px;height:44px}.month-picker-shortcuts button,.status-action,.analysis-mode-switch button,.overview-text-action,.text-action,.danger-clear-action{min-height:44px}.save-feedback-close{width:44px;height:44px}.expense-remove-action{width:44px}.daily-entry-form{grid-template-columns:minmax(0,1fr)}.daily-expense-row{grid-template-columns:minmax(0,1fr) 44px}.daily-expense-row .field{grid-column:1/-1}.daily-expense-row .expense-remove-action{grid-column:2;justify-self:end}.daily-entry-summary{border-left:0;border-top:1px solid var(--hh-line)}.monthly-funds-grid,.monthly-reconciliation-grid{grid-template-columns:minmax(0,1fr)}.table-wrap{overscroll-behavior-x:contain}}@media (width>=701px) and (width<=960px){.daily-entry-summary{border-left:1px solid var(--hh-line);border-top:0}}@media (width<=560px){.workspace{padding:12px}.topbar{padding-inline:12px}.topbar-view-icon{display:none}.topbar-quick-entry{padding-inline:11px}.role-switch button{padding-inline:8px;font-size:11px}.overview-welcome{gap:10px;display:grid}.overview-sync-state{justify-self:start}.overview-metric-grid,.metric-grid{gap:8px}.overview-metric-grid .metric,.metric{min-height:108px;padding:13px}.metric strong,.overview-metric-grid .metric:first-child strong{overflow-wrap:anywhere;font-size:22px}.metric-heading>span:last-child{font-size:10px}.panel-title{align-items:flex-start;min-height:56px;padding:13px 14px}.panel>:not(.panel-title):not(.table-wrap),.input-panel>:not(.panel-title):not(.table-wrap){max-width:calc(100% - 28px);margin-left:14px;margin-right:14px}.daily-entry-fields,.daily-entry-summary{padding:16px 14px}.daily-entry-fields,.cashier-form-grid,.change-action-grid,.reconciliation-values{grid-template-columns:minmax(0,1fr)}.daily-expense-row{border-radius:9px}input,select,textarea{font-size:16px}[data-ui-view=daily]>.table-panel .table-wrap{background:#f7f5f2;padding:10px}[data-ui-view=daily]>.table-panel table,[data-ui-view=daily]>.table-panel tbody,[data-ui-view=daily]>.table-panel tr,[data-ui-view=daily]>.table-panel td{width:100%;min-width:0;display:block}[data-ui-view=daily]>.table-panel thead{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[data-ui-view=daily]>.table-panel tbody{gap:10px;display:grid}[data-ui-view=daily]>.table-panel tr{border:1px solid var(--hh-line);box-shadow:var(--hh-shadow);background:#fff;border-radius:10px;overflow:hidden}[data-ui-view=daily]>.table-panel td{text-align:right;background:#fff;border-bottom:1px solid #efede9;grid-template-columns:104px minmax(0,1fr);align-items:start;gap:12px;min-height:42px;padding:10px 12px;display:grid}[data-ui-view=daily]>.table-panel td:before{color:var(--hh-muted);content:"";text-align:left;font-size:11px;font-weight:720}[data-ui-view=daily]>.table-panel td:first-child:before{content:"日期"}[data-ui-view=daily]>.table-panel td:nth-child(2):before{content:"收银现金营收"}[data-ui-view=daily]>.table-panel td:nth-child(3):before{content:"刷卡记录"}[data-ui-view=daily]>.table-panel td:nth-child(4):before{content:"支出总额"}[data-ui-view=daily]>.table-panel td:nth-child(5):before{content:"支出明细"}[data-ui-view=daily]>.table-panel td:nth-child(6):before{content:"大面额实收"}[data-ui-view=daily]>.table-panel td:nth-child(7):before{content:"操作"}[data-ui-view=daily]>.table-panel td:last-child{border-bottom:0}[data-ui-view=daily] .daily-row-actions{justify-content:flex-end}[data-ui-view=daily]>.table-panel td[colspan]{text-align:center;padding:20px;display:block}[data-ui-view=daily]>.table-panel td[colspan]:before{display:none}}@media (width<=380px){.workspace{padding-inline:9px}.overview-metric-grid,.metric-grid{grid-template-columns:minmax(0,1fr)!important}.overview-metric-grid .metric:first-child{grid-column:auto}.mobile-navigation-bar button{font-size:10px}}@media print{.analysis-export-scope .table-wrap{max-height:none!important;overflow:visible!important}.analysis-export-scope table{table-layout:fixed;width:100%!important;min-width:0!important;font-size:8px!important}.analysis-export-scope th,.analysis-export-scope td{overflow-wrap:anywhere;white-space:normal!important;padding:4px 3px!important}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.view-stack,.history-report-layout{animation:none}.app-navigation,.save-feedback{transition:none!important;animation:none!important}.save-feedback{opacity:1!important;transform:none!important}}.operations-panel,.operations-today{padding:1.25rem}.operations-panel button,.operations-today button{color:#203047;cursor:pointer;background:#fff;border:1px solid #a7b2c0;border-radius:8px;min-height:44px;padding:.6rem 1rem}.operations-panel button:disabled{opacity:.55;cursor:default}.operations-cards,.operations-controls,.operations-editor{flex-wrap:wrap;align-items:end;gap:1rem;margin:1rem 0;display:flex}.operations-editor .field{flex:220px}.operations-panel input,.operations-panel select,.operations-panel textarea{width:100%;font:inherit;border:1px solid #a7b2c0;border-radius:6px;padding:.7rem;font-size:1rem}.operations-records{gap:.8rem;margin-top:1rem;display:grid}.operations-record{overflow-wrap:anywhere;border:1px solid #d4dbe3;border-radius:8px;padding:1rem}.operations-record p{margin:.5rem 0}.operations-notice{background:#fff2cc;padding:1rem}.operations-pagination{align-items:center;gap:1rem;margin-top:1rem;display:flex}.operations-diff{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.operations-diff pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:20rem;font-size:.875rem;overflow:auto}.operations-panel summary{cursor:pointer;padding:.75rem 0}@media (width<=760px){.operations-diff{grid-template-columns:1fr}.operations-panel,.operations-today{padding:1rem}.operations-cards>button{text-align:left;width:100%}}.task-tabs{flex-wrap:wrap;gap:.65rem;margin-bottom:1.25rem;display:flex}.task-tabs button{color:#253858;cursor:pointer;background:#fff;border:1px solid #d6deeb;border-radius:10px;min-height:44px;padding:.7rem 1rem;font-size:1rem}.task-tabs button[aria-pressed=true]{color:#fff;background:#1746bd;border-color:#1746bd}.simple-disclosure{background:#fff;border:1px solid #d6deeb;border-radius:12px;min-width:0;margin-bottom:1rem;padding:1rem}.simple-disclosure>summary,.navigation-utility>summary{cursor:pointer;padding:.4rem 0;font-size:1rem;font-weight:600}.simple-disclosure[open]>summary{margin-bottom:1rem}.simple-disclosure>.panel{margin-top:1rem}.form-options{grid-column:1/-1;margin:0}.form-options[open]{display:block}.form-options .field{margin-top:.8rem}.simple-today-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.first-use-guide p,.lookup-panel p{color:#52627b;font-size:1rem;line-height:1.65}.lookup-filters{grid-template-columns:2fr 1fr 1fr 1fr;gap:1rem;margin-top:1rem;display:grid}.lookup-panel h2{margin:0;font-size:1.3rem}.mobile-navigation-bar{grid-template-columns:repeat(5,minmax(0,1fr))}.task-tabs button:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #7e9eed}.overview-dashboard .operations-cards{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=760px){.simple-today-metrics,.lookup-filters,.overview-dashboard .operations-cards{grid-template-columns:1fr}.task-tabs{gap:.5rem}.task-tabs button{flex:auto}.mobile-navigation-bar button{min-width:0;padding-inline:2px}.mobile-navigation-bar button span:last-child{font-size:14px}.simple-disclosure{padding:.8rem}}
