html,body,#root{width:100%;min-height:100%;margin:0}body{font-family:Inter,sans-serif;overflow-x:hidden}.sain-glance{background:#fff;border:1px solid #dfe6ee;border-radius:18px;margin:18px 0 22px;padding:20px}.sain-glance__heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.sain-glance__heading h2{color:#102746;margin:3px 0 0;font-size:22px}.sain-glance__heading>span{color:#64748b;font-size:12px}.sain-glance__grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.sain-glance__grid button{color:#102746;text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-top:3px solid #d9aa24;border-radius:13px;grid-template-columns:auto 1fr;gap:8px 10px;min-height:116px;padding:14px;display:grid}.sain-glance__grid button.attention{background:#fff7f7;border-color:#dc2626 #fecaca #fecaca}.sain-glance__grid button>span{font-size:20px}.sain-glance__grid button div{gap:2px;display:grid}.sain-glance__grid button small{color:#64748b;font-size:11px;font-weight:700}.sain-glance__grid button strong{font-size:26px}.sain-glance__grid button b{color:#475569;grid-column:1/-1;align-self:end;font-size:10px}@media (width<=1180px){.sain-glance__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.sain-glance__heading{flex-direction:column;align-items:flex-start}.sain-glance__grid{grid-template-columns:1fr}}:root{--sainos-primary:#0b1f3a;--sainos-primary-soft:#163252;--sainos-gold:#c9a227;--sainos-gold-soft:#fff8dc;--sainos-bg:#f5f7fa;--sainos-surface:#fff;--sainos-border:#dbe3ec;--sainos-border-soft:#e8edf3;--sainos-text:#1e293b;--sainos-muted:#64748b;--sainos-success:#166534;--sainos-success-bg:#f0fdf4;--sainos-warning:#92400e;--sainos-warning-bg:#fffbeb;--sainos-danger:#b91c1c;--sainos-danger-bg:#fef2f2;--sainos-info:#1d4ed8;--sainos-info-bg:#eff6ff;--sainos-radius-sm:8px;--sainos-radius-md:12px;--sainos-radius-lg:14px;--sainos-shadow:0 5px 18px #0f172a12}.sainos-page{background:var(--sainos-bg);min-width:0;min-height:100vh;color:var(--sainos-text);flex:1;padding:28px}.sainos-breadcrumb{color:var(--sainos-muted);margin-bottom:12px;font-size:13px}.sainos-page-header,.sainos-panel-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.sainos-page-header{margin-bottom:22px}.sainos-page-heading h1{color:var(--sainos-primary);margin:0;font-size:clamp(25px,2.5vw,32px);line-height:1.2}.sainos-page-heading p,.sainos-panel-header p{color:var(--sainos-muted);margin:7px 0 0;font-size:13px;line-height:1.5}.sainos-header-actions,.sainos-panel-header-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.sainos-summary-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:14px;margin-bottom:20px;display:grid}.sainos-summary-card{border-radius:var(--sainos-radius-md);background:var(--sainos-surface);min-width:0;box-shadow:var(--sainos-shadow);border:1px solid #0000;padding:16px}.sainos-summary-card.tone-success{background:var(--sainos-success-bg);border-color:#bbf7d0}.sainos-summary-card.tone-warning{background:var(--sainos-warning-bg);border-color:#fde68a}.sainos-summary-card.tone-danger{background:var(--sainos-danger-bg);border-color:#fecaca}.sainos-summary-card.tone-info{background:var(--sainos-info-bg);border-color:#bfdbfe}.sainos-summary-card.tone-gold{background:var(--sainos-gold-soft);border-color:#ead278}.sainos-summary-label{color:var(--sainos-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.sainos-summary-value{color:var(--sainos-primary);overflow-wrap:anywhere;margin-top:7px;font-size:21px;font-weight:800}.sainos-summary-hint{color:var(--sainos-muted);margin-top:5px;font-size:11px}.sainos-filter-bar{border-radius:var(--sainos-radius-md);background:var(--sainos-surface);box-shadow:var(--sainos-shadow);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px;padding:16px;display:grid}.sainos-panel{border-radius:var(--sainos-radius-lg);background:var(--sainos-surface);min-width:0;box-shadow:var(--sainos-shadow);padding:22px}.sainos-panel-header{margin-bottom:18px}.sainos-panel-header h2{color:var(--sainos-primary);margin:0;font-size:20px}.sainos-record-badge{min-height:30px;color:var(--sainos-primary);background:#eaf0f7;border-radius:999px;align-items:center;padding:6px 10px;font-size:11px;font-weight:800;display:inline-flex}.sainos-two-column{grid-template-columns:var(--sainos-left-width,310px) minmax(0, 1fr);align-items:start;gap:22px;display:grid}.sainos-left-column,.sainos-right-column{min-width:0}.sainos-message{border-radius:var(--sainos-radius-sm);border:1px solid #0000;margin-bottom:18px;padding:11px 13px;font-size:13px;line-height:1.5}.sainos-message.message-success{background:var(--sainos-success-bg);color:var(--sainos-success);border-color:#86efac}.sainos-message.message-error{background:var(--sainos-danger-bg);color:var(--sainos-danger);border-color:#fca5a5}.sainos-message.message-warning,.sainos-message.message-info{background:var(--sainos-warning-bg);color:var(--sainos-warning);border-color:#fde68a}.sainos-button{border-radius:var(--sainos-radius-sm);cursor:pointer;border:1px solid #0000;min-height:42px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:800;transition:opacity .2s,transform .2s,box-shadow .2s}.sainos-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 12px #0f172a1f}.sainos-button:disabled{opacity:.55;cursor:not-allowed}.sainos-button.button-primary{background:var(--sainos-primary);color:#fff}.sainos-button.button-secondary{color:#334155;background:#fff;border-color:#cbd5e1}.sainos-button.button-gold{background:var(--sainos-gold);color:var(--sainos-primary)}.sainos-button.button-danger{color:var(--sainos-danger);background:#fff1f2;border-color:#fecaca}.sainos-button.button-success{color:#fff;background:#15803d}.sainos-button.button-ghost{color:var(--sainos-primary);background:0 0}.sainos-status-badge{color:#334155;white-space:nowrap;background:#e2e8f0;border-radius:999px;align-items:center;padding:5px 9px;font-size:10px;font-weight:800;display:inline-flex}.status-active,.status-available,.status-approved,.status-paid{color:#166534;background:#dcfce7}.status-draft,.status-hold,.status-blocked,.status-pending{color:#92400e;background:#fef3c7}.status-booked,.status-submitted,.status-info{color:#1d4ed8;background:#dbeafe}.status-landowner{color:#7e22ce;background:#f3e8ff}.status-cancelled,.status-inactive,.status-overdue,.status-rejected{color:#b91c1c;background:#fee2e2}.status-sold,.status-closed{color:#334155;background:#e2e8f0}.sainos-section-title{border-bottom:1px solid var(--sainos-border-soft);color:var(--sainos-primary);margin:24px 0 14px;padding-bottom:8px;font-size:16px}.sainos-form-grid{grid-template-columns:repeat(var(--sainos-form-columns,2), minmax(0, 1fr));gap:17px;display:grid}.sainos-field{gap:7px;min-width:0;display:grid}.sainos-field.field-full-width{grid-column:1/-1}.sainos-field-label{color:#334155;font-size:12px;font-weight:800}.sainos-required{color:var(--sainos-danger)}.sainos-field-hint{color:var(--sainos-muted);font-size:10px}.sainos-input,.sainos-field input,.sainos-field select,.sainos-field textarea,.sainos-filter-bar input,.sainos-filter-bar select{border-radius:var(--sainos-radius-sm);width:100%;min-height:42px;color:var(--sainos-text);background:#fff;border:1px solid #cbd5e1;outline:none;padding:10px 11px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.sainos-field textarea{resize:vertical;min-height:82px}.sainos-input:focus,.sainos-field input:focus,.sainos-field select:focus,.sainos-field textarea:focus,.sainos-filter-bar input:focus,.sainos-filter-bar select:focus{border-color:var(--sainos-gold);box-shadow:0 0 0 3px #c9a22721}.sainos-field input:disabled,.sainos-field select:disabled,.sainos-field textarea:disabled{color:var(--sainos-muted);cursor:not-allowed;background:#f1f5f9}.sainos-table-scroll{border:1px solid var(--sainos-border-soft);border-radius:10px;width:100%;overflow:auto}.sainos-table{border-collapse:collapse;background:#fff;width:100%}.sainos-table th{z-index:1;border-bottom:1px solid var(--sainos-border);color:#475569;text-align:left;white-space:nowrap;background:#f8fafc;padding:11px 10px;font-size:11px;position:sticky;top:0}.sainos-table td{border-bottom:1px solid var(--sainos-border-soft);color:#334155;padding:11px 10px;font-size:12px}.sainos-table tbody tr{transition:background-color .15s}.sainos-table tbody tr:hover{background:#f8fafc}.sainos-table tbody tr.is-selected{background:var(--sainos-gold-soft)}.sainos-empty-state{color:var(--sainos-muted);text-align:center;justify-items:center;gap:8px;padding:38px 20px;display:grid}.sainos-empty-state strong{color:var(--sainos-primary);font-size:15px}.sainos-empty-state p{max-width:480px;margin:0;font-size:12px;line-height:1.6}.sainos-empty-icon{width:44px;height:44px;color:var(--sainos-primary);background:#edf2f7;border-radius:12px;place-items:center;font-size:20px;display:grid}@media (width<=1100px){.sainos-two-column{grid-template-columns:280px minmax(0,1fr);gap:16px}.sainos-form-grid{grid-template-columns:1fr}.sainos-field.field-full-width{grid-column:auto}}@media (width<=850px){.sainos-page{padding:18px}.sainos-page-header,.sainos-panel-header{flex-direction:column}.sainos-header-actions,.sainos-panel-header-right{justify-content:flex-start}.sainos-two-column,.sainos-filter-bar{grid-template-columns:1fr}}@media (width<=520px){.sainos-page{padding:14px}.sainos-panel{padding:16px}.sainos-summary-grid{grid-template-columns:1fr 1fr}.sainos-button,.sainos-header-actions{width:100%}}.demand-page{color:#1f2937;background:#f5f7fb;min-height:100vh;padding:28px}.page-heading{margin-bottom:22px}.page-heading span{color:#8a6b2f;letter-spacing:.12em;font-size:12px;font-weight:800;display:block}.page-heading h1{margin:5px 0;font-size:30px}.page-heading p{color:#667085;margin:0}.card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;margin-bottom:20px;padding:22px;box-shadow:0 5px 18px #1018280d}.card h2{margin:0 0 18px;font-size:18px}.alert{border-radius:10px;margin-bottom:16px;padding:13px 16px;font-weight:600}.alert.error{color:#b42318;background:#fff1f2;border:1px solid #fecdd3}.alert.success{color:#067647;background:#ecfdf3;border:1px solid #abefc6}.main-select,.grid input,.grid select,.grid textarea{box-sizing:border-box;width:100%;font:inherit;background:#fff;border:1px solid #d0d5dd;border-radius:9px;padding:11px 12px}.main-select:focus,.grid input:focus,.grid select:focus,.grid textarea:focus{border-color:#8a6b2f;outline:2px solid #8a6b2f2e}.booking-banner,.calcs{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.booking-banner>div,.calcs>div{background:#f8fafc;border:1px solid #eaecf0;border-radius:10px;padding:14px}.booking-banner small,.calcs small,.unit small{color:#667085;margin-bottom:5px;display:block}.booking-banner strong,.calcs strong{overflow-wrap:anywhere;display:block}.progress{grid-template-columns:repeat(12,minmax(42px,1fr));gap:8px;margin-top:18px;display:grid}.progress button{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:10px;min-height:62px}.progress button.done{background:#ecfdf3;border-color:#75e0a7}.progress button.current{background:#fff8e7;border-color:#8a6b2f;box-shadow:inset 0 0 0 1px #8a6b2f}.progress b,.progress small{display:block}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.grid label{color:#344054;font-size:13px;font-weight:700;display:block}.grid label.wide{grid-column:1/-1}.grid input,.grid select,.grid textarea{margin-top:7px;font-weight:400}.calcs .total{color:#fff;background:#1f2937;grid-column:span 2}.calcs .total small{color:#d1d5db}.calcs .total strong{font-size:23px}.actions,.row-actions{flex-wrap:wrap;gap:8px;display:flex}.actions{justify-content:flex-end;margin-top:18px}.actions button,.row-actions button,.toolbar button{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:8px;padding:9px 13px;font-weight:700}.actions button.primary{color:#fff;background:#8a6b2f;border-color:#8a6b2f}.row-actions .danger-outline{color:#b42318;border-color:#fda29b}.actions button:disabled,.row-actions button:disabled{cursor:not-allowed;opacity:.55}.table-wrap{overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%}.table-wrap th,.table-wrap td{text-align:left;vertical-align:top;border-bottom:1px solid #eaecf0;padding:12px}.table-wrap th{color:#475467;text-transform:uppercase;letter-spacing:.04em;background:#f9fafb;font-size:12px}@media (width<=1050px){.booking-banner,.calcs{grid-template-columns:repeat(2,minmax(0,1fr))}.progress{grid-template-columns:repeat(6,minmax(42px,1fr))}}@media (width<=720px){.demand-page{padding:14px}.grid,.booking-banner,.calcs{grid-template-columns:1fr}.calcs .total{grid-column:auto}.progress{grid-template-columns:repeat(4,minmax(42px,1fr))}}.booking-banner strong,.calcs strong,.table-wrap td:nth-child(5){font-variant-numeric:tabular-nums}.page-heading h1{letter-spacing:-.02em}.card{border-radius:12px}.table-wrap{background:#fff;border:1px solid #e4e7ec;border-radius:12px;overflow:auto}.table-wrap table{min-width:980px}.table-wrap thead th{z-index:2;color:#475467;letter-spacing:.06em;background:#f8fafc;border-bottom:1px solid #d0d5dd;padding:13px 14px;font-size:11px;font-weight:800;position:sticky;top:0}.table-wrap tbody tr{transition:background .15s,box-shadow .15s}.table-wrap tbody tr:hover{background:#fcfaf5;box-shadow:inset 3px 0 #8a6b2f}.table-wrap tbody td{color:#344054;border-bottom:1px solid #eaecf0;padding:14px;font-size:13px}.table-wrap tbody td:first-child{color:#694f1e;font-weight:800}.table-wrap tbody td:nth-child(5){color:#101828;text-align:right;font-size:14px;font-weight:800}.table-wrap tbody td:nth-child(6){font-weight:800}.table-wrap tbody tr:last-child td{border-bottom:0}.row-actions{flex-wrap:nowrap}.row-actions button{white-space:nowrap;border-radius:7px;padding:7px 10px;font-size:11px}.row-actions button:hover{color:#694f1e;background:#fffaf0;border-color:#8a6b2f}.row-actions .danger-outline:hover{color:#b42318;background:#fff1f3;border-color:#d92d20}:root{--ink:#1d2939;--muted:#667085;--line:#d0d5dd;--soft-line:#eaecf0;--paper:#fff;--page-bg:#eef1f5;--accent:#8b6b2f;--accent-dark:#654a1e;--accent-soft:#f8f2e5;--accent-pale:#fcfaf5}body{background:var(--page-bg);color:var(--ink);margin:0;font-family:Inter,Arial,Helvetica,sans-serif}.print-screen{padding:24px}.toolbar{justify-content:flex-end;gap:10px;width:210mm;margin:0 auto 12px;display:flex}.toolbar button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;padding:9px 15px;font-weight:700}.toolbar button:last-child{border-color:var(--accent);background:var(--accent);color:#fff}.document{background:var(--paper);width:210mm;min-height:297mm;margin:0 auto;padding:14mm 15mm 12mm;position:relative;overflow:hidden;box-shadow:0 12px 36px #1018281f}.document:before{content:"";background:linear-gradient(90deg, var(--accent-dark), var(--accent), #c8a766);height:5px;position:absolute;top:0;left:0;right:0}.demand-header{border-bottom:1px solid var(--soft-line);grid-template-columns:118px minmax(0,1fr) 118px;align-items:center;gap:14px;min-height:76px;padding-bottom:11px;display:grid}.header-logo{background:#fff;align-items:center;min-height:60px;padding:5px;display:flex}.left-logo{justify-content:flex-start}.right-logo{justify-content:flex-end}.header-logo img{object-fit:contain;width:auto;max-width:108px;height:auto;max-height:52px;display:block}.logo-placeholder{width:108px;min-height:48px;color:var(--muted);text-align:center;border:1px dashed #98a2b3;justify-content:center;align-items:center;padding:7px;font-size:9px;font-weight:700;display:flex}.company{text-align:center;min-width:0}.company-kicker{color:var(--accent);letter-spacing:.14em;margin-bottom:4px;font-size:8px;font-weight:800;display:block}.company h1{color:#101828;text-transform:uppercase;margin:0 0 5px;font-size:18px;line-height:1.15}.company p{color:#475467;max-width:410px;margin:2px auto;font-size:9.5px;line-height:1.35}.company .gst-line{color:var(--accent-dark);font-weight:700}.document-title{background:linear-gradient(90deg, var(--accent-pale), #fff);border:1px solid #d8c9a6;border-radius:6px;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin:13px 0 15px;padding:10px 13px;display:grid}.document-title>div small{color:var(--accent);letter-spacing:.13em;margin-bottom:2px;font-size:7.5px;font-weight:800;display:block}.document-title>div strong{color:#101828;letter-spacing:.03em;font-size:16px;display:block}.document-title>span{color:var(--accent-dark);justify-self:center;font-size:13px;font-weight:800}.status-pill{color:var(--accent-dark);text-transform:uppercase;background:#fff;border:1px solid #d8c9a6;border-radius:999px;justify-self:end;padding:5px 9px;font-size:8px;font-weight:800}.status-cancelled{color:#b42318;background:#fff1f3;border-color:#fda29b}.meta{border:1px solid var(--soft-line);background:#fcfcfd;border-radius:6px;grid-template-columns:1.1fr .9fr;gap:22px;margin:0 0 14px;padding:12px 13px;display:grid}.meta p{color:#344054;margin:3px 0;font-size:10.5px;line-height:1.4}.meta .right{text-align:right}.letter-copy{margin-bottom:13px}.letter-copy p{color:#344054;margin:7px 0;font-size:11px;line-height:1.55}.letter-copy .subject{border-left:3px solid var(--accent);background:var(--accent-pale);padding:8px 10px}.unit{grid-template-columns:repeat(4,1fr);gap:7px;margin:13px 0;display:grid}.unit>div{border:1px solid var(--soft-line);background:#fff;border-radius:5px;min-height:54px;padding:9px 10px}.unit span,.unit strong{display:block}.unit span{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin-bottom:5px;font-size:7.5px;font-weight:700}.unit strong{color:#101828;font-size:10.5px;line-height:1.25}.amount-heading{color:#fff;background:#1f2937;border-radius:6px 6px 0 0;justify-content:space-between;align-items:center;gap:20px;margin-top:14px;padding:10px 12px;display:flex}.amount-heading small,.amount-heading strong{display:block}.amount-heading small{color:#d0d5dd;letter-spacing:.09em;margin-bottom:2px;font-size:7.5px;font-weight:800}.amount-heading strong{font-size:12px}.amount-heading-total{text-align:right}.amount-heading-total strong{color:#fff4d6;font-size:16px}.amount-table{border-collapse:collapse;width:100%;margin:0 0 14px;font-size:10.5px}.amount-table th,.amount-table td{border:1px solid var(--soft-line);padding:8px 10px}.amount-table th{color:#475467;letter-spacing:.05em;text-align:left;text-transform:uppercase;background:#f2f4f7;font-size:8px}.amount-table th:last-child,.amount-table td:last-child{text-align:right;font-variant-numeric:tabular-nums;width:30%}.amount-table tbody tr:nth-child(2n):not(.total) td{background:#fcfcfd}.amount-table tr.total td{border-color:var(--accent-dark);background:var(--accent-dark);color:#fff;font-size:11.5px;font-weight:800}.box{background:var(--accent-pale);border:1px solid #d8c9a6;border-radius:6px;margin-top:11px;padding:10px 12px}.box strong{color:var(--accent-dark);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.box p{white-space:pre-line;color:#344054;margin:5px 0 0;font-size:10px;line-height:1.45}.closing-grid{grid-template-columns:1fr 250px;align-items:end;gap:24px;margin-top:18px;display:grid}.signature{text-align:center;margin:0;font-size:10px}.signature p{margin:0;font-weight:700}.signature div{border-bottom:1px solid #98a2b3;height:42px;margin-bottom:5px}.signature strong{color:#344054}.qr-area{color:#475467;align-items:center;gap:10px;font-size:8.5px;display:flex}.qr-area svg{border:1px solid var(--soft-line);background:#fff;padding:3px}.qr-area div{flex-direction:column;gap:2px;display:flex}.qr-area strong{color:#101828;font-size:9px}.qr-area small{color:#98a2b3;font-size:7.5px}.watermark{z-index:0;color:#8b6b2f09;letter-spacing:.09em;white-space:nowrap;pointer-events:none;font-size:62px;font-weight:900;position:absolute;top:51%;left:50%;transform:translate(-50%,-50%)rotate(-30deg)}.document>:not(.watermark){z-index:1;position:relative}footer{border-top:1px solid var(--soft-line);color:#98a2b3;justify-content:space-between;margin-top:14px;padding-top:7px;font-size:7.5px;display:flex}.state{text-align:center;background:#fff;border-radius:10px;max-width:720px;margin:50px auto;padding:20px}.state.error{color:#b42318}@media print{@page{size:A4;margin:0}body{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff}.no-print{display:none!important}.print-screen{padding:0}.document{width:210mm;min-height:297mm;box-shadow:none;margin:0;padding:12mm 14mm 10mm}}.amount-table .receipt-deduction td:last-child{color:#067647;font-weight:800}.company .gst-line{margin-top:2px}.stage-payment-table th{color:#fff;text-align:left;text-transform:uppercase;background:#102746;font-size:7px}@media print{.stage-payment-section{page-break-inside:avoid}}.company,.company .company-kicker,.company h1,.company>p{text-align:center}.stage-payment-section{page-break-inside:avoid;margin:14px 0 16px}.stage-payment-heading div{gap:2px;display:grid}.stage-payment-heading>span{color:#64748b;font-size:8px;font-weight:700}.stage-payment-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:7.2px}.stage-payment-table th,.stage-payment-table td{vertical-align:middle;border:1px solid #d9e0e8;padding:5px 3px}.stage-payment-table th{color:#fff;text-align:left;text-transform:uppercase;background:#102746;font-size:6.4px;line-height:1.2}.stage-payment-table .numeric{text-align:right;white-space:nowrap}.stage-status{color:#475569;white-space:nowrap;background:#f1f5f9;border-radius:999px;padding:3px 4px;font-size:6px;font-weight:800;display:inline-block}.stage-status-paid{color:#166534;background:#dcfce7}.stage-status-partly-paid{color:#92400e;background:#fef3c7}.stage-status-current-demand{color:#7c5b00;background:#fff1c2}.stage-status-due{color:#991b1b;background:#fee2e2}@media print{.company-tax-line{white-space:nowrap}.stage-payment-section{page-break-inside:avoid}}.company,.company .company-kicker,.company h1,.company>p{text-align:center}.company-tax-line{white-space:nowrap;justify-content:center;align-items:center;gap:7px;display:flex;text-align:center!important;margin:3px auto 0!important}.company-tax-line strong{font-weight:800}.tax-separator{color:#9a7621;font-weight:800}.stage-payment-section{page-break-inside:avoid;width:100%;max-width:100%;margin:12px 0 14px;overflow:hidden}.stage-payment-heading{justify-content:space-between;align-items:end;gap:8px;margin-bottom:6px;display:flex}.stage-payment-heading div{gap:2px;min-width:0;display:grid}.stage-payment-heading small{color:#9a7621;letter-spacing:.07em;font-size:7.5px;font-weight:800}.stage-payment-heading strong{color:#102746;font-size:11px}.stage-payment-heading>span{color:#64748b;text-align:right;white-space:normal;max-width:38%;font-size:7px;font-weight:700}.stage-payment-table{border-collapse:collapse;font-size:6.8px;table-layout:fixed!important;width:100%!important;max-width:100%!important}.stage-payment-table th,.stage-payment-table td{box-sizing:border-box;vertical-align:middle;overflow-wrap:anywhere;word-break:normal;border:1px solid #d9e0e8;min-width:0;padding:4px 3px}.stage-payment-table th{color:#fff;text-align:left;text-transform:uppercase;white-space:normal;background:#102746;font-size:5.9px;line-height:1.15}.stage-payment-table th:nth-child(6),.stage-payment-table th:nth-child(7){width:14%}.stage-payment-table td strong,.stage-payment-table td small{display:block}.stage-payment-table td small{color:#9a7621;margin-top:2px;font-size:6px;font-weight:800}.stage-payment-table .paid-cell{color:#15803d;font-weight:800}.stage-payment-table .current-demand-row{background:#fff9df;box-shadow:inset 3px 0 #c99a19}.stage-payment-note{color:#7c8797;margin:4px 0 0;font-size:6.5px;line-height:1.3}.payment-reminder-line{color:#334155;text-align:justify;background:#fffaf0;border-left:3px solid #9a7621;margin:8px 0 12px;padding:7px 10px;font-size:8px;font-weight:700;line-height:1.45}@media print{.company-tax-line{white-space:nowrap}.stage-payment-section{page-break-inside:avoid;width:100%!important;overflow:hidden!important}.stage-payment-table{table-layout:fixed!important;width:100%!important}.payment-reminder-line{page-break-inside:avoid}}.stage-payment-table{font-size:6.2px;table-layout:fixed!important;width:100%!important;max-width:100%!important}.stage-payment-table th,.stage-payment-table td{box-sizing:border-box;overflow-wrap:anywhere;vertical-align:middle;min-width:0;padding:4px 2px}.stage-payment-table th{white-space:normal;font-size:5.4px;line-height:1.15}.stage-payment-table th:first-child{width:17%}.stage-payment-table th:nth-child(2){width:10%}.stage-payment-table th:nth-child(3){width:6%}.stage-payment-table th:nth-child(4){width:11%}.stage-payment-table th:nth-child(5){width:10%}.stage-payment-table th:nth-child(6){width:9%}.stage-payment-table th:nth-child(7){width:12%}.stage-payment-table th:nth-child(8){width:13%}.stage-payment-table th:nth-child(9){width:12%}.stage-payment-table .numeric{text-align:right;white-space:nowrap;font-size:6px}@media print{.stage-payment-table{table-layout:fixed!important;width:100%!important}}.receipt-page{--navy:#0b2344;--navy-2:#12365f;--gold:#d8ad26;--ink:#0f2745;--muted:#64748b;--line:#d9e2ec;--bg:#f3f6f9;--soft:#f8fafc;max-width:1500px;color:var(--ink);margin:0 auto;padding:24px 28px 44px}.receipt-page-state{min-height:50vh;color:var(--ink);place-items:center;font-weight:800;display:grid}.receipt-page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px;display:flex}.receipt-eyebrow{color:#a4770e;letter-spacing:.12em;margin-bottom:6px;font-size:11px;font-weight:900;display:block}.receipt-page-header h1{color:var(--ink);margin:0;font-size:34px;line-height:1.05}.receipt-page-header p{color:var(--muted);margin:7px 0 0;font-size:14px}.workspace-chip{color:#1d4ed8;background:#eef6ff;border-radius:999px;margin-top:10px;padding:7px 10px;font-size:11px;display:inline-flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:9px;padding:11px 15px;font-weight:800}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--navy);color:#fff}.btn-secondary{color:var(--ink);background:#fff;border-color:#cbd5e1}.btn-gold{background:var(--gold);color:var(--navy);border-color:var(--gold)}.alert{border-radius:9px;margin:12px 0;padding:11px 13px;font-size:12px;font-weight:700}.alert-success{color:#166534;background:#ecfdf5;border:1px solid #bbf7d0}.alert-error{color:#b91c1c;background:#fff1f2;border:1px solid #fecdd3}.receipt-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.receipt-kpis article,.collection-summary article{border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px 16px}.receipt-kpis span,.collection-summary span{color:var(--muted);margin-bottom:5px;font-size:11px;display:block}.receipt-kpis strong,.collection-summary strong{color:var(--ink);font-size:20px;display:block}.receipt-kpis small{color:#94a3b8;margin-top:4px;font-size:10px;display:block}.receipt-kpis article.success,.collection-summary article.success{background:#effcf5;border-color:#bbf7d0}.receipt-kpis article.warning,.collection-summary article.warning{background:#fffbea;border-color:#fde68a}.receipt-section{background:#fff;border:1px solid #e4e9f0;border-radius:14px;margin-top:16px;padding:0;overflow:hidden;box-shadow:0 8px 24px #0f27450a}.section-heading{background:#fbfcfe;border-bottom:1px solid #e5eaf0;align-items:center;gap:10px;padding:14px 18px;display:flex}.section-heading>span{background:var(--gold);width:28px;height:28px;color:var(--navy);border-radius:8px;place-items:center;font-size:12px;font-weight:900;display:grid}.section-heading h2{color:var(--ink);margin:0;font-size:17px}.section-heading p{color:var(--muted);margin:3px 0 0;font-size:11px}.receipt-card{padding:18px}.compact-card{padding-bottom:15px}.form-grid{gap:12px;display:grid}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.field{gap:5px;display:grid}.field-span-2{grid-column:span 2}.field span{color:#334155;font-size:11px;font-weight:800}.field input,.field select,.field textarea{width:100%;min-height:39px;color:var(--ink);font:inherit;background:#fff;border:1px solid #cdd8e5;border-radius:8px;padding:8px 10px;font-size:13px}.field textarea{resize:vertical;min-height:74px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#c89e1c;outline:none;box-shadow:0 0 0 2px #d8ad2624}.premium-summary,.booking-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.booking-summary article{background:#f8fbff;border:1px solid #d8e3ef;border-radius:9px;padding:11px 12px}.booking-summary span{color:var(--muted);text-transform:uppercase;margin-bottom:4px;font-size:9px;display:block}.booking-summary strong{color:#16345d;font-size:13px;display:block}.booking-summary small{color:#64748b;margin-top:3px;font-size:10px;display:block}.empty-inline{color:#64748b;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:9px;margin-top:14px;padding:13px;font-size:11px}.receipt-two-column{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:16px;display:grid}.gst-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.gst-summary-grid article{background:#f8fafc;border:1px solid #dce5ef;border-radius:9px;padding:12px}.gst-summary-grid span{color:var(--muted);margin-bottom:4px;font-size:10px;display:block}.gst-summary-grid strong{color:var(--ink);font-size:14px}.adjustment-field{margin-top:12px}.gst-rule-note{border-left:4px solid var(--gold);color:#475569;background:#fffbea;border-radius:7px;margin-top:12px;padding:10px 12px;font-size:10px;line-height:1.5}.collection-summary{gap:10px;padding:18px 18px 0;display:grid}.collection-summary-5{grid-template-columns:repeat(5,minmax(0,1fr))}.collection-highlight{background:#fff8dc!important;border-color:#e3bd45!important}.collection-footnote{color:#64748b;background:#f8fafc;border-radius:8px;margin:10px 18px 0;padding:9px 11px;font-size:10px}.receipt-actions{justify-content:flex-end;gap:10px;padding:16px 18px 18px;display:flex}.receipt-table-wrap{padding:0;overflow:auto}.receipt-table{border-collapse:collapse;width:100%;font-size:11px}.receipt-table th{background:var(--navy);color:#fff;text-align:left;white-space:nowrap;padding:10px 11px;font-size:10px}.receipt-table td{vertical-align:top;border-bottom:1px solid #e6ebf1;padding:10px 11px}.receipt-table tr:hover td{background:#fbfcfe}.receipt-table td small{color:#64748b;margin-top:3px;display:block}.number{text-align:right!important}.status-pill{color:#475569;background:#f1f5f9;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:800;display:inline-flex}.status-issued{color:#166534;background:#dcfce7}.status-draft{color:#92400e;background:#fff7d6}.table-actions{gap:6px;display:flex}.table-actions button{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:5px 8px;font-weight:700}.empty-row{text-align:center;color:#64748b;padding:26px!important}@media (width<=1150px){.receipt-kpis{grid-template-columns:repeat(2,1fr)}.receipt-two-column{grid-template-columns:1fr}.collection-summary-5{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.receipt-page{padding:18px 14px 36px}.receipt-page-header{flex-direction:column}.receipt-kpis,.form-grid-2,.form-grid-3,.premium-summary,.gst-summary-grid,.collection-summary-5{grid-template-columns:1fr}.field-span-2{grid-column:auto}.receipt-actions{justify-content:stretch}.receipt-actions .btn{flex:1}}:root{--receipt-navy:#0f2747;--receipt-navy-2:#183b67;--receipt-gold:#a9843b;--receipt-gold-soft:#f7f1e5;--receipt-border:#d0d5dd;--receipt-muted:#667085;--receipt-text:#1d2939}.receipt-print-screen{background:#eef1f5;min-height:100vh;padding:20px}.receipt-toolbar{justify-content:flex-end;gap:8px;width:210mm;max-width:100%;margin:0 auto 10px;display:flex}.receipt-toolbar button{background:var(--receipt-navy);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:9px 14px;font-weight:700}.receipt-document{box-sizing:border-box;width:210mm;min-height:297mm;color:var(--receipt-text);background:#fff;margin:0 auto;padding:13mm 14mm 14mm;font-family:Arial,Helvetica,sans-serif;position:relative;overflow:hidden;box-shadow:0 10px 32px #0f27471f}.receipt-document>:not(.receipt-watermark){z-index:1;position:relative}.receipt-watermark{z-index:0;color:#0f274709;letter-spacing:9px;text-align:center;white-space:nowrap;pointer-events:none;width:170mm;font-size:49px;font-weight:900;position:absolute;top:54%;left:50%;transform:translate(-50%,-50%)rotate(-31deg)}.receipt-premium-header{border-bottom:2px solid var(--receipt-navy);grid-template-columns:92px minmax(0,1fr) 92px;align-items:center;gap:16px;padding-bottom:11px;display:grid}.receipt-logo-box{justify-content:flex-start;align-items:center;width:92px;height:54px;display:flex}.receipt-logo-right{justify-content:flex-end}.receipt-logo-box img{object-fit:contain;max-width:88px;max-height:52px;display:block}.receipt-company-block{text-align:center}.receipt-company-block small{color:var(--receipt-gold);letter-spacing:.16em;font-size:7px;font-weight:800}.receipt-company-block h1{color:var(--receipt-navy);text-transform:uppercase;margin:3px 0;font-size:18px}.receipt-company-block p{color:#475467;max-width:115mm;margin:2px auto;font-size:8px;line-height:1.35}.receipt-company-block div{color:#667085;flex-wrap:wrap;justify-content:center;gap:3px 12px;font-size:7px;display:flex}.receipt-title-band{background:linear-gradient(135deg, var(--receipt-navy), var(--receipt-navy-2));color:#fff;border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:14px;margin-top:12px;padding:10px 12px;display:grid}.receipt-title-band small{color:#d6bd8b;letter-spacing:.12em;font-size:7px;font-weight:800;display:block}.receipt-title-band h2{letter-spacing:.04em;margin:2px 0 0;font-size:17px}.receipt-title-meta{min-width:168px}.receipt-title-meta p{grid-template-columns:72px 1fr;gap:7px;margin:3px 0;font-size:8px;display:grid}.receipt-title-meta span{color:#cbd5e1}.receipt-bank-status{border-radius:999px;justify-content:center;align-items:center;min-width:105px;padding:6px 9px;font-size:7px;font-weight:800;display:inline-flex}.receipt-bank-status.verified{color:#067647;background:#dcfae6}.receipt-bank-status.pending{color:#93370d;background:#fef0c7}.receipt-bank-status.failed{color:#b42318;background:#fee4e2}.receipt-hero{grid-template-columns:1fr 240px;align-items:stretch;gap:16px;margin-top:12px;display:grid}.receipt-hero>div:first-child{background:linear-gradient(135deg,#fff,#fbf8f1);border:1px solid #e4e7ec;border-radius:10px;padding:15px 17px}.receipt-hero small{color:var(--receipt-gold);letter-spacing:.13em;font-size:7px;font-weight:800}.receipt-hero>div:first-child>strong{color:var(--receipt-navy);margin:4px 0 2px;font-size:28px;display:block}.receipt-hero p{color:#475467;margin:0;font-size:9px;font-weight:700}.receipt-qr-card{background:#fff;border:1px solid #d0d5dd;border-radius:10px;grid-template-columns:78px 1fr;align-items:center;gap:10px;padding:9px;display:grid}.receipt-qr-card svg{width:72px;height:72px;display:block}.receipt-qr-card strong,.receipt-qr-card span,.receipt-qr-card small{display:block}.receipt-qr-card strong{color:var(--receipt-navy);font-size:9px}.receipt-qr-card span{color:#475467;overflow-wrap:anywhere;margin-top:4px;font-size:7px}.receipt-qr-card small{color:#98a2b3;margin-top:5px;font-size:6.5px}.receipt-party-grid{grid-template-columns:1.05fr .95fr;gap:14px;margin-top:12px;display:grid}.receipt-customer-card,.receipt-unit-card,.receipt-payment-card,.receipt-remarks{background:#fff;border:1px solid #e4e7ec;border-radius:10px}.receipt-customer-card{padding:13px 14px}.receipt-customer-card>small{color:var(--receipt-gold);letter-spacing:.1em;font-size:7px;font-weight:800}.receipt-customer-card h3{color:var(--receipt-navy);margin:5px 0;font-size:14px}.receipt-customer-card>p{color:#475467;min-height:27px;margin:0 0 8px;font-size:8px;line-height:1.4}.receipt-customer-card>div,.receipt-unit-card>div,.receipt-payment-grid>div{border-top:1px solid #f0f1f3;grid-template-columns:105px 1fr;gap:8px;padding:6px 0;font-size:8px;display:grid}.receipt-customer-card span,.receipt-unit-card span,.receipt-payment-grid span{color:#667085}.receipt-unit-card{overflow:hidden}.receipt-unit-card>div{grid-template-columns:120px 1fr;padding:10px 12px}.receipt-payment-card{margin-top:12px;overflow:hidden}.receipt-section-label{background:#f8fafc;border-bottom:1px solid #e4e7ec;justify-content:space-between;align-items:center;padding:9px 12px;display:flex}.receipt-section-label small{color:var(--receipt-gold);letter-spacing:.1em;font-size:7px;font-weight:800}.receipt-section-label strong{color:var(--receipt-navy);font-size:10px}.receipt-payment-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.receipt-payment-grid>div{border-top:0;border-bottom:1px solid #f0f1f3;border-right:1px solid #f0f1f3;grid-template-columns:115px 1fr;padding:10px 12px}.receipt-payment-grid>div:nth-child(2n){border-right:0}.receipt-amount-statement{border:1px solid #d0d5dd;border-radius:10px;grid-template-columns:repeat(4,1fr);margin-top:12px;display:grid;overflow:hidden}.receipt-amount-statement>div{background:#fff;border-right:1px solid #d0d5dd;padding:11px 10px}.receipt-amount-statement>div:last-child{border-right:0}.receipt-amount-statement span,.receipt-amount-statement strong{display:block}.receipt-amount-statement span{color:#667085;text-transform:uppercase;font-size:7px;font-weight:700}.receipt-amount-statement strong{color:var(--receipt-navy);margin-top:5px;font-size:13px}.receipt-total-box{background:var(--receipt-navy)!important}.receipt-total-box span{color:#d0d5dd}.receipt-total-box strong{color:#fff}.receipt-remarks{margin-top:10px;padding:10px 12px;font-size:8px}.receipt-remarks strong{color:var(--receipt-navy)}.receipt-remarks p{color:#475467;margin:4px 0 0}.receipt-closing{grid-template-columns:1fr 235px;align-items:end;gap:22px;margin-top:13px;display:grid}.receipt-digital-note{border-left:3px solid var(--receipt-gold);background:var(--receipt-gold-soft);color:#475467;padding:10px 12px;font-size:7.5px;line-height:1.45}.receipt-signature{text-align:center}.receipt-signature p{color:var(--receipt-navy);margin:0;font-size:8px;font-weight:700}.receipt-signature div{height:34px}.receipt-signature strong{border-top:1px solid #344054;padding-top:5px;font-size:8px;display:block}.receipt-audit-strip{background:#f8fafc;border:1px solid #d0d5dd;border-radius:8px;grid-template-columns:1.25fr 1fr 1fr;margin-top:12px;display:grid;overflow:hidden}.receipt-audit-strip>div{border-right:1px solid #d0d5dd;min-width:0;padding:7px 9px}.receipt-audit-strip>div:last-child{border-right:0}.receipt-audit-strip span,.receipt-audit-strip strong{overflow-wrap:anywhere;display:block}.receipt-audit-strip span{color:#667085;text-transform:uppercase;font-size:6px;font-weight:800}.receipt-audit-strip strong{color:var(--receipt-navy);margin-top:3px;font-size:7px}.receipt-footer{border-top:1.5px solid var(--receipt-navy);color:var(--receipt-navy);justify-content:space-between;padding-top:5px;font-size:7px;font-weight:700;display:flex;position:absolute;bottom:6mm;left:14mm;right:14mm}.receipt-state{text-align:center;padding:40px}.receipt-state-error{color:#b42318}@page{size:A4 portrait;margin:0}@media print{html,body{background:#fff!important;width:210mm!important;height:297mm!important;margin:0!important;padding:0!important}body.receipt-print-mode aside,body.receipt-print-mode nav,body.receipt-print-mode .sidebar,body.receipt-print-mode .app-sidebar,body.receipt-print-mode .drawer,body.receipt-print-mode .MuiDrawer-root,body.receipt-print-mode .MuiAppBar-root,body.receipt-print-mode .topbar,body.receipt-print-mode .app-header,body.receipt-print-mode .no-print{display:none!important}body.receipt-print-mode #root,body.receipt-print-mode .app,body.receipt-print-mode .app-layout,body.receipt-print-mode .layout,body.receipt-print-mode .main-layout,body.receipt-print-mode .main-content,body.receipt-print-mode .page-content,body.receipt-print-mode main{width:210mm!important;min-width:210mm!important;max-width:210mm!important;margin:0!important;padding:0!important;position:static!important}.receipt-print-screen{background:#fff!important;width:210mm!important;min-height:297mm!important;margin:0!important;padding:0!important}.receipt-document{width:210mm!important;height:297mm!important;min-height:297mm!important;max-height:297mm!important;box-shadow:none!important;page-break-inside:avoid!important;break-inside:avoid-page!important;margin:0!important;overflow:hidden!important}.receipt-document,.receipt-title-band,.receipt-total-box,.receipt-watermark,.receipt-bank-status,.receipt-digital-note{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}@media screen and (width<=900px){.receipt-print-screen{padding:10px;overflow-x:auto}}.receipt-document{flex-direction:column;padding-bottom:9mm;display:flex}.receipt-footer{border-top:1.5px solid var(--receipt-navy);flex:none;min-height:16px;margin-top:auto;padding-top:6px;line-height:1.25;position:static;bottom:auto;left:auto;right:auto}.receipt-audit-strip{flex:none;margin-bottom:8px}.receipt-closing{flex:none}.receipt-footer span{white-space:nowrap;display:block}@media print{.receipt-document{flex-direction:column!important;padding-bottom:9mm!important;display:flex!important}.receipt-footer{page-break-inside:avoid!important;break-inside:avoid!important;margin-top:auto!important;position:static!important}.receipt-audit-strip,.receipt-closing,.receipt-amount-statement{page-break-inside:avoid!important;break-inside:avoid!important}}.bank-ledger-page{color:#1d2939;background:#f5f7fb;min-height:100vh;padding:26px}.bank-ledger-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.erp-card{background:#fff;border:1px solid #e4e7ec;border-radius:14px;margin-bottom:18px;padding:18px;box-shadow:0 4px 16px #1018280a}.bank-filters{grid-template-columns:260px minmax(260px,1fr);gap:12px;display:grid}.bank-filters select,.bank-filters input,.erp-form-grid select,.erp-form-grid input,.erp-form-grid textarea{box-sizing:border-box;width:100%;font:inherit;background:#fff;border:1px solid #d0d5dd;border-radius:9px;padding:11px 12px}.bank-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:15px;display:grid}.bank-kpi{background:#f8fafc;border:1px solid #eaecf0;border-radius:10px;gap:6px;padding:14px;display:grid}.bank-kpi small{color:#667085;text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.bank-kpi strong{color:#101828;font-size:20px}.erp-table-wrap{border:1px solid #e4e7ec;border-radius:12px;overflow:auto}.erp-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1450px}.erp-table thead th{z-index:3;color:#475467;letter-spacing:.05em;text-align:left;text-transform:uppercase;background:#f8fafc;border-bottom:1px solid #d0d5dd;padding:13px 12px;font-size:10px;font-weight:800;position:sticky;top:0}.erp-table tbody td{color:#344054;vertical-align:top;border-bottom:1px solid #eaecf0;padding:13px 12px;font-size:12px}.erp-table tbody tr:hover td{background:#fcfaf5}.erp-table tbody tr:last-child td{border-bottom:0}.bank-ledger-table td:nth-child(5),.bank-ledger-table td:nth-child(8){color:#101828;font-variant-numeric:tabular-nums;font-weight:800}.bank-ledger-table td:nth-child(8){color:#067647}.erp-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a94;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.erp-modal{background:#fff;border-radius:16px;width:min(780px,100%);max-height:90vh;padding:22px;overflow:auto;box-shadow:0 24px 60px #0f172a47}.erp-modal-head{justify-content:space-between;gap:16px;margin-bottom:18px;display:flex}.erp-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.erp-form-grid label{color:#344054;gap:7px;font-size:12px;font-weight:700;display:grid}.erp-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}@media (width<=800px){.bank-ledger-page{padding:14px}.bank-ledger-header{flex-direction:column}.bank-filters,.bank-kpis,.erp-form-grid{grid-template-columns:1fr}}.finance-dashboard-page{color:#1d2939;background:#f5f7fb;min-height:100vh;padding:26px}.finance-dashboard-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;display:flex}.finance-dashboard-header select{min-width:220px;font:inherit;background:#fff;border:1px solid #d0d5dd;border-radius:9px;padding:10px 12px}.finance-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.finance-metric{background:#fff;border:1px solid #e4e7ec;border-radius:14px;min-height:108px;padding:17px;position:relative;overflow:hidden;box-shadow:0 4px 16px #1018280a}.finance-metric:after{content:"";background:#b38a2e14;border-radius:50%;width:82px;height:82px;position:absolute;bottom:-28px;right:-22px}.finance-metric span{color:#667085;letter-spacing:.05em;text-transform:uppercase;margin-bottom:12px;font-size:11px;font-weight:800;display:block}.finance-metric strong{z-index:1;color:#101828;font-variant-numeric:tabular-nums;font-size:21px;line-height:1.2;position:relative}.finance-metric-dark{background:linear-gradient(135deg,#0f2747,#183b67);border-color:#0f2747}.finance-metric-dark span{color:#cbd5e1}.finance-metric-dark strong{color:#fff}.finance-metric-dark:after{background:#ffffff12}.finance-card{background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:18px;box-shadow:0 4px 16px #1018280a}.finance-table-wrap{border:1px solid #e4e7ec;border-radius:12px;overflow:auto}.finance-table{border-collapse:separate;border-spacing:0;width:100%;min-width:950px}.finance-table thead th{z-index:2;color:#475467;letter-spacing:.055em;text-align:left;text-transform:uppercase;background:#f8fafc;border-bottom:1px solid #d0d5dd;padding:13px 14px;font-size:10px;font-weight:800;position:sticky;top:0}.finance-table tbody td{color:#344054;font-variant-numeric:tabular-nums;border-bottom:1px solid #eaecf0;padding:15px 14px;font-size:12.5px}.finance-table tbody tr:hover td{background:#fcfaf5}.finance-table tbody td:first-child{color:#694f1e;font-weight:800}.finance-table tbody td:nth-child(n+3){text-align:right}.finance-table tbody td:nth-child(4){color:#067647;font-weight:800}.finance-table tbody td:nth-child(6){color:#b42318;font-weight:800}.finance-table tbody tr:last-child td{border-bottom:0}@media (width<=1150px){.finance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.finance-dashboard-page{padding:14px}.finance-dashboard-header{flex-direction:column}.finance-dashboard-header select{width:100%}.finance-metrics{grid-template-columns:1fr}}.finance-header-actions{align-items:center;gap:10px;display:flex}.finance-header-actions button{color:#fff;cursor:pointer;background:#0f2747;border:1px solid #0f2747;border-radius:9px;padding:10px 14px;font-weight:700}.finance-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.finance-table{min-width:1080px}@media (width<=1300px){.finance-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=700px){.finance-header-actions{flex-direction:column;width:100%}.finance-header-actions select,.finance-header-actions button{width:100%}.finance-metrics{grid-template-columns:1fr}}html,body{color:#102746;background:#eef2f7;margin:0;font-family:Arial,Helvetica,sans-serif}body.cost-sheet-print-mode{background:#eef2f7}.cost-print-screen{min-height:100vh;padding:22px}.cost-print-toolbar{justify-content:flex-end;gap:10px;width:190mm;margin:0 auto 12px;display:flex}.cost-print-toolbar button{color:#102746;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:7px;padding:9px 14px;font-weight:700}.cost-document{background:#fff;width:190mm;min-height:277mm;margin:0 auto;padding:10mm;position:relative;box-shadow:0 12px 34px #0f172a1f}.cost-watermark{z-index:0;color:#0f1f3a09;letter-spacing:.08em;white-space:nowrap;pointer-events:none;font-size:52px;font-weight:900;position:absolute;top:43%;left:50%;transform:translate(-50%,-50%)rotate(-28deg)}.cost-document>:not(.cost-watermark){z-index:1;position:relative}.cost-header{border-bottom:2px solid #c9a227;grid-template-columns:105px 1fr 105px;align-items:center;gap:15px;padding-bottom:11px;display:grid}.cost-header-logo{place-items:center;min-height:70px;display:grid}.cost-header-logo img{object-fit:contain;max-width:100%;max-height:66px;display:block}.logo-text{color:#102746;text-align:center;font-size:10px;font-weight:800}.cost-company{text-align:center}.cost-kicker{color:#c9a227;letter-spacing:.13em;font-size:8px;font-weight:800}.cost-company h1{color:#102746;margin:4px 0;font-size:19px;line-height:1.12}.cost-company p{color:#475569;margin:2px 0;font-size:8.5px;line-height:1.35}.cost-company .cost-gst{font-weight:700}.cost-title-row{background:#f8fafc;border:1px solid #dbe3ec;border-radius:7px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;margin:11px 0;padding:10px 12px;display:grid}.cost-title-row>div{gap:2px;display:grid}.cost-title-row>div small{color:#c9a227;letter-spacing:.12em;font-size:7.5px;font-weight:800}.cost-title-row>div strong{color:#102746;font-size:18px}.cost-title-row>span{color:#102746;font-size:11px;font-weight:800}.cost-status{color:#7c5d00;background:#fff3bf;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:800}.status-approved{color:#166534;background:#dcfce7}.status-cancelled{color:#991b1b;background:#fee2e2}.cost-meta-grid{border:1px solid #dbe3ec;border-radius:7px;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.cost-meta-grid>div{border-right:1px solid #dbe3ec;padding:8px 9px}.cost-meta-grid>div:last-child{border-right:0}.cost-meta-grid span,.cost-highlight-grid span,.cost-signatures span{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:7.5px;font-weight:700;display:block}.cost-meta-grid strong,.cost-highlight-grid strong{color:#102746;margin-top:3px;font-size:9.5px;display:block}.cost-info-grid{grid-template-columns:1fr 1fr;gap:9px;margin-top:10px;display:grid}.cost-info-panel{border:1px solid #dbe3ec;border-radius:7px;padding:10px}.cost-info-panel h2,.cost-section h2,.cost-terms h2{color:#102746;margin:0 0 8px;font-size:11px}.cost-info-panel dl{gap:4px;margin:0;display:grid}.cost-info-panel dl>div{grid-template-columns:115px 1fr;gap:7px;display:grid}.cost-info-panel dt{color:#64748b;font-size:8px}.cost-info-panel dd{color:#1e293b;margin:0;font-size:8.5px;font-weight:600}.cost-section{break-inside:avoid;page-break-inside:avoid;margin-top:10px}.cost-table{border-collapse:collapse;width:100%;font-size:8.7px}.cost-table th,.cost-table td{border:1px solid #dbe3ec;padding:6px 7px}.cost-table th{color:#fff;text-align:left;background:#102746;font-size:8px}.numeric{text-align:right!important}.discount-row td{color:#b91c1c}.grand-total td{color:#102746;background:#fff8df;font-size:10px;font-weight:800}.cost-highlight-grid{background:#fffbea;border:1px solid #c9a227;border-radius:7px;grid-template-columns:repeat(4,1fr);margin-top:10px;display:grid;overflow:hidden}.cost-highlight-grid>div{border-right:1px solid #eadb9d;padding:8px 9px}.cost-highlight-grid>div:last-child{border-right:0}.payment-plan-section{break-before:auto}.cost-table thead{display:table-header-group}.cost-table tr{break-inside:avoid;page-break-inside:avoid}.cost-terms{break-inside:avoid;page-break-inside:avoid;border:1px solid #dbe3ec;border-radius:7px;margin-top:10px;padding:9px 11px}.cost-terms ol{color:#475569;margin:0;padding-left:16px;font-size:7.8px;line-height:1.45}.cost-remarks{color:#475569;background:#fffbea;border-left:3px solid #c9a227;margin-top:9px;padding:7px 9px;font-size:8px}.cost-signatures{break-inside:avoid;page-break-inside:avoid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:28px;display:grid}.cost-signatures>div{text-align:center;border-top:1px solid #94a3b8;min-height:42px;padding-top:22px}.cost-signatures strong{color:#102746;margin-top:3px;font-size:8px;display:block}.cost-footer{color:#64748b;border-top:1px solid #dbe3ec;justify-content:space-between;margin-top:14px;padding-top:7px;font-size:7px;display:flex}.cost-print-state{padding:40px;font-family:Arial,Helvetica,sans-serif}.cost-print-state.error{color:#b91c1c}@media print{@page{size:A4 portrait;margin:10mm}html,body{background:#fff!important;width:auto!important;min-width:0!important;margin:0!important}body.cost-sheet-print-mode{background:#fff!important}.no-print,.cost-print-toolbar{display:none!important}.cost-print-screen{min-height:0!important;padding:0!important}.cost-document{width:auto!important;min-height:0!important;box-shadow:none!important;margin:0!important;padding:0!important}.cost-watermark{position:fixed}}:root{--sain-color-primary:#102746;--sain-color-primary-2:#193b66;--sain-color-secondary:#d4a72c;--sain-color-secondary-soft:#fff8df;--sain-color-success:#2f855a;--sain-color-success-soft:#edf9f1;--sain-color-warning:#c56a00;--sain-color-warning-soft:#fff4df;--sain-color-danger:#b42318;--sain-color-danger-soft:#fff1f0;--sain-color-info:#2563eb;--sain-color-info-soft:#edf4ff;--sain-color-text:#102746;--sain-color-text-muted:#64748b;--sain-color-text-soft:#94a3b8;--sain-color-border:#e2e8f0;--sain-color-surface:#fff;--sain-color-page:#f4f7fb;--sain-font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--sain-font-xs:11px;--sain-font-sm:12px;--sain-font-md:14px;--sain-font-lg:18px;--sain-font-xl:24px;--sain-font-2xl:32px;--sain-space-1:4px;--sain-space-2:8px;--sain-space-3:12px;--sain-space-4:16px;--sain-space-5:20px;--sain-space-6:24px;--sain-space-8:32px;--sain-radius-sm:8px;--sain-radius-md:12px;--sain-radius-lg:18px;--sain-radius-xl:22px;--sain-radius-pill:999px;--sain-shadow-1:0 4px 14px #1027460f;--sain-shadow-2:0 10px 28px #10274614;--sain-shadow-3:0 18px 44px #10274624;--sain-transition:.18s ease}*{box-sizing:border-box}body{font-family:var(--sain-font-family);color:var(--sain-color-text);background:var(--sain-color-page);margin:0}.sain-page{min-height:100vh;padding:var(--sain-space-6);background:var(--sain-color-page)}.sain-page-header{justify-content:space-between;gap:var(--sain-space-5);padding:var(--sain-space-6);border-radius:var(--sain-radius-lg);background:linear-gradient(135deg, var(--sain-color-primary), var(--sain-color-primary-2));color:#fff;box-shadow:var(--sain-shadow-2);align-items:flex-end;display:flex}.sain-page-header h1{font-size:var(--sain-font-2xl);margin:6px 0 0}.sain-eyebrow{color:var(--sain-color-secondary);font-size:var(--sain-font-xs);letter-spacing:.12em;text-transform:uppercase;margin:0;font-weight:800}.sain-muted{color:var(--sain-color-text-muted)}@media (width<=720px){.sain-page{padding:var(--sain-space-3)}.sain-page-header{flex-direction:column;align-items:flex-start}}.sain-button{border-radius:var(--sain-radius-sm);min-height:40px;font-family:inherit;font-size:var(--sain-font-md);cursor:pointer;transition:transform var(--sain-transition), box-shadow var(--sain-transition), background var(--sain-transition);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 15px;font-weight:800;display:inline-flex}.sain-button:hover:not(:disabled){transform:translateY(-1px)}.sain-button:disabled{opacity:.55;cursor:not-allowed}.sain-button--primary{background:var(--sain-color-secondary);color:var(--sain-color-primary)}.sain-button--secondary{background:var(--sain-color-primary);color:#fff}.sain-button--outline{border-color:var(--sain-color-border);color:var(--sain-color-text);background:#fff}.sain-button--success{background:var(--sain-color-success);color:#fff}.sain-button--danger{background:var(--sain-color-danger);color:#fff}.sain-button--ghost{color:var(--sain-color-text);background:0 0}.sain-card{padding:var(--sain-space-5);border:1px solid var(--sain-color-border);border-radius:var(--sain-radius-lg);background:var(--sain-color-surface);box-shadow:var(--sain-shadow-1)}.sain-card--interactive{transition:transform var(--sain-transition), box-shadow var(--sain-transition)}.sain-card--interactive:hover{box-shadow:var(--sain-shadow-2);transform:translateY(-2px)}.sain-card__header{justify-content:space-between;gap:var(--sain-space-3);margin-bottom:var(--sain-space-4);align-items:center;display:flex}.sain-card__title{font-size:var(--sain-font-lg);margin:0}.sain-badge{border-radius:var(--sain-radius-pill);width:max-content;font-size:var(--sain-font-xs);align-items:center;padding:5px 9px;font-weight:800;display:inline-flex}.sain-badge--success{background:var(--sain-color-success-soft);color:var(--sain-color-success)}.sain-badge--warning{background:var(--sain-color-warning-soft);color:var(--sain-color-warning)}.sain-badge--danger{background:var(--sain-color-danger-soft);color:var(--sain-color-danger)}.sain-badge--info{background:var(--sain-color-info-soft);color:var(--sain-color-info)}.sain-badge--neutral{color:var(--sain-color-text-muted);background:#eef2f7}.sain-alert{gap:var(--sain-space-3);padding:var(--sain-space-4);border-radius:var(--sain-radius-md);border:1px solid var(--sain-color-border);align-items:flex-start;display:flex}.sain-alert--success{background:var(--sain-color-success-soft);color:var(--sain-color-success)}.sain-alert--warning{background:var(--sain-color-warning-soft);color:var(--sain-color-warning)}.sain-alert--danger{background:var(--sain-color-danger-soft);color:var(--sain-color-danger)}.sain-alert--info{background:var(--sain-color-info-soft);color:var(--sain-color-info)}.sain-empty{place-items:center;gap:var(--sain-space-3);min-height:220px;padding:var(--sain-space-6);text-align:center;color:var(--sain-color-text-muted);display:grid}.sain-empty__icon{font-size:40px}.sain-loader{color:var(--sain-color-text-muted);align-items:center;gap:10px;display:inline-flex}.sain-loader__spinner{border:3px solid #dbe3ed;border-top-color:var(--sain-color-secondary);border-radius:50%;width:20px;height:20px;animation:.75s linear infinite sain-spin}@keyframes sain-spin{to{transform:rotate(360deg)}}.sain-modal-backdrop{z-index:9999;padding:var(--sain-space-4);background:#0f172a8c;place-items:center;display:grid;position:fixed;inset:0}.sain-modal{border-radius:var(--sain-radius-lg);width:min(560px,100%);box-shadow:var(--sain-shadow-3);background:#fff;overflow:hidden}.sain-modal__header,.sain-modal__footer{justify-content:space-between;gap:var(--sain-space-3);padding:var(--sain-space-4) var(--sain-space-5);align-items:center;display:flex}.sain-modal__header{border-bottom:1px solid var(--sain-color-border)}.sain-modal__body{padding:var(--sain-space-5)}.sain-modal__footer{border-top:1px solid var(--sain-color-border);background:#f8fafc;justify-content:flex-end}
