/* Tabler owns controls, navigation, tables and component states. Only brand/layout/document adaptations live here. */
:root,[data-bs-theme=light]{--tblr-primary:#18181b;--tblr-primary-rgb:24,24,27;--tblr-primary-darken:#09090b;--tblr-primary-lt:#f4f4f5;--tblr-link-color:#27272a;--tblr-link-hover-color:#09090b;--tblr-body-bg:#f7f7f8;--tblr-body-color:#27272a;--tblr-border-color:#e4e4e7;--tblr-font-sans-serif:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;--tblr-border-radius:.5rem}
a{text-decoration:none}a:hover{text-decoration:underline}.btn:hover,.nav-link:hover,.navbar-brand:hover,.list-group-item:hover{text-decoration:none}.btn-primary{--tblr-btn-bg:#18181b;--tblr-btn-border-color:#18181b;--tblr-btn-hover-bg:#09090b;--tblr-btn-hover-border-color:#09090b;--tblr-btn-active-bg:#09090b;--tblr-btn-active-border-color:#09090b}.form-check-input:checked{background-color:#18181b;border-color:#18181b}.form-control:focus,.form-select:focus,.form-check-input:focus{border-color:#71717a;box-shadow:0 0 0 .2rem #18181b12}.brand-lockup{gap:.75rem;justify-content:flex-start;padding:1.1rem 1.5rem;text-align:left;font-size:1.15rem}.brand-caption{display:block;font-size:.7rem;letter-spacing:.12em;color:#71717a;margin-top:.25rem;font-weight:400}.nav-section{padding:1.2rem 1.5rem .5rem;color:#8b8b94;font-size:.68rem;letter-spacing:.08em}.navbar-vertical .nav-link.active{background:#f4f4f5;color:#18181b;font-weight:600}.navbar-vertical .nav-link.active:before{border-color:#18181b}.workspace-header{min-height:4rem}.form-editor{max-width:960px}.page-body{margin-top:2rem}.page-title{font-weight:600;letter-spacing:-.02em}.skip-link{position:fixed;z-index:1100;padding:1rem;background:white}.errorlist{list-style:none;padding:0;margin:.35rem 0;color:var(--tblr-danger);font-size:.875rem}.login{max-width:420px;margin:8vh auto}.guest-wrapper{margin-left:0!important}.guest-wrapper .footer{text-align:center}.grid,.attribute-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.titlebar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-top:1.5rem}.search,.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.search input{max-width:360px}.filters>*{width:auto;min-width:140px}.tablewrap{overflow-x:auto}.tablewrap table{min-width:650px}.line-cards>.card,.sales-line,.cost-card{margin-bottom:1rem}.line-card>p,.form-wide .card>p{display:grid;gap:.4rem}.sales-spec{display:block;margin-top:.35rem}.result-image{display:block;max-width:100%;height:auto;margin:1.2rem auto;border:1px solid var(--tblr-border-color)}.mobile-image-link{display:none}details{margin-top:1rem}summary{cursor:pointer;font-weight:500}.muted{color:var(--tblr-secondary)}.sales-document h2{text-align:center}
@media(max-width:991.98px){.navbar-vertical .container-fluid{justify-content:flex-start}.brand-lockup{padding:.75rem 1rem}.navbar-collapse{width:100%}.nav-section{padding-top:.75rem}.workspace-header .container-xl{gap:.5rem}.workspace-header .text-secondary:first-child{display:none}.account-name{font-size:.8rem}.page-body{margin-top:1.25rem}.page-title{font-size:1.35rem}.form-editor .card-header{flex-wrap:wrap}}
@media(max-width:720px){.grid,.attribute-grid{grid-template-columns:1fr}.titlebar{align-items:flex-start;flex-wrap:wrap}.actions>*{flex:1 1 auto;text-align:center}.tablewrap table{min-width:560px}.mobile-image-link{display:block}.preview-actions form,.preview-actions button{width:100%}}
.purchase-document{background:#fff;border:1px solid #d9dee2;padding:38px 42px;margin-top:18px;color:#151515}.document-kicker{margin:0 0 5px;color:#666;font-size:.82rem;letter-spacing:.08em}.purchase-document h2{text-align:left;font-size:2rem;font-weight:650;line-height:1.2;margin:0 0 22px;padding-bottom:22px;border-bottom:2px solid #222}.document-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:0 0 20px;border-bottom:1px solid #444}.document-meta span{display:grid;gap:6px;font-size:1rem;overflow-wrap:anywhere}.document-meta small{color:#66707a;font-size:.75rem}.document-table{margin-top:0}.document-row{display:grid;grid-template-columns:minmax(220px,2fr) 100px 120px minmax(180px,1.5fr);border-bottom:1px solid #d5d9dc}.document-row>*{padding:15px 8px;overflow-wrap:anywhere}.document-head{border-bottom:1px solid #555}.document-head>*{font-weight:650}.document-row:last-child{border-bottom:2px solid #444}.document-note{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:18px 0;margin:0;border-bottom:1px solid #d5d9dc}.document-notice{margin:24px 0 0;color:#3f4a54;font-size:.9rem}.internal-check h2{margin-top:0}.preview-status{font-weight:700}.result-image{display:block;max-width:100%;height:auto;margin:18px auto;border:1px solid #d6dce1}.mobile-image-link{display:none}

@media(max-width:720px){.purchase-document{padding:24px 18px}.purchase-document h2{font-size:1.55rem;padding-bottom:16px;margin-bottom:16px}.document-meta{grid-template-columns:1fr 1fr;gap:14px;padding-bottom:16px}.document-meta span:last-child{grid-column:1/-1}.document-row{grid-template-columns:minmax(0,1fr) 46px 58px minmax(70px,.8fr)}.document-row>*{padding:12px 4px;font-size:.86rem}.document-head>*{font-size:.78rem}.document-note{grid-template-columns:78px 1fr}}

.navbar-vertical .brand-lockup{justify-content:flex-start;gap:.75rem}.navbar-vertical .brand-lockup>span:last-child{margin-left:0;margin-right:auto}.card-body>h2,.card-body>h3{margin-top:0}.card-body form+form{margin-top:1rem}.form-wide>.card,.form-wide>section{margin-bottom:1.25rem}.form-wide .card-body>.row{margin-bottom:.5rem}label.form-label{display:block}.pagination{gap:.5rem;margin-top:1.5rem;align-items:center}.pagination>a{display:inline-flex;align-items:center;padding:.5rem .8rem;background:white;border:1px solid var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.login .row>div{width:100%}.login .btn-primary{width:100%}.login h1{margin-bottom:.5rem}.table td,.table th{white-space:normal;overflow-wrap:anywhere}.page-header{margin-bottom:1.5rem}.alert-secondary{--tblr-alert-bg:#f4f4f5;--tblr-alert-color:#3f3f46;--tblr-alert-border-color:#e4e4e7}input[type=hidden]{display:none!important}

[hidden]{display:none!important}

.titlebar .page-title{margin-bottom:0!important}.form-editor>.row{margin-bottom:1rem}

/* Shared monochrome workspace; Tabler still owns component behaviour. */
:root,[data-bs-theme=light]{--tblr-sidebar-width:232px;--tblr-body-bg:#fafafa;--tblr-border-color:#e8e8eb;--tblr-border-radius:.65rem;--tblr-border-radius-lg:.9rem;--tblr-card-border-radius:.9rem}

html{scroll-padding-bottom:110px}
.page-wrapper{min-width:0}
.container-xl{max-width:1320px;padding-right:32px;padding-left:32px}
.navbar-vertical{border-right:1px solid var(--tblr-border-color);box-shadow:none}
.navbar-vertical .navbar-nav{padding:0 12px 20px}
.navbar-vertical .nav-link{gap:12px;margin:2px 0;padding:10px 12px;border-radius:8px;min-height:42px;font-size:13px}
.navbar-vertical .nav-link.active:before{display:none}
.navbar-vertical .nav-link:hover{background:#f5f5f6}
.nav-section{padding:22px 12px 8px;font-size:10px;letter-spacing:.12em}
.icon{flex-shrink:0;object-fit:contain}
.navbar-vertical .nav-link .icon{opacity:.65}
.navbar-vertical .nav-link.active .icon{opacity:1}
.workspace-header{min-height:68px;border-bottom:1px solid #ededf0;box-shadow:none}
.workspace-crumb{display:inline-flex;align-items:center;gap:10px;color:#71717a;font-size:12px}
.workspace-crumb .icon{width:16px;height:16px;opacity:.6}
.page-body{margin-top:28px}
.page-title{font-size:25px;line-height:1.35;font-weight:650}
.page-pretitle{font-size:10px;letter-spacing:.13em;color:#929299;margin-bottom:7px}
.card{border-radius:14px;border-color:#e8e8eb;box-shadow:0 2px 5px #18181b03;overflow-wrap:anywhere}
.card-header{padding:18px 22px;min-height:64px;border-bottom-color:#eeeeF0}
.card-body{padding:22px}
.card-title{font-size:15px;font-weight:600}
.btn{min-height:38px;padding:8px 14px;border-radius:8px;font-weight:550;gap:7px}
.btn-sm{min-height:32px;padding:5px 10px;font-size:12px}
.btn-primary .icon{filter:invert(1)}
.btn-outline-secondary{color:#3f3f46;border-color:#dedee3;background:#fff}
.btn-outline-secondary:hover{background:#f4f4f5;color:#18181b;border-color:#bcbcc4}
.form-control,.form-select{min-height:40px;border-radius:8px;border-color:#dddde3}
.form-label{font-size:13px;font-weight:550}
.form-hint,.helptext{font-size:12px;color:#85858e}
.form-check-input{border-radius:4px}
.table th{font-size:11px;letter-spacing:.03em;color:#85858e;background:#fafafa;font-weight:550}
.table td{font-size:13px;padding-top:13px;padding-bottom:13px}
.badge{font-weight:500;border-radius:6px;padding:5px 8px}
.filters{padding:12px;background:#f6f6f7;border:1px solid #ededf0;border-radius:10px}
.titlebar{margin-bottom:24px}
.footer{border:0;font-size:11px}
.mobile-dock{display:none}
.offcanvas .nav-link{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px}
.offcanvas .nav-link.active{background:#f4f4f5;color:#18181b}
.offcanvas .nav-section{list-style:none}
.offcanvas .navbar-nav{display:block}
.dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}
.kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #e8e8eb;border-radius:10px;margin-bottom:16px;background:#fafafa}
.kpi-label{color:#71717a;font-size:13px}
.kpi-number{font-size:34px;line-height:1.2;font-weight:650;letter-spacing:-.04em;margin:9px 0 13px}
.kpi-caption{font-size:11px;color:#85858e}
.kpi-primary{background:#18181b;color:white;border-color:#18181b}
.kpi-primary .kpi-label,.kpi-primary .kpi-caption{color:#bdbdc6}
.kpi-primary .kpi-icon{background:#29292d;border-color:#424247}
.kpi-primary .icon{filter:invert(1)}
.bento-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:22px}
.bento-grid>*{min-width:0}
.bento-wide{grid-column:1/-1}
.activity-legend{display:flex;gap:20px;color:#71717a;font-size:11px;margin-bottom:20px}
.legend-dot{display:inline-block;width:7px;height:7px;background:#18181b;border-radius:2px;margin-right:6px}
.legend-dot.secondary{background:#9c9ca5}
.activity-row{display:flex;align-items:center;gap:14px;margin:15px 0}
.activity-date,.activity-total{font-size:11px;color:#85858e;font-variant-numeric:tabular-nums}
.activity-date{width:36px}
.activity-total{width:40px;text-align:right}
.activity-tracks{flex:1;display:grid;gap:5px}
.activity-tracks .progress{height:5px;background:#f4f4f5}
.activity-tracks .bg-secondary{background:#9c9ca5!important}
.quick-actions .list-group-item{display:flex;align-items:center;gap:14px;padding:20px 22px}
.quick-actions .icon{opacity:.7}
.quick-actions small{display:block;font-size:11px;color:#85858e;margin-top:4px}
.bento-wide .table-responsive{border-radius:0 0 14px 14px}

@media(min-width:992px){.navbar-vertical .brand-lockup{padding:28px 24px 15px}
.navbar-vertical .navbar-collapse{overflow-y:auto;max-height:calc(100vh - 100px)}
}

@media(max-width:991.98px){.container-xl{padding-left:22px;padding-right:22px}
.dashboard-kpis{gap:14px}
.bento-grid{grid-template-columns:1fr}
.bento-wide{grid-column:auto}
.workspace-crumb{display:none}
}

@media(max-width:767.98px){:root,[data-bs-theme=light]{--tblr-body-bg:#fff}
.container-xl{padding-left:16px;padding-right:16px}
.page-wrapper{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
.navbar-vertical{min-height:64px;border-bottom:1px solid #f0f0f2;border-right:0}
.navbar-vertical .navbar-toggler,.navbar-vertical #sidebar-menu,.workspace-header,.footer{display:none}
.navbar-vertical .brand-lockup{margin:0 auto 0 0;padding:12px 4px;font-size:17px;gap:10px}
.brand-lockup .avatar{width:32px;height:32px;font-size:15px}
.brand-caption{font-size:9px;margin-top:2px}
.page-body{margin-top:22px;margin-bottom:16px}
.page-title{font-size:22px}
.titlebar{gap:14px;margin-bottom:20px}
.titlebar .btn{min-height:42px}
.card-header,.card-body{padding:17px}
.card-header{min-height:60px}
.card-title{font-size:14px}
.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
.kpi-card .card-body{padding:17px}
.kpi-icon{width:30px;height:30px;margin-bottom:13px;border-radius:8px}
.kpi-icon .icon{width:17px;height:17px}
.kpi-label{font-size:12px}
.kpi-number{font-size:29px;margin:8px 0 11px}
.kpi-caption{font-size:10px}
.bento-grid{gap:16px}
.quick-actions .list-group-item{padding:18px 17px}
.mobile-dock{position:fixed;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));bottom:0;left:0;right:0;z-index:1030;background:#111114;padding:9px 8px calc(10px + env(safe-area-inset-bottom,0px));box-shadow:0 -3px 16px #0000000a}
.mobile-dock a,.mobile-dock button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:47px;min-width:0;background:transparent;border:0;color:#a2a2ac;font-size:10px;text-decoration:none;line-height:1.3;border-radius:8px}
.mobile-dock .icon{filter:invert(1);opacity:.55;width:21px;height:21px}
.mobile-dock .active,.mobile-dock button[aria-expanded=true]{color:#fff;font-weight:600}
.mobile-dock .active .icon{opacity:1}
.mobile-dock a:focus-visible,.mobile-dock button:focus-visible{outline:2px solid white;outline-offset:-2px}
.offcanvas{--tblr-offcanvas-width:min(340px,90vw)}
.offcanvas-body{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
.grid,.attribute-grid{grid-template-columns:1fr}
.btn,.form-control,.form-select{min-height:42px}
.btn-sm{min-height:36px}
.filters>*{min-width:0;flex:1 1 130px}
.table-responsive,.tablewrap{max-width:100%;overscroll-behavior-x:contain}
.bento-wide table{min-width:580px}
.account-name{font-size:12px}
}

@media print{.mobile-dock,.offcanvas{display:none!important}
.page-wrapper{padding-bottom:0}
}

/* Keep the existing demand detail action reachable in narrow tables. */
.demand-action { position: sticky; right: 0; background: var(--tblr-bg-surface, #fff); z-index: 1; white-space: nowrap; }
.demand-action .btn { min-height: 44px; min-width: 64px; }
.pricing-mode { display: flex; flex-wrap: wrap; gap: .5rem; }
.pricing-mode .form-selectgroup-item { flex: 1 1 180px; }
[data-header-field][hidden] { display: none !important; }

.fee-toggle { display: flex; align-items: center; gap: .65rem; padding-left: 0; min-height: 44px; margin: 0; }
.fee-toggle .form-check-input { float: none; flex: 0 0 auto; margin: 0; }
.sales-actions { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .75rem; margin: 1rem 0 2rem; }
.sales-actions .btn { min-height: 46px; white-space: normal; }
.review-dialog { width: min(520px,calc(100% - 2rem)); border: 1px solid var(--tblr-border-color); border-radius: 12px; padding: 1.5rem; }
.review-dialog::backdrop { background: #0006; }
@media(max-width:720px) { .sales-actions { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem; } }

/* Sales form spacing stays local to the editor. */
.sales-page-heading{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}
.sales-page-heading .badge{flex:0 0 auto;letter-spacing:normal;font-size:.75em}
.sales-editor .card-title{margin-bottom:1rem}
.sales-editor .card-body{padding:1.5rem}
.sales-editor .row{--tblr-gutter-x:1.5rem;--tblr-gutter-y:1.25rem}
.sales-editor .form-label{margin-bottom:.5rem}
.sales-editor .form-control,.sales-editor .form-select{min-height:44px}
.sales-editor .sales-line .card-body>.row{margin-bottom:0}
.sales-line-options{padding:.75rem 1.5rem;background:transparent}
.sales-editor .sales-validation{margin-top:1.5rem}
.sales-more-actions{border-top:1px solid var(--tblr-border-color);padding-top:1rem;margin:2rem 0}
.sales-more-actions summary{color:var(--tblr-secondary);font-size:.875rem;min-height:44px;align-content:center}
@media(max-width:767.98px){.sales-editor .card-body{padding:1.25rem}.sales-line-options{padding:.75rem 1.25rem}.sales-page-heading{gap:.5rem}.sales-more-actions{margin-bottom:1.5rem}}

/* Customer collection cards use the full phone width instead of a compressed table. */
@media(max-width:767.98px){
.receivables-page .receivables-search{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:stretch}
.receivables-search .form-control{min-width:0;width:100%;font-size:16px}
.receivables-search .btn{min-width:64px;min-height:44px}
.receivables-page .receivable-card{padding:20px;gap:18px;min-width:0}
.receivable-card-heading{display:flex;flex-direction:column;gap:8px;min-width:0}
.receivable-customer-code{font-size:12px;color:var(--tblr-secondary);letter-spacing:.03em;overflow-wrap:anywhere}
.receivable-card-heading h2{font-size:18px;font-weight:600;line-height:1.45;margin:0;word-break:normal;overflow-wrap:anywhere}
.receivable-account-meta{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px 12px;margin:0;font-size:13px;line-height:1.5}
.receivable-account-meta dt{font-weight:400;color:var(--tblr-secondary)}
.receivable-account-meta dd{margin:0;min-width:0;word-break:normal;overflow-wrap:anywhere}
.receivable-amounts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:14px;border-radius:10px;background:var(--tblr-bg-surface-secondary,#f6f7f9)}
.receivable-amounts>div{min-width:0}
.receivable-amounts span,.receivable-balance>span{display:block;font-size:12px;color:var(--tblr-secondary);margin-bottom:6px}
.receivable-amounts strong{display:block;font-size:18px;font-weight:600;line-height:1.4;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.receivable-balance strong{font-weight:500;font-size:14px;overflow-wrap:anywhere}
.receivable-account-link{width:100%;min-height:44px;white-space:normal}
}

/* Preview the same pixels as export, including its embedded Source Han Sans glyphs. */
.purchase-document.document-image-preview{padding:0;overflow:auto}
.document-preview-image{display:block;width:100%;min-width:0;height:auto}
#document-preview-zoom:checked~.document-image-preview .document-preview-image{min-width:900px}
.document-preview-zoom{vertical-align:middle;margin-right:6px}

@media(max-width:767px){.purchase-copy-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-copy-actions .btn{min-height:44px;white-space:normal}.purchase-copy-actions>a:last-child{grid-column:1/-1}}
.receipt-entry{max-width:760px}.receipt-upload-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.receipt-upload-actions>.btn{min-height:44px;white-space:normal}.receipt-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.receipt-fields label{display:block;margin-bottom:6px}#receipt-image-preview{display:block;max-height:220px;max-width:100%;object-fit:contain;margin-top:12px}#receipt-image-preview[hidden]{display:none}.receipt-fields [data-receipt-field="note"]{grid-column:1/-1}@media(max-width:640px){.receipt-fields{grid-template-columns:1fr}.receipt-entry .card-body{padding:18px}}

.receipt-entry .receivable-account-meta{grid-template-columns:78px minmax(0,1fr)}
