:root{--bg:#f4f6f9;--surface:#fff;--surface-muted:#f8fafc;--border:#e2e8f0;--text:#0f172a;--text-muted:#64748b;--primary:#1d4ed8;--primary-soft:#dbeafe;--accent:#0f766e;--accent-soft:#ccfbf1;--warning:#b45309;--warning-soft:#fef3c7;--danger:#b91c1c;--shadow:0 10px 30px #0f172a14;--radius:14px}*{box-sizing:border-box}body{background:linear-gradient(180deg, #eef2ff 0%, var(--bg) 180px);color:var(--text);min-height:100vh;margin:0;font-family:DM Sans,system-ui,sans-serif}#app{max-width:none;margin:0;padding:0}.app-content{max-width:1440px;margin:0 auto;padding:16px 24px 24px}.app-content-wide{max-width:100%;padding:16px 20px 24px}.brand-bar{background:var(--surface);border-bottom:1px solid var(--border);border-top:4px solid var(--dash-accent,var(--primary));box-shadow:0 4px 18px #0f172a0d}.brand-title-row{align-items:center;gap:12px;min-width:0;display:flex}.dashboard-icon-badge{width:44px;height:44px;color:var(--dash-accent,var(--primary));background:var(--dash-accent-soft,var(--primary-soft));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--dash-accent,var(--primary)) 18%, transparent);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.dashboard-icon-svg{width:24px;height:24px}.dashboard-icon-badge--pulse{animation:.55s cubic-bezier(.2,.9,.2,1) dashboard-icon-pop}@keyframes dashboard-icon-pop{0%{opacity:.35;transform:scale(.72)rotate(-8deg)}60%{opacity:1;transform:scale(1.08)rotate(2deg)}to{opacity:1;transform:scale(1)rotate(0)}}.brand-heading h1{letter-spacing:-.03em;margin:0 0 2px;font-size:1.35rem;line-height:1.2}.dashboard-content>.panel:first-child,.dashboard-content>section.panel:first-child{border-top:3px solid var(--dash-accent,var(--primary))}.brand-bar-inner{align-items:center;gap:18px;max-width:1440px;margin:0 auto;padding:10px 24px;display:flex}.brand-logo{object-fit:contain;flex-shrink:0;width:auto;max-width:200px;height:48px}.brand-heading{flex:1;min-width:0}.brand-heading p{color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.3}.brand-heading .dashboard-selector,.brand-heading .dashboard-home-link{margin-top:8px}.dashboard-home-link{white-space:nowrap}.dashboard-home{padding:8px 0 24px}.dashboard-home-intro{margin-bottom:18px}.dashboard-home-intro h1{margin:0 0 6px;font-size:1.5rem}.dashboard-home-intro p{color:var(--text-muted);margin:0}.dashboard-home-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.dashboard-home-card{border:1px solid var(--border);background:linear-gradient(180deg, #fff 0%, var(--dash-accent-soft,#f8fafc) 100%);text-align:left;cursor:pointer;border-radius:16px;flex-direction:column;align-items:stretch;gap:14px;width:100%;padding:18px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;box-shadow:0 8px 24px #0f172a0d}.dashboard-home-card:hover:not(:disabled){border-color:var(--dash-accent,#1d4ed8);transform:translateY(-2px);box-shadow:0 14px 30px #0f172a1a}.dashboard-home-card.active{border-color:var(--dash-accent,#1d4ed8)}.dashboard-home-card:disabled{opacity:.75;cursor:wait}.dashboard-home-card.error{border-color:#fca5a5}.dashboard-home-card-head{align-items:flex-start;gap:12px;display:flex}.dashboard-home-card-icon{background:var(--dash-accent-soft,#eff6ff);width:42px;height:42px;color:var(--dash-accent,#1d4ed8);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.dashboard-home-card-head h2{color:var(--text);margin:0 0 4px;font-size:1.05rem}.dashboard-home-card-head p{color:var(--text-muted);margin:0;font-size:.82rem;line-height:1.35}.dashboard-home-card-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.dashboard-home-metric{background:#ffffffd1;border:1px solid #94a3b82e;border-radius:12px;padding:10px 12px}.dashboard-home-metric-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:4px;font-size:.72rem;font-weight:700}.dashboard-home-metric-value{color:var(--text);font-size:1rem;font-weight:700;line-height:1.2}.dashboard-home-metric-usd .dashboard-home-metric-value{color:#1d4ed8}.dashboard-home-metric-overdue .dashboard-home-metric-value{color:#b91c1c}.dashboard-home-card.deferred .dashboard-home-card-body{align-items:center;min-height:72px;display:flex}.dashboard-home-card.deferred .dashboard-home-card-status{font-style:italic}.dashboard-home-card-foot{min-height:18px;color:var(--text-muted);font-size:.8rem}.dashboard-home-card-status{color:var(--text-muted);grid-column:1/-1;font-size:.9rem}.dashboard-home-card-status.error{color:#b91c1c}.brand-actions{text-align:right;flex-shrink:0}.brand-updated{color:var(--text-muted);margin-bottom:6px;font-size:.82rem}.brand-actions .header-actions{margin-top:0}.brand-actions .status{margin-top:6px}.login-page-wrap{min-height:calc(100vh - 78px)}.header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.header h1{letter-spacing:-.03em;margin:0 0 6px;font-size:1.9rem}.header p{color:var(--text-muted);margin:0}.dashboard-selector{align-items:center;gap:10px;margin-top:14px;display:flex}.dashboard-selector label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;font-weight:600}.dashboard-selector select{border:1px solid var(--border);min-width:240px;font:inherit;background:#fff;border-radius:10px;padding:10px 12px}.header-meta{text-align:right;color:var(--text-muted);font-size:.9rem}.header-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.login-page{justify-content:center;align-items:center;min-height:calc(100vh - 126px);display:flex}.login-card{width:min(460px,100%);padding:28px}.login-card h1{margin:0 0 8px;font-size:1.7rem}.login-card p{color:var(--text-muted);margin:0 0 20px}.login-form{gap:14px;display:grid}.login-submit{text-align:center;box-sizing:border-box;text-decoration:none;display:inline-block}.provider-description{color:var(--text-muted);margin:6px 0 0;font-size:.82rem}.login-hint{color:var(--text-muted);margin:0;font-size:.82rem}.login-hint code{font-size:.8rem}.header-actions button:disabled{opacity:.7;cursor:wait}.status{margin-top:8px;font-size:.82rem;font-weight:600}.status.success{color:var(--accent)}.status.error{color:var(--danger)}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:20px;display:grid}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.kpi-card .label{color:var(--text-muted);margin-bottom:8px;font-size:.82rem}.kpi-card .value{letter-spacing:-.02em;font-size:1.35rem;font-weight:700}.kpi-card.usd .value{color:var(--primary)}.kpi-card.inr .value{color:var(--accent)}.kpi-card.overdue .value{color:var(--danger)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.filters{border-bottom:1px solid var(--border);background:var(--surface-muted);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:18px;display:grid}.field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.78rem;font-weight:600;display:block}.field-year-multiselect,.year-multiselect{position:relative}.year-multiselect-trigger{border:1px solid var(--border);width:100%;font:inherit;text-align:left;color:var(--text);background:#fff;border-radius:10px;padding:10px 12px;font-weight:500}.year-multiselect-panel{z-index:20;border:1px solid var(--border);max-height:240px;box-shadow:var(--shadow);background:#fff;border-radius:10px;padding:8px 0;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.year-multiselect-actions{border-bottom:1px solid var(--border);gap:12px;margin-bottom:4px;padding:4px 12px 8px;display:flex}.link-btn{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:.82rem;font-weight:600}.year-multiselect-option{cursor:pointer;align-items:center;gap:8px;padding:6px 12px;font-size:.92rem;display:flex}.year-multiselect-option:hover{background:var(--surface-muted)}.year-multiselect-option input{width:auto;margin:0}.field input,.field select{border:1px solid var(--border);width:100%;font:inherit;background:#fff;border-radius:10px;padding:10px 12px}.search-apply-row{align-items:center;gap:8px;display:flex}.search-apply-row input{flex:1;min-width:0}.field-search-apply{min-width:260px}.filters.filters-toolbar{flex-direction:column;gap:12px;display:flex}.filters-collapse-bar{flex-wrap:wrap;align-items:flex-end;gap:10px 14px;display:flex}.filters-primary-fields{flex-wrap:wrap;align-items:flex-end;gap:10px 12px;display:flex}.filters-primary-fields .field{min-width:150px;margin:0}.filters-primary-fields .field label{margin-bottom:4px}.filters-collapse-bar .pdf-options-actions{align-self:flex-end;margin-left:auto}.filters-collapse-summary{flex:220px;font-size:.85rem}.filters-collapse-hint{color:var(--text-muted);font-size:.85rem}.filters-panel-body{flex-direction:column;gap:12px;display:flex}.details-table-wrap-tall{max-height:min(78vh,820px)}.filters-toolbar .filters-fields{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.filters-toolbar .filters-fields .field{flex:none;min-width:118px}.filters-toolbar .filters-fields .field-search{min-width:150px}.filters-single-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex;overflow-x:visible}.filters-single-row .filters-fields{flex-wrap:wrap;flex:1;align-items:flex-end;gap:10px;min-width:0;display:flex}.filters-single-row .field{flex:none;min-width:118px}.filters-single-row .field-search{min-width:150px}.filters-single-row .field-filter-toggles{flex:100%;min-width:auto}.filters-single-row .field-filter-toggles .filter-toggles{flex-flow:column;align-items:flex-start;gap:8px;padding-top:0}.filters-single-row .filter-toggle select{width:auto;min-width:130px;padding:6px 8px}.filters-single-row .filter-actions-end{flex-shrink:0;justify-content:flex-end;align-items:flex-end;width:100%;margin-left:0;padding-top:4px}.filter-actions{align-items:end;gap:8px;display:flex}.pdf-options-row{border-top:1px solid var(--border);flex-wrap:nowrap;align-items:center;gap:20px;width:100%;min-height:40px;padding-top:8px;display:flex;overflow-x:auto}.pdf-options-compact{flex-wrap:wrap;align-items:flex-end;gap:12px 16px;overflow:visible}.pdf-options-compact .field{min-width:160px;margin:0}.pdf-options-compact .field-pdf-summary-multiselect{z-index:5;min-width:220px;position:relative}.pdf-options-compact .pdf-summary-multiselect{min-width:220px}.pdf-options-compact .pdf-summary-multiselect .year-multiselect-panel{min-width:240px;right:auto}.pdf-options-compact .pdf-summary-multiselect.is-disabled{opacity:.65;pointer-events:none}.pdf-options-row .filter-toggle,.pdf-options-row .pdf-select-label{white-space:nowrap;color:var(--text);flex-shrink:0;font-weight:700}.pdf-options-row .pdf-select-label{align-items:center;gap:8px;font-size:.9rem;display:flex}.pdf-options-row select,.pdf-options-compact .field select{width:auto;min-width:160px;padding:7px 9px}.pdf-options-actions{white-space:nowrap;flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.pdf-summary-includes-row{flex-wrap:wrap;align-items:center;gap:14px 18px;width:100%;padding:8px 0 4px;display:flex}.summary-layout .pdf-summary-includes-row{border-bottom:1px solid var(--border);margin-bottom:12px;padding:4px 0 10px}.pdf-summary-includes-label{color:var(--text);flex-shrink:0;font-size:.9rem;font-weight:700}.pdf-summary-toggle{font-size:.85rem;font-weight:600}.field-filter-toggles .filter-toggles{flex-direction:column;gap:8px;padding-top:2px;display:flex}.filter-toggle{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:.9rem;display:flex}.filter-toggle input{width:auto;margin:0}button{font:inherit;cursor:pointer;border:none;border-radius:10px;padding:10px 14px;font-weight:600}button.primary{background:var(--primary);color:#fff}button.secondary{border:1px solid var(--border);color:var(--text);background:#fff}.back-to-summary-btn{color:#fff;font:inherit;cursor:pointer;background:#ea580c;border:1px solid #c2410c;border-radius:10px;padding:10px 16px;font-weight:700;box-shadow:0 2px 8px #ea580c59}.back-to-summary-btn:hover{background:#c2410c;border-color:#9a3412}.tabs{border-bottom:1px solid var(--border);gap:8px;padding:16px 18px 0;display:flex}.tab{color:var(--text-muted);background:0 0;border-bottom:3px solid #0000;border-radius:0;padding:10px 14px 12px}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.summary-layout{grid-template-columns:1.1fr .9fr;gap:18px;padding:18px;display:grid}@media (width<=1100px){.summary-layout{grid-template-columns:1fr}}.contracts-summary-table th.col-overdue,.contracts-summary-table td.col-overdue{white-space:nowrap;width:4.5rem;max-width:5rem}.contracts-summary-table th.col-req-hon,.contracts-summary-table td.col-req-hon{white-space:nowrap;width:5.5rem;max-width:6.5rem}.contracts-summary-table th.col-contribution,.contracts-summary-table td.col-contribution{white-space:nowrap;width:4.5rem;max-width:5rem}.subtabs{flex-wrap:wrap;gap:8px;padding:0 18px 16px;display:flex}.summary-note{color:var(--text-muted);margin:0 18px 12px;font-size:.875rem}.subtab{background:var(--surface-muted);color:var(--text-muted);border:1px solid var(--border)}.subtab.active{background:var(--primary-soft);color:var(--primary);border-color:#bfdbfe}.table-wrap{border:1px solid var(--border);border-radius:12px;max-height:420px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}thead th{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;background:#f1f5f9;padding:10px 12px;position:sticky;top:0}thead th.group-header{text-align:center;border-bottom:0}thead tr+tr th{top:41px}thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}thead th.sortable:hover{background:#e2e8f0}thead th.sorted{color:var(--primary)}tbody td{vertical-align:top;border-bottom:1px solid #f1f5f9;padding:10px 12px}tbody tr{cursor:pointer}tbody tr:hover{background:#f8fafc}tbody tr.selected{background:var(--primary-soft)}tbody tr.summary-subtotal{background:var(--surface-muted);font-weight:600}tbody tr.summary-subtotal td{border-top:2px solid var(--border)}tbody tr.summary-total{background:#e2e8f0}tbody tr.summary-total td{border-top:2px solid #94a3b8}tbody tr.details-group-header{background:#e8eef7;font-weight:700}tbody tr.details-group-header td{border-top:2px solid var(--border);color:var(--primary)}.num{text-align:right;font-variant-numeric:tabular-nums}.chart-box{border:1px solid var(--border);border:1px solid var(--border);border-radius:12px;min-height:360px;padding:12px}.chart-panel{flex-direction:column;height:100%;min-height:330px;display:flex}.chart-toolbar{align-items:center;gap:10px;margin-bottom:10px;display:flex}.chart-toolbar label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;font-weight:600}.chart-toolbar select{border:1px solid var(--border);min-width:160px;font:inherit;background:#fff;border-radius:10px;padding:8px 10px}.chart-box canvas,.chart-panel canvas{flex:1;max-height:300px}.modal-backdrop{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{width:min(720px,100%);max-height:min(80vh,720px);padding:22px;overflow:auto}.modal h3{margin:0 0 8px}.modal-help{color:var(--text-muted);margin:0 0 16px;font-size:.9rem}.column-picker-actions{gap:8px;margin-bottom:12px;display:flex}.column-picker-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:18px;display:grid}.column-picker-item{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-size:.9rem;display:flex}.column-picker-item input{margin:0}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.details{padding:18px}.details-table-header{color:var(--text);margin-bottom:12px;font-size:1rem;font-weight:600}.details-toolbar{color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:.9rem;display:flex}.details-toolbar-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.cell-working-hours{min-width:72px;padding:2px 4px!important}.working-hours-input{border:1px solid var(--border);text-align:right;width:64px;max-width:100%;font:inherit;background:#fff;border-radius:4px;padding:4px 6px}.working-hours-input:focus{outline:2px solid color-mix(in srgb, var(--primary) 35%, transparent);border-color:var(--primary)}.date-combo{align-items:center;gap:6px;display:flex}.date-combo input[type=text]{flex:auto;min-width:110px}.date-combo input[type=date]{cursor:pointer;width:34px;min-width:34px;padding:4px 2px}.pending-contracts-details-table th.col-group-short,.pending-contracts-details-table td.col-group-short{text-overflow:clip;white-space:nowrap;width:10ch;min-width:10ch;max-width:10ch;overflow:hidden}.details-toggle{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:6px;font-size:.9rem;display:flex}.details-toolbar-info{flex-direction:column;gap:4px;display:flex}.details-toolbar-info-inline{white-space:nowrap;text-overflow:ellipsis;flex-flow:row;align-items:center;gap:8px 16px;overflow:hidden}.details-toolbar-info-inline>span{white-space:nowrap}.pending-po-details .details-toolbar{margin-bottom:8px}.details-table-wrap-po.details-table-wrap-tall{max-height:min(82vh,900px)}.pending-po-details-table th.col-cont-date,.pending-po-details-table td.col-cont-date{width:118px;min-width:118px;white-space:nowrap!important}.pending-po-details-table th.col-date-one-line,.pending-po-details-table td.col-date-one-line{white-space:nowrap;min-width:110px}.pending-po-details-table th.col-packing-style,.pending-po-details-table td.col-packing-style{min-width:110px}.pending-po-details-table th.col-customer-po,.pending-po-details-table td.col-customer-po{white-space:nowrap;min-width:140px}.pending-po-details-table th.col-center,.pending-po-details-table td.col-center,.pending-po-details-table th.num,.pending-po-details-table td.num{text-align:center}.pending-po-details-table th.col-country,.pending-po-details-table td.col-country{text-overflow:ellipsis;min-width:88px;max-width:88px;overflow:hidden;white-space:nowrap!important}.pending-po-details-table th.col-product-details,.pending-po-details-table td.col-product-details{text-overflow:ellipsis;min-width:160px;max-width:280px;overflow:hidden;white-space:nowrap!important}.pending-po-details-table thead th{text-align:center;vertical-align:middle}.pending-contracts-details-table th.col-customer-po,.pending-contracts-details-table td.col-customer-po{white-space:nowrap;min-width:160px}.pending-contracts-details-table th.col-packing-style,.pending-contracts-details-table td.col-packing-style{white-space:normal;width:130px;min-width:130px}.pending-contracts-details-table th.col-req-del-date,.pending-contracts-details-table td.col-req-del-date,.pending-contracts-details-table th.col-date-one-line,.pending-contracts-details-table td.col-date-one-line,.pending-contracts-details-table th.col-contract-no,.pending-contracts-details-table td.col-contract-no{white-space:nowrap;min-width:110px}.pending-contracts-details-table th.col-contract-no,.pending-contracts-details-table td.col-contract-no{min-width:120px}.pending-contracts-details-table,.pending-po-details-table{border-collapse:separate;border-spacing:0;font-size:.78rem}.pending-contracts-details-table th,.pending-contracts-details-table td,.pending-po-details-table th,.pending-po-details-table td{border:1px solid var(--border);border-top:none;border-left:none}.pending-contracts-details-table th:first-child,.pending-contracts-details-table td:first-child,.pending-po-details-table th:first-child,.pending-po-details-table td:first-child{border-left:1px solid var(--border)}.pending-contracts-details-table thead th,.pending-po-details-table thead th{border-top:1px solid var(--border);box-shadow:inset 0 -1px 0 var(--border)}.pending-contracts-details-table thead tr+tr th,.pending-po-details-table thead tr+tr th{border-top:1px solid var(--border)}.pack-matrl-table{color:#334155;min-width:1380px;font-size:.72rem}.pack-matrl-table thead th.pack-th-stack{white-space:normal;text-align:center;vertical-align:middle;padding-top:3px;padding-bottom:3px;font-size:.64rem;line-height:1.15}.pack-matrl-table th.pack-col-compact,.pack-matrl-table td.pack-col-compact{width:3.2ch;min-width:2.6ch;max-width:4.2ch;padding-left:2px;padding-right:2px;font-size:.68rem}.pack-matrl-table th.pack-col-compact.pack-th-stack{width:4ch;min-width:3.4ch;max-width:4.8ch}.pack-matrl-table th.pack-date-col,.pack-matrl-table td.pack-date-col{white-space:nowrap;text-align:center;width:15ch;min-width:15ch;max-width:15ch;font-size:.68rem}.pack-matrl-table th.pack-date-col.pack-th-stack{white-space:normal}.pack-matrl-table th.col-contract-no,.pack-matrl-table td.col-contract-no,.pack-matrl-table th.col-customer,.pack-matrl-table td.col-customer,.pack-matrl-table th.col-product,.pack-matrl-table td.col-product,.pack-matrl-table th.col-size,.pack-matrl-table td.col-size,.pack-matrl-table th.col-packing-style,.pack-matrl-table td.col-packing-style{z-index:3;background:#fff;position:sticky}.pack-matrl-table th.col-contract-no,.pack-matrl-table td.col-contract-no{width:10ch;min-width:10ch;max-width:10ch;left:0}.pack-matrl-table th.col-customer,.pack-matrl-table td.col-customer{text-overflow:ellipsis;width:10ch;min-width:10ch;max-width:10ch;left:10ch;overflow:hidden}.pack-matrl-table th.col-product,.pack-matrl-table td.col-product{text-overflow:ellipsis;width:15ch;min-width:15ch;max-width:15ch;left:20ch;overflow:hidden}.pack-matrl-table th.col-size,.pack-matrl-table td.col-size{width:10ch;min-width:10ch;max-width:10ch;left:35ch}.pack-matrl-table th.col-packing-style,.pack-matrl-table td.col-packing-style{text-overflow:ellipsis;width:15ch;min-width:15ch;max-width:15ch;left:45ch;overflow:hidden;box-shadow:6px 0 8px -8px #0f172a73}.pack-matrl-table th.col-packing-style.pack-th-stack{white-space:normal}.pack-matrl-table thead th.col-contract-no,.pack-matrl-table thead th.col-customer,.pack-matrl-table thead th.col-product,.pack-matrl-table thead th.col-size,.pack-matrl-table thead th.col-packing-style{z-index:5;background:#1d4ed8}.pack-matrl-table thead th.group-header{text-align:center;letter-spacing:.02em;font-weight:700}.pack-matrl-table thead th.pack-group-master{color:#1e3a8a;background:#bfdbfe}.pack-matrl-table thead th.pack-group-pouches{color:#14532d;background:#bbf7d0}.pack-matrl-table thead tr:nth-child(2) th{z-index:2;white-space:nowrap;position:sticky;top:40px}.pack-matrl-table thead th.pack-col-ctn,.pack-matrl-table tbody td.pack-col-ctn{background:#eff6ff}.pack-matrl-table thead th.pack-col-pc,.pack-matrl-table tbody td.pack-col-pc{background:#f0fdf4}.pack-matrl-table tbody tr:nth-child(2n):not(.details-row-to-produce-done) td.pack-col-ctn{background:#e8f1ff}.pack-matrl-table tbody tr:nth-child(2n):not(.details-row-to-produce-done) td.pack-col-pc{background:#e8f8ee}.pack-matrl-table tbody tr:nth-child(2n):not(.details-row-to-produce-done) td:not(.pack-col-ctn):not(.pack-col-pc),.pack-matrl-table tbody tr:nth-child(2n):not(.details-row-to-produce-done) td.col-contract-no,.pack-matrl-table tbody tr:nth-child(2n):not(.details-row-to-produce-done) td.col-customer,.pack-matrl-table tbody tr:nth-child(2n):not(.details-row-to-produce-done) td.col-product,.pack-matrl-table tbody tr:nth-child(2n):not(.details-row-to-produce-done) td.col-size,.pack-matrl-table tbody tr:nth-child(2n):not(.details-row-to-produce-done) td.col-packing-style{background:#f8fafc}.pack-matrl-table tbody tr.details-row-to-produce-done td.pack-col-ctn,.pack-matrl-table tbody tr.details-row-to-produce-done td.pack-col-pc{background:#b8ffb8}.pack-matrl-table tbody tr.details-row-to-produce-done:hover td.pack-col-ctn,.pack-matrl-table tbody tr.details-row-to-produce-done:hover td.pack-col-pc{background:#9fff9f}.pack-matrl-table tbody td{white-space:nowrap;vertical-align:middle;padding:3px 4px;line-height:1.15}.contracts-matrix-wrap{overflow:visible}.contracts-matrix-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:.78rem}.contracts-matrix-table th,.contracts-matrix-table td{border:1px solid var(--border);white-space:nowrap;border-top:none;border-left:none;padding:6px 8px}.contracts-matrix-table th:first-child,.contracts-matrix-table td:first-child{border-left:1px solid var(--border)}.contracts-matrix-table thead th{border-top:1px solid var(--border);z-index:4;box-shadow:inset 0 -1px 0 var(--border);background:#f1f5f9;position:sticky;top:0}.contracts-matrix-table thead th.contracts-matrix-grade{white-space:normal;text-align:center;vertical-align:middle;min-width:74px;max-width:88px;padding:6px 4px;font-size:.68rem;font-weight:700;line-height:1.15}.contracts-matrix-table thead th.contracts-matrix-commit-date{white-space:normal;text-align:center;vertical-align:middle;line-height:1.15}.contracts-matrix-contract,.contracts-matrix-customer,.contracts-matrix-commit-date{z-index:2;text-align:left;background:#fff;position:sticky;left:0}.contracts-matrix-count{z-index:2;text-align:center;color:#64748b;background:#fff;width:36px;min-width:36px;max-width:40px;font-weight:600;position:sticky;left:0}.contracts-matrix-combined .contracts-matrix-contract{left:36px}.contracts-matrix-combined .contracts-matrix-customer{left:128px}.contracts-matrix-combined .contracts-matrix-commit-date{box-shadow:none;left:248px}.contracts-matrix-contract{min-width:92px;left:0}.contracts-matrix-customer{min-width:120px;left:92px}.contracts-matrix-commit-date{min-width:110px;left:212px;box-shadow:2px 0 4px #0f172a0f}.contracts-matrix-combined .contracts-matrix-commit-date{box-shadow:none}.contracts-matrix-metric{z-index:2;color:#334155;white-space:nowrap;background:#fff;min-width:88px;max-width:96px;font-size:.7rem;font-weight:600;position:sticky;left:358px;box-shadow:2px 0 4px #0f172a0f}.contracts-matrix-combined .contracts-matrix-metric{left:358px}.po-matrix-combined .contracts-matrix-customer{min-width:120px;left:36px}.po-matrix-combined .contracts-matrix-contract{min-width:120px;left:156px}.po-matrix-combined .contracts-matrix-commit-date{min-width:110px;box-shadow:none;left:276px}.po-matrix-combined .contracts-matrix-metric{left:386px}.contracts-matrix-table thead th.contracts-matrix-metric,.contracts-matrix-table thead th.contracts-matrix-count{z-index:5;background:#f1f5f9}.contracts-matrix-combined-row td{border-top-color:#e2e8f0}.contracts-matrix-combined-first td{border-top:1px solid var(--border)}.contracts-matrix-table tbody tr:nth-child(2n):not(.details-group-header):not(.summary-subtotal) td.contracts-matrix-metric{background:#f8fafc}.contracts-matrix-table thead th.contracts-matrix-count,.contracts-matrix-table thead th.contracts-matrix-contract,.contracts-matrix-table thead th.contracts-matrix-customer,.contracts-matrix-table thead th.contracts-matrix-commit-date,.contracts-matrix-table thead th.contracts-matrix-metric{z-index:5;background:#f1f5f9}.contracts-matrix-table tbody tr:nth-child(2n):not(.details-group-header):not(.summary-subtotal) td,.contracts-matrix-table tbody tr:nth-child(2n):not(.details-group-header):not(.summary-subtotal) td.contracts-matrix-count,.contracts-matrix-table tbody tr:nth-child(2n):not(.details-group-header):not(.summary-subtotal) td.contracts-matrix-contract,.contracts-matrix-table tbody tr:nth-child(2n):not(.details-group-header):not(.summary-subtotal) td.contracts-matrix-customer,.contracts-matrix-table tbody tr:nth-child(2n):not(.details-group-header):not(.summary-subtotal) td.contracts-matrix-commit-date,.contracts-matrix-table tbody tr:nth-child(2n):not(.details-group-header):not(.summary-subtotal) td.contracts-matrix-metric{background:#f8fafc}.contracts-matrix-table .matrix-total-col{font-weight:600}.contracts-matrix-grade-by-month .contracts-matrix-grade-label{z-index:2;text-align:left;white-space:normal;background:#fff;min-width:140px;max-width:200px;font-size:.72rem;font-weight:600;line-height:1.15;position:sticky;left:0;box-shadow:2px 0 4px #0f172a0f}.contracts-matrix-grade-by-month thead th.contracts-matrix-grade-label{z-index:5;background:#f1f5f9}.contracts-matrix-grade-by-month .contracts-matrix-month,.contracts-matrix-grade-by-month .matrix-total-col{white-space:normal;min-width:72px;font-size:.72rem;line-height:1.15}.contracts-matrix-grade-by-month .contracts-matrix-month-current{background:#e0f2fe}.contracts-matrix-grade-by-month .matrix-month-sub{color:#64748b;font-size:.62rem;font-weight:500;line-height:1.1;display:inline-block}.contracts-matrix-dual-cell{vertical-align:middle;font-variant-numeric:tabular-nums;line-height:1.2;white-space:normal!important}.contracts-matrix-dual-cell .matrix-dual-line{display:block}.contracts-matrix-grade-by-month tbody tr:nth-child(2n):not(.summary-subtotal) td.contracts-matrix-grade-label{background:#f8fafc}.contracts-matrix-grade-by-month tbody tr.summary-subtotal td.contracts-matrix-grade-label{background:#e2e8f0}.contracts-matrix-projection thead th:nth-child(2),.contracts-matrix-projection tbody td:nth-child(2),.contracts-matrix-projection thead th:nth-last-child(-n+4),.contracts-matrix-projection tbody td:nth-last-child(-n+4){white-space:nowrap;min-width:64px}.pending-contracts-details-table thead th,.pending-po-details-table thead th{padding:5px 4px;font-size:.72rem;line-height:1.1}.pending-contracts-details-table tbody td,.pending-po-details-table tbody td{border-bottom:1px solid var(--border);padding:4px;line-height:1.2}.contracts-summary-table td.summary-grade-heading{white-space:normal;min-width:110px;max-width:160px;font-size:.78rem;line-height:1.2}.active-filters{color:var(--primary);font-weight:600}.details-table-wrap{border:1px solid var(--border);border-radius:12px;max-height:560px;overflow:auto}.details-table-wrap thead th{white-space:normal;vertical-align:bottom;padding:6px 5px;font-size:.78rem;line-height:1.15}.payout-details-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:.8rem}.payout-details-table thead th,.payout-details-table tbody td{white-space:nowrap;vertical-align:middle;padding:5px 8px;line-height:1.2}.payout-details-table .col-customer-po,.payout-details-table .col-remarks{text-overflow:ellipsis;max-width:180px;overflow:hidden}.payout-details-table .col-bank{text-overflow:ellipsis;max-width:160px;overflow:hidden}.payout-details-table .col-negot{text-overflow:ellipsis;max-width:140px;overflow:hidden}.badge{border-radius:999px;padding:3px 8px;font-size:.75rem;font-weight:600;display:inline-block}.details-row-zero-alert td.cell-zero-highlight{background:var(--warning-soft);color:var(--warning);font-weight:600}.details-row-zero-alert:hover td.cell-zero-highlight{background:#fde68a}.details-row-to-produce-done td{background:#b8ffb8}.details-row-to-produce-done:hover td{background:#9fff9f}.details-row-to-produce-done td.cell-zero-highlight{background:var(--warning-soft);color:var(--warning);font-weight:600}.details-row-to-produce-done:hover td.cell-zero-highlight{background:#fde68a}.badge.overdue{color:var(--danger);background:#fee2e2}.badge.current{background:var(--accent-soft);color:var(--accent)}.rm-pivot-shell{grid-template-columns:260px minmax(0,1fr);gap:16px;padding:16px 18px 18px;display:grid}.pivot-config{align-self:start;padding:16px;position:sticky;top:12px}.pivot-config h3{margin:0 0 12px;font-size:1rem}.pivot-count-list{flex-direction:column;gap:8px;max-height:220px;padding:4px 0;display:flex;overflow:auto}.pivot-count-actions{gap:12px;margin-top:8px;display:flex}.pivot-main{min-width:0}.customer-summary-tabs{margin-bottom:12px}.customer-drill-heading{margin-bottom:16px}.customer-drill-title{letter-spacing:-.02em;margin:10px 0 0;font-size:1.25rem}.customer-drill-kpis{margin-top:12px;margin-bottom:0}.customer-name-card .value{word-break:break-word;font-size:1.1rem;line-height:1.35}.customer-drill-header{align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.customer-drill-header h3{margin:0 0 4px;font-size:1.2rem}.customer-drill-tabs{margin-bottom:12px}.customer-matrix-toolbar{flex-wrap:wrap;align-items:center;gap:12px 18px;margin-bottom:12px;display:flex}.customer-matrix-wrap{overflow:auto}.customer-matrix-table{border-collapse:collapse;width:max-content;min-width:100%}.customer-matrix-table th,.customer-matrix-table td{border:1px solid var(--border);white-space:nowrap;padding:8px 10px}.customer-matrix-corner,.customer-matrix-row-label{background:var(--surface-muted);z-index:1;text-align:left;font-weight:600;position:sticky;left:0}.customer-select-row{cursor:pointer}.customer-select-row:hover{background:var(--surface-muted)}.customer-select-row.selected{background:var(--primary-soft)}.customer-summary-shell,.customer-drill-shell{flex-direction:column;gap:8px;display:flex}.pivot-table-wrap{max-height:70vh;overflow:auto}.pivot-table{width:max-content;min-width:100%}.pivot-period-col{z-index:2;background:var(--surface-muted);min-width:220px;position:sticky;left:0}.pivot-period{z-index:1;background:var(--surface);white-space:nowrap;padding-left:calc(12px + var(--pivot-depth,0) * 18px);position:sticky;left:0}.pivot-row-year .pivot-period{background:#f8fafc;font-weight:700}.pivot-row-month .pivot-period{font-weight:600}.pivot-toggle{cursor:pointer;width:20px;color:var(--primary);background:0 0;border:none;margin-right:4px;padding:0;font-size:.75rem}.pivot-leaf{width:20px;margin-right:4px;display:inline-block}.pivot-count-header{text-align:center;white-space:nowrap}.pivot-subhead{color:var(--text-muted);font-size:.78rem}.pivot-empty{color:var(--text-muted)}.pivot-dual{line-height:1.35}.pivot-rate,.pivot-qty{display:block}.pivot-rate{font-weight:600}.pivot-qty{color:var(--text-muted);font-size:.82rem}.hourwise-empty{padding:28px 24px}.hourwise-empty h3{margin:0 0 8px}.hourwise-empty p{color:var(--text-muted);margin:0}.cost-sheet-table-wrap{max-height:70vh;overflow:auto}.cost-sheet-table{border-collapse:separate;border-spacing:0;border:1px solid #64748b;min-width:2500px;font-size:.78rem}.cost-sheet-table thead th{z-index:2;color:#0f172a;white-space:nowrap;vertical-align:middle;text-align:center;background:#9ff;border:1px solid #64748b;padding:4px 5px;font-weight:700;line-height:1.15;position:sticky}.cost-sheet-table thead tr:first-child th{height:40px;top:0}.cost-sheet-table thead tr:nth-child(2) th{z-index:1;border-top:none;height:28px;font-size:.72rem;top:40px}.cost-sheet-table thead th[rowspan="2"]{z-index:3}.cost-sheet-table .cost-freeze{z-index:2;background:#fff;position:sticky}.cost-sheet-table thead th.cost-freeze{z-index:5;background:#9ff}.cost-sheet-table tbody tr:nth-child(2n) td.cost-freeze{background:#f8fafc}.cost-sheet-table tbody tr.cost-sheet-group-row td.cost-freeze,.cost-sheet-table tbody tr.cost-sheet-group-row td.cost-freeze-group{z-index:4;background:#cff}.cost-sheet-table tbody tr.cost-sheet-total-row td.cost-freeze{z-index:3;background:#e2e8f0}.cost-sheet-table .cost-freeze-0{min-width:110px;max-width:130px;left:0}.cost-sheet-table .cost-freeze-1{min-width:78px;left:110px}.cost-sheet-table .cost-freeze-2{min-width:58px;left:188px}.cost-sheet-table .cost-freeze-3{min-width:50px;left:246px}.cost-sheet-table .cost-freeze-4{min-width:42px;left:296px}.cost-sheet-table .cost-freeze-5{min-width:58px;left:338px}.cost-sheet-table .cost-freeze-6{min-width:52px;left:396px}.cost-sheet-table .cost-freeze-7{left:448px}.cost-sheet-table .cost-freeze-8{min-width:54px;left:506px;box-shadow:2px 0 5px #0f172a1f}.cost-sheet-table .cost-freeze-span{z-index:3;min-width:448px;max-width:none;left:0}.cost-sheet-table .cost-freeze-group{z-index:4;left:0;box-shadow:2px 0 5px #0f172a1f}.cost-sheet-table .cost-head-group{vertical-align:middle;text-align:center!important}.cost-sheet-table thead th.cost-col-wrap{white-space:normal;word-break:break-word;padding:3px;font-size:.7rem;line-height:1.1}.cost-sheet-table th.cost-col-pack,.cost-sheet-table td.cost-col-pack{width:58px;max-width:58px}.cost-sheet-table th.cost-col-ovh,.cost-sheet-table td.cost-col-ovh{width:48px;max-width:48px}.cost-sheet-table th.cost-col-excess,.cost-sheet-table td.cost-col-excess{width:56px;max-width:56px}.cost-sheet-table th.cost-col-exc,.cost-sheet-table td.cost-col-exc{width:52px;max-width:52px}.cost-sheet-table th.cost-col-sales-rate,.cost-sheet-table td.cost-col-sales-rate{width:54px;max-width:54px}.cost-sheet-table th.cost-col-sales-val,.cost-sheet-table td.cost-col-sales-val{width:62px;max-width:62px}.cost-sheet-table .cost-head-base{color:#0f172a;background:#9ff}.cost-sheet-table .cost-head-exp{color:#0f172a;background:#ccf}.cost-sheet-table .cost-head-cop{color:#0f172a;background:#f9f}.cost-sheet-table .cost-head-sell{color:#0f172a;background:#cfc}.cost-sheet-table .cost-head-less{color:#0f172a;background:#cff}.cost-sheet-table .cost-head-net{color:#0f172a;background:#ccf}.cost-sheet-table .cost-head-pl{color:#0f172a;background:#ffc}.cost-sheet-table td{white-space:nowrap;color:#0f172a;border:1px solid #94a3b8;padding:3px 5px}.cost-sheet-table tbody tr:nth-child(2n) td{background:#f8fafc}.cost-sheet-table th:first-child,.cost-sheet-table td:first-child{border-left:1px solid #64748b}.cost-sheet-group-row td{border:1px solid #64748b;padding:5px 8px;font-weight:700;background:#cff!important}.cost-sheet-total-row td{border:1px solid #64748b;font-weight:700;background:#e2e8f0!important}.cost-cop{background:#fdf4ff}.cost-sheet-table tbody tr:nth-child(2n) td.cost-cop{background:#fae8ff}.cost-pl-pos{color:#15803d;font-weight:700}.cost-pl-neg{color:#b91c1c;font-weight:700}.hourwise-table-wrap{max-height:640px}.hourwise-table{border-collapse:collapse;min-width:1180px}.hourwise-table thead th{z-index:2;color:#fff;white-space:nowrap;background:#1d4ed8;position:sticky;top:0}.hourwise-table thead tr:nth-child(2) th{background:#2563eb;font-size:.78rem;top:28px}.hourwise-stage-head{text-align:center}.hourwise-subhead{min-width:72px}.hourwise-row-date td{background:#eff6ff;font-weight:700}.hourwise-row-hour td{background:#f1f5f9}.hourwise-row-ic td{background:#f8fafc}.hourwise-tree{white-space:nowrap}.hourwise-time{white-space:nowrap;min-width:112px}.hourwise-tree .pivot-toggle{margin-right:6px}.hourwise-qty,.hourwise-cum{min-width:70px}.hourwise-cum{color:#475569}.empty{text-align:center;color:var(--text-muted);padding:40px}.admin-page .admin-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.admin-page .admin-header h2{margin:0 0 4px}.admin-page .admin-header p,.admin-help{color:var(--text-muted);margin:0;font-size:.9rem}.admin-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-top:16px;padding:16px}.admin-card h3{margin:0 0 12px;font-size:1rem}.admin-form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.admin-form-actions{gap:8px;margin-top:14px;display:flex}.admin-access-list{gap:8px;margin-top:14px;display:grid}.admin-access-item{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.admin-access-item input{margin-top:3px}.admin-access-item strong{display:block}.admin-access-item small{color:var(--text-muted);margin-top:2px;display:block}
