/* Document inbox + LINE connection */
.nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#f36a16;color:#fff;font:700 11px/20px Outfit,sans-serif;text-align:center}
@media(max-width:900px){.nav-item{position:relative}.nav-badge{position:absolute;top:2px;right:6px;min-width:16px;height:16px;font-size:10px;line-height:16px;padding:0 4px}}
.inbox-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}
.inbox-head h2{margin:6px 0 4px}.inbox-head p{margin:0;color:#7a7f8a;max-width:620px}
.upload-button{display:inline-flex;align-items:center;gap:8px;border-radius:10px;padding:11px 18px;font-weight:700;cursor:pointer;white-space:nowrap}
.upload-button svg{width:18px;height:18px}
.upload-button.busy{opacity:.6;pointer-events:none}
.inbox-filters{display:flex;gap:8px;margin:0 0 16px;flex-wrap:wrap}
.chip{border:1px solid #e6e8ed;background:#fff;color:#5d626c;border-radius:999px;padding:6px 14px;font-weight:600;font-size:13px}
.chip.active{background:#fff3e7;border-color:#f7c99d;color:#d96e1b}
.inbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;align-items:start}
.inbox-card{background:#fff;border:1px solid #eceef1;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 18px #252a3405}
.inbox-thumb{display:block;aspect-ratio:4/3;background:#f4f5f7;border:0;padding:0;width:100%;cursor:pointer;position:relative}
.inbox-thumb{overflow:hidden}.inbox-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.inbox-thumb .file-icon{position:absolute;inset:0;display:grid;place-items:center;color:#b55a17}
.inbox-thumb .file-icon svg{width:46px;height:46px}
.inbox-thumb .file-icon small{position:absolute;bottom:16px;font:700 12px Outfit,sans-serif;letter-spacing:.08em}
.inbox-body{padding:12px 14px 14px;display:grid;gap:6px}
.inbox-body strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inbox-meta{font-size:12px;color:#8b909a;line-height:1.5}
.inbox-tags{display:flex;gap:6px;flex-wrap:wrap}
.tag{font-size:11px;font-weight:700;border-radius:6px;padding:2px 8px;background:#f1f2f4;color:#5d626c}
.tag.line{background:#e8f8ee;color:#118a4a}.tag.warn{background:#fff3e0;color:#b4650f}.tag.status{background:#eef3ff;color:#3d5cb8}
.inbox-card-actions{display:flex;justify-content:space-between;margin-top:4px}
.inbox-card-actions button{font-size:13px;padding:0}
.line-panel{margin-top:28px;padding-top:24px;border-top:1px solid #eceef1}
.line-panel h2{display:flex;align-items:center;gap:8px}
.line-mark{width:22px;height:22px;color:#06c755}
.line-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:6px 0 18px}
.line-step{border:1px solid #eceef1;border-radius:12px;padding:14px 16px;background:#fafbfc}
.line-step b{display:block;font:700 12px Outfit,sans-serif;color:#d96e1b;letter-spacing:.06em;margin-bottom:4px}
.line-step p{margin:0;font-size:13px;color:#5d626c;line-height:1.55}
.line-step a{color:#06a14a;font-weight:700}
.link-code{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:4px 0 18px;padding:16px 18px;border-radius:12px;background:#fff8ef;border:1px dashed #f3b878}
.link-code strong{font:800 34px Outfit,sans-serif;letter-spacing:.18em;color:#c85a14}
.link-code span{font-size:13px;color:#7a5b40}
.line-warning{padding:12px 14px;border-radius:10px;background:#fff8ec;border:1px solid #eab86f;color:#8b4d13;font-size:13px;margin-bottom:14px}
@media(max-width:640px){.inbox-head{flex-direction:column;align-items:stretch}.upload-button{justify-content:center}}
.inbox-extract{border-top:1px dashed #eceef1;padding-top:8px;display:grid;gap:3px;font-size:13px}
.inbox-extract .amount{font:700 17px Outfit,'IBM Plex Sans Thai',sans-serif;color:#20232b}
.inbox-extract .who{color:#4a4e58;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tag.expense{background:#fdeeee;color:#b5413a}.tag.income{background:#e8f8ee;color:#118a4a}.tag.done{background:#e8f8ee;color:#118a4a}.tag.fail{background:#fdeeee;color:#b5413a}
.review-modal{width:min(1180px,96vw);max-width:none}
.review-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:22px;padding:20px 28px;max-height:calc(92vh - 170px);overflow:auto}
.review-preview{background:#f4f5f7;border-radius:12px;min-height:420px;display:grid;place-items:start center;overflow:auto;position:sticky;top:0;max-height:calc(92vh - 210px)}
.review-preview img{max-width:100%;display:block}
.review-preview iframe{width:100%;height:calc(92vh - 220px);border:0}
.review-form .form-grid{grid-template-columns:1fr 1fr}
.review-warnings{margin:0 0 14px;padding:10px 14px;border-radius:10px;background:#fff8ec;border:1px solid #eab86f;color:#8b4d13;font-size:13px}
.review-warnings ul{margin:4px 0 0;padding-left:18px}
.review-state{margin:0 0 14px;padding:10px 14px;border-radius:10px;background:#eef3ff;color:#3d5cb8;font-size:13px}
.review-state.fail{background:#fdeeee;color:#b5413a}.review-state.done{background:#e8f8ee;color:#118a4a}
.ocr-text{margin-top:14px;font-size:13px}.ocr-text pre{white-space:pre-wrap;background:#fafbfc;border:1px solid #eceef1;border-radius:8px;padding:10px;max-height:260px;overflow:auto;font-size:12px}
.review-items{margin-top:12px;font-size:13px}
.review-actions{display:flex;gap:10px;flex-wrap:wrap}.review-actions .spacer{flex:1}
@media(max-width:860px){.review-body{grid-template-columns:1fr}.review-preview{position:static;min-height:240px;max-height:50vh}.review-form .form-grid{grid-template-columns:1fr}}
.paidby-box{margin-top:16px;padding:14px 16px;border:1px solid #eceef1;border-radius:12px;background:#fafbfc}
.paidby-box h3{margin:0 0 6px;font-size:15px}
.ledger-toolbar{margin:0 0 16px}.ledger-toolbar input{max-width:200px}
.ledger-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:18px;align-items:start}
.amount-in{color:#118a4a;font-weight:700}.amount-out{color:#b5413a;font-weight:700}
.cat-row{display:grid;gap:4px;margin-bottom:12px;font-size:13px}.cat-row div{display:flex;justify-content:space-between;gap:10px}
.cat-bar{height:8px;border-radius:99px;background:#f1f2f4;overflow:hidden}.cat-bar i{display:block;height:100%;background:#f08a2c;border-radius:99px}
.claims-section{margin-bottom:18px}
.claims-section h2{display:flex;align-items:center;gap:8px}.claims-section h2 small{font-size:13px;color:#8b909a;font-weight:500}
.claim-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 0}
.claim-employee{border:1px solid #eceef1;border-radius:12px;padding:14px 16px;margin-bottom:12px}
.claim-employee header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.claim-employee header strong{font-size:15px}
.accounts-panel{margin-top:28px;padding-top:24px;border-top:1px solid #eceef1}
.account-form{margin-top:14px;padding:16px;border:1px solid #e3e6ea;border-radius:12px;background:#fafbfc}.account-form h3{margin:0 0 12px;font-size:15px}
.account-form[data-kind="bank"] .kind-other,.account-form:not([data-kind="bank"]) .kind-bank{display:none}
.check-label{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;font-weight:500}.check-label input{width:auto;margin:0}
.form-actions-row{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.bank-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.bank-card{border:1px solid #e3e6ea;border-radius:12px;padding:14px 16px;background:#fff;display:flex;flex-direction:column;gap:4px}
.bank-card.receive{border-color:#16935F;box-shadow:0 0 0 1px #16935F inset}
.bank-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.bank-card header strong{font-size:15px}
.bank-card .acct-no{font:600 17px/1.3 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.5px}
.bank-card small{color:#6b7280}.bank-card .card-actions{display:flex;gap:12px;margin-top:6px;flex-wrap:wrap}
.receive-badge{background:#e7f6ee;color:#11704a;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}
.kind-badge{background:#eef0f3;color:#555b66;font-size:11px;padding:2px 8px;border-radius:999px;white-space:nowrap}
.row-link{border:0;background:none;padding:0;color:#e07a1b;font-weight:600;cursor:pointer}
@media(max-width:1000px){.ledger-grid{grid-template-columns:1fr}}
.table td.right{white-space:nowrap}#ledgerList .tag{white-space:nowrap}
/* Cash-flow overview */
.cashflow{margin:22px 0}
.cashflow-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:4px 0 18px}
.cashflow-tiles article{border:1px solid #eceef1;border-radius:12px;padding:12px 14px;background:#fafbfc}
.cashflow-tiles span{display:block;font-size:12px;color:#6b7080}.cashflow-tiles strong{display:block;font:700 22px Outfit,'IBM Plex Sans Thai',sans-serif;color:#20232b;margin-top:2px}
.cashflow-tiles small{color:#8b909a;font-size:12px}
.cashflow-body{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);gap:22px}
.cashflow-chart{margin:0;position:relative}
.chart-legend{display:flex;gap:16px;font-size:13px;color:#4a4e58;margin-bottom:6px}
.chart-legend span{display:inline-flex;align-items:center;gap:6px}
.swatch{width:12px;height:12px;border-radius:3px;display:inline-block}
.swatch.income{background:#2a78d6}.swatch.expense{background:#eb6834}
.chart-wrap svg{width:100%;height:auto;display:block;overflow:visible}
.chart-wrap .grid{stroke:#eceef1;stroke-width:1}
.chart-wrap .axis-label{fill:#8b909a;font-size:11px}
.chart-wrap .bar{cursor:pointer}
.chart-wrap .hit{fill:transparent;cursor:pointer}
.chart-wrap .hit:hover+.bar,.chart-wrap .bar.active{filter:brightness(.9)}
.chart-tooltip{position:absolute;pointer-events:none;background:#20232b;color:#fff;padding:8px 10px;border-radius:8px;font-size:12px;line-height:1.5;white-space:nowrap;transform:translate(-50%,-100%);z-index:2}
.chart-table{margin-top:10px;font-size:13px}
.cashflow-side h3{font-size:14px;margin:0 0 10px}.cashflow-side h3:not(:first-child){margin-top:18px}
.todo-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border:1px solid #eceef1;border-radius:10px;margin-bottom:8px;font-size:13px;background:#fff;width:100%;text-align:left}
.todo-item strong{font-size:15px}
@media(max-width:1000px){.cashflow-body{grid-template-columns:1fr}.cashflow-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.line-code-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:4px 0 6px}
.line-code-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#5d626c;font-weight:600}
.line-code-form select,.line-code-form input{min-width:220px}
.line-code-form .form-hint{flex-basis:100%;margin:0}
.link-code .secondary.small{margin-left:auto}
.member-badge{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;background:#f1f2f4;color:#5d626c;vertical-align:1px}
.member-badge.line{background:#e7f8ee;color:#06893f}
.tag.source{background:#eef3ff;color:#3d5bb5;margin-left:4px}
.tag.line-tag{background:#e7f8ee;color:#06893f;font-size:10px;padding:1px 6px;vertical-align:1px}
.ledger-toolbar #ledgerAdd{margin-left:auto}
.direction-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#f4f5f7;border-radius:11px;padding:4px;margin-bottom:16px}
.direction-switch input{position:absolute;opacity:0;pointer-events:none}
.direction-switch span{display:block;text-align:center;padding:9px;border-radius:8px;font-weight:700;color:#757a85;cursor:pointer}
.direction-switch input:checked+span{background:#fff;box-shadow:0 2px 8px #2528341a}
.direction-switch label:first-child input:checked+span{color:#16935f}
.direction-switch label:last-child input:checked+span{color:#cc4b3c}
.direction-switch input:focus-visible+span{outline:2px solid #e88825}
.ledger-side{display:grid;gap:18px}
#ledgerIncomeCategories .cat-bar i{background:#2eb98a}
.cat-row small{color:#a0a4af;font-size:11px}
/* Ledger: categories grouped like an income statement */
.cat-group{margin-bottom:14px}.cat-group:last-child{margin-bottom:0}
.cat-group-head{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:#5d626c;padding:6px 0;margin-bottom:8px;border-bottom:1px dashed #e6e8ed}
.cat-row em{font-style:normal;color:#a0a4af;font-size:11px;font-variant-numeric:tabular-nums}
/* Settings: chart of categories */
.chart-panel{margin-top:28px;padding-top:24px;border-top:1px solid #eceef1}
.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.chart-col h3{font-size:14px;margin:0 0 10px}.chart-col h3.income{color:#16935f}.chart-col h3.expense{color:#cc4b3c}
.chart-group{border:1px solid #eceef1;border-radius:12px;padding:10px 12px;margin-bottom:12px;background:#fcfcfd}
.chart-group>b{display:block;font-size:12px;color:#5d626c;margin-bottom:6px}
.chart-row{display:grid;grid-template-columns:70px minmax(0,1fr) auto auto auto;gap:8px;align-items:center;padding:4px 0}
.chart-row input{padding:6px 8px;font-size:13px}
.chart-row span.chart-code{font-size:12px;color:#8a8f99}.chart-row span.chart-name{font-size:13px}
.chart-row small{font-size:11px;color:#a0a4af;white-space:nowrap}
.chart-row.off .chart-name,.chart-row.off .chart-code{opacity:.5;text-decoration:line-through}
.chart-toggle{display:flex;align-items:center;gap:4px;font-size:11px;color:#6b707a;white-space:nowrap}.chart-toggle input{width:auto}
.chart-form{margin-top:4px}.chart-form select{flex:0 0 110px}.chart-form input[name=code]{flex:0 0 130px}
@media(max-width:900px){.chart-grid{grid-template-columns:1fr}}
.chart-row [data-chart-delete]{font-size:11px;color:#b9bcc4;visibility:hidden;padding:0 2px}
.chart-row:hover [data-chart-delete],.chart-row [data-chart-delete]:focus-visible{visibility:visible;color:#bd443a}
/* Manual entry: VAT */
.vat-box{display:grid;gap:8px}
.vat-label{font-size:12px;color:#777d87;font-weight:600}
.vat-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.vat-modes label{position:relative}
.vat-modes input{position:absolute;opacity:0;pointer-events:none}
.vat-modes span{display:block;text-align:center;padding:9px 6px;border:1px solid #dfe2e7;border-radius:9px;font-size:13px;font-weight:600;color:#5d626c;cursor:pointer;background:#fff}
.vat-modes input:checked+span{border-color:#e88825;background:#fff5ea;color:#c85a14}
.vat-modes input:focus-visible+span{outline:2px solid #e88825}
.vat-summary{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:8px;background:#fafbfc;border:1px solid #eceef1;border-radius:10px;padding:10px 12px}
.vat-summary small{display:block;font-size:11px;color:#8a8f99}
.vat-summary strong{font:700 15px Outfit,sans-serif;color:#343741}
.vat-summary .vat-total strong{color:#c85a14;font-size:17px}
.vat-summary input{margin-top:2px;padding:4px 6px;font-size:13px}
.vat-summary .text-button{font-size:11px;padding:0 0 0 4px}
.vat-hint{margin:0}
.form-grid .vat-box{grid-column:1/-1}
.vat-modes label{display:flex}.vat-modes span{flex:1;display:flex;align-items:center;justify-content:center;min-height:40px}
/* Payment voucher form */
.voucher-modal{width:min(980px,calc(100% - 26px))}
.purpose-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.purpose-cards label{position:relative;display:flex}
.purpose-cards input{position:absolute;opacity:0;pointer-events:none}
.purpose-cards span{flex:1;border:1px solid #dfe2e7;border-radius:10px;padding:10px 12px;cursor:pointer;background:#fff}
.purpose-cards b{display:block;font-size:13px;color:#343741}.purpose-cards small{display:block;font-size:11px;color:#8a8f99;margin-top:2px}
.purpose-cards input:checked+span{border-color:#e88825;background:#fff5ea}.purpose-cards input:checked+span b{color:#c85a14}
.purpose-cards input:focus-visible+span{outline:2px solid #e88825}
.inline-pick{display:flex;gap:6px;margin-top:5px}.inline-pick select{flex:1;margin:0}.inline-pick .small{padding:6px 10px;white-space:nowrap}
.payee-card{font-size:12px;color:#5d626c;margin-top:8px;padding:8px 10px;border-radius:8px;background:#fafbfc;border:1px solid #eceef1}.payee-card:empty{display:none}
.method-modes{margin:6px 0 10px}
.method-fields{margin-bottom:6px}
.voucher-line{display:grid;grid-template-columns:2.2fr .7fr .6fr .9fr .6fr 1.6fr 1fr .8fr 28px;gap:6px;align-items:end;margin:8px 0;padding-bottom:8px;border-bottom:1px dashed #eceef1}
.voucher-line label{font-size:11px;color:#777d87;font-weight:600}.voucher-line input,.voucher-line select{margin-top:4px;padding:7px 8px;font-size:13px}
.voucher-line .vl-amount{text-align:right;font:700 13px Outfit,sans-serif;padding-bottom:9px}
.voucher-line .remove-line{border:0;background:#fff0ed;color:#d05c4b;border-radius:7px;height:34px}
.voucher-summary{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline;justify-content:flex-end;margin-top:14px;padding:10px 12px;border-radius:10px;background:#fafbfc;border:1px solid #eceef1}
.voucher-summary small{display:block;font-size:11px;color:#8a8f99}.voucher-summary b{font:700 15px Outfit,sans-serif}
.voucher-summary .net b{color:#c85a14;font-size:18px}.voucher-summary p{flex-basis:100%;text-align:right;margin:0;font-size:12px;color:#5d626c}
.voucher-warnings p,.voucher-detail .warn{margin:6px 0 0;font-size:12px;color:#9a4b12}
.check-row{display:flex;gap:8px;align-items:center;font-size:13px;color:#343741;font-weight:500}.check-row input{width:auto;margin:0}
.voucher-detail{margin-top:12px;font-size:13px}
.sign-steps{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.sign-steps span{font-size:12px;padding:4px 10px;border-radius:99px;background:#f1f2f4;color:#6b707a}.sign-steps span.done{background:#e7f8ee;color:#06893f}
.person-switch{margin-bottom:14px}
@media(max-width:900px){.purpose-cards{grid-template-columns:1fr}.voucher-line{grid-template-columns:1fr 1fr 1fr}.voucher-line .vl-desc,.voucher-line .vl-cat{grid-column:1/-1}}
.voucher-line.no-vat{grid-template-columns:2.2fr .7fr .6fr .9fr 1.8fr 1fr .8fr 28px}.voucher-line.no-vat .vl-vat{display:none}
@media(max-width:900px){.voucher-line.no-vat{grid-template-columns:1fr 1fr 1fr}}
/* Product photos on document lines (desktop) */
.line-row{grid-template-columns:2.3fr .6fr .9fr 1.05fr .55fr 40px 30px}
.line-photo-btn{height:39px;border:1px dashed #d8dbe1;border-radius:7px;background:#fafbfc center/cover no-repeat;font-size:16px;padding:0}
.line-photo-btn.has{border-style:solid}
.detail-lines p{align-items:center;gap:10px}.detail-lines p span{flex:1}
.detail-photo{width:44px;height:44px;object-fit:cover;border-radius:8px;border:1px solid #eceef1}
/* Standard document terms (settings) */
.defaults-panel{margin-top:28px;padding-top:24px;border-top:1px solid #eceef1}
.term-row{display:grid;grid-template-columns:1fr 110px 30px;gap:8px;margin:8px 0}
.term-row .remove-line{border:0;background:#fff0ed;color:#d05c4b;border-radius:7px}
#accountNewButton{white-space:nowrap;flex:none}

.order-flow-toggle{margin-bottom:16px;padding:12px 14px;border:1px solid #e3e6ea;border-radius:10px;background:#fafbfc;flex-wrap:wrap}.order-flow-toggle small{flex-basis:100%;margin:2px 0 0 26px}
#convertDialog{width:min(860px,96vw)}.convert-chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}
.convert-chips button{border:1px solid #e3c9ae;background:#fff8f1;color:#9a4b12;border-radius:999px;padding:6px 14px;font:600 13px inherit;cursor:pointer}.convert-chips button:hover{background:#ffeedd}
.convert-chips .pct{display:flex;align-items:center;gap:4px;border:1px solid #e3e6ea;border-radius:999px;padding:2px 4px 2px 12px;font-size:13px}.convert-chips .pct input{width:56px;border:0;padding:4px;text-align:right}
.convert-table-wrap{overflow-x:auto}.convert-table td{vertical-align:middle}.convert-table input{width:96px;text-align:right}.convert-table .done td{color:#9aa1ab}
.convert-note{display:flex;flex-direction:column;gap:6px;margin-top:14px;font-weight:600;font-size:13px}
.convert-total{display:flex;justify-content:flex-end;gap:20px;margin-top:14px;font-size:14px}.convert-total strong{font-size:18px}
.convert-table input.invalid{border-color:#d05c4b;background:#fff0ed}

.disc-input{display:flex;margin-top:5px}.disc-input input{margin-top:0!important;border-radius:8px 0 0 8px;min-width:0}.disc-input select{width:auto;margin-top:0!important;border-left:0;border-radius:0 8px 8px 0;padding:9px 6px;background:#f7f8fa}
.bill-discount{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:18px;flex-wrap:wrap}.bill-discount label{font-size:12px;color:#777d87;font-weight:600;width:220px}.bill-discount small{margin:0 0 10px}
.disc-note{font-style:normal;color:#c2611c;font-size:12px;margin-left:6px}.detail-lines .sum-row{color:#6b7280;border-top:1px dashed #eceef1;padding-top:8px}
.rev-note{background:#fff8ef;border:1px solid #f3dcbf;border-radius:8px;padding:8px 12px;color:#9a5414}.rev-note.warn{background:#fff0ed;border-color:#f3c9c2;color:#a8432f}.badge.superseded{background:#f1f2f4;color:#8a8f99;text-decoration:line-through}
#adjustDialog{width:min(720px,96vw)}.adjust-source{background:#f7f8fa;border-radius:9px;padding:10px 12px;font-size:13px;margin:0 0 14px}
.adjust-field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#777d87;margin-bottom:12px}.adjust-mode{margin:4px 0 14px}
.adjust-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:14px 0 6px}.adjust-summary div{background:#f7f8fa;border-radius:9px;padding:8px 10px;display:flex;flex-direction:column;font-size:12px;color:#6b7280}.adjust-summary b{font-size:15px;color:#20232b}.adjust-summary .g{background:#fff3e7}.adjust-summary .g b{color:#c85a14}
.line-row input:disabled,.line-row select:disabled{background:#f4f5f7;color:#6b7280}
.installments{margin-top:18px;border:1px solid #f0dcc6;border-radius:12px;padding:12px 14px;background:#fffaf5}.installments h3{margin:0 0 6px;font-size:15px}
.installments .table td{padding:9px 6px;vertical-align:middle}.installments small{color:#8b919b}.small-btn{padding:7px 12px;font-size:13px}
.inst-badge{display:inline-block;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;background:#eef0f3;color:#5b616b}.inst-badge.todo{background:#fff1e3;color:#b4570f}.inst-badge.paid{background:#e7f6ee;color:#11704a}.inst-badge.issued{background:#e9f0ff;color:#2f5bb7}
.installments .table .small-btn{border:1px solid #efc89f;background:#fff;border-radius:8px;padding:6px 12px;color:#c9620f}

.numbering-panel{margin-top:28px;padding-top:24px;border-top:1px solid #eceef1}.mono{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.3px}
.numbering-preview{background:#fff7ee;border:1px dashed #efc89f;border-radius:10px;padding:10px 14px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center}.numbering-preview strong{font:700 20px ui-monospace,Menlo,Consolas,monospace;color:#c25a12}
.numbering-next{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px dashed #e3e6ea}.numbering-next label{font-size:12px;font-weight:600;color:#777d87;width:180px}.numbering-next small{flex-basis:100%}
.imported-tag{background:#eef0ff;color:#4b55b5}

.caution-box{background:#fff6e8;border:1px solid #f3cf9c;border-left:4px solid #e8891a;border-radius:9px;padding:10px 12px;margin:10px 0;color:#6b4a2e}.caution-box strong{display:block;color:#9a4b12;font-size:13px}.caution-box p{margin:4px 0 0;font-size:12.5px;line-height:1.55}

.design-panel{margin-top:28px;padding-top:24px;border-top:1px solid #eceef1}
.design-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:16px}
.design-card{border:2px solid #e6e8ec;border-radius:12px;padding:10px;background:#fff;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:border-color .15s}
.design-card:hover{border-color:#f0b47a}.design-card:focus-visible{outline:3px solid #f0a049;outline-offset:2px}.design-card.selected{border-color:#e97913;box-shadow:0 0 0 3px #fbe2c8}
.design-thumb{width:100%;aspect-ratio:210/297;overflow:hidden;border-radius:6px;border:1px solid #eceef1;position:relative;background:#fff}
.design-thumb iframe{position:absolute;top:0;left:0;width:794px;height:1123px;border:0;transform-origin:0 0;transform:scale(var(--s,.2));pointer-events:none}
.design-name{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:4px;font-size:13px}.design-card small{color:#7a808b;font-size:11.5px;line-height:1.4}.design-open{font-size:12px;align-self:flex-start;padding:0}
.design-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}.design-controls .spacer{flex:1}.design-color{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px}.design-color input{width:48px;height:34px;padding:2px}
.design-bytype{margin-top:14px}.design-bytype summary{cursor:pointer;font-weight:600;color:#5a606b;font-size:13px}.design-bytype .form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:8px}
.job-profit{background:#f7f9fc;border-color:#d8e2ef}.job-profit .warn{color:#b4541a}.cost-add{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:8px}.cost-add select{flex:1;min-width:220px}

/* Income / expense report */
.mr-toolbar{display:grid;gap:12px;padding:16px 18px}
.mr-months{margin-bottom:17px}
.mr-periods,.mr-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.mr-periods button,.mr-seg button{border:1px solid #e6e8ed;background:#fff;color:#4a4f59;border-radius:999px;padding:7px 14px;font-weight:600;font-size:13px}
.mr-periods button.active,.mr-seg button.active{background:#fff3e7;border-color:#f3c48f;color:#d56f15}
.mr-periods input[type=month]{width:auto;border-radius:999px;padding:6px 12px;font-size:13px}
.mr-range{display:inline-flex;align-items:center;gap:6px}.mr-range input{width:auto;padding:6px 10px;font-size:13px}
.mr-seg{display:inline-flex;gap:4px}
.mr-filters input[type=search]{flex:1;min-width:200px}
.mr-chips:empty{display:none}.mr-chips{display:flex;flex-wrap:wrap;gap:8px}
.mr-chip{display:inline-flex;align-items:center;gap:6px;background:#eef4ff;color:#2f5fb5;border-radius:999px;padding:5px 6px 5px 12px;font-size:13px;font-weight:600}
.mr-chip button{border:0;background:#dbe6fb;color:#2f5fb5;border-radius:50%;width:22px;height:22px;line-height:1}
.stats small.up{color:#2a9d6b}.stats small.down{color:#cc5a4b}
.mr-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-bottom:17px}
.mr-grid .panel{min-width:0}
.mr-side-title{font:700 12px 'IBM Plex Sans Thai',sans-serif;color:#8c919b;margin:4px 0 10px;display:flex;justify-content:space-between}
.mr-side-title.income{color:#1f8a5c}.mr-side-title.expense{color:#c0503f}
.mr-cat{cursor:pointer;border-radius:8px;padding:6px 8px;margin:0 -8px 4px}.mr-cat:hover{background:#fafbfc}
.mr-cat.income .cat-bar i{background:#2eb98a}.mr-cat.expense .cat-bar i{background:#e76d5b}
.mr-cat em{font-style:normal;color:#a0a4af;font-size:11px;margin-right:4px}
.mr-contacts tr{cursor:pointer}.mr-contacts tr:hover td{background:#fafbfc}
.amount-in{color:#1f8a5c}.amount-out{color:#c0503f}
.mr-months-chart{display:flex;align-items:flex-end;gap:10px;height:170px;overflow-x:auto;padding-bottom:4px}
.mr-month{flex:1;min-width:44px;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%}
.mr-month .bars{flex:1;display:flex;align-items:flex-end;gap:3px;width:100%;justify-content:center}
.mr-month .bars i{display:block;width:40%;max-width:18px;border-radius:4px 4px 0 0;min-height:2px}
.mr-month .bars i.in{background:#2eb98a}.mr-month .bars i.out{background:#e76d5b}
.mr-month small{font-size:11px;color:#8c919b}
@media(max-width:1000px){.mr-grid{grid-template-columns:1fr}}
@media(max-width:620px){.mr-range{width:100%}.mr-range input{flex:1;min-width:0}.mr-filters input[type=search]{min-width:0;flex:1 1 100%;order:-1}.mr-periods input[type=month]{flex:1}}

/* Contacts: several people, import from a card / text, drafts from LINE */
.contact-actions{display:flex;gap:8px;flex-wrap:wrap}
.people-editor{grid-column:1/-1;border:1px solid #eceef1;border-radius:10px;padding:12px;background:#fafbfc}
.people-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.people-head small{color:#9aa0aa;font-size:11px;flex:1}
#contactDialog{width:min(720px,calc(100% - 26px))}
.person-row{display:grid;grid-template-columns:28px 1.4fr 1fr 1.1fr 32px;gap:6px;align-items:center;margin-top:8px;padding-bottom:8px;border-bottom:1px dashed #e6e8ed}.person-row:last-child{border-bottom:0;padding-bottom:0}
.person-row .remove-person{grid-column:5;grid-row:1}.person-row .p-email{grid-column:2/4}.person-row .p-line{grid-column:4/6}
.person-row input[type=text],.person-row input[type=email],.person-row input[type=tel]{padding:7px 8px;font-size:13px}
.person-row .star{display:flex;justify-content:center;cursor:pointer}.person-row .star input{display:none}.person-row .star span{font-size:18px;color:#d0d4db}.person-row .star input:checked+span{color:#f0a020}
.person-row .remove-person{border:0;background:#fff0ed;color:#d05c4b;border-radius:7px;height:32px}
.people-empty{color:#9aa0aa;font-size:12px;margin:4px 0}
.stack-label{display:block;font-size:12px;color:#777d87;font-weight:600;margin-top:10px}.stack-label textarea,.stack-label input{margin-top:5px}
.contact-drafts{background:#f2f6ff;border:1px solid #d9e4fb;border-radius:12px;padding:12px 14px;margin-bottom:16px}
.contact-drafts h3{margin:0 0 8px;font-size:14px;color:#2f5fb5}
.contact-draft{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid #dfe8fb}.contact-draft:first-of-type{border-top:0}
.contact-draft div{flex:1;min-width:0}.contact-draft small{display:block;color:#7a8396;font-size:11px}
.contact-people-line{color:#7a7f8a;font-size:11px}
@media(max-width:700px){.person-row{grid-template-columns:28px 1fr 1fr 32px}.person-row .remove-person{grid-column:4}.person-row [data-p=phone]{grid-column:2/4}.person-row .p-email,.person-row .p-line{grid-column:2/4}}

/* Withholding tax: payment dialog and the 50 ทวิ list */
.payment-net{margin-top:14px;padding:12px 14px;border-radius:10px;background:#f2faf6;color:#1f6f4a;font-weight:700;display:flex;justify-content:space-between;gap:10px}
.payment-net small{display:block;font-weight:500;color:#5b7d6b}
.wht-stats{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.wht-stats span{background:#f6f7f9;border-radius:10px;padding:8px 12px;font-size:13px}.wht-stats b{display:block;font-size:16px}
.wht-stats .waiting b{color:#c85a14}.wht-stats .received b{color:#1f8a5c}
.mr-docs{margin-bottom:17px}.mr-docs .mr-net td{border-top:2px solid #e3e5ea;background:#fafbfc}.mr-sub{font-size:14px;margin:18px 0 6px}
.pnd-form{margin:12px 0 18px}.pnd-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 0;border-bottom:2px solid #eceef1}.pnd-head span{color:#555;font-size:13px}
.refund-note{background:#eef7f1;border:1px solid #cfe7d7;border-radius:8px;padding:8px 12px;color:#25603a}
.contact-cleanup{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff8ef;border:1px solid #f3dcbf;border-radius:10px;padding:10px 14px;margin:0 0 12px;color:#8b4d13}
.tag.missing-tag{background:#fff0ed;color:#a8432f}
.member-form{margin-bottom:12px}.member-form-row{display:grid;grid-template-columns:minmax(200px,2fr) minmax(150px,1.4fr) minmax(130px,1fr) minmax(130px,1fr) auto;gap:10px;align-items:center}
.member-form-row .hidden{display:none}
@media (max-width:820px){.member-form-row{grid-template-columns:1fr}}
#memberLookup.found{color:#16935f}#memberLookup.invite{color:#9a5414}
.member-invites{background:#fff8ef;border:1px solid #f3dcbf;border-radius:10px;padding:10px 14px;margin:0 0 14px}.member-invites h4{margin:0 0 6px;font-size:.95rem}
.invite-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 0;border-top:1px dashed #f0d5b3}.invite-row:first-of-type{border-top:0}
.member-position{width:100%;max-width:220px}
.auth-invite{background:#fff8ef;border:1px solid #f3dcbf;border-radius:10px;padding:10px 14px;margin:0 0 12px;color:#7a3f10;line-height:1.6}
.reader-tag{color:#16935f;font-weight:600;margin-left:6px}
.backup-card{border:1px solid #ece4da;border-radius:12px;padding:14px 16px;margin:0 0 14px;background:#fff}.backup-card h3{margin:0 0 8px;font-size:1rem}
.backup-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}.backup-actions select{min-width:150px}
.drive-status{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start}
.backup-tree{background:#faf7f3;border-radius:8px;padding:10px 12px;font-size:.85rem;line-height:1.55;overflow-x:auto;margin:0}
.rd-file{border:1px solid #ece4da;border-radius:10px;padding:12px 14px;margin-top:12px}.rd-file h4{margin:0 0 4px}.rd-warnings{margin:8px 0 0;padding-left:18px;color:#a8432f;font-size:.9rem}
/* PromptPay + own AI key */
.promptpay-panel{margin-top:28px;padding-top:24px;border-top:1px solid #eceef1}
.promptpay-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.promptpay-form label{flex:1 1 260px;max-width:340px}
.promptpay-preview{display:flex;gap:16px;align-items:center;margin-top:14px;padding:12px;border:1px dashed #d9dde4;border-radius:12px;background:#fafbfc}
.promptpay-preview img{width:150px;height:150px;background:#fff;border-radius:8px}.promptpay-preview p{margin:0;font-size:13px;color:#6b7080}
.ai-key-form{display:grid;grid-template-columns:1fr;gap:12px;max-width:620px}.ai-key-form .full{grid-column:1/-1}
.ai-key-form input[name="apiKey"]{font-family:'IBM Plex Mono',monospace}
.ai-tier{border:1px solid #eceef1;border-radius:12px;padding:10px 14px;margin:0}.ai-tier legend{font-size:13px;color:#6b7080;padding:0 4px}
.ai-tier .radio{display:flex;gap:8px;align-items:flex-start;margin:6px 0;font-size:14px}.ai-tier .radio input{margin-top:4px}
.ai-free-warning{background:#fff7ea;border:1px solid #f5d29a;border-radius:12px;padding:12px 14px;font-size:13.5px;line-height:1.7;color:#6b4a12}
.ai-free-warning .check{display:flex;gap:8px;align-items:center;margin-top:8px;font-weight:600}
.ai-key-status{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start;padding:14px 16px;border-radius:12px;border:1px solid #d6efe0;background:#f2fbf5;margin-bottom:14px}
.ai-key-status.bad{border-color:#f3c9c4;background:#fdf3f2}.ai-key-status.warn{border-color:#f5d29a;background:#fff7ea}
.ai-usage{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 18px}.ai-usage div{flex:1 1 200px;border:1px solid #eceef1;border-radius:12px;padding:12px 14px;background:#fff}
.ai-usage b{display:block;font-size:24px}.ai-usage small{color:#6b7080}
.ai-sub{font-size:16px;margin:8px 0 10px}.ai-guide{margin-top:18px;max-width:620px}.ai-guide summary{cursor:pointer;font-weight:600}.ai-guide ol{padding-left:20px;line-height:1.8;font-size:14px}
.ai-tier .radio input,.ai-free-warning .check input{width:auto;flex:none;margin:4px 0 0}.ai-tier .radio span{flex:1}
.email-history{margin-top:14px}.email-history h3{font-size:14px;margin:6px 0}.email-history ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.email-history li{font-size:13px;padding:8px 10px;border:1px solid #eceef1;border-radius:10px}.email-history small{display:block;color:#8a909c;margin-top:2px}
.email-status{display:inline-block;font-size:11.5px;font-weight:700;padding:1px 8px;border-radius:99px;background:#eef0f3;margin-right:4px}.email-status.sent{background:#e8f7ee;color:#1f8a4c}.email-status.failed{background:#fdeceb;color:#b3261e}
.email-views{font-size:13px;color:#1f8a4c;margin:0 0 8px}
/* Collections */
.collect-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.collect-tiles article{background:#fff;border:1px solid #eceef1;border-radius:14px;padding:14px 16px}
.collect-tiles span{display:block;font-size:13px;color:#6b7080}.collect-tiles strong{display:block;font-size:22px;margin-top:2px}.collect-tiles small{color:#8a909c}.collect-tiles .late strong{color:#c2410c}
.collect-auto{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;border-radius:14px;border:1px solid #eceef1;background:#fafbfc;margin-bottom:18px}
.collect-auto.on{background:#f2fbf5;border-color:#d6efe0}.collect-auto small{display:block;color:#6b7080;font-size:12.5px;margin-top:2px}
.collect-group{margin-bottom:20px}.collect-group h3{display:flex;justify-content:space-between;align-items:baseline;font-size:16px;margin:0 0 8px}.collect-group h3 span{font-size:13px;color:#6b7080;font-weight:500}
.collect-row{display:grid;grid-template-columns:1fr auto;gap:6px 16px;align-items:center;background:#fff;border:1px solid #eceef1;border-radius:12px;padding:12px 14px;margin-bottom:8px}
.collect-row.muted{opacity:.7}.collect-main{min-width:0}.collect-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13px;color:#6b7080;margin-top:4px}.collect-main>small{display:block;font-size:12.5px;color:#6b7080;margin-top:3px}
.collect-amount{text-align:right}.collect-amount strong{font-size:17px}.collect-amount small{display:block;color:#8a909c;font-size:12px}
.collect-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.collect-actions button{padding:6px 12px;font-size:13px}.tag.ok{background:#e8f7ee;color:#1f8a4c}
@media(max-width:700px){.collect-tiles{grid-template-columns:1fr 1fr}.collect-tiles article:first-child{grid-column:1/-1}}
.notify-form{display:grid;gap:10px;max-width:620px}.switch-row{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid #eceef1;border-radius:12px;background:#fff;cursor:pointer}
.switch-row input{width:auto;flex:none;margin:4px 0 0;transform:scale(1.2)}.switch-row small{display:block;color:#6b7080;font-size:12.5px;margin-top:2px}.switch-row.disabled{opacity:.65;cursor:default}
/* Signatures and stamp */
.stamp-panel,.profile-panel{margin-top:28px;padding-top:24px;border-top:1px solid #eceef1}.profile-panel{margin-top:0;padding-top:0;border-top:0}
.sign-upload{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap;margin-top:18px}.sign-upload h3{margin:0 0 4px;font-size:17px}
.sign-preview{width:220px;height:110px;border:1px dashed #d9dde4;border-radius:12px;display:grid;place-items:center;background:repeating-conic-gradient(#f4f5f7 0 25%,#fff 0 50%) 0 0/16px 16px;flex:none}
.sign-preview.stamp{width:150px;height:150px}.sign-preview img{max-width:90%;max-height:90%;object-fit:contain}.sign-preview span{font-size:13px;color:#8a909c;background:#fff;padding:2px 8px;border-radius:6px}
.sign-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}.sign-actions input[type=file]{max-width:260px}
.check-row{display:flex;gap:8px;align-items:flex-start;font-size:14px;cursor:pointer}.check-row input{width:auto;flex:none;margin-top:4px}
.stamp-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:4px 12px;max-width:560px}.profile-form{max-width:620px}
/* Toasts: bottom centre, above dialogs */
#toasts{position:fixed;inset:auto 0 18px 0;margin:0 auto;width:min(560px,calc(100% - 24px));padding:0;border:0;background:transparent;overflow:visible;display:flex;flex-direction:column;gap:8px;z-index:2147483000;pointer-events:none}
#toasts:not(:popover-open):empty{display:none}
.toast{pointer-events:auto;display:flex;gap:12px;align-items:flex-start;justify-content:space-between;background:#20232b;color:#fff;padding:12px 14px 12px 16px;border-radius:12px;box-shadow:0 12px 30px #0003;font-size:14.5px;line-height:1.5;cursor:pointer;animation:toast-in .18s ease-out}
.toast.error{background:#b3261e}.toast button{background:none;border:0;color:inherit;font-size:20px;line-height:1;padding:0 2px;cursor:pointer;opacity:.8}
@keyframes toast-in{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}
.settings-tabs{flex-wrap:wrap;row-gap:2px}.foot-links{flex-wrap:wrap}
.ai-key-note{color:#b45309}
.schedule-rows{display:grid;gap:8px;margin:8px 0}
.schedule-row{display:grid;grid-template-columns:1fr 90px auto auto;gap:8px;align-items:center}
.schedule-row.locked input{background:#f3f4f6;color:#6b7280}
.schedule-row small{color:#16935f;white-space:nowrap}
.schedule-total{margin:10px 0 0}.schedule-total .ok{color:#16935f}.schedule-total .warn{color:#b91c1c}
.design-group{margin:14px 0 6px;font-size:13px;color:#7a7f8a}
.tag.wht-gap{border:0;cursor:pointer;font:inherit;font-size:12px}
.wht-gap-note{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:10px;padding:10px 12px;margin:0 0 12px;font-size:13px}
.doc-vat{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 4px}
.doc-vat>span{font-size:13px;font-weight:600;color:#4b5563;margin-right:4px}
.doc-vat label{position:relative}
.doc-vat input{position:absolute;opacity:0;pointer-events:none}
.doc-vat label span{display:inline-block;padding:7px 12px;border:1px solid #e5e7eb;border-radius:99px;font-size:13px;cursor:pointer;background:#fff}
.doc-vat input:checked+span{border-color:#e8711a;background:#fff3e6;color:#c2410c;font-weight:600}
.doc-vat input:disabled+span{cursor:default}
.voucher-report h4{margin:16px 0 6px;font-size:14px}
.vr-sum{margin:6px 0 4px}
.vr-list{list-style:none;margin:0;padding:0}
.vr-list li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed #e5e7eb;font-size:14px}
.vr-list li em{font-style:normal;color:#9ca3af;font-size:12px;margin-right:4px}
.vr-list li small{color:#9ca3af;margin-left:6px}
.vr-list li.vr-total{border-bottom:0;border-top:2px solid #e5e7eb;font-weight:700}
.vr-payee{border:1px solid #eceef1;border-radius:12px;padding:10px 14px;margin:0 0 10px}
.vr-head{display:flex;justify-content:space-between;gap:12px;padding-bottom:6px;border-bottom:1px solid #eceef1}
.vr-head small{color:#9ca3af}
.vr-payee .vr-list li{padding-left:14px}
.vr-foot{margin:6px 0 0;font-size:12px;color:#6b7280}
.dup-warning{background:#fff7ed;border:1px solid #fdba74;color:#9a3412;border-radius:12px;padding:10px 14px;margin:0 0 12px;font-size:14px}.dup-warning small{color:#9a3412}
.member-sign-thumb{height:28px;max-width:90px;object-fit:contain;vertical-align:middle;background:#fff;border:1px solid #eceef1;border-radius:6px;padding:2px}
.member-sign-cell{white-space:nowrap}
.member-sign{display:grid;grid-template-columns:180px 1fr;gap:14px;align-items:start;margin-top:12px}
.member-sign .sign-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:90px;border:1px dashed #d1d5db;border-radius:10px;padding:8px;background:#fff}
.member-sign .sign-preview img{max-width:100%;max-height:70px;object-fit:contain}
.member-sign .sign-preview small,.member-sign .sign-preview span{color:#9ca3af;font-size:12px}
@media (max-width:560px){.member-sign{grid-template-columns:1fr}}
.box-rows{display:grid;gap:8px;margin:8px 0}
.box-row{display:grid;grid-template-columns:24px minmax(140px,1.2fr) 180px minmax(180px,1.4fr) auto 32px;gap:8px;align-items:center}
.box-row .box-no{width:24px;height:24px;border-radius:50%;background:#fff3e6;color:#c2410c;font-weight:700;font-size:12px;display:grid;place-items:center}
.box-row .box-theirs{grid-column:span 2}
.box-row .box-stamp{white-space:nowrap;margin:0}
.sign-layout-panel{margin-bottom:24px}
@media (max-width:720px){.box-row{grid-template-columns:24px 1fr 1fr;}.box-row select[data-k="signer"]{grid-column:2/4}.box-row .box-stamp,.box-row .icon-button{grid-column:auto}}
/* Customer documents still without the customer's tax ID */
.missing-star{color:#c2410c;font-weight:700;margin-left:2px;cursor:help}
.tax-later{color:#a8432f}
/* Report by employee */
.staff-report .staff-row{cursor:pointer}.staff-report .staff-row:hover td{background:#fffaf4}
.staff-report .staff-detail td{background:#fafbfc;padding:10px 14px}.staff-report h5{margin:8px 0 4px;font-size:12px;color:#6b7280}
.staff-report .vr-total td{border-top:2px solid #e6e8ed}
/* Commission plan dialog */
#commissionForm label{display:block;font-size:12px;color:#777d87;font-weight:600;margin-top:10px}
#commissionForm label input,#commissionForm label select{margin-top:5px}
.commission-row{display:grid;grid-template-columns:1fr 90px 32px;gap:8px;align-items:end}
.commission-row .icon-button{margin-bottom:4px}
.member-commission-cell small{display:inline-block;max-width:220px;line-height:1.35}
.salesperson-line{margin:-10px 0 16px;font-size:13px;color:#4b5060;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.salesperson-line select{width:auto;min-width:180px;padding:6px 9px}
.staff-chip,.table .staff-chip{white-space:nowrap;border:1px dashed #d9dce2;background:#fff;font-weight:600;border-radius:99px;padding:2px 9px;font-size:11px;color:#5b6070;margin-top:4px;cursor:pointer}
.staff-chip:hover,.table .staff-chip:hover{border-color:#e88825;color:#c85a14}
#staffPickSelect{margin-top:4px}
/* Placing the company stamp */
.stamp-place{margin-top:16px;border-top:1px solid #eef0f3;padding-top:14px}.stamp-place h4{margin:0 0 2px}
.stamp-place-grid{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:18px;align-items:start;margin-top:10px}
.stamp-sliders label{display:block;font-size:12px;color:#777d87;font-weight:600;margin-bottom:10px}.stamp-sliders label b{float:right;color:#20232b}
.stamp-sliders input[type=range]{width:100%;padding:0;border:0;accent-color:#e8711a}
.stamp-stage{border:1px solid #e6e8ed;border-radius:12px;overflow:hidden;background:#fff}
.stamp-stage iframe{display:block;width:100%;height:330px;border:0}
@media(max-width:760px){.stamp-place-grid{grid-template-columns:1fr}}
/* ---- รายงาน (report center) ---- */
.back-to-reports{display:block;padding:0;margin:2px 0 -2px;font-size:13px}
.rc-bar{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.rc-tabs{display:flex;background:#eef0f3;border-radius:12px;padding:4px;gap:4px}
.rc-tabs button{border:0;background:transparent;border-radius:9px;padding:9px 16px;font-weight:700;color:#6b7080}
.rc-tabs button.active{background:#fff;color:#e8711a;box-shadow:0 2px 6px #0000000f}
.rc-period{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.rc-period label{font-size:12px;color:#777d87;font-weight:600}
.rc-period select,.rc-period input{width:auto;margin-top:4px}.rc-label{font-weight:700;color:#20232b;padding-bottom:9px}
.rc-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:12px}
.rc-kpi{text-align:left;background:#fff;border:1px solid #eceef1;border-radius:14px;padding:14px 16px;cursor:pointer;box-shadow:0 4px 18px #252a3405;transition:border-color .15s}
.rc-kpi:hover{border-color:#e8711a}.rc-kpi span{display:block;font-size:12px;color:#7a7f8a;font-weight:600}
.rc-kpi b{display:block;font:700 22px Outfit,'IBM Plex Sans Thai',sans-serif;margin-top:4px;color:#20232b}.rc-kpi small{display:block;font-size:11px;color:#8a8f99;margin-top:3px}
.rc-kpi.good b{color:#16794f}.rc-kpi.bad b{color:#b42318}.rc-kpi.warn{border-color:#f3c99a;background:#fffaf4}
.rc-charts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0 8px}.rc-chart.wide{grid-column:1/-1}
.rc-chart-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.rc-chart-head h3{margin:0;font-size:15px}
.rc-chart svg{width:100%;height:auto;display:block}
.rc-in{fill:#2b6cd4;background:#2b6cd4}.rc-out{fill:#e2741b;background:#e2741b}.rc-age{background:#c2571a}
.rc-grid{stroke:#eceef1;stroke-width:1}.rc-axis{font-size:10px;fill:#8a8f99;font-family:'IBM Plex Sans Thai',sans-serif}
.rc-hit{fill:transparent}.rc-col:hover .rc-hit{fill:#f4f5f7}
.rc-legend{font-size:12px;color:#5b6070;display:flex;align-items:center;gap:6px}.rc-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-left:6px}
.rc-hbar{display:grid;grid-template-columns:minmax(0,170px) 1fr 104px;gap:10px;align-items:center;font-size:13px;margin:8px 0}
.rc-hbar i{display:block;height:10px;background:#f1f2f4;border-radius:99px;overflow:hidden}.rc-hbar em{display:block;height:100%;border-radius:99px}
.rc-hbar b{font-variant-numeric:tabular-nums;font-size:12.5px;text-align:right}.rc-hbar small{color:#8a8f99}
.rc-table summary{cursor:pointer;font-size:12px;color:#6b7080;margin-top:6px}
.rc-reports{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px;align-items:start}
.rc-menu{background:#fff;border:1px solid #eceef1;border-radius:14px;padding:10px;position:sticky;top:12px}
.rc-cat h4{margin:10px 8px 4px;font-size:12px;color:#8a8f99}.rc-cat button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:8px 10px;border-radius:8px;font-size:13.5px;color:#30343d}
.rc-cat button:hover{background:#f6f7f9}.rc-cat button.active{background:#fff3e7;color:#d5650f;font-weight:700}.rc-cat button.rc-tool{font-size:12px;color:#6b7080}
.rc-viewer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:8px}.rc-viewer-head h2{margin:0;font-size:19px}.rc-viewer-head p{margin:2px 0 0;color:#8a8f99;font-size:13px}
.rc-actions{display:flex;gap:8px;flex-wrap:wrap}.rc-actions a{text-decoration:none;display:inline-block}
.rc-scroll{overflow-x:auto}.rc-report td,.rc-report th{white-space:nowrap}.rc-report td.wrap{white-space:normal;min-width:180px}
.rc-report tfoot td{font-weight:700;border-top:2px solid #e3e5ea;background:#fafbfc}
.rc-summary{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:12px}.rc-summary div{border:1px solid #eceef1;border-radius:10px;padding:8px 14px;min-width:150px}.rc-summary span{display:block;font-size:12px;color:#7a7f8a}.rc-summary b{font-size:16px}
.rc-notes{color:#7a7f8a;font-size:12.5px;margin:12px 0 0;padding-left:18px}
@media(max-width:900px){.rc-charts{grid-template-columns:1fr}.rc-reports{grid-template-columns:1fr}.rc-menu{position:static}}
.rc-pick{font-size:12px;color:#777d87;font-weight:600;flex:1;min-width:220px;max-width:420px}.rc-pick select{margin-top:4px;width:100%;font-weight:600}
@media(max-width:620px){.rc-bar{align-items:stretch}.rc-pick,.rc-period{max-width:none;width:100%}.rc-period label{flex:1}.rc-period select{width:100%}.rc-kpis{grid-template-columns:1fr 1fr}.rc-kpi b{font-size:17px}.rc-actions{width:100%}.rc-actions a{flex:1;text-align:center}}
.rc-actions a{white-space:nowrap}
@media(max-width:620px){.rc-actions a{padding:9px 10px;font-size:13px}.rc-viewer-head h2{font-size:17px}}
/* Package & AI usage (settings) */
.plan-card{border:1px solid #eceef1;border-radius:14px;padding:16px 18px;background:#fff;margin-bottom:12px}
.plan-head{display:flex;justify-content:space-between;align-items:flex-start}.plan-head h3{margin:2px 0 0;font-size:20px}.plan-head b{font:700 20px Outfit,sans-serif}.plan-head small{font-size:12px;color:#8a8f99;margin-left:2px}
.plan-meter{margin:14px 0 10px}.plan-meter-text{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:#5b6070;margin-bottom:6px}.plan-meter-text b{color:#20232b}
.plan-meter i{display:block;height:10px;border-radius:99px;background:#f1f2f4;overflow:hidden}.plan-meter em{display:block;height:100%;background:#2b6cd4;border-radius:99px}
.plan-meter.warn em{background:#e2741b}.plan-meter.bad em{background:#b42318}.plan-meter.bad .plan-meter-text b{color:#b42318}
.plan-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.plan-stats div{background:#f8f9fa;border-radius:10px;padding:10px 12px}.plan-stats b{display:block;font:700 18px Outfit,'IBM Plex Sans Thai',sans-serif}.plan-stats small{font-size:11.5px;color:#7a7f8a}
.plan-held{background:#fff6e8;color:#9a4b12;border-radius:10px;padding:10px 12px;font-size:13px}
@media(max-width:620px){.plan-stats{grid-template-columns:1fr}}
.acct-section{border-top:1px solid #eef0f3;margin-top:16px;padding-top:12px}.acct-section h3{margin:0 0 6px;font-size:15px}
.acct-stats{margin-bottom:8px}.admin-search{margin-bottom:10px;max-width:360px}.muted-row td{opacity:.55}
.inline-pick{display:flex;gap:6px}.inline-pick select{width:90px;flex:none}
#accountDialog{width:min(860px,calc(100% - 26px))}

.plan-packs{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;margin-top:12px}
.plan-packs>span{flex-basis:100%;font-size:.85rem;color:var(--muted,#6b7280);font-weight:600}
.plan-packs>div{border:1px solid var(--line,#e5e7eb);border-radius:10px;padding:8px 12px;min-width:110px;display:flex;flex-direction:column}
.plan-packs>div em{font-style:normal;font-weight:700}
.plan-packs>div small,.plan-packs>small{color:var(--muted,#6b7280);font-size:.78rem}
.plan-packs>small{flex-basis:100%}

/* ทวงชำระ dialog */
.remind-tones{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.remind-tones button{border:1px solid #e3e5ea;background:#fff;border-radius:99px;padding:6px 13px;font-weight:600;color:#5b606b;font-size:13px}
.remind-tones button.active{background:#fff3e7;border-color:#f3c999;color:#d56f15}
.remind-tones small{font-size:10.5px;background:#e8f7ee;color:#1f8a4c;border-radius:99px;padding:1px 6px;margin-left:3px}
.remind-text{font-family:'Sarabun','IBM Plex Sans Thai',sans-serif;line-height:1.65;font-size:14.5px;resize:vertical}
.remind-actions span{flex:1}
@media(max-width:620px){.remind-actions{flex-wrap:wrap}.remind-actions #remindCopy{width:100%}.remind-actions span{display:none}}

/* 📅 phone calendar */
.calendar-panel{margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid #eef0f3}
.cal-limit{background:#fff7ea;border:1px solid #f6dcad;color:#995e15;border-radius:10px;padding:8px 12px;font-size:13px;margin:0 0 12px}
.cal-kinds{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}
.cal-kind{display:flex;gap:10px;align-items:flex-start;border:1px solid #e6e8ed;border-radius:12px;padding:10px 12px;cursor:pointer;background:#fff}
.cal-kind input{width:auto;margin-top:4px}.cal-kind b{display:block;font-size:14px}.cal-kind small{color:#8a8f99;font-size:12px}
.cal-kind:has(input:checked){border-color:#f3c999;background:#fffaf3}
.cal-kind.locked{opacity:.5;cursor:not-allowed}
.cal-remind{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;margin:14px 0 4px}
.cal-remind label{font-size:12px;color:#777d87;font-weight:600}.cal-remind select{width:auto;margin-left:6px}
.cal-days{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:13px}.cal-days span{font-size:12px;color:#777d87;font-weight:600}
.cal-days label{display:flex;gap:5px;align-items:center;color:#41454e;font-weight:500;font-size:13px}.cal-days input{width:auto}
.cal-subscribe{margin-top:16px;border:1px solid #e6e8ed;border-radius:14px;padding:16px;background:#fafbfc}
.cal-subscribe h3{margin:0 0 10px;font-size:15px}
.cal-buttons{display:flex;flex-wrap:wrap;gap:8px}.cal-buttons a{text-decoration:none;display:inline-flex;align-items:center}
.cal-help{margin:12px 0 6px;padding-left:18px;font-size:13px;color:#5b606b;line-height:1.6}.cal-help li{margin-bottom:4px}

.cal-channels{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.cal-channels .cal-subscribe{margin-top:0}
.cal-channels.ios #pushCard{order:2}
.cal-subscribe h3{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cal-subscribe .tag{font-size:11px}
.cal-note{background:#f4f6fb;border-radius:10px;padding:10px 12px;font-size:13px;color:#4b5060;margin:6px 0 0;line-height:1.6}
.cal-devices{list-style:none;padding:0;margin:12px 0 0;font-size:13px}
.cal-devices li{display:flex;gap:10px;align-items:center;border-top:1px dashed #e6e8ed;padding:7px 0}.cal-devices small{color:#8a8f99;margin-left:auto}
.cal-stop{margin-top:10px}
@media(max-width:860px){.cal-channels{grid-template-columns:1fr}}

/* 📊 Google Sheet for the accounting office */
.sheet-card .backup-actions a{text-decoration:none;display:inline-flex;align-items:center}
.sheet-sub{margin:16px 0 8px;font-size:14px}
.sheet-share{display:flex;flex-wrap:wrap;gap:8px}.sheet-share input{flex:1;min-width:220px}.sheet-share select{width:auto}
.sheet-shares{list-style:none;padding:0;margin:10px 0 0;font-size:13px}
.sheet-shares li{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-top:1px dashed #e6e8ed;padding:7px 0}.sheet-shares small{color:#8a8f99}.sheet-shares button{margin-left:auto}

.terms-table .term-input{width:80px;text-align:right}.terms-table input[type=checkbox]{width:auto}

/* contacts search */
.contact-search{display:flex;gap:10px;align-items:center;margin:0 0 14px;flex-wrap:wrap}
.contact-search input{flex:1;min-width:220px;max-width:520px}
.contact-search select{width:auto}
.contact-nomatch{text-align:center;padding:24px 0}

.detail-lang{display:flex;align-items:center;gap:6px;font-size:13px;color:#5b606b;margin-right:auto}.detail-lang select{width:auto;padding:6px 8px}
.detail-lang{flex-wrap:wrap}.detail-lang-remember{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#7a7f8a;white-space:nowrap}.detail-lang-remember input{width:auto;margin:0}
/* Refer a friend */
.ref-hero{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.ref-copy{flex:1;min-width:280px}.ref-copy h2{margin:0 0 6px}.ref-copy p{color:#5b606b;margin:0 0 16px;line-height:1.6}
.ref-field{display:block;margin-bottom:12px;font-size:13px;color:#7a7f8a}.ref-field .inline-form{display:flex;gap:8px;margin-top:4px}.ref-field input{flex:1}
.ref-code{font-family:ui-monospace,Menlo,monospace;font-size:18px;letter-spacing:3px;font-weight:700;max-width:220px}
.ref-share{display:flex;gap:8px}.button-link{display:inline-flex;align-items:center;padding:9px 14px;border-radius:10px;text-decoration:none}
.ref-qr{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;border:1px solid #eceef1;border-radius:14px;background:#fff}.ref-qr small{color:#7a7f8a}
.ref-input{text-transform:uppercase;letter-spacing:2px}
.ref-partner{background:#fff7ec;border:1px solid #f6d7b0}.ref-partner-hint{margin:-4px 0 12px}
