.calc-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1100;background-color:#0f172aa6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.calc-modal-window{background:#fff;border:1px solid #cbd5e1;border-radius:12px;flex-direction:column;width:100%;max-width:980px;height:94vh;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #0003,0 10px 10px -5px #00000014}.calc-modal-topbar{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.calc-modal-headline{align-items:center;gap:12px;display:flex}.calc-icon-badge{color:#0284c7;background:#e0f2fe;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.calc-modal-title{color:#0f172a;margin:0;font-size:16px;font-weight:700}.calc-modal-subtitle{color:#64748b;margin:2px 0 0;font-size:11.5px}.calc-modal-close-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;transition:all .2s}.calc-modal-close-btn:hover{color:#0f172a;background:#e2e8f0}.calc-tabs-bar{background:#f1f5f9;border-bottom:1px solid #cbd5e1;gap:6px;padding:0 16px;display:flex;overflow-x:auto}.calc-tab-item{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:10px 14px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.calc-tab-item:hover{color:#0f172a}.calc-tab-item.active{color:#0284c7;background:#fff;border-bottom-color:#0284c7}.calc-form-container{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.calc-modal-content-scroll{background:#f8fafc;flex:1;min-height:0;padding:16px 20px;overflow-y:auto}.calc-tab-pane{flex-direction:column;gap:14px;display:flex}.calc-section-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.calc-section-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.calc-section-title{color:#1e293b;font-size:13px;font-weight:700}.calc-helper-note{color:#64748b;margin:0;font-size:11.5px}.calc-grid-4{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.calc-field-group{flex-direction:column;gap:4px;display:flex}.calc-label{color:#475569;text-transform:uppercase;letter-spacing:.025em;font-size:11px;font-weight:600}.calc-input,.calc-select,.calc-textarea{color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;width:100%;padding:6px 10px;font-size:12.5px;transition:all .15s}.calc-input:focus,.calc-select:focus,.calc-textarea:focus{border-color:#0284c7;box-shadow:0 0 0 2px #0284c726}.calc-unit-picker-wrap{flex-direction:column;gap:4px;display:flex}.calc-unit-chips{flex-wrap:wrap;gap:4px;display:flex}.calc-unit-chip{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;padding:2px 6px;font-family:monospace;font-size:10px;font-weight:600}.calc-unit-chip:hover{color:#0369a1;background:#e0f2fe;border-color:#bae6fd}.calc-unit-chip.selected{color:#fff;background:#0284c7;border-color:#0284c7}.calc-tokens-toolbar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px 10px}.calc-tokens-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.calc-tokens-label{color:#475569;margin-right:4px;font-size:11px;font-weight:700}.calc-token-btn{cursor:pointer;border:1px solid #0000;border-radius:4px;align-items:center;gap:4px;padding:3px 8px;font-family:monospace;font-size:11px;font-weight:700;transition:all .15s;display:inline-flex}.calc-token-btn.service{color:#0369a1;background:#e0f2fe;border-color:#bae6fd}.calc-token-btn.service:hover{color:#fff;background:#0284c7}.calc-token-btn.interim{color:#92400e;background:#fef3c7;border-color:#fde68a}.calc-token-btn.interim:hover{color:#fff;background:#d97706}.calc-token-sub{opacity:.85;font-size:9.5px;font-weight:400}.calc-math-toolbar{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;padding:6px 10px;display:flex}.calc-math-btn-group{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.calc-math-group-label{color:#64748b;margin-right:2px;font-size:10.5px;font-weight:700}.calc-math-btn{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:4px;padding:3px 7px;font-family:monospace;font-size:11px;font-weight:700;transition:all .1s}.calc-math-btn:hover{color:#fff;background:#0284c7;border-color:#0284c7}.calc-math-btn.op{text-align:center;min-width:26px}.calc-math-btn.fn{color:#4338ca;background:#eef2ff;border-color:#c7d2fe}.calc-math-btn.fn:hover{color:#fff;background:#4338ca}.calc-formula-textarea{color:#0f172a;background:#fff;border:1px solid #93c5fd;border-radius:6px;outline:none;width:100%;padding:8px 12px;font-size:13.5px;font-weight:600;box-shadow:inset 0 1px 2px #0000000d}.calc-formula-textarea:focus{border-color:#0284c7;box-shadow:0 0 0 3px #0284c726}.calc-detected-keywords{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.calc-detected-title{color:#475569;font-size:11px;font-weight:700}.calc-keyword-pill{border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-family:monospace;font-size:10.5px;font-weight:700;display:inline-flex}.calc-keyword-pill.mapped{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd}.calc-keyword-pill.unmapped{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.calc-keyword-meta{color:#475569;font-size:9.5px;font-weight:400}.calc-keyword-warn{color:#b91c1c;font-size:9px;font-weight:800}.calc-sandbox-card{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:12px 14px}.calc-sandbox-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.calc-sandbox-title-wrap{align-items:center;gap:6px;display:flex}.calc-sandbox-title{color:#166534;font-size:12.5px;font-weight:700}.calc-live-result-display{align-items:center;gap:6px;display:flex}.calc-live-label{color:#166534;font-size:11px;font-weight:700}.calc-live-value{color:#fff;background:#16a34a;border-radius:20px;padding:3px 10px;font-family:monospace;font-size:12px;font-weight:800;box-shadow:0 1px 2px #0000001a}.calc-sandbox-desc{color:#15803d;margin:0 0 10px;font-size:11px}.calc-sandbox-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;display:grid}.calc-sandbox-item{background:#fff;border:1px solid #86efac;border-radius:6px;flex-direction:column;gap:3px;padding:6px 8px;display:flex}.calc-sandbox-label{color:#166534;justify-content:space-between;align-items:center;font-family:monospace;font-size:10.5px;font-weight:700;display:flex}.calc-sandbox-unit{color:#64748b;font-size:9px}.calc-sandbox-input{border:1px solid #cbd5e1;border-radius:4px;width:100%;padding:4px 6px;font-family:monospace;font-size:12px}.calc-sandbox-src-title{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:9.5px;overflow:hidden}.calc-sandbox-error{color:#dc2626;align-items:center;gap:6px;font-size:11.5px;font-weight:600;display:flex}.calc-sandbox-expression{color:#334155;font-size:11px}.calc-inputs-filter-row{align-items:center;gap:10px;margin-bottom:12px;display:flex}.calc-inputs-search-wrap{flex:1;position:relative}.calc-search-icon{color:#94a3b8;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.calc-search-clear-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:2px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.calc-inputs-search{background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;padding:7px 30px 7px 32px;font-size:12px}.calc-inputs-cat-select{color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:240px;padding:7px 10px;font-size:12px;font-weight:600}.calc-selected-services-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px}.calc-empty-inputs-alert{color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:11.5px;display:flex}.calc-selected-table-wrap{border:1px solid #e2e8f0;border-radius:6px;max-height:180px;overflow-y:auto}.calc-subheading{color:#334155;font-size:12px;font-weight:700}.btn-link-tab{color:#0284c7;cursor:pointer;background:0 0;border:none;padding:0;font-size:11px;font-weight:700;text-decoration:underline}.calc-table-compact{border-collapse:collapse;background:#fff;width:100%;font-size:12px}.calc-table-compact th{color:#475569;text-align:left;z-index:2;background:#f1f5f9;border:1px solid #e2e8f0;padding:7px 10px;font-size:11px;font-weight:700;position:sticky;top:0}.calc-table-compact td{border:1px solid #e2e8f0;padding:7px 10px}.calc-service-row:hover{background:#f0f9ff!important}.calc-table-compact tr.row-selected{background:#eff6ff}.calc-table-input{border:1px solid #cbd5e1;border-radius:4px;width:100%;padding:4px 6px;font-size:11.5px}.calc-btn-del{color:#ef4444;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px}.calc-btn-del:hover{background:#fee2e2}.calc-service-tree-scroll-area{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;flex-direction:column;gap:10px;max-height:480px;padding:10px;display:flex;overflow-y:auto}.calc-cat-accordion-group{background:#fff;border:1px solid #cbd5e1;border-radius:6px;overflow:hidden;box-shadow:0 1px 2px #0000000a}.calc-cat-accordion-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.calc-cat-accordion-header:hover{background:#e2e8f0}.calc-cat-accordion-name{color:#0f172a;font-size:12.5px;font-weight:700}.calc-cat-count-badge{color:#334155;background:#e2e8f0;border-radius:12px;padding:2px 7px;font-size:10px;font-weight:700}.calc-cat-selected-badge{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd;border-radius:12px;padding:2px 7px;font-size:10px;font-weight:800}.calc-cat-accordion-body{padding:0}.calc-cat-table-wrap{max-height:280px;overflow:auto}.calc-guide-hero{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;align-items:center;gap:14px;padding:14px 18px;display:flex}.calc-guide-hero-icon{color:#fff;background:#0284c7;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.calc-guide-hero-title{color:#0369a1;margin:0;font-size:15px;font-weight:800}.calc-guide-hero-subtitle{color:#0c4a6e;margin:2px 0 0;font-size:11.5px}.calc-guide-step-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.calc-guide-step-num{color:#fff;background:#0284c7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:800;display:flex}.calc-guide-step-content{flex:1}.calc-guide-step-title{color:#0f172a;margin:0 0 4px;font-size:13px;font-weight:700}.calc-guide-step-text{color:#475569;margin:0;font-size:12px;line-height:1.5}.calc-guide-example-box{color:#1e293b;background:#f8fafc;border-left:3px solid #0284c7;margin-top:8px;padding:6px 10px;font-size:11.5px}.calc-guide-fn-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px;display:grid}.calc-guide-fn-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;flex-direction:column;padding:6px 10px;display:flex}.calc-guide-fn-item code{color:#4338ca;font-size:11px;font-weight:700}.calc-guide-fn-item span{color:#64748b;margin-top:2px;font-size:10.5px}.calc-guide-pipeline-list{color:#334155;margin:8px 0 0 16px;font-size:12px;line-height:1.6}.calc-modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:10px;padding:12px 20px;display:flex}.truncate-1{white-space:nowrap;text-overflow:ellipsis;max-width:320px;overflow:hidden}.calc-page-container{flex-direction:column;gap:12px;display:flex}.calc-metrics-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.calc-metric-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;display:flex;box-shadow:0 1px 2px #00000008}.calc-metric-icon{border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.calc-metric-value{color:#0f172a;font-size:20px;font-weight:800;line-height:1.1}.calc-metric-label{color:#64748b;margin-top:2px;font-size:11.5px;font-weight:600}.formula-code-badge{color:#0369a1;text-overflow:ellipsis;white-space:nowrap;background:#f8fafc;border:1px solid #e0f2fe;border-radius:4px;max-width:280px;padding:2px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;font-weight:600;display:inline-block;overflow:hidden}@media (width<=900px){.calc-metrics-grid{grid-template-columns:repeat(2,1fr)}}.tmpl-list-container{flex-direction:column;gap:20px;max-width:1400px;margin:0 auto;display:flex}.tmpl-list-header{border-bottom:1px solid var(--border-color,#e2e8f0);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;padding-bottom:16px;display:flex}.tmpl-breadcrumb{color:#64748b;align-items:center;gap:6px;margin-bottom:4px;font-size:.85rem;display:flex}.tmpl-breadcrumb a{color:#2563eb;font-weight:500;text-decoration:none}.tmpl-breadcrumb a:hover{text-decoration:underline}.tmpl-breadcrumb .current{color:#0f172a;font-weight:600}.tmpl-title-area h1{color:#0f172a;align-items:center;gap:10px;margin:0;font-size:1.55rem;font-weight:700;display:flex}.tmpl-title-icon{color:#2563eb}.tmpl-title-area p{color:#64748b;margin:4px 0 0;font-size:.88rem}.tmpl-add-btn{align-items:center;gap:6px;padding:8px 16px;font-weight:600;display:inline-flex}.tmpl-toast-alert{border-radius:8px;align-items:center;gap:8px;padding:12px 16px;font-size:.88rem;font-weight:500;animation:.2s ease-in fadeIn;display:flex;box-shadow:0 4px 12px #00000014}.toast-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.toast-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.tmpl-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.tmpl-kpi-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:14px;padding:16px;transition:all .15s;display:flex;box-shadow:0 1px 3px #00000008}.tmpl-kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 10px #0000000f}.tmpl-kpi-card.active-kpi{background:#f8faff;border-color:#2563eb}.kpi-icon-box{border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.bg-blue{color:#2563eb;background:#eff6ff}.bg-green{color:#16a34a;background:#f0fdf4}.bg-amber{color:#d97706;background:#fffbeb}.bg-purple{color:#9333ea;background:#faf5ff}.kpi-content{flex-direction:column;display:flex}.kpi-label{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:600}.kpi-value{color:#0f172a;font-size:1.45rem;font-weight:800;line-height:1.2}.tmpl-toolbar{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.tmpl-search-box{flex:1;align-items:center;min-width:280px;max-width:480px;display:flex;position:relative}.tmpl-search-box input{background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;outline:none;width:100%;padding:8px 32px 8px 36px;font-size:.86rem}.tmpl-search-box input:focus{background:#fff;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.search-icon{color:#94a3b8;pointer-events:none;position:absolute;left:12px}.clear-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;position:absolute;right:10px}.tmpl-filter-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tmpl-status-tabs{background:#f1f5f9;border-radius:6px;padding:3px;display:flex}.tmpl-status-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:5px 12px;font-size:.8rem;font-weight:600;transition:all .15s}.tmpl-status-btn.active{color:#0f172a;background:#fff;box-shadow:0 1px 2px #0000000f}.tmpl-select{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;padding:6px 12px;font-size:.84rem}.tmpl-table-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow-x:auto;box-shadow:0 1px 3px #00000005}.tmpl-table{border-collapse:collapse;text-align:left;width:100%;font-size:.84rem}.tmpl-table thead th{color:#475569;white-space:nowrap;background:#f8fafc;border-bottom:2px solid #e2e8f0;padding:12px 14px;font-weight:700}.tmpl-table tbody td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:12px 14px}.tmpl-table tbody tr:hover td{background:#f8fafc}.tmpl-table tr.row-inactive td{opacity:.7}.tmpl-name-cell{flex-direction:column;gap:3px;display:flex}.tmpl-name-link{color:#0284c7;font-size:.88rem;font-weight:600;text-decoration:none}.tmpl-name-link:hover{text-decoration:underline}.tmpl-code-badges{align-items:center;gap:6px;display:flex}.tmpl-code{color:#334155;background:#f1f5f9;border-radius:3px;padding:1px 5px;font-family:ui-monospace,monospace;font-size:.74rem;font-weight:600}.tmpl-commercial-id{color:#92400e;background:#fef3c7;border-radius:3px;padding:1px 5px;font-size:.72rem;font-weight:600}.tmpl-ver-tag{color:#3730a3;background:#e0e7ff;border-radius:3px;padding:1px 4px;font-size:.7rem;font-weight:600}.tmpl-dept-cell{flex-direction:column;gap:2px;display:flex}.dept-tag{color:#334155;font-size:.78rem;font-weight:600}.matrix-sub{color:#64748b;font-size:.72rem}.tmpl-tests-pill{cursor:pointer;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;flex-direction:column;padding:4px 8px;transition:background .15s;display:inline-flex}.tmpl-tests-pill:hover{background:#dcfce7}.test-count-main{color:#166534;font-size:.8rem;font-weight:700}.test-breakdown{color:#15803d;font-size:.7rem}.tmpl-pricing-cell{flex-direction:column;display:flex}.price-main{color:#0f172a;font-weight:700}.price-gst-sub{color:#64748b;font-size:.7rem}.tmpl-status-badge{text-align:center;border-radius:12px;padding:2px 8px;font-size:.74rem;font-weight:700;display:inline-block}.badge-active{color:#166534;background:#dcfce7;border:1px solid #bbf7d0}.badge-inactive{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.badge-draft{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.tmpl-update-cell{color:#334155;flex-direction:column;font-size:.78rem;display:flex}.user-sub{color:#64748b;font-size:.7rem}.tmpl-action-buttons{justify-content:flex-end;align-items:center;gap:4px;display:flex}.action-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:5px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:flex}.action-btn:hover{color:#0f172a;background:#f1f5f9}.action-btn.view:hover{color:#0284c7;background:#f0f9ff;border-color:#bae6fd}.action-btn.edit:hover{color:#2563eb;background:#eff6ff;border-color:#bfdbfe}.action-btn.copy:hover{color:#9333ea;background:#faf5ff;border-color:#e9d5ff}.action-btn.deactivate:hover{color:#dc2626;background:#fef2f2;border-color:#fecaca}.action-btn.activate:hover{color:#16a34a;background:#f0fdf4;border-color:#bbf7d0}.action-btn.audit:hover{color:#d97706;background:#fffbeb;border-color:#fde68a}.tmpl-loading-state,.tmpl-error-state,.tmpl-empty-state{text-align:center;color:#64748b;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex}.tmpl-loading-state .spin{color:#2563eb;margin-bottom:10px;animation:1s linear infinite spin}.tmpl-modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9999;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.tmpl-preview-modal,.tmpl-audit-modal{background:#fff;border-radius:10px;flex-direction:column;width:100%;max-width:750px;max-height:85vh;animation:.2s ease-out slideUp;display:flex;overflow:hidden;box-shadow:0 10px 25px #00000026}.tmpl-preview-modal .modal-header,.tmpl-audit-modal .modal-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h3{color:#0f172a;margin:0;font-size:1.15rem}.modal-sub{color:#64748b;font-size:.78rem}.close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none}.close-btn:hover{color:#0f172a}.modal-body{flex:1;padding:20px;overflow-y:auto}.modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;gap:10px;padding:12px 20px;display:flex}.preview-desc{color:#475569;margin-bottom:14px;font-size:.85rem}.preview-services-table{border-collapse:collapse;width:100%;margin-bottom:16px;font-size:.82rem}.preview-services-table th{color:#334155;background:#f1f5f9;border-bottom:1px solid #cbd5e1;padding:8px 10px;font-weight:600}.preview-services-table td{border-bottom:1px solid #f1f5f9;padding:8px 10px}.point-badge{border-radius:3px;padding:1px 5px;font-size:.7rem;font-weight:700}.point-badge.lab{color:#1d4ed8;background:#eff6ff}.point-badge.field{color:#15803d;background:#f0fdf4}.preview-summary-footer{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;justify-content:flex-end;gap:20px;padding:10px 14px;font-size:.85rem;display:flex}.audit-timeline{flex-direction:column;gap:16px;padding-left:18px;display:flex;position:relative}.audit-timeline:before{content:"";background:#e2e8f0;width:2px;position:absolute;top:6px;bottom:6px;left:6px}.audit-timeline-item{position:relative}.timeline-marker{background:#2563eb;border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;top:4px;left:-18px;box-shadow:0 0 0 2px #bfdbfe}.timeline-content{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;flex-direction:column;gap:4px;padding:10px 14px;display:flex}.timeline-header{justify-content:space-between;align-items:center;display:flex}.audit-action-badge{border-radius:3px;padding:1px 6px;font-size:.74rem;font-weight:700}.action-created{color:#166534;background:#dcfce7}.action-updated{color:#1e40af;background:#dbeafe}.action-duplicated{color:#6b21a8;background:#f3e8ff}.action-activated{color:#047857;background:#ecfdf5}.action-deactivated{color:#b91c1c;background:#fee2e2}.audit-time{color:#64748b;font-size:.72rem}.audit-user{color:#334155;font-size:.78rem}.audit-details{color:#0f172a;font-size:.8rem}.audit-reason{color:#64748b;font-size:.76rem}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.spec-list-container{flex-direction:column;gap:16px;width:100%;display:flex}.spec-page-header{background:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;padding:18px 24px;display:flex;box-shadow:0 1px 3px #0000000a}.spec-title-left{align-items:center;gap:14px;display:flex}.spec-header-icon-box{color:#fff;background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%);border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 4px 12px #0284c740}.spec-main-title{color:#0f172a;letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:700}.spec-sub-title{color:#64748b;margin:2px 0 0;font-size:.8125rem}.btn-spec-add{color:#fff;cursor:pointer;background:#0284c7;border:none;border-radius:8px;align-items:center;gap:6px;padding:9px 18px;font-size:.8125rem;font-weight:600;transition:all .15s ease-in-out;display:inline-flex;box-shadow:0 2px 6px #0284c740}.btn-spec-add:hover{background:#0369a1;transform:translateY(-1px)}.spec-filter-bar{background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;display:flex;box-shadow:0 1px 2px #00000008}.spec-tabs-group{align-items:center;gap:6px;display:flex}.spec-tab-btn{color:#64748b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-size:.8125rem;font-weight:600;transition:all .15s;display:inline-flex}.spec-tab-btn:hover{color:#1e293b;background:#f8fafc}.spec-tab-btn.active{color:#fff;background:#0f172a}.spec-tab-btn.active .tab-pill{color:#fff;background:#fff3}.tab-pill{color:#475569;background:#f1f5f9;border-radius:10px;padding:1px 6px;font-size:.7rem;font-weight:700}.spec-search-controls{align-items:center;gap:10px;display:flex}.spec-matrix-select{color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;padding:7px 12px;font-size:.8125rem;font-weight:500}.spec-search-input-box{align-items:center;min-width:280px;display:flex;position:relative}.spec-search-input{border:1px solid #cbd5e1;border-radius:6px;outline:none;width:100%;padding:7px 32px 7px 12px;font-size:.8125rem;transition:border-color .15s}.spec-search-input:focus{border-color:#0284c7;box-shadow:0 0 0 2px #0284c71a}.spec-search-icon-static{color:#94a3b8;pointer-events:none;position:absolute;right:10px}.spec-btn-search-clear{color:#94a3b8;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;right:8px}.spec-btn-search-clear:hover{color:#0f172a}.spec-table-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000a}.spec-table-responsive{width:100%;overflow-x:auto}.spec-master-table{border-collapse:collapse;text-align:left;width:100%;font-size:.8125rem}.spec-master-table th{color:#475569;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:12px 14px;font-size:.72rem;font-weight:600}.spec-master-table td{color:#1e293b;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:12px 14px}.spec-table-row{cursor:pointer;transition:background-color .1s}.spec-table-row:hover{background-color:#f8fafc}.spec-table-row.row-selected{background-color:#f0f9ff}.spec-name-cell{flex-direction:column;gap:3px;display:flex}.spec-title-link{color:#0f172a;cursor:pointer;font-weight:700;transition:color .15s}.spec-title-link:hover{color:#0284c7;text-decoration:underline}.spec-code-tag{color:#0284c7;background:#e0f2fe;border-radius:4px;width:fit-content;padding:1px 6px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.7rem;font-weight:700;display:inline-block}.spec-desc-hint{color:#64748b;font-size:.75rem}.spec-sample-type-badge{color:#334155;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:.78rem;font-weight:600;display:inline-flex}.dynamic-spec-pill{color:#b45309;background:#fef3c7;border-radius:4px;align-items:center;gap:4px;padding:2px 7px;font-size:.75rem;font-weight:600;display:inline-flex}.rule-count-pill{color:#334155;background:#f1f5f9;border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:500;display:inline-block}.status-toggle-pill{cursor:pointer;border:none;border-radius:12px;align-items:center;gap:5px;padding:3px 9px;font-size:.72rem;font-weight:700;transition:all .15s;display:inline-flex}.status-toggle-pill .status-dot{border-radius:50%;width:6px;height:6px}.status-toggle-pill.status-active{color:#15803d;background:#dcfce7}.status-toggle-pill.status-active .status-dot{background:#16a34a}.status-toggle-pill.status-inactive{color:#64748b;background:#f1f5f9}.status-toggle-pill.status-inactive .status-dot{background:#94a3b8}.action-btn-group{justify-content:center;align-items:center;gap:4px;display:flex}.btn-action-icon{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:flex}.btn-action-icon:hover{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1}.btn-action-icon.btn-action-danger:hover{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.spec-table-footer{color:#64748b;background:#fff;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:12px 18px;font-size:.8125rem;display:flex}.btn-spec-export{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:5px;padding:6px 14px;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-spec-export:hover:not(:disabled){color:#0f172a;background:#f8fafc;border-color:#94a3b8}.spec-modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1050;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.spec-preview-modal,.spec-audit-modal{background:#fff;border-radius:14px;flex-direction:column;width:100%;max-width:960px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 20px 40px #00000026}.spec-audit-modal{max-width:560px}.spec-modal-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.spec-modal-title{color:#0f172a;margin:0;font-size:1.05rem;font-weight:700}.btn-modal-close{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.btn-modal-close:hover{color:#0f172a;background:#e2e8f0}.spec-modal-body{flex:1;padding:20px;overflow-y:auto}.spec-preview-desc-box{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:14px;padding:10px 14px;font-size:.8125rem}.spec-rules-table-wrap{border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto}.spec-rules-table{border-collapse:collapse;width:100%;font-size:.78rem}.spec-rules-table th{color:#475569;white-space:nowrap;background:#f1f5f9;border-bottom:1px solid #e2e8f0;padding:10px 12px;font-weight:600}.spec-rules-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:10px 12px}.spec-unit-pill{color:#0369a1;background:#e0f2fe;border-radius:4px;padding:1px 5px;font-size:.7rem;font-weight:600}.spec-modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px;display:flex}.audit-timeline-flow{flex-direction:column;gap:14px;display:flex}.audit-timeline-node{gap:12px;display:flex}.audit-node-icon{margin-top:2px}.audit-node-content{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex:1;padding:10px 14px}.audit-node-header{color:#0f172a;justify-content:space-between;font-size:.8125rem;display:flex}.audit-node-time{color:#64748b;font-size:.72rem}.audit-node-user{color:#475569;font-size:.75rem}.audit-node-reason{color:#64748b;margin:4px 0 0;font-size:.75rem}.spec-loader-state,.spec-empty-state,.spec-error-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.lab-setup-container{color:#1e293b;background:#f8fafc;max-width:1480px;min-height:calc(100vh - 70px);margin:0 auto;padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.setup-breadcrumb{color:#64748b;align-items:center;gap:8px;margin-bottom:12px;font-size:12.5px;display:flex}.setup-breadcrumb a,.setup-breadcrumb-link{color:#0284c7;cursor:pointer;font-weight:500;text-decoration:none}.setup-breadcrumb a:hover,.setup-breadcrumb-link:hover{color:#0369a1;text-decoration:underline}.setup-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.setup-title-box{align-items:center;gap:14px;display:flex}.setup-title-icon{color:#0284c7;background:#e0f2fe;border:1px solid #bae6fd;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 2px 6px #0284c71f}.setup-title-text{color:#0f172a;margin:0;font-size:22px;font-weight:800;line-height:1.2}.setup-subtitle-text{color:#64748b;margin:4px 0 0;font-size:13px}.setup-cards-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px;display:grid}@media (width<=1280px){.setup-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.setup-cards-grid{grid-template-columns:1fr}}.setup-master-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;justify-content:space-between;min-height:175px;padding:16px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative;box-shadow:0 1px 3px #00000008}.setup-master-card:hover{border-color:#7dd3fc;transform:translateY(-2px);box-shadow:0 8px 16px -2px #0284c71a,0 2px 4px -1px #0000000a}.setup-master-card.active{background:#f0f9ff;border-color:#0284c7;box-shadow:0 0 0 2px #0284c7,0 6px 14px #0284c71a}.card-top-row{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.card-icon-box{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.card-icon-blue{color:#0284c7;background:#e0f2fe;border:1px solid #bae6fd}.card-icon-indigo{color:#4338ca;background:#e0e7ff;border:1px solid #c7d2fe}.card-icon-emerald{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.card-icon-amber{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.card-icon-purple{color:#7e22ce;background:#f3e8ff;border:1px solid #e9d5ff}.card-icon-cyan{color:#0e7490;background:#cffafe;border:1px solid #a5f3fc}.card-count-badge{color:#334155;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:16px;padding:3px 10px;font-size:11.5px;font-weight:700}.setup-master-card.active .card-count-badge{color:#0369a1;background:#e0f2fe;border-color:#bae6fd}.card-title{color:#0f172a;margin:0 0 4px;font-size:14.5px;font-weight:750;line-height:1.3}.card-desc{color:#64748b;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;margin:0 0 12px;font-size:11.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.card-footer-action{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-top:10px;display:flex}.card-link-btn{color:#0284c7;align-items:center;gap:4px;font-size:12px;font-weight:700;display:inline-flex}.setup-master-card:hover .card-link-btn{color:#0369a1;text-decoration:underline}.setup-tabs-bar{scrollbar-width:none;-ms-overflow-style:none;background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:6px;margin-bottom:20px;padding:6px;display:flex;overflow-x:auto;box-shadow:0 1px 3px #00000008}.setup-tabs-bar::-webkit-scrollbar{display:none}.setup-tab-btn{color:#475569;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:7px;padding:8px 14px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex}.setup-tab-btn:hover{color:#0f172a;background:#f8fafc}.setup-tab-btn.active{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd;font-weight:750;box-shadow:0 1px 2px #0284c714}.setup-tab-badge{color:#475569;background:#f1f5f9;border-radius:12px;padding:1px 7px;font-size:11px;font-weight:700}.setup-tab-btn.active .setup-tab-badge{color:#fff;background:#0284c7}.setup-toolbar-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.setup-search-wrap{flex:1;min-width:240px;max-width:380px;position:relative}.setup-search-icon{color:#94a3b8;pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.setup-search-input{color:#0f172a;box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;height:36px;padding:6px 12px 6px 34px;font-size:12.5px;transition:all .15s}.setup-search-input:focus{border-color:#0284c7;box-shadow:0 0 0 3px #0284c726}.setup-filters-wrap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.setup-select{color:#0f172a;cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;height:36px;padding:0 10px;font-size:12.5px}.setup-select:focus{border-color:#0284c7;box-shadow:0 0 0 3px #0284c726}.status-pill-group{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:2px;display:inline-flex}.status-pill-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:5px 11px;font-size:11.5px;font-weight:600;transition:all .15s}.status-pill-btn.active{color:#0284c7;background:#fff;font-weight:700;box-shadow:0 1px 2px #00000014}.btn{cursor:pointer;box-sizing:border-box;border:1px solid #0000;border-radius:8px;outline:none;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-size:12.5px;font-weight:600;line-height:1.3;transition:all .15s;display:inline-flex}.btn-sm{border-radius:6px;padding:6px 12px;font-size:12px}.btn-primary{color:#fff;background:#0284c7;border-color:#0284c7}.btn-primary:hover:not(:disabled){background:#0369a1;border-color:#0369a1;box-shadow:0 2px 6px #0284c740}.btn-secondary{color:#334155;background:#fff;border-color:#cbd5e1}.btn-secondary:hover:not(:disabled){color:#0f172a;background:#f8fafc;border-color:#94a3b8}.action-icon-btn{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:inline-flex}.action-icon-btn:hover{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1}.action-icon-btn-view:hover{color:#0284c7;background:#e0f2fe;border-color:#bae6fd}.action-icon-btn-edit:hover{color:#b45309;background:#fef3c7;border-color:#fde68a}.action-icon-btn-delete:hover{color:#dc2626;background:#fee2e2;border-color:#fca5a5}.setup-table-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #00000008}.table-responsive{width:100%;overflow-x:auto}.setup-data-table{border-collapse:collapse;text-align:left;width:100%;font-size:12.5px}.setup-data-table th{color:#475569;text-transform:uppercase;letter-spacing:.03em;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:10px 14px;font-size:11px;font-weight:700}.setup-data-table td{color:#1e293b;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:10px 14px}.setup-data-table tr:hover td{background:#f8fafc}.badge-tag{border-radius:12px;align-items:center;gap:4px;padding:2.5px 8px;font-size:11px;font-weight:700;display:inline-flex}.badge-tag-active{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.badge-tag-inactive{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0}.badge-tag-warning{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.badge-tag-danger{color:#dc2626;background:#fee2e2;border:1px solid #fca5a5}.setup-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1050;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;animation:.18s ease-out fadeInOverlay;display:flex;position:fixed;inset:0}.setup-modal-container,.setup-modal-card{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;width:100%;max-width:860px;height:88vh;max-height:90vh;animation:.18s ease-out scaleInModal;display:flex;overflow:hidden;box-shadow:0 20px 30px -10px #0003,0 10px 15px -5px #0000000a}.setup-modal-container>form,.setup-modal-card>form{flex-direction:column;flex:1;height:100%;min-height:0;display:flex;overflow:hidden}.setup-modal-header{background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.setup-modal-title{color:#0f172a;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:750;display:flex}.setup-modal-close{color:#64748b;cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;transition:all .15s;display:flex}.setup-modal-close:hover{color:#dc2626;background:#fee2e2;border-color:#fca5a5}.modal-steps-nav{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0;padding:0 16px;display:flex}.modal-step-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:12px 16px;font-size:12.5px;font-weight:600;transition:all .15s;display:flex}.modal-step-btn:hover{color:#0f172a}.modal-step-btn.active{color:#0284c7;background:#fff;border-bottom-color:#0284c7;font-weight:700}.modal-step-num{color:#475569;background:#e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:flex}.modal-step-btn.active .modal-step-num{color:#fff;background:#0284c7}.setup-modal-body{box-sizing:border-box;background:#fff;flex:auto;min-height:0;padding:20px 24px;overflow-x:hidden;overflow-y:auto!important}.setup-modal-body::-webkit-scrollbar{width:7px}.setup-modal-body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.setup-modal-body::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:4px}.setup-modal-body::-webkit-scrollbar-thumb:hover{background:#64748b}.setup-modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 22px;display:flex}.form-section-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:16px;padding:14px 16px}.form-section-title{color:#0f172a;text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:6px;margin:0 0 12px;font-size:12.5px;font-weight:750;display:flex}.form-grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-grid-3{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}@media (width<=640px){.form-grid-2,.form-grid-3{grid-template-columns:1fr}}.setup-form-group{flex-direction:column;margin-bottom:12px;display:flex}.setup-label{color:#1e293b;margin-bottom:4px;font-size:12px;font-weight:700;display:block}.setup-input,.setup-select,.setup-textarea{color:#0f172a;box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:7px;outline:none;width:100%;padding:7px 11px;font-family:inherit;font-size:12.5px;transition:all .15s}.setup-input:focus,.setup-select:focus,.setup-textarea:focus{border-color:#0284c7;box-shadow:0 0 0 3px #0284c726}.field-description-hint{color:#64748b;margin-top:3px;font-size:11px;line-height:1.35}.methods-multiselect-container{background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.methods-chips-wrapper{flex-wrap:wrap;align-items:center;gap:6px;min-height:32px;display:flex}.method-chip{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;align-items:center;gap:6px;padding:3px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.method-chip-remove{cursor:pointer;color:#ef4444;align-items:center;font-size:13px;font-weight:700;display:flex}.method-chip-remove:hover{color:#b91c1c}.methods-search-input{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;outline:none;width:100%;padding:6px 10px;font-size:12px}.methods-search-input:focus{background:#fff;border-color:#0284c7}.methods-dropdown-list{background:#fff;border:1px solid #e2e8f0;border-radius:6px;flex-direction:column;max-height:140px;display:flex;overflow-y:auto}.methods-dropdown-item{cursor:pointer;justify-content:space-between;align-items:center;padding:6px 10px;font-size:12px;transition:background .1s;display:flex}.methods-dropdown-item:hover{background:#f1f5f9}.methods-dropdown-item.selected{color:#1e40af;background:#eff6ff;font-weight:600}.profile-banner-card{color:#fff;background:linear-gradient(135deg,#0f172a 0%,#1e293b 60%,#0369a1 100%);border:1px solid #334155;border-radius:14px;margin-bottom:16px;padding:20px 24px;box-shadow:0 4px 12px #0f172a1f}.profile-banner-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.profile-title-left{align-items:center;gap:14px;display:flex}.profile-photo-wrap{background:#ffffff1a;border:1px solid #fff3;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;display:flex;overflow:hidden}.profile-photo-img{object-fit:cover;width:100%;height:100%}.profile-kpis-grid{background:#ffffff14;border:1px solid #ffffff26;border-radius:10px;align-items:center;gap:16px;padding:8px 16px;display:flex}.profile-kpi-block{text-align:center;flex-direction:column;align-items:center;display:flex}.profile-kpi-label{text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;font-size:10px}.profile-kpi-val{margin-top:2px;font-size:13px;font-weight:750}.profile-subnav-bar{background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:4px;margin-bottom:16px;padding:5px;display:flex;overflow-x:auto;box-shadow:0 1px 3px #00000008}.profile-subnav-btn{color:#475569;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.profile-subnav-btn:hover{color:#0f172a;background:#f8fafc}.profile-subnav-btn.active{color:#0369a1;background:#e0f2fe;font-weight:750}.profile-subnav-badge{color:#475569;background:#f1f5f9;border-radius:10px;padding:1px 6px;font-size:10.5px;font-weight:700}.profile-subnav-btn.active .profile-subnav-badge{color:#fff;background:#0284c7}.profile-portlets-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=900px){.profile-portlets-grid{grid-template-columns:1fr}}.profile-portlet-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;box-shadow:0 1px 3px #00000008}.profile-portlet-card.full-width{grid-column:1/-1}.portlet-header-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;display:flex}.portlet-title-text{color:#0f172a;align-items:center;gap:6px;margin:0;font-size:13px;font-weight:750;display:flex}.portlet-data-grid{grid-template-columns:1fr 1fr;gap:10px 14px;font-size:12px;display:grid}.portlet-item{flex-direction:column;display:flex}.portlet-label{color:#64748b;margin-bottom:2px;font-size:11px}.portlet-value{color:#1e293b;font-size:12.5px;font-weight:600}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes scaleInModal{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.result-variables-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-top:20px;padding:18px 20px;transition:all .2s;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005}.result-variables-card:focus-within{border-color:#cbd5e1}.rv-card-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.rv-header-info{align-items:center;gap:12px;display:flex}.rv-header-icon{color:#2563eb;background:#eff6ff;border:1px solid #dbeafe;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.rv-header-title{color:#0f172a;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:750;display:flex}.rv-header-subtitle{color:#64748b;margin:2px 0 0;font-size:11.5px;line-height:1.4}.rv-toggle-container{cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8fafc;border:1px solid #e2e8f0;border-radius:24px;align-items:center;gap:10px;padding:6px 12px;transition:all .2s;display:inline-flex}.rv-toggle-container:hover{background:#f1f5f9;border-color:#cbd5e1}.rv-toggle-container.active{background:#eff6ff;border-color:#bfdbfe}.rv-switch{flex-shrink:0;width:38px;height:20px;display:inline-block;position:relative}.rv-switch input{opacity:0;width:0;height:0}.rv-slider{cursor:pointer;background-color:#cbd5e1;border-radius:20px;transition:all .25s cubic-bezier(.4,0,.2,1);position:absolute;inset:0}.rv-slider:before{content:"";background-color:#fff;border-radius:50%;width:16px;height:16px;transition:all .25s cubic-bezier(.4,0,.2,1);position:absolute;bottom:2px;left:2px;box-shadow:0 1px 3px #00000040}.rv-switch input:checked+.rv-slider{background-color:#2563eb}.rv-switch input:checked+.rv-slider:before{transform:translate(18px)}.rv-toggle-label{color:#1e293b;font-size:12px;font-weight:700}.rv-toggle-badge{border-radius:12px;padding:2px 7px;font-size:10.5px;font-weight:700}.rv-toggle-badge.active{color:#15803d;background:#dcfce7}.rv-toggle-badge.inactive{color:#64748b;background:#f1f5f9}.rv-banner-active{background:linear-gradient(135deg,#f0f7ff 0%,#f4fdf8 100%);border:1px solid #bfdbfe;border-radius:10px;align-items:flex-start;gap:12px;margin-bottom:14px;padding:12px 14px;display:flex}.rv-banner-inactive{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.rv-banner-icon{border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:1px;display:flex}.rv-banner-active .rv-banner-icon{color:#1d4ed8;background:#dbeafe}.rv-banner-inactive .rv-banner-icon{color:#64748b;background:#f1f5f9}.rv-banner-title{color:#0f172a;margin:0 0 2px;font-size:12.5px;font-weight:700}.rv-banner-desc{color:#475569;margin:0;font-size:11.5px;line-height:1.45}.rv-table-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:12px;overflow-x:auto;box-shadow:0 1px 2px #00000005}.rv-table{border-collapse:collapse;width:100%;min-width:860px;font-size:12px}.rv-table th{color:#475569;text-transform:uppercase;letter-spacing:.03em;text-align:left;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:10px;font-size:11px;font-weight:700}.rv-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:8px}.rv-table tbody tr{transition:background-color .15s}.rv-table tbody tr:hover{background-color:#f8fafc}.rv-table tbody tr:last-child td{border-bottom:none}.rv-input{color:#1e293b;box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;width:100%;height:32px;padding:4px 8px;font-size:12px;transition:all .15s}.rv-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2.5px #3b82f626}.rv-input-mono{color:#4338ca;background:#fbfbfe;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:700}.rv-input-mono:focus{background:#fff;border-color:#6366f1;box-shadow:0 0 0 2.5px #6366f126}.rv-input:disabled{color:#94a3b8;cursor:not-allowed;background:#f1f5f9;border-color:#e2e8f0}.rv-reorder-group{justify-content:center;align-items:center;gap:2px;display:flex}.rv-btn-arrow{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:all .15s;display:inline-flex}.rv-btn-arrow:hover:not(:disabled){color:#1d4ed8;background:#eff6ff;border-color:#3b82f6}.rv-btn-arrow:disabled{opacity:.35;cursor:not-allowed;background:#f8fafc}.rv-btn-delete{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;transition:all .15s;display:inline-flex}.rv-btn-delete:hover{color:#dc2626;background:#fee2e2}.rv-flag-btn{cursor:pointer;color:#64748b;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:700;transition:all .15s;display:inline-flex}.rv-flag-btn:hover{border-color:#cbd5e1}.rv-flag-btn.active-blue{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.rv-flag-btn.active-green{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.rv-footer-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:4px;display:flex}.rv-btn-add{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex;box-shadow:0 1px 2px #2563eb33}.rv-btn-add:hover{background:#1d4ed8;box-shadow:0 2px 4px #2563eb4d}.rv-presets-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rv-preset-btn{color:#334155;cursor:pointer;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px;align-items:center;gap:4px;padding:5px 10px;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.rv-preset-btn:hover{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.rv-groups-container{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:14px;padding:12px}.rv-groups-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.rv-group-row{background:#fff;border:1px solid #e2e8f0;border-radius:6px;grid-template-columns:36px 1.5fr 1fr 1.6fr 36px;align-items:center;gap:8px;margin-bottom:6px;padding:6px 10px;display:grid}.rv-group-row:hover{border-color:#cbd5e1}.rv-exec-card{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:10px 14px;display:flex}.rv-exec-title{color:#166534;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.rv-exec-desc{color:#15803d;margin:2px 0 0;font-size:11px}.setup-modal-container.calc-modal{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:16px!important;flex-direction:column!important;width:95vw!important;max-width:1200px!important;height:88vh!important;min-height:680px!important;max-height:90vh!important;display:flex!important;overflow:hidden!important;box-shadow:0 25px 50px -12px #0f172a40!important}.calc-modal .setup-modal-header{background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.calc-modal .setup-modal-title{color:#0f172a;align-items:center;gap:10px;font-size:16px;font-weight:750;display:flex}.calc-modal .setup-modal-body{background:#fff!important;flex:auto!important;min-height:0!important;padding:24px 28px!important;overflow:hidden auto!important}.calc-modal input[type=text],.calc-modal input[type=number],.calc-modal select,.calc-modal textarea,.calc-modal .booking-input,.calc-modal .grid-textarea{color:#1e293b;box-sizing:border-box;background-color:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:8px 13px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s,background-color .15s}.calc-modal input[type=text]:hover,.calc-modal input[type=number]:hover,.calc-modal select:hover,.calc-modal textarea:hover{background-color:#fcfdfe;border-color:#94a3b8}.calc-modal input[type=text]:focus,.calc-modal input[type=number]:focus,.calc-modal select:focus,.calc-modal textarea:focus{background-color:#fff;border-color:#0284c7;outline:none;box-shadow:0 0 0 3px #0284c724}.calc-modal select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:15px 15px;padding-right:32px}.calc-modal .form-field-group{flex-direction:column;gap:4px;display:flex}.calc-modal .field-label{color:#334155;align-items:center;gap:4px;margin-bottom:2px;font-size:12.5px;font-weight:650;display:flex}.calc-modal .field-description-hint{color:#64748b;margin-top:3px;font-size:11.5px;line-height:1.45}.calc-modal .section-subbox{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:14px;padding:18px 20px}.calc-modal .section-subbox-title{color:#0f172a;align-items:center;gap:8px;margin-bottom:4px;font-size:13.5px;font-weight:750;display:flex}.calc-modal .section-subbox-desc{color:#64748b;margin-bottom:12px;font-size:12px;line-height:1.5;display:block}.calc-modal .calc-empty-box{text-align:center;background:#fff;border:1.5px dashed #cbd5e1;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;margin-top:10px;margin-bottom:4px;padding:26px 20px;transition:all .15s;display:flex}.calc-modal .calc-empty-box:hover{background:#fafcff;border-color:#94a3b8}.calc-modal .calc-empty-box-icon{color:#0284c7;background:#e0f2fe;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:10px;display:flex}.calc-modal .calc-empty-box-title{color:#1e293b;margin-bottom:4px;font-size:13.5px;font-weight:700}.calc-modal .calc-empty-box-desc{color:#64748b;max-width:490px;margin-bottom:14px;font-size:12px;line-height:1.5}.calc-modal .calc-empty-box-btn{color:#0284c7;cursor:pointer;background:#fff;border:1px solid #bae6fd;border-radius:6px;align-items:center;gap:6px;padding:7px 16px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.calc-modal .calc-empty-box-btn:hover{color:#fff;background:#0284c7;border-color:#0284c7;box-shadow:0 2px 4px #0284c733}.calc-modal .toggle-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:flex-start;gap:12px;padding:12px 14px;transition:all .15s;display:flex}.calc-modal .toggle-card:hover{background:#f8fafc;border-color:#cbd5e1}.calc-modal .toggle-card.checked{background:#f0f9ff;border-color:#bae6fd}.calc-modal .toggle-card input[type=checkbox]{accent-color:#0284c7;cursor:pointer;width:16px;height:16px;margin-top:2px}.calc-modal .interim-table{border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:100%;overflow:hidden}.calc-modal .interim-table th{color:#475569;text-transform:uppercase;letter-spacing:.03em;text-align:left;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:10px 12px;font-size:11.5px;font-weight:700}.calc-modal .interim-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:8px 10px;font-size:12.5px}.calc-modal .interim-table tr:last-child td{border-bottom:none}.calc-modal .interim-table tr:hover td{background-color:#f8fafc}.calc-modal .table-input-compact{box-sizing:border-box;width:100%;background:#fff!important;border:1px solid #cbd5e1!important;border-radius:6px!important;height:34px!important;padding:4px 10px!important;font-size:12.5px!important}.calc-modal .table-input-compact:focus{outline:none;border-color:#0284c7!important;box-shadow:0 0 0 2px #0284c726!important}.calc-modal .methods-filter-bar{align-items:center;gap:10px;margin-bottom:10px;display:flex}.calc-modal .methods-checklist-grid{background:#fff;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;max-height:240px;padding:10px;display:grid;overflow-y:auto}.calc-modal .method-checkbox-item{cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8fafc;border:1px solid #f1f5f9;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;transition:all .15s;display:flex}.calc-modal .method-checkbox-item:hover{background:#f0f9ff;border-color:#bae6fd}.calc-modal .method-checkbox-item.selected{background:#e0f2fe;border-color:#7dd3fc}.calc-modal .method-checkbox-item input[type=checkbox]{accent-color:#0284c7;cursor:pointer;width:15px;height:15px}.calc-modal .poc-toggle-group{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;gap:4px;padding:4px;display:inline-flex}.calc-modal .poc-toggle-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 18px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex}.calc-modal .poc-toggle-btn:hover{color:#0f172a}.calc-modal .poc-toggle-btn.active{color:#0284c7;background:#fff;font-weight:700;box-shadow:0 1px 3px #00000014}.supplier-page-container{flex-direction:column;gap:24px;display:flex}.supplier-page-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-end;padding-bottom:20px;display:flex}.supplier-page-header .page-title{color:var(--text-dark);margin-bottom:4px;font-size:1.8rem}.supplier-page-header .page-subtitle{color:var(--text-light);font-size:.95rem}.supplier-header-actions{gap:12px;display:flex}.supplier-breadcrumb{color:var(--text-light);align-items:center;gap:8px;margin-bottom:4px;font-size:.88rem;display:flex}.supplier-breadcrumb a{color:var(--primary-color);font-weight:500;text-decoration:none}.supplier-breadcrumb a:hover{text-decoration:underline}.supplier-breadcrumb span.separator{color:var(--text-light);opacity:.5}.supplier-breadcrumb span.current{color:var(--text-dark);font-weight:500}.supplier-list-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;overflow:hidden;box-shadow:0 2px 10px #00000005}.supplier-list-filters{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:20px;display:flex}.supplier-filter-group{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.supplier-filter-group label{color:var(--text-light);font-size:.85rem;font-weight:500}.supplier-search-box{align-items:center;display:flex;position:relative}.supplier-search-box input{border:1px solid var(--border-color);border-radius:6px;outline:none;width:280px;padding:8px 12px 8px 36px;font-size:.9rem;transition:border-color .2s}.supplier-search-box input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #2e7d3214}.supplier-search-box .search-icon{color:var(--text-light);position:absolute;left:10px}.supplier-filter-select{border:1px solid var(--border-color);color:var(--text-dark);cursor:pointer;background:#fff;border-radius:6px;outline:none;padding:8px 12px;font-size:.9rem}.supplier-filter-select:focus{border-color:var(--primary-color)}.supplier-status-tabs{border:1px solid var(--border-color);border-radius:6px;gap:0;display:flex;overflow:hidden}.supplier-status-tab{color:var(--text-light);cursor:pointer;border:none;border-right:1px solid var(--border-color);background:#fff;padding:7px 16px;font-size:.85rem;font-weight:500;transition:all .15s}.supplier-status-tab:last-child{border-right:none}.supplier-status-tab:hover{background:#f9fafb}.supplier-status-tab.active{background:var(--primary-color);color:#fff}.supplier-table-container{overflow-x:auto}.supplier-table{border-collapse:collapse;width:100%;font-size:.9rem}.supplier-table th{text-align:left;color:var(--text-light);text-transform:uppercase;letter-spacing:.03em;border-bottom:2px solid var(--border-color);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#fafbfc;padding:12px 16px;font-size:.82rem;font-weight:600;transition:background .15s}.supplier-table th:hover{background-color:#f0f2f5}.supplier-table th .sort-arrow{opacity:.4;margin-left:4px;font-size:.7rem}.supplier-table th .sort-arrow.active{opacity:1;color:var(--primary-color)}.supplier-table td{border-bottom:1px solid var(--border-color);color:var(--text-dark);vertical-align:middle;padding:14px 16px}.supplier-table tbody tr{transition:background .1s}.supplier-table tbody tr:hover{background-color:#f9fafb}.supplier-table tbody tr:last-child td{border-bottom:none}.supplier-name-cell{flex-direction:column;gap:2px;display:flex}.supplier-name-link{color:var(--primary-color);cursor:pointer;font-weight:600;text-decoration:none}.supplier-name-link:hover{text-decoration:underline}.supplier-code-badge{color:var(--text-light);font-family:SFMono-Regular,Consolas,monospace;font-size:.75rem}.supplier-status-badge{letter-spacing:.02em;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.supplier-status-badge.active{color:#2e7d32;background:#e8f5e9}.supplier-status-badge.inactive{color:#9e9e9e;background:#f5f5f5}.supplier-actions-cell{align-items:center;gap:4px;display:flex}.supplier-action-btn{cursor:pointer;width:32px;height:32px;color:var(--text-light);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.supplier-action-btn:hover{color:var(--text-dark);background:#f0f2f5}.supplier-action-btn.view:hover{color:var(--primary-color);background:#e8f5e9}.supplier-action-btn.edit:hover{color:#1565c0;background:#e3f2fd}.supplier-action-btn.deactivate:hover{color:#e65100;background:#fff3e0}.supplier-action-btn.activate:hover{color:#2e7d32;background:#e8f5e9}.supplier-action-btn.delete:hover{color:#c62828;background:#ffebee}.supplier-pagination{border-top:1px solid var(--border-color);color:var(--text-light);justify-content:space-between;align-items:center;padding:16px 20px;font-size:.85rem;display:flex}.supplier-pagination-info{align-items:center;gap:6px;display:flex}.supplier-pagination-controls{align-items:center;gap:4px;display:flex}.supplier-page-btn{border:1px solid var(--border-color);cursor:pointer;color:var(--text-dark);background:#fff;border-radius:5px;padding:6px 12px;font-size:.85rem;transition:all .15s}.supplier-page-btn:hover:not(:disabled){border-color:var(--primary-color);background:#f0f2f5}.supplier-page-btn:disabled{opacity:.4;cursor:not-allowed}.supplier-page-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.supplier-empty-state{text-align:center;color:var(--text-light);padding:60px 20px}.supplier-empty-state .empty-icon{width:80px;height:80px;color:var(--text-light);background:#f5f7fa;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.supplier-empty-state h3{color:var(--text-dark);margin-bottom:8px;font-size:1.1rem}.supplier-empty-state p{max-width:400px;margin:0 auto;font-size:.9rem}.supplier-loading-state{text-align:center;color:var(--text-light);padding:60px 20px;font-size:.95rem}.supplier-loading-spinner{border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:32px;height:32px;margin:0 auto 16px;animation:.8s linear infinite spin}.supplier-error-state{text-align:center;color:var(--error-color);padding:40px 20px;font-size:.9rem}.supplier-error-state button{border:1px solid var(--error-color);color:var(--error-color);cursor:pointer;background:#fff;border-radius:6px;margin-top:12px;padding:8px 16px;font-size:.85rem}.supplier-modal-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.supplier-modal-card{background:#fff;border-radius:12px;width:90%;max-width:440px;padding:28px;animation:.2s slideUp;box-shadow:0 20px 60px #00000026}.supplier-modal-card h3{color:var(--text-dark);align-items:center;gap:10px;margin-bottom:12px;font-size:1.1rem;display:flex}.supplier-modal-card p{color:var(--text-light);margin-bottom:20px;font-size:.9rem;line-height:1.5}.supplier-modal-actions{justify-content:flex-end;gap:10px;display:flex}.supplier-modal-actions .btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:9px 18px;font-size:.88rem;font-weight:500;transition:all .15s;display:flex}.supplier-modal-actions .btn-cancel{color:var(--text-dark);border:1px solid var(--border-color);background:#fff}.supplier-modal-actions .btn-cancel:hover{background:#f9fafb}.supplier-modal-actions .btn-danger{color:#fff;background:#c62828}.supplier-modal-actions .btn-danger:hover{background:#b71c1c}.supplier-modal-actions .btn-warning{color:#fff;background:#e65100}.supplier-modal-actions .btn-warning:hover{background:#d84315}.supplier-toast{color:#fff;z-index:2000;border-radius:8px;align-items:center;gap:10px;padding:14px 20px;font-size:.9rem;font-weight:500;animation:.3s slideInRight;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 24px #00000026}.supplier-toast.success{background:#2e7d32}.supplier-toast.error{background:#c62828}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media (width<=768px){.supplier-page-header{flex-direction:column;align-items:stretch;gap:16px}.supplier-header-actions{justify-content:flex-start}.supplier-list-filters{flex-direction:column}.supplier-search-box input{width:100%}.supplier-table th,.supplier-table td{padding:10px 12px;font-size:.85rem}.supplier-pagination{flex-direction:column;gap:12px}}.ref-mat-page-container{flex-direction:column;gap:20px;display:flex}.ref-mat-header{border-bottom:1px solid var(--border-color,#e2e8f0);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;padding-bottom:16px;display:flex}.ref-mat-breadcrumb{color:#64748b;align-items:center;gap:6px;margin-bottom:4px;font-size:.85rem;display:flex}.ref-mat-breadcrumb a{color:#2563eb;font-weight:500;text-decoration:none}.ref-mat-breadcrumb a:hover{text-decoration:underline}.ref-mat-title-area h1{color:#0f172a;align-items:center;gap:10px;margin:0;font-size:1.6rem;font-weight:700;display:flex}.ref-mat-title-area p{color:#64748b;margin:4px 0 0;font-size:.88rem}.ref-mat-header-actions{align-items:center;gap:10px;display:flex}.ref-mat-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000000a}.ref-mat-toolbar{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:16px 20px;display:flex}.ref-mat-status-tabs{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ref-mat-status-tab{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.ref-mat-status-tab:hover{color:#1e293b;background:#f1f5f9}.ref-mat-status-tab.active{color:#fff;background:#0f172a;border-color:#0f172a}.ref-mat-tab-count{background:#00000014;border-radius:10px;padding:1px 6px;font-size:.75rem;font-weight:700}.ref-mat-status-tab.active .ref-mat-tab-count{color:#fff;background:#ffffff40}.ref-mat-search-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ref-mat-search-box{align-items:center;display:flex;position:relative}.ref-mat-search-box input{background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;width:260px;padding:7px 32px 7px 34px;font-size:.84rem;transition:border-color .15s}.ref-mat-search-box input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.ref-mat-search-clear{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:2px;position:absolute;right:8px}.ref-mat-search-clear:hover{color:#475569}.ref-mat-type-select{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;padding:7px 12px;font-size:.84rem}.ref-mat-table-container{overflow-x:auto}.ref-mat-table{border-collapse:collapse;text-align:left;width:100%;font-size:.83rem}.ref-mat-table th{color:#475569;white-space:nowrap;letter-spacing:.02em;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:10px 14px;font-weight:600}.ref-mat-table td{color:#334155;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:11px 14px}.ref-mat-table tr:hover td{background:#f8fafc}.ref-mat-table tr.selected td{background:#eff6ff}.ref-mat-name-cell{flex-direction:column;gap:2px;display:flex}.ref-mat-link{color:#1d4ed8;font-weight:600;text-decoration:none;transition:color .15s}.ref-mat-link:hover{color:#1e40af;text-decoration:underline}.ref-mat-id-sub{color:#64748b;align-items:center;gap:4px;font-family:ui-monospace,monospace;font-size:.74rem;display:inline-flex}.ref-mat-type-badge{white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:.74rem;font-weight:600;display:inline-block}.type-crm{color:#3730a3;background:#e0e7ff;border:1px solid #c7d2fe}.type-block{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.type-blank{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd}.type-sample{color:#6b21a8;background:#f3e8ff;border:1px solid #e9d5ff}.type-solution{color:#115e59;background:#ccfbf1;border:1px solid #99f6e4}.type-other{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0}.ref-mat-status-badge{border-radius:12px;align-items:center;gap:4px;padding:3px 8px;font-size:.74rem;font-weight:600;display:inline-flex}.status-active{color:#15803d;background:#dcfce7}.status-inactive{color:#64748b;background:#f1f5f9}.status-draft{color:#854d0e;background:#fef9c3}.status-expired{color:#b91c1c;background:#fee2e2}.status-retired{color:#4b5563;background:#f3f4f6}.ref-mat-services-pill-group{flex-wrap:wrap;gap:4px;max-width:240px;display:flex}.ref-mat-service-tag{color:#334155;white-space:nowrap;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:2px 7px;font-size:.72rem}.ref-mat-service-tag-more{color:#475569;background:#e2e8f0;border-radius:4px;padding:2px 6px;font-size:.72rem;font-weight:600}.ref-mat-range-preview{color:#334155;font-size:.78rem;line-height:1.35}.ref-mat-range-exp{color:#0f172a;font-weight:700}.ref-mat-range-limits{color:#64748b;font-size:.73rem}.ref-mat-flag-badges{gap:4px;display:flex}.flag-blank{color:#0284c7;background:#e0f2fe;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:600}.flag-hazardous{color:#dc2626;background:#fee2e2;border-radius:4px;align-items:center;gap:2px;padding:2px 6px;font-size:.7rem;font-weight:600;display:inline-flex}.ref-mat-expiry-warning{color:#d97706;align-items:center;gap:4px;font-size:.74rem;font-weight:600;display:inline-flex}.ref-mat-expiry-danger{color:#dc2626;align-items:center;gap:4px;font-size:.74rem;font-weight:600;display:inline-flex}.ref-mat-actions-group{align-items:center;gap:6px;display:flex}.ref-mat-action-btn{color:#475569;cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:5px;justify-content:center;align-items:center;padding:5px 8px;transition:all .15s;display:inline-flex}.ref-mat-action-btn:hover{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1}.ref-mat-action-btn.edit-btn:hover{color:#2563eb;background:#eff6ff;border-color:#bfdbfe}.ref-mat-action-btn.toggle-btn:hover{color:#ca8a04;background:#fefce8;border-color:#fef08a}.ref-mat-action-btn.delete-btn:hover{color:#dc2626;background:#fef2f2;border-color:#fecaca}.ref-mat-footer{color:#64748b;background:#f8fafc;border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 20px;font-size:.82rem;display:flex}.ref-mat-pagination{align-items:center;gap:6px;display:flex}.ref-mat-page-btn{cursor:pointer;color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:4px;padding:4px 10px;font-size:.8rem;transition:all .15s}.ref-mat-page-btn:hover:not(:disabled){background:#f1f5f9}.ref-mat-page-btn:disabled{opacity:.5;cursor:not-allowed}.ref-mat-page-btn.active{color:#fff;background:#0f172a;border-color:#0f172a}.ref-mat-loading,.ref-mat-empty{text-align:center;color:#64748b;padding:50px 20px}.ref-mat-empty h3{color:#1e293b;margin-bottom:6px;font-size:1.1rem}.ref-mat-modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9999;background:#0f172a99;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.ref-mat-modal{background:#fff;border-radius:12px;width:100%;max-width:480px;animation:.2s ease-out modalFadeIn;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.ref-mat-modal-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.ref-mat-modal-header h3{color:#0f172a;align-items:center;gap:8px;margin:0;font-size:1.1rem;display:flex}.ref-mat-modal-body{color:#334155;padding:20px;font-size:.9rem;line-height:1.5}.ref-mat-modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.supplier-form-container{flex-direction:column;gap:24px;max-width:960px;display:flex}.supplier-form-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.supplier-form-header h1{color:var(--text-dark);align-items:center;gap:12px;font-size:1.6rem;display:flex}.supplier-form-header .code-display{color:var(--primary-color);background:#f0f7f0;border-radius:6px;padding:4px 12px;font-family:SFMono-Regular,Consolas,monospace;font-size:.85rem;font-weight:600}.supplier-form-tabs{border-bottom:2px solid var(--border-color);gap:0;margin-bottom:4px;display:flex}.supplier-form-tab{color:var(--text-light);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:12px 20px;font-size:.9rem;font-weight:500;transition:all .15s;display:flex;position:relative}.supplier-form-tab:hover{color:var(--text-dark)}.supplier-form-tab.active{color:var(--primary-color);font-weight:600}.supplier-form-tab.active:after{content:"";background:var(--primary-color);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-2px;left:0;right:0}.supplier-form-tab .tab-badge{background:var(--primary-color);color:#fff;border-radius:10px;padding:1px 6px;font-size:.7rem;font-weight:600}.supplier-form-tab.locked{opacity:.4;cursor:not-allowed}.supplier-form-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;padding:28px;box-shadow:0 2px 10px #00000005}.supplier-form-section-title{color:var(--text-dark);border-bottom:1px solid var(--border-color);align-items:center;gap:8px;margin-bottom:20px;padding-bottom:10px;font-size:1.05rem;font-weight:600;display:flex}.supplier-form-grid{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px;display:grid}.supplier-form-grid.three-col{grid-template-columns:1fr 1fr 1fr}.supplier-form-grid .full-width{grid-column:1/-1}.supplier-form-group{flex-direction:column;gap:6px;display:flex}.supplier-form-group label{color:var(--text-dark);font-size:.85rem;font-weight:600}.supplier-form-group label .required{color:var(--error-color);margin-left:2px}.supplier-form-group input,.supplier-form-group textarea,.supplier-form-group select{border:1px solid var(--border-color);color:var(--text-dark);background:#fff;border-radius:6px;outline:none;padding:10px 12px;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.supplier-form-group input:focus,.supplier-form-group textarea:focus,.supplier-form-group select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #2e7d3214}.supplier-form-group input:read-only{color:var(--text-light);cursor:not-allowed;background:#f9fafb}.supplier-form-group input.error,.supplier-form-group textarea.error,.supplier-form-group select.error{border-color:var(--error-color);box-shadow:0 0 0 3px #ef444414}.supplier-form-group textarea{resize:vertical;min-height:80px}.supplier-field-error{color:var(--error-color);font-size:.78rem;font-weight:500}.supplier-address-section{margin-bottom:28px}.supplier-address-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.supplier-address-header h4{color:var(--text-dark);font-size:.95rem;font-weight:600}.supplier-copy-btn{border:1px solid var(--border-color);color:var(--primary-color);cursor:pointer;background:#fff;border-radius:5px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:500;transition:all .15s;display:flex}.supplier-copy-btn:hover{border-color:var(--primary-color);background:#f0f7f0}.supplier-contacts-list{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.supplier-contact-card{border:1px solid var(--border-color);background:#fafbfc;border-radius:8px;justify-content:space-between;align-items:center;padding:14px 16px;transition:border-color .15s;display:flex}.supplier-contact-card:hover{border-color:var(--primary-color)}.supplier-contact-card.primary{border-color:var(--primary-color);background:#f0f7f0}.supplier-contact-info{flex-direction:column;gap:4px;display:flex}.supplier-contact-info .contact-name{color:var(--text-dark);align-items:center;gap:8px;font-weight:600;display:flex}.supplier-contact-info .contact-name .primary-badge{background:var(--primary-color);color:#fff;border-radius:10px;padding:2px 8px;font-size:.7rem;font-weight:600}.supplier-contact-info .contact-detail{color:var(--text-light);font-size:.83rem}.supplier-contact-actions{gap:6px;display:flex}.supplier-contact-actions button{cursor:pointer;width:30px;height:30px;color:var(--text-light);background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;transition:all .15s;display:flex}.supplier-contact-actions button:hover{color:var(--text-dark);background:#f0f2f5}.supplier-contact-actions button.delete:hover{color:#c62828;background:#ffebee}.supplier-contact-modal-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.supplier-contact-modal{background:#fff;border-radius:12px;width:92%;max-width:560px;max-height:85vh;padding:28px;overflow-y:auto;box-shadow:0 20px 60px #00000026}.supplier-contact-modal h3{color:var(--text-dark);margin-bottom:20px;font-size:1.1rem}.supplier-duplicate-warning{background:#fff3e0;border:1px solid #ffe0b2;border-radius:8px;align-items:flex-start;gap:12px;margin-bottom:20px;padding:14px 16px;display:flex}.supplier-duplicate-warning .warning-icon{color:#e65100;flex-shrink:0;margin-top:2px}.supplier-duplicate-warning .warning-content{flex:1}.supplier-duplicate-warning .warning-content h4{color:#e65100;margin-bottom:6px;font-size:.9rem}.supplier-duplicate-warning .warning-content p{color:var(--text-dark);margin-bottom:4px;font-size:.82rem}.supplier-form-footer{border-top:1px solid var(--border-color);background:var(--card-bg);z-index:10;justify-content:flex-end;gap:12px;margin-top:8px;padding-top:20px;display:flex;position:sticky;bottom:0}.supplier-form-footer .btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:500;transition:all .15s;display:flex}.supplier-form-footer .btn-save{background:var(--primary-color);color:#fff}.supplier-form-footer .btn-save:hover{background:#246328}.supplier-form-footer .btn-save:disabled{opacity:.6;cursor:not-allowed}.supplier-form-footer .btn-cancel{color:var(--text-dark);border:1px solid var(--border-color);background:#fff}.supplier-form-footer .btn-cancel:hover{background:#f9fafb}@media (width<=768px){.supplier-form-grid,.supplier-form-grid.three-col{grid-template-columns:1fr}.supplier-form-card{padding:20px}.supplier-form-tabs{overflow-x:auto}.supplier-form-header{flex-direction:column;align-items:flex-start;gap:12px}.supplier-address-header{flex-direction:column;align-items:flex-start;gap:8px}}.supplier-detail-container{flex-direction:column;gap:24px;display:flex}.supplier-profile-header{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:28px;box-shadow:0 2px 10px #00000005}.supplier-profile-top{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.supplier-profile-identity{align-items:center;gap:20px;display:flex}.supplier-profile-avatar{width:64px;height:64px;color:var(--primary-color);background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;font-weight:700;display:flex}.supplier-profile-info h1{color:var(--text-dark);align-items:center;gap:12px;margin-bottom:6px;font-size:1.5rem;display:flex}.supplier-profile-info .supplier-detail-code{color:var(--text-light);background:#f5f7fa;border-radius:5px;padding:3px 10px;font-family:SFMono-Regular,Consolas,monospace;font-size:.82rem;font-weight:500}.supplier-profile-meta{color:var(--text-light);gap:20px;margin-top:8px;font-size:.88rem;display:flex}.supplier-profile-meta span{align-items:center;gap:6px;display:flex}.supplier-profile-actions{flex-shrink:0;gap:10px;display:flex}.supplier-profile-actions .btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:9px 16px;font-size:.85rem;font-weight:500;transition:all .15s;display:flex}.supplier-profile-actions .btn-outline{color:var(--text-dark);border:1px solid var(--border-color);background:#fff}.supplier-profile-actions .btn-outline:hover{border-color:var(--primary-color);background:#f9fafb}.supplier-detail-tabs{border-bottom:2px solid var(--border-color);gap:0;display:flex;overflow-x:auto}.supplier-detail-tab{color:var(--text-light);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:12px 18px;font-size:.88rem;font-weight:500;transition:all .15s;display:flex;position:relative}.supplier-detail-tab:hover{color:var(--text-dark)}.supplier-detail-tab.active{color:var(--primary-color);font-weight:600}.supplier-detail-tab.active:after{content:"";background:var(--primary-color);height:2px;position:absolute;bottom:-2px;left:0;right:0}.supplier-detail-tab .tab-count{color:var(--primary-color);background:#e8f5e9;border-radius:10px;padding:1px 6px;font-size:.7rem;font-weight:600}.supplier-detail-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;padding:28px;box-shadow:0 2px 10px #00000005}.supplier-detail-section-title{color:var(--text-dark);border-bottom:1px solid var(--border-color);align-items:center;gap:8px;margin-bottom:18px;padding-bottom:10px;font-size:1rem;font-weight:600;display:flex}.supplier-info-grid{grid-template-columns:1fr 1fr;gap:16px 32px;margin-bottom:24px;display:grid}.supplier-info-grid.three-col{grid-template-columns:1fr 1fr 1fr}.supplier-info-item{flex-direction:column;gap:4px;display:flex}.supplier-info-item .info-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-light);font-size:.78rem;font-weight:600}.supplier-info-item .info-value{color:var(--text-dark);word-break:break-word;font-size:.92rem}.supplier-info-item .info-value.empty{color:#bdbdbd;font-style:italic}.supplier-addresses-grid{grid-template-columns:1fr 1fr 1fr;gap:20px;margin-bottom:24px;display:grid}.supplier-address-card{border:1px solid var(--border-color);background:#fafbfc;border-radius:8px;padding:18px}.supplier-address-card h4{color:var(--text-dark);align-items:center;gap:6px;margin-bottom:12px;font-size:.88rem;font-weight:600;display:flex}.supplier-address-card p{color:var(--text-dark);font-size:.85rem;line-height:1.6}.supplier-address-card p.empty{color:#bdbdbd;font-style:italic}.supplier-detail-contacts-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.supplier-detail-contact-card{border:1px solid var(--border-color);background:#fafbfc;border-radius:8px;padding:18px;transition:border-color .15s}.supplier-detail-contact-card.primary{border-color:var(--primary-color);background:#f0f7f0}.supplier-detail-contact-card h4{color:var(--text-dark);align-items:center;gap:8px;margin-bottom:10px;font-size:.92rem;font-weight:600;display:flex}.supplier-detail-contact-card .role-tag{color:#1565c0;background:#e3f2fd;border-radius:10px;padding:2px 8px;font-size:.72rem;font-weight:600}.supplier-detail-contact-card .contact-field{color:var(--text-light);align-items:center;gap:8px;margin-bottom:6px;font-size:.84rem;display:flex}.supplier-detail-contact-card .contact-field svg{flex-shrink:0}.supplier-bank-masked{letter-spacing:.05em;font-family:SFMono-Regular,Consolas,monospace}.supplier-audit-timeline{flex-direction:column;gap:0;display:flex}.supplier-audit-entry{border-bottom:1px solid var(--border-color);gap:16px;padding:16px 0;display:flex}.supplier-audit-entry:last-child{border-bottom:none}.supplier-audit-dot{background:var(--primary-color);border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:6px}.supplier-audit-dot.status{background:#e65100}.supplier-audit-dot.delete{background:#c62828}.supplier-audit-dot.contact{background:#1565c0}.supplier-audit-dot.bank{background:#6a1b9a}.supplier-audit-content{flex:1}.supplier-audit-content .audit-action{color:var(--text-dark);margin-bottom:4px;font-size:.88rem;font-weight:600}.supplier-audit-content .audit-details{color:var(--text-light);margin-bottom:4px;font-size:.82rem}.supplier-audit-content .audit-meta{color:#9e9e9e;gap:12px;font-size:.78rem;display:flex}.supplier-detail-empty{text-align:center;color:var(--text-light);padding:50px 20px}.supplier-detail-empty .empty-icon{background:#f5f7fa;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 14px;display:flex}.supplier-detail-empty h4{color:var(--text-dark);margin-bottom:6px;font-size:1rem}.supplier-detail-empty p{font-size:.85rem}.supplier-quick-stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.supplier-stat-card{border:1px solid var(--border-color);text-align:center;background:#fafbfc;border-radius:8px;padding:18px}.supplier-stat-card .stat-value{color:var(--primary-color);margin-bottom:4px;font-size:1.5rem;font-weight:700}.supplier-stat-card .stat-label{text-transform:uppercase;color:var(--text-light);letter-spacing:.03em;font-size:.78rem;font-weight:600}@media (width<=768px){.supplier-profile-top{flex-direction:column}.supplier-profile-actions{flex-wrap:wrap;width:100%}.supplier-info-grid,.supplier-info-grid.three-col,.supplier-addresses-grid,.supplier-detail-contacts-grid{grid-template-columns:1fr}.supplier-quick-stats{grid-template-columns:1fr 1fr}.supplier-detail-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}}.ref-form-container{flex-direction:column;gap:20px;max-width:1400px;margin:0 auto;display:flex}.ref-form-header{border-bottom:1px solid var(--border-color,#e2e8f0);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;padding-bottom:16px;display:flex}.ref-form-breadcrumb{color:#64748b;align-items:center;gap:6px;margin-bottom:4px;font-size:.85rem;display:flex}.ref-form-breadcrumb a{color:#2563eb;font-weight:500;text-decoration:none}.ref-form-breadcrumb a:hover{text-decoration:underline}.ref-form-title-area h1{color:#0f172a;align-items:center;gap:10px;margin:0;font-size:1.6rem;font-weight:700;display:flex}.ref-form-title-area p{color:#64748b;margin:4px 0 0;font-size:.88rem}.ref-form-header-actions{align-items:center;gap:10px;display:flex}.ref-form-tabs{background:#fff;border-bottom:2px solid #e2e8f0;border-radius:8px 8px 0 0;gap:4px;padding:0 16px;display:flex}.ref-form-tab-btn{color:#64748b;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:12px 20px;font-size:.9rem;font-weight:600;transition:all .15s;display:inline-flex;position:relative}.ref-form-tab-btn:hover{color:#0f172a}.ref-form-tab-btn.active{color:#2563eb}.ref-form-tab-btn.active:after{content:"";background:#2563eb;height:2px;position:absolute;bottom:-2px;left:0;right:0}.ref-tab-badge{color:#2563eb;background:#eff6ff;border-radius:10px;padding:2px 7px;font-size:.75rem;font-weight:700}.ref-form-card{background:#fff;border:1px solid #e2e8f0;border-top:none;border-radius:0 0 10px 10px;padding:24px;box-shadow:0 1px 3px #0000000a}.ref-form-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.ref-form-grid.full-width{grid-column:span 2}.ref-form-group{flex-direction:column;gap:6px;display:flex}.ref-form-group.span-2{grid-column:span 2}.ref-form-group label{color:#334155;align-items:center;gap:4px;font-size:.85rem;font-weight:600;display:flex}.ref-form-group label .required{color:#ef4444}.ref-form-group input[type=text],.ref-form-group input[type=date],.ref-form-group input[type=number],.ref-form-group select,.ref-form-group textarea{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;padding:9px 12px;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.ref-form-group input[readonly],.ref-form-group input:disabled{color:#64748b;cursor:not-allowed;background:#f8fafc}.ref-form-group input:focus,.ref-form-group select:focus,.ref-form-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.ref-form-group textarea{resize:vertical;min-height:80px}.ref-form-hint{color:#64748b;margin-top:2px;font-size:.78rem}.ref-checkbox-group{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:flex}.ref-checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:10px;display:flex}.ref-checkbox-label input[type=checkbox]{cursor:pointer;accent-color:#2563eb;width:17px;height:17px;margin-top:2px}.ref-checkbox-text{flex-direction:column;display:flex}.ref-checkbox-title{color:#1e293b;font-size:.88rem;font-weight:600}.ref-checkbox-sub{color:#64748b;font-size:.78rem}.ref-matrix-container{flex-direction:column;gap:16px;display:flex}.ref-values-section-header{margin-bottom:4px}.ref-values-title{color:#0f172a;align-items:center;gap:6px;margin:0 0 6px;font-size:1.05rem;font-weight:700;display:flex}.ref-title-bullet{color:#dc2626;font-weight:700}.ref-values-instructions{color:#475569;margin:0;font-size:.83rem;line-height:1.55}.ref-matrix-toolbar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.ref-matrix-search{align-items:center;display:flex;position:relative}.ref-matrix-search input{background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;width:280px;padding:6px 30px 6px 32px;font-size:.84rem}.ref-matrix-search input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.ref-mat-search-icon{color:#94a3b8;pointer-events:none;position:absolute;left:10px}.ref-mat-search-clear{color:#94a3b8;cursor:pointer;background:0 0;border:none;align-items:center;display:flex;position:absolute;right:8px}.ref-matrix-actions{align-items:center;gap:8px;display:flex}.ref-unified-table-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:6px;overflow-x:auto}.ref-master-table{border-collapse:collapse;text-align:left;width:100%;font-size:.83rem}.ref-master-table thead th{color:#334155;white-space:nowrap;background:#fff;border-bottom:2px solid #e2e8f0;padding:10px 12px;font-weight:700}.ref-cat-bar-row{cursor:pointer;-webkit-user-select:none;user-select:none}.ref-cat-bar-cell{background:#f1f5f9;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;padding:8px 12px!important}.ref-cat-bar-row:hover .ref-cat-bar-cell{background:#e6edf5}.ref-cat-bar-content{justify-content:space-between;align-items:center;display:flex}.ref-cat-bar-left{align-items:center;gap:8px;display:flex}.ref-cat-gear-icon{color:#475569}.ref-cat-toggle-square{color:#334155;align-items:center;display:inline-flex}.ref-cat-title-text{color:#0f172a;font-size:.86rem;font-weight:700}.ref-cat-count-pill{color:#1e293b;background:#cbd5e1;border-radius:10px;padding:1px 6px;font-size:.72rem;font-weight:600}.ref-cat-selected-pill{color:#166534;background:#dcfce7;border:1px solid #bbf7d0;border-radius:10px;padding:1px 7px;font-size:.72rem;font-weight:600}.ref-cat-select-all-label{color:#475569;cursor:pointer;align-items:center;gap:5px;font-size:.76rem;display:flex}.ref-srv-data-row td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:8px 12px}.ref-srv-data-row:hover td{background:#f8fafc}.ref-srv-data-row.is-selected-row{background:#fafafa}.ref-srv-data-row.is-selected-row:hover td{background:#f1f5f9}.ref-srv-title-wrapper{align-items:center;gap:6px;display:flex}.ref-srv-name{color:#0284c7;cursor:pointer;font-weight:500}.ref-srv-name:hover{text-decoration:underline}.ref-srv-star{color:#0f172a;font-size:.85rem}.ref-srv-unit-tag{color:#64748b;background:#f1f5f9;border-radius:3px;margin-left:4px;padding:1px 5px;font-size:.7rem}.ref-srv-kw{color:#64748b;margin-top:1px;font-size:.7rem}.ref-cell-input{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:4px;outline:none;width:100%;max-width:140px;padding:5px 8px;font-size:.82rem;transition:all .15s}.ref-cell-input:focus{border-color:#0284c7;box-shadow:0 0 0 2px #0284c71f}.ref-cell-input::placeholder{color:#94a3b8;font-size:.78rem}.ref-form-footer{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding:16px 24px;display:flex}.ref-form-footer-info{color:#475569;font-size:.85rem}.ref-detail-container{flex-direction:column;gap:20px;max-width:1400px;margin:0 auto;display:flex}.ref-detail-header{border-bottom:1px solid var(--border-color,#e2e8f0);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:18px;display:flex}.ref-detail-breadcrumb{color:#64748b;align-items:center;gap:6px;margin-bottom:6px;font-size:.85rem;display:flex}.ref-detail-breadcrumb a{color:#2563eb;font-weight:500;text-decoration:none}.ref-detail-breadcrumb a:hover{text-decoration:underline}.ref-detail-title-box{flex-direction:column;gap:4px;display:flex}.ref-detail-title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ref-detail-title-row h1{color:#0f172a;margin:0;font-size:1.6rem;font-weight:700}.ref-detail-id-badge{color:#334155;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;padding:3px 8px;font-family:ui-monospace,monospace;font-size:.82rem;font-weight:700}.ref-detail-subtitle{color:#64748b;margin:0;font-size:.88rem}.ref-detail-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ref-detail-tabs-bar{background:#fff;border-bottom:2px solid #e2e8f0;border-radius:8px 8px 0 0;gap:6px;padding:0 16px;display:flex}.ref-detail-tab-btn{color:#64748b;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:12px 18px;font-size:.88rem;font-weight:600;transition:all .15s;display:inline-flex;position:relative}.ref-detail-tab-btn:hover{color:#0f172a}.ref-detail-tab-btn.active{color:#2563eb}.ref-detail-tab-btn.active:after{content:"";background:#2563eb;height:2px;position:absolute;bottom:-2px;left:0;right:0}.ref-detail-card{background:#fff;border:1px solid #e2e8f0;border-top:none;border-radius:0 0 10px 10px;padding:24px;box-shadow:0 1px 3px #0000000a}.ref-detail-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.ref-info-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:flex}.ref-info-box.span-2{grid-column:span 2}.ref-info-box.span-3{grid-column:span 3}.ref-info-box-header{color:#0f172a;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e2e8f0;align-items:center;gap:6px;padding-bottom:8px;font-size:.85rem;font-weight:700;display:flex}.ref-info-row{justify-content:space-between;padding:4px 0;font-size:.84rem;display:flex}.ref-info-label{color:#64748b;font-weight:500}.ref-info-val{color:#0f172a;text-align:right;font-weight:600}.ref-detail-table-box{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.ref-detail-table{border-collapse:collapse;text-align:left;width:100%;font-size:.83rem}.ref-detail-table th{color:#475569;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:10px 14px;font-weight:600}.ref-detail-table td{color:#334155;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:11px 14px}.ref-detail-table tr:last-child td{border-bottom:none}.ref-detail-table tr:hover td{background:#f8fafc}.ref-audit-timeline{flex-direction:column;gap:16px;padding-left:24px;display:flex;position:relative}.ref-audit-timeline:before{content:"";background:#e2e8f0;width:2px;position:absolute;top:8px;bottom:8px;left:7px}.ref-audit-entry{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:14px 18px;position:relative}.ref-audit-dot{background:#2563eb;border:3px solid #fff;border-radius:50%;width:16px;height:16px;position:absolute;top:14px;left:-24px;box-shadow:0 0 0 1px #cbd5e1}.ref-audit-entry-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;margin-bottom:6px;display:flex}.ref-audit-action{color:#0f172a;font-size:.88rem;font-weight:700}.ref-audit-time{color:#64748b;font-size:.78rem}.ref-audit-author{color:#475569;margin-bottom:8px;font-size:.8rem}.ref-audit-changes-list{background:#fff;border:1px solid #e2e8f0;border-radius:6px;margin-top:8px;padding:8px 12px;font-size:.8rem}.ref-audit-change-row{gap:8px;padding:2px 0;display:flex}.tmpl-form-container{flex-direction:column;gap:20px;max-width:1400px;margin:0 auto;display:flex}.tmpl-form-header{border-bottom:1px solid var(--border-color,#e2e8f0);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;padding-bottom:16px;display:flex}.tmpl-form-breadcrumb{color:#64748b;align-items:center;gap:6px;margin-bottom:4px;font-size:.85rem;display:flex}.tmpl-form-breadcrumb a{color:#2563eb;font-weight:500;text-decoration:none}.tmpl-form-breadcrumb a:hover{text-decoration:underline}.tmpl-form-breadcrumb .current{color:#0f172a;font-weight:600}.tmpl-form-title-area h1{color:#0f172a;align-items:center;gap:10px;margin:0;font-size:1.55rem;font-weight:700;display:flex}.tmpl-form-icon{color:#2563eb}.tmpl-form-title-area p{color:#64748b;margin:4px 0 0;font-size:.88rem}.tmpl-form-header-actions{align-items:center;gap:10px;display:flex}.tmpl-alert-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:8px;padding:12px 16px;font-size:.88rem;display:flex}.tmpl-form-tabs{background:#fff;border-bottom:2px solid #e2e8f0;border-radius:8px 8px 0 0;gap:4px;padding:0 16px;display:flex}.tmpl-tab-btn{color:#64748b;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:12px 20px;font-size:.9rem;font-weight:600;transition:all .15s;display:inline-flex;position:relative}.tmpl-tab-btn:hover{color:#0f172a}.tmpl-tab-btn.active{color:#2563eb}.tmpl-tab-btn.active:after{content:"";background:#2563eb;height:2px;position:absolute;bottom:-2px;left:0;right:0}.tmpl-tab-badge{color:#2563eb;background:#eff6ff;border-radius:10px;padding:2px 7px;font-size:.74rem;font-weight:700}.tmpl-tab-price-badge{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:2px 8px;font-size:.74rem;font-weight:700}.tmpl-form-card{background:#fff;border:1px solid #e2e8f0;border-top:none;border-radius:0 0 10px 10px;padding:24px;box-shadow:0 1px 3px #00000008}.tmpl-form-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.tmpl-form-group{flex-direction:column;gap:6px;display:flex}.tmpl-form-group.span-2{grid-column:span 2}.tmpl-form-group label{color:#334155;font-size:.85rem;font-weight:600}.tmpl-form-group label .required{color:#ef4444}.tmpl-form-group input,.tmpl-form-group select,.tmpl-form-group textarea{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;padding:9px 12px;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.tmpl-form-group input:focus,.tmpl-form-group select:focus,.tmpl-form-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.tmpl-form-hint{color:#64748b;font-size:.76rem}.field-error{color:#ef4444;font-size:.76rem}.tmpl-services-container{flex-direction:column;gap:16px;display:flex}.tmpl-matrix-info-banner{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;align-items:flex-start;gap:10px;padding:12px 16px;font-size:.84rem;line-height:1.5;display:flex}.tmpl-matrix-toolbar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.tmpl-matrix-search{align-items:center;display:flex;position:relative}.tmpl-matrix-search input{background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;width:280px;padding:6px 30px 6px 32px;font-size:.84rem}.tmpl-matrix-search input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.tmpl-matrix-actions{align-items:center;gap:8px;display:flex}.configured-count-badge{color:#2563eb;margin-left:8px;font-size:.82rem;font-weight:700}.tmpl-unified-table-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:6px;overflow-x:auto}.tmpl-master-table{border-collapse:collapse;text-align:left;width:100%;font-size:.83rem}.tmpl-master-table thead th{color:#334155;white-space:nowrap;background:#fff;border-bottom:2px solid #e2e8f0;padding:10px 12px;font-weight:700}.tmpl-cat-bar-row{cursor:pointer;-webkit-user-select:none;user-select:none}.tmpl-cat-bar-cell{background:#f1f5f9;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;padding:8px 12px!important}.tmpl-cat-bar-row:hover .tmpl-cat-bar-cell{background:#e6edf5}.tmpl-cat-bar-content{justify-content:space-between;align-items:center;display:flex}.tmpl-cat-bar-left{align-items:center;gap:8px;display:flex}.gear-icon{color:#475569}.toggle-square{color:#334155;align-items:center;display:inline-flex}.cat-title{color:#0f172a;font-size:.86rem;font-weight:700}.cat-count{color:#1e293b;background:#cbd5e1;border-radius:10px;padding:1px 6px;font-size:.72rem;font-weight:600}.cat-selected-badge{color:#166534;background:#dcfce7;border:1px solid #bbf7d0;border-radius:10px;padding:1px 7px;font-size:.72rem;font-weight:600}.select-all-label{color:#475569;cursor:pointer;align-items:center;gap:5px;font-size:.76rem;display:flex}.tmpl-srv-row td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:8px 12px}.tmpl-srv-row:hover td{background:#f8fafc}.tmpl-srv-row.is-selected td{background:#fafafa}.tmpl-srv-row.is-selected:hover td{background:#f1f5f9}.srv-name-box{align-items:center;gap:6px;display:flex}.srv-title{color:#0284c7;cursor:pointer;font-weight:600}.srv-title:hover{text-decoration:underline}.star-icon{color:#0f172a;font-size:.85rem}.kw-tag{color:#64748b;background:#f1f5f9;border-radius:3px;padding:1px 4px;font-size:.7rem}.capture-badge{border-radius:3px;padding:1px 5px;font-size:.7rem;font-weight:700}.capture-badge.lab{color:#1d4ed8;background:#eff6ff}.capture-badge.field{color:#15803d;background:#f0fdf4}.price-override-box{align-items:center;gap:6px;display:flex}.override-input{background:#fff;border:1px solid #cbd5e1;border-radius:4px;outline:none;width:90px;padding:4px 6px;font-size:.82rem}.override-input.has-override{color:#6b21a8;background:#faf5ff;border-color:#9333ea;font-weight:600}.override-tag{color:#7e22ce;background:#f3e8ff;border-radius:3px;padding:1px 4px;font-size:.68rem;font-weight:700}.tmpl-pricing-workspace{flex-direction:column;gap:20px;display:flex}.pricing-cards-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.pricing-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:14px;padding:20px;display:flex}.pricing-box.highlight{background:#fff;border-color:#cbd5e1;box-shadow:0 2px 6px #0000000a}.pricing-box-header{color:#0f172a;border-bottom:1px solid #e2e8f0;align-items:center;gap:8px;padding-bottom:10px;font-size:.95rem;font-weight:700;display:flex}.pricing-row{color:#334155;justify-content:space-between;align-items:center;font-size:.88rem;display:flex}.pricing-row.total-row{border-top:1px dashed #cbd5e1;margin-top:4px;padding-top:10px}.checkbox-toggle-label{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;align-items:flex-start;gap:10px;padding:12px;display:flex}.checkbox-toggle-label input{margin-top:2px}.custom-package-input-box{flex-direction:column;gap:4px;display:flex}.custom-package-input-box label{color:#334155;font-size:.8rem;font-weight:600}.package-rate-input{color:#0f172a;background:#eff6ff;border:1px solid #2563eb;border-radius:6px;width:200px;padding:8px 12px;font-size:1rem;font-weight:700}.tax-settings-row{color:#475569;align-items:center;gap:8px;font-size:.85rem;display:flex}.gst-input{text-align:center;border:1px solid #cbd5e1;border-radius:4px;width:60px;padding:5px 8px;font-weight:600}.pricing-row.grand-total-row{border-top:2px solid #e2e8f0;margin-top:10px;padding-top:14px}.grand-total-val{color:#15803d;font-size:1.4rem;font-weight:800}.tmpl-form-footer{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding:16px 24px;display:flex}.tmpl-footer-info{color:#475569;font-size:.85rem}.save-submit-btn{align-items:center;gap:6px;font-weight:600;display:inline-flex}.tmpl-detail-container{flex-direction:column;gap:20px;max-width:1400px;margin:0 auto;display:flex}.tmpl-detail-header{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;display:flex}.tmpl-detail-title-box{flex-direction:column;gap:6px;display:flex}.tmpl-detail-breadcrumb{color:#64748b;align-items:center;gap:6px;font-size:.85rem;display:flex}.tmpl-detail-breadcrumb a{color:#2563eb;font-weight:500;text-decoration:none}.tmpl-detail-breadcrumb a:hover{text-decoration:underline}.tmpl-detail-breadcrumb .current{color:#0f172a;font-weight:600}.tmpl-detail-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tmpl-detail-title-row h1{color:#0f172a;margin:0;font-size:1.6rem;font-weight:700}.tmpl-detail-code{color:#1e293b;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;padding:3px 8px;font-family:ui-monospace,monospace;font-size:.82rem;font-weight:700}.commercial-tag{color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:4px;padding:2px 7px;font-size:.78rem;font-weight:700}.tmpl-detail-desc{color:#475569;max-width:800px;margin:4px 0 0;font-size:.9rem}.tmpl-detail-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tmpl-detail-stats-bar{background:#fff;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;padding:16px 20px;display:grid;box-shadow:0 1px 3px #00000005}.stat-item{flex-direction:column;gap:2px;display:flex}.stat-label{color:#64748b;text-transform:uppercase;font-size:.78rem;font-weight:600}.stat-value{color:#0f172a;font-size:1.4rem;font-weight:800}.stat-value.highlight{color:#15803d}.tmpl-detail-tabs{background:#fff;border-bottom:2px solid #e2e8f0;border-radius:8px 8px 0 0;gap:4px;padding:0 16px;display:flex}.detail-tab-btn{color:#64748b;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:12px 18px;font-size:.88rem;font-weight:600;transition:all .15s;display:inline-flex;position:relative}.detail-tab-btn:hover{color:#0f172a}.detail-tab-btn.active{color:#2563eb}.detail-tab-btn.active:after{content:"";background:#2563eb;height:2px;position:absolute;bottom:-2px;left:0;right:0}.detail-card{background:#fff;border:1px solid #e2e8f0;border-top:none;border-radius:0 0 10px 10px;padding:24px;box-shadow:0 1px 3px #00000005}.services-table-header{margin-bottom:16px}.services-table-header h3{color:#0f172a;margin:0;font-size:1.15rem}.services-table-header .subtitle{color:#64748b;font-size:.84rem}.detail-services-table{border-collapse:collapse;text-align:left;width:100%;font-size:.84rem}.detail-services-table th{color:#475569;background:#f8fafc;border-bottom:2px solid #e2e8f0;padding:10px 12px;font-weight:700}.detail-services-table td{border-bottom:1px solid #f1f5f9;padding:10px 12px}.service-title-cell{align-items:center;gap:6px;display:flex}.service-title-cell .name{color:#0f172a;font-weight:600}.service-title-cell .star{color:#0f172a}.service-title-cell .kw{color:#64748b;background:#f1f5f9;border-radius:3px;padding:1px 4px;font-size:.72rem}.point-pill{border-radius:3px;padding:1px 6px;font-size:.7rem;font-weight:700}.point-pill.lab{color:#1d4ed8;background:#eff6ff}.point-pill.field{color:#15803d;background:#f0fdf4}.override-badge-sm{color:#7e22ce;background:#f3e8ff;border-radius:3px;margin-left:4px;padding:1px 4px;font-size:.68rem}.overview-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.overview-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:12px;padding:20px;display:flex}.overview-box h4{color:#0f172a;border-bottom:1px solid #e2e8f0;margin:0 0 4px;padding-bottom:8px;font-size:.95rem}.meta-row{justify-content:space-between;align-items:center;font-size:.86rem;display:flex}.meta-label{color:#64748b;font-weight:500}.meta-val{color:#0f172a;font-weight:600}.meta-block{flex-direction:column;gap:4px;display:flex}.meta-text{color:#334155;margin:0;font-size:.86rem;line-height:1.5}.pricing-detail-grid{max-width:600px}.pricing-summary-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:12px;padding:20px;display:flex}.pricing-summary-card h4{color:#0f172a;border-bottom:1px solid #e2e8f0;margin:0;padding-bottom:8px;font-size:1rem}.fee-row{color:#334155;justify-content:space-between;align-items:center;font-size:.88rem;display:flex}.fee-row.subtotal{border-top:1px dashed #cbd5e1;margin-top:4px;padding-top:10px;font-weight:600}.package-override-notice{background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;margin:4px 0;padding:10px 14px}.fee-row.grand-total{border-top:2px solid #e2e8f0;margin-top:10px;padding-top:14px}.total-amount{color:#15803d;font-size:1.4rem;font-weight:800}.spec-form-container{flex-direction:column;gap:16px;width:100%;display:flex}.spec-form-breadcrumb{color:#64748b;align-items:center;gap:6px;padding:4px 0;font-size:.78rem;display:flex}.spec-breadcrumb-link{cursor:pointer;transition:color .15s}.spec-breadcrumb-link:hover{color:#0284c7}.spec-form-header{background:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;padding:16px 22px;display:flex;box-shadow:0 1px 3px #0000000a}.btn-form-back{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.btn-form-back:hover{color:#0f172a;background:#f1f5f9}.spec-form-title{color:#0f172a;margin:0;font-size:1.15rem;font-weight:700}.spec-form-subtitle{color:#64748b;margin:2px 0 0;font-size:.78rem}.btn-form-cancel{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:7px;padding:8px 16px;font-size:.8125rem;font-weight:600}.btn-form-cancel:hover{color:#0f172a;background:#f8fafc}.btn-form-save{color:#fff;cursor:pointer;background:#0284c7;border:none;border-radius:7px;align-items:center;gap:6px;padding:8px 18px;font-size:.8125rem;font-weight:600;transition:all .15s;display:inline-flex;box-shadow:0 2px 6px #0284c740}.btn-form-save:hover:not(:disabled){background:#0369a1;transform:translateY(-1px)}.spec-form-error-alert{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:10px;padding:12px 16px;font-size:.8125rem;display:flex}.spec-section-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000000a}.spec-section-header{border-bottom:1px solid #f1f5f9;align-items:center;gap:8px;margin-bottom:18px;padding-bottom:12px;display:flex}.spec-section-tag{text-transform:uppercase;letter-spacing:.05em;color:#0369a1;background:#e0f2fe;border-radius:4px;padding:2px 8px;font-size:.68rem;font-weight:700}.spec-section-header h3{color:#0f172a;margin:0;font-size:.95rem;font-weight:700}.spec-section-header-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.spec-section-header-row h3{color:#0f172a;margin:2px 0 0;font-size:.95rem;font-weight:700}.spec-metadata-grid{grid-template-columns:repeat(2,1fr);gap:16px 20px;display:grid}.spec-field-group{flex-direction:column;gap:4px;display:flex}.spec-field-full{grid-column:1/-1}.spec-label{color:#334155;font-size:.8125rem;font-weight:600}.req-star{color:#ef4444}.spec-field-hint{color:#64748b;font-size:.72rem}.spec-input-control,.spec-select-control,.spec-textarea-control{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;width:100%;padding:8px 12px;font-size:.8125rem;transition:border-color .15s}.spec-input-control:focus,.spec-select-control:focus,.spec-textarea-control:focus{border-color:#0284c7;box-shadow:0 0 0 2px #0284c71a}.spec-status-radio-group{gap:8px;margin-top:2px;display:flex}.radio-pill{color:#475569;cursor:pointer;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.radio-pill.active{color:#fff;background:#0f172a;border-color:#0f172a}.spec-guidance-banner{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.spec-guidance-text{color:#0369a1;font-size:.76rem;line-height:1.45}.spec-guidance-text p{margin:0 0 4px}.spec-guidance-text p:last-child{margin-bottom:0}.rule-counter-badge{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0;border-radius:12px;padding:4px 10px;font-size:.75rem;font-weight:600}.spec-matrix-search-box{background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:6px;min-width:220px;padding:5px 10px;display:flex}.spec-matrix-search-box input{border:none;outline:none;width:100%;font-size:.78rem}.spec-expand-btn-group{gap:4px;display:flex}.btn-spec-toggle-all{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:4px;padding:4px 8px;font-size:.72rem;font-weight:600}.btn-spec-toggle-all:hover{color:#0f172a;background:#f1f5f9}.spec-accordion-table-wrap{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.spec-matrix-table-scroll{max-height:600px;overflow:auto}.spec-config-table{border-collapse:collapse;text-align:left;width:100%;font-size:.78rem}.spec-config-table thead th{z-index:10;color:#475569;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #cbd5e1;padding:10px 8px;font-size:.7rem;font-weight:700;position:sticky;top:0}.spec-cat-header-row{cursor:pointer;-webkit-user-select:none;user-select:none;background:#f1f5f9}.spec-cat-header-row:hover{background:#e2e8f0}.spec-cat-header-content{justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.spec-cat-title{color:#0f172a;font-size:.8125rem;font-weight:700}.spec-cat-count-pill{color:#475569;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:1px 6px;font-size:.7rem}.spec-cat-active-rules-badge{color:#16a34a;background:#dcfce7;border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.spec-service-row td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:6px}.spec-service-row.service-configured{background-color:#f0fdf4}.service-title-cell{flex-direction:column;display:flex}.service-title-text{color:#0f172a;font-weight:600}.service-sub-type{color:#64748b;font-size:.68rem}.keyword-cell-badge{color:#475569;background:#f1f5f9;border-radius:4px;padding:1px 5px;font-size:.7rem}.method-cell-text{color:#475569;font-size:.72rem}.unit-cell-tag{color:#0369a1;background:#e0f2fe;border-radius:3px;padding:1px 4px;font-size:.7rem}.spec-cell-input{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:4px;outline:none;width:100%;padding:5px 6px;font-size:.75rem}.spec-cell-input:focus{background:#fff;border-color:#0284c7}.spec-cell-select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:4px;outline:none;padding:5px 2px;font-size:.75rem;font-weight:700}.btn-clear-single-rule{color:#94a3b8;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:2px;display:flex}.btn-clear-single-rule:hover{color:#ef4444}.spec-form-bottom-bar{border-top:1px solid #f1f5f9;justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;padding-top:14px;display:flex}.spec-detail-container{flex-direction:column;gap:16px;width:100%;display:flex}.spec-detail-breadcrumb{color:#64748b;align-items:center;gap:6px;padding:4px 0;font-size:.78rem;display:flex}.spec-detail-header-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;padding:18px 24px;display:flex;box-shadow:0 1px 3px #0000000a}.spec-header-left{align-items:center;gap:14px;display:flex}.btn-detail-back{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.btn-detail-back:hover{color:#0f172a;background:#f1f5f9}.spec-detail-title{color:#0f172a;margin:0;font-size:1.25rem;font-weight:700}.status-badge-lg{border-radius:12px;padding:3px 8px;font-size:.72rem;font-weight:700}.status-badge-lg.active{color:#15803d;background:#dcfce7}.status-badge-lg.inactive{color:#64748b;background:#f1f5f9}.version-pill{color:#475569;background:#f1f5f9;border-radius:4px;padding:2px 7px;font-size:.7rem;font-weight:600}.spec-header-actions{align-items:center;gap:8px;display:flex}.btn-detail-action{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:5px;padding:7px 14px;font-size:.78rem;font-weight:600;display:inline-flex}.btn-detail-action:hover{color:#0f172a;background:#f8fafc}.btn-detail-action-primary{color:#fff;cursor:pointer;background:#0284c7;border:none;border-radius:6px;align-items:center;gap:5px;padding:7px 16px;font-size:.78rem;font-weight:600;display:inline-flex}.btn-detail-action-primary:hover{background:#0369a1}.spec-detail-desc-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px 18px}.spec-detail-tabs-bar{gap:8px;display:flex}.spec-detail-tab{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:.8125rem;font-weight:600;transition:all .15s;display:inline-flex}.spec-detail-tab:hover{color:#1e293b;background:#f8fafc}.spec-detail-tab.active{color:#fff;background:#0f172a;border-color:#0f172a}.spec-detail-content-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px;box-shadow:0 1px 3px #0000000a}.spec-detail-loading,.spec-detail-error{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:48px;display:flex}
