:root{--background:#f6f7f9;--surface:#ffffff;--surface-subtle:#f0f4f6;--text:#20262d;--muted:#69727d;--border:#d9e0e4;--line:#e8edf0;--accent:#0f766e;--accent-strong:#115e59;--blue:#2f5b9a;--green:#157f4f;--amber:#9a650c;--red:#b42318;--shadow:0 12px 30px rgba(36,48,58,0.08)}*{box-sizing:border-box}body,html{background:var(--background)}body{margin:0;color:var(--text);font-family:Arial,Noto Sans Thai,Tahoma,sans-serif;letter-spacing:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;height:100vh;flex-direction:column;gap:18px;border-right:1px solid var(--border);background:#101a23;color:#eef7f7;padding:22px 16px}.brand-block{display:flex;align-items:center;gap:12px;padding:0 4px 8px}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,255,255,.22);background:#0f766e;color:#fff;font-size:14px;font-weight:800;border-radius:8px}.brand-block strong{display:block;font-size:15px}.brand-block span{display:block;color:#aab8c2;font-size:12px;line-height:1.45}.sidebar-nav{display:grid;gap:6px}.nav-button{display:flex;min-height:42px;align-items:center;gap:10px;border:0;background:transparent;color:#cbd6de;padding:0 10px;text-align:left;border-radius:7px}.nav-button.active,.nav-button:hover{background:rgba(255,255,255,.09);color:#fff}.sidebar-bottom{display:grid;gap:10px;margin-top:auto}.sidebar-account{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);padding:12px;border-radius:8px}.sidebar-account-text{min-width:0}.sidebar-account-text strong{display:block;overflow:hidden;color:#fff;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.sidebar-account-text span{display:block;color:#aab8c2;font-size:12px;font-weight:700;line-height:1.45}.sidebar-account form{grid-column:1/-1}.sidebar-logout-button{display:inline-flex;width:100%;height:34px;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#eef7f7;font-size:13px;font-weight:800;border-radius:7px}.sidebar-logout-button:hover{background:rgba(255,255,255,.14);color:#fff}.main-area{min-width:0;flex-direction:column;padding:22px}.main-area,.topbar{display:flex;gap:18px}.topbar{align-items:flex-start;justify-content:space-between}.topbar h1{margin:4px 0 0;font-size:28px;line-height:1.22}.eyebrow{margin:0;color:var(--accent-strong);font-size:12px;font-weight:700}.topbar-tools{min-width:min(600px,56vw);justify-content:flex-end;flex-wrap:wrap;gap:10px}.topbar-tools,.year-select{display:flex;align-items:center}.year-select{height:40px;gap:8px;border:1px solid var(--border);background:var(--surface);padding:0 10px;border-radius:8px}.year-select span{color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.year-select select{min-width:78px;border:0;outline:0;background:transparent;color:var(--text);font-size:14px;font-weight:700}.icon-button,.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;border-radius:7px;font-size:13px;font-weight:700}.primary-button{height:40px;gap:8px;border:1px solid var(--accent-strong);background:var(--accent);color:#fff;padding:0 13px}.primary-button:hover{background:var(--accent-strong)}.icon-button:disabled,.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.6}.secondary-button{height:38px;gap:8px;padding:0 14px;text-decoration:none}.icon-button,.secondary-button{border:1px solid var(--border);background:#fff;color:var(--text)}.icon-button{width:34px;height:34px}.icon-button:hover{background:#f3f7f7}.danger-button,.danger-icon-button{border-color:#efb5ae;color:var(--red)}.danger-primary-button{border-color:#b42318;background:#c7372f}.danger-primary-button:hover{background:#a91f17}.search-box{display:flex;min-width:320px;flex:1;align-items:center;gap:8px;border:1px solid var(--border);background:var(--surface);padding:0 12px;border-radius:8px;box-shadow:0 1px 0 rgba(36,48,58,.03)}.search-box input{width:100%;height:40px;border:0;outline:0;background:transparent;color:var(--text);font-size:14px}.notice-pill{display:flex;max-width:280px;height:40px;align-items:center;gap:8px;border:1px solid #badbd5;background:#ecf8f5;color:#0b5f57;padding:0 12px;border-radius:8px;font-size:13px}.notice-pill span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px}.detail-panel,.kpi-card,.panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;box-shadow:var(--shadow)}.kpi-card{min-height:112px;padding:16px}.kpi-card p{margin:0;color:var(--muted);font-size:13px}.kpi-card strong{display:block;margin-top:10px;font-size:28px;line-height:1}.kpi-card span{display:block;margin-top:9px;color:var(--muted);font-size:12px}.kpi-good{border-color:#b8dccd}.kpi-warn{border-color:#ead3a2}.kpi-danger{border-color:#f0b8b2}.dashboard-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);gap:14px}.wide-panel{grid-column:1/-1}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:14px}.detail-panel,.panel{min-width:0;padding:16px}.table-panel{padding-bottom:10px}.panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.detail-header h2,.detail-section h3,.panel-title h2{margin:0}.panel-title h2{font-size:18px;line-height:1.3}.detail-header p,.panel-title p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.table-title{align-items:flex-end}.filter-strip{display:flex;align-items:center;gap:8px}.field-control select,.filter-strip select,.inline-select{padding:0 28px 0 9px}.field-control select,.filter-strip select,.inline-input,.inline-select{min-height:34px;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:7px;font-size:13px}.inline-input{width:100%;padding:0 9px;outline:0}.inline-input:disabled{background:#f5f7f8;color:var(--muted)}.inline-date-input{min-width:132px}.inline-money-input{min-width:124px;text-align:right}.inline-bank-input{min-width:128px}.table-action-button{min-height:34px;white-space:nowrap}.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:8px}.panel>.table-scroll,.wide-panel .table-scroll{max-height:calc(100vh - 260px)}.table-panel>.table-scroll{max-height:calc(100vh - 330px)}table{width:100%;min-width:900px;border-collapse:collapse}thead{background:#edf3f4;position:sticky;top:0;z-index:2}td,th{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:middle;font-size:13px;line-height:1.35}.row-action-group{display:flex;align-items:center;gap:6px}th{color:#46515c;font-size:12px;font-weight:700;white-space:nowrap}tbody tr{background:#fff}.selected-row,tbody tr:hover{background:#f1f8f6}.narrow{width:70px}.number{text-align:right;white-space:nowrap}.name-cell{display:grid;min-width:230px;gap:2px}.name-cell strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-cell span{color:var(--muted);font-size:12px}.status-badge{display:inline-flex;min-height:24px;align-items:center;border:1px solid var(--border);padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.status-good{border-color:#a7d7bd;background:#ecf8f0;color:var(--green)}.status-warn{border-color:#ead3a2;background:#fff7e6;color:var(--amber)}.status-danger{border-color:#efb5ae;background:#fff1ef;color:var(--red)}.status-muted{border-color:#d6dee5;background:#f5f7f9;color:#54606b}.status-lanes{display:grid;gap:10px}.lane-row{display:grid;grid-template-columns:minmax(120px,1fr) 64px 72px;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:10px}.lane-row:last-child{border-bottom:0;padding-bottom:0}.lane-row span,.lane-row strong{text-align:right}.lane-row span,.money-summary span{color:var(--muted);font-size:12px}.money-summary{display:grid;gap:12px}.money-summary div{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px}.money-summary div:last-child{border-bottom:0;padding-bottom:0}.money-summary strong{font-size:20px}.money-negative{color:var(--red)}.detail-panel{position:sticky;top:22px;display:grid;gap:16px}.detail-header{display:grid;gap:12px;border-bottom:1px solid var(--line);padding-bottom:14px}.detail-action-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.detail-header>div>span{color:var(--muted);font-size:12px;font-weight:700}.detail-header h2{margin-top:3px;font-size:19px;line-height:1.35}.detail-section{display:grid;gap:10px}.detail-section h3{font-size:14px}.detail-grid{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px 12px;border:1px solid var(--line);background:#fbfcfc;padding:12px;border-radius:8px}.detail-grid span{color:var(--muted);font-size:12px}.detail-grid strong{overflow-wrap:anywhere;font-size:13px}.receipt-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.status-readonly{min-height:38px;display:flex;align-items:center}.receipt-payments-modal{width:min(1100px,calc(100vw - 28px))}.receipt-payment-form{display:grid;grid-template-columns:160px 160px minmax(160px,1fr);gap:10px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfcfc}.receipt-payment-submit{min-height:38px}.auditor-payment-form{grid-template-columns:150px 110px minmax(150px,1fr) minmax(180px,1.2fr) 150px}.auditor-payment-form .wide-field{grid-column:auto}.auditor-payout-form{grid-template-columns:150px 90px minmax(150px,1fr) minmax(180px,1.2fr) 160px}.auditor-payout-form .receipt-payment-submit{align-self:end}.auditor-payout-form .wide-field,.auditor-payout-pick-list.wide-field{grid-column:1/-1}.auditor-payout-note-field{min-width:0}.auditor-payout-pick-list{display:grid;gap:10px;min-height:0}.auditor-payout-pick-list .table-scroll{max-height:min(360px,calc(100vh - 470px));overflow:auto}.auditor-payout-worklist-tools{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:10px;align-items:end}.auditor-payout-search-field{min-width:0}.auditor-payout-search-input{min-height:38px;display:grid;grid-template-columns:18px minmax(0,1fr) 30px;align-items:center;gap:6px;border:1px solid var(--border);background:#fff;border-radius:7px;padding:0 7px}.auditor-payout-search-input svg{color:var(--muted)}.auditor-payout-search-input input{min-height:34px;border:0;padding:0;outline:0;font-size:13px}.auditor-payout-search-input button{width:28px;height:28px;border:0;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;border-radius:6px}.auditor-payout-search-input button:hover{background:#eef3f4;color:var(--text)}.auditor-payout-bulk-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.auditor-payout-bulk-actions .secondary-button{min-height:38px}.auditor-payout-bulk-actions .advance-payout-button{border-color:#e8c46f;color:#8a5a00}.auditor-payout-bulk-actions .advance-payout-button:hover{background:#fff8e6}.auditor-payout-bulk-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:12px;line-height:1.45}.auditor-payout-pick-table table{min-width:1050px}.auditor-payout-history-table table{min-width:980px}.auditor-payout-row-form{grid-template-columns:142px 72px minmax(140px,1fr) 118px minmax(150px,1fr) 42px}.auditor-payout-pick-row{grid-template-columns:22px minmax(0,1fr) minmax(128px,auto)}.amount-input{width:130px;min-height:34px;text-align:right;border:1px solid var(--border);background:#fff;color:var(--text);padding:0 9px;border-radius:7px;font-size:13px;outline:0}.needs-review-row{background:#fffaf0}.warning-text{color:#a16207;font-weight:700}.modal-message{border:1px solid #b8dccf;background:#eef8f4;color:#115c4d;padding:10px 12px;border-radius:8px;font-size:13px;font-weight:700;line-height:1.45}.modal-message-warn{border-color:#efc3b5;background:#fff7ed;color:#9a3412}.receipt-payment-list{display:grid;gap:10px}.receipt-payment-list-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.receipt-payment-list-header span{color:var(--muted);font-size:13px}.receipt-payment-table table{min-width:900px}.receipt-payment-row-form{display:grid;grid-template-columns:142px 130px minmax(140px,1fr) minmax(150px,1fr) 84px;gap:8px;align-items:center}.receipt-payment-row-form input,.receipt-payment-row-form select{width:100%;min-height:34px;border:1px solid var(--border);background:#fff;color:var(--text);padding:0 9px;border-radius:7px;font-size:13px;outline:0}.row-action-buttons{display:flex;gap:6px}.payment-delete-modal{width:min(560px,calc(100vw - 28px));z-index:20}.control-stack{gap:12px}.field-control{display:grid;gap:6px}.field-control span{color:var(--muted);font-size:12px;font-weight:700}.field-control .field-hint{color:var(--muted);font-size:12px;font-weight:500;line-height:1.4}.field-control .field-hint-warn{color:var(--amber);font-weight:700}.field-control select{width:100%;height:38px}.field-control input,.field-control textarea{width:100%;min-height:38px;border:1px solid var(--border);background:#fff;color:var(--text);padding:8px 10px;border-radius:7px;font-size:13px;outline:0}.field-control input[readonly]{background:#f5f7f8;color:var(--muted)}.password-input-row{position:relative;display:flex;align-items:center}.password-input-row input{width:100%;padding-right:46px}.password-visibility-button{position:absolute;right:8px;display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.password-visibility-button:focus-visible,.password-visibility-button:hover{background:#edf3f4;color:var(--teal-700)}.field-control textarea{resize:vertical}.source-fieldset{grid-column:1/-1;display:grid;gap:10px;border:1px solid var(--border);border-radius:7px;padding:12px}.source-fieldset legend{color:var(--text);font-size:13px;font-weight:800;padding:0 4px}.source-options{display:flex;flex-wrap:wrap;gap:10px 16px}.source-radio{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.source-radio input{width:auto;min-height:0;padding:0}.source-selector{margin-top:2px}.save-state{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:14px;color:var(--muted);font-size:12px}.long-text{min-width:320px;max-width:560px}.empty-state{display:grid;min-height:220px;place-items:center;align-content:center;gap:8px;border:1px dashed var(--border);background:#fbfcfc;color:var(--muted);text-align:center;border-radius:8px}.empty-state strong{color:var(--text)}.empty-table-cell{height:92px;color:var(--muted);text-align:center}.modal-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:rgba(15,26,35,.42);padding:20px}.editor-modal{width:min(820px,100%);max-height:min(860px,calc(100vh - 40px));overflow:auto;border:1px solid var(--border);background:#fff;border-radius:8px;box-shadow:0 28px 80px rgba(12,20,28,.22)}.compact-modal{width:min(560px,100%)}.editor-footer,.editor-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px}.editor-header{border-bottom:1px solid var(--line)}.editor-header h2{margin:4px 0 0;font-size:20px}.modal-kicker{margin:0;color:var(--teal-700);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px}.wide-field{grid-column:1/-1}.editor-footer{border-top:1px solid var(--line);background:#fbfcfc}.topbar-roll-button,.topbar-template-button{white-space:nowrap}.roll-content{display:grid;gap:14px;padding:16px}.roll-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.roll-stat{display:grid;gap:5px;border:1px solid var(--line);background:#fbfcfc;padding:12px;border-radius:8px}.roll-note,.roll-preview-list p,.roll-preview-list span,.roll-stat small,.roll-stat span{color:var(--muted);font-size:12px;line-height:1.45}.roll-stat strong{font-size:24px;line-height:1}.roll-stat-good{border-color:#b8dccd;background:#eef9f4}.check-row{display:flex;align-items:center;gap:9px;color:var(--text);font-size:13px;font-weight:700}.check-row input{width:16px;height:16px;accent-color:var(--accent)}.roll-note{background:#fbfcfc;padding:10px 12px}.roll-note,.roll-preview-list{border:1px solid var(--line);border-radius:8px}.roll-preview-list{display:grid;gap:8px;max-height:260px;overflow:auto;padding:10px}.roll-preview-list div{display:grid;gap:2px;border-bottom:1px solid var(--line);padding-bottom:8px}.roll-preview-list div:last-of-type{border-bottom:0;padding-bottom:0}.roll-preview-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.roll-preview-list p{margin:0;font-weight:700}.roll-empty-state{min-height:150px}.template-modal{width:min(1120px,100%)}.template-content{display:grid;gap:14px;padding:16px}.template-summary-grid{grid-template-columns:repeat(4,minmax(135px,1fr))}.template-stat-danger{border-color:#f0b8b2;background:#fff6f4}.template-warning-panel{margin:0}.template-preview-table{max-height:360px}.template-preview-table table{min-width:980px}.template-action-badge{display:inline-flex;min-height:26px;align-items:center;border:1px solid var(--border);background:#f7f9fa;color:#4c5863;padding:0 9px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.template-action-create_existing_customer_engagement,.template-action-create_new_customer_engagement{border-color:#b8dccd;background:#eef9f4;color:var(--green)}.template-action-skip_existing_engagement{border-color:#e7d19d;background:#fff9e8;color:var(--amber)}.template-action-duplicate_in_file,.template-action-invalid{border-color:#f0b8b2;background:#fff6f4;color:var(--red)}.template-more-note{margin:0;color:var(--muted);font-size:12px;font-weight:700}.invoice-modal{width:min(980px,100%)}.invoice-delete-modal{width:min(660px,100%)}.invoice-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px 16px 0}.invoice-total-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:16px;overflow:hidden;border:1px solid var(--line);background:#fbfcfc;border-radius:8px}.invoice-total-strip div{display:grid;gap:5px;padding:12px;border-left:1px solid var(--line)}.invoice-total-strip div:first-child{border-left:0}.invoice-total-strip span{color:var(--muted);font-size:12px;font-weight:700}.invoice-total-strip strong{font-size:16px;line-height:1.2;overflow-wrap:anywhere}.badge-mixed{font-size:11px;font-weight:600;color:var(--accent);white-space:nowrap}.invoice-pick-list{max-height:330px}.invoice-line-preview-list,.invoice-pick-list{display:grid;overflow:auto;margin:0 16px 16px;border:1px solid var(--line);border-radius:8px}.invoice-line-preview-list{max-height:260px}.invoice-pick-row{grid-template-columns:22px minmax(0,1fr) minmax(108px,auto)}.invoice-line-preview-row,.invoice-pick-row{display:grid;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:10px 12px}.invoice-line-preview-row{grid-template-columns:minmax(0,1fr) minmax(108px,auto)}.invoice-line-preview-row:last-child,.invoice-pick-row:last-child{border-bottom:0}.invoice-pick-row:hover{background:#f7faf9}.invoice-pick-row input{width:16px;height:16px;accent-color:var(--accent)}.invoice-pick-main{display:grid;min-width:0;gap:3px}.invoice-pick-main strong{font-size:13px}.invoice-pick-main small,.invoice-pick-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-pick-main small{color:var(--muted);font-size:12px}.invoice-pick-fee{font-size:13px;font-weight:800;text-align:right;white-space:nowrap}.invoice-notes{padding:0 16px 16px}.invoice-empty-state{min-height:190px;border:0}.delete-warning-panel{display:flex;gap:12px;margin:16px 16px 0;border:1px solid #f0b8b2;background:#fff6f4;color:#8d2018;padding:14px;border-radius:8px}.delete-warning-panel div{display:grid;gap:4px}.delete-warning-panel span{color:#6f342f;font-size:13px;line-height:1.45}.delete-impact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px 16px 0}.delete-impact-grid div{display:grid;gap:4px;border:1px solid var(--line);background:#fbfcfc;padding:12px;border-radius:8px}.delete-impact-grid span{color:var(--muted);font-size:12px;font-weight:700}.delete-impact-grid strong{overflow-wrap:anywhere}.invoice-delete-confirm{padding:16px}.error-page{display:grid;min-height:100vh;place-items:center;padding:24px}.error-panel{width:min(640px,100%);border:1px solid #f0b8b2;background:#fff;padding:24px;border-radius:8px;box-shadow:var(--shadow)}.error-panel h1{margin:8px 0;font-size:26px}.error-panel p{color:var(--muted);line-height:1.6}.error-hint{margin-top:16px;border:1px solid var(--border);background:#f7f9fa;padding:12px;border-radius:8px;color:#48535e;font-size:13px}@media (max-width:1180px){.app-shell{grid-template-columns:82px minmax(0,1fr)}.brand-block div:not(.brand-mark),.nav-button span,.sidebar-account-text,.sidebar-logout-button span{display:none}.sidebar{align-items:center;padding-inline:12px}.nav-button{width:46px;justify-content:center}.sidebar-account{grid-template-columns:1fr;justify-items:center;padding:10px}.sidebar-logout-button{width:38px;padding:0}.workspace-grid{grid-template-columns:1fr}.detail-panel{position:static}.kpi-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}}@media (max-width:820px){.app-shell{display:block}.sidebar{position:static;width:100%;height:auto;align-items:stretch}.brand-block div:not(.brand-mark),.sidebar-account-text{display:block}.nav-button span,.sidebar-logout-button span{display:inline}.sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-button{width:100%;justify-content:flex-start}.sidebar-account{grid-template-columns:auto minmax(0,1fr);justify-items:legacy}.sidebar-logout-button{width:100%}.main-area{padding:16px}.filter-strip,.panel-title,.topbar,.topbar-tools{flex-direction:column;align-items:stretch}.search-box,.topbar-tools{min-width:0;width:100%}.primary-button,.topbar-tools .secondary-button,.year-select{width:100%}.year-select{justify-content:space-between}.notice-pill{max-width:none}.dashboard-grid,.delete-impact-grid,.invoice-form-grid,.invoice-total-strip,.kpi-grid,.receipt-edit-grid,.receipt-payment-form,.receipt-payment-row-form,.roll-summary-grid{grid-template-columns:1fr}.invoice-total-strip div{border-top:1px solid var(--line);border-left:0}.auditor-payout-worklist-tools{grid-template-columns:1fr}.auditor-payout-bulk-actions{justify-content:stretch}.auditor-payout-bulk-actions .secondary-button{width:100%}.invoice-total-strip div:first-child{border-top:0}.invoice-pick-row{grid-template-columns:22px minmax(0,1fr)}.invoice-line-preview-row{grid-template-columns:minmax(0,1fr)}.invoice-pick-fee{grid-column:2;text-align:left}.invoice-line-preview-row .invoice-pick-fee,.wide-panel{grid-column:auto}.table-title{align-items:stretch}.filter-strip select{width:100%}.editor-grid{grid-template-columns:1fr}.editor-header{align-items:flex-start}.editor-footer{align-items:stretch;flex-direction:column}.editor-footer .primary-button,.editor-footer .secondary-button{width:100%}}.reconciliation-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.reconciliation-kpi-grid .kpi-card{display:flex;flex-direction:column;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow)}.reconciliation-kpi-grid .kpi-card .kpi-label{color:var(--muted);font-size:13px;font-weight:600;margin-bottom:8px}.reconciliation-kpi-grid .kpi-card .kpi-value{font-size:24px;font-weight:800;color:var(--text)}.reconciliation-issue-counts-grid{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}.issue-count-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--border);background:var(--surface);border-radius:999px;font-size:12px;font-weight:700;cursor:pointer;transition:all .2s ease;color:var(--text)}.issue-count-pill:hover{transform:translateY(-1px);box-shadow:0 4px 6px rgba(0,0,0,.05)}.issue-count-pill .issue-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:800}.issue-count-pill.color-green{border-color:#a7d7bd;background:#f0fdf4;color:#15803d}.issue-count-pill.color-green .issue-count{background:#15803d;color:#fff}.issue-count-pill.color-green.active{box-shadow:0 0 0 3px rgba(21,128,61,.2)}.issue-count-pill.color-gray{border-color:#d1d5db;background:#f9fafb;color:#4b5563}.issue-count-pill.color-gray .issue-count{background:#4b5563;color:#fff}.issue-count-pill.color-gray.active{box-shadow:0 0 0 3px rgba(75,85,99,.2)}.issue-count-pill.color-orange{border-color:#fde68a;background:#fffbeb;color:#d97706}.issue-count-pill.color-orange .issue-count{background:#d97706;color:#fff}.issue-count-pill.color-orange.active{box-shadow:0 0 0 3px rgba(217,119,6,.2)}.issue-count-pill.color-blue{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.issue-count-pill.color-blue .issue-count{background:#1d4ed8;color:#fff}.issue-count-pill.color-blue.active{box-shadow:0 0 0 3px rgba(29,78,216,.2)}.issue-count-pill.color-yellow{border-color:#fef08a;background:#fefce8;color:#a16207}.issue-count-pill.color-yellow .issue-count{background:#a16207;color:#fff}.issue-count-pill.color-yellow.active{box-shadow:0 0 0 3px rgba(161,98,7,.2)}.issue-count-pill.color-red{border-color:#fca5a5;background:#fef2f2;color:#b91c1c}.issue-count-pill.color-red .issue-count{background:#b91c1c;color:#fff}.issue-count-pill.color-red.active{box-shadow:0 0 0 3px rgba(185,28,28,.2)}.filters-bar{display:flex;flex-wrap:wrap;gap:16px;align-items:center;background:#f8fafc;padding:12px 16px;border:1px solid var(--border);border-radius:8px;margin-bottom:20px}.filters-bar .filter-item{display:flex;align-items:center;gap:8px}.filters-bar .filter-item label{font-size:13px;font-weight:700;color:var(--text)}.filters-bar .filter-item select{min-height:36px;border:1px solid var(--border);background:#fff;color:var(--text);padding:0 24px 0 10px;border-radius:6px;font-size:13px;outline:none}.link-button{background:transparent;border:none;color:var(--accent);font-weight:700;padding:0;text-decoration:none;cursor:pointer;font-size:inherit}.link-button:hover{text-decoration:underline;color:var(--accent-strong)}.focus-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:10px 12px;border:1px solid #b7d8d3;border-radius:8px;background:#eef8f6;color:#0f5f57;font-weight:700}.focus-banner button{border:none;background:transparent;color:#0f5f57;font:inherit;font-weight:800;cursor:pointer}.focus-banner button:hover{text-decoration:underline}.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:700}.badge-green{background:#dcfce7;color:#166534}.badge-gray{background:#f3f4f6;color:#374151}.badge-orange{background:#fef3c7;color:#92400e}.badge-blue{background:#dbeafe;color:#1e40af}.badge-yellow{background:#fef9c3;color:#854d0e}.badge-red{background:#fee2e2;color:#991b1b}.login-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:#eef3f4}.login-panel{width:min(420px,100%);border:1px solid var(--border);background:#fff;border-radius:8px;box-shadow:var(--shadow);padding:24px}.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:24px}.login-brand h1{margin:4px 0 0;font-size:24px;line-height:1.2}.login-form,.user-create-form{display:grid;gap:12px}.login-button{width:100%}.auth-error,.auth-success{border:1px solid;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.45}.auth-error{border-color:#efb5ae;background:#fff1ef;color:var(--red)}.auth-success{border-color:#a7d7bd;background:#ecf8f0;color:var(--green)}.users-grid{display:grid;grid-template-columns:minmax(340px,420px) minmax(0,1fr);align-items:start;gap:14px}.user-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}.permission-fieldset,.user-create-form .auth-error,.user-create-form .auth-success,.user-create-form .wide-field,.user-form-footer{grid-column:1/-1}.permission-fieldset{display:grid;gap:10px;margin:0;border:1px solid var(--line);background:#fbfcfc;padding:12px;border-radius:8px}.permission-fieldset legend{padding:0 6px;color:var(--muted);font-size:12px;font-weight:700}.page-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.user-form-footer{justify-content:flex-end;padding-top:2px}@media (max-width:1120px){.users-grid{grid-template-columns:1fr}}