:root{font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif;color:#1f2937;background:#f4f6fb}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.58}*{box-sizing:border-box}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr);gap:22px;padding:22px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:22px;background:linear-gradient(135deg,rgba(37,99,235,.09),transparent 34%),linear-gradient(315deg,rgba(4,120,87,.08),transparent 38%),#f4f6fb}.sidebar,.panel,.login-panel,.metric-card,.topbar{border:1px solid #dbe3ef;border-radius:8px;background:#fff;box-shadow:0 18px 40px #0f172a0d}.sidebar{position:sticky;top:22px;height:calc(100vh - 44px);display:flex;flex-direction:column;gap:26px;padding:20px 16px}.workspace,.workspace-stack{min-width:0;display:flex;flex-direction:column;gap:18px}.brand-lockup,.login-brand,.metric-label,.nav-item,.filter-chip,.search-field,.topbar-user,.role-pill,.action-button,.primary-button{display:inline-flex;align-items:center;gap:10px}.brand-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;background:#edf4ff;color:#2563eb}.eyebrow{margin:0;font-size:.78rem;font-weight:700;letter-spacing:0;color:#6b7280;text-transform:uppercase}.nav-list{display:flex;flex-direction:column;gap:8px}.nav-item{width:100%;min-height:42px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:#475569;text-align:left}.nav-item.current{background:#edf4ff;color:#1d4ed8}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px}.topbar h1,.panel h2{margin:6px 0 0;font-size:1.45rem;line-height:1.2;letter-spacing:0}.filter-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.sync-control{display:inline-flex;align-items:center;gap:8px}.sync-status-text{color:#64748b;white-space:nowrap}.spin{animation:sync-spin .9s linear infinite}@keyframes sync-spin{to{transform:rotate(360deg)}}.filter-chip,.search-field,.topbar-user,.role-pill{min-height:38px;padding:0 13px;border:1px solid #dbe3ef;border-radius:8px;background:#f8fafc;color:#475569}.search-field input,.filter-chip select{min-width:120px;border:0;outline:0;background:transparent;color:#1f2937}.role-pill.boss{color:#6d28d9;background:#f3efff}.role-pill.superadmin{color:#991b1b;background:#fef2f2}.role-pill.finance{color:#047857;background:#ecfdf5}.role-pill.sales{color:#1d4ed8;background:#eff6ff}.login-panel{width:min(760px,100%);display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1fr);gap:26px;padding:26px}.login-brand{align-items:flex-start;padding:8px 0}.login-brand h1{margin:8px 0 0;color:#111827;font-size:1.8rem;line-height:1.15;letter-spacing:0}.login-form{display:grid;gap:14px}.login-form .primary-button{width:100%}.login-error{margin:0;min-height:38px;display:flex;align-items:center;padding:0 12px;border-radius:8px;background:#fef2f2;color:#b91c1c;font-weight:800}.login-demo-accounts{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:10px;padding-top:4px}.login-demo-accounts span{min-height:30px;display:inline-flex;align-items:center;padding:0 10px;border-radius:8px;background:#f8fafc;color:#475569;font-size:.84rem;font-weight:800}.summary-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px}.metric-card{min-height:126px;padding:18px}.metric-card strong{display:block;margin-top:18px;font-size:1.55rem;line-height:1.1}.metric-card.green .metric-label,.metric-card.green strong{color:#15803d}.metric-card.purple .metric-label,.metric-card.purple strong{color:#7c3aed}.metric-card.red .metric-label,.metric-card.red strong{color:#dc2626}.metric-label{color:#64748b;font-size:.92rem}.content-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:18px}.panel{min-width:0;padding:18px}.panel-heading{margin-bottom:16px}.panel h2{font-size:1.1rem}.dashboard-charts{margin-top:18px}.chart-wrap{height:292px}.empty-chart-state{display:grid;place-content:center;height:100%;text-align:center;color:#64748b}.table-scroll{width:100%;overflow-x:auto}table{width:100%;min-width:720px;border-collapse:collapse}th,td{padding:13px 12px;border-top:1px solid #e5e7eb;font-size:.92rem;text-align:left;white-space:nowrap}th{border-top:0;color:#6b7280;font-weight:700}.amount-cell{text-align:right}.badge{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;font-size:.82rem;font-weight:700}.badge.success{color:#047857;background:#ecfdf5}.badge.warning{color:#92400e;background:#fffbeb}.badge.danger{color:#b91c1c;background:#fef2f2}.badge.neutral{color:#475569;background:#f1f5f9}.row-list{display:grid;gap:10px}.list-row{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:14px;align-items:center;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#fbfdff}.list-row span,.list-row small,.allocation-card span,.allocation-card small{display:block;margin-top:4px;color:#64748b}.compact-form,.order-form,.order-form fieldset{display:grid;gap:12px}.compact-form input,.compact-form select,.compact-form textarea,.order-form input,.order-form select{width:100%;min-height:42px;padding:0 12px;border:1px solid #dbe3ef;border-radius:8px;background:#fff;color:#1f2937}.compact-form textarea{min-height:82px;padding-top:10px}.order-form fieldset{margin:0;padding:14px;border:1px solid #e5e7eb;border-radius:8px}.order-form legend{padding:0 6px;color:#334155;font-weight:800}.order-form-panel{display:grid;gap:18px}.sales-entry-page{display:grid;gap:16px}.sales-draft-panel{display:grid;gap:14px}.sales-draft-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.sales-draft-list{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.sales-draft-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;min-width:0;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#fbfdff}.sales-draft-card.current{border-color:#2563eb;background:#edf4ff}.sales-draft-card span,.sales-draft-card small,.sales-draft-meta small{display:block;margin-top:4px;color:#64748b}.sales-draft-card strong,.sales-draft-card span,.sales-draft-card small{overflow-wrap:anywhere}.sales-draft-meta{text-align:right}.order-form-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ledger-entry-form{display:grid;gap:16px}.order-form-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:16px}.order-fieldset{margin:0;min-width:0;padding:18px;border:1px solid #e4e9f2;border-radius:8px;background:linear-gradient(180deg,#fff,#fbfcff)}.order-fieldset legend{padding:0 8px;color:#111827;font-size:1rem;font-weight:800}.field-grid{display:grid;gap:14px}.field-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.form-field{min-width:0;display:grid;gap:7px;color:#334155;font-size:.86rem;font-weight:800}.form-field input,.form-field select,.form-field textarea,.ledger-entry-table input{width:100%;min-width:0;min-height:42px;padding:0 12px;border:1px solid #d9e2ef;border-radius:8px;background:#fff;color:#111827;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.form-field textarea{min-height:88px;padding-top:10px;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.ledger-entry-table input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.form-field input[readonly]{background:#f8fafc;color:#475569}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.highlight-field{padding:10px;border-radius:8px;background:#edf4ff}.installment-fieldset{background:#fff}.installment-count-row{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px;margin-bottom:14px}.compact-number{width:156px}.installment-summary{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.86rem;font-weight:800}.ledger-table-wrap{width:100%;overflow-x:auto;border:1px solid #e4e9f2;border-radius:8px;background:#fff}.ledger-entry-table{width:100%;min-width:0;border-collapse:collapse;table-layout:fixed}.ledger-entry-table th,.ledger-entry-table td{width:25%;padding:12px;border-bottom:1px solid #e4e9f2;border-right:1px solid #e4e9f2;color:#111827;text-align:left;vertical-align:middle;white-space:normal}.ledger-entry-table th:last-child,.ledger-entry-table td:last-child{border-right:0}.ledger-entry-table th{background:#f8fafc;font-size:.86rem;font-weight:800;line-height:1.3}.ledger-entry-table td{background:#fff}.ledger-entry-table input{min-width:0}.installment-row-group+.installment-row-group td{border-top:12px solid #f8fafc}.machine-items-fieldset{background:#fff}.machine-items-table-wrap{width:100%;overflow-x:auto;border:1px solid #e4e9f2;border-radius:8px;background:#fff;margin-bottom:14px}.machine-items-table{table-layout:auto}.machine-items-table th,.machine-items-table td{width:auto;white-space:nowrap}.machine-items-table th.amount-cell,.machine-items-table td.amount-cell{text-align:right}.machine-items-table td select,.machine-items-table td input{min-width:150px;max-width:320px}.machine-item-new-model{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.machine-item-new-model input{width:100%}.machine-item-back-to-select{border:0;padding:0;background:none;color:#2563eb;font-size:.8rem;cursor:pointer}.machine-item-back-to-select:disabled{color:#94a3b8;cursor:not-allowed}.machine-items-table .machine-item-quantity{text-align:center;font-weight:800;color:#475569}.machine-items-table-wrap>.action-button{margin:10px 12px}.machine-subtotal-list{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.machine-subtotal-row{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.86rem;white-space:nowrap}.machine-subtotal-row strong{font-size:.9rem;color:#111827}.machine-subtotal-row.contract-total-row{background:#edf4ff;color:#1d4ed8}.machine-subtotal-row.contract-total-row strong{font-size:1.05rem;color:#1d4ed8}.machine-items-detail-table{min-width:0}.machine-items-detail-table th,.machine-items-detail-table td{padding:10px 12px}.schedule-allocation-section,.schedule-allocation-card{display:flex;flex-direction:column;gap:10px}.schedule-allocation-heading{display:flex;flex-direction:column;gap:2px;padding-bottom:8px;border-bottom:1px dashed #e4e9f2}.allocation-record-list{display:flex;flex-direction:column;gap:8px}.allocation-record{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border:1px solid #e4e9f2;border-radius:8px;background:#f8fafc}.allocation-record.cancelled-allocation{opacity:.72;background:#f1f5f9}.allocation-record-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.allocation-record-title strong{font-size:.95rem}.allocation-record>span{color:#64748b;font-size:.84rem}.allocation-record>small{color:#64748b}.allocation-record .action-button{align-self:flex-start}.allocation-record-empty{margin:0;font-size:.82rem}.installment-period-card{display:grid;gap:10px;min-height:154px}.installment-period-card strong{color:#111827;font-size:.95rem}.installment-placeholder{background:#fbfcff}.order-form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.action-button,.primary-button{justify-content:center;min-height:38px;padding:0 13px;border-radius:8px;border:1px solid #dbe3ef;background:#fff;color:#334155;font-weight:700}.primary-button{border-color:#2563eb;background:#2563eb;color:#fff}.danger-action{border-color:#fecaca;color:#b91c1c;background:#fff7f7}.sync-warning{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #fed7aa;border-radius:8px;background:#fffbeb;color:#92400e;font-weight:800}.permission-card{display:grid;gap:12px}.allocation-board{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px}.allocation-board h3{margin:0 0 10px;font-size:.98rem}.allocation-card{display:grid;gap:6px;margin-bottom:10px;padding:13px;border:1px solid #e5e7eb;border-radius:8px;background:#fbfdff}.allocation-card.cancelled-allocation{background:#f8fafc;color:#64748b}.allocation-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.audit-log-panel{display:grid;gap:12px}.audit-log-list{display:grid;gap:10px}.audit-log-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#fbfdff}.audit-log-item span,.audit-log-item small{display:block;margin-top:4px;color:#64748b}.finance-board{display:grid;gap:18px}.finance-workbench-grid{display:grid;align-items:start;grid-template-columns:minmax(260px,.72fr) minmax(0,1.55fr);gap:18px}.finance-payment-column{min-width:0;display:grid;gap:18px}.finance-board-header{align-items:start;display:flex;gap:16px;justify-content:space-between}.finance-filter-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.finance-status-strip{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(150px,1fr))}.finance-table-scroll{max-height:520px}.finance-receivable-table th,.finance-receivable-table td{white-space:nowrap}.finance-receivable-table td:first-child{min-width:220px}.finance-receivable-table td:first-child small,.overdue-days{color:#64748b;display:block;font-size:12px;margin-top:4px}.paid-amount{color:#15803d}.unpaid-amount{color:#7c2d12;font-weight:700}.compact-action{min-width:88px}.compact-pending-panel .row-list.compact{gap:8px}.order-approval-panel{display:grid;gap:14px}.approval-list{display:grid;gap:12px}.approval-card{display:grid;gap:12px;padding:13px;border:1px solid #e5e7eb;border-radius:8px;background:#fbfdff}.approval-card span,.approval-card small{display:block;margin-top:4px;color:#64748b}.approval-card-meta{align-items:end;display:flex;gap:12px;justify-content:space-between}.approval-card-actions{display:flex;flex-wrap:wrap;gap:10px}.finance-action-grid{display:grid;gap:16px;grid-template-columns:minmax(280px,1.2fr) minmax(240px,.8fr)}.finance-detail-panel{border-color:#cbd5e1}.finance-detail-heading{align-items:start;display:flex;gap:16px;justify-content:space-between}.finance-detail-heading span,.muted-text{color:#64748b}.finance-detail-metrics{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}.finance-detail-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.finance-detail-grid h3{font-size:14px;margin:0 0 10px}.sales-entry-detail-panel,.payment-operation-panel{display:flex;flex-direction:column;gap:16px}.payment-operation-panel .validation-message{align-self:stretch;grid-column:auto}.detail-section{display:grid;gap:12px}.detail-section h3{margin:0;font-size:14px}.detail-field-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.detail-field{min-width:0;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#fbfdff}.detail-field dt{color:#64748b;font-size:12px;font-weight:800;margin-bottom:6px}.detail-field dd{margin:0;color:#111827;font-weight:700;overflow-wrap:anywhere}.detail-schedule-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.payment-operation-toolbar{display:flex;align-self:stretch;justify-content:flex-end}.finance-receivable-table input{width:120px;min-height:36px;padding:0 10px;border:1px solid #d9e2ef;border-radius:8px;background:#fff;color:#111827;text-align:right}.payment-operation-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px}.validation-message{align-self:end;grid-column:span 2;margin:0;min-height:42px;display:flex;align-items:center;padding:0 12px;border-radius:8px;font-weight:800;line-height:1.35}.validation-message.valid{background:#effaf3;color:#047857}.validation-message.invalid{background:#fff1f2;color:#b91c1c}.settings-grid{max-width:620px}.orders-workspace{display:grid;gap:18px}.dashboard-workspace{display:grid;gap:18px;align-items:start}.dashboard-workspace.has-order-detail{grid-template-columns:1fr}.receivables-page{display:grid;gap:18px}.receivables-page.has-order-detail{grid-template-columns:minmax(0,1fr) minmax(360px,.48fr);align-items:start}.dashboard-main-content{min-width:0;display:grid;gap:18px}.dashboard-detail-sidebar{position:fixed;z-index:20;top:96px;right:18px;width:min(42vw,calc(100vw - 36px));min-width:520px;max-height:calc(100vh - 114px);overflow:auto;box-shadow:0 18px 48px #0f172a2e}.finance-drawer-detail{width:min(46vw,calc(100vw - 36px))}.finance-drawer-payment{width:min(42vw,calc(100vw - 36px))}.dashboard-detail-sidebar .finance-detail-panel{border:0;box-shadow:none;padding:0}.orders-workspace.has-order-detail{grid-template-columns:minmax(0,1fr) minmax(360px,.42fr);align-items:start}.my-orders-page{display:grid;gap:18px}.sales-draft-card.clickable{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.sales-draft-card.clickable:hover{border-color:#2563eb;box-shadow:0 6px 16px #2563eb1f}.sales-draft-card.with-actions{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"info meta" "actions actions";row-gap:10px}.sales-draft-card.with-actions .sales-draft-info{grid-area:info}.sales-draft-card.with-actions .sales-draft-meta{grid-area:meta}.sales-draft-card.with-actions .sales-draft-actions{grid-area:actions;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:8px;border-top:1px dashed #e4e9f2}@media(max-width:1180px){.receivables-page.has-order-detail,.dashboard-workspace{grid-template-columns:1fr}.dashboard-detail-sidebar{top:76px;right:14px;max-height:calc(100vh - 90px)}.orders-workspace.has-order-detail{grid-template-columns:1fr}}@media(max-width:760px){.dashboard-detail-sidebar,.finance-drawer-detail,.finance-drawer-payment{right:14px;width:calc(100vw - 28px);min-width:0}}@media(max-width:1180px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid,.finance-workbench-grid,.detail-field-grid,.detail-schedule-grid,.order-form-grid,.allocation-board{grid-template-columns:1fr}.field-grid.three-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.finance-board-header,.finance-action-grid{grid-template-columns:1fr}.finance-board-header{display:grid}.finance-filter-row{justify-content:stretch}.finance-status-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.app-shell{grid-template-columns:1fr;padding:14px}.login-panel{grid-template-columns:1fr}.sidebar{position:static;height:auto}.nav-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{align-items:flex-start;flex-direction:column}.filter-row{justify-content:flex-start}}@media(max-width:760px){.finance-detail-heading,.finance-detail-grid{display:grid;grid-template-columns:1fr}.finance-detail-metrics{grid-template-columns:1fr}}@media(max-width:640px){.finance-status-strip{grid-template-columns:1fr}}@media(max-width:560px){.summary-grid,.nav-list,.list-row,.field-grid.two-columns,.field-grid.three-columns{grid-template-columns:1fr}.order-form-title-row,.installment-count-row,.order-form-actions{align-items:stretch;flex-direction:column}.span-2,.span-3,.validation-message{grid-column:span 1}.compact-number{width:100%}.ledger-entry-table,.ledger-entry-table tbody,.ledger-entry-table tr,.ledger-entry-table td{display:block;width:100%}.ledger-entry-table td{border-right:0}.installment-period-card{min-height:0}.installment-placeholder{display:none}.topbar h1{font-size:1.2rem}.metric-card strong{font-size:1.28rem}}.checkbox-field{display:flex;align-items:center;gap:8px;font-weight:800;color:#334155}.checkbox-field input[type=checkbox]{width:16px;height:16px;min-height:16px;accent-color:#2563eb}.form-hint{margin:0;color:#64748b;font-size:.82rem;line-height:1.6}.lock-key-detail{display:grid;gap:12px}.lock-key-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lock-key-status-field dd{display:flex;align-items:center;min-height:24px}.lock-key-history{padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fbfdff}.lock-key-history-title{display:block;color:#64748b;font-size:.8rem;font-weight:600}.lock-key-history ul{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:4px}.lock-key-history li{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#374151}.lock-key-history li strong{color:#16a34a}.lock-key-extend{display:grid;gap:8px;padding:12px;border:1px dashed #c7d2fe;border-radius:8px;background:#f6f8ff}.lock-key-extend-presets{display:flex;gap:8px}.lock-key-preset{padding:4px 14px;border:1px solid #d7dee9;border-radius:999px;background:#fff;font-size:.82rem;color:#374151}.lock-key-preset:hover{border-color:#2563eb;color:#2563eb}.lock-key-preset.current{border-color:#2563eb;background:#eff6ff;color:#2563eb;font-weight:600}.lock-key-extend-row{display:flex;gap:8px;align-items:center}.lock-key-extend-row input{width:150px;padding:8px 10px;border:1px solid #d7dee9;border-radius:8px;background:#fff}.lock-key-extend-row input:focus{outline:none;border-color:#2563eb}.lock-key-preview{margin:0;font-size:.82rem;color:#16a34a}.dashboard-detail-sidebar .finance-detail-heading{position:sticky;top:0;z-index:6;align-items:center;margin:0;padding:14px 18px;background:#fff;border-bottom:1px solid #e5e7eb}
