.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--pill-border);background:var(--pill-bg);color:var(--text-secondary);cursor:pointer;border-radius:50%;transition:all .2s ease;padding:0}.theme-toggle:hover{background:var(--menu-hover-bg);border-color:var(--accent);color:var(--accent)}.theme-toggle svg{width:18px;height:18px;transition:transform .3s ease}.theme-toggle:hover svg{transform:rotate(20deg)}.utilization-page{padding:24px;max-width:1400px;margin:0 auto}.utilization-header{margin-bottom:24px}.header-title{display:flex;align-items:center;gap:12px;margin-bottom:8px}.header-description{color:var(--text-secondary);font-size:.875rem;margin:0}.utilization-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid var(--border);padding-bottom:8px}.tab-button{display:flex;align-items:center;gap:8px;padding:10px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:.875rem;cursor:pointer;border-radius:8px 8px 0 0;transition:all .2s}.tab-button:hover{background:var(--bg-secondary);color:var(--text-primary)}.tab-button.active{background:var(--primary);color:#fff}.utilization-content{background:var(--panel);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.calc-controls{display:flex;gap:16px;align-items:flex-end;margin-bottom:24px;flex-wrap:wrap}.control-group{display:flex;flex-direction:column;gap:6px}.control-group label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.control-group input,.control-group select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:.875rem;background:var(--bg-secondary);color:var(--text-primary)}.control-group input:focus,.control-group select:focus{outline:none;border-color:var(--primary)}.btn-calculate{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-calculate:hover:not(:disabled){background:var(--primary-hover)}.btn-calculate:disabled{opacity:.6;cursor:not-allowed}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.summary-card{background:var(--bg-secondary);border-radius:8px;padding:16px;border-left:4px solid var(--primary)}.summary-card.anomaly{border-left-color:#ef4444}.summary-card h4{font-size:.875rem;color:var(--text-secondary);margin:0 0 8px}.summary-card .value{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.summary-card .sub-value{font-size:.75rem;color:var(--text-secondary);margin-top:4px}.results-table-container{overflow-x:auto}.results-table{width:100%;border-collapse:collapse;font-size:.875rem}.results-table th,.results-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border)}.results-table th{background:var(--bg-secondary);color:var(--text-secondary);font-weight:500;white-space:nowrap}.results-table td{color:var(--text-primary)}.results-table tbody tr:hover{background:var(--bg-secondary)}.results-table .number{text-align:right;font-variant-numeric:tabular-nums}.results-table .status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:500}.results-table .status-badge.normal{background:#dcfce7;color:#166534}.results-table .status-badge.anomaly{background:#fee2e2;color:#dc2626}.results-table .status-badge.no_data{background:#f3f4f6;color:#6b7280}.utilization-bar{width:100px;height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden}.utilization-bar .fill{height:100%;background:var(--primary);transition:width .3s}.utilization-bar .fill.high{background:#22c55e}.utilization-bar .fill.warning{background:#f59e0b}.utilization-bar .fill.danger{background:#ef4444}.config-table-container{overflow-x:auto}.config-table{width:100%;border-collapse:collapse;font-size:.875rem}.config-table th,.config-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border)}.config-table th{background:var(--bg-secondary);color:var(--text-secondary);font-weight:500}.config-table input{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:4px;font-size:.875rem}.config-table input:focus{outline:none;border-color:var(--primary)}.config-actions{display:flex;gap:8px;margin-top:16px;justify-content:flex-end}.btn-save{padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:.875rem;cursor:pointer}.btn-save:hover{background:var(--primary-hover)}.loading-container,.empty-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:var(--text-secondary)}.loading-container .spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.calc-message{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:.875rem}.calc-message.success{background:#dcfce7;color:#166534}.calc-message.error{background:#fee2e2;color:#dc2626}.searchable-select{position:relative;min-width:200px}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-input-wrapper .search-icon{position:absolute;left:10px;color:var(--text-secondary);pointer-events:none}.search-input-wrapper input{width:100%;padding:8px 32px;border:1px solid var(--border);border-radius:6px;font-size:.875rem;background:var(--bg-secondary);color:var(--text-primary)}.search-input-wrapper input:focus{outline:none;border-color:var(--primary)}.search-input-wrapper input::-moz-placeholder{color:var(--text-secondary)}.search-input-wrapper input::placeholder{color:var(--text-secondary)}.search-input-wrapper .clear-btn{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:var(--border);border-radius:50%;color:var(--text-secondary);cursor:pointer;transition:all .2s}.search-input-wrapper .clear-btn:hover{background:var(--text-secondary);color:#fff}.dropdown-list{position:absolute;top:100%;left:0;right:0;max-height:240px;overflow-y:auto;margin:4px 0 0;padding:4px 0;background:var(--panel);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000026;list-style:none;z-index:100}.dropdown-item{padding:8px 12px;font-size:.875rem;color:var(--text-primary);cursor:pointer;transition:background .15s}.dropdown-item:hover{background:var(--bg-secondary)}.dropdown-item.selected{background:var(--primary);color:#fff}.dropdown-item.no-result{color:var(--text-secondary);cursor:default;text-align:center;font-style:italic}.dropdown-item.no-result:hover{background:transparent}.capacity-warning{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;margin-bottom:16px;background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;color:#92400e;font-size:.875rem}.capacity-warning svg{flex-shrink:0;color:#d97706;margin-top:2px}.capacity-warning strong{display:block;margin-bottom:4px;color:#78350f}.capacity-warning span{color:#92400e;font-size:.8125rem}.results-table tr.no-capacity{background:#fbbf240f}.results-table tr.no-capacity:hover{background:#fbbf241f}.capa-missing{color:#d97706;font-size:.75rem;font-weight:500}.no-capa-badge{margin-left:8px;font-size:.6875rem;color:var(--text-secondary);background:var(--bg-secondary);padding:2px 6px;border-radius:3px}.sp-guide-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.sp-guide-modal{background:var(--panel, #ffffff);border-radius:16px;box-shadow:0 20px 60px #0003;max-width:1100px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.sp-guide-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border, #e2e8f0);background:var(--panel, #ffffff);flex-shrink:0}.sp-guide-header h2{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary, #1e293b)}.sp-guide-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:8px;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s}.sp-guide-close:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #1e293b)}.sp-guide-fixed{display:flex;flex-direction:column;gap:10px;padding:16px 20px;flex-shrink:0;background:var(--panel, #ffffff)}.sp-guide-timeline{display:flex;align-items:center;justify-content:center;gap:0;padding:12px 16px;background:var(--bg-secondary, #f8fafc);border-radius:10px;overflow-x:auto}.sp-guide-stage{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 10px;cursor:pointer;border-radius:8px;transition:all .2s;min-width:72px}.sp-guide-stage:hover{background:var(--panel, #ffffff);box-shadow:0 2px 8px #00000014}.sp-guide-stage.selected{background:var(--panel, #ffffff);box-shadow:0 4px 16px #3b82f633;transform:translateY(-2px)}.sp-guide-stage-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s}.sp-guide-stage-icon svg{width:16px;height:16px}.sp-guide-stage.completed .sp-guide-stage-icon{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 2px 8px #22c55e4d}.sp-guide-stage.current .sp-guide-stage-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 12px #3b82f666;animation:sp-guide-pulse 2s infinite}.sp-guide-stage.upcoming .sp-guide-stage-icon{background:var(--panel, #ffffff);color:var(--text-secondary, #94a3b8);border:2px dashed var(--border, #e2e8f0)}@keyframes sp-guide-pulse{0%,to{box-shadow:0 2px 12px #3b82f666}50%{box-shadow:0 2px 20px #3b82f699}}.sp-guide-stage-number{font-size:.625rem;font-weight:700;color:var(--text-primary, #1e293b)}.sp-guide-stage.upcoming .sp-guide-stage-number{color:var(--text-secondary, #94a3b8)}.sp-guide-stage-name{font-size:.6875rem;color:var(--text-secondary, #64748b);text-align:center;white-space:nowrap;max-width:72px;overflow:hidden;text-overflow:ellipsis}.sp-guide-stage.selected .sp-guide-stage-name{color:var(--text-primary, #1e293b);font-weight:600}.sp-guide-connector{display:flex;align-items:center;color:var(--border, #e2e8f0);padding:0 4px}.sp-guide-connector svg{width:14px;height:14px}.sp-guide-connector.completed{color:#22c55e}.sp-guide-position{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 14px;background:#dbeafe;color:#1d4ed8;border-radius:6px;font-size:.8125rem}.sp-guide-position strong{font-weight:600}.sp-guide-content{display:flex;flex-direction:column;gap:16px;padding:0 20px 20px;overflow-y:auto;flex:1}.sp-guide-detail{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:20px;animation:sp-guide-fade-in .2s ease-out}@keyframes sp-guide-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sp-guide-detail-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.sp-guide-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:700;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.sp-guide-detail-header h3{font-size:18px;font-weight:600;color:var(--text-primary, #1e293b);margin:0}.sp-guide-objective{font-size:14px;color:var(--text-secondary, #64748b);line-height:1.6;margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid var(--border, #e2e8f0)}.sp-guide-actions{display:flex;flex-direction:column;gap:0}.sp-guide-action-step{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--border, #f1f5f9)}.sp-guide-action-step:last-child{border-bottom:none}.sp-guide-action-number{flex-shrink:0;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:12px;font-weight:700;margin-top:1px}.sp-guide-action-body{flex:1;min-width:0}.sp-guide-action-text{font-size:13px;color:var(--text-primary, #1e293b);line-height:1.6}.sp-guide-action-where{display:inline-block;margin-left:6px;padding:1px 8px;background:var(--bg-secondary, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:4px;font-size:11px;color:var(--text-secondary, #64748b);font-weight:500;vertical-align:middle}.sp-guide-action-tip{display:flex;align-items:flex-start;gap:6px;margin-top:6px;padding:6px 10px;background:#ecfdf5;border-radius:6px;font-size:12px;color:#065f46;line-height:1.5}.sp-guide-action-tip svg{flex-shrink:0;margin-top:2px;color:#10b981}.sp-guide-action-warning{display:flex;align-items:flex-start;gap:6px;margin-top:6px;padding:6px 10px;background:#fef2f2;border-radius:6px;font-size:12px;color:#991b1b;line-height:1.5}.sp-guide-action-warning svg{flex-shrink:0;margin-top:2px;color:#ef4444}.sp-guide-section--spaced{margin-top:12px}.sp-guide-sections{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.sp-guide-section{background:var(--bg-secondary, #f8fafc);border-radius:8px;padding:14px}.sp-guide-section--full{grid-column:1 / -1}.sp-guide-section h4{font-size:13px;font-weight:600;color:var(--text-primary, #1e293b);margin:0 0 8px}.sp-guide-section ul,.sp-guide-section ol{margin:0;padding:0 0 0 18px;font-size:13px;color:var(--text-primary, #475569);line-height:1.6}.sp-guide-section ul li,.sp-guide-section ol li{margin-bottom:4px}.sp-guide-section--tips{background:#ecfdf5;border-left:3px solid #10b981}.sp-guide-section--tips ul{color:#065f46}.sp-guide-section--warning{background:#fef2f2;border-left:3px solid #ef4444}.sp-guide-section--warning ul{color:#991b1b}.sp-guide-method{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:12px;margin-bottom:10px}.sp-guide-method:last-child{margin-bottom:0}.sp-guide-method h5{font-size:13px;font-weight:600;color:var(--primary, #3b82f6);margin:0 0 4px}.sp-guide-method-desc{font-size:12px;color:var(--text-secondary, #64748b);margin:0 0 8px}.sp-guide-method ol{margin:0;padding:0 0 0 18px;font-size:12px;color:var(--text-primary, #475569);line-height:1.5}.sp-guide-method ol li{margin-bottom:2px}.sp-guide-nav{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--border, #e2e8f0)}.sp-guide-nav-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);cursor:pointer;transition:all .2s}.sp-guide-nav-btn:hover:not(:disabled){background:var(--bg-secondary, #f1f5f9);border-color:var(--primary, #3b82f6);color:var(--primary, #3b82f6)}.sp-guide-nav-btn:disabled{opacity:.4;cursor:not-allowed}.sp-guide-nav-indicator{font-size:13px;font-weight:600;color:var(--text-secondary, #64748b)}@media (max-width: 1024px){.sp-guide-timeline{justify-content:flex-start;padding:12px 8px}.sp-guide-stage{min-width:60px;flex-shrink:0}.sp-guide-sections{grid-template-columns:1fr}}@media (max-width: 640px){.sp-guide-overlay{padding:12px}.sp-guide-modal{max-height:95vh;border-radius:12px}.sp-guide-header,.sp-guide-fixed{padding:12px 16px}.sp-guide-content{padding:0 16px 16px}.sp-guide-stage{min-width:50px;padding:4px 6px}.sp-guide-stage-icon{width:30px;height:30px}.sp-guide-stage-icon svg{width:14px;height:14px}}:root[data-theme=dark] .sp-guide-position{background:#3b82f626;color:#93c5fd}:root[data-theme=dark] .sp-guide-section--tips{background:#10b9811a}:root[data-theme=dark] .sp-guide-section--tips ul{color:#6ee7b7}:root[data-theme=dark] .sp-guide-section--warning{background:#ef44441a}:root[data-theme=dark] .sp-guide-section--warning ul{color:#fca5a5}:root[data-theme=dark] .sp-guide-action-tip{background:#10b9811a;color:#6ee7b7}:root[data-theme=dark] .sp-guide-action-warning{background:#ef44441a;color:#fca5a5}.sp-stage-icon{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;color:#fff;line-height:1}.sp-stage-icon--init{background:#94a3b8}.sp-stage-icon--plan{background:#f59e0b}.sp-stage-icon--confirmed{background:#22c55e}.sp-cust-name--new-prospect{color:#7c3aed;font-weight:700}.sp-cust-badge--new{font-size:10px;background:#7c3aed;color:#fff;padding:1px 4px;border-radius:4px}.sp-cust-name--plan{color:#f59e0b;font-weight:700}.sp-cust-name--confirmed{color:#22c55e;font-weight:700}.sp-pill{display:inline-flex;align-items:baseline;gap:8px;padding:6px 10px;border-radius:999px;font-weight:800;font-size:16px;background:transparent}.sp-pill--tnt-assign{border:2px solid #6366f1;color:#6366f1}.sp-pill--dys-assign{border:2px solid #8b5cf6;color:#8b5cf6}.sp-pill--tnt-plan{border:2px solid #3b82f6;color:#3b82f6;cursor:pointer}.sp-pill--dys-plan{border:2px solid #10b981;color:#10b981;cursor:pointer}.sp-pill--tnt-confirmed{border:2px solid #3b82f6;color:#3b82f6}.sp-pill--dys-confirmed{border:2px solid #10b981;color:#10b981}.sp-pill__label{font-size:12px;font-weight:700}.sp-pill__unit{font-size:12px}.sp-ratio-card{display:inline-flex;flex-direction:column;align-items:center;padding:6px 14px;border-radius:10px;min-width:80px}.sp-ratio-card--goal-assign{background:linear-gradient(135deg,#6366f114,#8b5cf614);border:1px solid rgba(99,102,241,.2)}.sp-ratio-card--conf-assign{background:linear-gradient(135deg,#10b98114,#05966914);border:1px solid rgba(16,185,129,.2)}.sp-ratio-card--conf-goal{background:linear-gradient(135deg,#3b82f614,#2563eb14);border:1px solid rgba(59,130,246,.2)}.sp-ratio-card__label{font-size:11px;font-weight:600;letter-spacing:-.3px}.sp-ratio-card__label--indigo{color:#6366f1}.sp-ratio-card__label--emerald{color:#10b981}.sp-ratio-card__label--blue{color:#3b82f6}.sp-ratio-card__value{font-size:18px;font-weight:800}.sp-color--achieved{color:#10b981}.sp-color--near{color:#f59e0b}.sp-color--short{color:#ef4444}.sp-color--muted{color:#94a3b8}.sp-accent{color:var(--primary, #1e3a8a);font-weight:700;font-size:14px}.sp-progress-bar{width:120px;height:8px;background:var(--bg-muted, #e0e0e0);border-radius:4px;overflow:hidden;position:relative}.sp-progress-bar__fill--plan{position:absolute;left:0;top:0;height:100%;background:#f59e0b;border-radius:4px;transition:width .3s ease}.sp-progress-bar__fill--confirmed{position:absolute;left:0;top:0;height:100%;background:#22c55e;border-radius:4px;transition:width .3s ease}.sp-progress-text--complete{color:#22c55e}.sp-summary-confirmed{color:#22c55e;font-weight:500}.sp-summary-inprogress{color:#f59e0b;font-weight:500}.sp-prev-row{background:var(--bg-muted, #f8f8f8)}.sp-prev-label{text-align:center;font-size:11px;color:var(--text-secondary, #999)}.sp-prev-cell{color:var(--text-secondary, #999)}.sp-prev-cell--bold{color:var(--text-secondary, #999);font-weight:600}.sp-target-label{text-align:center;font-size:11px;color:var(--accent, #2563eb);font-weight:600}.sp-delete-btn{font-size:12px;padding:4px 6px;color:#ef4444;background:transparent;border:1px solid #fca5a5}.sp-delete-btn:hover{background:#ef444414}.sp-price--accent{color:var(--primary, #1e3a8a);font-weight:700}.sp-price--danger{color:#dc2626;font-weight:700}.sp-stage-color--plan{color:#f59e0b}.sp-stage-color--confirmed{color:#22c55e}.sp-ai-fab{position:fixed;right:20px;width:56px;height:56px;border-radius:50%;color:#fff;border:none;box-shadow:0 4px 12px #0000004d;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:24px;z-index:1200;transition:all .2s}.sp-ai-fab--active{background:#10b981}.sp-ai-fab--inactive{background:#3b82f6}.sp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}.sp-overlay--dim{background:#00000059}.sp-overlay--dark{background:#00000073}.sp-loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100}.sp-step-dot{width:20px;height:20px;border-radius:50%;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.sp-step-dot--active{background:var(--accent, #2563eb);color:var(--on-accent, #fff)}.sp-step-dot--inactive{background:transparent;color:var(--text-secondary)}.sp-step-line--done{height:2px;background:var(--accent, #2563eb);flex:1;border-radius:2px}.sp-step-line--pending{height:2px;background:var(--border);flex:1;border-radius:2px}.assign-input[type=number]::-webkit-inner-spin-button,.assign-input[type=number]::-webkit-outer-spin-button,.inline-edit-input[type=number]::-webkit-inner-spin-button,.inline-edit-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.assign-input[type=number],.inline-edit-input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.sp-popup{font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,sans-serif!important;font-size:13px!important}.sp-popup *{font-family:inherit!important}.sp-popup .form-label,.sp-popup .muted,.sp-popup .pane-header,.sp-popup div,.sp-popup span,.sp-popup label{font-size:13px!important}.sp-popup .search-input{font-size:13px!important;width:90px!important;height:30px!important}.sp-popup .search-input option{font-size:13px!important}.sp-popup .assign-input{font-size:13px!important;height:30px!important;width:auto!important}.sp-popup .table th,.sp-popup .table td,.sp-popup .table td div,.sp-popup .btn{font-size:13px!important}.sp-unit-sheet{height:66vh;width:760px;max-width:96vw;background:var(--panel);padding:12px;border-left:1px solid var(--border);box-shadow:-8px 0 24px #0000002e;overflow:hidden}.sp-guide-trigger-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid var(--border, #e2e8f0);border-radius:6px;color:var(--text-secondary, #64748b);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.sp-guide-trigger-btn:hover{background:var(--bg-secondary, #f1f5f9);border-color:var(--primary, #3b82f6);color:var(--primary, #3b82f6)}:root[data-theme=dark] .sf-root{--sf-bg: #0f1117;--sf-bg-alt: #141720;--sf-bg-muted: #1a1d28;--sf-panel: #1e2130;--sf-panel-2: #252838;--sf-border: #2e3348;--sf-text: #e2e8f0;--sf-text-secondary: #94a3b8;--sf-text-muted: #64748b;--sf-row-plan: #162040;--sf-row-fc: #1c1a10;--sf-row-actual: #0f1f14;--sf-row-prev-actual: #1a1428;--sf-row-selected: #1e3a5f;--sf-blue-bg: #172554;--sf-blue-bg-light: #1e3a5f;--sf-green-bg: #14352a;--sf-green-bg-light: #0f2d20;--sf-yellow-bg: #2d2006;--sf-purple-bg: #1e1338;--sf-red-bg: #2d1212;--sf-track: #2e3348}:root[data-theme=dark] .sf-root .recharts-tooltip-wrapper .recharts-default-tooltip{background:#1e2130!important;border-color:#2e3348!important}:root[data-theme=dark] .sf-tooltip{background:#1e2130!important;border-color:#2e3348!important;color:#e2e8f0!important}:root[data-theme=dark] .sf-tab-bar{background:var(--sf-bg-alt)!important;border-bottom-color:var(--sf-border)!important}:root[data-theme=dark] .sf-tab{border-color:var(--sf-border)!important;background:var(--sf-panel)!important;color:var(--sf-text-secondary)!important}:root[data-theme=dark] .sf-tab.active{border-color:#3b82f6!important;background:var(--sf-blue-bg)!important;color:#60a5fa!important}:root[data-theme=dark] .sf-tab.active.dashboard{border-color:#8b5cf6!important;background:var(--sf-purple-bg)!important;color:#a78bfa!important}:root[data-theme=dark] .sf-tab-number{background:var(--sf-border)!important;color:var(--sf-text-muted)!important}:root[data-theme=dark] .sf-tab.active .sf-tab-number{background:#3b82f6!important;color:#fff!important}:root[data-theme=dark] .sf-tab-connector{background:var(--sf-border)!important}:root[data-theme=dark] .sf-summary-card{background:linear-gradient(135deg,#1e3a6e,#162040)!important}:root[data-theme=dark] .sf-table-wrapper{border-color:var(--sf-border)!important}:root[data-theme=dark] .sf-thead{background:var(--sf-bg-muted)!important}:root[data-theme=dark] .sf-thead th{background:var(--sf-bg-muted)!important;border-bottom-color:var(--sf-border)!important;color:var(--sf-text-secondary)!important}:root[data-theme=dark] .sf-tbody td{border-bottom-color:var(--sf-border)!important}:root[data-theme=dark] .sf-tbody tr:hover{background:var(--sf-panel)!important}:root[data-theme=dark] .sf-row-category{background:var(--sf-panel)!important}:root[data-theme=dark] .sf-row-category.selected{background:var(--sf-blue-bg)!important}:root[data-theme=dark] .sf-row-unit{background:var(--sf-bg-alt)!important}:root[data-theme=dark] .sf-row-unit.selected{background:var(--sf-blue-bg-light)!important}:root[data-theme=dark] .sf-row-status.selected{background:var(--sf-blue-bg)!important}:root[data-theme=dark] .sf-chart-area{background:var(--sf-panel)!important;border-color:var(--sf-border)!important}:root[data-theme=dark] .sf-chart-area h4{color:var(--sf-text)!important}:root[data-theme=dark] .sf-root .recharts-cartesian-grid line{stroke:var(--sf-border)!important}:root[data-theme=dark] .sf-root .recharts-text{fill:var(--sf-text-muted)!important}:root[data-theme=dark] .sf-root .recharts-legend-item-text{color:var(--sf-text-secondary)!important}:root[data-theme=dark] .sf-filter-bar{border-bottom-color:var(--sf-border)!important}:root[data-theme=dark] .sf-filter-bar label{color:var(--sf-text-muted)!important}:root[data-theme=dark] .sf-filter-bar select,:root[data-theme=dark] .sf-filter-bar input[type=text]{background:var(--sf-panel)!important;border-color:var(--sf-border)!important;color:var(--sf-text)!important}:root[data-theme=dark] .sf-company-btn{border-color:var(--sf-border)!important;background:var(--sf-panel)!important;color:var(--sf-text-secondary)!important}:root[data-theme=dark] .sf-company-btn.active{border-color:#3b82f6!important;background:#3b82f6!important;color:#fff!important}:root[data-theme=dark] .sf-category-badge{background:var(--sf-blue-bg)!important;border-color:#3b82f6!important;color:#60a5fa!important}:root[data-theme=dark] .sf-floating-bar{background:linear-gradient(135deg,#1e3a6e,#162040)!important;border-top-color:#2563eb!important}:root[data-theme=dark] .sf-kpi-card{background:var(--sf-panel)!important;border-color:var(--sf-border)!important}:root[data-theme=dark] .sf-progress-track{background:var(--sf-track)!important}:root[data-theme=dark] .sf-warning-card{background:var(--sf-yellow-bg)!important;border-color:#854d0e!important}:root[data-theme=dark] .sf-modal-content{background:var(--sf-panel)!important;color:var(--sf-text)!important}:root[data-theme=dark] .sf-modal-content h3{color:var(--sf-text)!important}:root[data-theme=dark] .sf-modal-content label{color:var(--sf-text-muted)!important}:root[data-theme=dark] .sf-modal-content input,:root[data-theme=dark] .sf-modal-content select,:root[data-theme=dark] .sf-modal-content textarea{background:var(--sf-bg-alt)!important;border-color:var(--sf-border)!important;color:var(--sf-text)!important}:root[data-theme=dark] .sf-modal-content input[readonly]{background:var(--sf-bg-muted)!important}:root[data-theme=dark] .sf-month-btn{border-color:var(--sf-border)!important;background:var(--sf-panel)!important;color:var(--sf-text-secondary)!important}:root[data-theme=dark] .sf-month-btn.selected{border-color:#3b82f6!important;background:var(--sf-blue-bg)!important;color:#60a5fa!important}:root[data-theme=dark] .sf-month-btn:disabled{background:var(--sf-bg-muted)!important;color:var(--sf-text-muted)!important}:root[data-theme=dark] .sf-readonly-field{background:var(--sf-bg-muted)!important;border-color:var(--sf-border)!important;color:var(--sf-text)!important}:root[data-theme=dark] .sf-error-bg{background:var(--sf-red-bg)!important}:root[data-theme=dark] .sf-editor-summary{background:var(--sf-bg-muted)!important;border-bottom-color:var(--sf-border)!important}:root[data-theme=dark] .sf-editor-summary .sf-divider{border-left-color:var(--sf-border)!important}:root[data-theme=dark] .sf-rate-badge.positive{background:var(--sf-green-bg)!important}:root[data-theme=dark] .sf-rate-badge.negative{background:var(--sf-red-bg)!important}:root[data-theme=dark] .sf-rate-badge.warning{background:var(--sf-yellow-bg)!important}:root[data-theme=dark] .sf-data-row-plan{background:var(--sf-row-plan)!important}:root[data-theme=dark] .sf-data-row-plan td{background:var(--sf-row-plan)!important}:root[data-theme=dark] .sf-data-row-fc{background:var(--sf-row-fc)!important}:root[data-theme=dark] .sf-data-row-fc td{background:var(--sf-bg-alt)!important}:root[data-theme=dark] .sf-data-row-actual{background:var(--sf-row-actual)!important}:root[data-theme=dark] .sf-data-row-actual td{background:var(--sf-row-actual)!important}:root[data-theme=dark] .sf-data-row-prev{background:var(--sf-row-prev-actual)!important}:root[data-theme=dark] .sf-data-row-prev td{background:var(--sf-row-prev-actual)!important}:root[data-theme=dark] .sf-sticky-col{background:var(--sf-bg-muted)!important}:root[data-theme=dark] .sf-annual-total-header{background:var(--sf-blue-bg)!important}:root[data-theme=dark] .sf-annual-plan{background:var(--sf-blue-bg)!important}:root[data-theme=dark] .sf-annual-fc{background:var(--sf-bg-muted)!important}:root[data-theme=dark] .sf-annual-actual{background:var(--sf-green-bg)!important}:root[data-theme=dark] .sf-annual-prev{background:var(--sf-purple-bg)!important}:root[data-theme=dark] .sf-past-month{background:var(--sf-bg-muted)!important}:root[data-theme=dark] .sf-btn-outline{background:var(--sf-panel)!important}:root[data-theme=dark] .sf-sidebar{background:var(--sf-bg-alt)!important;border-right-color:var(--sf-border)!important}:root[data-theme=dark] .sf-sidebar-header{background:var(--sf-blue-bg)!important;border-bottom-color:var(--sf-border)!important}:root[data-theme=dark] .sf-sidebar-header span[style*="color: #1e40af"]{color:#60a5fa!important}:root[data-theme=dark] .sf-customer-item{background:var(--sf-panel)!important;color:var(--sf-text)!important}:root[data-theme=dark] .sf-customer-item.selected{background:#3b82f6!important;color:#fff!important}:root[data-theme=dark] .sf-group-label.plan{background:var(--sf-blue-bg)!important;color:#60a5fa!important}:root[data-theme=dark] .sf-group-label.no-plan{background:var(--sf-yellow-bg)!important;color:#fbbf24!important}:root[data-theme=dark] .sf-remark-modal{background:var(--sf-panel)!important}:root[data-theme=dark] .sf-remark-month{background:var(--sf-bg-alt)!important;border-color:var(--sf-border)!important}:root[data-theme=dark] .sf-remark-month.current{background:var(--sf-yellow-bg)!important;border-color:#854d0e!important}:root[data-theme=dark] .sf-remark-text{color:var(--sf-text)!important}:root[data-theme=dark] .sf-remark-text.empty{color:var(--sf-text-muted)!important}:root[data-theme=dark] .sf-batch-modal{background:var(--sf-panel)!important}:root[data-theme=dark] .sf-batch-success{background:var(--sf-red-bg)!important}:root[data-theme=dark] .sf-btn-cancel{background:var(--sf-panel)!important;border-color:var(--sf-border)!important;color:var(--sf-text-secondary)!important}:root[data-theme=dark] .sf-root kbd{background:var(--sf-bg-muted)!important;color:var(--sf-text-muted)!important}:root[data-theme=dark] .sf-status-btn{border-color:var(--sf-border)!important;background:var(--sf-panel)!important;color:var(--sf-text-secondary)!important}:root[data-theme=dark] .sf-status-btn.active{border-color:#3b82f6!important;background:var(--sf-blue-bg)!important;color:#60a5fa!important}:root[data-theme=dark] .sf-floating-confirm{background:#1e2130!important}:root[data-theme=dark] .sf-unit-card{background:var(--sf-panel)!important;border-color:var(--sf-border)!important}:root[data-theme=dark] .sf-fc-btn{background:var(--sf-blue-bg)!important;border-color:#3b82f6!important;color:#60a5fa!important}:root[data-theme=dark] .sf-confirm-btn{background:var(--sf-green-bg)!important;border-color:#22c55e!important;color:#4ade80!important}:root[data-theme=dark] .sf-modal-table thead tr{background:var(--sf-bg-muted)!important}:root[data-theme=dark] .sf-modal-table th,:root[data-theme=dark] .sf-modal-table td{border-bottom-color:var(--sf-border)!important}:root[data-theme=dark] .sf-app-message{background:var(--sf-panel)!important}:root[data-theme=dark] .sf-app-message .sf-msg-text{color:var(--sf-text)!important}:root[data-theme=dark] .sf-msg-icon.success{background:var(--sf-green-bg)!important}:root[data-theme=dark] .sf-msg-icon.error{background:var(--sf-red-bg)!important}:root[data-theme=dark] .sf-msg-icon.warning{background:var(--sf-yellow-bg)!important}:root[data-theme=dark] .sf-msg-icon.info{background:var(--sf-blue-bg)!important}:root[data-theme=dark] .sf-dist-table thead tr{background:var(--sf-bg-muted)!important}:root[data-theme=dark] .sf-dist-table th,:root[data-theme=dark] .sf-dist-table td{border-bottom-color:var(--sf-border)!important}:root[data-theme=dark] .sf-candidate-item{background:var(--sf-bg-alt)!important;border-color:var(--sf-border)!important}:root[data-theme=dark] .sf-chart-toggle{border-color:var(--sf-border)!important;background:var(--sf-panel)!important;color:var(--sf-text-secondary)!important}:root[data-theme=dark] .sf-chart-toggle.active{border-color:#3b82f6!important;background:var(--sf-blue-bg)!important;color:#60a5fa!important}.fcst-root{display:flex;flex-direction:column;height:100%;background:var(--bg, #fff);color:var(--text-primary, #111);--fcst-input-bg: #fff2cc;--fcst-auto-bg: #e2efda;--fcst-ref-bg: #f4f5f7;--fcst-ref-text: #6b7280;--fcst-agg-bg: #e3f2fd;--fcst-agg-text: #1f4e78;--fcst-intermit-bg: #fce5cd;--fcst-intermit-text: #b45309;--fcst-msep: #9db4cc}:root[data-theme=dark] .fcst-root{--fcst-input-bg: rgba(246, 196, 68, .16);--fcst-auto-bg: rgba(127, 176, 105, .16);--fcst-ref-bg: rgba(148, 163, 184, .08);--fcst-ref-text: var(--text-secondary, #94a3b8);--fcst-agg-bg: rgba(59, 130, 246, .18);--fcst-agg-text: #8ec2f0;--fcst-intermit-bg: rgba(249, 115, 22, .18);--fcst-intermit-text: #fb923c;--fcst-msep: rgba(157, 180, 204, .45)}.fcst-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--border, #e5e7eb)}.fcst-tab-bar{display:flex;gap:4px;padding:8px 16px 0;border-bottom:1px solid var(--border, #e5e7eb)}.fcst-tab{padding:8px 18px;border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;background:transparent;color:var(--text-secondary, #6b7280);font-size:14px;font-weight:500;cursor:pointer}.fcst-tab.active{background:var(--panel, #fff);border-color:var(--border, #e5e7eb);color:var(--primary, #2563eb);font-weight:700}.fcst-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700}.fcst-badge.open{background:#22c55e26;color:#16a34a}.fcst-badge.closed{background:#ef44441f;color:#dc2626}.fcst-badge.settled{background:#3b82f61f;color:#2563eb}.fcst-table-wrap{flex:1;overflow:auto;padding:0 16px 16px}.fcst-table{border-collapse:collapse;font-size:12.5px;white-space:nowrap}.fcst-table th{position:sticky;top:0;z-index:2;background:#1f4e78;color:#fff;font-weight:600;padding:6px 8px;border:1px solid #35618d;text-align:center}.fcst-table td{padding:4px 8px;border:1px solid var(--border, #e5e7eb)}.fcst-table td.num{text-align:right;font-variant-numeric:tabular-nums}.fcst-table td.cen{text-align:center}.fcst-table tr:hover td{background:#3b82f60d}.fcst-cell-input{background:var(--fcst-input-bg)}.fcst-cell-auto{background:var(--fcst-auto-bg)}.fcst-cell-intermit{background:var(--fcst-intermit-bg);color:var(--fcst-intermit-text);font-weight:700}.fcst-cell-agg{background:var(--fcst-agg-bg);color:var(--fcst-agg-text);font-weight:600}.fcst-input{width:76px;padding:3px 6px;border:1px solid transparent;border-radius:4px;background:transparent;font-size:12.5px;text-align:right;font-variant-numeric:tabular-nums}.fcst-input:focus{outline:none;border-color:var(--primary, #2563eb);background:#fff}.fcst-input.dirty{border-color:#f59e0b;background:#fffbeb;font-weight:700}.fcst-remark-input{width:180px;text-align:left}.fcst-btn{padding:7px 16px;border-radius:6px;border:1px solid var(--border, #e5e7eb);background:var(--panel, #fff);color:var(--text-primary, #111);font-size:13px;font-weight:600;cursor:pointer}.fcst-btn:hover{background:#3b82f60f}.fcst-btn.primary{background:var(--primary, #2563eb);border-color:var(--primary, #2563eb);color:#fff}.fcst-btn.primary:disabled{opacity:.5;cursor:default}.fcst-btn.danger{color:#dc2626;border-color:#fecaca}.fcst-select,.fcst-search{padding:6px 10px;border:1px solid var(--border, #e5e7eb);border-radius:6px;background:var(--panel, #fff);color:var(--text-primary, #111);font-size:13px}.fcst-progress-bar{height:8px;border-radius:999px;background:var(--border, #e5e7eb);overflow:hidden;min-width:120px}.fcst-progress-bar>div{height:100%;border-radius:999px;background:var(--primary, #2563eb)}.fcst-summary-cards{display:flex;gap:12px;flex-wrap:wrap;padding:12px 16px}.fcst-card{flex:1;min-width:160px;padding:14px 16px;border:1px solid var(--border, #e5e7eb);border-radius:10px;background:var(--panel, #fff)}.fcst-card .label{font-size:12px;color:var(--text-secondary, #6b7280)}.fcst-card .value{font-size:20px;font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums}.fcst-card .kv{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:7px;font-size:12px}.fcst-card .kv span{color:var(--text-secondary, #6b7280)}.fcst-card[title],.fcst-card .kv[title]{cursor:help}.fcst-card .kv b{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.fcst-card .kv b.pending{font-size:12px;font-weight:500;color:var(--text-secondary, #6b7280)}.fcst-card .bar{height:6px;border-radius:999px;background:var(--border, #e5e7eb);overflow:hidden;margin-top:8px}.fcst-card .bar>div{height:100%;border-radius:999px;background:var(--primary, #2563eb)}.fcst-empty{padding:60px 20px;text-align:center;color:var(--text-secondary, #6b7280)}.fcst-root .ag-theme-quartz,.fcst-root .ag-theme-quartz .ag-root-wrapper{--ag-background-color: var(--panel, #fff);--ag-foreground-color: var(--text-primary, #111);--ag-border-color: var(--border, #e5e7eb);--ag-header-background-color: #1f4e78;--ag-header-foreground-color: #ffffff;--ag-header-cell-hover-background-color: #1f4e78;--ag-header-cell-moving-background-color: #1f4e78;--ag-header-height: 30px;--ag-row-height: 32px;--ag-font-size: 12.5px;--ag-font-family: inherit;--ag-odd-row-background-color: transparent;--ag-row-hover-color: rgba(59, 130, 246, .06);--ag-selected-row-background-color: transparent;--ag-wrapper-border-radius: 8px}.fcst-root .ag-theme-quartz .ag-root-wrapper,.fcst-root .ag-theme-quartz .ag-body,.fcst-root .ag-theme-quartz .ag-body-viewport,.fcst-root .ag-theme-quartz .ag-center-cols-viewport,.fcst-root .ag-theme-quartz .ag-center-cols-container,.fcst-root .ag-theme-quartz [class^=ag-grid-],.fcst-root .ag-theme-quartz [class*=" ag-grid-"]{--ag-wrapper-background-color: var(--panel, #fff);background-color:var(--panel, #fff)}.fcst-root .ag-theme-quartz .ag-root-wrapper{border:1px solid var(--border, #e5e7eb);border-radius:8px;overflow:hidden}.fcst-root .ag-theme-quartz .ag-row{background-color:transparent}.fcst-root .ag-theme-quartz .ag-header,.fcst-root .ag-theme-quartz .ag-pinned-left-header,.fcst-root .ag-theme-quartz .ag-pinned-right-header,.fcst-root .ag-theme-quartz .ag-header-cell,.fcst-root .ag-theme-quartz .ag-header-group-cell{background-color:#1f4e78;color:#fff}.ag-cell.cen{text-align:center}.fcst-row-manual{box-shadow:inset 3px 0 #7c3aed}.ag-cell.fcst-cell-manual{color:#7c3aed;font-weight:600}:root[data-theme=dark] .fcst-root .ag-cell.fcst-cell-manual{color:#a78bfa}.fcst-row-dirty{box-shadow:inset 3px 0 #f59e0b}.ag-cell.fcst-cell-input{background:var(--fcst-input-bg)}.ag-cell.fcst-cell-auto{background:var(--fcst-auto-bg)}.ag-cell.fcst-cell-intermit{background:var(--fcst-intermit-bg);color:var(--fcst-intermit-text);font-weight:700}.ag-cell.fcst-cell-agg{background:var(--fcst-agg-bg);color:var(--fcst-agg-text);font-weight:600}.ag-cell.fcst-cell-ref{background:var(--fcst-ref-bg);color:var(--fcst-ref-text)}.ag-cell.fcst-cell-anomaly{box-shadow:inset 0 0 0 2px #dc2626;color:#dc2626!important;font-weight:700}:root[data-theme=dark] .fcst-root .ag-cell.fcst-cell-anomaly{box-shadow:inset 0 0 0 2px #f87171;color:#f87171!important}.ag-cell.fcst-cell-carried{color:var(--fcst-ref-text);font-style:italic;opacity:.72}.ag-cell.fcst-cell-revision{box-shadow:inset 0 0 0 2px var(--warning);color:var(--warning)!important;font-weight:700}.fcst-root .ag-cell{font-variant-numeric:tabular-nums}.ag-header-cell.fcst-head-input{box-shadow:inset 0 -3px #f6c344}.fcst-root .ag-theme-quartz .ag-header-cell.fcst-head-ref,.fcst-root .ag-theme-quartz .ag-header-group-cell.fcst-head-ref{color:#b8c7d9}.ag-header-group-cell.fcst-col-msep,.ag-header-cell.fcst-col-msep,.ag-cell.fcst-col-msep{border-left:2px solid var(--fcst-msep)!important}.fcst-legend{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--text-secondary, #6b7280)}.fcst-legend .sw{box-sizing:border-box;flex:0 0 auto;width:12px;height:12px;padding:0;border-radius:3px;border:1px solid var(--border, #e5e7eb);display:inline-block;margin-left:8px}.fcst-legend .sw:first-child{margin-left:0}.fcst-legend .sw.sw-input{background:var(--fcst-input-bg)}.fcst-legend .sw.sw-auto{background:var(--fcst-auto-bg)}.fcst-legend .sw.sw-ref{background:var(--fcst-ref-bg)}.fcst-legend .sw.sw-manual{background:#7c3aed26;border-color:#7c3aed}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::-moz-selection{background:transparent}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--swiper-navigation-size: 44px}.swiper-button-prev,.swiper-button-next{position:absolute;width:var(--swiper-navigation-size);height:var(--swiper-navigation-size);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color))}.swiper-button-prev.swiper-button-disabled,.swiper-button-next.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev.swiper-button-hidden,.swiper-button-next.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-prev,.swiper-navigation-disabled .swiper-button-next{display:none!important}.swiper-button-prev svg,.swiper-button-next svg{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;transform-origin:center;fill:currentColor;pointer-events:none}.swiper-button-lock{display:none}.swiper-button-prev,.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2))}.swiper-button-prev{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-button-prev .swiper-navigation-icon{transform:rotate(180deg)}.swiper-button-next{right:var(--swiper-navigation-sides-offset, 4px);left:auto}.swiper-horizontal .swiper-button-prev,.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal~.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2));margin-left:0}.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-next,.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev{right:var(--swiper-navigation-sides-offset, 4px);left:auto}.swiper-horizontal .swiper-button-prev .swiper-navigation-icon,.swiper-horizontal~.swiper-button-prev .swiper-navigation-icon,.swiper-horizontal.swiper-rtl .swiper-button-next .swiper-navigation-icon,.swiper-horizontal.swiper-rtl~.swiper-button-next .swiper-navigation-icon{transform:rotate(180deg)}.swiper-horizontal.swiper-rtl .swiper-button-prev .swiper-navigation-icon,.swiper-horizontal.swiper-rtl~.swiper-button-prev .swiper-navigation-icon{transform:rotate(0)}.swiper-vertical .swiper-button-prev,.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-prev,.swiper-vertical~.swiper-button-next{left:var(--swiper-navigation-top-offset, 50%);right:auto;margin-left:calc(0px - (var(--swiper-navigation-size) / 2));margin-top:0}.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev{top:var(--swiper-navigation-sides-offset, 4px);bottom:auto}.swiper-vertical .swiper-button-prev .swiper-navigation-icon,.swiper-vertical~.swiper-button-prev .swiper-navigation-icon{transform:rotate(-90deg)}.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset, 4px);top:auto}.swiper-vertical .swiper-button-next .swiper-navigation-icon,.swiper-vertical~.swiper-button-next .swiper-navigation-icon{transform:rotate(90deg)}.address-search-modal{min-height:400px}.address-tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid var(--border);padding-bottom:12px}.address-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:6px;font-size:14px;transition:all .2s}.address-tab:hover{background:var(--hover-bg);color:var(--text)}.address-tab.active{background:var(--primary);color:#fff}.address-search-panel{display:flex;flex-direction:column;gap:12px}.search-input-row{display:flex;gap:8px}.search-input-row .search-input{flex:1;padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--input-bg);color:var(--text)}.search-input-row .search-input:focus{outline:none;border-color:var(--primary)}.search-btn{padding:10px 16px;border:none;background:var(--primary);color:#fff;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.search-btn:hover{background:var(--accent-hover)}.search-btn:disabled{opacity:.6;cursor:not-allowed}.searching-text{text-align:center;color:var(--text-secondary);padding:20px}.search-results{max-height:300px;overflow-y:auto;border:1px solid var(--border);border-radius:8px}.search-result-item{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .2s;position:relative}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--hover-bg)}.result-address{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text)}.result-detail{display:flex;gap:8px;padding-left:22px;font-size:12px}.result-detail .zipcode{color:var(--primary);font-weight:500}.result-detail .road-name{color:var(--text-secondary)}.result-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-secondary)}.no-results{text-align:center;color:var(--text-secondary);padding:40px 20px}.address-select-panel{display:flex;flex-direction:column;gap:16px}.select-row{display:flex;flex-direction:column;gap:6px}.select-row label{font-size:13px;font-weight:500;color:var(--text-secondary)}.select-row select{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--input-bg);color:var(--text);cursor:pointer}.select-row select:focus{outline:none;border-color:var(--primary)}.select-row select:disabled{opacity:.5;cursor:not-allowed}.selected-address-preview{margin-top:16px;padding:16px;background:var(--accent-bg, rgba(59, 130, 246, .1));border:1px solid var(--primary);border-radius:8px}.preview-label{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.preview-address{font-size:15px;font-weight:500;color:var(--text);margin-bottom:12px}.preview-zipcode{color:var(--primary);margin-right:8px}.select-confirm-btn{width:100%;padding:10px;border:none;background:var(--primary);color:#fff;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.select-confirm-btn:hover{background:var(--accent-hover)}.tcd-container{height:100%;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:10px}.tcd-empty{display:flex;align-items:center;justify-content:center;height:100%;min-height:120px;color:var(--text-secondary);font-size:12px}.tcd-card{padding:12px}.tcd-card-title{font-size:14px;font-weight:700;color:var(--text-primary);margin:0 0 10px;padding-bottom:8px;border-bottom:2px solid var(--primary)}.tcd-section{margin-bottom:10px}.tcd-section-title{font-size:11px;font-weight:600;color:var(--text-secondary);margin:0 0 6px;padding-bottom:4px;border-bottom:1px solid var(--border)}.tcd-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.tcd-field{display:flex;gap:6px;padding:2px 0;font-size:11px;line-height:1.5}.tcd-field-wide{grid-column:1 / -1}.tcd-field-label{flex-shrink:0;width:72px;color:var(--text-secondary);font-weight:500}.tcd-field-value{color:var(--text-primary);word-break:break-all}.tcd-link{color:var(--primary);text-decoration:none}.tcd-link:hover{text-decoration:underline}.tcd-score-card{flex-shrink:0}.tcd-score-header{display:flex;align-items:center;gap:6px;padding-bottom:8px;margin-bottom:8px;border-bottom:2px solid var(--primary);font-size:13px;font-weight:700;color:var(--text-primary)}.tcd-score-star{color:#f59e0b;font-size:16px}.tcd-score-total{margin-left:auto;font-size:16px;color:var(--primary)}.tcd-score-item{padding:8px 0;border-bottom:1px solid var(--border)}.tcd-score-item:last-child{border-bottom:none}.tcd-score-row{display:flex;align-items:center;gap:6px}.tcd-score-num{font-size:13px;color:var(--text-secondary)}.tcd-score-label{font-size:12px;font-weight:600;color:var(--text-primary)}.tcd-score-val{margin-left:auto;font-size:13px;font-weight:700;color:var(--primary)}.tcd-score-desc{margin-top:2px;padding-left:22px;font-size:10px;color:var(--text-secondary)}.tcd-score-pending{margin-top:2px;padding-left:22px;font-size:10px;color:var(--text-muted, var(--text-secondary));font-style:italic}.tcd-score-criteria{margin:4px 0 0;padding:0 0 0 22px;list-style:none;display:flex;flex-wrap:wrap;gap:4px}.tcd-score-criteria li{padding:2px 8px;border-radius:3px;font-size:10px;color:var(--text-secondary);background:color-mix(in srgb,var(--border) 40%,transparent)}.tcd-score-criteria li.active{background:color-mix(in srgb,var(--primary) 20%,transparent);color:var(--primary);font-weight:600}.tcd-score-sub{margin-top:6px;padding-left:22px}.tcd-score-sub-label{display:block;font-size:10px;font-weight:600;color:var(--text-secondary);margin-bottom:3px}.activity-analysis{padding:24px;width:100%}.activity-analysis__title{font-size:24px;font-weight:700;color:var(--text-primary);margin:0 0 24px}.activity-analysis__filter-row{display:flex;align-items:center;gap:24px}.activity-analysis__division-filter{display:flex;background:var(--bg-secondary);border-radius:10px;padding:4px;gap:4px}.activity-analysis__division-btn{padding:10px 20px;font-size:14px;font-weight:500;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;white-space:nowrap}.activity-analysis__division-btn:hover{color:var(--text-primary);background:#6366f11a}.activity-analysis__division-btn.active{background:var(--primary);color:#fff;box-shadow:0 2px 4px #6366f14d}.activity-analysis__section{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:16px}.activity-analysis__section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.activity-analysis__section-title{font-size:15px;font-weight:600;color:var(--text-primary)}.activity-analysis__date-range{font-size:13px;color:var(--text-secondary);background:var(--bg-secondary);padding:4px 12px;border-radius:6px}.activity-analysis__section-actions{display:flex;gap:8px}.activity-analysis__action-btn{padding:6px 12px;font-size:12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.activity-analysis__action-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.activity-analysis__period-buttons{display:flex;gap:12px}.activity-analysis__period-btn{padding:10px 24px;font-size:14px;font-weight:500;border:2px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.activity-analysis__period-btn:hover{border-color:var(--primary);color:var(--primary)}.activity-analysis__period-btn.active{border-color:var(--primary);background:var(--primary);color:#fff}.activity-analysis__employee-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.activity-analysis__employee-card{position:relative;padding:16px 12px;background:var(--panel);border:2px solid var(--border);border-radius:12px;text-align:center;cursor:pointer;transition:all .2s ease}.activity-analysis__employee-card:hover:not(.disabled){border-color:var(--primary);box-shadow:0 4px 12px #00000014}.activity-analysis__employee-card.selected{border-color:var(--primary);background:#6366f10d}.activity-analysis__employee-card.disabled{opacity:.5;cursor:not-allowed}.activity-analysis__check-icon{position:absolute;top:8px;right:8px;width:20px;height:20px;background:var(--primary);color:#fff;border-radius:50%;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.activity-analysis__employee-avatar{font-size:32px;margin-bottom:8px}.activity-analysis__employee-name{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.activity-analysis__employee-dept{font-size:11px;color:var(--text-secondary);margin-bottom:8px}.activity-analysis__employee-count{font-size:13px;font-weight:600;color:var(--primary);background:#6366f11a;padding:4px 8px;border-radius:6px;display:inline-block}.activity-analysis__employee-card.disabled .activity-analysis__employee-count{color:var(--text-secondary);background:var(--bg-secondary)}.activity-analysis__loading{text-align:center;padding:40px;color:var(--text-secondary)}.activity-analysis__error{padding:16px;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;margin-top:16px}.activity-analysis__analyze-section{text-align:center;margin:24px 0}.activity-analysis__analyze-btn{padding:16px 48px;font-size:16px;font-weight:600;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 16px #667eea4d}.activity-analysis__analyze-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.activity-analysis__analyze-btn:disabled{background:#ccc;cursor:not-allowed;box-shadow:none}.activity-analysis__result{margin-top:32px}.activity-analysis__result-title{font-size:18px;font-weight:700;color:var(--text-primary);margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid var(--border)}.activity-analysis__result-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:16px}.activity-analysis__result-card.summary{background:var(--bg-secondary)}.activity-analysis__result-card.strengths{background:#dcfce7;border-color:#86efac}.activity-analysis__result-card.improvements{background:#fef3c7;border-color:#fcd34d}.activity-analysis__result-card.recommendations{background:#e0e7ff;border-color:#a5b4fc}.activity-analysis__result-card-header{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.activity-analysis__result-icon{font-size:20px}.activity-analysis__result-content{font-size:14px;line-height:1.6;color:var(--text-primary);margin:0}.activity-analysis__stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.activity-analysis__stat{text-align:center}.activity-analysis__stat-value{display:block;font-size:24px;font-weight:700;color:var(--primary)}.activity-analysis__stat-label{font-size:12px;color:var(--text-secondary)}.activity-analysis__result-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 768px){.activity-analysis__result-row{grid-template-columns:1fr}.activity-analysis__stats-grid{grid-template-columns:repeat(2,1fr)}}.activity-analysis__result-list{margin:0;padding:0 0 0 20px}.activity-analysis__result-list li{margin-bottom:12px}.activity-analysis__result-list li:last-child{margin-bottom:0}.activity-analysis__result-list strong{display:block;font-size:14px;color:var(--text-primary);margin-bottom:4px}.activity-analysis__result-list p{font-size:13px;color:var(--text-secondary);margin:0 0 4px}.activity-analysis__result-list small{font-size:12px;color:var(--text-secondary);font-style:italic}.activity-analysis__result-list.numbered{padding-left:24px}.activity-analysis__result-list.numbered li{font-size:14px;color:var(--text-primary);line-height:1.6}.activity-analysis__month-notice{font-size:12px;font-weight:400;color:#f59e0b;margin-left:8px}.activity-analysis__markdown-content{font-size:14px;line-height:1.8;color:var(--text-primary)}.activity-analysis__markdown-content>*:first-child{margin-top:0}.activity-analysis__markdown-content h1{font-size:22px;font-weight:700;color:var(--text-primary);margin:28px 0 16px;padding-bottom:10px;border-bottom:3px solid var(--primary)}.activity-analysis__markdown-content h2{font-size:18px;font-weight:700;color:var(--text-primary);margin:24px 0 12px;padding:8px 12px;border-left:4px solid var(--primary);background:#6366f10f;border-radius:0 6px 6px 0}.activity-analysis__markdown-content h3{font-size:15px;font-weight:600;color:var(--primary);margin:20px 0 10px}.activity-analysis__markdown-content h4{font-size:14px;font-weight:600;color:var(--text-primary);margin:16px 0 8px}.activity-analysis__markdown-content p{margin:10px 0}.activity-analysis__markdown-content ul,.activity-analysis__markdown-content ol{margin:10px 0;padding-left:24px}.activity-analysis__markdown-content li{margin:6px 0;line-height:1.7}.activity-analysis__markdown-content li>ul,.activity-analysis__markdown-content li>ol{margin:4px 0}.activity-analysis__markdown-content table{width:100%;border-collapse:separate;border-spacing:0;margin:16px 0;font-size:13px;border-radius:8px;overflow:hidden;border:1px solid var(--border)}.activity-analysis__markdown-content thead{position:sticky;top:0}.activity-analysis__markdown-content th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:10px 14px;text-align:left;font-weight:600;font-size:12px;text-transform:none;white-space:nowrap}.activity-analysis__markdown-content td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:top}.activity-analysis__markdown-content tr:last-child td{border-bottom:none}.activity-analysis__markdown-content tbody tr:nth-child(2n) td{background:#6366f105}.activity-analysis__markdown-content tbody tr:hover td{background:#667eea12}.activity-analysis__markdown-content strong{color:var(--primary);font-weight:600}.activity-analysis__markdown-content em{color:var(--text-secondary);font-style:italic}.activity-analysis__markdown-content blockquote{margin:16px 0;padding:12px 16px;border-left:4px solid #f59e0b;background:#f59e0b0f;border-radius:0 8px 8px 0;color:var(--text-primary)}.activity-analysis__markdown-content blockquote p{margin:4px 0}.activity-analysis__markdown-content code{font-family:Consolas,Monaco,monospace;font-size:13px;background:var(--bg-secondary);padding:2px 6px;border-radius:4px;color:#e11d48}.activity-analysis__markdown-content pre{margin:16px 0;padding:16px;background:#1e1e2e;border-radius:8px;overflow-x:auto}.activity-analysis__markdown-content pre code{background:none;padding:0;color:#cdd6f4}.activity-analysis__markdown-content hr{border:none;border-top:2px solid var(--border);margin:24px 0}:root[data-theme=dark] .rag-root{--rag-bg: #0f1117;--rag-bg-alt: #141720;--rag-bg-muted: #1a1d28;--rag-panel: #1e2130;--rag-panel-2: #252838;--rag-border: #2e3348;--rag-text: #e2e8f0;--rag-text-secondary: #94a3b8;--rag-text-muted: #64748b}:root[data-theme=dark] .rag-root{background:var(--rag-bg)!important}:root[data-theme=dark] .rag-header{background:var(--rag-panel)!important;border-bottom-color:var(--rag-border)!important}:root[data-theme=dark] .rag-session-badge{background:#0f2d20!important;color:#4ade80!important}:root[data-theme=dark] .rag-btn-outline{background:var(--rag-panel)!important;border-color:var(--rag-border)!important;color:var(--rag-text-secondary)!important}:root[data-theme=dark] .rag-btn-outline.active{background:#172554!important;border-color:#3b82f6!important;color:#60a5fa!important}:root[data-theme=dark] .rag-btn-outline.store-active{background:#2d2006!important;border-color:#f59e0b!important;color:#fbbf24!important}:root[data-theme=dark] .rag-btn-outline.onedrive-active{background:#0c3547!important;border-color:#0ea5e9!important;color:#38bdf8!important}:root[data-theme=dark] .rag-status-bar.success{background:#0f2d20!important;color:#4ade80!important}:root[data-theme=dark] .rag-status-bar.error{background:#2d1212!important;color:#f87171!important}:root[data-theme=dark] .rag-status-bar.info{background:#172554!important;color:#60a5fa!important}:root[data-theme=dark] .rag-doc-panel{background:var(--rag-panel)!important;border-right-color:var(--rag-border)!important}:root[data-theme=dark] .rag-doc-item{background:var(--rag-bg-muted)!important;border-color:var(--rag-border)!important}:root[data-theme=dark] .rag-store-panel{background:var(--rag-panel)!important;border-right-color:var(--rag-border)!important}:root[data-theme=dark] .rag-store-panel .rag-store-title{color:var(--rag-text)!important}:root[data-theme=dark] .rag-store-input{background:var(--rag-bg-muted)!important;border-color:var(--rag-border)!important;color:var(--rag-text)!important}:root[data-theme=dark] .rag-store-current{background:#2d2006!important;border-color:#92400e!important}:root[data-theme=dark] .rag-store-current .rag-store-current-label{color:#fbbf24!important}:root[data-theme=dark] .rag-store-current .rag-store-current-value{color:#fcd34d!important}:root[data-theme=dark] .rag-store-item{background:var(--rag-bg-muted)!important;border-color:var(--rag-border)!important}:root[data-theme=dark] .rag-store-item.selected{background:#2d2006!important;border-color:#f59e0b!important}:root[data-theme=dark] .rag-store-docs-wrapper{background:var(--rag-bg-muted)!important;border-color:var(--rag-border)!important}:root[data-theme=dark] .rag-store-docs-wrapper .rag-store-docs-title{color:var(--rag-text)!important}:root[data-theme=dark] .rag-store-doc-item{background:var(--rag-bg)!important}:root[data-theme=dark] .rag-store-doc-state.active{background:#0f2d20!important;color:#4ade80!important}:root[data-theme=dark] .rag-store-doc-state.other{background:#2d2006!important;color:#fbbf24!important}:root[data-theme=dark] .rag-store-help{background:var(--rag-bg-muted)!important;border-color:var(--rag-border)!important;color:var(--rag-text-secondary)!important}:root[data-theme=dark] .rag-onedrive-panel{background:var(--rag-panel)!important;border-right-color:var(--rag-border)!important}:root[data-theme=dark] .rag-onedrive-panel .rag-onedrive-title{color:#38bdf8!important}:root[data-theme=dark] .rag-breadcrumb{background:var(--rag-bg-muted)!important;border-color:var(--rag-border)!important}:root[data-theme=dark] .rag-breadcrumb-btn{background:var(--rag-panel-2)!important;color:#38bdf8!important}:root[data-theme=dark] .rag-breadcrumb-btn.active{background:#0c4a6e!important;color:#fff!important}:root[data-theme=dark] .rag-onedrive-warn{background:#2d1212!important;border-color:#7f1d1d!important;color:#f87171!important}:root[data-theme=dark] .rag-batch-progress{background:var(--rag-bg-muted)!important;border-color:#0c4a6e!important}:root[data-theme=dark] .rag-batch-progress .rag-batch-title{color:#38bdf8!important}:root[data-theme=dark] .rag-batch-track{background:var(--rag-border)!important}:root[data-theme=dark] .rag-onedrive-folder-item{background:var(--rag-bg-muted)!important;border-color:var(--rag-border)!important}:root[data-theme=dark] .rag-onedrive-file-item{background:var(--rag-bg-muted)!important;border-color:var(--rag-border)!important}:root[data-theme=dark] .rag-chat-area{background:var(--rag-bg)!important}:root[data-theme=dark] .rag-empty-state{color:var(--rag-text-muted)!important}:root[data-theme=dark] .rag-suggestion-btn{background:var(--rag-panel)!important;border-color:var(--rag-border)!important;color:var(--rag-text-secondary)!important}:root[data-theme=dark] .rag-suggestion-btn:hover{background:var(--rag-panel-2)!important}:root[data-theme=dark] .rag-msg-user{background:#172554!important;color:var(--rag-text)!important}:root[data-theme=dark] .rag-msg-assistant{background:var(--rag-panel)!important;color:var(--rag-text)!important}:root[data-theme=dark] .rag-msg-streaming{background:var(--rag-panel)!important;color:var(--rag-text)!important}:root[data-theme=dark] .rag-citations{background:#0c3547!important;border-color:#0c4a6e!important}:root[data-theme=dark] .rag-citations .rag-citations-title{color:#38bdf8!important}:root[data-theme=dark] .rag-citation-item{background:#172554!important;color:#93c5fd!important}:root[data-theme=dark] .rag-error-bar{background:#2d1212!important;color:#f87171!important}:root[data-theme=dark] .rag-input-area{background:var(--rag-panel)!important;border-top-color:var(--rag-border)!important}:root[data-theme=dark] .rag-input-area textarea{background:var(--rag-bg-muted)!important;border-color:var(--rag-border)!important;color:var(--rag-text)!important}:root[data-theme=dark] .rag-input-area textarea::-moz-placeholder{color:var(--rag-text-muted)!important}:root[data-theme=dark] .rag-input-area textarea::placeholder{color:var(--rag-text-muted)!important}:root[data-theme=dark] .rag-input-area textarea:disabled{background:var(--rag-bg)!important}:root[data-theme=dark] .rag-input-mode{color:var(--rag-text-muted)!important}:root[data-theme=dark] .rag-icon-btn{background:var(--rag-panel)!important;border-color:var(--rag-border)!important;color:var(--rag-text-secondary)!important}:root[data-theme=dark] .rag-status-bar button{color:var(--rag-text-secondary)!important}:root[data-theme=dark] .rag-store-panel button[title=새로고침]{background:var(--rag-bg-muted)!important;border-color:var(--rag-border)!important;color:var(--rag-text-secondary)!important}:root[data-theme=dark] .rag-store-panel button:disabled{background:var(--rag-border)!important;color:var(--rag-text-muted)!important}:root[data-theme=dark] .rag-store-panel button[style*="background: #3b82f6"],:root[data-theme=dark] .rag-store-panel button[style*="background: rgb(59, 130, 246)"]{background:#2563eb!important}:root[data-theme=dark] .rag-onedrive-panel button[style*="background: var(--panel)"]{background:var(--rag-bg-muted)!important;border-color:var(--rag-border)!important;color:var(--rag-text-secondary)!important}:root[data-theme=dark] .rag-root ::-webkit-scrollbar{width:6px;height:6px}:root[data-theme=dark] .rag-root ::-webkit-scrollbar-track{background:transparent}:root[data-theme=dark] .rag-root ::-webkit-scrollbar-thumb{background:var(--rag-border);border-radius:3px}:root[data-theme=dark] .rag-root ::-webkit-scrollbar-thumb:hover{background:#3e4460}:root[data-theme=dark] .rag-chat-area button[style*="background: none"]{color:var(--rag-text-muted)!important}:root[data-theme=dark] .rag-error-bar span{color:#f87171!important}:root[data-theme=dark] .rag-error-bar button{color:#f87171!important}:root[data-theme=dark] .rag-input-area button:disabled{background:var(--rag-border)!important;color:var(--rag-text-muted)!important}:root[data-theme=dark] .rag-header span[style*="display: flex"][style*="gap: 2"]{color:var(--rag-text-secondary)!important}:root[data-theme=dark] .rag-store-item:hover{background:var(--rag-panel-2)!important}:root[data-theme=dark] .rag-store-item.selected:hover{background:#3d2a08!important}:root[data-theme=dark] .rag-onedrive-folder-item:hover{background:var(--rag-panel-2)!important}:root[data-theme=dark] .rag-suggestion-btn:hover{background:var(--rag-panel-2)!important;border-color:#3b82f6!important;color:#60a5fa!important}:root[data-theme=dark] .tnt-chat-root,:root[data-theme=dark] .tnt-rp-root{--tc-bg: #0f1117;--tc-bg-alt: #141720;--tc-bg-muted: #1a1d28;--tc-panel: #1e2130;--tc-panel-2: #252838;--tc-border: #2e3348;--tc-text: #e2e8f0;--tc-text-secondary: #94a3b8;--tc-text-muted: #64748b}:root[data-theme=dark] .tnt-chat-root{background:var(--tc-bg)!important}:root[data-theme=dark] .tnt-chat-messages{background:var(--tc-bg)!important}:root[data-theme=dark] .tnt-chat-empty-icon{background:linear-gradient(135deg,#1e2130,#252838)!important;box-shadow:0 8px 24px #0000004d!important}:root[data-theme=dark] .tnt-chat-empty-title{color:var(--tc-text)!important}:root[data-theme=dark] .tnt-chat-empty-desc{color:var(--tc-text-muted)!important}:root[data-theme=dark] .tnt-chat-welcome-title{color:var(--tc-text)!important}:root[data-theme=dark] .tnt-chat-store-badge{background:#172554!important;color:#60a5fa!important}:root[data-theme=dark] .tnt-chat-welcome-desc{color:var(--tc-text-secondary)!important}:root[data-theme=dark] .tnt-chat-suggest-btn{background:var(--tc-panel)!important;border-color:var(--tc-border)!important;color:var(--tc-text-secondary)!important;box-shadow:0 2px 8px #0003!important}:root[data-theme=dark] .tnt-chat-suggest-btn:hover{background:var(--tc-panel-2)!important;border-color:#3b82f6!important;color:#60a5fa!important}:root[data-theme=dark] .tnt-chat-msg-user{background:linear-gradient(135deg,#1e2130,#252838)!important;color:var(--tc-text)!important;box-shadow:inset 0 0 0 1px var(--tc-border)!important}:root[data-theme=dark] .tnt-chat-msg-assistant{background:var(--tc-panel)!important;color:var(--tc-text)!important;box-shadow:0 2px 12px #0003,inset 0 0 0 1px #3b82f626!important}:root[data-theme=dark] .tnt-chat-root .assistant-message td{background:var(--tc-panel)!important;border-bottom-color:var(--tc-border)!important;color:var(--tc-text)!important}:root[data-theme=dark] .tnt-chat-root .assistant-message tr:hover td{background:var(--tc-panel-2)!important}:root[data-theme=dark] .tnt-chat-root .assistant-message strong,:root[data-theme=dark] .tnt-chat-root .assistant-message b{color:#93c5fd!important}:root[data-theme=dark] .tnt-chat-root .assistant-message h3,:root[data-theme=dark] .tnt-chat-root .assistant-message h4{color:var(--tc-text)!important}:root[data-theme=dark] .tnt-chat-root .assistant-message code{background:var(--tc-bg-muted)!important;color:#f472b6!important}:root[data-theme=dark] .tnt-chat-root .assistant-message blockquote{background:#172554!important;color:#93c5fd!important;border-left-color:#3b82f6!important}:root[data-theme=dark] .tnt-chat-root .assistant-message p,:root[data-theme=dark] .tnt-chat-root .assistant-message li{color:var(--tc-text)!important}:root[data-theme=dark] .tnt-chat-root .assistant-message a{color:#60a5fa!important}:root[data-theme=dark] .tnt-chat-citations{background:linear-gradient(135deg,#0c3547,#172554)!important;border-color:#3b82f64d!important}:root[data-theme=dark] .tnt-chat-citation-item{background:var(--tc-bg-muted)!important;border-color:var(--tc-border)!important;color:var(--tc-text-secondary)!important}:root[data-theme=dark] .tnt-chat-copy-btn{background:var(--tc-bg-muted)!important;border-color:var(--tc-border)!important;color:var(--tc-text-secondary)!important}:root[data-theme=dark] .tnt-chat-input-area{background:linear-gradient(180deg,transparent 0%,var(--tc-bg) 20%)!important}:root[data-theme=dark] .tnt-chat-input-box{background:var(--tc-panel)!important;box-shadow:0 4px 24px #0000004d,0 0 0 1px var(--tc-border)!important}:root[data-theme=dark] .tnt-chat-input-box textarea{color:var(--tc-text)!important}:root[data-theme=dark] .tnt-chat-input-box textarea::-moz-placeholder{color:var(--tc-text-muted)!important}:root[data-theme=dark] .tnt-chat-input-box textarea::placeholder{color:var(--tc-text-muted)!important}:root[data-theme=dark] .tnt-chat-input-box button:disabled{background:var(--tc-border)!important}:root[data-theme=dark] .tnt-chat-input-store{background:var(--tc-bg-muted)!important;color:var(--tc-text-secondary)!important}:root[data-theme=dark] .tnt-rp-root{background:var(--tc-bg)!important}:root[data-theme=dark] .tnt-rp-status.success{background:linear-gradient(135deg,#0f2d20,#0a2218)!important;color:#4ade80!important;border-color:#10b9814d!important}:root[data-theme=dark] .tnt-rp-status.error{background:linear-gradient(135deg,#2d1212,#1f0d0d)!important;color:#f87171!important;border-color:#ef44444d!important}:root[data-theme=dark] .tnt-rp-status.info{background:linear-gradient(135deg,#172554,#0f1a3d)!important;color:#60a5fa!important;border-color:#3b82f64d!important}:root[data-theme=dark] .tnt-rp-status button{background:#ffffff1a!important;color:inherit!important}:root[data-theme=dark] .tnt-rp-tab{background:var(--tc-panel)!important;color:var(--tc-text-secondary)!important;box-shadow:0 2px 6px #0003!important}:root[data-theme=dark] .tnt-rp-tab.active{background:linear-gradient(135deg,#3b82f6,#8b5cf6)!important;color:#fff!important}:root[data-theme=dark] .tnt-rp-content{background:var(--tc-bg)!important}:root[data-theme=dark] .tnt-rp-store-input-wrap{background:var(--tc-panel)!important;box-shadow:0 2px 8px #0003!important}:root[data-theme=dark] .tnt-rp-store-input{background:var(--tc-bg-muted)!important;color:var(--tc-text)!important}:root[data-theme=dark] .tnt-rp-store-input::-moz-placeholder{color:var(--tc-text-muted)!important}:root[data-theme=dark] .tnt-rp-store-input::placeholder{color:var(--tc-text-muted)!important}:root[data-theme=dark] .tnt-rp-store-item{background:var(--tc-panel)!important;border-color:var(--tc-border)!important;box-shadow:0 2px 6px #0003!important}:root[data-theme=dark] .tnt-rp-store-item.selected{background:linear-gradient(135deg,#172554,#1e3a5f)!important;border-color:#3b82f6!important;box-shadow:0 4px 12px #3b82f633!important}:root[data-theme=dark] .tnt-rp-store-item .tnt-rp-store-icon{background:var(--tc-bg-muted)!important}:root[data-theme=dark] .tnt-rp-store-item.selected .tnt-rp-store-icon{background:linear-gradient(135deg,#3b82f6,#8b5cf6)!important}:root[data-theme=dark] .tnt-rp-store-name{color:var(--tc-text-secondary)!important}:root[data-theme=dark] .tnt-rp-store-item.selected .tnt-rp-store-name{color:#93c5fd!important}:root[data-theme=dark] .tnt-rp-store-delete{background:#2d1212!important;color:#f87171!important}:root[data-theme=dark] .tnt-rp-store-label{color:var(--tc-text-secondary)!important}:root[data-theme=dark] .tnt-rp-refresh-btn{background:var(--tc-bg-muted)!important;color:var(--tc-text-secondary)!important}:root[data-theme=dark] .tnt-rp-doc-item{background:var(--tc-panel)!important;border-color:var(--tc-border)!important;box-shadow:0 2px 6px #0003!important}:root[data-theme=dark] .tnt-rp-doc-empty{background:var(--tc-panel)!important;box-shadow:0 2px 8px #0003!important}:root[data-theme=dark] .tnt-rp-doc-empty-icon{background:linear-gradient(135deg,#1e2130,#252838)!important}:root[data-theme=dark] .tnt-rp-upload-step{background:var(--tc-panel)!important;border-color:var(--tc-border)!important}:root[data-theme=dark] .tnt-rp-breadcrumb{background:var(--tc-bg-muted)!important;border-bottom-color:var(--tc-border)!important}:root[data-theme=dark] .tnt-rp-breadcrumb button{background:var(--tc-panel)!important;color:var(--tc-text-secondary)!important}:root[data-theme=dark] .tnt-rp-breadcrumb button.active{background:#0ea5e9!important;color:#fff!important}:root[data-theme=dark] .tnt-rp-onedrive-list{background:var(--tc-panel)!important}:root[data-theme=dark] .tnt-rp-onedrive-folder{border-bottom-color:var(--tc-border)!important}:root[data-theme=dark] .tnt-rp-onedrive-file{border-bottom-color:var(--tc-border)!important}:root[data-theme=dark] .tnt-rp-onedrive-file.selected{background:#172554!important}:root[data-theme=dark] .tnt-rp-onedrive-file span{color:var(--tc-text-secondary)!important}:root[data-theme=dark] .tnt-rp-onedrive-file.selected span{color:#93c5fd!important}:root[data-theme=dark] .tnt-rp-upload-progress{background:#2d2006!important;color:#fbbf24!important}:root[data-theme=dark] .tnt-rp-selected-header{background:#0f2d20!important;border-bottom-color:#065f46!important;color:#4ade80!important}:root[data-theme=dark] .tnt-rp-selected-file{border-bottom-color:var(--tc-border)!important}:root[data-theme=dark] .tnt-rp-step3-empty{background:var(--tc-bg-muted)!important;border-color:var(--tc-border)!important;color:var(--tc-text-muted)!important}:root[data-theme=dark] .tnt-rp-upload-nostore{background:var(--tc-bg-muted)!important;border-color:var(--tc-border)!important}:root[data-theme=dark] .tnt-rp-modal-backdrop{background:#000000b3!important}:root[data-theme=dark] .tnt-rp-modal{background:var(--tc-panel)!important;box-shadow:0 4px 24px #00000080!important}:root[data-theme=dark] .tnt-rp-modal-cancel{background:var(--tc-bg-muted)!important;color:var(--tc-text-secondary)!important}:root[data-theme=dark] .tnt-chat-root ::-webkit-scrollbar,:root[data-theme=dark] .tnt-rp-root ::-webkit-scrollbar{width:6px;height:6px}:root[data-theme=dark] .tnt-chat-root ::-webkit-scrollbar-track,:root[data-theme=dark] .tnt-rp-root ::-webkit-scrollbar-track{background:transparent}:root[data-theme=dark] .tnt-chat-root ::-webkit-scrollbar-thumb,:root[data-theme=dark] .tnt-rp-root ::-webkit-scrollbar-thumb{background:var(--tc-border);border-radius:3px}:root[data-theme=dark] .tnt-chat-root ::-webkit-scrollbar-thumb:hover,:root[data-theme=dark] .tnt-rp-root ::-webkit-scrollbar-thumb:hover{background:#3e4460}.ar-aging-now-page{padding:24px;background:var(--bg-secondary, #f8fafc);min-height:100%}.ar-page-header{margin-bottom:24px}.ar-page-header h1{font-size:24px;font-weight:700;color:var(--text-primary, #1e293b);margin:0 0 4px}.ar-page-header p{font-size:14px;color:var(--text-secondary, #64748b);margin:0}.ar-search-section{background:var(--panel, #ffffff);border-radius:12px;padding:16px 20px;margin-bottom:16px;box-shadow:0 1px 3px #0000001a}.search-row{display:flex;align-items:center;gap:12px}.search-row label{font-size:14px;font-weight:500;color:var(--text-primary, #1e293b);white-space:nowrap}.search-input{flex:1;max-width:400px;padding:10px 14px;border:1px solid var(--border, #e2e8f0);border-radius:8px;font-size:14px;background:var(--bg-secondary, #f8fafc);transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--primary, #2563eb);background:var(--panel, #ffffff)}.btn-search{padding:10px 20px;border:none;border-radius:8px;background:var(--primary, #2563eb);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-search:hover:not(:disabled){background:var(--primary-dark, #1d4ed8)}.btn-search:disabled{opacity:.6;cursor:not-allowed}.ar-search-results{background:var(--panel, #ffffff);border-radius:12px;padding:16px 20px;margin-bottom:16px;box-shadow:0 1px 3px #0000001a;border:1px solid var(--border, #e2e8f0)}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border, #e2e8f0)}.results-title{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.btn-add-all{padding:6px 14px;border:1px solid var(--primary, #2563eb);border-radius:6px;background:transparent;color:var(--primary, #2563eb);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-add-all:hover{background:var(--primary, #2563eb);color:#fff}.results-grid{display:flex;flex-wrap:wrap;gap:8px;max-height:180px;overflow-y:auto}.result-item{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .15s ease}.result-item:hover{border-color:var(--primary, #2563eb);background:#2563eb0d}.result-item .customer-name{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-item .company-badge{flex-shrink:0;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600}.btn-add{width:22px;height:22px;border:none;border-radius:50%;background:var(--primary, #2563eb);color:#fff;font-size:16px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.btn-add:hover{background:var(--primary-dark, #1d4ed8);transform:scale(1.1)}.ar-selected-customers{background:var(--panel, #ffffff);border-radius:12px;padding:16px 20px;margin-bottom:16px;box-shadow:0 1px 3px #0000001a;border:2px solid var(--primary, #2563eb)}.selected-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--border, #e2e8f0)}.selected-info{display:flex;align-items:center;gap:12px}.selected-title{font-size:15px;font-weight:600;color:var(--primary, #2563eb)}.selected-count{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.count-detail{font-size:13px;font-weight:400;color:var(--text-secondary, #64748b);margin-left:4px}.selected-actions{display:flex;align-items:center;gap:10px}.btn-clear{padding:8px 14px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:transparent;color:var(--text-secondary, #64748b);font-size:13px;cursor:pointer;transition:all .2s ease}.btn-clear:hover{border-color:#dc2626;color:#dc2626}.selected-tags{display:flex;flex-wrap:wrap;gap:8px;max-height:200px;overflow-y:auto}.selected-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:20px;background:#2563eb14;border:1px solid rgba(37,99,235,.2);transition:all .15s ease}.selected-tag.tnt{background:#2563eb14;border-color:#2563eb40}.selected-tag.dys{background:#9333ea14;border-color:#9333ea40}.selected-tag .tag-name{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-tag .tag-company{font-size:10px;font-weight:600;padding:2px 5px;border-radius:3px}.selected-tag.tnt .tag-company{background:#2563eb26;color:#2563eb}.selected-tag.dys .tag-company{background:#9333ea26;color:#9333ea}.tag-remove{width:18px;height:18px;border:none;border-radius:50%;background:#0000001a;color:var(--text-secondary, #64748b);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.tag-remove:hover{background:#dc2626;color:#fff}.ar-customer-selector{background:var(--panel, #ffffff);border-radius:12px;padding:16px 20px;margin-bottom:16px;box-shadow:0 1px 3px #0000001a}.selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border, #e2e8f0)}.select-all-row{display:flex;align-items:center}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--text-primary, #1e293b)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.btn-fetch-realtime{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-fetch-realtime:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #16a34a4d}.btn-fetch-realtime:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;max-height:300px;overflow-y:auto}.customer-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .2s ease}.customer-item:hover{border-color:var(--primary, #2563eb);background:#2563eb0a}.customer-item.selected{border-color:var(--primary, #2563eb);background:#2563eb14}.customer-item input[type=checkbox]{width:16px;height:16px;flex-shrink:0}.customer-info{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.customer-name{font-size:14px;font-weight:500;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-badge{flex-shrink:0;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:600}.company-badge.tnt{background:#2563eb1a;color:#2563eb}.company-badge.dys{background:#9333ea1a;color:#9333ea}.assignee-name{font-size:12px;color:var(--text-secondary, #64748b);white-space:nowrap}.ar-error-message{padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px;color:#dc2626;font-size:14px;margin-bottom:16px}.ar-result-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#2563eb0d;border-radius:8px;margin-bottom:16px}.fetch-time{font-size:13px;color:var(--text-secondary, #64748b)}.fetch-count{font-size:13px;font-weight:500;color:var(--primary, #2563eb)}.ar-summary-cards{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-bottom:20px}.ar-summary-card{background:var(--panel, #ffffff);border-radius:12px;padding:16px 12px;box-shadow:0 1px 3px #0000001a;text-align:center}.ar-summary-card .card-label{font-size:12px;color:var(--text-secondary, #64748b);margin-bottom:6px;display:flex;flex-direction:column;align-items:center;gap:2px}.ar-summary-card .card-comment{font-size:10px;color:var(--text-tertiary, #94a3b8);font-weight:400}.ar-summary-card .card-value{font-size:18px;font-weight:700}@media (max-width: 1400px){.ar-summary-cards{grid-template-columns:repeat(4,1fr)}}@media (max-width: 1000px){.ar-summary-cards{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.ar-summary-cards{grid-template-columns:repeat(2,1fr)}}.ar-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:60px;color:var(--text-secondary, #64748b);font-size:15px}.spinner{width:24px;height:24px;border:3px solid var(--border, #e2e8f0);border-top-color:var(--primary, #2563eb);border-radius:50%;animation:spin .8s linear infinite}.ar-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid var(--border, #e2e8f0);position:relative}.ar-tab{position:relative;padding:14px 28px;border:none;background:transparent;color:var(--text-secondary, #64748b);font-size:15px;font-weight:500;cursor:pointer;transition:all .25s ease;white-space:nowrap}.ar-tab:hover{color:var(--text-primary, #1e293b);background:#2563eb0a}.ar-tab.active{color:var(--primary, #2563eb);font-weight:600}.ar-tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6);border-radius:3px 3px 0 0}.ar-tab-icon{display:inline-flex;align-items:center;gap:8px}.ar-tab-icon svg{width:18px;height:18px}.ar-tab-content{background:var(--panel, #ffffff);border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a}.ar-empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary, #64748b)}.ar-empty-state.initial{background:var(--panel, #ffffff);border-radius:12px;box-shadow:0 1px 3px #0000001a}.ar-empty-state .empty-icon{font-size:48px;margin-bottom:16px}.ar-empty-state .empty-message{font-size:15px}.ar-empty{text-align:center;padding:40px;color:var(--text-secondary, #64748b)}.ar-aging-table-wrapper{overflow-x:auto}.ar-aging-table{width:100%;border-collapse:collapse;font-size:13px}.ar-aging-table th,.ar-aging-table td{padding:10px 8px;text-align:center;border-bottom:1px solid var(--border, #e2e8f0)}.ar-aging-table th{background:var(--bg-secondary, #f8fafc);font-weight:600;color:var(--text-primary, #1e293b);white-space:nowrap}.ar-aging-table tbody tr{cursor:pointer;transition:background .15s ease}.ar-aging-table tbody tr:hover{background:#2563eb0a}.ar-aging-table tbody tr.no-data{opacity:.5}.ar-aging-table .col-num{width:40px;color:var(--text-secondary, #64748b)}.ar-aging-table .col-company{width:60px}.ar-aging-table .col-customer{text-align:left;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ar-aging-table .col-assignee{width:80px;color:var(--text-secondary, #64748b)}.ar-aging-table .col-amount{width:100px;font-weight:600;text-align:right}.ar-aging-table .col-aging{width:70px;text-align:right;color:var(--text-secondary, #64748b)}.ar-aging-table .col-risk{width:80px}.risk-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600}.risk-badge.risk-high{background:#dc26261a;color:#dc2626}.risk-badge.risk-medium{background:#f59e0b1a;color:#d97706}.risk-badge.risk-low{background:#16a34a1a;color:#16a34a}.risk-badge.risk-none{background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b)}.ar-opinion-history,.ar-unblock-history,.ar-customer-analysis{min-height:400px}.customer-selector-row{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border, #e2e8f0)}.customer-selector-row label{font-size:14px;font-weight:500;color:var(--text-primary, #1e293b)}.customer-selector-row select{padding:8px 12px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:14px;min-width:200px}.expand-buttons{margin-left:auto;display:flex;gap:8px}.expand-buttons button{padding:6px 12px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);font-size:12px;cursor:pointer;transition:all .15s ease}.expand-buttons button:hover{border-color:var(--primary, #2563eb);color:var(--primary, #2563eb)}.selected-customer-info{display:flex;align-items:center;gap:10px;margin-bottom:16px}.selected-customer-info .customer-name{font-size:16px;font-weight:600;color:var(--text-primary, #1e293b)}.opinion-count,.unblock-count{font-size:13px;color:var(--text-secondary, #64748b);margin-left:auto}.opinion-timeline{display:flex;flex-direction:column;gap:12px}.meeting-group{border:1px solid var(--border, #e2e8f0);border-radius:8px;overflow:hidden}.meeting-header{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-secondary, #f8fafc);cursor:pointer;transition:background .15s ease}.meeting-header:hover{background:var(--bg-secondary, #f1f5f9)}.toggle-icon{font-size:10px;color:var(--text-secondary, #64748b)}.meeting-name{font-weight:600;color:var(--text-primary, #1e293b)}.meeting-date{font-size:13px;color:var(--text-secondary, #64748b)}.meeting-header .opinion-count{margin-left:auto;background:var(--primary, #2563eb);color:#fff;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.opinion-list{padding:12px 16px;display:flex;flex-direction:column;gap:12px}.opinion-item{padding:12px;background:var(--bg-secondary, #f8fafc);border-radius:6px}.opinion-meta{display:flex;align-items:center;gap:10px;margin-bottom:8px}.opinion-type-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.opinion-type-badge.type-pre{background:#2563eb1a;color:#2563eb}.opinion-type-badge.type-in{background:#9333ea1a;color:#9333ea}.opinion-type-badge.type-post{background:#16a34a1a;color:#16a34a}.opinion-type-badge.type-adhoc{background:#6b72801a;color:#6b7280}.opinion-date,.opinion-author{font-size:12px;color:var(--text-secondary, #64748b)}.opinion-text{font-size:14px;color:var(--text-primary, #1e293b);line-height:1.5}.promise-info{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:13px}.promise-label{color:var(--text-secondary, #64748b)}.promise-amount{font-weight:600;color:var(--primary, #2563eb)}.promise-date{color:var(--text-primary, #1e293b)}.unblock-table-wrapper{overflow-x:auto}.unblock-table{width:100%;border-collapse:collapse;font-size:13px}.unblock-table th,.unblock-table td{padding:12px 10px;text-align:left;border-bottom:1px solid var(--border, #e2e8f0)}.unblock-table th{background:var(--bg-secondary, #f8fafc);font-weight:600;color:var(--text-primary, #1e293b);white-space:nowrap}.unblock-table .meeting-name{font-weight:500}.unblock-table .meeting-date{font-size:12px;color:var(--text-secondary, #64748b)}.unblock-table .reason-cell,.unblock-table .plan-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600}.status-badge.status-draft{background:#6b72801a;color:#6b7280}.status-badge.status-submitted{background:#2563eb1a;color:#2563eb}.status-badge.status-approved1{background:#f59e0b1a;color:#d97706}.status-badge.status-approved{background:#16a34a1a;color:#16a34a}.status-badge.status-rejected{background:#dc26261a;color:#dc2626}.status-badge.status-withdrawn{background:#6b72801a;color:#6b7280}.analysis-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.customer-title{display:flex;align-items:center;gap:12px}.customer-title .customer-name{font-size:20px;font-weight:700;color:var(--text-primary, #1e293b)}.risk-badge-large{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;background:var(--bg-secondary, #f8fafc)}.risk-badge-large .risk-dot{width:10px;height:10px;border-radius:50%}.risk-badge-large .risk-label{font-size:14px;font-weight:600}.risk-badge-large .risk-ratio{font-size:14px;color:var(--text-secondary, #64748b)}.risk-badge-large.risk-high{background:#dc26261a}.risk-badge-large.risk-medium{background:#f59e0b1a}.risk-badge-large.risk-low{background:#16a34a1a}.analysis-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.metric-card{padding:16px;background:var(--bg-secondary, #f8fafc);border-radius:8px;text-align:center}.metric-card .metric-label{font-size:12px;color:var(--text-secondary, #64748b);margin-bottom:8px}.metric-card .metric-value{font-size:18px;font-weight:700;color:var(--text-primary, #1e293b)}.metric-card .metric-value.danger{color:#dc2626}.metric-card .metric-value.info{color:#2563eb}.unblock-stats-section,.recent-opinions-section,.aging-detail-section{margin-bottom:24px}.unblock-stats-section h4,.recent-opinions-section h4,.aging-detail-section h4{font-size:15px;font-weight:600;color:var(--text-primary, #1e293b);margin:0 0 12px}.unblock-stats{display:flex;gap:24px}.stat-item{display:flex;align-items:center;gap:8px}.stat-label{font-size:13px;color:var(--text-secondary, #64748b)}.stat-item.approved .stat-value{color:#16a34a}.stat-item.rejected .stat-value{color:#dc2626}.stat-item.rate .stat-value{color:#2563eb}.no-opinions{padding:20px;text-align:center;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc);border-radius:8px}.recent-opinions-list{display:flex;flex-direction:column;gap:10px}.recent-opinion-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--bg-secondary, #f8fafc);border-radius:8px}.recent-opinion-item .opinion-date{flex-shrink:0;font-size:12px;color:var(--text-secondary, #64748b);width:70px}.recent-opinion-item .opinion-content{flex:1;display:flex;flex-direction:column;gap:4px}.recent-opinion-item .opinion-text{font-size:13px;color:var(--text-primary, #1e293b)}.promise-badge{display:inline-block;font-size:11px;padding:2px 6px;background:#2563eb1a;color:#2563eb;border-radius:4px;width:-moz-fit-content;width:fit-content}.recent-opinion-item .opinion-author{font-size:12px;color:var(--text-secondary, #64748b);flex-shrink:0;width:80px;text-align:right}.aging-bars{display:flex;flex-direction:column;gap:12px}.aging-bar-item{display:flex;align-items:center;gap:12px}.aging-bar-item .bar-label{width:70px;font-size:13px;color:var(--text-secondary, #64748b);text-align:right}.aging-bar-item .bar-container{flex:1;height:20px;background:var(--bg-secondary, #f1f5f9);border-radius:4px;overflow:hidden}.aging-bar-item .bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.aging-bar-item .bar-fill.normal{background:linear-gradient(90deg,#22c55e,#16a34a)}.aging-bar-item .bar-fill.warning{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.aging-bar-item .bar-fill.danger{background:linear-gradient(90deg,#f87171,#dc2626)}.aging-bar-item .bar-value{width:100px;font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);text-align:right}@media (max-width: 1200px){.ar-summary-cards,.analysis-metrics{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.ar-aging-now-page{padding:16px}.ar-summary-cards{grid-template-columns:1fr}.selector-header{flex-direction:column;gap:12px}.customer-selector-row{flex-wrap:wrap}.analysis-metrics{grid-template-columns:1fr}.unblock-stats{flex-wrap:wrap;gap:12px}}@keyframes ccl-slideup{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ccl-page{padding:4px 0 24px;background:transparent;animation:ccl-slideup .25s ease-out}.ccl-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:16px}.ccl-header h1{font-size:24px;font-weight:700;color:var(--text-primary, #1e293b);margin:0 0 4px;letter-spacing:-.01em}.ccl-header p{font-size:13.5px;color:var(--text-secondary, #64748b);margin:0}.ccl-header-actions{display:flex;gap:8px;flex-shrink:0}.ccl-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.ccl-summary-card{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:14px;padding:16px;display:flex;align-items:flex-start;gap:12px;transition:transform .15s ease,box-shadow .15s ease}.ccl-summary-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000014}.ccl-summary-card .icon{width:38px;height:38px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:color-mix(in srgb,var(--primary, #3b82f6) 12%,transparent);color:var(--primary, #3b82f6)}.ccl-summary-card.tone-success .icon{background:color-mix(in srgb,var(--success, #10b981) 14%,transparent);color:var(--success, #10b981)}.ccl-summary-card.tone-danger .icon{background:color-mix(in srgb,#ef4444 12%,transparent);color:#ef4444}.ccl-summary-card.tone-neutral .icon{background:var(--panel-2, #f1f5f9);color:var(--text-secondary, #64748b)}.ccl-summary-card .label{font-size:12px;font-weight:500;color:var(--text-secondary, #64748b);margin-bottom:4px;white-space:nowrap}.ccl-summary-card .value{font-size:21px;font-weight:800;color:var(--text-primary, #1e293b);font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.15}.ccl-summary-card .value.positive{color:var(--success, #16a34a)}.ccl-summary-card .value.danger{color:#ef4444}.ccl-summary-card .sub{font-size:11px;color:var(--text-muted, #94a3b8);margin-top:3px;white-space:nowrap}.ccl-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:10px 14px;margin-bottom:14px}.ccl-toolbar .spacer{flex:1}.ccl-search{display:flex;align-items:center;gap:6px;border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:7px 10px;background:var(--bg-secondary, #f8fafc);min-width:230px;transition:border-color .15s}.ccl-search:focus-within{border-color:var(--primary, #3b82f6)}.ccl-search input{border:none;outline:none;background:transparent;font-size:13px;color:var(--text-primary, #1e293b);width:100%}.ccl-seg{display:inline-flex;border:1px solid var(--border, #e2e8f0);border-radius:9px;overflow:hidden;background:var(--bg-secondary, #f8fafc);padding:3px;gap:2px}.ccl-seg button{border:none;border-radius:7px;background:transparent;color:var(--text-secondary, #64748b);font-size:13px;padding:6px 14px;cursor:pointer;transition:all .15s}.ccl-seg button:hover{color:var(--text-primary, #1e293b)}.ccl-seg button.active{background:var(--primary, #2563eb);color:#fff;font-weight:600;box-shadow:0 1px 4px #2563eb59}.ccl-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border, #e2e8f0);border-radius:9px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:13px;font-weight:500;padding:8px 14px;cursor:pointer;transition:all .15s}.ccl-btn:hover{background:var(--bg-secondary, #f8fafc);transform:translateY(-1px)}.ccl-btn.primary{background:var(--primary, #2563eb);border-color:var(--primary, #2563eb);color:#fff;box-shadow:0 2px 8px #2563eb4d}.ccl-btn.primary:hover{opacity:.92}.ccl-btn.danger{color:#ef4444;border-color:color-mix(in srgb,#ef4444 45%,transparent)}.ccl-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.ccl-btn.sm{padding:5px 10px;font-size:12px}.ccl-table-wrap{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:14px;overflow-x:auto;overflow-y:visible}.ccl-table{width:100%;border-collapse:collapse;font-size:13px}.ccl-table th{position:sticky;top:0;z-index:1;text-align:left;font-size:11.5px;font-weight:600;text-transform:none;letter-spacing:.02em;color:var(--text-secondary, #64748b);background:var(--panel-2, #f8fafc);padding:11px 14px;border-bottom:1px solid var(--border, #e2e8f0);white-space:nowrap}.ccl-table td{padding:12px 14px;border-bottom:1px solid color-mix(in srgb,var(--border, #e2e8f0) 55%,transparent);color:var(--text-primary, #1e293b);vertical-align:middle}.ccl-table tbody tr:last-child td{border-bottom:none}.ccl-table tbody tr{cursor:pointer;transition:background .12s}.ccl-table tbody tr:hover{background:color-mix(in srgb,var(--primary, #3b82f6) 5%,transparent)}.ccl-table tbody tr td:first-child{border-left:3px solid transparent}.ccl-table tbody tr.row-overdue td:first-child{border-left-color:#f59e0b}.ccl-table td.num,.ccl-table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ccl-table .cust-name{font-weight:650;font-size:13.5px;display:inline-flex;align-items:center;gap:7px}.ccl-table .ccl-reason-cell{max-width:520px}.ccl-table .ccl-reason-cell .r{display:block;font-size:12.5px;color:var(--text-primary, #1e293b);line-height:1.45;word-break:keep-all}.ccl-table .ccl-reason-cell .d{display:block;margin-top:2px;font-size:11px;color:var(--text-tertiary, #94a3b8);font-variant-numeric:tabular-nums}.ccl-co-badge{flex:0 0 auto;width:18px;height:18px;border-radius:5px;display:inline-grid;place-items:center;font-size:11px;font-weight:800;color:#fff;line-height:1}.ccl-co-badge.tnt{background:#1d4ed8}.ccl-co-badge.dys{background:#059669}.ccl-company-seg{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--border, #e2e8f0);border-radius:9px;background:var(--bg-secondary, #f8fafc);margin-right:8px}.ccl-company-seg button{border:none;border-radius:7px;background:transparent;color:var(--text-secondary, #64748b);font-size:12.5px;font-weight:600;padding:5px 11px;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:5px}.ccl-company-seg button:hover{color:var(--text-primary, #1e293b)}.ccl-company-seg button .cnt{font-size:11px;font-variant-numeric:tabular-nums;color:var(--text-tertiary, #94a3b8)}.ccl-company-seg button.active .cnt{color:#ffffffd9}.ccl-company-seg button.co-all.active{background:var(--primary, #2563eb);color:#fff}.ccl-company-seg button.co-TNT.active{background:#1d4ed8;color:#fff}.ccl-company-seg button.co-DYS.active{background:#059669;color:#fff}.ccl-table .cust-cell .cust-badges{display:inline-flex;gap:4px;margin-left:8px;vertical-align:1px}.ccl-table .muted{color:var(--text-muted, #94a3b8);font-size:12px}.ccl-table .emp{color:var(--text-secondary, #64748b);font-size:13px;white-space:nowrap}.ccl-row-exclude{border:1px solid color-mix(in srgb,#ef4444 40%,transparent);border-radius:7px;background:transparent;color:#ef4444;font-size:11.5px;font-weight:600;padding:3px 9px;cursor:pointer;opacity:.45;transition:all .12s;white-space:nowrap}.ccl-table tbody tr:hover .ccl-row-exclude{opacity:1}.ccl-row-exclude:hover{background:color-mix(in srgb,#ef4444 12%,transparent)}.ccl-table .amount-strong{font-weight:700}.ccl-table .amount-sub{font-size:11px;color:var(--text-muted, #94a3b8);margin-top:1px;font-variant-numeric:tabular-nums}.ccl-table .amount-sub.total{font-size:12px;color:var(--text-secondary, #64748b);font-weight:600}.ccl-table .amount-same{color:var(--text-muted, #94a3b8)}.ccl-recovered{color:var(--success, #16a34a);font-weight:700}.ccl-increased{color:#ef4444;font-weight:700}.ccl-last-action{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;color:var(--text-secondary, #64748b);font-size:12.5px;white-space:nowrap}.ccl-last-action .t{display:inline-flex;align-items:center;gap:6px;color:var(--text-primary, #1e293b)}.ccl-last-action .c{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary, #64748b);font-size:11.5px}.ccl-last-action .d{color:var(--text-muted, #94a3b8);font-size:11px;font-variant-numeric:tabular-nums}.ccl-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;border-radius:999px;padding:2.5px 9px;white-space:nowrap;line-height:1.5}.ccl-badge.legal{background:color-mix(in srgb,#dc2626 12%,transparent);color:#ef4444}.ccl-badge.stop{background:color-mix(in srgb,#ea580c 13%,transparent);color:#f97316}.ccl-badge.special{background:color-mix(in srgb,#9333ea 13%,transparent);color:#a855f7}.ccl-net-warn{color:var(--warning, #d97706);font-weight:600}.ccl-badge.settled{background:color-mix(in srgb,#0891b2 14%,transparent);color:#22b8cf}.ccl-badge.status-active{background:color-mix(in srgb,var(--primary, #2563eb) 12%,transparent);color:var(--primary, #3b82f6)}.ccl-badge.status-completed{background:color-mix(in srgb,#16a34a 13%,transparent);color:var(--success, #22c55e)}.ccl-badge.status-excluded{background:var(--panel-2, #f1f5f9);color:var(--text-secondary, #64748b)}.ccl-badge.progress-done{background:color-mix(in srgb,#16a34a 13%,transparent);color:var(--success, #22c55e)}.ccl-badge.progress-inprogress{background:color-mix(in srgb,#2563eb 12%,transparent);color:var(--primary, #3b82f6)}.ccl-badge.progress-stopped{background:color-mix(in srgb,#64748b 16%,transparent);color:var(--text-secondary, #94a3b8)}.ccl-badge.overdue{background:transparent;border:1px solid color-mix(in srgb,#f59e0b 55%,transparent);color:#f59e0b;font-weight:550;padding:1.5px 8px}.ccl-overdue-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid color-mix(in srgb,#ef4444 40%,transparent);border-radius:999px;background:color-mix(in srgb,#ef4444 8%,transparent);color:#ef4444;font-size:12px;font-weight:650;padding:6px 12px;cursor:pointer;transition:all .15s}.ccl-overdue-chip:hover{background:color-mix(in srgb,#ef4444 14%,transparent)}.ccl-asof{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 10px;border:1px solid var(--border, #e2e8f0);border-radius:8px;background:var(--panel, #fff);color:var(--text-secondary, #64748b);font-size:12.5px}.ccl-asof .lbl{font-weight:600}.ccl-asof select{border:none;background:transparent;color:var(--text-primary, #0f172a);font-size:12.5px;cursor:pointer;outline:none}:root[data-theme=light] .ccl-asof select{color-scheme:light}:root[data-theme=dark] .ccl-asof select{color-scheme:dark}.ccl-asof option{background:var(--panel, #ffffff);color:var(--text-primary, #0f172a)}:root[data-theme=dark] .ccl-asof option{background:#1e293b;color:#f8fafc}.ccl-snapshot-banner{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;margin-bottom:12px;border:1px solid color-mix(in srgb,#f59e0b 40%,transparent);background:color-mix(in srgb,#f59e0b 8%,transparent);border-radius:10px;color:var(--text-secondary, #64748b)}.ccl-snapshot-banner>svg{color:#b45309;flex-shrink:0;margin-top:1px}:root[data-theme=dark] .ccl-snapshot-banner>svg{color:#fbbf24}.ccl-snapshot-banner b{display:block;color:var(--text-primary, #0f172a);font-size:13.5px;margin-bottom:2px}.ccl-snapshot-banner span{font-size:12.5px;line-height:1.5;word-break:keep-all}.ccl-asof-badge{display:inline-flex;align-items:center;gap:5px;border:1px solid color-mix(in srgb,#f59e0b 45%,transparent);border-radius:999px;background:color-mix(in srgb,#f59e0b 12%,transparent);color:#b45309;font-size:12px;font-weight:650;padding:5px 8px 5px 11px}:root[data-theme=dark] .ccl-asof-badge{color:#fbbf24}.ccl-asof-badge button{display:inline-flex;border:none;background:transparent;color:inherit;cursor:pointer;padding:0;opacity:.7}.ccl-asof-badge button:hover{opacity:1}.ccl-overdue-chip.active{background:#ef4444;color:#fff;box-shadow:0 2px 8px #ef444459}.ccl-badge.stage{background:color-mix(in srgb,var(--primary, #3b82f6) 12%,transparent);color:var(--primary, #3b82f6)}.ccl-stage-chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:650;border-radius:999px;padding:3px 10px;white-space:nowrap}.ccl-stage-chip .n{font-size:10px;font-weight:700;opacity:.75;font-variant-numeric:tabular-nums}.ccl-stage-chip.s-none{background:var(--panel-2, #f1f5f9);color:var(--text-secondary, #64748b)}.ccl-stage-chip.s-send{background:color-mix(in srgb,var(--primary, #3b82f6) 13%,transparent);color:var(--primary, #3b82f6)}.ccl-stage-chip.s-legal{background:color-mix(in srgb,#dc2626 13%,transparent);color:#ef4444}.ccl-empty{text-align:center;padding:64px 20px;color:var(--text-secondary, #64748b)}.ccl-empty h3{margin:14px 0 6px;color:var(--text-primary, #1e293b)}.ccl-empty p{margin:0 0 18px;font-size:13px}@keyframes ccl-spin{to{transform:rotate(360deg)}}.ccl-page .spin,.ccl-modal .spin{animation:ccl-spin 1s linear infinite}.ccl-hint{font-size:12.5px;line-height:1.65;color:var(--text-secondary, #64748b);background:color-mix(in srgb,var(--primary, #3b82f6) 5%,transparent);border:1px solid color-mix(in srgb,var(--primary, #3b82f6) 18%,transparent);border-radius:10px;padding:10px 14px;margin-bottom:12px}.ccl-detail-head{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.ccl-detail-head h2{margin:0;font-size:21px;font-weight:750;color:var(--text-primary, #1e293b);letter-spacing:-.01em}.ccl-back{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;border:1px solid var(--border, #e2e8f0);background:var(--panel, #ffffff);cursor:pointer;color:var(--text-primary, #1e293b);transition:all .15s}.ccl-back:hover{background:var(--bg-secondary, #f8fafc);transform:translate(-2px)}.ccl-detail-grid{display:grid;grid-template-columns:330px 1fr;gap:16px;align-items:start}@media (max-width: 900px){.ccl-detail-grid{grid-template-columns:1fr}}.ccl-card{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:14px;padding:18px}.ccl-card+.ccl-card{margin-top:16px}.ccl-card h3{margin:0 0 14px;font-size:13px;font-weight:700;color:var(--text-secondary, #64748b);text-transform:none;letter-spacing:.03em}.ccl-amount-flow{display:flex;align-items:stretch;gap:0;border:1px solid var(--border, #e2e8f0);border-radius:12px;overflow:hidden;margin-bottom:14px}.ccl-amount-flow .cell{flex:1 1 0;min-width:0;padding:10px 6px 9px;text-align:center;background:var(--bg-secondary, #f8fafc);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.ccl-amount-flow .cell+.cell{border-left:1px dashed var(--border, #e2e8f0)}.ccl-amount-flow .cell .k{display:block;font-size:10.5px;font-weight:600;color:var(--text-secondary, #64748b);white-space:nowrap}.ccl-amount-flow .cell .v{font-size:12.5px;font-weight:750;color:var(--text-primary, #1e293b);font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap}.ccl-amount-flow .cell.rec{background:color-mix(in srgb,var(--success, #10b981) 8%,transparent)}.ccl-amount-flow .cell.rec .v{color:var(--success, #16a34a)}.ccl-amount-flow .cell.inc{background:color-mix(in srgb,#ef4444 9%,transparent)}.ccl-amount-flow .cell.inc .v{color:#ef4444}.ccl-kv{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;font-size:13px;gap:12px}.ccl-kv+.ccl-kv{border-top:1px solid color-mix(in srgb,var(--border, #e2e8f0) 50%,transparent)}.ccl-kv .k{color:var(--text-secondary, #64748b);white-space:nowrap}.ccl-kv .v{color:var(--text-primary, #1e293b);font-weight:550;text-align:right;font-variant-numeric:tabular-nums}.ccl-stepper{display:flex;flex-direction:column}.ccl-step{display:flex;align-items:center;gap:12px;position:relative;padding:8px 0;font-size:13px;font-weight:500;color:var(--text-secondary, #64748b)}.ccl-step .dot{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:2px solid color-mix(in srgb,var(--text-secondary, #64748b) 45%,transparent);background:var(--panel, #ffffff);color:var(--text-secondary, #64748b);flex-shrink:0;font-size:11px;font-weight:600;z-index:1;transition:all .2s}.ccl-step:not(:last-child):after{content:"";position:absolute;left:11px;top:34px;bottom:-9px;width:2px;background:var(--border, #e2e8f0)}.ccl-step.done{color:var(--text-primary, #1e293b)}.ccl-step.done .dot{border-color:var(--success, #16a34a);background:var(--success, #16a34a);color:#fff}.ccl-step.done:not(:last-child):after{background:var(--success, #16a34a);opacity:.5}.ccl-due-quick{display:flex;gap:4px;margin-top:5px}.ccl-due-quick button{height:22px;padding:0 8px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:transparent;color:var(--text-secondary, #64748b);font-size:11px;cursor:pointer;transition:all .12s}.ccl-due-quick button:hover{border-color:var(--primary, #2563eb);color:var(--primary, #2563eb)}.ccl-step .sd{margin-left:auto;font-size:11px;font-weight:500;color:var(--text-muted, #94a3b8);font-variant-numeric:tabular-nums;white-space:nowrap}.ccl-step.current{color:var(--primary, #2563eb);font-weight:700}.ccl-step.current .dot{border-color:var(--primary, #2563eb);background:var(--primary, #2563eb);color:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--primary, #2563eb) 18%,transparent)}.ccl-timeline{display:flex;flex-direction:column;gap:10px}.ccl-timeline-item{display:flex;gap:12px;border:1px solid var(--border, #e2e8f0);border-left-width:3px;border-radius:11px;padding:12px 14px;background:var(--bg-secondary, #f8fafc);transition:box-shadow .15s}.ccl-timeline-item:hover{box-shadow:0 2px 10px #0000000f}.ccl-timeline-item.t-send{border-left-color:var(--primary, #3b82f6)}.ccl-timeline-item.t-comm{border-left-color:#14b8a6}.ccl-timeline-item.t-legal{border-left-color:#ef4444}.ccl-timeline-item.t-note{border-left-color:var(--border, #cbd5e1)}.ccl-timeline-item .t-icon{width:34px;height:34px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);flex-shrink:0;color:var(--primary, #2563eb)}.ccl-timeline-item.t-comm .t-icon{color:#14b8a6}.ccl-timeline-item.t-legal .t-icon{color:#ef4444}.ccl-timeline-item.t-note .t-icon{color:var(--text-muted, #94a3b8)}.ccl-timeline-item .t-body{flex:1;min-width:0}.ccl-timeline-item .t-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ccl-timeline-item .t-title{font-size:13px;font-weight:700;color:var(--text-primary, #1e293b)}.ccl-timeline-item .t-date{font-size:12px;color:var(--text-secondary, #64748b);font-variant-numeric:tabular-nums}.ccl-timeline-item .t-content{margin-top:5px;font-size:13px;line-height:1.6;color:var(--text-primary, #1e293b);white-space:pre-wrap;word-break:break-word}.ccl-timeline-item .t-meta{margin-top:5px;font-size:11px;color:var(--text-muted, #94a3b8)}.ccl-timeline-item .t-actions{display:flex;gap:4px;flex-shrink:0;align-items:flex-start}.ccl-icon-btn{border:none;background:transparent;cursor:pointer;color:var(--text-muted, #94a3b8);padding:5px;border-radius:7px;transition:all .12s}.ccl-icon-btn:hover{background:var(--panel, #ffffff);color:var(--text-primary, #1e293b)}.ccl-icon-btn.danger:hover{color:#ef4444}.ccl-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:10px}.ccl-field label{display:block;font-size:12px;font-weight:550;color:var(--text-secondary, #64748b);margin-bottom:5px}.ccl-field input,.ccl-field select,.ccl-field textarea{width:100%;border:1px solid var(--border, #e2e8f0);border-radius:9px;padding:8px 11px;font-size:13px;background:var(--bg-secondary, #f8fafc);color:var(--text-primary, #1e293b);box-sizing:border-box;transition:border-color .15s}.ccl-field input:focus,.ccl-field select:focus,.ccl-field textarea:focus{outline:none;border-color:var(--primary, #3b82f6)}.ccl-field textarea{resize:vertical;min-height:68px;font-family:inherit;line-height:1.55}.ccl-form-footer{display:flex;justify-content:flex-end;gap:8px}.ccl-trend{display:flex;flex-direction:column;gap:7px}.ccl-trend-row{display:flex;align-items:center;gap:10px;font-size:12.5px}.ccl-trend-row .m{width:60px;color:var(--text-secondary, #64748b);font-variant-numeric:tabular-nums;flex-shrink:0}.ccl-trend-row .bar-wrap{flex:1;height:16px;background:var(--panel-2, #f1f5f9);border-radius:5px;overflow:hidden}.ccl-trend-row .bar{display:block;height:100%;background:var(--primary, #3b82f6);opacity:.75;border-radius:5px;transition:width .3s ease}.ccl-trend-row .v{width:120px;text-align:right;font-weight:650;color:var(--text-primary, #1e293b);font-variant-numeric:tabular-nums;flex-shrink:0}.ccl-trend-row .delta{width:110px;text-align:right;font-size:11.5px;font-variant-numeric:tabular-nums;color:var(--text-muted, #94a3b8);flex-shrink:0}.ccl-trend-row .delta.up{color:#ef4444}.ccl-trend-row .delta.down{color:var(--success, #16a34a)}.ccl-table.static{table-layout:fixed}.ccl-table.static th:first-child{width:16%}.ccl-table.static th:not(:first-child){width:14%}.ccl-table.static td{overflow:hidden;text-overflow:ellipsis}.ccl-table.static tbody tr{cursor:default}.ccl-table.static tbody tr:hover{background:transparent}.ccl-table .ccl-total-row td{border-top:2px solid var(--border, #e2e8f0);font-weight:700;white-space:nowrap}.ccl-stage-strip{display:flex;gap:4px;margin-bottom:12px}.ccl-stage-strip .seg{flex:1;min-width:0;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 14px 8px 20px;background:var(--panel, #ffffff);color:var(--text-secondary, #64748b);clip-path:polygon(0 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,0 100%,11px 50%);transition:background .12s,color .12s}.ccl-stage-strip .seg:first-child{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,0 100%)}.ccl-stage-strip .seg:last-child{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,11px 50%)}.ccl-stage-strip .seg .cnt{font-size:15px;font-weight:750;color:var(--text-primary, #1e293b);font-variant-numeric:tabular-nums;line-height:1.1}.ccl-stage-strip .seg .lbl{font-size:10.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.ccl-stage-strip .seg.legal .cnt{color:#ef4444}.ccl-stage-strip .seg.empty .cnt{color:var(--text-muted, #94a3b8)}.ccl-stage-strip .seg.empty{opacity:.6}.ccl-stage-strip .seg:hover{background:color-mix(in srgb,var(--primary, #3b82f6) 10%,var(--panel, #ffffff));opacity:1}.ccl-stage-strip .seg.active{background:var(--primary, #3b82f6);color:#fff;opacity:1}.ccl-stage-strip .seg.active .cnt,.ccl-stage-strip .seg.active .lbl{color:#fff}.ccl-stage-strip .seg.legal.active{background:#dc2626}.ccl-report-basedate{font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);padding:4px 11px;border:1px solid var(--border, #e2e8f0);border-radius:999px;white-space:nowrap}.ccl-report-actions{margin-left:auto;display:flex;gap:8px}.ccl-report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.ccl-report-kpis .kpi{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:3px;min-width:0}.ccl-report-kpis .kpi .k{font-size:12px;font-weight:600;color:var(--text-secondary, #64748b)}.ccl-report-kpis .kpi strong{font-size:20px;font-weight:750;color:var(--text-primary, #1e293b);font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ccl-report-kpis .kpi .s{font-size:11.5px;color:var(--text-muted, #94a3b8)}.ccl-report-kpis .kpi.good strong{color:var(--success, #16a34a)}.ccl-report-kpis .kpi.bad strong{color:#ef4444}@media (max-width: 1100px){.ccl-report-kpis{grid-template-columns:repeat(2,1fr)}}.ccl-card-note{font-size:11.5px;font-weight:500;color:var(--text-muted, #94a3b8);margin-left:8px}.ccl-trend-row .bar{min-width:6px}.ccl-trend-row.cur .m{color:var(--text-primary, #1e293b);font-weight:700}.ccl-trend-row.cur .bar{opacity:1}.ccl-trend-row.cur .v{font-weight:750}.ccl-share-track{display:block;height:3px;margin-top:5px;background:color-mix(in srgb,var(--border, #e2e8f0) 55%,transparent);border-radius:2px;overflow:hidden}.ccl-share-fill{display:block;height:100%;background:var(--primary, #3b82f6);opacity:.75;border-radius:2px}.ccl-print-stamp{display:none}@media print{html,body,#root,.app-main,.main-view{overflow:visible!important;height:auto!important;position:static!important}body *{visibility:hidden}.ccl-report,.ccl-report *{visibility:visible}.ccl-report{position:absolute;left:0;top:0;width:100%;padding:0;background:#fff;--panel: #ffffff;--panel-2: #f1f5f9;--bg-secondary: #f8fafc;--border: #cbd5e1;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--primary: #2563eb;--success: #15803d}.ccl-report .ccl-back,.ccl-report .ccl-report-actions{display:none!important}.ccl-print-stamp{display:inline;font-size:11px;color:#64748b}.ccl-report .ccl-card,.ccl-report .ccl-report-kpis .kpi{-moz-column-break-inside:avoid;break-inside:avoid}.ccl-report .bar-wrap,.ccl-report .bar,.ccl-report .ccl-share-track,.ccl-report .ccl-share-fill{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.ccl-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.ccl-modal{background:var(--panel, #ffffff);border-radius:16px;width:100%;max-width:880px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;animation:ccl-slideup .2s ease-out;box-shadow:0 20px 60px #0000004d}.ccl-modal.sm{max-width:440px}.ccl-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border, #e2e8f0)}.ccl-modal-head h3{margin:0;font-size:16px;font-weight:700;color:var(--text-primary, #1e293b)}.ccl-modal-body{padding:16px 20px;overflow-y:auto;flex:1}.ccl-modal-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 20px;border-top:1px solid var(--border, #e2e8f0);background:var(--bg-secondary, #f8fafc)}.ccl-modal-foot .info{font-size:12px;color:var(--text-secondary, #64748b)}.node-details-panel{position:absolute!important;top:20px!important;right:20px!important;left:auto!important;width:240px;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;box-shadow:0 10px 40px #0000001f,0 2px 10px #00000014;z-index:100!important;border:1px solid rgba(226,232,240,.8);overflow:hidden}.node-details-panel .panel-header{padding:16px 20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:space-between}.node-details-panel .panel-header-info{display:flex;align-items:center;gap:12px}.node-details-panel .panel-icon{width:36px;height:36px;background:#fff3;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px}.node-details-panel .panel-title{font-size:15px;font-weight:600;color:#fff;margin:0}.node-details-panel .panel-subtitle{font-size:12px;color:#ffffffbf;margin-top:2px}.node-details-panel .close-btn{background:#ffffff26;border:none;border-radius:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fffc;transition:all .2s}.node-details-panel .close-btn:hover{background:#ffffff40;color:#fff}.node-details-panel .panel-content{padding:16px 20px}.node-details-panel .prop-item{margin-bottom:14px}.node-details-panel .prop-item:last-child{margin-bottom:0}.node-details-panel .prop-label{font-size:10px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.node-details-panel .prop-value{font-size:14px;font-weight:500;color:#1e293b}.node-details-panel .prop-value.danger{color:#dc2626;font-weight:600}.node-details-panel .prop-value.warning{color:#ea580c;font-weight:600}.node-details-panel .prop-value.info{color:#2563eb;font-weight:600}.insights-panel{position:absolute;top:20px;left:20px;width:240px;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;box-shadow:0 10px 40px #0000001f,0 2px 10px #00000014;z-index:10;border:1px solid rgba(226,232,240,.8);overflow:hidden}.insights-panel .insights-header{padding:20px;background:linear-gradient(135deg,#f43f5e,#ec4899)}.insights-panel .insights-header-label{font-size:11px;font-weight:600;color:#fffc;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.insights-panel .insights-header-value{font-size:26px;font-weight:700;color:#fff}.insights-panel .insights-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px}.insights-panel .stat-card{background:#f8fafc;border-radius:12px;padding:14px;text-align:center}.insights-panel .stat-card.full-width{grid-column:span 2}.insights-panel .stat-value{font-size:24px;font-weight:700;color:#1e293b}.insights-panel .stat-label{font-size:11px;font-weight:500;color:#64748b;margin-top:4px}.insights-panel .insights-footer{padding:12px 16px;border-top:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#94a3b8}.insights-panel .footer-badge{background:#f1f5f9;padding:4px 10px;border-radius:20px;font-weight:500}.insights-panel .sample-badge{padding:10px 16px;background:#fef3c7;color:#d97706;font-size:11px;font-weight:600;text-align:center;border-top:1px solid #fde68a}.filter-panel{position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:20;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;box-shadow:0 10px 40px #0000001a,0 2px 10px #0000000d;border:1px solid rgba(226,232,240,.8);padding:6px;display:flex;align-items:center;gap:6px}.filter-panel .filter-toggle{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;font-size:13px;font-weight:600;border:none;cursor:pointer;transition:all .2s}.filter-panel .filter-toggle.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 12px #6366f14d}.filter-panel .filter-toggle.inactive{background:transparent;color:#64748b}.filter-panel .filter-toggle.inactive:hover{background:#f1f5f9}.filter-panel .filter-divider{width:1px;height:28px;background:#e2e8f0}.filter-panel .filter-group{display:flex;align-items:center;gap:8px;padding:0 8px}.filter-panel .filter-label{font-size:11px;font-weight:500;color:#94a3b8}.filter-panel .filter-select,.filter-panel .filter-input{padding:8px 12px;font-size:13px;font-weight:500;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;color:#334155;cursor:pointer;transition:all .2s;outline:none}.filter-panel .filter-select:focus,.filter-panel .filter-input:focus{border-color:#6366f1;background:#fff;box-shadow:0 0 0 3px #6366f11a}.filter-panel .filter-reset{width:32px;height:32px;border-radius:10px;border:none;background:transparent;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.filter-panel .filter-reset:hover{background:#f1f5f9;color:#64748b}.node-details-panel .prop-value.empty{text-align:center;color:#94a3b8}.filter-panel .filter-icon-box{display:flex;align-items:center;justify-content:center;padding:10px 14px;color:#6366f1;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:10px}.zoom-controls{position:absolute;left:20px;bottom:20px;z-index:10;display:flex;flex-direction:row;gap:8px}.zoom-controls .zoom-btn{width:40px;height:40px;border-radius:10px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(226,232,240,.8);display:flex;align-items:center;justify-content:center;color:#64748b;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #00000014}.zoom-controls .zoom-btn:hover{background:#fff;color:#334155;box-shadow:0 6px 16px #0000001f}.dark .node-details-panel{background:linear-gradient(135deg,#1e293b,#0f172a);border-color:#334155cc;box-shadow:0 10px 40px #0006,0 2px 10px #0000004d}.dark .node-details-panel .prop-label{color:#94a3b8}.dark .node-details-panel .prop-value{color:#e2e8f0}.dark .node-details-panel .prop-value.danger{color:#f87171}.dark .node-details-panel .prop-value.warning{color:#fb923c}.dark .node-details-panel .prop-value.info{color:#60a5fa}.dark .node-details-panel .prop-value.empty{color:#64748b}.dark .insights-panel{background:linear-gradient(135deg,#1e293b,#0f172a);border-color:#334155cc;box-shadow:0 10px 40px #0006,0 2px 10px #0000004d}.dark .insights-panel .stat-card{background:#334155}.dark .insights-panel .stat-value{color:#f1f5f9}.dark .insights-panel .stat-label{color:#94a3b8}.dark .insights-panel .insights-footer{border-top-color:#334155;color:#94a3b8}.dark .insights-panel .footer-badge{background:#334155;color:#e2e8f0}.dark .insights-panel .sample-badge{background:#78350f;color:#fcd34d;border-top-color:#92400e}.dark .filter-panel{background:#1e293bf2;border-color:#334155cc;box-shadow:0 10px 40px #0006,0 2px 10px #0000004d}.dark .filter-panel .filter-icon-box{background:linear-gradient(135deg,#312e81,#4c1d95);color:#a5b4fc}.dark .filter-panel .filter-label{color:#94a3b8}.dark .filter-panel .filter-select,.dark .filter-panel .filter-input{background:#334155;border-color:#475569;color:#e2e8f0}.dark .filter-panel .filter-select:focus,.dark .filter-panel .filter-input:focus{border-color:#818cf8;background:#1e293b;box-shadow:0 0 0 3px #818cf833}.dark .filter-panel .filter-toggle.inactive{color:#94a3b8}.dark .filter-panel .filter-toggle.inactive:hover{background:#334155}.dark .filter-panel .filter-divider{background:#475569}.dark .filter-panel .filter-reset{color:#94a3b8}.dark .filter-panel .filter-reset:hover{background:#334155;color:#e2e8f0}.dark .zoom-controls .zoom-btn{background:#1e293bf2;border-color:#334155cc;color:#94a3b8;box-shadow:0 4px 12px #0000004d}.dark .zoom-controls .zoom-btn:hover{background:#334155;color:#e2e8f0;box-shadow:0 6px 16px #0006}@keyframes sr-slideup{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes sr-spin{to{transform:rotate(360deg)}}.sr-page{padding:24px;background:var(--bg-secondary, #f8fafc);min-height:100%;display:flex;flex-direction:column;animation:sr-slideup .25s ease-out}.sr-page .spacer,.sr-modal .spacer{flex:1}.sr-page .spin,.sr-modal .spin{animation:sr-spin 1s linear infinite}.sr-page .muted,.sr-modal .muted{color:var(--text-secondary, #64748b)}.unassigned{font-style:normal;color:var(--text-muted, #94a3b8)}.sr-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;gap:16px}.sr-header h1{font-size:24px;font-weight:700;color:var(--text-primary, #1e293b);margin:0 0 4px;letter-spacing:-.01em}.sr-header p{font-size:13.5px;color:var(--text-secondary, #64748b);margin:0}.sr-header-actions{display:flex;gap:8px;flex-shrink:0}.sr-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid var(--border, #e2e8f0);background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.sr-btn:hover:not(:disabled){background:var(--panel-2, #f1f5f9)}.sr-btn:active:not(:disabled){transform:translateY(1px)}.sr-btn:disabled{opacity:.55;cursor:not-allowed}.sr-btn.primary{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}.sr-btn.primary:hover:not(:disabled){background:color-mix(in srgb,var(--primary, #3b82f6) 88%,#000)}.sr-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:none;background:transparent;color:var(--text-secondary, #64748b);cursor:pointer;flex-shrink:0}.sr-icon-btn.sm{width:22px;height:22px}.sr-icon-btn:hover:not(:disabled){background:var(--panel-2, #f1f5f9);color:var(--text-primary, #1e293b)}.sr-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.sr-seg{display:inline-flex;background:var(--panel-2, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:9px;padding:3px;gap:2px}.sr-seg button{border:none;background:transparent;color:var(--text-secondary, #64748b);font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:7px;cursor:pointer;white-space:nowrap}.sr-seg button.active{background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);box-shadow:0 1px 3px #00000014}.sr-filter-select{height:34px;border-radius:8px;border:1px solid var(--border, #e2e8f0);background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:13px;padding:0 10px;cursor:pointer}.sr-search{display:flex;align-items:center;gap:8px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:0 12px;height:34px;min-width:230px;color:var(--text-secondary, #64748b)}.sr-search input{border:none;outline:none;background:transparent;font-size:13px;color:var(--text-primary, #1e293b);width:100%}.sr-search:focus-within{border-color:var(--primary, #3b82f6)}.sr-date-range{display:flex;align-items:center;gap:6px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;height:34px;padding:0 10px}.sr-date-range .lbl{font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);white-space:nowrap}.sr-date-range .tilde{color:var(--text-muted, #94a3b8);font-size:12px}.sr-date-range input{border:none;outline:none;background:transparent;color:var(--text-primary, #1e293b);font-size:12.5px;width:118px;font-family:inherit}.sr-grid.ag-theme-quartz,.sr-grid.ag-theme-quartz .ag-root-wrapper{--ag-background-color: var(--panel, #ffffff);--ag-foreground-color: var(--text-primary, #1e293b);--ag-border-color: var(--border, #e2e8f0);--ag-header-background-color: var(--panel-2, #f8fafc);--ag-header-foreground-color: var(--text-secondary, #475569);--ag-active-color: var(--primary, #3b82f6);--ag-row-hover-color: color-mix(in srgb, var(--primary, #3b82f6) 7%, transparent);--ag-selected-row-background-color: color-mix(in srgb, var(--primary, #3b82f6) 14%, transparent);--ag-odd-row-background-color: transparent;--ag-font-family: inherit;--ag-wrapper-border-radius: 10px}.sr-grid.ag-theme-quartz .ag-root-wrapper,.sr-grid.ag-theme-quartz .ag-body,.sr-grid.ag-theme-quartz .ag-body-viewport,.sr-grid.ag-theme-quartz .ag-center-cols-viewport,.sr-grid.ag-theme-quartz .ag-center-cols-container,.sr-grid.ag-theme-quartz [class^=ag-grid-],.sr-grid.ag-theme-quartz [class*=" ag-grid-"]{--ag-wrapper-background-color: var(--panel, #ffffff);background-color:var(--panel, #ffffff)}.sr-grid.ag-theme-quartz .ag-root-wrapper{border:1px solid var(--border, #e2e8f0);border-radius:10px;overflow:hidden}.sr-grid.ag-theme-quartz .ag-row{background-color:transparent;cursor:pointer}.sr-grid.ag-theme-quartz .ag-row-hover{background-color:color-mix(in srgb,var(--primary, #3b82f6) 7%,transparent)}.sr-grid.ag-theme-quartz .ag-cell{color:var(--text, #1e293b)}.sr-grid.ag-theme-quartz .ag-header-cell{color:var(--text-secondary, #475569)}.sr-grid.ag-theme-quartz .ag-paging-panel{color:var(--text-secondary, #475569);background-color:var(--panel, #ffffff)}.sr-no-cell{font-weight:700;color:var(--primary, #3b82f6);font-variant-numeric:tabular-nums}.sr-title-cell{display:inline-flex;align-items:center;gap:6px;font-weight:600;overflow:hidden}.sr-title-cell .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-title-cell .clip{color:var(--text-muted, #94a3b8);flex-shrink:0}.sr-overdue-pill{font-size:12px;font-weight:700;color:#ef4444;background:color-mix(in srgb,#ef4444 10%,transparent);border-radius:999px;padding:4px 10px}.sr-hint{font-size:13px;margin-bottom:10px;min-height:18px}.sr-hint.success{color:var(--success, #16a34a)}.sr-hint.error{color:#dc2626}.sr-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:70px 20px;color:var(--text-secondary, #64748b);text-align:center}.sr-empty h3{margin:4px 0 0;color:var(--text-primary, #1e293b);font-size:16px}.sr-empty p{margin:0 0 8px;font-size:13px}.sr-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}@keyframes sr-scalein{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.sr-modal{background:var(--panel, #ffffff);border-radius:14px;width:640px;max-width:100%;max-height:calc(100vh - 48px);display:flex;flex-direction:column;box-shadow:0 20px 50px #00000038;animation:sr-scalein .18s ease-out}.sr-modal.sr-modal-lg{width:860px}.sr-modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 22px 12px;border-bottom:1px solid var(--border, #e2e8f0)}.sr-modal-head h2{margin:0;font-size:16px;font-weight:700;color:var(--text-primary, #1e293b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-modal-body{padding:18px 22px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.sr-field{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.sr-field-row{display:flex;gap:12px}.sr-field label{font-size:12px;font-weight:600;color:var(--text-secondary, #64748b)}.sr-field label .hint{font-weight:400;color:var(--text-muted, #94a3b8)}.sr-field input,.sr-field select,.sr-field textarea{border:1px solid var(--border, #e2e8f0);border-radius:8px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:13.5px;padding:9px 11px;font-family:inherit;width:100%}.sr-field textarea{resize:vertical;line-height:1.6}.sr-field textarea.sr-content-large{min-height:240px}.sr-field input.sr-readonly{background:var(--panel-2, #f1f5f9);color:var(--text-secondary, #64748b);cursor:default}.sr-field input:focus-visible,.sr-field select:focus-visible,.sr-field textarea:focus-visible{outline:2px solid color-mix(in srgb,var(--primary, #3b82f6) 45%,transparent);outline-offset:0;border-color:var(--primary, #3b82f6)}.sr-dropzone{display:flex;align-items:center;justify-content:center;gap:8px;border:1.5px dashed var(--border, #cbd5e1);border-radius:10px;padding:16px;color:var(--text-secondary, #64748b);font-size:12.5px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.sr-dropzone:hover,.sr-dropzone.over{border-color:var(--primary, #3b82f6);background:color-mix(in srgb,var(--primary, #3b82f6) 5%,transparent);color:var(--primary, #3b82f6)}.sr-file-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.sr-file-list li{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--border, #e2e8f0);border-radius:8px;background:var(--panel-2, #f8fafc);font-size:12.5px;color:var(--text-primary, #1e293b)}.sr-file-list li.clickable{cursor:pointer}.sr-file-list li.clickable:hover{border-color:var(--primary, #3b82f6)}.sr-file-list .sr-file-ico{color:var(--text-muted, #94a3b8);flex-shrink:0}.sr-file-list .name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-file-list .size{color:var(--text-muted, #94a3b8);flex-shrink:0;font-variant-numeric:tabular-nums}.sr-file-list .sr-file-download{color:var(--primary, #3b82f6);flex-shrink:0}.sr-detail-summary{margin:0;font-size:13.5px;color:var(--text-secondary, #64748b)}.sr-detail-summary strong{color:var(--text-primary, #1e293b);font-weight:700}.sr-detail-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--text-secondary, #64748b);padding:10px 12px;background:var(--panel-2, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:10px}.sr-detail-meta span{display:inline-flex;align-items:center;gap:5px}.sr-detail-meta .done{color:var(--success, #16a34a);font-weight:600}.sr-detail-content{font-size:13.5px;line-height:1.7;color:var(--text-primary, #1e293b);white-space:pre-wrap;word-break:break-word;padding:12px 14px;border:1px solid var(--border, #e2e8f0);border-radius:10px;background:var(--panel, #ffffff);min-height:60px}.sr-detail-content.remark{background:color-mix(in srgb,var(--primary, #3b82f6) 4%,transparent)}.sr-detail-content.resolution{background:color-mix(in srgb,#10b981 6%,transparent);border-color:color-mix(in srgb,#10b981 35%,var(--border, #e2e8f0))}.sr-modal-error{color:#dc2626;font-size:12.5px;min-height:16px}.sr-modal-foot{display:flex;align-items:center;gap:8px;padding:12px 22px 16px;border-top:1px solid var(--border, #e2e8f0)}.sr-progress{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-secondary, #64748b)}:root[data-theme=dark] .sr-page,:root[data-theme=dark] .sr-modal{color-scheme:dark}:root[data-theme=dark] .sr-hint.error,:root[data-theme=dark] .sr-modal-error{color:#f87171}:root[data-theme=dark] .sr-overdue-pill{color:#f87171;background:color-mix(in srgb,#f87171 14%,transparent)}:root[data-theme=dark] .sr-seg button.active{box-shadow:0 0 0 1px var(--border, #334155)}@media (max-width: 720px){.sr-page{padding:14px}.sr-field-row{flex-direction:column}.sr-search{min-width:0;flex:1}}.sr-emp-field{position:relative}.sr-emp-picker{position:absolute;top:100%;left:0;right:0;z-index:30;margin:4px 0 0;padding:4px;list-style:none;max-height:260px;overflow-y:auto;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:10px;box-shadow:0 8px 24px #0000001f}.sr-emp-picker li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border-radius:7px;font-size:13px;color:var(--text-primary, #1e293b);cursor:pointer}.sr-emp-picker li:hover,.sr-emp-picker li.selected{background:var(--panel-2, #f1f5f9)}.sr-emp-picker li .dept{font-size:11.5px;color:var(--text-muted, #94a3b8);flex-shrink:0}.sr-emp-picker li.empty{color:var(--text-muted, #94a3b8);cursor:default;justify-content:center}.sr-label-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.sr-same-check{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-secondary, #64748b);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.sr-field .sr-same-check input[type=checkbox]{width:13px;height:13px;margin:0;padding:0;border:none;flex:none;accent-color:var(--primary, #3b82f6);cursor:pointer}.central-document-page{display:flex;height:100%;background:var(--background);overflow:hidden}.central-document-page__main{flex:1;display:flex;flex-direction:column;padding:24px;overflow:hidden;min-width:0}.central-document-page__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.central-document-page__title{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.central-document-page__subtitle{font-size:.875rem;color:var(--text-secondary);margin-top:4px}.central-document-search{display:flex;flex-direction:column;gap:16px;padding:20px;background:var(--panel);border-radius:8px;margin-bottom:16px}.central-document-search__row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.central-document-search__field{display:flex;flex-direction:column;gap:4px}.central-document-search__field label{font-size:.75rem;color:var(--text-secondary)}.central-document-search__field input,.central-document-search__field select{height:36px;padding:0 12px;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text-primary);font-size:.8125rem;font-family:inherit}.central-document-search__field select option{background:var(--panel);color:var(--text-primary);padding:8px 12px;font-size:.8125rem}.central-document-search__field input:focus,.central-document-search__field select:focus{outline:none;border-color:var(--primary)}.central-document-search__keyword{flex:0 0 auto;width:300px}.central-document-search__keyword input{width:100%}.central-document-search__actions{display:flex;gap:8px}.searchable-select{position:relative;width:100%}.searchable-select__input-wrap{position:relative;display:flex;align-items:center}.searchable-select__input-wrap input{width:100%;height:36px;padding:0 28px 0 12px;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text-primary);font-size:.8125rem;font-family:inherit}.searchable-select__input-wrap input:focus{outline:none;border-color:var(--primary)}.searchable-select__clear{position:absolute;right:6px;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1rem;padding:0 4px;line-height:1}.searchable-select__clear:hover{color:var(--text-primary)}.searchable-select__dropdown{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:6px;margin-top:2px;z-index:100;box-shadow:0 4px 12px #0000004d}.searchable-select__item{padding:8px 12px;font-size:.8125rem;color:var(--text-primary);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.searchable-select__item:hover{background:var(--primary);color:#fff}.searchable-select__item--loading,.searchable-select__item--empty{color:var(--text-secondary);cursor:default;font-style:italic}.searchable-select__item--loading:hover,.searchable-select__item--empty:hover{background:transparent;color:var(--text-secondary)}.central-document-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.central-document-toolbar__info{font-size:.875rem;color:var(--text-secondary)}.central-document-toolbar__actions{display:flex;gap:8px}.central-document-table-container{flex:1;overflow:auto;background:var(--panel);border-radius:8px}.central-document-table{width:100%;border-collapse:collapse}.central-document-table th,.central-document-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}.central-document-table th{background:var(--background);font-weight:600;font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;position:sticky;top:0;z-index:1}.central-document-table td{font-size:.875rem;color:var(--text-primary)}.central-document-table tr:hover td{background:var(--background)}.central-document-table__row--selected td{background:rgba(var(--primary-rgb),.1)!important}.central-document-file-cell{display:flex;align-items:center;gap:12px}.central-document-file-cell__icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--background);font-weight:700;font-size:.625rem;text-transform:uppercase}.central-document-file-cell__info{display:flex;flex-direction:column;gap:2px}.central-document-file-cell__title{font-weight:500;color:var(--text-primary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.central-document-file-cell__meta{display:flex;gap:8px;font-size:.75rem;color:var(--text-secondary)}.central-document-meta-cell{display:flex;flex-direction:column;gap:2px}.central-document-meta-cell__primary{font-weight:500}.central-document-meta-cell__secondary{font-size:.75rem;color:var(--text-secondary)}.central-document-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:500}.central-document-badge--type{background:rgba(var(--primary-rgb),.1);color:var(--primary)}.central-document-badge--module{background:rgba(var(--info-rgb),.1);color:var(--info)}.central-document-badge--version{background:var(--background);color:var(--text-secondary)}.central-document-actions{display:flex;gap:4px}.central-document-action-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s}.central-document-action-btn:hover{background:var(--background);color:var(--text-primary)}.central-document-action-btn--download:hover,.central-document-action-btn--preview:hover{color:var(--primary)}.central-document-action-btn--edit:hover{color:var(--warning)}.central-document-action-btn--delete:hover{color:var(--danger)}.central-document-pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:16px;border-top:1px solid var(--border)}.central-document-pagination button{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);cursor:pointer;transition:all .2s}.central-document-pagination button:hover:not(:disabled){background:var(--background);border-color:var(--primary)}.central-document-pagination button:disabled{opacity:.5;cursor:not-allowed}.central-document-pagination__info{font-size:.875rem;color:var(--text-secondary);margin:0 16px}.central-document-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.central-document-modal{background:var(--panel);border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.central-document-modal__header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.central-document-modal__title{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.central-document-modal__close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer}.central-document-modal__close:hover{background:var(--background);color:var(--text-primary)}.central-document-modal__body{padding:24px;overflow-y:auto}.central-document-modal__footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--border)}.central-document-form{display:flex;flex-direction:column;gap:16px}.central-document-form__group{display:flex;flex-direction:column;gap:6px}.central-document-form__label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.central-document-form__label--required:after{content:" *";color:var(--danger)}.central-document-form__input,.central-document-form__select,.central-document-form__textarea{padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text-primary);font-size:.875rem}.central-document-form__input:focus,.central-document-form__select:focus,.central-document-form__textarea:focus{outline:none;border-color:var(--primary)}.central-document-form__textarea{min-height:80px;resize:vertical}.central-document-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.central-document-upload{border:2px dashed var(--border);border-radius:8px;padding:32px;text-align:center;cursor:pointer;transition:all .2s}.central-document-upload:hover{border-color:var(--primary);background:rgba(var(--primary-rgb),.05)}.central-document-upload--dragover{border-color:var(--primary);background:rgba(var(--primary-rgb),.1)}.central-document-upload__icon{font-size:48px;color:var(--text-secondary);margin-bottom:12px}.central-document-upload__text{font-size:.875rem;color:var(--text-secondary)}.central-document-upload__file{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;padding:8px 12px;background:var(--background);border-radius:6px}.central-document-upload__file-name{font-size:.875rem;color:var(--text-primary)}.central-document-upload__file-remove{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:var(--danger);color:#fff;font-size:12px;cursor:pointer}.central-document-resizer{width:6px;height:100%;cursor:col-resize;background:transparent;flex-shrink:0;position:relative;z-index:10;transition:background .2s}.central-document-resizer:hover,.central-document-resizer--active{background:var(--primary)}.central-document-resizer__handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:40px;border-radius:2px;background:var(--text-tertiary);opacity:.4;transition:opacity .2s}.central-document-resizer:hover .central-document-resizer__handle,.central-document-resizer--active .central-document-resizer__handle{opacity:0}.central-document-detail-panel{min-width:280px;max-width:600px;height:100%;background:var(--panel);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.central-document-detail-panel--empty{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;height:100%;color:var(--text-tertiary)}.central-document-detail-panel--empty svg{width:48px;height:48px;opacity:.5}.central-document-detail-panel--empty p{font-size:.875rem}.central-document-detail-panel__header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px;border-bottom:1px solid var(--border)}.central-document-detail-panel__badges{display:flex;gap:8px;margin-bottom:8px}.central-document-detail-panel__title{font-size:1rem;font-weight:600;color:var(--text-primary);word-break:break-word}.central-document-detail-panel__doc-no{font-size:.75rem;color:var(--text-secondary);margin-top:4px}.central-document-detail-panel__body{flex:1;overflow-y:auto;padding:20px}.central-document-detail-panel__section{margin-bottom:24px}.central-document-detail-panel__section-title{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;margin-bottom:12px}.central-document-detail-panel__info-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}.central-document-detail-panel__info-label{font-size:.875rem;color:var(--text-secondary)}.central-document-detail-panel__info-value{font-size:.875rem;color:var(--text-primary);text-align:right;max-width:60%;word-break:break-word}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn--primary{background:var(--primary);color:#fff}.btn--primary:hover{opacity:.9}.btn--secondary{background:var(--background);color:var(--text-primary);border:1px solid var(--border)}.btn--secondary:hover{background:var(--border)}.btn--danger{background:var(--danger);color:#fff}.btn--danger:hover{opacity:.9}.btn--sm{padding:6px 12px;font-size:.75rem}.central-document-loading,.central-document-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:var(--text-secondary)}.central-document-loading__spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.central-document-empty__icon{font-size:48px;margin-bottom:16px}.central-document-empty__text{font-size:.875rem}.central-document-version-list{display:flex;flex-direction:column;gap:12px}.central-document-version-item{display:flex;align-items:center;gap:16px;padding:12px;background:var(--background);border-radius:8px}.central-document-version-item__header{display:flex;flex-direction:column;gap:4px;min-width:60px}.central-document-version-item__info{flex:1}.central-document-version-item__meta{font-size:.75rem;color:var(--text-secondary);margin-top:4px}@media (max-width: 1024px){.central-document-page{flex-direction:column}.central-document-resizer{display:none}.central-document-detail-panel{width:100%!important;min-width:100%;max-width:100%;height:auto;max-height:50vh;border-left:none;border-top:1px solid var(--border)}}@media (max-width: 768px){.central-document-page{padding:16px}.central-document-search__row{flex-direction:column}.central-document-search__field{width:100%}.central-document-form__row{grid-template-columns:1fr}.central-document-table th:nth-child(n+4),.central-document-table td:nth-child(n+4){display:none}}.yarl__fullsize{height:100%;width:100%}.yarl__relative{position:relative}.yarl__portal{bottom:0;left:0;opacity:0;overflow:hidden;position:fixed;right:0;top:0;transition:opacity var(--yarl__fade_animation_duration,.25s) var(--yarl__fade_animation_timing_function,ease);z-index:var(--yarl__portal_zindex,9999)}.yarl__portal_open{opacity:1}.yarl__container{background-color:var(--yarl__container_background_color,var(--yarl__color_backdrop,#000));bottom:0;left:0;outline:none;overflow:hidden;overscroll-behavior:var(--yarl__controller_overscroll_behavior,contain);position:absolute;right:0;top:0;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;-moz-user-select:none;user-select:none}.yarl__carousel{align-content:center;align-items:stretch;display:flex;flex:0 0 auto;height:100%;justify-content:center;opacity:var(--yarl__pull_opacity,1);transform:translate(var(--yarl__swipe_offset,0),var(--yarl__pull_offset,0));width:calc(100% + (var(--yarl__carousel_slides_count) - 1)*(100% + var(--yarl__carousel_spacing_px, 0)*1px + var(--yarl__carousel_spacing_percent, 0)*1%))}.yarl__carousel_with_slides{-moz-column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%);column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%)}.yarl__flex_center{align-content:center;align-items:center;display:flex;justify-content:center}.yarl__slide{flex:1;overflow:hidden;padding:calc(var(--yarl__carousel_padding_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_padding_percent, 0)*1%);position:relative}[dir=rtl] .yarl__slide{--yarl__direction:-1}.yarl__slide_image{max-height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain;touch-action:var(--yarl__controller_touch_action,none);-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.yarl__slide_image_cover{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.yarl__slide_image_loading{opacity:0}@media screen and (min-width:800px){.yarl__slide_wrapper:not(.yarl__slide_wrapper_interactive) .yarl__slide_image{-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);-webkit-transform-style:preserve-3d}}.yarl__slide_placeholder{left:50%;line-height:0;position:absolute;top:50%;transform:translate(-50%) translateY(-50%)}.yarl__slide_loading{animation:yarl__delayed_fadein 1s linear;color:var(--yarl__slide_icon_loading_color,var(--yarl__color_button,hsla(0,0%,100%,.8)))}.yarl__slide_loading line{animation:yarl__stroke_opacity 1s linear infinite}.yarl__slide_loading line:first-of-type{animation-delay:-1.875s}.yarl__slide_loading line:nth-of-type(2){animation-delay:-1.75s}.yarl__slide_loading line:nth-of-type(3){animation-delay:-1.625s}.yarl__slide_loading line:nth-of-type(4){animation-delay:-1.5s}.yarl__slide_loading line:nth-of-type(5){animation-delay:-1.375s}.yarl__slide_loading line:nth-of-type(6){animation-delay:-1.25s}.yarl__slide_loading line:nth-of-type(7){animation-delay:-1.125s}.yarl__slide_loading line:nth-of-type(8){animation-delay:-1s}.yarl__slide_error{color:var(--yarl__slide_icon_error_color,red);height:var(--yarl__slide_icon_error_size,48px);width:var(--yarl__slide_icon_error_size,48px)}@media (prefers-reduced-motion){.yarl__portal,.yarl__slide{transition:unset}.yarl__slide_loading,.yarl__slide_loading line{animation:unset}}.yarl__toolbar{bottom:auto;display:flex;justify-content:flex-end;left:auto;padding:var(--yarl__toolbar_padding,8px);position:absolute;right:0;top:0}[dir=rtl] .yarl__toolbar{bottom:auto;left:0;right:auto;top:0}.yarl__icon{height:var(--yarl__icon_size,32px);width:var(--yarl__icon_size,32px)}.yarl__button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--yarl__button_background_color,transparent);border:var(--yarl__button_border,0);color:var(--yarl__color_button,hsla(0,0%,100%,.8));cursor:pointer;filter:var(--yarl__button_filter,drop-shadow(2px 2px 2px rgba(0,0,0,.8)));line-height:0;margin:var(--yarl__button_margin,0);outline:none;padding:var(--yarl__button_padding,8px);-webkit-tap-highlight-color:transparent}.yarl__button:focus{color:var(--yarl__color_button_active,#fff)}.yarl__button:focus:not(:focus-visible){color:var(--yarl__color_button,hsla(0,0%,100%,.8))}.yarl__button:focus-visible{color:var(--yarl__color_button_active,#fff)}@media (hover:hover){.yarl__button:focus-visible:hover,.yarl__button:focus:hover,.yarl__button:hover{color:var(--yarl__color_button_active,#fff)}}.yarl__button:disabled{color:var(--yarl__color_button_disabled,hsla(0,0%,100%,.4));cursor:default}.yarl__navigation_next,.yarl__navigation_prev{padding:var(--yarl__navigation_button_padding,24px 16px);position:absolute;top:50%;transform:translateY(-50%)}.yarl__navigation_prev{left:0}[dir=rtl] .yarl__navigation_prev{left:unset;right:0;transform:translateY(-50%) rotate(180deg)}.yarl__navigation_next{right:0}[dir=rtl] .yarl__navigation_next{left:0;right:unset;transform:translateY(-50%) rotate(180deg)}.yarl__no_scroll{height:100%;overflow:hidden;overscroll-behavior:none}@keyframes yarl__delayed_fadein{0%{opacity:0}80%{opacity:0}to{opacity:1}}@keyframes yarl__stroke_opacity{0%{stroke-opacity:1}to{stroke-opacity:.125}}.file-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;display:flex;flex-direction:column;background:#000000d9;animation:file-preview-fadein .15s ease-out}@keyframes file-preview-fadein{0%{opacity:0}to{opacity:1}}.file-preview__header{display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--panel);border-bottom:1px solid var(--border);color:var(--text-primary);flex-shrink:0}.file-preview__file-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.file-preview__ext-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;background:var(--primary);color:#fff;flex-shrink:0}.file-preview__file-name{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview__file-size{font-size:12px;color:var(--text-secondary);flex-shrink:0}.file-preview__header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.file-preview__header-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);font-size:13px;cursor:pointer;transition:background .15s}.file-preview__header-btn:hover{background:var(--bg-secondary)}.file-preview__close-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:18px;cursor:pointer;transition:background .15s,color .15s}.file-preview__close-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.file-preview__content{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;padding:16px}.file-preview__pdf-frame{width:100%;height:100%;border:none;background:#fff;border-radius:4px}.file-preview__video{max-width:100%;max-height:100%;border-radius:4px;background:#000}.file-preview__text-wrapper{width:100%;max-width:900px;max-height:100%;overflow:auto;background:var(--panel);border-radius:8px;padding:20px}.file-preview__text-content{margin:0;padding:0;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.6;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.file-preview__markdown{color:var(--text-primary);line-height:1.7}.file-preview__markdown h1,.file-preview__markdown h2,.file-preview__markdown h3{margin-top:1em;margin-bottom:.5em;color:var(--text-primary)}.file-preview__markdown code{padding:2px 6px;background:var(--bg-secondary);border-radius:4px;font-size:.9em}.file-preview__markdown pre{padding:12px;background:var(--bg-secondary);border-radius:6px;overflow-x:auto}.file-preview__loading,.file-preview__error{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:14px;padding:40px}.file-preview__error{color:var(--danger, #dc3545)}.file-preview__fallback{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px;background:var(--panel);border-radius:12px;text-align:center}.file-preview__fallback-icon{color:var(--text-secondary);opacity:.5}.file-preview__fallback-name{font-size:16px;font-weight:500;color:var(--text-primary)}.file-preview__fallback-info{font-size:13px;color:var(--text-secondary)}.file-preview__fallback-msg{font-size:13px;color:var(--text-tertiary)}.library-page{--wood-light: #a67c52;--wood-mid: #7a4f2e;--wood-dark: #3d2a1e;--brass-hi: #d4af7f;--brass-mid: #a67c52;--brass-dk: #8b5a3c;--page: #f5ead2;--paper: #faf3e3;width:100%;min-height:100%;background:#faf6ef;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:relative;overflow:hidden}.library-page *,.library-page *:before,.library-page *:after{box-sizing:border-box}.library-page .library-room{min-height:calc(100vh - 120px);background:linear-gradient(175deg,#fdf9f2,#faf6ef 55%,#f3e9d8 85%,#ecdcc6);display:flex;gap:0;position:relative}.library-page .library-room:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(47deg,transparent 0,transparent 2px,rgba(180,140,80,.012) 2px,rgba(180,140,80,.012) 3px),repeating-linear-gradient(133deg,transparent 0,transparent 2px,rgba(0,0,0,.01) 2px,rgba(0,0,0,.01) 3px);pointer-events:none;z-index:3}.library-page .library-room:before{content:"";position:absolute;bottom:18%;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(180,140,80,.28),transparent);pointer-events:none;z-index:2}.library-page .left-rail{width:148px;min-height:calc(100vh - 120px);flex-shrink:0;background:repeating-linear-gradient(1deg,transparent 0,transparent 4px,rgba(0,0,0,.028) 4px,rgba(0,0,0,.028) 5px,transparent 5px,transparent 11px),repeating-linear-gradient(179deg,transparent 0,transparent 7px,rgba(255,255,255,.012) 7px,rgba(255,255,255,.012) 8px),linear-gradient(180deg,#7a5030,#6b4423 45%,#5a3820);border-right:2px solid #2e1a0e;box-shadow:4px 0 20px #00000052,inset -3px 0 10px #00000038;padding:28px 10px;display:flex;flex-direction:column;gap:14px;position:sticky;top:0;height:calc(100vh - 120px);overflow-y:auto;z-index:5}.library-page .left-rail-header{font-family:Pretendard Variable,Pretendard,serif;font-size:13px;font-weight:600;color:#e8d4aa;text-align:center;letter-spacing:.12em;text-shadow:0 1px 3px rgba(0,0,0,.5);padding-bottom:12px;border-bottom:1px solid rgba(160,110,60,.4);margin-bottom:4px}.library-page .rail-label{background:linear-gradient(135deg,#c8a060,#a67c52,#8b5a3c);border:1px solid #6b4020;border-radius:2px;padding:7px 8px;box-shadow:inset 0 1px #ffffff2e,inset 0 -1px #00000038,2px 2px 6px #0000004d;font-family:Pretendard Variable,Pretendard,serif;font-size:10px;font-weight:600;color:#2c1810;text-shadow:0 1px 0 rgba(255,255,255,.35);letter-spacing:.06em;text-align:center;cursor:pointer;transition:transform .15s,box-shadow .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-page .rail-label:hover{transform:translate(3px);box-shadow:inset 0 1px #ffffff38,3px 3px 8px #00000061}.library-page .rail-label.active{background:linear-gradient(135deg,#d4b870,#b8965e,#9b6840)}.library-page .right-rail{width:116px;min-height:calc(100vh - 120px);flex-shrink:0;background:linear-gradient(180deg,#f0e8d4,#e8dfc8);border-left:1px solid #d4c4a0;padding:20px 8px;display:flex;flex-direction:column;gap:14px;position:sticky;top:0;height:calc(100vh - 120px);overflow-y:auto;z-index:5}.library-page .idx-pocket{background:linear-gradient(168deg,#fdf8ee,#f2e8d4);border:1px solid #d0bfa0;border-radius:2px;padding:10px 8px 8px;box-shadow:1px 2px 5px #0000001f,inset 0 1px #fff9;position:relative;font-size:9px;color:#6b5a4c;font-family:Pretendard Variable,Pretendard,Menlo,Consolas,monospace;line-height:1.6;transition:transform .2s}.library-page .idx-pocket:nth-child(odd){transform:rotate(.4deg)}.library-page .idx-pocket:nth-child(2n){transform:rotate(-.3deg)}.library-page .idx-pocket:hover{transform:rotate(0) translate(-2px)}.library-page .idx-pocket:before{content:"";position:absolute;top:-4px;left:8px;right:8px;height:6px;background:#c8b48c8c;border-radius:1px;box-shadow:0 1px 2px #00000026}.library-page .idx-pocket-title{font-weight:500;color:#4a3828;margin-bottom:4px;font-size:9.5px}.library-page .idx-pocket-num{color:#9a8070;font-size:8px}.library-page .main-grid{flex:1;padding:28px 22px;display:grid;grid-template-columns:repeat(4,1fr);gap:28px 20px;align-content:start;min-width:0}@media (max-width: 1600px){.library-page .main-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 1280px){.library-page .main-grid{grid-template-columns:repeat(2,1fr)}}.library-page .shelf-wrap{perspective:1400px;perspective-origin:50% 30%;position:relative}.library-page .shelf-card{transform:rotateX(-4deg) rotateY(3deg);transform-style:preserve-3d;transition:transform .35s cubic-bezier(.2,.8,.2,1),filter .35s;position:relative;filter:drop-shadow(0 6px 20px rgba(50,25,5,.28));will-change:transform}.library-page .shelf-wrap:hover .shelf-card{transform:rotateX(-5deg) rotateY(4deg) translateY(-4px);filter:drop-shadow(0 14px 32px rgba(50,25,5,.4))}.library-page .nameplate{height:28px;background:linear-gradient(180deg,#d8b880,#c09060 28%,#a67c52 68%,#8b5a3c);border:1px solid #6b4020;border-bottom:none;border-radius:3px 3px 0 0;display:flex;align-items:center;padding:0 8px;gap:5px;box-shadow:inset 0 1px #ffffff52,inset 0 -1px #0003}.library-page .screw{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:radial-gradient(circle at 36% 34%,#dcbe78,#9b7030,#5a3820);box-shadow:inset 0 1px 2px #ffffff4d,0 1px 2px #00000080;position:relative}.library-page .screw:after{content:"";position:absolute;top:49%;left:18%;width:64%;height:1px;background:#0006;transform:translateY(-50%) rotate(45deg)}.library-page .np-title{flex:1;text-align:center;font-family:Pretendard Variable,Pretendard,serif;font-size:12px;font-weight:600;color:#2c1810;text-shadow:0 1px 0 rgba(255,255,255,.38);letter-spacing:.07em;white-space:nowrap}.library-page .np-count{background:#7a4a30;color:#f0e0c0;font-family:Pretendard Variable,Pretendard,Menlo,Consolas,monospace;font-size:8px;padding:2px 5px;border-radius:2px;border:1px solid #5a3020;flex-shrink:0}.library-page .shelf-body{position:relative;height:188px;background:repeating-linear-gradient(89deg,transparent 0,transparent 2px,rgba(0,0,0,.045) 2px,rgba(0,0,0,.045) 3px,transparent 3px,transparent 8px),repeating-linear-gradient(91deg,transparent 0,transparent 6px,rgba(255,255,255,.01) 6px,rgba(255,255,255,.01) 7px),linear-gradient(180deg,#2e1a0e,#3d2a1e 30%,#352318);border-left:1px solid #1e1008;border-right:1px solid #1e1008;box-shadow:inset 0 0 28px #00000052,inset 0 5px 10px #00000038;overflow:hidden}.library-page .ceiling{position:absolute;top:0;left:0;right:0;height:8px;background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,transparent 100%);z-index:4}.library-page .side-panel{position:absolute;top:0;bottom:0;left:-9px;width:9px;background:repeating-linear-gradient(180deg,transparent 0,transparent 4px,rgba(0,0,0,.07) 4px,rgba(0,0,0,.07) 5px,transparent 5px,transparent 10px),linear-gradient(90deg,#3a2010,#6b4423,#5a3820);border-left:1px solid #1e1008;z-index:2;box-shadow:inset -2px 0 4px #0000004d}.library-page .books-area{position:absolute;top:8px;bottom:22px;left:0;right:0;display:flex;align-items:flex-end;padding:0 10px;gap:1px;overflow:hidden}.library-page .shelf-floor{position:absolute;bottom:0;left:0;right:0;height:22px}.library-page .floor-top{height:7px;background:linear-gradient(180deg,rgba(255,255,255,.07) 0%,transparent 100%),repeating-linear-gradient(88deg,transparent 0,transparent 5px,rgba(0,0,0,.04) 5px,rgba(0,0,0,.04) 6px),#8b5a3c;box-shadow:inset 0 2px 4px #ffffff14,inset 0 -1px 2px #00000047}.library-page .floor-front{height:15px;background:linear-gradient(180deg,#0000001f,#6b4423 22%,#5a3820 75%,#4a2e18);box-shadow:inset 0 1px #ffffff12,0 4px 10px #00000073}.library-page .floor-shadow{height:14px;margin-top:-2px;background:radial-gradient(ellipse 80% 100% at 50% 0%,rgba(30,10,0,.35) 0%,transparent 100%);filter:blur(2px)}.library-page .bottom-meta{background:repeating-linear-gradient(90deg,transparent 0,transparent 3px,rgba(0,0,0,.012) 3px,rgba(0,0,0,.012) 4px),#faf3e3;border:1px solid #d4c4a0;border-top:none;border-radius:0 0 3px 3px;padding:5px 8px;display:flex;align-items:center;gap:6px;font-size:9.5px;color:#6b5a4c;font-family:Pretendard Variable,Pretendard,sans-serif;white-space:nowrap;overflow:hidden}.library-page .hue-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.library-page .meta-text{overflow:hidden;text-overflow:ellipsis;flex:1}.library-page .book{position:relative;flex-shrink:0;border-radius:1px 1px 0 0;border-top:4px solid #f5ead2;background:linear-gradient(90deg,#0000004d,#0000001a 18%,#ffffff21,#00000014 82%,#00000040),var(--bc, #2563eb);box-shadow:inset 2px 0 4px #00000047,inset -1px 0 2px #ffffff1a,1px 0 #0000002e;align-self:flex-end;transition:box-shadow .2s,filter .2s;cursor:pointer}.library-page .book:before{content:"";position:absolute;top:2px;left:0;right:0;height:1px;background:#ffffff38}.library-page .book:after{content:"";position:absolute;bottom:4px;left:0;right:0;height:1px;background:#ffffff26}.library-page .book.dust{border-top:4px solid #ddd5c0;background:repeating-linear-gradient(90deg,transparent 0,transparent 8px,rgba(0,0,0,.018) 8px,rgba(0,0,0,.018) 9px),linear-gradient(180deg,#eedfc8,#e8dcc4 40%,#dfd3b8);box-shadow:inset 2px 0 4px #00000038,inset -1px 0 2px #fff3,1px 0 #0000001f}.library-page .book.protrude{filter:brightness(1.12) drop-shadow(3px 6px 10px rgba(0,0,0,.45));z-index:10}.library-page .book:hover{filter:brightness(1.2) drop-shadow(4px 8px 14px rgba(0,0,0,.55));z-index:11}.library-page .book.lean{transform-origin:bottom center}.library-page .book-horiz{position:absolute;border-radius:1px;background:linear-gradient(180deg,#ffffff1a,#0000000d),var(--bc, #2563eb);border-left:4px solid #f5ead2;box-shadow:0 2px 6px #0006,inset 0 1px 2px #ffffff26;z-index:8}.library-page .call-label{position:absolute;top:10px;left:50%;transform:translate(-50%);background:#fbf5e4;font-family:Pretendard Variable,Pretendard,Menlo,Consolas,monospace;font-size:6px;color:#2c1810;padding:1px 2px;width:calc(100% - 4px);text-align:center;box-shadow:0 1px 2px #00000038;line-height:1.3;white-space:nowrap;overflow:hidden;pointer-events:none}.library-page .spine-label{position:absolute;bottom:18px;left:50%;transform:translate(-50%) rotate(-90deg);transform-origin:center center;font-family:Pretendard Variable,Pretendard,sans-serif;font-size:6px;font-weight:500;white-space:nowrap;color:#00000080;pointer-events:none}.library-page .bookmark{position:absolute;top:-12px;right:3px;width:7px;height:14px;background:linear-gradient(180deg,#e8f0d0,#ccd8a0);clip-path:polygon(0 0,100% 0,100% 80%,50% 100%,0 80%);box-shadow:0 1px 3px #0003;font-size:5px;color:#4a6020;text-align:center;line-height:1;padding-top:2px;z-index:12}.library-page .orns{position:absolute;top:0;left:0;right:0;bottom:22px;pointer-events:none;z-index:6}.library-page .bookend{position:absolute;bottom:0;width:12px;height:72px;background:linear-gradient(90deg,#c8900a,#e8b020,#c8900a,#a07010);border-radius:1px;box-shadow:1px 0 4px #0006,inset 1px 0 2px #fff3}.library-page .bookend:before{content:"";position:absolute;bottom:0;left:-4px;right:-4px;height:6px;background:linear-gradient(180deg,#d09820,#a07010);border-radius:0 0 2px 2px}.library-page .compass{position:absolute;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#e8c040,#c89020,#906010);box-shadow:0 2px 6px #00000080,inset 0 1px 2px #ffffff4d}.library-page .compass:after{content:"";position:absolute;top:50%;left:50%;width:70%;height:1px;background:#402000;transform:translate(-50%,-50%) rotate(-35deg);transform-origin:center}.library-page .succulent{position:absolute;bottom:0;width:24px;height:28px}.library-page .pot{position:absolute;bottom:0;left:2px;right:2px;height:12px;background:linear-gradient(180deg,#c07a50,#a05a30);border-radius:1px 1px 2px 2px}.library-page .plant{position:absolute;bottom:10px;left:0;right:0;text-align:center;font-size:14px;line-height:1;filter:saturate(.8) brightness(.85)}.library-page .placard{position:absolute;bottom:4px;background:linear-gradient(180deg,#f5e8c8,#e8d8a8);border:1px solid #c8a870;border-radius:2px;padding:4px 6px;font-size:8px;font-family:Pretendard Variable,Pretendard,serif;color:#4a3020;box-shadow:1px 2px 4px #0003;white-space:nowrap}.library-page .mote{position:absolute;border-radius:50%;background:#ffe6a0b3;box-shadow:0 0 4px 2px #ffc86466;animation:library-float 4s ease-in-out infinite alternate}@keyframes library-float{0%{transform:translateY(0) scale(1)}to{transform:translateY(-8px) scale(1.3)}}.library-page .tooltip{position:absolute;right:-180px;top:10px;width:170px;background:linear-gradient(168deg,#fdf8ee,#f5ead8);border:1px solid #d4c4a0;border-radius:4px;padding:10px;box-shadow:0 8px 24px #0003,inset 0 1px #ffffffb3;font-size:9.5px;color:#4a3828;line-height:1.6;opacity:0;pointer-events:none;transform:translate(-6px);transition:opacity .25s,transform .25s;z-index:50;font-family:Pretendard Variable,Pretendard,sans-serif}.library-page .shelf-wrap.has-tooltip:hover .tooltip{opacity:1;transform:translate(0)}.library-page .tooltip-title{font-weight:600;color:#2c1810;font-size:11px;margin-bottom:5px;font-family:Pretendard Variable,Pretendard,serif}.library-page .tt-chip{display:inline-block;background:#e8dcc0;color:#5a3820;font-size:8px;padding:1px 5px;border-radius:10px;margin:2px 2px 0 0;border:1px solid #c8a870}.library-page .shelf-wrap.sparse .shelf-body{background:repeating-linear-gradient(89deg,transparent 0,transparent 3px,rgba(0,0,0,.03) 3px,rgba(0,0,0,.03) 4px),linear-gradient(180deg,#2a1a0c,#382215)}.library-page .left-rail::-webkit-scrollbar,.library-page .right-rail::-webkit-scrollbar{width:5px}.library-page .left-rail::-webkit-scrollbar-track,.library-page .right-rail::-webkit-scrollbar-track{background:#0000001a}.library-page .left-rail::-webkit-scrollbar-thumb,.library-page .right-rail::-webkit-scrollbar-thumb{background:#a0783c66;border-radius:3px}.library-page .smart-rail{width:200px;flex-shrink:0;min-height:calc(100vh - 120px);background:repeating-linear-gradient(1deg,transparent 0,transparent 4px,rgba(0,0,0,.028) 4px,rgba(0,0,0,.028) 5px,transparent 5px,transparent 11px),linear-gradient(180deg,#f0e8d4,#e8dfc8);border-right:1px solid #d4c4a0;box-shadow:inset -2px 0 6px #00000014;padding:22px 14px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:calc(100vh - 120px);overflow-y:auto;z-index:5}.library-page .smart-rail::-webkit-scrollbar{width:5px}.library-page .smart-rail::-webkit-scrollbar-thumb{background:#a0783c66;border-radius:3px}.library-page .smart-rail-header{font-family:Pretendard Variable,Pretendard,serif;font-size:13px;font-weight:700;color:#4a3828;letter-spacing:.1em;padding:0 2px 10px;border-bottom:1px solid #d4c4a0;text-transform:uppercase}.library-page .sc-section{display:flex;flex-direction:column;gap:4px}.library-page .sc-section-head{display:flex;align-items:center;gap:6px;padding:2px 2px 6px;font-size:11.5px;font-weight:600;color:#6b5a4c;letter-spacing:.04em}.library-page .sc-section-head>svg{color:#9a8070;flex-shrink:0}.library-page .sc-clear{margin-left:auto;background:transparent;border:none;color:#9a8070;font-size:10px;cursor:pointer;padding:2px 4px;font-family:inherit}.library-page .sc-clear:hover{color:#6b5a4c;text-decoration:underline}.library-page .sc-item{all:unset;display:flex;align-items:center;gap:7px;padding:6px 8px;border-radius:3px;font-size:11.5px;color:#4a3828;cursor:pointer;line-height:1.35;transition:background .12s}.library-page .sc-item:hover{background:#fff9}.library-page .sc-item-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.library-page .sc-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.library-page .sc-empty{font-size:10.5px;color:#b0a090;padding:4px 8px;font-style:italic}.library-page .shelf-wrap{cursor:pointer;outline:none}.library-page .shelf-wrap:focus-visible .shelf-card{filter:drop-shadow(0 8px 22px rgba(50,25,5,.45))}.library-page .library-grid-view{min-height:calc(100vh - 120px);background:linear-gradient(180deg,#fdf9f2,#faf6ef);display:flex;flex-direction:column}.library-page .lgv-header{display:flex;align-items:center;gap:16px;padding:18px 28px 14px;background:#fdf9f2;border-bottom:1px solid #e5dcc8}.library-page .lgv-back{background:transparent;border:1px solid #d4c4a0;border-radius:6px;padding:7px 14px;font-size:13px;color:#4a3828;cursor:pointer;font-family:inherit;transition:background .15s}.library-page .lgv-back:hover{background:#f1ede6}.library-page .lgv-title{flex:1;display:flex;align-items:center;gap:8px;font-size:18px;color:#2c1810;font-weight:600}.library-page .lgv-title-icon{font-size:22px}.library-page .lgv-title-name{letter-spacing:.02em}.library-page .lgv-title-count{color:#9a8070;font-weight:500;font-size:15px}.library-page .lgv-sort label{font-size:13px;color:#6b5a4c;display:flex;align-items:center;gap:6px}.library-page .lgv-sort select{background:#fff;border:1px solid #d4c4a0;border-radius:4px;padding:5px 8px;font-family:inherit;font-size:13px;color:#2c1810;cursor:pointer}.library-page .lgv-tabs{display:flex;gap:6px;padding:10px 28px;overflow-x:auto;background:#f7f3ec;border-bottom:1px solid #e5dcc8;scrollbar-width:thin}.library-page .lgv-tabs::-webkit-scrollbar{height:6px}.library-page .lgv-tabs::-webkit-scrollbar-thumb{background:#a0783c66;border-radius:3px}.library-page .lgv-tab{flex-shrink:0;display:flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;border:1px solid #e5dcc8;border-radius:20px;font-family:inherit;font-size:13px;color:#4a3828;cursor:pointer;transition:all .15s;white-space:nowrap}.library-page .lgv-tab:hover{background:#faf3e3;border-color:var(--tab-color, #d4c4a0)}.library-page .lgv-tab.active{background:var(--tab-color, #2563eb);color:#fff;border-color:var(--tab-color, #2563eb);box-shadow:0 2px 6px #0000002e}.library-page .lgv-tab-icon{font-size:15px}.library-page .lgv-tab-count{background:#00000014;padding:1px 7px;border-radius:10px;font-size:11px;font-weight:600;min-width:20px;text-align:center}.library-page .lgv-tab.active .lgv-tab-count{background:#ffffff40}.library-page .lgv-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:24px 18px;padding:28px;align-content:start}@media (max-width: 900px){.library-page .lgv-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:18px 12px}}.library-page .doc-card-wrap{position:relative;min-width:0}.library-page .doc-fav{position:absolute;top:8px;left:8px;z-index:2;width:28px;height:28px;border-radius:50%;border:none;background:#ffffffe0;color:#9a8070;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 5px #0000002e;transition:transform .15s,background .15s,color .15s;font-family:inherit}.library-page .doc-fav:hover{transform:scale(1.08);color:#f59e0b}.library-page .doc-fav.active{color:#f59e0b;background:#fff}.library-page .doc-card{all:unset;display:flex;flex-direction:column;cursor:pointer;font-family:inherit;transition:transform .18s;min-width:0;width:100%}.library-page .doc-card:hover{transform:translateY(-4px)}.library-page .doc-card:hover .doc-cover{box-shadow:0 12px 28px #1e0f0538}.library-page .doc-cover{position:relative;width:100%;aspect-ratio:3 / 4;border-radius:4px;overflow:hidden;background:#e8dfc8;box-shadow:0 3px 10px #1e0f051f;transition:box-shadow .2s;min-width:0}.library-page .doc-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.library-page .doc-cover-badge{position:absolute;top:6px;right:6px;background:#000000b3;color:#fff;font-size:9px;font-weight:700;padding:2px 6px;border-radius:3px;letter-spacing:.04em}.library-page .doc-cover-fallback{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:14px 12px 12px;color:#fff}.library-page .doc-cover-icon{font-size:28px;line-height:1;opacity:.7}.library-page .doc-cover-title{font-size:12px;line-height:1.35;font-weight:600;color:#fff;overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;text-shadow:0 1px 2px rgba(0,0,0,.25)}.library-page .doc-cover-ext{font-size:9.5px;font-weight:700;letter-spacing:.08em;opacity:.8;text-align:right}.library-page .doc-card-body{padding:10px 2px 0}.library-page .doc-card-title{font-size:13px;font-weight:600;color:#2c1810;line-height:1.4;min-height:2.8em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:4px}.library-page .doc-card-meta{font-size:11.5px;color:#6b5a4c;line-height:1.4;min-height:1.4em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-page .doc-card-date{font-size:10.5px;color:#9a8070;line-height:1.4;min-height:1.4em;margin-top:2px}.library-page .lgv-empty{grid-column:1 / -1;text-align:center;padding:80px 20px;color:#9a8070}.library-page .lgv-empty-icon{font-size:48px;opacity:.4;margin-bottom:12px}.library-page .lgv-empty-title{font-size:16px;font-weight:600;color:#6b5a4c;margin-bottom:4px}.library-page .lgv-empty-sub{font-size:13px;color:#9a8070}.cody-fab{position:fixed;right:24px;bottom:24px;z-index:1000;width:56px;height:56px;border-radius:50%;border:1px solid var(--glass-border, var(--border));background:var(--accent);color:var(--on-accent, #fff);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-lg, 0 8px 24px rgba(0, 0, 0, .18));transition:transform .2s cubic-bezier(.32,.72,0,1),box-shadow .2s ease}.cody-fab:focus-visible{outline:2px solid var(--primary, var(--accent));outline-offset:2px}.cody-fab--open{background:var(--panel);color:var(--text);backdrop-filter:var(--blur-md, blur(24px));-webkit-backdrop-filter:var(--blur-md, blur(24px))}.cody-panel{position:fixed;right:24px;bottom:92px;z-index:1000;width:420px;max-width:calc(100vw - 32px);height:min(680px,78vh);display:flex;flex-direction:column;background:var(--panel);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg, 0 12px 40px rgba(0, 0, 0, .24)),inset 0 1px 0 var(--glass-highlight);overflow:hidden;transition:width .22s cubic-bezier(.32,.72,0,1),height .22s cubic-bezier(.32,.72,0,1)}.cody-panel--expanded{width:50vw;min-width:520px;height:72vh;min-height:460px}.cody-header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border)}.cody-header__title{display:flex;align-items:center;gap:6px;font-weight:600;font-size:14px;color:var(--text)}.cody-header__sub{font-size:11px;color:var(--text-secondary)}.cody-header__spacer{flex:1}.cody-iconbtn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .15s ease}.cody-iconbtn:hover{background:var(--panel-2);color:var(--text)}.cody-status{display:flex;align-items:center;gap:8px;padding:7px 14px;border-bottom:1px solid var(--border);font-size:11px}.cody-status__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cody-status__dot.is-on{background:var(--success, #16a34a);box-shadow:0 0 0 3px color-mix(in srgb,var(--success, #16a34a) 22%,transparent)}.cody-status__dot.is-off{background:var(--error, #dc2626)}.cody-status__dot.is-unknown{background:var(--text-tertiary)}.cody-status__text{color:var(--text);font-weight:500}.cody-status__model{margin-left:auto;color:var(--text-secondary);font-size:10px;font-family:var(--font-mono, ui-monospace, monospace)}.cody-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:12px}.cody-empty{margin:auto;text-align:center;color:var(--text-secondary);font-size:13px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 8px}.cody-suggest{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.cody-suggest button{font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer;transition:border-color .15s ease,transform .15s ease}.cody-suggest button:hover{border-color:var(--accent);transform:translateY(-1px)}.cody-msg{display:flex;flex-direction:column;gap:4px;max-width:100%}.cody-msg--user{align-items:flex-end}.cody-msg--assistant{align-items:flex-start}.cody-msg__role{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--accent);margin-bottom:1px}.cody-bubble{padding:9px 12px;border-radius:12px;font-size:13px;line-height:1.55;max-width:92%;word-break:break-word}.cody-msg--user .cody-bubble{background:var(--accent);color:var(--on-accent, #fff);border-bottom-right-radius:4px}.cody-msg--assistant .cody-bubble{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-bottom-left-radius:4px;max-width:100%;overflow-x:auto}.cody-tools{display:flex;flex-wrap:wrap;gap:4px}.cody-tool{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary);background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:2px 8px}.cody-tool--running{color:var(--text-primary);border-color:var(--accent)}.cody-typing{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:12px;padding:2px 0}.cody-md>:first-child{margin-top:0}.cody-md>:last-child{margin-bottom:0}.cody-md p{margin:6px 0}.cody-md h1,.cody-md h2,.cody-md h3{font-size:14px;font-weight:600;margin:10px 0 6px}.cody-md ul,.cody-md ol{margin:6px 0;padding-left:18px}.cody-md li{margin:2px 0}.cody-md table{border-collapse:collapse;width:auto;min-width:100%;margin:8px 0;font-size:12px}.cody-md th,.cody-md td{border:1px solid var(--border);padding:5px 8px;text-align:left;word-break:keep-all}.cody-md th{background:var(--panel);font-weight:600}.cody-md code{font-family:inherit;background:var(--panel);padding:1px 5px;border-radius:4px;font-size:.92em}.cody-md pre{margin:8px 0;padding:10px 12px;background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.cody-md pre code{font-family:inherit;background:none;padding:0;border-radius:0;font-size:.92em}.cody-md hr{border:none;border-top:1px solid var(--border);margin:10px 0}.cody-md strong{font-weight:600}.cody-inline-icon{display:inline-block;vertical-align:-2px;margin:0 1px;color:var(--accent)}.cody-chart{width:100%;margin:10px 0;padding:10px 8px 4px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.cody-chart__title{margin:0 0 6px 4px;font-size:12px;font-weight:600;color:var(--text)}.cody-footer{display:flex;gap:8px;align-items:flex-end;padding:10px;border-top:1px solid var(--border)}.cody-input{flex:1;resize:none;max-height:120px;min-height:38px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--input-bg);color:var(--text);font-size:13px;font-family:inherit;line-height:1.4}.cody-input:focus{outline:none;border-color:var(--accent)}.cody-send{flex-shrink:0;width:38px;height:38px;border-radius:10px;border:none;background:var(--accent);color:var(--on-accent, #fff);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .15s ease}.cody-send:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 520px){.cody-panel{right:12px;left:12px;width:auto;bottom:84px}}.cody-page{display:flex;gap:14px;height:100%;min-height:0}.cody-page__chat{flex:1;min-width:0;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:14px;background:var(--panel);overflow:hidden}.cody-page__chathead{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.cody-page__title{font-size:15px;font-weight:700;color:var(--text)}.cody-page__subtitle{font-size:12px;color:var(--text-secondary)}.cody-empty__hint{font-size:12px;color:var(--text-tertiary)}.cody-page__rail{width:300px;flex-shrink:0;display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding-right:2px}.cap-status{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.cap-status__dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.cap-status__dot.is-on{background:var(--success, #16a34a);box-shadow:0 0 0 3px color-mix(in srgb,var(--success, #16a34a) 22%,transparent)}.cap-status__dot.is-off{background:var(--error, #dc2626)}.cap-status__dot.is-unknown{background:var(--text-tertiary)}.cap-status__text{display:flex;flex-direction:column;gap:1px;min-width:0}.cap-status__text strong{font-size:13px;font-weight:700}.cap-status__text span{font-size:11px;color:var(--text-tertiary)}.cap-head{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);padding:2px 2px 0}.cap-card{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--panel);cursor:pointer;transition:border-color .15s ease,transform .15s ease}.cap-card:hover:not(:disabled){border-color:var(--accent)}.cap-card:disabled{cursor:default;opacity:.85}.cap-card__icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:9px;background:var(--accent-soft, var(--panel-2));color:var(--accent)}.cap-card__body{display:flex;flex-direction:column;gap:2px;min-width:0}.cap-card__title{font-size:13px;font-weight:700;color:var(--text)}.cap-card__desc{font-size:11.5px;color:var(--text-secondary)}.cap-card__example{font-size:11px;color:var(--text-tertiary);margin-top:2px}.cap-foot{font-size:11px;color:var(--text-tertiary);text-align:center;margin:4px 0 0}@media (max-width: 900px){.cody-page{flex-direction:column;height:auto}.cody-page__chat{min-height:60vh}.cody-page__rail{width:100%}}.status-badge-item{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:13px}.status-badge-item:hover{box-shadow:0 2px 4px #0000001a}.status-badge-item.active{border-width:2px}.status-badge-label{color:var(--text-secondary);font-size:12px;white-space:nowrap}.status-badge-value{font-weight:700;font-size:15px}.status-badge-unit{color:var(--text-secondary);font-size:11px}@media (max-width: 768px){.status-badge-item{padding:4px 8px}.status-badge-label{font-size:11px}.status-badge-value{font-size:13px}}.incident-list-page{padding:16px;height:100%}.incident-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px}.incident-list-page .page-header-title h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.incident-list-page .status-summary-row{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;overflow-x:auto}.incident-list-page .status-badge-item{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.incident-list-page .status-badge-item:hover{border-color:var(--primary);background:var(--bg-secondary)}.incident-list-page .status-badge-item.active{border-width:2px}.incident-list-page .status-badge-label{font-size:11px;color:var(--text-secondary)}.incident-list-page .status-badge-value{font-size:13px;font-weight:700}.incident-list-page .status-badge-unit{font-size:10px;color:var(--text-secondary)}.incident-list-page .error-container{text-align:center;padding:60px 20px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px}.incident-list-page .error-container h3{margin-top:0;margin-bottom:10px;color:var(--error)}.incident-list-page .error-container p{margin-bottom:20px;color:var(--text-secondary)}.incident-list-page .search-bar{display:flex;align-items:center;gap:4px;padding:8px 12px;border-bottom:1px solid var(--glass-border);background:var(--panel-2);flex-wrap:nowrap;overflow-x:auto}.incident-list-page .search-item{flex-shrink:0}.incident-list-page .search-input-wrapper{position:relative;display:flex;align-items:center}.incident-list-page .search-icon{position:absolute;left:8px;color:var(--text-secondary);pointer-events:none}.incident-list-page .search-input-wrapper .input{padding-left:28px;min-width:200px!important;width:200px!important}.incident-list-page .search-date-group{display:flex;align-items:center;gap:2px}.incident-list-page .date-separator{color:var(--text-secondary);font-size:12px}.incident-list-page .search-buttons{display:flex;gap:2px;margin-left:auto}.incident-list-page .input-sm{padding:5px 8px;font-size:12px;border-radius:4px}.incident-list-page .search-item select.input-sm{min-width:95px;width:auto}.incident-list-page .search-item input.input-sm{min-width:70px;max-width:90px}.incident-list-page .search-date-group .input-sm{width:100px}.incident-list-page .btn-sm{padding:5px 10px;font-size:12px;border-radius:4px}.incident-list-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.incident-list-page .btn:disabled{opacity:.5;cursor:not-allowed}.incident-list-page .btn-primary{background:var(--primary)!important;color:var(--panel)!important;border-color:var(--primary)!important}.incident-list-page .btn-primary span,.incident-list-page .btn-primary .btn-text{color:var(--panel)!important}.incident-list-page .btn-primary svg{color:var(--panel)!important;stroke:var(--panel)!important}.incident-list-page .btn-primary:hover:not(:disabled){background:var(--accent-hover)!important}.incident-list-page .btn-secondary{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border)}.incident-list-page .btn-secondary:hover:not(:disabled){background:var(--bg-secondary)}.incident-list-page .btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.incident-list-page .btn-ghost:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.incident-list-page .btn-icon{padding:4px;background:transparent;color:var(--text-secondary);border:none;border-radius:4px}.incident-list-page .btn-icon:hover{background:var(--bg-secondary);color:var(--text-primary)}.incident-list-page .btn-icon.btn-danger:hover{background:#dc35451a;color:var(--error)}.incident-list-page .input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.incident-list-page .input:focus{outline:none;border-color:var(--primary)}.incident-list-page .input::-moz-placeholder{color:var(--text-tertiary)}.incident-list-page .input::placeholder{color:var(--text-tertiary)}.incident-list-page .table-container{overflow:auto;-webkit-overflow-scrolling:touch}.incident-list-page .incident-table{width:100%;min-width:3300px;border-collapse:collapse;font-size:12px}.incident-list-page thead{position:sticky;top:0;z-index:1}.incident-list-page th{padding:6px;font-weight:700;color:var(--text-primary);text-transform:none;letter-spacing:0;border-bottom:2px solid var(--glass-border);white-space:nowrap;font-size:11px;height:32px}.incident-list-page .th-center{text-align:center}.incident-list-page .th-left{text-align:left}.incident-list-page .incident-table tbody tr{height:36px}.incident-list-page .incident-table td{padding:4px 8px;border-bottom:1px solid var(--glass-border);vertical-align:middle;line-height:1.5;font-size:12px;box-sizing:border-box}.incident-list-page .incident-table .status-badge{padding:2px 6px;font-size:10px;line-height:1.2}.incident-list-page .incident-table svg{width:14px;height:14px}.incident-list-page .detail-table tbody tr{height:36px}.incident-list-page .incident-table tbody tr{background:transparent}.incident-list-page .detail-table td{padding:4px 8px;line-height:1.5;font-size:12px}.incident-list-page .detail-table th{height:32px;padding:4px 8px}.incident-list-page .td-center{text-align:center}.incident-list-page .td-left{text-align:left}.incident-list-page .td-small{font-size:11px}.incident-list-page .td-ellipsis{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.incident-list-page .td-empty{padding:40px 12px;color:var(--text-secondary)}.incident-list-page .td-incident-no{font-weight:500;color:var(--primary)}.incident-list-page .td-incident-no span:hover{text-decoration:underline}.incident-list-page .status-badge{display:inline-block;padding:1px 5px;border-radius:3px;font-size:10px;font-weight:500;white-space:nowrap;line-height:1.3}.incident-list-page .count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;font-size:10px;font-weight:600}.incident-list-page .count-detail{background:#93c5fd33;color:var(--primary)}.incident-list-page .count-file{background:#c4b5fd33;color:var(--info)}.incident-list-page .row-closed{background:var(--bg-success-subtle, rgba(40, 167, 69, .05))}.incident-list-page .row-selected{background:#3b82f633!important}.incident-list-page .row-selected td{border-bottom-color:var(--accent);color:var(--text-primary)!important}.incident-list-page .row-selected .td-incident-no,.incident-list-page .row-selected svg{color:var(--accent)!important}.incident-list-page tbody tr:hover{background:var(--accent-hover)!important}.incident-list-page tbody tr:hover td{color:var(--panel)!important}.incident-list-page tbody tr:hover .status-badge{background:#fff3!important;color:var(--panel)!important}.incident-list-page tbody tr:hover .count-badge{background:#ffffff40!important;color:var(--panel)!important}.incident-list-page tbody tr:hover .td-incident-no span{color:var(--panel)!important;text-decoration:underline}.incident-list-page tbody tr:hover svg{color:var(--panel)!important}.incident-list-page .mini-tag{display:inline-block;padding:1px 4px;border-radius:3px;font-size:9px;font-weight:500;background:#93c5fd33;color:var(--primary);white-space:nowrap}.incident-list-page .mini-tag.tag-red{background:#fca5a533;color:var(--danger)}.incident-list-page .action-buttons{display:flex;gap:2px;justify-content:center}.incident-list-page .animate-spin{animation:spin 1s linear infinite}.incident-list-page .search-area{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.incident-list-page .toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.incident-list-page .toolbar-left{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.incident-list-page .toolbar-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.incident-list-page .pagination{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.incident-list-page .pagination-buttons{display:flex;align-items:center;gap:4px}@media (max-width: 1400px){.incident-list-page .search-area{grid-template-columns:repeat(4,1fr)}}@media (max-width: 1200px){.incident-list-page .search-area{grid-template-columns:repeat(3,1fr)}}@media (max-width: 1024px){.incident-list-page .search-area{grid-template-columns:repeat(2,1fr)}.incident-list-page .toolbar-left{font-size:12px;gap:12px}.incident-list-page .btn{padding:6px 12px;font-size:12px}}@media (max-width: 768px){.incident-list-page{padding:8px}.incident-list-page .search-bar{flex-direction:column;align-items:stretch;gap:6px}.incident-list-page .search-item,.incident-list-page .search-input-wrapper .input{width:100%}.incident-list-page .search-item select.input-sm{width:100%;max-width:none}.incident-list-page .search-date-group{width:100%}.incident-list-page .search-date-group .input-sm{flex:1}.incident-list-page .search-buttons{margin-left:0;justify-content:flex-end}.incident-list-page .search-area{grid-template-columns:1fr}.incident-list-page .toolbar{flex-direction:column;align-items:stretch}.incident-list-page .toolbar-left,.incident-list-page .toolbar-right{justify-content:center}.incident-list-page .pagination{flex-direction:column}.incident-list-page .pagination-buttons{flex-wrap:wrap;justify-content:center}}@media (max-width: 480px){.incident-list-page{padding:4px}.incident-list-page .btn{padding:6px 10px;font-size:11px}.incident-list-page .input{padding:6px 10px;font-size:12px}}@media (max-height: 800px){.incident-list-page .table-container{max-height:calc(100vh - 340px)}}@media (max-height: 600px){.incident-list-page .table-container{max-height:calc(100vh - 300px)}.incident-list-page .search-area{gap:8px}.incident-list-page .toolbar,.incident-list-page .pagination{padding:8px 12px}}@media (max-height: 500px){.incident-list-page .table-container{max-height:calc(100vh - 260px)}.incident-list-page th,.incident-list-page td{padding:4px!important}}.incident-list-page .incident-table.two-row-layout{min-width:1400px}.incident-list-page .incident-table.two-row-layout thead th{vertical-align:middle;text-align:center}.incident-list-page .row-group-even{background:transparent}.incident-list-page .row-group-odd{background:#ffffff05}.incident-list-page .row-first td{border-bottom:none}.incident-list-page .row-second td{border-bottom:2px solid var(--border)}.incident-list-page tbody tr.row-hovered{background:#06b6d426!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.incident-list-page tbody tr.row-hovered td{color:var(--text-primary)!important}.incident-list-page .four-m-badges,.incident-list-page .impact-badges,.incident-list-page .capa-badges{display:flex;gap:4px;justify-content:center;flex-wrap:wrap}.incident-list-page .mini-badge{display:inline-block;padding:2px 5px;border-radius:3px;font-size:9px;font-weight:500;background:#94a3b833;color:var(--text-secondary);white-space:nowrap}.incident-list-page .mini-badge.active{background:#93c5fd33;color:var(--primary)}.incident-list-page .mini-badge.active.impact{background:#fca5a533;color:var(--danger)}.incident-list-page .mini-badge.capa.active{background:#86efac33;color:var(--success)}.incident-list-page .mini-badge.closed.active{background:#fcd34d33;color:var(--warning)}.incident-list-page tbody tr.row-hovered .mini-badge{background:#ffffff4d!important;color:var(--panel)!important}.incident-list-page tbody tr.row-hovered .mini-badge.active{background:#ffffff80!important}.incident-form-page{padding:16px;height:100%;overflow-y:auto}.incident-form-page .loading-container,.incident-form-page .error-container{text-align:center;padding:60px 20px;background:var(--bg-primary);border:1px solid var(--glass-border);border-radius:8px}.incident-form-page .error-container h3{color:var(--error);margin-bottom:10px}.incident-form-page .form-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px 10px 0 0;margin-bottom:0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.incident-form-page .header-left{display:flex;align-items:center;gap:12px}.incident-form-page .header-left h2{margin:0;font-size:16px;font-weight:600}.incident-form-page .header-right{display:flex;gap:8px}.incident-form-page .header-right button{padding:10px 18px!important;height:auto!important;border-radius:8px!important;font-size:14px!important;font-weight:500!important}.incident-form-page .form-content{background:var(--glass-bg);border:1px solid var(--glass-border);border-top:none;border-radius:0 0 10px 10px;padding:8px 20px 12px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.incident-form-page .form-section{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--glass-border)}.incident-form-page .form-section:first-child h3{margin-top:0}.incident-form-page .form-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.incident-form-page .form-section h3{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.incident-form-page .form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:6px 24px}.incident-form-page .form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px 24px}.incident-form-page .form-grid-2>div,.incident-form-page .form-grid-3>div{display:grid!important;grid-template-columns:90px 1fr!important;gap:8px!important;align-items:center!important}.incident-form-page .form-grid-2>div>label,.incident-form-page .form-grid-3>div>label{margin-bottom:0!important;font-size:13px!important;white-space:nowrap}.incident-form-page .form-grid-2 .col-span-2{grid-column:span 2}.incident-form-page .form-grid-2>.form-row-inline{grid-column:span 2;display:grid!important;grid-template-columns:1fr 1fr!important;gap:24px!important}.incident-form-page .form-grid-2>.form-row-inline>div{display:grid!important;grid-template-columns:90px 1fr!important;gap:8px!important;align-items:center!important}.incident-form-page .form-grid-2>.form-row-inline label{margin-bottom:0!important;font-size:13px!important;white-space:nowrap}@media (max-width: 768px){.incident-form-page .form-grid-2,.incident-form-page .form-grid-3{grid-template-columns:1fr}.incident-form-page .form-grid-2 .col-span-2{grid-column:span 1}}.incident-form-page .checkbox-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.incident-form-page .checkbox-inline{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:var(--text-primary);padding:4px 0;white-space:nowrap}.incident-form-page .checkbox-inline span{white-space:nowrap}.incident-form-page .checkbox-inline input[type=checkbox]{width:14px;height:14px;cursor:pointer}[data-theme=dark] .incident-form-page input[type=date],[data-theme=dark] .incident-form-page input[type=datetime-local]{color-scheme:dark}.incident-form-page .form-section>.flex.justify-end button{padding:10px 18px!important;height:auto!important;border-radius:8px!important;font-size:14px!important;font-weight:500!important}.incident-form-page .attachments-compact{display:flex;flex-direction:column;gap:4px}.incident-form-page .attachment-row{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-secondary);border-radius:4px;font-size:12px}.incident-form-page .file-icon{color:var(--text-secondary);flex-shrink:0}.incident-form-page .file-name{flex:1;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.incident-form-page .file-size{color:var(--text-tertiary);font-size:11px}.incident-form-page .empty-message{text-align:center;padding:16px;color:var(--text-tertiary);font-size:12px;border:1px dashed var(--glass-border);border-radius:4px}.incident-form-page .search-box{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--glass-border);border-radius:6px;margin-bottom:12px}.incident-form-page .search-box svg{color:var(--text-secondary);flex-shrink:0}.incident-form-page .search-box .input{flex:1;border:none;padding:4px;font-size:13px}.incident-form-page .search-box .input:focus{outline:none}.incident-form-page .customer-list{max-height:350px;overflow-y:auto}.incident-form-page .customer-table{width:100%;border-collapse:collapse;font-size:13px}.incident-form-page .customer-table th{padding:8px 12px;text-align:left;background:var(--bg-secondary);border-bottom:1px solid var(--glass-border);font-weight:600;font-size:12px;position:sticky;top:0}.incident-form-page .customer-table td{padding:10px 12px;border-bottom:1px solid var(--glass-border)}.incident-form-page .customer-table tbody tr{cursor:pointer;transition:background .1s}.incident-form-page .customer-table tbody tr:hover{background:var(--primary);color:#fff}.incident-form-page .more-message{text-align:center;padding:12px;color:var(--text-tertiary);font-size:12px}.incident-form-page .input-with-button{display:flex;align-items:center;gap:4px}.incident-form-page .input-with-button .input{flex:1;cursor:pointer}.incident-form-page .input-with-button .btn-icon{flex-shrink:0}.incident-form-page .customer-field{position:relative;min-width:200px}.incident-form-page .maker-field,.incident-form-page .lot-field{position:relative;min-width:150px}.incident-form-page .register-field{min-width:60px}.incident-form-page .product-field{position:relative;min-width:250px;flex:1}.incident-form-page .autocomplete-wrapper{position:relative;display:flex;align-items:center}.incident-form-page .autocomplete-wrapper .input{flex:1;padding-right:30px}.incident-form-page .autocomplete-wrapper .clear-btn{position:absolute;right:4px;padding:2px}.incident-form-page .autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-primary);border:1px solid var(--glass-border);border-top:none;border-radius:0 0 6px 6px;box-shadow:0 4px 12px #00000026;max-height:250px;overflow-y:auto;z-index:100}.incident-form-page .autocomplete-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--glass-border);transition:background .1s}.incident-form-page .autocomplete-item:last-child{border-bottom:none}.incident-form-page .autocomplete-item:hover,.incident-form-page .autocomplete-item.selected{background:var(--primary);color:#fff}.incident-form-page .autocomplete-item:hover .customer-code,.incident-form-page .autocomplete-item.selected .customer-code{color:#ffffffb3}.incident-form-page .autocomplete-item .customer-name{font-size:13px;font-weight:500}.incident-form-page .autocomplete-item .customer-code{font-size:11px;color:var(--text-tertiary)}.incident-form-page .autocomplete-more{padding:8px 12px;text-align:center;font-size:11px;color:var(--text-tertiary);background:var(--bg-secondary)}.incident-form-page .autocomplete-empty{padding:12px;text-align:center;font-size:12px;color:var(--text-tertiary)}@media (max-width: 1024px){.incident-form-page .form-field{min-width:100px}.incident-form-page .form-field.flex-grow{min-width:150px}}@media (max-width: 768px){.incident-form-page{padding:8px}.incident-form-page .form-header{flex-direction:column;gap:10px;align-items:stretch}.incident-form-page .header-left h2{font-size:14px}.incident-form-page .header-right{justify-content:flex-end}.incident-form-page .form-row{flex-direction:column;gap:10px}.incident-form-page .form-field{width:100%;min-width:auto}.incident-form-page .form-field.flex-grow{min-width:auto}.incident-form-page .checkbox-row{flex-wrap:wrap}.incident-form-page .section-header{flex-direction:column;gap:8px;align-items:flex-start}}@media (max-width: 480px){.incident-form-page .checkbox-inline{width:48%}.incident-form-page .btn{padding:6px 10px;font-size:11px}}.incident-form-page .pending-files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:8px 0}.incident-form-page .pending-file-item{position:relative;background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:8px;overflow:hidden}.incident-form-page .pending-file-preview-wrapper{width:100%;height:60px;overflow:hidden;cursor:pointer}.incident-form-page .pending-file-preview{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .2s}.incident-form-page .pending-file-preview-wrapper:hover .pending-file-preview{transform:scale(1.05)}.incident-form-page .pending-file-info{padding:8px;display:flex;flex-direction:column;gap:2px}.incident-form-page .pending-file-info .file-name{font-size:11px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.incident-form-page .pending-file-info .file-size{font-size:10px;color:var(--text-tertiary)}.incident-form-page .pending-file-delete{position:absolute;top:4px;right:4px;width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;background:#0009;border-radius:4px;opacity:0;transition:opacity .2s}.incident-form-page .pending-file-item:hover .pending-file-delete{opacity:1}.incident-form-page .pending-file-delete svg{color:#fff}@media (max-width: 600px){.incident-form-page .pending-files-grid{grid-template-columns:repeat(2,1fr)}.incident-form-page .pending-file-preview-wrapper{height:50px}}.incident-form-page .attachments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;padding:8px 0}.incident-form-page .attachment-item{position:relative;background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:8px;overflow:hidden;transition:box-shadow .2s}.incident-form-page .attachment-item:hover{box-shadow:0 4px 12px #0000001a}.incident-form-page .attachment-image-link{display:block;width:100%;height:60px;overflow:hidden}.incident-form-page .attachment-thumbnail{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .2s}.incident-form-page .attachment-item:hover .attachment-thumbnail{transform:scale(1.05)}.incident-form-page .attachment-file-icon{display:flex;align-items:center;justify-content:center;width:100%;height:60px;background:var(--bg-secondary);color:var(--text-secondary)}.incident-form-page .attachment-item .attachment-info{padding:8px;display:flex;flex-direction:column;gap:2px}.incident-form-page .attachment-item .attachment-info .file-name{font-size:11px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.incident-form-page .attachment-item .attachment-info .file-size{font-size:10px;color:var(--text-tertiary)}.incident-form-page .attachment-delete{position:absolute;top:4px;right:4px;width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;background:#0009;border-radius:4px;opacity:0;transition:opacity .2s}.incident-form-page .attachment-item:hover .attachment-delete{opacity:1}.incident-form-page .attachment-delete svg{color:#fff}@media (max-width: 600px){.incident-form-page .attachments-grid{grid-template-columns:repeat(3,1fr)}.incident-form-page .attachment-image-link,.incident-form-page .attachment-file-icon{height:50px}}.incident-form-page .form-label-inline{font-size:.875rem;font-weight:500;color:var(--text-secondary);display:flex;align-items:center;gap:8px;margin-bottom:6px}.incident-form-page .form-textarea{width:100%;border-radius:8px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);padding:8px 12px;font-size:.875rem;font-family:inherit;resize:vertical;transition:border-color .2s,box-shadow .2s}.incident-form-page .form-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f626}.incident-form-page .form-textarea::-moz-placeholder{color:var(--text-tertiary)}.incident-form-page .form-textarea::placeholder{color:var(--text-tertiary)}.incident-form-page .form-textarea-sm{height:60px;min-height:60px;max-height:60px;resize:none;overflow-y:auto}.incident-form-page .empty-state{text-align:center;padding:24px 16px;color:var(--text-tertiary);font-size:13px;border:1px dashed var(--glass-border);border-radius:8px;display:flex;flex-direction:column;align-items:center;gap:12px}.incident-form-page .empty-state p{margin:0}.incident-form-page .field-error{font-size:12px;color:var(--error);margin-top:4px;display:flex;align-items:center;gap:4px}.incident-form-page .field-error:before{content:"⚠️"}.incident-form-page .header-status-badge{display:inline-flex;align-items:center;margin-left:12px;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:500;color:var(--panel);vertical-align:middle}.incident-form-page input,.incident-form-page select{background:var(--panel-2)!important;border:1px solid var(--glass-border)!important;padding:10px 14px!important;font-size:14px;border-radius:8px}.incident-form-page .form-textarea{padding:10px 14px;background:var(--panel-2);border:1px solid var(--glass-border);font-size:14px}.incident-form-page input:focus,.incident-form-page select:focus,.incident-form-page .form-textarea:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px #6366f126!important;outline:none}.incident-form-page .form-section h3{font-size:15px;text-transform:none;letter-spacing:normal;color:var(--text-primary);padding-bottom:12px;margin-bottom:16px}.incident-form-page .form-section-compact{margin-bottom:4px;padding-bottom:4px}.incident-form-page .form-section-compact h3{padding-bottom:6px;margin-bottom:8px}.incident-form-page .form-grid-2,.incident-form-page .form-grid-3{gap:.5rem 1rem}.incident-form-page .form-label-inline{font-size:14px;margin-bottom:8px}.incident-form-page .header-right{gap:12px}.incident-form-page input,.incident-form-page select{width:100%!important;box-sizing:border-box}.incident-form-page .autocomplete-wrapper{width:100%}.incident-form-page .autocomplete-wrapper input{width:100%!important}.incident-form-page .form-grid-2>div,.incident-form-page .form-grid-3>div{width:100%;min-width:0}.incident-form-page .form-grid-2>.relative,.incident-form-page .form-grid-3>.relative{width:100%}.incident-form-page .form-label-inline{display:flex;align-items:center;gap:8px;min-height:20px;font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.incident-form-page label{font-size:13px;font-weight:500;color:var(--text-secondary)}.incident-form-page select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px!important}.incident-form-page .form-grid-2>div>div,.incident-form-page .form-grid-3>div>div{width:100%}.incident-form-page .form-grid-2>div{display:flex;flex-direction:column}.incident-form-page [class*=w-full]{width:100%!important}@media (min-width: 768px){.incident-form-page .form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.incident-form-page .form-grid-2>*{min-width:0;width:100%}.incident-form-page .form-grid-2 .col-span-2{grid-column:span 2}}.incident-form-page .form-grid-2>div.relative{width:100%;display:flex;flex-direction:column}.incident-form-page .form-grid-2>div.relative>.autocomplete-wrapper{width:100%}.incident-form-page .form-grid-2>div.relative>.autocomplete-wrapper.relative{width:100%}.incident-form-page .form-grid-2>div>div{width:100%}.incident-form-page .autocomplete-wrapper.relative{width:100%;display:block}.incident-form-page .col-span-2>div{width:100%}.incident-form-page .form-grid-2 input[type=text],.incident-form-page .form-grid-2 input[type=date],.incident-form-page .form-grid-2 select{width:100%!important;min-width:0}.incident-form-page .form-grid-2>div,.incident-form-page .form-grid-2>.relative{display:flex;flex-direction:column;width:100%}.incident-form-page .form-grid-2>div>.form-label-inline,.incident-form-page .form-grid-2>.relative>.form-label-inline{flex-shrink:0}.incident-form-page .form-grid-2>div:not(.relative):not(.col-span-2){width:100%}.incident-form-page .form-grid-2 .flex.flex-col,.incident-form-page .form-grid-2 [class*=flex][class*=flex-col],.incident-form-page .form-grid-2 .relative.flex,.incident-form-page .form-grid-2 [class*=relative][class*=flex]{width:100%}.incident-form-page .autocomplete-wrapper>div{width:100%}.incident-form-page .autocomplete-wrapper>.flex{width:100%}.incident-form-page .form-grid-2>*>div,.incident-form-page .form-grid-2>*>*>div{width:100%}.incident-form-page .form-grid-2 input,.incident-form-page .form-grid-2 select,.incident-form-page .form-grid-2 textarea{width:100%!important;box-sizing:border-box!important}.incident-form-page .cascading-code-select select{width:auto!important}.incident-form-page .autocomplete-wrapper input{padding-right:2.5rem!important}.incident-form-page .autocomplete-wrapper .absolute,.incident-form-page .autocomplete-wrapper .absolute button{pointer-events:auto!important}.incident-form-page .autocomplete-wrapper>div{position:relative}.incident-form-page .autocomplete-wrapper>div>.relative{position:relative;display:flex;align-items:center}.incident-form-page .autocomplete-wrapper [class*=absolute][class*=right-3]{position:absolute!important;right:.75rem!important;top:50%;transform:translateY(-50%);z-index:10}.qms-workflow-guide-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.qms-workflow-guide-modal{background:var(--panel);border-radius:16px;box-shadow:0 20px 60px #0003;max-width:1100px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.workflow-guide-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--panel);flex-shrink:0}.workflow-guide-header h2{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.workflow-guide-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.workflow-guide-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.workflow-guide-fixed{display:flex;flex-direction:column;gap:8px;padding:16px 20px;flex-shrink:0;background:var(--panel)}.qms-workflow-guide-content{display:flex;flex-direction:column;gap:16px;padding:0 16px 16px;overflow-y:auto;flex:1}.workflow-guide-timeline{display:flex;align-items:center;justify-content:center;gap:0;flex-shrink:0;padding:10px 12px;background:var(--bg-secondary);border-radius:10px;overflow-x:auto}.workflow-guide-timeline.single-row{justify-content:space-between;padding:12px 16px}.workflow-guide-stage{display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 6px;cursor:pointer;border-radius:8px;transition:all .2s;min-width:52px}.single-row .workflow-guide-stage{min-width:48px;padding:4px}.workflow-guide-stage:hover{background:var(--panel);box-shadow:0 2px 8px #00000014}.workflow-guide-stage.selected{background:var(--panel);box-shadow:0 4px 16px #3b82f633;transform:translateY(-2px)}.stage-node{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px}.stage-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s}.single-row .stage-icon{width:26px;height:26px}.stage-icon svg{width:14px;height:14px}.single-row .stage-icon svg{width:12px;height:12px}.workflow-guide-stage.completed .stage-icon{background:linear-gradient(135deg,var(--success),color-mix(in srgb,var(--success) 80%,black));color:var(--text-inverse);box-shadow:0 2px 8px #22c55e4d}.workflow-guide-stage.current .stage-icon{background:linear-gradient(135deg,var(--btn-primary-bg),var(--btn-primary-hover));color:var(--text-inverse);box-shadow:0 2px 12px #3b82f666;animation:pulse 2s infinite}.workflow-guide-stage.upcoming .stage-icon{background:var(--panel);color:var(--text-secondary);border:2px dashed var(--border)}.stage-code{font-size:.625rem;font-weight:700;color:var(--text-primary)}.single-row .stage-code{font-size:.5625rem}.workflow-guide-stage.upcoming .stage-code{color:var(--text-secondary)}.stage-name{font-size:.5625rem;color:var(--text-secondary);text-align:center;white-space:nowrap;max-width:60px;overflow:hidden;text-overflow:ellipsis}.single-row .stage-name{font-size:.5rem;max-width:50px}.workflow-guide-connector{display:flex;align-items:center;color:var(--border);padding:0 1px}.single-row .workflow-guide-connector{padding:0}.workflow-guide-connector.completed{color:var(--success)}.workflow-guide-position{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;background:var(--badge-admin-bg);color:var(--badge-admin-text);border-radius:6px;font-size:.8125rem}.workflow-guide-position strong{font-weight:600}.workflow-guide-detail{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;animation:detail-in .2s ease-out}.detail-header{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.detail-badge.completed{background:linear-gradient(135deg,var(--success),color-mix(in srgb,var(--success) 80%,black));color:var(--text-inverse)}.detail-badge.current{background:linear-gradient(135deg,var(--btn-primary-bg),var(--btn-primary-hover));color:var(--text-inverse)}.detail-badge.upcoming{background:var(--bg-secondary);color:var(--text-secondary)}.detail-header h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0;flex:1}.detail-sla{font-size:.75rem;font-weight:500;padding:4px 10px;background:var(--badge-manager-bg);color:var(--badge-manager-text);border-radius:4px}.detail-objective{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin:0 0 16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.qms-workflow-guide-modal .detail-sections{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.qms-workflow-guide-modal .detail-section{background:var(--bg-secondary);border-radius:6px;padding:8px;min-width:0;overflow:hidden}.qms-workflow-guide-modal .detail-section h4{font-size:.6875rem;font-weight:600;color:var(--text-primary);margin:0 0 4px}.qms-workflow-guide-modal .detail-section ul{margin:0;padding:0 0 0 12px;font-size:.6875rem;color:var(--text-primary);line-height:1.3}.qms-workflow-guide-modal .detail-section ul li{margin-bottom:1px}.qms-workflow-guide-modal .detail-section.tips{grid-column:1 / -1;background:color-mix(in srgb,var(--success) 10%,var(--bg-primary))}.qms-workflow-guide-modal .detail-section.tips ul{color:var(--success)}.qms-workflow-guide-modal .detail-tags{display:flex;flex-wrap:wrap;gap:4px}.qms-workflow-guide-modal .detail-tag{display:inline-block;padding:3px 8px;border-radius:4px;font-size:.6875rem;font-weight:500}.qms-workflow-guide-modal .detail-tag.required{background:var(--badge-admin-bg);color:var(--badge-admin-text)}.workflow-guide-instructions{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;background:var(--bg-secondary);border-radius:12px;text-align:center}.instructions-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--badge-admin-bg);color:var(--btn-primary-bg);border-radius:50%;margin-bottom:16px}.workflow-guide-instructions h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 8px}.workflow-guide-instructions p{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin:0}.workflow-guide-legend{display:flex;justify-content:center;gap:24px;padding-top:16px;border-top:1px solid var(--border)}.legend-item{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text-secondary)}.legend-item.completed svg{color:var(--success)}.legend-item.current svg{color:var(--btn-primary-bg)}.legend-item.upcoming svg{color:var(--text-muted)}@media (max-width: 1024px){.workflow-guide-timeline.single-row{overflow-x:auto;justify-content:flex-start;padding:12px 8px}.single-row .workflow-guide-stage{min-width:44px;flex-shrink:0}}@media (max-width: 600px){.workflow-guide-timeline{padding:12px 6px}.workflow-guide-stage{min-width:50px;padding:4px}.stage-icon{width:24px;height:24px}.stage-icon svg{width:12px;height:12px}.stage-code{font-size:.5625rem}.stage-name{font-size:.5rem;max-width:48px}}@media (max-width: 400px){.workflow-guide-legend{flex-wrap:wrap;gap:12px}}@media (prefers-color-scheme: dark){.workflow-guide-position{background:#3b82f626;color:var(--badge-admin-text)}.detail-tag.required{background:#3b82f633;color:var(--badge-admin-text)}.detail-sla{background:#fbbf2433;color:var(--badge-manager-text)}.detail-section.tips{background:#10b9811a}.detail-section.tips ul{color:var(--success)}}.iqc-list-page{display:flex;flex-direction:column;height:100%;padding:24px;background:var(--bg-primary);gap:16px}.iqc-header{display:flex;justify-content:space-between;align-items:center}.iqc-title{display:flex;align-items:center;gap:8px;color:var(--text-primary)}.iqc-title h1{margin:0;font-size:20px;font-weight:600}.iqc-actions{display:flex;gap:8px;flex-shrink:0}.iqc-actions button{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.btn-create:hover{opacity:.9}.iqc-summary-cards{display:flex;gap:12px;flex-wrap:wrap}.summary-card{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;cursor:pointer;transition:all .2s;min-width:120px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.summary-card:hover{border-color:var(--primary);transform:translateY(-2px)}.summary-card.active{border-color:var(--primary);background:#6366f11a}.card-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px}.card-icon.total{background:var(--badge-user-bg);color:var(--btn-primary-bg)}.card-icon.pending{background:var(--warning-bg);color:var(--warning)}.card-icon.in-progress{background:var(--badge-admin-bg);color:var(--btn-primary-hover)}.card-icon.completed,.card-icon.pass{background:var(--success-bg);color:var(--success)}.card-icon.fail{background:var(--error-bg);color:var(--danger)}.card-value{font-size:18px;font-weight:600;color:var(--text-primary)}.card-value.pass{color:var(--success)}.card-value.fail{color:var(--danger)}.summary-divider{width:1px;height:48px;background:var(--glass-border);margin:0 8px}.iqc-search-bar{display:flex;gap:12px;padding:16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;flex-wrap:wrap;align-items:flex-end;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.iqc-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--error-bg);border:1px solid var(--danger);border-radius:8px;color:var(--danger);font-size:14px}.iqc-table-container{flex:1;overflow:auto;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.iqc-table{width:100%;border-collapse:collapse;font-size:14px}.iqc-table thead{position:sticky;top:0;background:var(--bg-secondary);z-index:1}.iqc-table th{padding:12px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--glass-border);white-space:nowrap}.iqc-table td{padding:12px;border-bottom:1px solid var(--glass-border);color:var(--text-primary)}.iqc-table tbody tr{cursor:pointer;transition:all .15s}.iqc-table tbody tr:hover{background:var(--btn-primary-hover)!important}.iqc-table tbody tr:hover td,.iqc-table tbody tr:hover .iqc-no{color:var(--text-inverse)!important}.iqc-table tbody tr:hover .iqc-status-badge,.iqc-table tbody tr:hover .iqc-judgment-badge,.iqc-table tbody tr:hover .iqc-disposition-badge{background:#fff3!important;color:var(--text-inverse)!important}.iqc-table tbody tr.selected{background:#6366f126}.iqc-table .iqc-no{font-weight:500;color:var(--primary)}.iqc-table .item-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iqc-table .qty{text-align:right;font-family:Roboto Mono,monospace}.loading-cell{display:flex;align-items:center;justify-content:center;gap:8px}.iqc-status-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.iqc-status-badge.status-gray{background:var(--table-row-hover);color:var(--text-secondary)}.iqc-status-badge.status-blue{background:var(--badge-admin-bg);color:var(--btn-primary-hover)}.iqc-status-badge.status-green{background:var(--success-bg);color:var(--success)}.iqc-judgment-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.iqc-judgment-badge.judgment-none{color:var(--text-secondary)}.iqc-judgment-badge.judgment-green{background:var(--success-bg);color:var(--success)}.iqc-judgment-badge.judgment-yellow{background:var(--warning-bg);color:var(--warning)}.iqc-judgment-badge.judgment-red{background:var(--error-bg);color:var(--danger)}.iqc-disposition-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.iqc-disposition-badge.disposition-none{color:var(--text-secondary)}.iqc-disposition-badge.disposition-green{background:var(--success-bg);color:var(--success)}.iqc-disposition-badge.disposition-yellow,.iqc-disposition-badge.disposition-orange{background:var(--warning-bg);color:var(--warning)}.iqc-disposition-badge.disposition-red{background:var(--error-bg);color:var(--danger)}.iqc-pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:12px}.iqc-pagination button{padding:8px 12px;background:var(--panel);border:1px solid var(--glass-border);border-radius:4px;cursor:pointer;color:var(--text-primary);font-size:14px}.iqc-pagination button:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary)}.iqc-pagination button:disabled{opacity:.5;cursor:not-allowed}.iqc-form-page{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary)}.iqc-form-page .form-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--border)}.iqc-form-page .header-left{display:flex;align-items:center;gap:10px}.iqc-form-page .btn-back{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer;color:var(--text-primary)}.iqc-form-page .btn-back:hover{background:var(--bg-secondary)}.iqc-form-page .header-title{display:flex;align-items:center;gap:8px;color:var(--text-primary)}.iqc-form-page .header-title h1{margin:0;font-size:16px;font-weight:600}.iqc-form-page .header-actions{display:flex;gap:8px}.iqc-form-page .header-actions button{display:flex;align-items:center;gap:5px;padding:6px 14px;border:none;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.iqc-form-page .btn-start{background:var(--primary);color:#fff}.iqc-form-page .btn-complete{background:var(--success);color:#fff}.iqc-form-page .btn-save{background:var(--primary);color:#fff}.iqc-form-page .btn-save:disabled{opacity:.6;cursor:not-allowed}.iqc-form-page .form-error{margin:8px 16px 0;padding:10px 14px;background:var(--danger-bg);border:1px solid var(--danger-bg);border-radius:6px;color:var(--danger);font-size:13px}.iqc-form-page .form-loading{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.iqc-form-page .form-content{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:12px}.iqc-form-page .form-section{padding:10px 16px;border-bottom:1px solid var(--border)}.iqc-form-page .form-section:last-child{border-bottom:none}.iqc-form-page .form-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.iqc-form-page .form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px 10px}.iqc-form-page .form-group.span-2{grid-column:span 2}.iqc-form-page .form-group.span-3{grid-column:span 3}.iqc-form-page .form-group.span-4{grid-column:span 4}.iqc-form-page .form-group{display:flex;flex-direction:column;gap:1px}.iqc-form-page .form-group label{font-size:10px;font-weight:500;color:var(--text-secondary);line-height:1.2}.iqc-form-page .form-group input,.iqc-form-page .form-group select{padding:6px 10px;border:1px solid var(--border);border-radius:4px;font-size:13px;background:var(--bg-secondary);color:var(--text-primary)}.iqc-form-page .form-group input:focus,.iqc-form-page .form-group select:focus{outline:none;border-color:var(--primary)}.iqc-form-page .form-group input:disabled,.iqc-form-page .form-group select:disabled{background:var(--bg-secondary);color:var(--text-secondary);opacity:.7}.iqc-form-page .form-group input[type=number]{text-align:right}.iqc-form-page .items-section{flex:1;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.iqc-form-page .items-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border);font-size:13px;font-weight:600;color:var(--text-primary)}.iqc-form-page .btn-add-item{display:flex;align-items:center;gap:4px;padding:4px 10px;background:var(--primary);color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer}.iqc-form-page .items-table-container{flex:1;overflow:auto}.iqc-form-page .items-table{width:100%;border-collapse:collapse;font-size:12px}.iqc-form-page .items-table th{padding:8px 6px;text-align:left;font-weight:600;color:var(--text-secondary);background:var(--bg-secondary);border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0}.iqc-form-page .items-table td{padding:6px;border-bottom:1px solid var(--border);color:var(--text-primary)}.iqc-form-page .items-table input,.iqc-form-page .items-table select{width:100%;padding:5px 6px;border:1px solid var(--border);border-radius:4px;font-size:12px;background:var(--bg-secondary);color:var(--text-primary)}.iqc-form-page .items-table input:focus,.iqc-form-page .items-table select:focus{outline:none;border-color:var(--primary)}.iqc-form-page .items-table input[type=checkbox]{width:14px;height:14px}.iqc-form-page .items-table input[type=number]{text-align:right;width:70px}.iqc-form-page .empty-row{text-align:center;color:var(--text-secondary);padding:24px!important}.iqc-form-page .btn-remove-item{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:1px solid var(--danger-bg);border-radius:4px;color:var(--danger);cursor:pointer}.iqc-form-page .btn-remove-item:hover{background:var(--danger-bg)}@media (max-width: 900px){.iqc-form-page .form-grid{grid-template-columns:repeat(2,1fr)}.iqc-form-page .form-group.span-2,.iqc-form-page .form-group.span-3{grid-column:span 2}}@media (max-width: 600px){.iqc-form-page .form-grid{grid-template-columns:1fr}.iqc-form-page .form-group.span-2,.iqc-form-page .form-group.span-3{grid-column:span 1}}.coa-list-page{display:flex;flex-direction:column;height:100%;padding:24px;background:var(--bg-primary);gap:16px}.coa-header{display:flex;justify-content:space-between;align-items:center}.coa-title{display:flex;align-items:center;gap:8px;color:var(--text-primary)}.coa-title h1{margin:0;font-size:20px;font-weight:600}.coa-actions{display:flex;gap:8px;flex-shrink:0}.coa-actions button{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.btn-refresh{background:var(--panel);color:var(--text-primary);border:1px solid var(--glass-border)!important}.discrepancy-alert{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--danger-bg);border:1px solid var(--danger-bg);border-radius:8px;color:var(--danger)}.discrepancy-alert strong{font-weight:600}.discrepancy-alert button{margin-left:auto;padding:6px 12px;background:var(--danger);color:#fff;border:none;border-radius:4px;font-size:13px;cursor:pointer}.coa-status-filters{display:flex;gap:8px}.filter-btn{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;font-size:14px;color:var(--text-secondary);cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.filter-btn:hover{border-color:var(--primary);color:var(--primary)}.filter-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.filter-btn.discrepancy.active{background:var(--danger);border-color:var(--danger)}.filter-btn .badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;background:var(--danger);color:#fff;border-radius:9px;font-size:11px;font-weight:600}.filter-btn.discrepancy.active .badge{background:var(--panel);color:var(--danger)}.coa-search-bar{display:flex;gap:12px;padding:16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.search-group select,.search-group input{padding:8px 12px;border:1px solid var(--glass-border);border-radius:6px;font-size:14px;background:var(--panel);color:var(--text-primary)}.search-group.date-range .date-inputs{display:flex;align-items:center;gap:8px}.search-group.date-range .date-inputs input{width:140px}.search-group.date-range .date-inputs span{color:var(--text-secondary)}.coa-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--danger-bg);border:1px solid var(--danger-bg);border-radius:8px;color:var(--danger);font-size:14px}.coa-table-container{flex:1;overflow:auto;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.coa-table{width:100%;border-collapse:collapse;font-size:14px}.coa-table thead{position:sticky;top:0;background:var(--bg-secondary);z-index:1}.coa-table th{padding:12px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--glass-border);white-space:nowrap}.coa-table td{padding:12px;border-bottom:1px solid var(--glass-border);color:var(--text-primary)}.coa-table tbody tr{cursor:pointer;transition:all .15s}.coa-table tbody tr:hover{background:var(--primary-hover)!important}.coa-table tbody tr:hover td,.coa-table tbody tr:hover .coa-no{color:var(--panel)!important}.coa-table tbody tr:hover .coa-status-badge{background:#fff3!important;color:var(--panel)!important}.coa-table tbody tr.selected{background:#6366f126}.coa-table .coa-no{font-weight:500;color:var(--primary)}.coa-table .item-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coa-status-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.coa-status-badge.status-gray{background:var(--bg-tertiary);color:var(--text-tertiary)}.coa-status-badge.status-green{background:var(--success-bg);color:var(--success)}.coa-status-badge.status-red{background:var(--danger-bg);color:var(--danger)}.btn-validate{padding:4px 10px;background:var(--primary);color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer}.btn-validate:hover{background:var(--primary-hover)}.coa-pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:12px}.coa-pagination button{padding:8px 12px;background:var(--panel);border:1px solid var(--glass-border);border-radius:4px;cursor:pointer;color:var(--text-primary);font-size:14px}.coa-pagination button:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary)}.coa-pagination button:disabled{opacity:.5;cursor:not-allowed}.validate-modal{background:var(--panel);border-radius:12px;padding:24px;width:400px;max-width:90%}.validate-modal h3{margin:0 0 16px;font-size:18px;color:var(--text-primary)}.validate-modal p{margin:0 0 16px;color:var(--text-secondary);font-size:14px}.modal-form{margin-bottom:20px}.modal-form label{display:block;margin-bottom:8px;font-size:13px;font-weight:500;color:var(--text-secondary)}.modal-form input{width:100%;padding:10px 12px;border:1px solid var(--glass-border);border-radius:6px;font-size:14px;background:var(--panel);color:var(--text-primary)}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.btn-cancel{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--glass-border)!important}.btn-confirm{background:var(--primary);color:#fff}.btn-confirm:disabled{opacity:.6;cursor:not-allowed}.insp-spec-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.insp-spec-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.insp-spec-title{display:flex;align-items:center;gap:12px}.insp-spec-title svg{color:var(--primary)}.insp-spec-title h1{margin:0;font-size:1.375rem;font-weight:600;color:var(--text-primary)}.insp-spec-title p{margin:4px 0 0;font-size:.875rem;color:var(--text-secondary)}.insp-spec-actions{display:flex;gap:8px}.insp-status-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}@media (max-width: 1024px){.insp-status-cards{grid-template-columns:repeat(3,1fr)}}@media (max-width: 600px){.insp-status-cards{grid-template-columns:repeat(2,1fr)}}.insp-status-card{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.insp-status-card:hover{border-color:var(--primary);transform:translateY(-2px)}.insp-status-card.active{border-color:var(--primary);background:#6366f11a}.insp-status-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center}.insp-status-icon.total{background:var(--badge-user-bg);color:var(--primary)}.insp-status-icon.draft{background:var(--panel-2);color:var(--text-secondary)}.insp-status-icon.review{background:var(--warning-bg);color:var(--warning)}.insp-status-icon.approved{background:var(--success-bg);color:var(--success)}.insp-status-icon.obsolete{background:var(--error-bg);color:var(--danger)}.insp-status-content{display:flex;flex-direction:column}.insp-status-count{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.insp-status-label{font-size:.75rem;color:var(--text-secondary)}.insp-search-area{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:16px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.insp-search-row{display:flex;gap:8px;align-items:center}.insp-search-input-group{flex:1;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:6px}.insp-search-input-group svg{color:var(--text-secondary)}.insp-search-input-group input{flex:1;border:none;background:transparent;font-size:.875rem;outline:none}.insp-filter-panel{margin-top:12px;padding-top:12px;border-top:1px solid var(--glass-border)}.insp-filter-row{display:flex;gap:16px;flex-wrap:wrap}.insp-filter-item{display:flex;flex-direction:column;gap:4px;min-width:180px}.insp-filter-item label{font-size:.75rem;font-weight:500;color:var(--text-secondary)}.insp-filter-item input,.insp-filter-item select{padding:6px 10px;border:1px solid var(--glass-border);border-radius:4px;font-size:.8125rem;background:var(--panel)}.insp-table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.insp-loading,.insp-empty{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary)}.insp-table{width:100%;border-collapse:collapse}.insp-table th{padding:12px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);background:var(--bg-secondary);border-bottom:1px solid var(--glass-border);white-space:nowrap}.insp-table td{padding:12px 16px;font-size:.8125rem;border-bottom:1px solid var(--glass-border)}.insp-table tbody tr{cursor:pointer;transition:all .15s}.insp-table tbody tr:hover{background:var(--btn-primary-hover)!important}.insp-table tbody tr:hover td,.insp-table tbody tr:hover .insp-spec-no,.insp-table tbody tr:hover .insp-spec-name{color:var(--on-accent)!important}.insp-table tbody tr:hover .insp-type-badge,.insp-table tbody tr:hover .insp-status-badge{background:#fff3!important;color:var(--on-accent)!important}.insp-spec-no{font-family:monospace;font-weight:500;color:var(--primary)}.insp-spec-name{font-weight:500;color:var(--text-primary)}.insp-type-badge{display:inline-block;padding:2px 8px;background:var(--badge-user-bg);color:var(--primary);border-radius:4px;font-size:.6875rem;font-weight:500}.insp-item-info{display:flex;flex-direction:column;gap:2px}.insp-item-code{font-family:monospace;font-size:.75rem;color:var(--text-secondary)}.insp-item-name{font-size:.75rem;color:var(--text-primary)}.insp-revision{font-family:monospace;color:var(--text-secondary)}.insp-level{font-weight:600;color:var(--text-primary)}.insp-item-count{text-align:center;font-weight:600}.insp-status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.6875rem;font-weight:500;color:#fff}.insp-date{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.insp-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.insp-pagination-info{font-size:.8125rem;color:var(--text-secondary)}.insp-pagination-buttons{display:flex;align-items:center;gap:8px}.insp-pagination-current{font-size:.875rem;font-weight:500;color:var(--text-primary);min-width:60px;text-align:center}.insp-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.insp-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.insp-btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.insp-btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.insp-btn-active{background:var(--accent-bg);border-color:var(--primary);color:var(--primary)}.insp-spec-form-page{padding:16px;background:var(--bg-secondary);min-height:100%}.insp-form-loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary)}.insp-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.insp-form-title{display:flex;align-items:center;gap:12px}.insp-form-title svg{color:var(--primary)}.insp-form-title h1{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.insp-form-spec-no{display:inline-block;margin-left:12px;padding:4px 10px;background:var(--bg-secondary);border-radius:4px;font-size:.8125rem;font-family:monospace;color:var(--text-secondary)}.insp-form-actions{display:flex;gap:8px}.insp-form-content{display:flex;flex-direction:column;gap:20px}.insp-form-section{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:20px}.insp-form-section h2{margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--text-primary)}.insp-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.insp-section-header h2{margin:0}.insp-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width: 768px){.insp-form-grid{grid-template-columns:1fr}}.insp-form-field{display:flex;flex-direction:column;gap:6px}.insp-form-field.full{grid-column:1 / -1}.insp-form-field label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.insp-form-field input,.insp-form-field select,.insp-form-section textarea{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:.875rem;background:var(--panel)}.insp-form-field input:focus,.insp-form-field select:focus,.insp-form-section textarea:focus{outline:none;border-color:var(--primary)}.insp-form-section textarea{width:100%;resize:vertical}.insp-empty-items{padding:40px;text-align:center;color:var(--text-secondary);background:var(--bg-secondary);border-radius:6px}.insp-items-table{width:100%;border-collapse:collapse}.insp-items-table th{padding:10px 12px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);background:var(--bg-secondary);border-bottom:1px solid var(--border)}.insp-items-table td{padding:10px 12px;font-size:.8125rem;border-bottom:1px solid var(--border)}.insp-item-actions{display:flex;gap:8px}.insp-item-actions button{padding:4px 8px;border:none;background:transparent;color:var(--primary);font-size:.75rem;cursor:pointer}.insp-item-actions button:hover{text-decoration:underline}.insp-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.insp-modal{width:90%;max-width:600px;max-height:90vh;background:var(--panel);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.insp-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.insp-modal-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.insp-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:4px}.insp-modal-close:hover{background:var(--bg-secondary)}.insp-modal-body{padding:20px;overflow-y:auto}.insp-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.insp-btn:disabled{opacity:.5;cursor:not-allowed}.insp-spec-detail-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-secondary)}.insp-detail-loading,.insp-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:var(--text-secondary)}.insp-detail-error svg{color:var(--btn-danger-hover)}.insp-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.insp-detail-title{display:flex;align-items:center;gap:12px}.insp-detail-title svg{color:var(--primary)}.insp-detail-title h1{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.insp-detail-meta{display:flex;align-items:center;gap:8px;margin-top:4px}.insp-detail-no{font-family:monospace;font-size:.8125rem;color:var(--text-secondary)}.insp-detail-rev{padding:2px 8px;background:var(--bg-secondary);border-radius:4px;font-size:.75rem;font-weight:500;color:var(--text-secondary)}.insp-detail-status{padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:500;color:#fff}.insp-detail-actions{display:flex;gap:8px}.insp-btn-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-secondary);cursor:pointer}.insp-btn-back:hover{background:var(--bg-secondary);color:var(--text-primary)}.insp-detail-tabs{display:flex;gap:4px;background:var(--panel);border:1px solid var(--border);border-radius:8px 8px 0 0;padding:8px 8px 0;border-bottom:none}.insp-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;border-radius:6px 6px 0 0;transition:all .2s;position:relative}.insp-tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.insp-tab.active{background:var(--bg-secondary);color:var(--primary)}.insp-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--primary)}.insp-detail-content{flex:1;background:var(--panel);border:1px solid var(--border);border-top:none;border-radius:0 0 8px 8px;padding:20px;overflow-y:auto}.insp-info-tab{display:flex;flex-direction:column;gap:20px}.insp-info-section{padding-bottom:20px;border-bottom:1px solid var(--border)}.insp-info-section:last-child{padding-bottom:0;border-bottom:none}.insp-info-section h3{margin:0 0 12px;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.insp-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.insp-info-item{display:flex;flex-direction:column;gap:4px}.insp-info-item label{font-size:.75rem;font-weight:500;color:var(--text-secondary)}.insp-info-item span{font-size:.875rem;color:var(--text-primary)}.insp-remarks{margin:0;padding:12px;background:var(--bg-secondary);border-radius:6px;font-size:.875rem;color:var(--text-primary);line-height:1.6}.insp-items-tab .insp-items-table{width:100%;border-collapse:collapse}.insp-items-tab .insp-items-table th{padding:12px 8px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);background:var(--bg-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.insp-items-tab .insp-items-table td{padding:10px 8px;font-size:.8125rem;border-bottom:1px solid var(--border)}.insp-item-name{font-weight:500;color:var(--text-primary)}.insp-defect-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.6875rem;font-weight:500;color:#fff}.insp-timeline{position:relative;padding-left:24px}.insp-timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--border)}.insp-timeline-item{position:relative;padding-bottom:20px}.insp-timeline-item:last-child{padding-bottom:0}.insp-timeline-dot{position:absolute;left:-20px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--primary);border:2px solid var(--panel)}.insp-timeline-content{padding:12px 16px;background:var(--bg-secondary);border-radius:8px}.insp-timeline-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.insp-timeline-rev{padding:2px 8px;background:var(--primary);color:#fff;border-radius:4px;font-size:.75rem;font-weight:500}.insp-timeline-date{font-size:.75rem;color:var(--text-secondary)}.insp-timeline-reason{font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:4px}.insp-timeline-desc{font-size:.8125rem;color:var(--text-secondary);margin-bottom:8px}.insp-timeline-by{font-size:.75rem;color:var(--text-secondary)}.insp-aql-tab{max-width:600px}.insp-aql-calculator h3{margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--text-primary)}.insp-aql-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:16px;background:var(--bg-secondary);border-radius:8px;margin-bottom:20px}.insp-aql-field{display:flex;flex-direction:column;gap:4px;min-width:120px}.insp-aql-field label{font-size:.75rem;font-weight:500;color:var(--text-secondary)}.insp-aql-field input,.insp-aql-field select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:.875rem;background:var(--panel)}.insp-aql-value{font-size:.875rem;font-weight:500;color:var(--text-primary)}.insp-aql-result{padding:16px;background:var(--badge-admin-bg);border:1px solid var(--btn-primary-bg);border-radius:8px}.insp-aql-result h4{margin:0 0 12px;font-size:.9375rem;font-weight:600;color:var(--primary)}.insp-aql-result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.insp-aql-result-item{display:flex;flex-direction:column;gap:4px}.insp-aql-result-item label{font-size:.75rem;color:var(--text-secondary)}.insp-aql-result-item span{font-size:1rem;font-weight:600;color:var(--text-primary)}.insp-aql-highlight{font-size:1.5rem!important;color:var(--primary)!important}.insp-aql-ac{color:var(--success)!important}.insp-aql-re{color:var(--danger)!important}.insp-aql-message{margin-top:12px;padding:10px;background:var(--panel);border-radius:6px;font-size:.875rem;color:var(--text-primary)}.insp-empty{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary);font-size:.875rem}.insp-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.insp-btn:hover{background:var(--bg-secondary)}.insp-btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.insp-btn-primary:hover{background:var(--btn-primary-hover)}.insp-btn-success{background:var(--success);border-color:var(--success);color:#fff}.insp-btn-success:hover{background:var(--success)}.insp-btn-icon{padding:8px}.lims-instrument-page{padding:1.5rem;height:100%;display:flex;flex-direction:column;overflow:hidden}.lims-instrument-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.lims-instrument-page .header-left{display:flex;align-items:center;gap:8px;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.lims-instrument-page .header-left svg{color:var(--primary)}.lims-instrument-page .header-right{display:flex;gap:8px}.lims-instrument-page .filter-bar{display:flex;gap:8px;margin-bottom:1rem;flex-wrap:wrap;align-items:center}.lims-instrument-page .filter-select{padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--input-bg);color:var(--text-primary)}.lims-instrument-page .filter-input-wrap{position:relative}.lims-instrument-page .filter-input-wrap svg{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.lims-instrument-page .filter-input{padding:6px 10px 6px 28px;border:1px solid var(--border);border-radius:6px;font-size:13px;width:280px;background:var(--input-bg);color:var(--text-primary)}.lims-instrument-page .result-count{font-size:12px;color:var(--text-secondary);margin-left:4px}.lims-instrument-page .table-container{flex:1;overflow:auto}.lims-instrument-page .instrument-table{width:100%;border-collapse:collapse;font-size:13px;background:var(--panel);border-radius:8px;overflow:hidden;min-width:1200px}.lims-instrument-page .instrument-table thead{position:sticky;top:0;z-index:10}.lims-instrument-page .instrument-table th{padding:10px 8px;text-align:center;white-space:nowrap;font-size:12px;font-weight:600;background:var(--bg-secondary);border-bottom:2px solid var(--border)}.lims-instrument-page .instrument-table th.text-left{text-align:left;min-width:180px}.lims-instrument-page .instrument-table th.text-right{text-align:right}.lims-instrument-page .instrument-table td{padding:8px;border-bottom:1px solid var(--border);vertical-align:middle}.lims-instrument-page .instrument-table tbody tr:hover{background:var(--bg-secondary)}.lims-instrument-page .td-center{text-align:center;white-space:nowrap}.lims-instrument-page .td-right{text-align:right}.lims-instrument-page .td-mono{font-family:monospace;font-weight:500;text-align:center}.lims-instrument-page .td-name{font-weight:500;cursor:pointer;color:var(--text-primary)}.lims-instrument-page .td-name:hover{color:var(--accent);text-decoration:underline}.lims-instrument-page .td-location{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lims-instrument-page .company-badge{padding:1px 6px;border-radius:4px;font-size:11px;font-weight:500}.lims-instrument-page .company-badge.tnt{background:var(--success-alpha-10, rgba(16, 185, 129, .1));color:var(--success)}.lims-instrument-page .company-badge.dys{background:var(--accent-alpha-10, rgba(59, 130, 246, .1));color:var(--accent)}.lims-instrument-page .status-badge{padding:2px 8px;border-radius:10px;font-size:11px;display:inline-block}.lims-instrument-page .status-badge.active{background:var(--success-alpha-10, rgba(16, 185, 129, .1));color:var(--success)}.lims-instrument-page .status-badge.maintenance{background:var(--warning-alpha-10, rgba(245, 158, 11, .1));color:var(--warning)}.lims-instrument-page .status-badge.retired{background:var(--accent-alpha-5, rgba(100, 116, 139, .1));color:var(--text-secondary)}.lims-instrument-page .calibration-due{display:inline-flex;align-items:center;gap:4px;color:var(--warning);font-weight:600}.lims-instrument-page .calibration-due svg{color:var(--warning)}.lims-instrument-page .action-buttons{display:flex;gap:4px;justify-content:center}.lims-instrument-page .loading-state{padding:40px;text-align:center;color:var(--text-secondary)}.lims-instrument-page .error-state{padding:40px;text-align:center;color:var(--error);display:flex;flex-direction:column;align-items:center;gap:12px}.lims-instrument-page .error-state p{margin:0;font-size:14px}.lims-instrument-page .error-detail{font-size:12px;color:var(--text-secondary)}.lims-instrument-page .empty-state{padding:40px;text-align:center;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:12px}.lims-instrument-page .empty-state p{margin:0;font-size:14px}.lims-instrument-page .form-fieldset{border:1px solid var(--border);border-radius:6px;padding:12px;margin-bottom:12px}.lims-instrument-page .form-legend{font-size:13px;font-weight:600;color:var(--text-primary);padding:0 6px}.lims-instrument-page .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lims-instrument-page .form-field label{font-size:12px;color:var(--text-secondary);margin-bottom:4px;display:block}.lims-instrument-page .form-input{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;box-sizing:border-box;background:var(--input-bg);color:var(--text-primary)}.lims-instrument-page .form-input:disabled{opacity:.5;background:var(--panel-2)}.lims-instrument-page .form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-alpha-20, rgba(59, 130, 246, .2))}.lims-instrument-page .form-textarea{min-height:60px;resize:vertical}.lims-instrument-page .form-remarks{margin-top:12px}.lims-instrument-page .skeleton-row td{padding:12px 8px}.lims-instrument-page .skeleton-bar{height:14px;background:var(--bg-secondary);border-radius:4px;animation:skeleton-pulse 1.5s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}@media (max-width: 768px){.lims-instrument-page{padding:12px}.lims-instrument-page .page-header{flex-direction:column;gap:12px;align-items:flex-start}.lims-instrument-page .filter-bar{flex-direction:column;align-items:stretch}.lims-instrument-page .filter-input{width:100%}.lims-instrument-page .form-grid{grid-template-columns:1fr}}.quality-activity-list-page{padding:24px;height:100%;display:flex;flex-direction:column}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-shrink:0}.header-left{display:flex;align-items:center;gap:12px}.header-left h1{margin:0;font-size:24px;font-weight:600;color:var(--text-primary)}.total-count{font-size:14px;color:var(--text-secondary)}.header-right{display:flex;align-items:center;gap:12px}.view-toggle{display:flex;background:var(--panel);border:1px solid var(--border);border-radius:6px;overflow:hidden}.toggle-btn{padding:8px 12px;background:transparent;border:none;cursor:pointer;color:var(--text-secondary);transition:all .2s}.toggle-btn:hover{background:var(--hover)}.toggle-btn.active{background:var(--primary);color:#fff}.btn-primary{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.btn-primary:hover{background:var(--primary-hover)}.kpi-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:20px;flex-shrink:0}.kpi-card{display:flex;align-items:center;gap:12px;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:8px}.kpi-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px}.kpi-icon.planned{background:#6b72801a;color:var(--text-tertiary)}.kpi-icon.in-progress{background:#3b82f61a;color:var(--primary)}.kpi-icon.completed{background:#22c55e1a;color:var(--success)}.kpi-icon.overdue{background:#ef44441a;color:var(--danger)}.kpi-label{font-size:13px;color:var(--text-secondary)}.kpi-card.completion-rate{flex-direction:column;align-items:stretch}.kpi-card.completion-rate .kpi-content{flex-direction:row;align-items:baseline;gap:8px}.progress-bar{width:100%;height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-top:8px}.progress-fill{height:100%;background:var(--primary);border-radius:3px;transition:width .3s ease}.filter-bar-unified{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-shrink:0;flex-wrap:wrap}.filter-select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);font-size:14px;cursor:pointer;min-width:130px}.filter-select:focus{outline:none;border-color:var(--primary)}.filter-input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);font-size:14px;width:120px}.filter-input:focus{outline:none;border-color:var(--primary)}.filter-search{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);flex:1;min-width:200px;max-width:350px}.filter-search .search-icon{color:var(--text-secondary);flex-shrink:0}.filter-search input{border:none;background:transparent;color:var(--text-primary);font-size:14px;width:100%;outline:none}.filter-search input::-moz-placeholder{color:var(--text-secondary)}.filter-search input::placeholder{color:var(--text-secondary)}.calendar-view{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden;flex:1;display:flex;flex-direction:column}.calendar-header{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px;border-bottom:1px solid var(--border);flex-shrink:0}.week-nav{padding:6px;border:1px solid var(--border);border-radius:6px;background:var(--panel);cursor:pointer;color:var(--text-primary);transition:all .2s}.week-nav:hover{background:var(--hover)}.week-label{font-size:16px;font-weight:600;color:var(--text-primary)}.today-btn{padding:6px 12px;border:none;border-radius:6px;background:var(--primary);color:#fff;cursor:pointer;font-size:13px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);flex:1}.calendar-day{min-height:120px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;flex-direction:column}.calendar-day:last-child{border-right:none}.calendar-day.today{background:#3b82f60d}.calendar-day.weekend{background:var(--hover)}.day-header{display:flex;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--background);flex-shrink:0}.day-name{font-size:12px;color:var(--text-secondary)}.day-number{font-size:14px;font-weight:600;color:var(--text-primary)}.today .day-number{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--primary);color:#fff;border-radius:50%}.day-activities{padding:8px;display:flex;flex-direction:column;gap:4px;flex:1;overflow-y:auto}.activity-chip{padding:4px 8px;background:var(--panel);border-left:3px solid;border-radius:0 4px 4px 0;cursor:pointer;transition:background .2s;overflow:hidden}.activity-chip:hover{background:var(--hover)}.chip-text{font-size:12px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.more-count{font-size:11px;color:var(--text-secondary);text-align:center;padding:4px}.list-view{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden;flex:1;display:flex;flex-direction:column}.loading,.empty-state{padding:48px;text-align:center;color:var(--text-secondary)}.empty-state p{margin-bottom:16px}.activity-table{width:100%;border-collapse:collapse}.activity-table th,.activity-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}.activity-table th{background:var(--background);font-size:13px;font-weight:600;color:var(--text-secondary);position:sticky;top:0;z-index:1}.activity-table tbody{overflow-y:auto}.activity-table tr:hover{background:var(--hover);cursor:pointer}.activity-table tr.overdue-row{background:#ef44440d}.activity-no{font-family:monospace;font-size:13px;color:var(--text-secondary)}.subject{max-width:350px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-badge{display:inline-block;margin-left:6px;padding:2px 6px;background:var(--primary);color:#fff;border-radius:4px;font-size:10px}.category-badge{display:inline-block;padding:4px 8px;color:#fff;border-radius:4px;font-size:12px;font-weight:500}.status-badge{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:500}.priority-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:12px;font-weight:500}.priority-low{background:#6b72801a;color:var(--text-tertiary)}.priority-medium{background:#3b82f61a;color:var(--primary)}.priority-high{background:#f973161a;color:var(--warning)}.priority-critical{background:#ef44441a;color:var(--danger)}.overdue-date{color:var(--danger);font-weight:500}.pagination{display:flex;justify-content:center;align-items:center;gap:12px;padding:16px;border-top:1px solid var(--border);flex-shrink:0;margin-top:auto}.pagination button{padding:8px 16px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);cursor:pointer;transition:all .2s}.pagination button:hover:not(:disabled){background:var(--hover)}@media (max-width: 1400px){.kpi-cards{grid-template-columns:repeat(5,1fr)}}@media (max-width: 1200px){.kpi-cards{grid-template-columns:repeat(3,1fr)}.filter-bar-unified{gap:8px}.filter-select{min-width:110px}}@media (max-width: 768px){.quality-activity-list-page{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.header-right{width:100%;justify-content:space-between}.kpi-cards{grid-template-columns:repeat(2,1fr)}.filter-bar-unified{flex-direction:column;align-items:stretch}.filter-select,.filter-input,.filter-search{width:100%;max-width:none}.calendar-grid{grid-template-columns:1fr}}.quality-activity-form-page{max-width:1200px;margin:0 auto;padding:8px 20px}.form-loading{padding:48px;text-align:center;color:var(--text-secondary)}.form-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.back-btn{padding:4px;background:var(--panel);border:1px solid var(--border);border-radius:4px;cursor:pointer;color:var(--text-primary);transition:all .2s}.back-btn:hover{background:var(--hover)}.form-header h1{margin:0;font-size:18px;font-weight:600;color:var(--text-primary);flex:1}.activity-no{font-family:monospace;font-size:12px;color:var(--text-secondary);background:var(--panel);padding:2px 8px;border-radius:4px;border:1px solid var(--border)}.form-content{background:var(--panel);border:1px solid var(--border);border-radius:6px;margin-bottom:8px}.form-section{padding:10px 16px;border-bottom:1px solid var(--border)}.form-section:last-child{border-bottom:none}.form-section h2{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--text-primary)}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px 10px}.form-grid.cols-3{grid-template-columns:repeat(3,1fr)}.form-grid.cols-5{grid-template-columns:repeat(5,1fr)}.form-grid.cols-6{grid-template-columns:repeat(6,1fr)}.form-group{display:flex;flex-direction:column;gap:1px}.form-group.span-2{grid-column:span 2}.form-group.span-3{grid-column:span 3}.form-group label{font-size:10px;font-weight:500;color:var(--text-secondary);line-height:1.2}.form-group input,.form-group select,.form-group textarea{padding:6px 10px;border:1px solid var(--border);border-radius:4px;background:var(--background);color:var(--text-primary);font-size:13px;transition:border-color .2s}.form-group textarea{height:auto}.form-group input::-moz-placeholder,.form-group textarea::-moz-placeholder{color:var(--text-secondary);opacity:.6}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-secondary);opacity:.6}.form-group textarea{resize:vertical;min-height:40px;height:auto!important}.inline-group{display:flex;gap:8px;align-items:flex-end}.inline-group .form-group{flex:1}.form-footer{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--panel);border:1px solid var(--border);border-radius:6px}.footer-left,.footer-right{display:flex;gap:6px}.btn-primary,.btn-secondary,.btn-danger,.btn-success{display:flex;align-items:center;gap:4px;padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--panel);border:1px solid var(--border);color:var(--text-primary)}.btn-secondary:hover{background:var(--hover)}.btn-danger{background:transparent;border:1px solid var(--danger);color:var(--danger)}.btn-danger:hover{background:#ef44441a}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:var(--success)}.result-toggle{display:flex;align-items:center;gap:6px;padding:5px 10px;background:transparent;border:1px dashed var(--border);border-radius:4px;color:var(--text-secondary);font-size:11px;cursor:pointer;width:100%;transition:all .2s}.result-toggle:hover{border-color:var(--primary);color:var(--primary)}.result-toggle.active{border-style:solid;background:var(--hover)}@media (max-width: 1200px){.form-grid.cols-6{grid-template-columns:repeat(4,1fr)}}@media (max-width: 900px){.form-grid,.form-grid.cols-3,.form-grid.cols-5,.form-grid.cols-6{grid-template-columns:repeat(2,1fr)}.form-group.span-3{grid-column:span 2}}@media (max-width: 600px){.quality-activity-form-page{padding:8px 12px}.form-grid,.form-grid.cols-3,.form-grid.cols-5,.form-grid.cols-6{grid-template-columns:1fr}.form-group.span-2,.form-group.span-3{grid-column:span 1}.form-footer{flex-direction:column;gap:6px}.footer-left,.footer-right{width:100%;justify-content:center}}.qa-calendar-section{height:100%;display:flex;flex-direction:column;padding:20px;overflow:hidden}.qa-calendar-section .page-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-shrink:0}.qa-calendar-section .page-title h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.qa-calendar-section .page-title .meta{display:flex;gap:8px}.qa-calendar-card{flex:1;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden;min-height:0}.qa-calendar-nav{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.qa-nav-left{display:flex;align-items:center;gap:8px}.qa-nav-left .btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--border);background:var(--panel);border-radius:6px;cursor:pointer;color:var(--text-secondary);font-size:14px;transition:all .2s}.qa-nav-left .btn:hover{background:var(--panel-2);color:var(--text-primary)}.qa-view-label{min-width:160px;text-align:center;font-weight:600;font-size:15px;color:var(--text-primary)}.qa-nav-right{display:flex;gap:4px;background:var(--panel-2);padding:4px;border-radius:8px}.qa-nav-right .btn{padding:6px 14px;border:none;background:transparent;color:var(--text-secondary);border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.qa-nav-right .btn:hover:not(:disabled){color:var(--text-primary)}.qa-nav-right .btn:disabled{background:var(--panel);color:var(--text-primary);box-shadow:0 1px 2px #0000001a;cursor:default}.qa-error{padding:12px 16px;background:#ef44441a;color:var(--danger);font-size:13px;text-align:center}.qa-loading{padding:20px;text-align:center;color:var(--text-secondary);font-size:13px}.qa-calendar-grid{flex:1;display:grid;gap:1px;background:var(--border);overflow:auto;min-height:0}.qa-weekday-header{background:var(--panel-2);padding:10px 4px;text-align:center;font-size:12px;font-weight:500;color:var(--text-secondary)}.qa-weekday-header:first-child{color:var(--danger)}.qa-weekday-header:last-child{color:var(--primary)}.qa-day-cell{background:var(--panel);min-height:100px;padding:8px;cursor:pointer;transition:background .15s;display:flex;flex-direction:column;position:relative}.qa-day-cell:hover{background:var(--panel-2)}.qa-day-cell.out-of-month{opacity:.4}.qa-day-cell.today{background:#3b82f614}.qa-day-number{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.qa-day-cell.today .qa-day-number{background:var(--primary);color:var(--panel);border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.qa-day-cell:nth-child(7n+1) .qa-day-number{color:var(--danger)}.qa-day-cell:nth-child(7n) .qa-day-number{color:var(--primary)}.qa-event-count{position:absolute;top:6px;right:6px;background:var(--primary);color:var(--panel);font-size:10px;font-weight:600;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.qa-events{flex:1;display:flex;flex-direction:column;gap:3px;overflow:hidden}.qa-cal-pill{display:flex;align-items:center;gap:4px;padding:3px 6px;border-radius:4px;font-size:11px;cursor:pointer;overflow:hidden;border-left:3px solid;transition:opacity .15s}.qa-cal-pill:hover{opacity:.85}.qa-cal-pill.category-CLAIM{background:#ef444426;border-color:var(--danger);color:var(--danger)}.qa-cal-pill.category-IQC{background:#3b82f626;border-color:var(--primary);color:var(--primary-hover)}.qa-cal-pill.category-PRODUCTION{background:#22c55e26;border-color:var(--success);color:var(--success)}.qa-cal-pill.category-DEVELOPMENT{background:#a855f726;border-color:var(--info);color:var(--info)}.qa-pill-time{font-weight:600;flex-shrink:0}.qa-pill-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qa-day-column{background:var(--panel);display:flex;flex-direction:column;min-height:400px}.qa-day-column-header{padding:10px 8px;text-align:center;font-size:13px;font-weight:500;color:var(--text-primary);background:var(--panel-2);border-bottom:1px solid var(--border);flex-shrink:0}.qa-day-timeline{flex:1;position:relative;overflow-y:auto;min-height:0}.qa-hour-block{position:absolute;left:0;right:0;border-bottom:1px solid var(--border)}.qa-hour-marker{position:absolute;left:0;top:0;width:56px;padding:4px 8px 4px 4px;text-align:right;font-size:11px;color:var(--text-secondary);background:var(--panel)}.qa-context-menu{position:fixed;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:140px;z-index:1000;overflow:hidden}.qa-context-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border:none;background:transparent;color:var(--text-primary);font-size:13px;cursor:pointer;text-align:left;transition:background .15s}.qa-context-item:hover:not(:disabled){background:var(--panel-2)}.qa-context-item:disabled{color:var(--text-secondary);cursor:not-allowed}.qa-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.qa-modal-content{background:var(--panel);border-radius:16px;max-width:90vw;max-height:90vh;overflow:auto;box-shadow:0 8px 32px #0003;min-width:600px}.qa-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.qa-modal-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.qa-modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-secondary);font-size:20px;cursor:pointer;border-radius:6px;transition:background .15s}.qa-modal-close:hover{background:var(--panel-2);color:var(--text-primary)}.qa-delete-dialog{background:var(--panel);border-radius:12px;padding:24px;min-width:320px;box-shadow:0 8px 32px #0003}.qa-delete-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.qa-delete-message{font-size:14px;color:var(--text-secondary);margin-bottom:20px}.qa-delete-subject{font-weight:500;color:var(--text-primary);margin-bottom:8px}.qa-delete-buttons{display:flex;gap:8px;justify-content:flex-end}.qa-btn-cancel{padding:8px 16px;border:1px solid var(--border);background:var(--panel);color:var(--text-primary);border-radius:6px;cursor:pointer;font-size:13px;transition:background .15s}.qa-btn-cancel:hover{background:var(--panel-2)}.qa-btn-delete{padding:8px 16px;border:none;background:var(--danger);color:var(--panel);border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:background .15s}.qa-btn-delete:hover{background:var(--danger)}.qa-category-filters{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.qa-category-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;border:1px solid var(--border);background:var(--panel);font-size:12px;cursor:pointer;transition:all .2s}.qa-category-chip.active{border-color:currentColor}.qa-category-chip .dot{width:8px;height:8px;border-radius:50%}.qa-category-chip.cat-CLAIM .dot{background:var(--danger)}.qa-category-chip.cat-IQC .dot{background:var(--primary)}.qa-category-chip.cat-PRODUCTION .dot{background:var(--success)}.qa-category-chip.cat-DEVELOPMENT .dot{background:var(--info)}.qa-more-indicator{font-size:11px;color:var(--text-secondary);padding:2px 6px;cursor:pointer}.qa-more-indicator:hover{color:var(--primary)}.npd-list-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-secondary, #f8fafc)}.npd-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.npd-page-header h1{display:flex;align-items:center;gap:8px;margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary, #1e293b)}.npd-header-actions{display:flex;gap:8px}.npd-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:.875rem;cursor:pointer;transition:all .2s}.npd-btn:hover{background:var(--bg-secondary, #f1f5f9)}.npd-btn-primary{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}.npd-btn-primary:hover{background:#2563eb}.npd-btn-icon{padding:6px;border:none;background:transparent;color:var(--text-secondary, #64748b);cursor:pointer;border-radius:4px}.npd-btn-icon:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #1e293b)}.npd-btn-danger:hover{background:#fee2e2;color:#dc2626}.npd-btn-search{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}.npd-btn-search:hover{background:#2563eb}.npd-summary-cards{display:flex;gap:12px;margin-bottom:16px;overflow-x:auto;padding-bottom:4px}.npd-summary-card{display:flex;flex-direction:column;align-items:center;padding:12px 20px;background:var(--panel, #ffffff);border:2px solid var(--border, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .2s;min-width:100px}.npd-summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.npd-summary-card.active{border-color:var(--primary, #3b82f6);background:var(--bg-secondary, #eff6ff)}.npd-summary-label{font-size:.75rem;color:var(--text-secondary, #64748b);margin-bottom:4px}.npd-summary-count{font-size:1.5rem;font-weight:600;color:var(--text-primary, #1e293b)}.npd-summary-card-total{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6)}.npd-summary-card-total .npd-summary-label{color:#ffffffd9}.npd-summary-card-total .npd-summary-count{color:#fff}.npd-summary-card-total.active{background:var(--primary, #3b82f6);border-color:#1d4ed8;box-shadow:0 0 0 3px #3b82f64d}:root[data-theme=dark] .npd-summary-card.active,.dark .npd-summary-card.active{background:#3b82f626}:root[data-theme=dark] .npd-summary-card-total,.dark .npd-summary-card-total{background:var(--primary, #3b82f6)}:root[data-theme=dark] .npd-summary-card-total.active,.dark .npd-summary-card-total.active{background:#2563eb}.npd-search-area{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:16px;margin-bottom:16px}.npd-search-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.npd-search-field{display:flex;flex-direction:column;gap:4px}.npd-search-field label{font-size:.75rem;color:var(--text-secondary, #64748b);font-weight:500}.npd-search-field input,.npd-search-field select{padding:8px 12px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:.875rem;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);min-width:150px}.npd-search-field input:focus,.npd-search-field select:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.npd-table-container{flex:1;overflow:auto;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;position:relative}.npd-loading,.npd-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:16px 24px;background:var(--panel, #ffffff);border-radius:8px;box-shadow:0 4px 12px #0000001a}.npd-error{color:#dc2626}.npd-table{width:100%;border-collapse:collapse;font-size:.875rem}.npd-table thead{position:sticky;top:0;background:var(--bg-secondary, #f8fafc);z-index:1}.npd-table th{padding:12px 8px;text-align:left;font-weight:600;color:var(--text-secondary, #64748b);border-bottom:1px solid var(--border, #e2e8f0);white-space:nowrap}.npd-table td{padding:10px 8px;border-bottom:1px solid var(--border, #e2e8f0);color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.npd-table tbody tr{cursor:pointer;transition:background .15s}.npd-table tbody tr:hover{background:var(--bg-secondary, #f8fafc)}.npd-table tbody tr.selected{background:var(--selected-row, rgba(59, 130, 246, .15))}:root[data-theme=dark] .npd-table tbody tr.selected,.dark .npd-table tbody tr.selected{background:#3b82f633}.npd-empty{text-align:center;padding:40px!important;color:var(--text-secondary, #64748b)}.npd-cell-link{color:var(--primary, #3b82f6);font-weight:500}.npd-cell-actions{display:flex;gap:4px}.npd-status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:500;color:#fff}.npd-risk-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.npd-risk-badge.risk-green{background:#dcfce7;color:#15803d}.npd-risk-badge.risk-orange{background:#fed7aa;color:#c2410c}.npd-risk-badge.risk-red{background:#fecaca;color:#dc2626}.npd-gate-progress{display:flex;align-items:center;gap:2px}.npd-gate-dot{width:24px;height:24px;border-radius:50%;background:var(--border, #e2e8f0);color:var(--text-secondary, #64748b);display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:600}.npd-gate-dot.completed{background:#22c55e;color:#fff}.npd-gate-dot.current{background:var(--primary, #3b82f6);color:#fff;box-shadow:0 0 0 3px #3b82f64d}.npd-gate-line{width:12px;height:2px;background:var(--border, #e2e8f0)}.npd-gate-line.completed{background:#22c55e}.npd-progress-bar{position:relative;width:100%;height:18px;background:var(--bg-secondary, #f1f5f9);border-radius:9px;overflow:hidden}.npd-progress-fill{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,#3b82f6,#22c55e);border-radius:9px;transition:width .3s ease}.npd-progress-bar span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:.625rem;font-weight:600;color:var(--text-primary, #1e293b)}.npd-pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 0;margin-top:auto}.npd-page-info{font-size:.875rem;color:var(--text-secondary, #64748b)}.npd-page-controls{display:flex;align-items:center;gap:8px}.npd-page-controls button{padding:6px 12px;border:1px solid var(--border, #e2e8f0);border-radius:4px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:.75rem;cursor:pointer}.npd-page-controls button:hover:not(:disabled){background:var(--bg-secondary, #f1f5f9)}.npd-page-controls button:disabled{opacity:.5;cursor:not-allowed}.npd-page-current{padding:0 8px;font-size:.875rem;font-weight:500}.npd-page-controls select{padding:6px 8px;border:1px solid var(--border, #e2e8f0);border-radius:4px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:.75rem}.npd-form-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-secondary, #f8fafc)}.npd-loading-center{display:flex;align-items:center;justify-content:center;height:100%;font-size:1rem;color:var(--text-secondary, #64748b)}.npd-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border, #e2e8f0)}.npd-form-title{display:flex;align-items:center;gap:12px}.npd-form-title h1{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary, #1e293b)}.npd-project-no{padding:4px 10px;background:var(--bg-secondary, #f1f5f9);border-radius:4px;font-size:.875rem;font-weight:500;color:var(--text-secondary, #64748b)}.npd-btn-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s}.npd-btn-back:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #1e293b)}.npd-form-actions{display:flex;gap:8px}.npd-error-message{padding:12px 16px;margin-bottom:16px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.875rem}.npd-form-content{flex:1;overflow-y:auto}.npd-form-section{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:20px;margin-bottom:16px}.npd-form-section h2{margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b);padding-bottom:12px;border-bottom:1px solid var(--border, #e2e8f0)}.npd-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.npd-form-field{display:flex;flex-direction:column;gap:6px}.npd-form-field.span-2{grid-column:span 2}.npd-form-field.full-width{grid-column:1 / -1}.npd-form-field label{font-size:.875rem;font-weight:500;color:var(--text-secondary, #64748b)}.npd-form-field.required label:after{content:" *";color:#dc2626}.npd-form-field input,.npd-form-field select,.npd-form-field textarea{padding:10px 12px;border:1px solid var(--input-border, var(--border, #e2e8f0));border-radius:6px;font-size:.875rem;background:var(--input-bg, #ffffff);color:var(--text-primary, #1e293b);transition:all .2s}.npd-form-field input:focus,.npd-form-field select:focus,.npd-form-field textarea:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.npd-form-field input::-moz-placeholder,.npd-form-field textarea::-moz-placeholder{color:var(--text-secondary, #94a3b8)}.npd-form-field input::placeholder,.npd-form-field textarea::placeholder{color:var(--text-secondary, #94a3b8)}.npd-form-field textarea{resize:vertical;min-height:100px}.npd-form-page .npd-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:.875rem;cursor:pointer;transition:all .2s}.npd-form-page .npd-btn:hover{background:var(--bg-secondary, #f1f5f9)}.npd-form-page .npd-btn-primary{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}.npd-form-page .npd-btn-primary:hover{background:#2563eb}.npd-form-page .npd-btn-primary:disabled{opacity:.6;cursor:not-allowed}.npd-form-field input[readonly]{background:var(--input-bg, #ffffff);color:var(--text-primary, #1e293b);cursor:default}.npd-input-with-btn{display:flex;gap:8px}.npd-input-with-btn input{flex:1;min-width:0}.npd-search-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;flex-shrink:0;white-space:nowrap;border:1px solid var(--primary, #3b82f6);border-radius:6px;background:var(--primary, #3b82f6);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.npd-search-btn:hover{background:#2563eb;border-color:#2563eb}.npd-search-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #3b82f659}.npd-autocomplete{position:relative}.npd-autocomplete input{width:100%}.npd-autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;z-index:50;margin:4px 0 0;padding:4px;list-style:none;max-height:220px;overflow-y:auto;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:6px;box-shadow:0 4px 12px #0000001f}.npd-autocomplete-item{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:4px;cursor:pointer;font-size:.875rem;color:var(--text-primary, #1e293b)}.npd-autocomplete-item.active,.npd-autocomplete-item:hover{background:var(--bg-secondary, #f1f5f9)}.npd-ac-name{font-weight:500}.npd-ac-meta{font-size:.75rem;color:var(--text-secondary, #94a3b8);white-space:nowrap}.npd-autocomplete-empty{position:absolute;top:100%;left:0;right:0;z-index:50;margin-top:4px;padding:8px 10px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:.75rem;color:var(--text-secondary, #94a3b8);text-align:center}.gate-help-popover-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;pointer-events:none}.gate-help-popover{position:fixed;z-index:101;width:400px;max-width:calc(100vw - 32px);max-height:calc(100vh - 100px);background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;box-shadow:0 10px 40px #00000026;overflow:hidden;pointer-events:auto;animation:popover-in .2s ease-out}@keyframes popover-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.gate-help-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--panel-2, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0)}.gate-help-title-row{display:flex;align-items:center;gap:10px}.gate-help-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;background:var(--bg-secondary, #e2e8f0);color:var(--text-primary, #1e293b);font-size:.75rem;font-weight:700;border-radius:6px}.gate-help-badge.current{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.gate-help-title{font-size:.9375rem;font-weight:600;color:var(--text-primary, #1e293b);margin:0}.gate-help-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s}.gate-help-close:hover{background:var(--bg-secondary, #e2e8f0);color:var(--text-primary, #1e293b)}.gate-help-content{padding:16px;overflow-y:auto;max-height:calc(100vh - 200px)}.gate-help-section{margin-bottom:16px}.gate-help-section:last-child{margin-bottom:0}.gate-help-section-title{display:flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;color:var(--text-primary, #1e293b);margin:0 0 8px}.gate-help-section-title svg{color:var(--primary, #3b82f6)}.gate-help-objective{font-size:.8125rem;color:var(--text-secondary, #64748b);line-height:1.5;margin:0;padding-left:4px}.gate-help-list{margin:0;padding:0 0 0 20px;font-size:.8125rem;color:var(--text-primary, #334155);line-height:1.6}.gate-help-list li{margin-bottom:4px}.gate-help-list li:last-child{margin-bottom:0}.gate-help-deliverables{display:flex;flex-wrap:wrap;gap:6px}.gate-help-deliverable-tag{display:inline-block;padding:4px 10px;background:#dbeafe;color:#1d4ed8;font-size:.75rem;font-weight:500;border-radius:4px}.gate-help-tabs{display:flex;flex-wrap:wrap;gap:8px}.gate-help-tab-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-secondary, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:.75rem;font-weight:500;color:var(--text-primary, #334155);cursor:pointer;transition:all .2s}.gate-help-tab-btn:hover{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}.gate-help-tab-btn .tab-icon{font-size:.875rem}.gate-help-tab-btn .tab-name{white-space:nowrap}.gate-help-section.next-gate{background:#fffbeb;margin:16px -16px;padding:12px 16px;border-top:1px solid #fcd34d;border-bottom:1px solid #fcd34d}.gate-help-section.next-gate .gate-help-section-title{color:#b45309}.gate-help-section.next-gate .gate-help-section-title svg{color:#f59e0b}.gate-help-conditions{margin:0;padding:0;list-style:none}.gate-help-conditions li{display:flex;align-items:flex-start;gap:8px;font-size:.8125rem;color:#92400e;margin-bottom:6px}.gate-help-conditions li:last-child{margin-bottom:0}.gate-help-conditions li svg{flex-shrink:0;margin-top:3px;color:#d97706}.gate-help-section.tips{background:#f0fdf4;margin:0 -16px -16px;padding:12px 16px 16px;border-radius:0 0 12px 12px}.gate-help-tips{margin:0;padding:0 0 0 20px;font-size:.8125rem;color:#166534;line-height:1.5}.gate-help-tips li{margin-bottom:4px}@media (prefers-color-scheme: dark){.gate-help-deliverable-tag{background:#3b82f633;color:#93c5fd}.gate-help-section.next-gate{background:#f59e0b1a;border-color:#f59e0b4d}.gate-help-section.next-gate .gate-help-section-title{color:#fbbf24}.gate-help-conditions li{color:#fcd34d}.gate-help-section.tips{background:#22c55e1a}.gate-help-tips{color:#86efac}}@media (max-width: 480px){.gate-help-popover{width:calc(100vw - 24px);left:12px!important}.gate-help-title{font-size:.875rem}.gate-help-tab-btn{padding:5px 10px;font-size:.6875rem}}.gate-stepper{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:12px 20px;margin-bottom:16px}.gate-stepper-track{display:flex;align-items:center;justify-content:space-between}.gate-step{display:flex;flex-direction:column;align-items:center;flex:0 0 auto;min-width:90px;gap:4px;cursor:pointer;padding:6px 8px;border-radius:8px;transition:all .2s ease}.gate-step:hover{background:var(--bg-secondary, rgba(241, 245, 249, .7))}.gate-step:focus{outline:2px solid var(--primary, #3b82f6);outline-offset:2px}.gate-step.help-active{background:var(--bg-secondary, #f1f5f9);box-shadow:0 0 0 2px var(--primary, #3b82f6)}.gate-step-main{display:flex;align-items:center;gap:6px}.gate-step-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.75rem;flex-shrink:0;transition:all .3s ease}.gate-step-info{display:flex;flex-direction:column;align-items:flex-start;gap:0}.gate-step-label{display:flex;align-items:center;gap:4px;font-size:.8125rem;font-weight:600;color:var(--text-primary, #1e293b);line-height:1.2}.gate-help-icon{opacity:0;color:var(--text-secondary, #94a3b8);transition:opacity .2s}.gate-step:hover .gate-help-icon,.gate-step.help-active .gate-help-icon{opacity:1}.gate-step-name{font-size:.6875rem;color:var(--text-secondary, #64748b);white-space:nowrap;line-height:1.2}.gate-step.completed .gate-step-icon{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 2px 8px #22c55e4d}.gate-step.current .gate-step-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 8px #3b82f666;animation:pulse 2s infinite}.gate-step.upcoming .gate-step-icon{background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b);border:2px dashed var(--border, #cbd5e1)}.gate-step.locked .gate-step-icon{background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #94a3b8)}@keyframes pulse{0%,to{box-shadow:0 2px 8px #3b82f666}50%{box-shadow:0 2px 12px #3b82f699}}.gate-step.completed .gate-step-label,.gate-step.current .gate-step-label{color:var(--text-primary, #1e293b)}.gate-step.locked .gate-step-label,.gate-step.locked .gate-step-name{color:var(--text-secondary, #94a3b8)}.gate-step-actions{display:flex;align-items:center;gap:4px;min-height:22px}.gate-step-actions span{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.625rem;font-weight:600;text-transform:uppercase}.review-pass{background:#dcfce7;color:#15803d}.review-fail{background:#fecaca;color:#dc2626}.review-conditional{background:#fef3c7;color:#b45309}.review-planned{background:#e0e7ff;color:#4338ca}.gate-approve-btn{padding:2px 10px;background:var(--primary, #3b82f6);color:#fff;border:none;border-radius:4px;font-size:.6875rem;font-weight:500;cursor:pointer;transition:all .2s}.gate-approve-btn:hover{background:#2563eb;transform:translateY(-1px)}.gate-connector{flex:1;height:3px;background:var(--border, #e2e8f0);margin:0 6px;border-radius:2px;transition:background .3s ease;align-self:center}.gate-connector.completed{background:linear-gradient(90deg,#22c55e,#16a34a)}@media (max-width: 1024px){.gate-stepper{padding:10px 16px;overflow-x:auto}.gate-stepper-track{min-width:800px}.gate-step{min-width:80px}}@media (max-width: 768px){.gate-stepper{padding:10px 12px}.gate-stepper-track{min-width:700px}.gate-step{min-width:70px}.gate-step-icon{width:24px;height:24px;font-size:.6875rem}.gate-step-label{font-size:.75rem}.gate-step-name{font-size:.625rem}.gate-step-actions span{padding:1px 6px;font-size:.5625rem}.gate-approve-btn{padding:2px 6px;font-size:.625rem}}.milestone-timeline{padding:0}.milestone-timeline .npd-tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.milestone-timeline .npd-tab-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b)}.milestone-form{background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:16px;margin-bottom:16px}.milestone-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:16px}.milestone-form .form-field{display:flex;flex-direction:column;gap:4px}.milestone-form .form-field label{font-size:.75rem;font-weight:500;color:var(--text-secondary, #64748b)}.milestone-form .form-field input,.milestone-form .form-field select{padding:8px 10px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:.875rem;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b)}.milestone-form .form-field input:focus,.milestone-form .form-field select:focus{outline:none;border-color:var(--primary, #3b82f6)}.milestone-form-actions{display:flex;justify-content:flex-end;gap:8px}.milestone-list{display:flex;flex-direction:column;gap:12px}.milestone-item{display:flex;gap:16px;padding:16px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;transition:all .2s}.milestone-item:hover{box-shadow:0 4px 12px #0000000d}.milestone-item.critical{border-left:4px solid #ef4444}.milestone-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.milestone-content{flex:1;min-width:0}.milestone-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.milestone-no{font-size:.75rem;color:var(--text-secondary, #64748b);padding:2px 6px;background:var(--bg-secondary, #f1f5f9);border-radius:4px}.milestone-name{font-size:.9375rem;font-weight:600;color:var(--text-primary, #1e293b)}.critical-badge{padding:2px 8px;background:#fef2f2;color:#dc2626;font-size:.625rem;font-weight:600;border-radius:4px;text-transform:uppercase}.milestone-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.milestone-meta span{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-secondary, #64748b)}.milestone-status{font-weight:600}.milestone-progress{display:flex;align-items:center;gap:8px}.milestone-progress .progress-bar{flex:1;height:6px;background:var(--bg-secondary, #e2e8f0);border-radius:3px;overflow:hidden}.milestone-progress .progress-fill{height:100%;border-radius:3px;transition:width .3s ease}.milestone-progress span{font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);min-width:40px;text-align:right}.deliverable-grid{padding:0}.deliverable-grid .npd-tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.deliverable-grid .npd-tab-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b)}.deliverable-form{background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:16px;margin-bottom:16px}.deliverable-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:16px}.deliverable-form .form-field{display:flex;flex-direction:column;gap:4px}.deliverable-form .form-field label{font-size:.75rem;font-weight:500;color:var(--text-secondary, #64748b)}.deliverable-form .form-field input,.deliverable-form .form-field select{padding:8px 10px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:.875rem;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b)}.deliverable-form .form-field input:focus,.deliverable-form .form-field select:focus{outline:none;border-color:var(--primary, #3b82f6)}.deliverable-form-actions{display:flex;justify-content:flex-end;gap:8px}.deliverable-list{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;overflow:hidden}.deliverable-list .npd-table{width:100%;border-collapse:collapse}.deliverable-list .npd-table th{padding:12px 8px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0)}.deliverable-list .npd-table td{padding:10px 8px;font-size:.8125rem;color:var(--text-primary, #1e293b);border-bottom:1px solid var(--border, #e2e8f0)}.deliverable-list .npd-table tbody tr:hover{background:var(--bg-secondary, #f8fafc)}.cell-code{font-family:monospace;font-size:.75rem;color:var(--text-secondary, #64748b)}.deliverable-name{display:flex;align-items:center;gap:6px}.file-icon{color:var(--primary, #3b82f6);cursor:pointer}.overdue{color:#dc2626;font-weight:500}.status-cell{display:flex;align-items:center;gap:4px;font-size:.75rem}.status-approved{color:#22c55e}.status-submitted{color:#3b82f6}.status-rejected{color:#dc2626}.status-pending{color:#94a3b8}.mandatory-badge{display:inline-block;padding:2px 6px;background:#fef2f2;color:#dc2626;font-size:.625rem;font-weight:600;border-radius:4px}.optional-badge{display:inline-block;padding:2px 6px;background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b);font-size:.625rem;font-weight:600;border-radius:4px}.team-member-list{padding:0}.team-member-list .npd-tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.team-member-list .npd-tab-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b)}.team-form{background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:16px;margin-bottom:16px}.team-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:16px}.team-form .form-field{display:flex;flex-direction:column;gap:4px}.team-form .form-field label{font-size:.75rem;font-weight:500;color:var(--text-secondary, #64748b)}.team-form .form-field input,.team-form .form-field select{padding:8px 10px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:.875rem;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b)}.team-form .form-field input:focus,.team-form .form-field select:focus{outline:none;border-color:var(--primary, #3b82f6)}.team-form-actions{display:flex;justify-content:flex-end;gap:8px}.team-groups{display:flex;flex-direction:column;gap:16px}.team-group{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;overflow:hidden}.team-group-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-secondary, #f8fafc);border-left:4px solid}.role-label{font-size:.875rem;font-weight:600;color:var(--text-primary, #1e293b)}.role-count{font-size:.75rem;color:var(--text-secondary, #64748b);padding:2px 8px;background:var(--panel, #ffffff);border-radius:12px}.team-group-members{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;padding:16px}.team-member-card{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-secondary, #f8fafc);border-radius:8px;transition:all .2s}.team-member-card:hover{background:var(--border, #e2e8f0)}.member-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.member-info{flex:1;min-width:0}.member-name{font-size:.875rem;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:4px}.member-meta{display:flex;flex-wrap:wrap;gap:8px}.member-meta span{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-secondary, #64748b)}.member-delete-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:4px;background:transparent;color:var(--text-secondary, #94a3b8);cursor:pointer;transition:all .2s}.member-delete-btn:hover{background:#fee2e2;color:#dc2626}.member-delete-btn:disabled{opacity:.5;cursor:not-allowed}.requirement-form-modal{background:var(--panel);border-radius:12px;box-shadow:0 20px 50px #0000004d;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column}.requirement-page{display:flex;flex-direction:column;gap:16px;height:100%}.requirement-header{display:flex;justify-content:space-between;align-items:center}.header-title{display:flex;align-items:center;gap:8px}.header-title h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.header-title .total-count{font-size:14px;color:var(--text-secondary);padding:2px 8px;background:var(--bg-secondary);border-radius:4px}.summary-cards{display:flex;gap:12px;padding:12px 16px;background:var(--panel);border-radius:8px;border:1px solid var(--border)}.summary-card{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;cursor:pointer;border-radius:6px;transition:background .2s}.summary-card:hover{background:var(--bg-secondary)}.card-value{font-size:24px;font-weight:700;color:var(--text-primary)}.card-label{font-size:12px;color:var(--text-secondary)}.summary-divider{width:1px;background:var(--border);margin:0 8px}.filter-bar{display:flex;gap:12px;padding:12px;background:var(--panel);border-radius:8px;border:1px solid var(--border)}.search-box{display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--bg-secondary);border-radius:6px;flex:1;max-width:300px}.search-box input{flex:1;border:none;background:transparent;padding:8px 0;font-size:14px;color:var(--text-primary)}.search-box input:focus{outline:none}.filter-group svg{color:var(--text-secondary)}.filter-group select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);font-size:14px;min-width:120px}.requirement-list{flex:1;background:var(--panel);border-radius:8px;border:1px solid var(--border);overflow:hidden}.requirement-table{width:100%;border-collapse:collapse}.requirement-table th,.requirement-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border)}.requirement-table th{background:var(--bg-secondary);font-weight:600;font-size:12px;color:var(--text-secondary);text-transform:uppercase}.requirement-table tbody tr:hover{background:var(--bg-secondary)}.req-title{max-width:300px}.qfd-link{display:block;font-size:11px;color:var(--primary);margin-top:2px}.priority-badge{font-weight:600;font-size:13px}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.dvp-count .linked{display:flex;align-items:center;gap:4px;color:var(--primary);font-weight:500}.dvp-count .not-linked{color:var(--text-secondary)}.source-cell{font-size:13px;color:var(--text-secondary);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;gap:4px}.btn-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.btn-icon.danger:hover{background:#fee2e2;color:#dc2626}.btn-primary{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}.btn-secondary{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--panel);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.requirement-matrix{display:flex;flex-direction:column;gap:16px;height:100%}.matrix-header{display:flex;justify-content:space-between;align-items:center}.matrix-header .header-title{display:flex;align-items:center;gap:8px}.matrix-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.matrix-header .header-actions{display:flex;gap:8px}.matrix-stats{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--panel);border-radius:8px;border:1px solid var(--border);flex-wrap:wrap}.stat-item{display:flex;align-items:center;gap:6px}.stat-label{font-size:13px;color:var(--text-secondary)}.stat-value{font-size:16px;font-weight:600;color:var(--text-primary)}.stat-value.passed{color:#22c55e}.stat-value.failed{color:#ef4444}.stat-value.in-progress{color:#3b82f6}.stat-value.planned{color:#6b7280}.stat-divider{width:1px;height:24px;background:var(--border)}.matrix-table-container{flex:1;background:var(--panel);border-radius:8px;border:1px solid var(--border);overflow:auto}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px;color:var(--text-secondary)}.empty-state svg{opacity:.3}.matrix-table{width:100%;border-collapse:collapse;min-width:900px}.matrix-table th,.matrix-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.matrix-table th{background:var(--bg-secondary);font-weight:600;font-size:12px;color:var(--text-secondary);text-transform:uppercase;position:sticky;top:0;z-index:1}.matrix-table th.connection-header{text-align:center;border-left:1px solid var(--border)}.matrix-table thead tr:nth-child(2) th{top:36px;border-left:1px solid var(--border)}.matrix-table tbody tr:hover{background:var(--bg-secondary)}.req-no{font-family:monospace;font-size:13px;color:var(--text-secondary)}.req-title{max-width:250px}.title-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.gate-badge{display:inline-block;margin-top:2px;padding:1px 6px;background:var(--bg-secondary);border-radius:3px;font-size:11px;color:var(--text-secondary)}.type-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;color:#fff}.priority-text{font-weight:600;font-size:13px}.status-cell{display:flex;align-items:center;gap:4px}.status-text{font-size:13px;font-weight:500}.status-icon.passed{color:#22c55e}.status-icon.failed{color:#ef4444}.status-icon.in-progress{color:#3b82f6}.status-icon.planned{color:#6b7280}.connection-cell{border-left:1px solid var(--border)}.connected{display:flex;align-items:center;gap:4px;color:var(--primary);font-size:13px}.connected .count-badge{padding:0 4px;background:var(--primary);color:#fff;border-radius:3px;font-size:11px;font-weight:600}.not-connected{color:var(--text-secondary);font-size:13px}.matrix-legend{display:flex;align-items:center;gap:16px;padding:8px 16px;background:var(--bg-secondary);border-radius:6px;font-size:13px}.legend-title{color:var(--text-secondary);font-weight:500}.legend-items{display:flex;gap:16px}.legend-item{display:flex;align-items:center;gap:4px;color:var(--text-primary)}.btn-secondary{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--panel);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.wbs-form-modal{background:var(--panel);border-radius:12px;box-shadow:0 20px 50px #0000004d;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.parent-info{font-size:13px;color:var(--text-secondary);margin-left:12px;padding:4px 8px;background:var(--bg-secondary);border-radius:4px}.btn-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.btn-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:20px}.error-message{padding:12px;background:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:14px}.form-section{display:flex;flex-direction:column;gap:12px}.form-section h4{margin:0;font-size:14px;font-weight:600;color:var(--text-secondary);padding-bottom:8px;border-bottom:1px solid var(--border)}.form-row{display:flex;gap:12px}.form-group{flex:1;display:flex;flex-direction:column;gap:4px}.form-group.full-width{flex-basis:100%}.form-group label.required:after{content:" *";color:#dc2626}.form-group input,.form-group select,.form-group textarea{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary)}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed}.form-group textarea{resize:vertical;min-height:60px}.form-group input[type=number]{-moz-appearance:textfield}.form-group input[type=number]::-webkit-outer-spin-button,.form-group input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.modal-footer .btn-primary,.modal-footer .btn-secondary{display:flex;align-items:center;gap:6px;padding:8px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.modal-footer .btn-primary{background:var(--primary);color:#fff;border:none}.modal-footer .btn-primary:hover{opacity:.9}.modal-footer .btn-primary:disabled{opacity:.5;cursor:not-allowed}.modal-footer .btn-secondary{background:var(--panel);color:var(--text-primary);border:1px solid var(--border)}.modal-footer .btn-secondary:hover{background:var(--bg-secondary)}@media (max-width: 768px){.modal-overlay{padding:16px}.wbs-form-modal{max-height:95vh}.form-row{flex-direction:column}.modal-body{padding:16px}}.wbs-gantt{background:var(--panel);border-radius:8px;border:1px solid var(--border);overflow:hidden}.wbs-gantt-loading,.wbs-gantt-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary);gap:16px;text-align:center}.wbs-gantt-empty p{margin:0}.gantt-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:8px}.toolbar-center{display:flex;align-items:center}.current-range{font-size:14px;font-weight:500;color:var(--text-primary)}.gantt-toolbar button{display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 12px;border:1px solid var(--border);border-radius:4px;background:var(--panel);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.gantt-toolbar button:hover{background:var(--bg-secondary);color:var(--text-primary)}.view-mode-buttons{display:flex;border:1px solid var(--border);border-radius:4px;overflow:hidden}.view-mode-buttons button{border:none;border-radius:0}.view-mode-buttons button:not(:last-child){border-right:1px solid var(--border)}.view-mode-buttons button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.gantt-legend{display:flex;gap:16px;padding:8px 16px;border-bottom:1px solid var(--border);background:var(--panel)}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.legend-bar{display:inline-block;width:24px;height:8px;border-radius:2px}.legend-bar.plan{background:#94a3b8}.legend-bar.actual{background:#3b82f6}.critical-icon{color:#ef4444}.gantt-container{overflow-x:auto;overflow-y:auto;max-height:600px}.gantt-table{display:flex;min-width:-moz-max-content;min-width:max-content}.gantt-left{flex-shrink:0;width:450px;border-right:2px solid var(--border);background:var(--panel);position:sticky;left:0;z-index:10}.gantt-header-row{display:flex;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.gantt-header-cell{padding:10px 12px;font-size:12px;font-weight:600;color:var(--text-secondary);border-right:1px solid var(--border)}.gantt-header-cell.task-name-header{flex:1;min-width:200px}.gantt-header-cell:not(.task-name-header){width:80px;text-align:center}.gantt-task-row{display:flex;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s}.gantt-task-row:hover{background:var(--bg-secondary)}.gantt-task-row.critical{background:#ef44440d}.gantt-task-row.critical:hover{background:#ef44441a}.gantt-cell{padding:8px 12px;font-size:12px;color:var(--text-primary);border-right:1px solid var(--border);display:flex;align-items:center}.gantt-cell.task-name{flex:1;min-width:200px;gap:6px}.gantt-cell:not(.task-name){width:80px;justify-content:center}.wbs-code{font-family:SF Mono,Consolas,monospace;font-size:11px;color:var(--text-secondary);flex-shrink:0}.task-name-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-mini{position:relative;width:100%;height:16px;background:var(--bg-secondary);border-radius:3px;overflow:hidden}.progress-mini .progress-fill{height:100%;border-radius:3px}.progress-mini span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:10px;font-weight:500;color:var(--text-primary)}.gantt-right{flex:1;min-width:0}.gantt-header-groups{display:flex;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.header-group{padding:6px 8px;font-size:11px;font-weight:600;color:var(--text-secondary);text-align:center;border-right:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-subheaders{display:flex;background:var(--panel);border-bottom:1px solid var(--border)}.subheader-cell{padding:6px 4px;font-size:11px;color:var(--text-secondary);text-align:center;border-right:1px solid var(--border);box-sizing:border-box}.subheader-cell.weekend{background:#94a3b81a}.subheader-cell.today{background:#2563eb1a;color:var(--primary);font-weight:600}.gantt-bars{position:relative}.gantt-bar-row{position:relative;height:32px;display:flex;border-bottom:1px solid var(--border)}.grid-cell{height:100%;border-right:1px solid var(--border);box-sizing:border-box}.grid-cell.weekend{background:#94a3b80d}.gantt-bar{position:absolute;top:6px;height:20px;border-radius:4px;cursor:pointer;transition:opacity .15s}.gantt-bar:hover{opacity:.8}.gantt-bar.plan{background:#94a3b8;z-index:1}.gantt-bar.plan.critical{background:linear-gradient(135deg,#ef4444,#f87171);box-shadow:0 0 0 2px #ef44444d}.gantt-bar.actual{top:10px;height:12px;background:#3b82f6;z-index:2}@media (max-width: 1024px){.gantt-left{width:350px}.gantt-cell.task-name,.gantt-header-cell.task-name-header{min-width:150px}.gantt-header-cell:not(.task-name-header),.gantt-cell:not(.task-name){width:70px}}@media (max-width: 768px){.gantt-toolbar{flex-direction:column;gap:8px}.gantt-left{width:280px}.gantt-container{max-height:400px}}.wbs-page{padding:24px;background:var(--bg-secondary);min-height:100%}.wbs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.header-title h3{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.view-toggle{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.view-toggle button{display:flex;align-items:center;gap:4px;padding:8px 12px;border:none;background:var(--panel);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s}.view-toggle button:not(:last-child){border-right:1px solid var(--border)}.view-toggle button:hover{background:var(--bg-secondary)}.view-toggle button.active{background:var(--primary);color:#fff}.btn-primary{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;background:var(--primary);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}.btn-secondary{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--bg-secondary)}.wbs-summary{display:flex;gap:16px;margin-bottom:20px}.summary-card{flex:1;background:var(--panel);border-radius:8px;padding:16px;display:flex;align-items:center;gap:12px;border:1px solid var(--border)}.summary-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff}.summary-icon.total{background:#6366f1}.summary-icon.not-started{background:#94a3b8}.summary-icon.in-progress{background:#3b82f6}.summary-icon.completed{background:#22c55e}.summary-icon.delayed{background:#ef4444}.summary-info{display:flex;flex-direction:column}.summary-value{font-size:24px;font-weight:600;color:var(--text-primary)}.wbs-content{background:var(--panel);border-radius:8px;border:1px solid var(--border);overflow:hidden}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary);gap:16px}.wbs-tree{padding:0}.wbs-tree-table{width:100%;border-collapse:collapse}.wbs-tree-table thead th{position:sticky;top:0;background:var(--bg-secondary);padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.wbs-tree-table tbody tr{cursor:pointer;transition:background .15s}.wbs-tree-table tbody tr:hover{background:var(--bg-secondary)}.wbs-tree-table tbody tr.critical{background:#ef44440d}.wbs-tree-table tbody tr.critical:hover{background:#ef44441a}.wbs-tree-table tbody td{padding:10px 16px;font-size:13px;color:var(--text-primary);border-bottom:1px solid var(--border);vertical-align:middle}.wbs-code-cell{font-family:SF Mono,Consolas,monospace;font-size:12px;color:var(--text-secondary)}.task-name-cell{display:flex;align-items:center;gap:6px}.expand-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;cursor:pointer;color:var(--text-secondary);padding:0}.expand-btn:hover{color:var(--text-primary)}.expand-placeholder{width:20px}.task-name-text{flex:1}.critical-badge{display:flex;align-items:center;color:#ef4444}.type-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;color:#fff}.priority-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500}.priority-badge.critical{background:#fef2f2;color:#dc2626}.priority-badge.high{background:#fef3c7;color:#d97706}.priority-badge.normal{background:#f0fdf4;color:#16a34a}.priority-badge.low{background:#f1f5f9;color:#64748b}.responsible-cell{font-size:12px;color:var(--text-secondary)}.date-range{display:flex;flex-direction:column;gap:2px;font-size:12px}.date-range .plan{color:var(--text-secondary)}.date-range .actual{color:#3b82f6}.progress-bar{display:flex;align-items:center;gap:8px}.progress-track{flex:1;height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden}.progress-fill{height:100%;border-radius:3px;transition:width .3s}.progress-text{font-size:12px;font-weight:500;color:var(--text-primary);min-width:36px;text-align:right}.action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.action-btn.delete:hover{background:#fee2e2;color:#dc2626}.gate-filter{display:flex;gap:8px;margin-bottom:16px;padding:0 16px}.gate-filter-btn{padding:6px 12px;border:1px solid var(--border);border-radius:4px;background:var(--panel);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.gate-filter-btn:hover{background:var(--bg-secondary)}.gate-filter-btn.active{border-color:var(--primary);background:#2563eb1a;color:var(--primary)}@media (max-width: 1200px){.wbs-summary{flex-wrap:wrap}.summary-card{flex:1 1 calc(50% - 8px)}}@media (max-width: 768px){.wbs-page{padding:16px}.wbs-header{flex-direction:column;gap:12px;align-items:flex-start}.header-actions{width:100%;flex-wrap:wrap}.summary-card{flex:1 1 100%}.wbs-tree-table{display:block;overflow-x:auto}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.design-form-modal{background:var(--panel);border-radius:12px;width:100%;max-width:640px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #0003}.design-form-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.design-form-modal .modal-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.design-form-modal .btn-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.design-form-modal .btn-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.design-form-modal .modal-body{flex:1;overflow-y:auto;padding:20px}.design-form-modal .error-message{background:#fef2f2;color:#dc2626;padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:16px}.design-form-modal .form-section{margin-bottom:20px}.design-form-modal .form-section:last-child{margin-bottom:0}.design-form-modal .form-section h4{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.design-form-modal .form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.design-form-modal .form-row:last-child{margin-bottom:0}.design-form-modal .form-group{display:flex;flex-direction:column;gap:6px}.design-form-modal .form-group.full-width{grid-column:1 / -1}.design-form-modal .form-group label{font-size:12px;font-weight:500;color:var(--text-secondary)}.design-form-modal .form-group label.required:after{content:" *";color:#ef4444}.design-form-modal .form-group input,.design-form-modal .form-group select,.design-form-modal .form-group textarea{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--panel);color:var(--text-primary);transition:all .2s}.design-form-modal .form-group input:focus,.design-form-modal .form-group select:focus,.design-form-modal .form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.design-form-modal .form-group textarea{resize:vertical;min-height:80px}.design-form-modal .modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border);background:var(--bg-secondary)}.design-form-modal .btn-primary,.design-form-modal .btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.design-form-modal .btn-primary{background:var(--primary);color:#fff;border:none}.design-form-modal .btn-primary:hover{background:var(--primary-dark, #2563eb)}.design-form-modal .btn-primary:disabled{opacity:.6;cursor:not-allowed}.design-form-modal .btn-secondary{background:var(--panel);color:var(--text-primary);border:1px solid var(--border)}.design-form-modal .btn-secondary:hover{background:var(--bg-secondary)}@media (max-width: 640px){.design-form-modal .form-row{grid-template-columns:1fr}.design-form-modal .form-row.two-col{grid-template-columns:1fr 1fr}}.bom-form-modal{background:var(--panel);border-radius:12px;width:100%;max-width:560px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #0003}.bom-form-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.bom-form-modal .modal-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.bom-form-modal .btn-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.bom-form-modal .btn-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.bom-form-modal .modal-body{flex:1;overflow-y:auto;padding:20px}.bom-form-modal .error-message{background:#fef2f2;color:#dc2626;padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:16px}.bom-form-modal .form-section{margin-bottom:20px}.bom-form-modal .form-section:last-child{margin-bottom:0}.bom-form-modal .form-section h4{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.bom-form-modal .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:12px}.bom-form-modal .form-row:last-child{margin-bottom:0}.bom-form-modal .form-group{display:flex;flex-direction:column;gap:6px}.bom-form-modal .form-group.full-width{grid-column:1 / -1}.bom-form-modal .form-group label{font-size:12px;font-weight:500;color:var(--text-secondary)}.bom-form-modal .form-group label.required:after{content:" *";color:#ef4444}.bom-form-modal .form-group input,.bom-form-modal .form-group select,.bom-form-modal .form-group textarea{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--panel);color:var(--text-primary);transition:all .2s}.bom-form-modal .form-group input:focus,.bom-form-modal .form-group select:focus,.bom-form-modal .form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.bom-form-modal .form-group textarea{resize:vertical;min-height:80px}.bom-form-modal .modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border);background:var(--bg-secondary)}.bom-form-modal .btn-primary,.bom-form-modal .btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.bom-form-modal .btn-primary{background:var(--primary);color:#fff;border:none}.bom-form-modal .btn-primary:hover{background:var(--primary-dark, #2563eb)}.bom-form-modal .btn-primary:disabled{opacity:.6;cursor:not-allowed}.bom-form-modal .btn-secondary{background:var(--panel);color:var(--text-primary);border:1px solid var(--border)}.bom-form-modal .btn-secondary:hover{background:var(--bg-secondary)}.modal-overlay.nested{z-index:1100;background:#0000004d}.bom-item-form-modal{background:var(--panel);border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #00000040}.bom-item-form-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.bom-item-form-modal .modal-header h3{margin:0;font-size:15px;font-weight:600;color:var(--text-primary)}.bom-item-form-modal .btn-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.bom-item-form-modal .btn-close:hover{background:var(--panel);color:var(--text-primary)}.bom-item-form-modal .modal-body{flex:1;overflow-y:auto;padding:16px 20px}.bom-item-form-modal .error-message{background:#fef2f2;color:#dc2626;padding:8px 12px;border-radius:6px;font-size:12px;margin-bottom:12px}.bom-item-form-modal .form-section{margin-bottom:16px}.bom-item-form-modal .form-section:last-child{margin-bottom:0}.bom-item-form-modal .form-section h4{margin:0 0 10px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.bom-item-form-modal .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:10px}.bom-item-form-modal .form-row.three-col{grid-template-columns:repeat(3,1fr)}.bom-item-form-modal .form-row:last-child{margin-bottom:0}.bom-item-form-modal .form-group{display:flex;flex-direction:column;gap:4px}.bom-item-form-modal .form-group.full-width{grid-column:1 / -1}.bom-item-form-modal .form-group label{font-size:11px;font-weight:500;color:var(--text-secondary)}.bom-item-form-modal .form-group label.required:after{content:" *";color:#ef4444}.bom-item-form-modal .form-group input,.bom-item-form-modal .form-group select,.bom-item-form-modal .form-group textarea{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--panel);color:var(--text-primary);transition:all .2s}.bom-item-form-modal .form-group input:focus,.bom-item-form-modal .form-group select:focus,.bom-item-form-modal .form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #3b82f61a}.bom-item-form-modal .form-group input[type=number]{font-family:SF Mono,Consolas,monospace}.bom-item-form-modal .form-group textarea{resize:vertical;min-height:60px}.bom-item-form-modal .modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border);background:var(--bg-secondary)}.bom-item-form-modal .btn-primary,.bom-item-form-modal .btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.bom-item-form-modal .btn-primary{background:var(--primary);color:#fff;border:none}.bom-item-form-modal .btn-primary:hover{background:var(--primary-dark, #2563eb)}.bom-item-form-modal .btn-primary:disabled{opacity:.6;cursor:not-allowed}.bom-item-form-modal .btn-secondary{background:var(--panel);color:var(--text-primary);border:1px solid var(--border)}.bom-item-form-modal .btn-secondary:hover{background:var(--bg-secondary)}@media (max-width: 600px){.bom-item-form-modal .form-row{grid-template-columns:1fr}.bom-item-form-modal .form-row.three-col{grid-template-columns:1fr 1fr}}.bom-detail-modal{background:var(--panel);border-radius:12px;width:100%;max-width:900px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #0003}.bom-detail-modal.large{max-width:1100px}.bom-detail-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.bom-detail-modal .header-info{display:flex;align-items:center;gap:12px}.bom-detail-modal .header-info h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.bom-detail-modal .bom-no{font-size:13px;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);padding:4px 10px;border-radius:4px}.bom-detail-modal .status-badge{font-size:11px;font-weight:500;padding:4px 10px;border-radius:12px}.bom-detail-modal .status-badge.draft{background:#f1f5f9;color:#64748b}.bom-detail-modal .status-badge.approved{background:#dcfce7;color:#16a34a}.bom-detail-modal .btn-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.bom-detail-modal .btn-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.bom-detail-modal .modal-body{flex:1;overflow-y:auto;padding:20px}.bom-detail-modal .loading-spinner,.bom-detail-modal .error-message{display:flex;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary)}.bom-info-section{margin-bottom:20px}.bom-info-section .info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;background:var(--bg-secondary);padding:16px;border-radius:8px}.bom-info-section .info-item{display:flex;flex-direction:column;gap:4px}.bom-info-section .info-item label{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase}.bom-info-section .info-item span{font-size:14px;font-weight:500;color:var(--text-primary)}.cost-summary-section{margin-bottom:20px}.cost-summary-section h4{display:flex;align-items:center;gap:6px;margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary)}.cost-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cost-card{background:var(--bg-secondary);border-radius:8px;padding:16px;text-align:center}.cost-card .cost-label{display:block;font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;margin-bottom:6px}.cost-card .cost-value{font-size:20px;font-weight:700;font-family:SF Mono,Consolas,monospace}.cost-card.total{background:linear-gradient(135deg,#3b82f6,#2563eb)}.cost-card.total .cost-label,.cost-card.total .cost-value{color:#fff}.cost-card.material .cost-value{color:#16a34a}.cost-card.labor .cost-value{color:#f59e0b}.bom-items-section{border:1px solid var(--border);border-radius:8px;overflow:hidden}.bom-items-section .section-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.bom-items-section .section-header h4{display:flex;align-items:center;gap:6px;margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.bom-items-section .section-actions{display:flex;gap:8px}.bom-tree-header{display:flex;align-items:center;padding:10px 0;background:var(--panel);border-bottom:1px solid var(--border);font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.bom-tree-header .tree-expand{width:32px;padding-left:12px}.bom-tree-header .item-type-icon{width:32px}.bom-tree-header .item-info{flex:1;padding-left:8px}.bom-tree-header .item-qty{width:80px;text-align:right}.bom-tree-header .item-cost{width:100px;text-align:right}.bom-tree-header .item-extended{width:120px;text-align:right}.bom-tree-header .item-actions{width:100px;text-align:center;padding-right:12px}.bom-tree-body{max-height:400px;overflow-y:auto}.bom-tree-body .empty-message{padding:40px 20px;text-align:center;color:var(--text-secondary);font-size:13px}.bom-tree-node{background:var(--panel)}.bom-tree-row{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);transition:background .15s}.bom-tree-row:hover{background:var(--bg-secondary)}.bom-tree-row .tree-expand{width:32px;display:flex;justify-content:center}.bom-tree-row .tree-expand button{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer}.bom-tree-row .tree-expand button:hover{background:var(--bg-secondary);color:var(--text-primary)}.bom-tree-row .tree-spacer{display:inline-block;width:20px}.bom-tree-row .item-type-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;margin-right:8px}.bom-tree-row .item-type-icon.assembly{background:#dbeafe;color:#2563eb}.bom-tree-row .item-type-icon.part{background:#dcfce7;color:#16a34a}.bom-tree-row .item-type-icon.material{background:#fef3c7;color:#d97706}.bom-tree-row .item-type-icon.purchased{background:#f3e8ff;color:#7c3aed}.bom-tree-row .item-info{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.bom-tree-row .item-code{font-size:12px;color:var(--text-secondary);font-family:SF Mono,Consolas,monospace;flex-shrink:0}.bom-tree-row .item-name{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bom-tree-row .item-qty{width:80px;font-size:13px;text-align:right;font-family:SF Mono,Consolas,monospace;color:var(--text-primary)}.bom-tree-row .item-cost{width:100px;font-size:12px;text-align:right;font-family:SF Mono,Consolas,monospace;color:var(--text-secondary)}.bom-tree-row .item-extended{width:120px;font-size:13px;text-align:right;font-weight:500;font-family:SF Mono,Consolas,monospace;color:var(--primary)}.bom-tree-row .item-actions{width:100px;display:flex;justify-content:center;gap:2px;padding-right:12px}.bom-tree-row .btn-icon{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.bom-tree-row .btn-icon:hover{background:var(--bg-secondary);color:var(--primary)}.bom-tree-row .btn-icon.danger:hover{background:#fef2f2;color:#ef4444}.item-type-legend{display:flex;gap:16px;padding:12px 16px;background:var(--bg-secondary);border-top:1px solid var(--border)}.item-type-legend .legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary)}.item-type-legend .legend-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px}.item-type-legend .legend-icon.assembly{background:#dbeafe;color:#2563eb}.item-type-legend .legend-icon.part{background:#dcfce7;color:#16a34a}.item-type-legend .legend-icon.material{background:#fef3c7;color:#d97706}.item-type-legend .legend-icon.purchased{background:#f3e8ff;color:#7c3aed}.bom-detail-modal .btn-primary,.bom-detail-modal .btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.bom-detail-modal .btn-primary{background:var(--primary);color:#fff;border:none}.bom-detail-modal .btn-primary:hover{background:var(--primary-dark, #2563eb)}.bom-detail-modal .btn-secondary{background:var(--panel);color:var(--text-primary);border:1px solid var(--border)}.bom-detail-modal .btn-secondary:hover{background:var(--bg-secondary)}@media (max-width: 900px){.bom-detail-modal{max-width:100%;max-height:100%;border-radius:0}.bom-info-section .info-grid{grid-template-columns:repeat(2,1fr)}.cost-cards{grid-template-columns:1fr}.bom-tree-header,.bom-tree-row{font-size:11px}.bom-tree-row .item-cost,.bom-tree-row .item-extended{display:none}}.design-page{padding:16px 24px;background:var(--bg-secondary);min-height:100%}.design-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.design-header .header-title{display:flex;align-items:center;gap:10px}.design-header .header-title h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.design-header .header-actions{display:flex;gap:8px}.design-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}.design-summary .summary-card{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px}.design-summary .summary-card svg{color:var(--primary)}.design-summary .summary-info{display:flex;flex-direction:column}.design-summary .summary-value{font-size:24px;font-weight:700;color:var(--text-primary)}.design-summary .summary-label{font-size:12px;color:var(--text-secondary)}.design-summary .summary-card.cost .summary-value{font-size:18px;font-family:SF Mono,Consolas,monospace;color:var(--primary)}.design-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.view-tabs{display:flex;gap:0;background:var(--bg-secondary);border-radius:8px;padding:4px}.view-tabs button{display:flex;align-items:center;gap:6px;padding:8px 16px;background:none;border:none;border-radius:6px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.view-tabs button:hover{color:var(--text-primary)}.view-tabs button.active{background:var(--panel);color:var(--primary);box-shadow:0 1px 2px #0000001a}.filters{display:flex;gap:8px}.filters select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--panel);color:var(--text-primary);cursor:pointer}.filters select:focus{outline:none;border-color:var(--primary)}.design-content{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.loading-state{padding:60px 20px;text-align:center;color:var(--text-secondary)}.design-table{width:100%;border-collapse:collapse}.design-table th,.design-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border);font-size:13px}.design-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-secondary);font-size:12px}.design-table tbody tr:hover{background:var(--bg-secondary)}.design-table tbody tr:last-child td{border-bottom:none}.design-table .doc-no,.design-table .bom-no{font-family:SF Mono,Consolas,monospace;font-size:12px;color:var(--text-secondary)}.design-table .doc-title,.design-table .bom-title{max-width:300px}.design-table .doc-title span,.design-table .bom-title span{display:block}.design-table .file-name,.design-table .product-name{font-size:11px;color:var(--text-secondary);margin-top:2px}.design-table .version{font-family:SF Mono,Consolas,monospace;font-size:12px;color:var(--text-secondary)}.design-table .item-count{text-align:center}.design-table .total-cost{font-family:SF Mono,Consolas,monospace;font-weight:500;color:var(--primary)}.type-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;color:#fff}.type-badge.bom-type{background:#6366f1}.action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.action-btn:hover{background:var(--bg-secondary);color:var(--primary)}.action-btn.delete:hover{background:#fef2f2;color:#ef4444}.design-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:20px}.design-tabs .tab-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.design-tabs .tab-btn:hover{color:var(--primary);background:var(--bg-secondary)}.design-tabs .tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.design-tabs .tab-btn svg{opacity:.7}.design-tabs .tab-btn.active svg{opacity:1}.summary-section{margin-bottom:20px}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.summary-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px;text-align:center}.summary-card .card-value{font-size:28px;font-weight:700;color:var(--primary);line-height:1.2}.summary-card .card-label{font-size:12px;color:var(--text-secondary);margin-top:4px}.summary-card.total .card-value{color:var(--primary)}.summary-card.draft .card-value{color:var(--text-secondary)}.summary-card.review .card-value{color:#f59e0b}.summary-card.approved .card-value{color:#3b82f6}.summary-card.released .card-value{color:#10b981}.filter-section{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}.filter-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{font-size:12px;color:var(--text-secondary);font-weight:500}.filter-group input,.filter-group select{height:36px;padding:0 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--panel);color:var(--text-primary)}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #3b82f61a}.data-section{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.data-table th,.data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border);font-size:13px}.data-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.data-table tbody tr:hover{background:var(--bg-secondary)}.data-table tbody tr:last-child td{border-bottom:none}.doc-type-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500}.doc-type-badge.spec{background:#dbeafe;color:#1d4ed8}.doc-type-badge.drawing{background:#fef3c7;color:#d97706}.doc-type-badge.model{background:#f3e8ff;color:#7c3aed}.doc-type-badge.analysis{background:#dcfce7;color:#16a34a}.doc-type-badge.other{background:#f1f5f9;color:#64748b}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500}.status-badge.draft{background:#f1f5f9;color:#64748b}.status-badge.approved{background:#dbeafe;color:#1d4ed8}.status-badge.released{background:#dcfce7;color:#16a34a}.bom-type-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600}.bom-type-badge.ebom{background:#dbeafe;color:#1d4ed8}.bom-type-badge.mbom{background:#dcfce7;color:#16a34a}.bom-type-badge.prototype{background:#fef3c7;color:#d97706}.version-tag{display:inline-block;padding:2px 6px;background:var(--bg-secondary);border-radius:4px;font-size:11px;font-weight:500;color:var(--text-secondary)}.action-buttons{display:flex;gap:4px}.btn-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s}.btn-icon:hover{background:var(--bg-secondary);color:var(--primary)}.btn-icon.danger:hover{background:#fef2f2;color:#ef4444}.empty-state{padding:60px 20px;text-align:center;color:var(--text-secondary)}.empty-state svg{opacity:.3;margin-bottom:16px}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary)}.btn-primary{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary:hover{background:var(--primary-dark, #2563eb)}.btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--panel);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--text-secondary)}.cost-value{font-family:SF Mono,Consolas,monospace;font-size:12px;color:var(--text-primary)}.cost-value.total{font-weight:600;color:var(--primary)}@media (max-width: 768px){.design-page{padding:12px 16px}.summary-cards{grid-template-columns:repeat(2,1fr)}.filter-row{flex-direction:column;align-items:stretch}.filter-group{width:100%}.data-table{display:block;overflow-x:auto}}.dvp-page{padding:20px;background:var(--bg-secondary);min-height:100%}.dvp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dvp-header h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.dvp-header-actions{display:flex;gap:8px}.dvp-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.summary-card-icon.samples{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.summary-card-icon.dvp{background:linear-gradient(135deg,#3b82f6,#06b6d4)}.summary-card-icon.pass{background:linear-gradient(135deg,#22c55e,#16a34a)}.summary-card-icon.fail{background:linear-gradient(135deg,#ef4444,#dc2626)}.dvp-toolbar{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:12px 16px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.view-tabs{display:flex;gap:4px;background:var(--bg-secondary);padding:4px;border-radius:6px}.view-tab{padding:6px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;border-radius:4px;transition:all .2s}.view-tab:hover{color:var(--text-primary);background:var(--panel)}.view-tab.active{background:var(--primary);color:#fff}.dvp-content{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.content-actions{display:flex;gap:8px}.dvp-table{width:100%;border-collapse:collapse}.dvp-table th,.dvp-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);font-size:13px}.dvp-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-secondary);white-space:nowrap}.dvp-table td{color:var(--text-primary)}.dvp-table tbody tr:hover{background:var(--bg-secondary)}.dvp-table tbody tr:last-child td{border-bottom:none}.type-badge,.status-badge,.category-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500}.status-badge{background:#6b72801a;color:#6b7280}.status-badge.requested,.status-badge.planned{background:#f59e0b1a;color:#f59e0b}.status-badge.in_progress{background:#3b82f61a;color:#3b82f6}.status-badge.completed,.status-badge.pass{background:#22c55e1a;color:#22c55e}.status-badge.failed,.status-badge.fail{background:#ef44441a;color:#ef4444}.status-badge.conditional{background:#f59e0b1a;color:#f59e0b}.status-badge.cancelled{background:#9ca3af1a;color:#9ca3af}.status-badge.approved,.status-badge.draft{background:#8b5cf61a;color:#8b5cf6}.category-badge.functional{background:#3b82f61a;color:#3b82f6}.category-badge.performance{background:#22c55e1a;color:#22c55e}.category-badge.durability{background:#f59e0b1a;color:#f59e0b}.category-badge.safety{background:#ef44441a;color:#ef4444}.category-badge.regulatory{background:#8b5cf61a;color:#8b5cf6}.category-badge.environmental{background:#06b6d41a;color:#06b6d4}.progress-bar{width:100%;height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:3px;transition:width .3s}.progress-bar-fill.pass{background:#22c55e}.progress-bar-fill.fail{background:#ef4444}.progress-bar-fill.in-progress{background:#3b82f6}.date-range{display:flex;flex-direction:column;gap:2px}.date-range .plan{color:var(--text-secondary);font-size:12px}.date-range .actual{color:var(--text-primary);font-size:12px;font-weight:500}.quantity{font-weight:600;color:var(--text-primary)}@media (max-width: 1200px){.dvp-summary{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.dvp-summary{grid-template-columns:1fr}.dvp-toolbar{flex-direction:column;gap:12px}.toolbar-filters{width:100%;flex-wrap:wrap}}.ecr-page{padding:20px;background:var(--bg-secondary);min-height:100%}.ecr-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.ecr-header h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.ecr-header-actions{display:flex;gap:8px}.ecr-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.summary-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px}.summary-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.summary-card-title{font-size:13px;color:var(--text-secondary);margin:0}.summary-card-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff}.summary-card-icon.total{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.summary-card-icon.pending{background:linear-gradient(135deg,#f59e0b,#d97706)}.summary-card-icon.approved{background:linear-gradient(135deg,#22c55e,#16a34a)}.summary-card-icon.urgent{background:linear-gradient(135deg,#ef4444,#dc2626)}.summary-card-value{font-size:28px;font-weight:700;color:var(--text-primary);line-height:1.2}.summary-card-detail{font-size:12px;color:var(--text-secondary);margin-top:4px}.ecr-toolbar{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:12px 16px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.toolbar-filters{display:flex;gap:12px;align-items:center}.filter-group{display:flex;align-items:center;gap:6px}.filter-group label{font-size:12px;color:var(--text-secondary)}.filter-group select{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);font-size:13px;min-width:120px}.ecr-content{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.content-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}.content-header h3{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.ecr-table{width:100%;border-collapse:collapse}.ecr-table th,.ecr-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);font-size:13px}.ecr-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-secondary);white-space:nowrap}.ecr-table td{color:var(--text-primary)}.ecr-table tbody tr:hover{background:var(--bg-secondary)}.ecr-table tbody tr:last-child td{border-bottom:none}.type-badge,.status-badge,.urgency-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500}.type-badge{background:#6366f11a;color:#6366f1}.type-badge.design{background:#3b82f61a;color:#3b82f6}.type-badge.spec{background:#8b5cf61a;color:#8b5cf6}.type-badge.material{background:#f59e0b1a;color:#f59e0b}.type-badge.process{background:#22c55e1a;color:#22c55e}.status-badge,.status-badge.draft{background:#6b72801a;color:#6b7280}.status-badge.submitted{background:#f59e0b1a;color:#f59e0b}.status-badge.approved{background:#22c55e1a;color:#22c55e}.status-badge.closed{background:#8b5cf61a;color:#8b5cf6}.urgency-badge.urgent{background:#ef44441a;color:#ef4444}.urgency-badge.normal{background:#6b72801a;color:#6b7280}.action-btns{display:flex;gap:4px}.action-btn{padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:var(--panel);color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .2s}.action-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.action-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.action-btn.primary:hover{opacity:.9}.action-btn.danger{color:#ef4444}.action-btn.danger:hover{background:#ef44441a;border-color:#ef4444}.action-btn.success{color:#22c55e}.action-btn.success:hover{background:#22c55e1a;border-color:#22c55e}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state-icon{width:48px;height:48px;margin:0 auto 12px;opacity:.3}.empty-state p{margin:0 0 16px;font-size:14px}.link-text{color:var(--primary);cursor:pointer;text-decoration:none}.link-text:hover{text-decoration:underline}.workflow-stepper{display:flex;align-items:center;gap:8px;padding:16px;background:var(--bg-secondary);border-radius:8px;margin-bottom:20px}.workflow-step{display:flex;align-items:center;gap:8px}.step-marker{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;background:var(--border);color:var(--text-secondary)}.step-marker.active{background:var(--primary);color:#fff}.step-marker.completed{background:#22c55e;color:#fff}.step-marker.rejected{background:#ef4444;color:#fff}.step-label{font-size:12px;color:var(--text-secondary)}.step-label.active{color:var(--primary);font-weight:600}.step-connector{flex:1;height:2px;background:var(--border);min-width:20px}.step-connector.completed{background:#22c55e}@media (max-width: 1200px){.ecr-summary{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.ecr-summary{grid-template-columns:1fr}.ecr-toolbar{flex-direction:column;gap:12px}.toolbar-filters{width:100%;flex-wrap:wrap}}.tab-help-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;margin-left:4px;background:transparent;border:none;border-radius:50%;color:var(--text-secondary, #94a3b8);cursor:pointer;opacity:0;transition:all .2s;vertical-align:middle}.npd-tab:hover .tab-help-icon,.npd-tab.active .tab-help-icon{opacity:.7}.tab-help-icon:hover{opacity:1!important;color:var(--primary, #3b82f6);background:var(--bg-secondary, #f1f5f9)}.tab-help-icon.recommended{color:var(--primary, #3b82f6);opacity:.8}.tab-help-tooltip{position:fixed;z-index:200;width:320px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:10px;box-shadow:0 8px 30px #0000001f;padding:14px;animation:tooltip-in .15s ease-out}@keyframes tooltip-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tab-help-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.tab-help-emoji{font-size:1.25rem}.tab-help-name{font-size:.9375rem;font-weight:600;color:var(--text-primary, #1e293b);margin:0;flex:1}.tab-help-recommended{font-size:.625rem;font-weight:600;padding:2px 6px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:4px;text-transform:uppercase}.tab-help-description{font-size:.8125rem;color:var(--text-secondary, #64748b);line-height:1.5;margin:0 0 12px}.tab-help-section{margin-bottom:12px}.tab-help-section:last-child{margin-bottom:0}.tab-help-section h5{font-size:.75rem;font-weight:600;color:var(--text-primary, #334155);margin:0 0 6px}.tab-help-features{margin:0;padding:0 0 0 16px;font-size:.75rem;color:var(--text-primary, #475569);line-height:1.5}.tab-help-features li{margin-bottom:2px}.tab-help-features li:last-child{margin-bottom:0}.tab-help-gates{display:flex;flex-wrap:wrap;gap:6px}.tab-help-gate-badge{display:inline-block;padding:3px 8px;background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b);font-size:.6875rem;font-weight:600;border-radius:4px}.tab-help-gate-badge.current{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.tab-help-detail-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:8px;margin-top:12px;background:var(--bg-secondary, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:.75rem;font-weight:500;color:var(--text-primary, #334155);cursor:pointer;transition:all .2s}.tab-help-detail-btn:hover{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}@media (prefers-color-scheme: dark){.tab-help-tooltip{background:var(--panel, #1e293b);border-color:var(--border, #334155);box-shadow:0 8px 30px #0006}}@media (max-width: 480px){.tab-help-tooltip{width:calc(100vw - 24px);left:12px!important}}.npd-process-map-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.npd-process-map-modal{background:var(--panel, #ffffff);border-radius:16px;box-shadow:0 20px 60px #0003;max-width:900px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.process-map-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border, #e2e8f0);background:var(--panel, #ffffff);flex-shrink:0}.process-map-header h2{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary, #1e293b)}.process-map-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:8px;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s}.process-map-close:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #1e293b)}.process-map-fixed{display:flex;flex-direction:column;gap:12px;padding:16px 20px;flex-shrink:0;background:var(--panel, #ffffff)}.npd-process-map{display:flex;flex-direction:column;gap:20px;padding:0 20px 20px;overflow-y:auto;flex:1}.process-map-timeline{display:flex;align-items:center;justify-content:center;gap:0;flex-shrink:0;padding:12px 16px;background:var(--bg-secondary, #f8fafc);border-radius:10px;overflow-x:auto}.process-map-gate{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;cursor:pointer;border-radius:12px;transition:all .2s;min-width:80px}.process-map-gate:hover{background:var(--panel, #ffffff);box-shadow:0 2px 8px #00000014}.process-map-gate.selected{background:var(--panel, #ffffff);box-shadow:0 4px 16px #3b82f633;transform:translateY(-2px)}.gate-node{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px}.gate-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s}.gate-icon svg{width:18px;height:18px}.process-map-gate.completed .gate-icon{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 2px 8px #22c55e4d}.process-map-gate.current .gate-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 12px #3b82f666;animation:pulse 2s infinite}.process-map-gate.upcoming .gate-icon{background:var(--panel, #ffffff);color:var(--text-secondary, #94a3b8);border:2px dashed var(--border, #e2e8f0)}@keyframes pulse{0%,to{box-shadow:0 2px 12px #3b82f666}50%{box-shadow:0 2px 20px #3b82f699}}.gate-code{font-size:.75rem;font-weight:700;color:var(--text-primary, #1e293b)}.process-map-gate.upcoming .gate-code{color:var(--text-secondary, #94a3b8)}.gate-name{font-size:.6875rem;color:var(--text-secondary, #64748b);text-align:center;white-space:nowrap;max-width:100px;overflow:hidden;text-overflow:ellipsis}.process-map-connector{display:flex;align-items:center;color:var(--border, #e2e8f0);padding:0 4px}.process-map-connector.completed{color:#22c55e}.process-map-position{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;background:#dbeafe;color:#1d4ed8;border-radius:6px;font-size:.8125rem}.process-map-position strong{font-weight:600}.process-map-detail{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:20px;animation:detail-in .2s ease-out}@keyframes detail-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.detail-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.detail-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:6px;font-size:.75rem;font-weight:700}.detail-badge.completed{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.detail-badge.current{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.detail-badge.upcoming{background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b)}.detail-header h3{font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b);margin:0}.detail-objective{font-size:.875rem;color:var(--text-secondary, #64748b);line-height:1.5;margin:0 0 16px;padding-bottom:16px;border-bottom:1px solid var(--border, #e2e8f0)}.detail-sections{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-section{background:var(--bg-secondary, #f8fafc);border-radius:8px;padding:12px}.detail-section:last-child{grid-column:1 / -1}.detail-section h4{font-size:.8125rem;font-weight:600;color:var(--text-primary, #334155);margin:0 0 8px}.detail-section ul{margin:0;padding:0 0 0 16px;font-size:.8125rem;color:var(--text-primary, #475569);line-height:1.5}.detail-section ul li{margin-bottom:4px}.detail-tags{display:flex;flex-wrap:wrap;gap:6px}.detail-tag{display:inline-block;padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:500}.detail-tag.deliverable{background:#dbeafe;color:#1d4ed8}.detail-tabs{display:flex;flex-wrap:wrap;gap:8px}.detail-tab-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;font-size:.8125rem;font-weight:500;color:var(--text-primary, #334155);cursor:pointer;transition:all .2s}.detail-tab-btn:hover{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #3b82f64d}.detail-tab-btn .tab-icon{font-size:1rem}.process-map-instructions{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;background:var(--bg-secondary, #f8fafc);border-radius:12px;text-align:center}.instructions-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#dbeafe;color:#3b82f6;border-radius:50%;margin-bottom:16px}.process-map-instructions h4{font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b);margin:0 0 8px}.process-map-instructions p{font-size:.875rem;color:var(--text-secondary, #64748b);line-height:1.5;margin:0}.process-map-legend{display:flex;justify-content:center;gap:24px;padding-top:16px;border-top:1px solid var(--border, #e2e8f0)}.legend-item{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text-secondary, #64748b)}.legend-item.completed svg{color:#22c55e}.legend-item.current svg{color:#3b82f6}.legend-item.upcoming svg{color:#94a3b8}@media (max-width: 768px){.process-map-timeline{padding:16px 8px}.process-map-gate{min-width:60px;padding:8px}.gate-icon{width:36px;height:36px}.gate-icon svg{width:16px;height:16px}.gate-code{font-size:.6875rem}.gate-name{font-size:.5625rem;max-width:70px}.detail-sections{grid-template-columns:1fr}.process-map-legend{flex-wrap:wrap;gap:12px}}@media (prefers-color-scheme: dark){.process-map-position{background:#3b82f626;color:#93c5fd}.detail-tag.deliverable{background:#3b82f633;color:#93c5fd}}.npd-detail-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-secondary, #f8fafc)}.npd-loading-center,.npd-error-center{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:var(--text-secondary, #64748b)}.npd-error-center svg{color:#dc2626}.npd-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.npd-detail-title{display:flex;align-items:center;gap:12px}.npd-detail-title h1{margin:0;font-size:1.375rem;font-weight:600;color:var(--text-primary, #1e293b)}.npd-title-info{display:flex;align-items:center;gap:12px}.npd-detail-actions{display:flex;gap:8px}.npd-gate-progress-section{margin-bottom:16px}.npd-detail-tabs{display:flex;gap:4px;background:var(--bg-secondary, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:8px 8px 0 0;padding:8px 8px 0;border-bottom:1px solid var(--border, #e2e8f0)}.npd-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;border:1px solid var(--border, #e2e8f0);border-bottom:none;background:var(--panel, #ffffff);color:var(--text-secondary, #64748b);font-size:.875rem;font-weight:500;cursor:pointer;border-radius:6px 6px 0 0;transition:all .2s;position:relative}.npd-tab:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #1e293b);border-color:var(--border, #e2e8f0)}.npd-tab.active{background:var(--panel, #ffffff);color:var(--primary, #3b82f6);margin-bottom:-1px;padding-bottom:11px;border:1px solid var(--border, #e2e8f0);border-bottom:none}.npd-tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--primary, #3b82f6);border-radius:3px 3px 0 0}.npd-tab-overview{border-top:2px solid transparent}.npd-tab-overview:hover,.npd-tab-overview.active{border-top-color:#3b82f6}.npd-tab-overview.active{color:#3b82f6}.npd-tab-overview.active:after{background:#3b82f6}.npd-tab-planning{border-top:2px solid transparent}.npd-tab-planning:hover,.npd-tab-planning.active{border-top-color:#8b5cf6}.npd-tab-planning.active{color:#8b5cf6}.npd-tab-planning.active:after{background:#8b5cf6}.npd-tab-development{border-top:2px solid transparent}.npd-tab-development:hover,.npd-tab-development.active{border-top-color:#10b981}.npd-tab-development.active{color:#10b981}.npd-tab-development.active:after{background:#10b981}.npd-tab-management{border-top:2px solid transparent}.npd-tab-management:hover,.npd-tab-management.active{border-top-color:#f59e0b}.npd-tab-management.active{color:#f59e0b}.npd-tab-management.active:after{background:#f59e0b}.npd-detail-content{flex:1;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-top:none;border-radius:0 0 8px 8px;padding:20px;overflow-y:auto}.npd-info-tab{display:flex;flex-direction:column;gap:20px}.npd-info-section{padding-bottom:20px;border-bottom:1px solid var(--border, #e2e8f0)}.npd-info-section:last-child{padding-bottom:0;border-bottom:none}.npd-info-section h3{margin:0 0 12px;font-size:.9375rem;font-weight:600;color:var(--text-primary, #1e293b)}.npd-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.npd-info-item{display:flex;flex-direction:column;gap:4px}.npd-info-item label{font-size:.75rem;font-weight:500;color:var(--text-secondary, #64748b)}.npd-info-item span{font-size:.875rem;color:var(--text-primary, #1e293b)}.npd-progress-inline{display:flex;align-items:center;gap:8px}.npd-progress-inline .npd-progress-bar{flex:1;height:8px;background:var(--bg-secondary, #e2e8f0);border-radius:4px;overflow:hidden}.npd-progress-inline .npd-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#22c55e);border-radius:4px}.npd-progress-inline span{font-size:.875rem;font-weight:600;min-width:40px}.npd-remarks{margin:0;padding:12px;background:var(--bg-secondary, #f8fafc);border-radius:6px;font-size:.875rem;color:var(--text-primary, #1e293b);line-height:1.6}.npd-gate-tab .npd-tab-header,.npd-history-tab .npd-tab-header{margin-bottom:16px}.npd-gate-tab .npd-tab-header h3,.npd-history-tab .npd-tab-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b)}.npd-gate-review-list .npd-table{width:100%;border-collapse:collapse}.npd-gate-review-list .npd-table th{padding:12px 8px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0)}.npd-gate-review-list .npd-table td{padding:10px 8px;font-size:.8125rem;border-bottom:1px solid var(--border, #e2e8f0)}.text-green{color:#22c55e}.text-red{color:#dc2626}.npd-timeline{position:relative;padding-left:24px}.npd-timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--border, #e2e8f0)}.npd-timeline-item{position:relative;padding-bottom:20px}.npd-timeline-item:last-child{padding-bottom:0}.npd-timeline-dot{position:absolute;left:-20px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--primary, #3b82f6);border:2px solid var(--panel, #ffffff)}.npd-timeline-content{padding:12px 16px;background:var(--bg-secondary, #f8fafc);border-radius:8px}.npd-timeline-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.npd-timeline-from{padding:2px 8px;background:var(--border, #e2e8f0);border-radius:4px;font-size:.75rem;color:var(--text-secondary, #64748b)}.npd-timeline-arrow{color:var(--text-secondary, #94a3b8)}.npd-timeline-to{padding:2px 8px;background:var(--primary, #3b82f6);color:#fff;border-radius:4px;font-size:.75rem;font-weight:500}.npd-timeline-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.75rem;color:var(--text-secondary, #64748b)}.npd-duration{padding:2px 6px;background:#fef3c7;color:#b45309;border-radius:4px;font-weight:500}.npd-timeline-remarks{margin:8px 0 0;font-size:.8125rem;color:var(--text-primary, #1e293b)}.npd-empty-state{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary, #64748b);font-size:.875rem}.npd-detail-page .npd-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:.875rem;cursor:pointer;transition:all .2s}.npd-detail-page .npd-btn:hover{background:var(--bg-secondary, #f1f5f9)}.npd-detail-page .npd-btn-primary{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}.npd-detail-page .npd-btn-primary:hover{background:#2563eb}.npd-detail-page .npd-btn-icon{padding:8px}.npd-detail-page .npd-btn-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);color:var(--text-secondary, #64748b);cursor:pointer}.npd-detail-page .npd-btn-back:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #1e293b)}.npd-detail-page .npd-status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:500;color:#fff}.npd-detail-page .npd-project-no{padding:4px 10px;background:var(--bg-secondary, #f1f5f9);border-radius:4px;font-size:.8125rem;font-weight:500;color:var(--text-secondary, #64748b)}.npd-detail-page .npd-risk-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.npd-detail-page .npd-risk-badge.risk-green{background:#dcfce7;color:#15803d}.npd-detail-page .npd-risk-badge.risk-orange{background:#fed7aa;color:#c2410c}.npd-detail-page .npd-risk-badge.risk-red{background:#fecaca;color:#dc2626}.npd-bmc-tab{padding:0}.npd-bmc-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--border, #e2e8f0)}.npd-bmc-header-left{display:flex;align-items:center;gap:20px}.npd-bmc-header-left h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b)}.bmc-mini-preview{display:flex;flex-direction:column;gap:2px;padding:8px 12px;background:var(--bg-secondary, #f8fafc);border-radius:6px}.bmc-mini-row{display:flex;gap:2px}.bmc-mini-block{padding:2px 6px;font-size:.625rem;font-weight:600;border-radius:2px;color:#fff}.bmc-mini-block.kp{background:#3b82f6}.bmc-mini-block.ka{background:#8b5cf6}.bmc-mini-block.vp{background:#22c55e}.bmc-mini-block.cr{background:#f59e0b}.bmc-mini-block.cs{background:#ec4899}.bmc-mini-block.kr{background:#6366f1}.bmc-mini-block.ch{background:#14b8a6}.bmc-mini-block.cost{background:#ef4444}.bmc-mini-block.rs{background:#84cc16}.npd-bmc-content{min-height:200px}.bmc-gate-timeline{padding:24px 0;margin-bottom:24px;border-bottom:1px solid var(--border, #e2e8f0)}.timeline-track{display:flex;justify-content:space-between;position:relative;padding:0 12px}.timeline-track:before{content:"";position:absolute;top:12px;left:32px;right:32px;height:2px;background:var(--border, #e2e8f0)}.timeline-node{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;z-index:1}.node-marker{width:24px;height:24px;border-radius:50%;background:var(--panel, #ffffff);border:2px solid var(--border, #e2e8f0);display:flex;align-items:center;justify-content:center;font-size:.5625rem;font-weight:700;color:var(--text-secondary, #64748b);transition:all .2s}.timeline-node.has-bmc .node-marker{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}.timeline-node.active .node-marker{box-shadow:0 0 0 4px #3b82f633;transform:scale(1.1)}.node-label{font-size:.75rem;font-weight:500;color:var(--text-secondary, #64748b)}.timeline-node.has-bmc .node-label{color:var(--primary, #3b82f6);font-weight:600}.node-action{font-size:.6875rem;padding:2px 10px;border:1px solid var(--primary, #3b82f6);color:var(--primary, #3b82f6);background:transparent;border-radius:4px;cursor:pointer;transition:all .15s}.node-action:hover{background:var(--primary, #3b82f6);color:#fff}.bmc-current-card{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:24px}.bmc-current-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.bmc-current-card .card-header h4{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary, #1e293b)}.bmc-current-card .card-meta{display:flex;align-items:center;gap:16px;font-size:.8125rem;color:var(--text-secondary, #64748b);margin-bottom:16px}.bmc-current-card .card-progress{height:8px;background:var(--border, #e2e8f0);border-radius:4px;overflow:hidden;margin-bottom:16px}.bmc-current-card .card-progress .progress-bar{height:100%;background:linear-gradient(90deg,#3b82f6,#22c55e);border-radius:4px;transition:width .3s ease}.bmc-current-card .card-validation{display:flex;gap:24px;font-size:.8125rem;color:var(--text-secondary, #64748b)}.bmc-current-card .card-validation span{display:flex;align-items:center;gap:6px}.bmc-current-card .card-validation span:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--text-secondary)}.bmc-current-card .card-validation span:nth-child(1):before{background:#f59e0b}.bmc-current-card .card-validation span:nth-child(2):before{background:#3b82f6}.bmc-current-card .card-validation span:nth-child(3):before{background:#22c55e}.bmc-current-card .card-validation span:nth-child(4):before{background:#ef4444}.bmc-empty-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;background:var(--bg-secondary, #f8fafc);border:2px dashed var(--border, #e2e8f0);border-radius:12px;gap:16px}.bmc-empty-card svg{color:var(--border, #cbd5e1)}.bmc-empty-card p{margin:0;color:var(--text-secondary, #64748b);font-size:.9375rem}.npd-bmc-list{min-height:200px}.npd-loading-inline{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary, #64748b)}.bmc-inline-table{width:100%;border-collapse:collapse}.bmc-inline-table th{padding:12px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0)}.bmc-inline-table td{padding:12px;font-size:.8125rem;border-bottom:1px solid var(--border, #e2e8f0);vertical-align:middle}.bmc-inline-table tbody tr{transition:background .15s;cursor:pointer}.bmc-inline-table tbody tr:hover{background:var(--bg-secondary, #f8fafc)}.bmc-title-cell{display:flex;flex-direction:column;gap:2px}.bmc-title-cell strong{font-weight:500;color:var(--text-primary, #1e293b)}.bmc-title-cell .bmc-description{font-size:.75rem;color:var(--text-secondary, #94a3b8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.bmc-status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.6875rem;font-weight:500;color:#fff}.bmc-progress-mini{display:flex;align-items:center;gap:8px;width:80px;height:6px;background:var(--border, #e2e8f0);border-radius:3px;overflow:hidden;position:relative}.bmc-progress-mini .bmc-progress-fill{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,#3b82f6,#22c55e);border-radius:3px}.bmc-progress-mini span{position:absolute;right:-36px;font-size:.6875rem;font-weight:500;color:var(--text-secondary, #64748b)}.npd-bmc-tab .npd-empty-state{flex-direction:column;gap:16px;padding:60px 40px}.npd-bmc-tab .npd-empty-state svg{color:var(--border, #cbd5e1)}.npd-bmc-tab .npd-empty-state p{margin:0;color:var(--text-secondary, #64748b)}.npd-btn-outline{background:transparent;border:1px solid var(--primary, #3b82f6);color:var(--primary, #3b82f6)}.npd-btn-outline:hover{background:var(--primary, #3b82f6);color:#fff}.npd-bmc-intro{padding:24px}.npd-bmc-intro p{color:var(--text-secondary, #64748b);line-height:1.6;margin:0 0 20px}.npd-bmc-blocks-preview{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}@media (max-width: 768px){.npd-bmc-header{flex-direction:column;align-items:stretch}.npd-bmc-header-left{flex-direction:column;align-items:flex-start}.bmc-mini-preview{align-self:flex-start}.npd-bmc-blocks-preview{grid-template-columns:repeat(3,1fr)}.bmc-inline-table th:nth-child(4),.bmc-inline-table td:nth-child(4),.bmc-inline-table th:nth-child(5),.bmc-inline-table td:nth-child(5){display:none}.bmc-gate-timeline{padding:16px 0;overflow-x:auto}.timeline-track{min-width:400px;padding:0 8px}.node-marker{width:20px;height:20px;font-size:.5rem}.node-label{font-size:.6875rem}.node-action{font-size:.625rem;padding:2px 6px}.bmc-current-card{padding:16px}.bmc-current-card .card-header{flex-direction:column;align-items:flex-start;gap:12px}.bmc-current-card .card-header h4{font-size:1rem}.bmc-current-card .card-meta{flex-wrap:wrap;gap:8px}.bmc-current-card .card-validation{flex-wrap:wrap;gap:12px}}.npd-analysis-tab,.npd-qfd-tab,.npd-fmea-tab,.npd-kpi-tab{padding:0}.npd-analysis-tab .npd-tab-header,.npd-qfd-tab .npd-tab-header,.npd-fmea-tab .npd-tab-header,.npd-kpi-tab .npd-tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.npd-analysis-tab .npd-tab-header h3,.npd-qfd-tab .npd-tab-header h3,.npd-fmea-tab .npd-tab-header h3,.npd-kpi-tab .npd-tab-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b)}.npd-analysis-intro,.npd-qfd-intro,.npd-fmea-intro,.npd-kpi-intro{padding:0}.npd-analysis-intro p,.npd-qfd-intro p,.npd-fmea-intro p,.npd-kpi-intro p{color:var(--text-secondary, #64748b);line-height:1.6;margin:0 0 20px}.npd-analysis-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.analysis-type-card{padding:24px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:8px;text-align:center;transition:all .2s}.analysis-type-card:hover{border-color:var(--primary, #3b82f6);box-shadow:0 2px 8px #3b82f61a}.analysis-type-card svg{color:var(--primary, #3b82f6);margin-bottom:12px}.analysis-type-card h4{margin:0 0 8px;font-size:.9375rem;font-weight:600;color:var(--text-primary, #1e293b)}.analysis-type-card p{margin:0;font-size:.8125rem;color:var(--text-secondary, #64748b)}.npd-qfd-preview{display:grid;grid-template-columns:100px 1fr 100px;grid-template-rows:auto auto auto;gap:8px;max-width:500px}.qfd-block{padding:12px 8px;background:var(--bg-secondary, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:6px;text-align:center;font-size:.75rem;color:var(--text-secondary, #64748b)}.qfd-block.roof{grid-column:2;grid-row:1;background:#fef3c7;border-color:#fbbf24;color:#b45309}.qfd-block.how{grid-column:2;grid-row:2;background:#dbeafe;border-color:#3b82f6;color:#1d4ed8}.qfd-block.what{grid-column:1;grid-row:3;background:#dcfce7;border-color:#22c55e;color:#15803d}.qfd-block.matrix{grid-column:2;grid-row:3;background:#fff}.qfd-block.importance{grid-column:3;grid-row:3;background:#f3e8ff;border-color:#a855f7;color:#7c3aed}.qfd-block.target{grid-column:2;grid-row:4;background:#fee2e2;border-color:#ef4444;color:#dc2626}.npd-fmea-sod{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.sod-item{padding:16px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:8px;text-align:center}.sod-item h4{margin:0 0 8px;font-size:1.25rem;font-weight:700;color:var(--primary, #3b82f6)}.sod-item p{margin:0;font-size:.8125rem;color:var(--text-secondary, #64748b)}.sod-item.rpn{background:#dbeafe;border-color:#3b82f6}.sod-item.rpn h4{color:#1d4ed8}.npd-fmea-threshold{display:flex;flex-wrap:wrap;gap:12px}.npd-fmea-threshold .threshold{padding:6px 12px;border-radius:4px;font-size:.8125rem;font-weight:500}.npd-fmea-threshold .threshold.high{background:#fecaca;color:#dc2626}.npd-fmea-threshold .threshold.medium{background:#fed7aa;color:#c2410c}.npd-fmea-threshold .threshold.low{background:#dcfce7;color:#15803d}.npd-kpi-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.kpi-category-card{padding:16px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:8px;text-align:center;transition:all .2s}.kpi-category-card:hover{border-color:var(--primary, #3b82f6)}.kpi-category-card h4{margin:0 0 6px;font-size:.875rem;font-weight:600;color:var(--text-primary, #1e293b)}.kpi-category-card p{margin:0;font-size:.75rem;color:var(--text-secondary, #64748b)}.npd-requirement-tab,.npd-wbs-tab,.npd-design-tab,.npd-dvp-tab,.npd-ecr-tab{padding:0;height:100%;overflow:auto}@media (max-width: 768px){.npd-fmea-sod{grid-template-columns:repeat(2,1fr)}.npd-qfd-preview{grid-template-columns:1fr;max-width:100%}.qfd-block{grid-column:1!important;grid-row:auto!important}}.npd-dashboard{padding:16px;background:var(--bg-secondary, #f8fafc);min-height:100%}.npd-dashboard-loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary, #64748b)}.npd-dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.npd-dashboard-title{display:flex;align-items:center;gap:16px}.npd-dashboard-title svg{color:var(--primary, #3b82f6)}.npd-dashboard-title h1{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary, #1e293b)}.npd-dashboard-title p{margin:4px 0 0;font-size:.875rem;color:var(--text-secondary, #64748b)}.npd-dashboard-actions{display:flex;gap:8px}.npd-stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}@media (max-width: 1024px){.npd-stat-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.npd-stat-cards{grid-template-columns:1fr}}.npd-stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--panel, #ffffff);border-radius:12px;border:1px solid var(--border, #e2e8f0);cursor:pointer;transition:all .2s}.npd-stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #00000014}.npd-stat-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center}.npd-stat-card.primary .npd-stat-icon{background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#3b82f6}.npd-stat-card.success .npd-stat-icon{background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#22c55e}.npd-stat-card.warning .npd-stat-icon{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#f59e0b}.npd-stat-card.info .npd-stat-icon{background:linear-gradient(135deg,#f5f3ff,#ede9fe);color:#8b5cf6}.npd-stat-content{display:flex;flex-direction:column}.npd-stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary, #1e293b);line-height:1}.npd-stat-label{font-size:.875rem;color:var(--text-secondary, #64748b);margin-top:4px}.npd-pipeline-section{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:24px;margin-bottom:24px}.npd-pipeline-section h2{margin:0 0 20px;font-size:1.125rem;font-weight:600;color:var(--text-primary, #1e293b)}.npd-pipeline{display:flex;align-items:center;justify-content:space-between;overflow-x:auto;padding-bottom:8px}.npd-pipeline-stage{display:flex;flex-direction:column;align-items:center;padding:16px 24px;background:var(--bg-secondary, #f8fafc);border-radius:12px;cursor:pointer;transition:all .2s;min-width:100px}.npd-pipeline-stage:hover{background:var(--bg-secondary, #eff6ff);transform:scale(1.05)}.npd-pipeline-count{font-size:2rem;font-weight:700;color:var(--primary, #3b82f6)}.npd-pipeline-label{font-size:.875rem;font-weight:600;color:var(--text-primary, #1e293b);margin-top:4px}.npd-pipeline-name{font-size:.75rem;color:var(--text-secondary, #64748b);margin-top:2px;white-space:nowrap}.npd-pipeline-arrow{color:var(--border, #cbd5e1);flex-shrink:0;padding:0 8px}.npd-dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}@media (max-width: 900px){.npd-dashboard-grid{grid-template-columns:1fr}}.npd-dashboard-panel{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;overflow:hidden}.npd-panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border, #e2e8f0)}.npd-panel-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b)}.npd-link-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border:none;background:transparent;color:var(--primary, #3b82f6);font-size:.8125rem;font-weight:500;cursor:pointer;border-radius:4px}.npd-link-btn:hover{background:var(--bg-secondary, #eff6ff)}.npd-project-list{padding:8px}.npd-project-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:8px;cursor:pointer;transition:all .2s}.npd-project-item:hover{background:var(--bg-secondary, #f8fafc)}.npd-project-item.risk{border-left:3px solid #ef4444}.npd-project-main{display:flex;flex-direction:column;gap:4px}.npd-project-no{font-size:.75rem;color:var(--text-secondary, #64748b)}.npd-project-name{font-size:.875rem;font-weight:500;color:var(--text-primary, #1e293b)}.npd-project-meta{display:flex;align-items:center;gap:8px}.npd-gate-badge{padding:2px 8px;border-radius:4px;font-size:.6875rem;font-weight:600;color:#fff}.npd-mini-progress{width:60px;height:6px;background:var(--bg-secondary, #e2e8f0);border-radius:3px;overflow:hidden}.npd-mini-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#22c55e);border-radius:3px}.npd-progress-text{font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);min-width:32px}.npd-risk-badge{padding:2px 8px;border-radius:4px;font-size:.625rem;font-weight:700}.npd-risk-badge.high{background:#fecaca;color:#dc2626}.npd-customer,.npd-sop{font-size:.75rem;color:var(--text-secondary, #64748b)}.npd-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px;color:var(--text-secondary, #64748b);font-size:.875rem}.npd-empty-state.success{color:#22c55e}.npd-dashboard .npd-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:.875rem;cursor:pointer;transition:all .2s}.npd-dashboard .npd-btn:hover{background:var(--bg-secondary, #f1f5f9)}.npd-dashboard .npd-btn-primary{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}.npd-dashboard .npd-btn-primary:hover{background:#2563eb}.npd-dashboard .npd-btn-icon{padding:8px}.bmc-stage-stepper{background:var(--bg-primary);border:1px solid var(--glass-border);border-radius:8px;padding:16px 20px;margin-bottom:16px}.bmc-stage-stepper-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.bmc-stage-stepper-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.bmc-stage-stepper-progress{font-size:12px;color:var(--text-secondary);background:var(--panel-2);padding:4px 12px;border-radius:12px}.bmc-stage-stepper-container{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;overflow-x:auto;padding-bottom:8px}.bmc-stage-item{display:flex;flex-direction:column;align-items:center;position:relative;flex:1;min-width:100px}.bmc-stage-circle{width:36px;height:36px;border-radius:50%;border:2px solid;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;z-index:1;background:var(--bg-primary)}.bmc-stage-circle:hover{transform:scale(1.1);box-shadow:0 2px 8px #0000004d}.bmc-stage-circle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bmc-stage-circle.pending{border-color:var(--border);color:var(--text-tertiary)}.bmc-stage-circle.in-progress{border-color:var(--primary);background:var(--primary);color:#fff}.bmc-stage-circle.completed{border-color:#10b981;background:#10b981;color:#fff}.bmc-stage-circle.skipped{border-color:var(--text-tertiary);color:var(--text-tertiary);opacity:.5}.bmc-stage-connector{position:absolute;top:18px;left:calc(50% + 18px);width:calc(100% - 36px);height:2px;z-index:0;background:var(--border)}.bmc-stage-connector.completed{background:#10b981}.bmc-stage-connector.in-progress{background:linear-gradient(90deg,#10b981 0%,var(--primary) 50%,var(--border) 100%)}.bmc-stage-label{display:flex;flex-direction:column;align-items:center;margin-top:10px;text-align:center;gap:2px}.bmc-stage-no{font-size:9px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.bmc-stage-name{font-size:11px;font-weight:500;color:var(--text-primary);line-height:1.3;max-width:90px}.bmc-stage-status{font-size:10px;font-weight:500}.bmc-stage-status.pending{color:var(--text-tertiary)}.bmc-stage-status.in-progress{color:var(--primary)}.bmc-stage-status.completed{color:#10b981}.bmc-stage-actions{margin-top:8px;display:flex;gap:4px}.bmc-stage-btn{padding:4px 10px;border-radius:4px;font-size:10px;font-weight:500;cursor:pointer;border:none;transition:all .2s}.bmc-stage-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bmc-stage-btn-start{background:#3b82f626;color:#2563eb}.bmc-stage-btn-start:hover{background:#3b82f640}.bmc-stage-btn-complete{background:#10b98126;color:#16a34a}.bmc-stage-btn-complete:hover{background:#10b9814d}@media (max-width: 1024px){.bmc-stage-stepper-container{gap:4px}.bmc-stage-item{min-width:80px}.bmc-stage-circle{width:32px;height:32px}.bmc-stage-connector{top:16px;left:calc(50% + 16px);width:calc(100% - 32px)}.bmc-stage-name{font-size:10px;max-width:70px}}@media (max-width: 768px){.bmc-stage-stepper{padding:12px 16px}.bmc-stage-stepper-container{flex-wrap:wrap;justify-content:center}.bmc-stage-connector{display:none}.bmc-stage-item{min-width:100px;margin-bottom:12px}}.bmc-block-selector{display:flex;gap:24px;align-items:center;flex-wrap:wrap;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.bmc-selector-group{display:flex;align-items:center;gap:12px}.bmc-selector-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.bmc-selector-buttons{display:flex;gap:8px}.bmc-selector-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--panel-2);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.bmc-selector-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-hover)}.bmc-selector-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bmc-selector-btn.active{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.bmc-selector-btn:disabled{opacity:.5;cursor:not-allowed}.bmc-selector-tabs{display:flex;background:var(--panel-2);border-radius:6px;padding:2px;border:1px solid var(--glass-border)}.bmc-selector-tab{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.bmc-selector-tab:hover:not(:disabled){color:var(--text-primary);background:var(--primary-hover)}.bmc-selector-tab:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bmc-selector-tab.active{background:var(--primary);color:var(--on-accent);box-shadow:var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, .05))}.bmc-selector-tab:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.bmc-block-selector{flex-direction:column;align-items:flex-start;gap:12px}.bmc-selector-group{flex-direction:column;align-items:flex-start;gap:8px}}.bmc-editor-page{padding:16px;background:var(--bg-primary);min-height:100vh}.bmc-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px}.bmc-editor-header-left{display:flex;align-items:center;gap:12px}.bmc-editor-back-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid var(--border);background:var(--bg-primary);border-radius:6px;cursor:pointer;font-size:13px;color:var(--text-secondary);transition:all .2s}.bmc-editor-back-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.bmc-editor-back-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bmc-editor-title{font-size:18px;font-weight:600;color:var(--text-primary)}.bmc-editor-header-right{display:flex;gap:8px}.bmc-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.bmc-btn:disabled{opacity:.5;cursor:not-allowed}.bmc-btn-secondary{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary)}.bmc-btn-secondary:hover:not(:disabled){background:var(--bg-secondary)}.bmc-btn-primary{background:var(--primary);border:1px solid var(--primary);color:var(--on-accent)}.bmc-btn-primary:hover:not(:disabled){background:var(--primary-hover)}.bmc-editor-info{display:flex;gap:16px;margin-bottom:16px;padding:10px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px;font-size:13px;color:var(--text-secondary)}.bmc-editor-info-item{display:flex;align-items:center;gap:8px}.bmc-editor-info-item strong{color:var(--text-primary)}.bmc-canvas-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(3,minmax(200px,auto));gap:12px;margin-bottom:20px}.bmc-block-kp{grid-column:1;grid-row:1 / 3}.bmc-block-ka{grid-column:2;grid-row:1}.bmc-block-kr{grid-column:2;grid-row:2}.bmc-block-vp{grid-column:3;grid-row:1 / 3}.bmc-block-cr{grid-column:4;grid-row:1}.bmc-block-ch{grid-column:4;grid-row:2}.bmc-block-cs{grid-column:5;grid-row:1 / 3}.bmc-block-cost{grid-column:1 / 3;grid-row:3}.bmc-block-rs{grid-column:3 / 6;grid-row:3}.bmc-block-card{background:var(--bg-primary);border-radius:8px;border:1px solid var(--glass-border);display:flex;flex-direction:column;min-height:200px}.bmc-block-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--glass-border);background:var(--panel-2);border-radius:8px 8px 0 0}.bmc-block-title{font-size:13px;font-weight:600;color:var(--text-primary)}.bmc-block-code{font-size:10px;color:var(--text-tertiary);margin-left:6px}.bmc-block-add-btn{padding:4px 8px;background:transparent;border:1px dashed var(--border);border-radius:4px;font-size:11px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.bmc-block-add-btn:hover{background:var(--bg-secondary);border-color:var(--primary);color:var(--primary)}.bmc-block-add-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bmc-block-content{flex:1;padding:10px;overflow-y:auto;max-height:300px}.bmc-element-item{padding:8px 10px;margin-bottom:6px;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:6px;transition:all .2s}.bmc-element-item:hover{background:#1565c0}.bmc-element-item:hover .bmc-element-content,.bmc-element-item:hover .bmc-validation-badge,.bmc-element-item:hover .bmc-priority-badge,.bmc-element-item:hover .bmc-element-action-btn{color:#fff!important}.bmc-element-content{font-size:12px;color:var(--text-primary);margin-bottom:6px;line-height:1.5}.bmc-element-footer{display:flex;align-items:center;justify-content:space-between}.bmc-element-badges{display:flex;gap:6px}.bmc-validation-badge{display:inline-block;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:500;white-space:nowrap}.bmc-priority-badge{padding:2px 6px;border-radius:3px;font-size:10px;font-weight:500;background:#94a3b833;color:var(--text-secondary)}.bmc-element-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s}.bmc-element-item:hover .bmc-element-actions{opacity:1}.bmc-element-action-btn{padding:4px 6px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.bmc-element-action-btn:hover{background:#fff3;color:#fff}.bmc-element-action-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bmc-block-guide{padding:8px 10px;margin-top:auto;background:#fbbf241a;border-top:1px solid rgba(251,191,36,.3);font-size:11px;color:#92400e;border-radius:0 0 8px 8px}.bmc-block-guide-title{font-weight:600;margin-bottom:4px}.bmc-block-guide-list{margin:0;padding-left:16px}.bmc-financial-panel{background:var(--bg-primary);border-radius:8px;border:1px solid var(--glass-border);padding:16px}.bmc-financial-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.bmc-financial-title{font-size:14px;font-weight:600;color:var(--text-primary)}.bmc-financial-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.bmc-financial-item{text-align:center;padding:14px;background:var(--panel-2);border-radius:8px;border:1px solid var(--glass-border)}.bmc-financial-label{font-size:11px;color:var(--text-secondary);margin-bottom:4px}.bmc-financial-value{font-size:16px;font-weight:600;color:var(--text-primary)}.bmc-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;color:var(--text-tertiary);font-size:12px}.bmc-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.bmc-modal{background:var(--bg-primary);border-radius:8px;width:480px;max-width:90vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--glass-border);box-shadow:0 10px 40px #0000004d}.bmc-modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--glass-border);background:var(--panel-2)}.bmc-modal-title{font-size:15px;font-weight:600;color:var(--text-primary)}.bmc-modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-secondary);transition:color .2s}.bmc-modal-close:hover{color:var(--text-primary)}.bmc-modal-body{padding:20px;overflow-y:auto}.bmc-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--glass-border);background:var(--panel-2)}.bmc-form-group{margin-bottom:16px}.bmc-form-label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.bmc-form-input,.bmc-form-textarea,.bmc-form-select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.bmc-form-textarea{min-height:100px;resize:vertical}.bmc-form-input:focus,.bmc-form-textarea:focus,.bmc-form-select:focus{outline:none;border-color:var(--primary)}.bmc-form-input::-moz-placeholder,.bmc-form-textarea::-moz-placeholder{color:var(--text-tertiary)}.bmc-form-input::placeholder,.bmc-form-textarea::placeholder{color:var(--text-tertiary)}.bmc-loading{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary)}.bmc-stage-init-banner{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;margin-bottom:16px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px;color:#1d4ed8}.bmc-stage-init-banner span{font-size:13px}.bmc-custom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.bmc-custom-column{display:flex;flex-direction:column;gap:12px}.bmc-custom-column-title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:8px 12px;background:var(--panel-2);border-radius:6px;text-align:center}@media (max-width: 1400px){.bmc-canvas-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:auto}.bmc-block-kp,.bmc-block-ka,.bmc-block-kr,.bmc-block-vp,.bmc-block-cr,.bmc-block-ch,.bmc-block-cs,.bmc-block-cost,.bmc-block-rs{grid-column:auto;grid-row:auto}}@media (max-width: 1024px){.bmc-editor-page{padding:12px}.bmc-canvas-grid{grid-template-columns:repeat(2,1fr)}.bmc-financial-grid{grid-template-columns:repeat(3,1fr)}.bmc-custom-grid{grid-template-columns:1fr}}@media (max-width: 768px){.bmc-editor-page{padding:8px}.bmc-editor-header{flex-direction:column;gap:12px;align-items:stretch}.bmc-editor-header-right{justify-content:flex-end}.bmc-canvas-grid{grid-template-columns:1fr}.bmc-financial-grid{grid-template-columns:repeat(2,1fr)}.bmc-editor-info{flex-wrap:wrap}}@media (max-width: 480px){.bmc-financial-grid{grid-template-columns:1fr}.bmc-btn{padding:6px 10px;font-size:12px}}.bmc-new-canvas-form{max-width:500px;margin:40px auto;padding:32px;background:var(--bg-primary);border-radius:12px;border:1px solid var(--glass-border);box-shadow:0 4px 20px #0003}.bmc-new-canvas-form .bmc-form-group{margin-bottom:20px}.bmc-new-canvas-form .bmc-form-input,.bmc-new-canvas-form .bmc-form-select{padding:12px 14px}.bmc-form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--glass-border)}.bmc-btn:focus-visible,.bmc-block-add-btn:focus-visible,.bmc-element-action-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bmc-list-page{padding:16px;background:var(--bg-primary);min-height:100vh}.bmc-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px}.bmc-list-header h1{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.bmc-header-actions{display:flex;gap:8px}.bmc-btn{display:inline-flex;align-items:center;gap:4px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .2s}.bmc-btn-primary{background:var(--primary);color:var(--on-accent);border-color:var(--primary)}.bmc-btn-primary:hover{background:var(--primary-hover)}.bmc-btn-secondary{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border)}.bmc-btn-secondary:hover{background:var(--bg-secondary)}.bmc-btn-icon{padding:8px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.bmc-btn-icon:hover{background:var(--bg-secondary);color:var(--text-primary)}.bmc-btn-icon:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bmc-btn-danger{color:var(--error)}.bmc-btn-danger:hover{background:#dc35451a}.bmc-summary-cards{display:flex;gap:8px;margin-bottom:16px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.bmc-summary-card{background:var(--bg-primary);border:2px solid var(--border);border-radius:6px;padding:12px 20px;min-width:100px;cursor:pointer;transition:all .2s;text-align:center;flex-shrink:0}.bmc-summary-card:hover{border-color:var(--text-tertiary)}.bmc-summary-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bmc-summary-card.active{border-color:var(--primary);background:#3b82f61a}.bmc-summary-label{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:4px}.bmc-summary-count{display:block;font-size:20px;font-weight:700;color:var(--text-primary)}.bmc-search-area{background:var(--panel-2);border:1px solid var(--glass-border);border-radius:8px;padding:12px 16px;margin-bottom:16px}.bmc-search-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.bmc-search-field{display:flex;flex-direction:column;gap:4px}.bmc-search-field label{font-size:11px;font-weight:500;color:var(--text-secondary)}.bmc-search-field select,.bmc-search-field input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;min-width:150px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.bmc-search-field select:focus,.bmc-search-field input:focus{outline:none;border-color:var(--primary)}.bmc-search-field input::-moz-placeholder{color:var(--text-tertiary)}.bmc-search-field input::placeholder{color:var(--text-tertiary)}.bmc-table-container{background:var(--bg-primary);border:1px solid var(--glass-border);border-radius:8px;overflow:hidden;margin-bottom:16px;position:relative}.bmc-table{width:100%;border-collapse:collapse;font-size:12px}.bmc-table thead{background:var(--panel-2);border-bottom:2px solid var(--glass-border)}.bmc-table th{padding:10px 14px;text-align:left;font-weight:600;color:var(--text-primary);white-space:nowrap;font-size:11px}.bmc-table td{padding:10px 14px;border-bottom:1px solid var(--glass-border);color:var(--text-primary)}.bmc-table tbody tr{cursor:pointer;transition:background .15s;background:transparent}.bmc-table tbody tr:hover{background:#1565c0!important}.bmc-table tbody tr:hover td{color:#fff!important}.bmc-table tbody tr:hover .bmc-status-badge,.bmc-table tbody tr:hover .bmc-version-badge{background:#fff3!important;color:#fff!important}.bmc-table tbody tr:hover .bmc-validation-bar span,.bmc-table tbody tr:hover .bmc-btn-icon{color:#fff!important}.bmc-table tbody tr.selected{background:#3b82f640}.bmc-cell-title{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bmc-cell-actions{display:flex;gap:4px}.bmc-version-badge{display:inline-flex;align-items:center;padding:2px 8px;background:#94a3b833;border-radius:4px;font-size:11px;font-weight:600;color:var(--text-secondary)}.bmc-status-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:9999px;font-size:10px;font-weight:500}.bmc-validation-bar{position:relative;height:20px;background:var(--border);border-radius:4px;overflow:hidden;min-width:80px}.bmc-validation-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#10b981,#34d399);transition:width .3s}.bmc-validation-bar span{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;height:100%;font-size:10px;font-weight:600;color:var(--text-primary)}.bmc-loading{padding:40px;text-align:center;color:var(--text-secondary)}.bmc-loading:after{content:"";display:inline-block;width:20px;height:20px;margin-left:8px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.bmc-error{padding:40px;text-align:center;color:var(--error);background:#dc35451a;border-radius:8px;margin:16px}.bmc-empty{text-align:center;padding:60px 20px;color:var(--text-tertiary)}.bmc-empty-state{display:flex;flex-direction:column;align-items:center;gap:16px}.bmc-empty-state svg{color:var(--text-tertiary)}.bmc-empty-state p{font-size:14px;margin:0;color:var(--text-secondary)}.bmc-list-empty{display:flex;align-items:center;justify-content:center;height:300px;color:var(--text-tertiary);font-size:14px}.bmc-preview-panel{position:fixed;bottom:24px;right:24px;width:320px;background:var(--bg-primary);border:1px solid var(--glass-border);border-radius:12px;box-shadow:0 10px 40px #0000004d;padding:20px;z-index:100}.bmc-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.bmc-preview-header h3{margin:0;font-size:15px;font-weight:600;color:var(--text-primary);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bmc-preview-desc{font-size:12px;color:var(--text-secondary);margin:0 0 16px;line-height:1.5}.bmc-preview-stats{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.bmc-preview-stat{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.bmc-preview-stat svg{color:var(--text-tertiary)}.bmc-preview-btn{width:100%;justify-content:center}@media (max-width: 1024px){.bmc-list-page{padding:12px}.bmc-summary-cards{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.bmc-search-row{flex-direction:column}.bmc-search-field,.bmc-search-field select,.bmc-search-field input{width:100%}.bmc-table-container{overflow-x:auto}.bmc-preview-panel{position:static;width:100%;margin-top:16px;box-shadow:none}}@media (max-width: 768px){.bmc-list-page{padding:8px}.bmc-list-header{flex-direction:column;gap:12px;align-items:stretch}.bmc-header-actions{justify-content:flex-end}}.bmc-financial-page{padding:24px;background:var(--bg-primary);min-height:100vh}.bmc-financial-loading{display:flex;align-items:center;justify-content:center;height:400px;color:var(--text-secondary)}.bmc-financial-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.bmc-financial-header-left{display:flex;flex-direction:column;gap:8px}.bmc-financial-back-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--text-secondary);font-size:13px;cursor:pointer;padding:0}.bmc-financial-back-btn:hover{color:var(--primary)}.bmc-financial-back-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bmc-financial-title{display:flex;align-items:center;gap:8px;font-size:24px;font-weight:600;color:var(--text-primary);margin:0}.bmc-financial-content{display:flex;flex-direction:column;gap:24px}.bmc-financial-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.bmc-financial-section h2{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid var(--glass-border)}.bmc-financial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.bmc-financial-field{display:flex;flex-direction:column;gap:6px}.bmc-financial-field label{font-size:13px;font-weight:500;color:var(--text-secondary)}.bmc-financial-field input{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:15px;transition:all .2s;background:var(--panel-2);color:var(--text-primary)}.bmc-financial-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring, rgba(59, 130, 246, .1))}.bmc-financial-field input::-moz-placeholder{color:var(--text-tertiary)}.bmc-financial-field input::placeholder{color:var(--text-tertiary)}.bmc-financial-field.calculated{background:var(--panel-2);padding:12px;border-radius:8px;border:1px dashed var(--glass-border)}.bmc-financial-value{font-size:18px;font-weight:600;color:var(--text-primary)}.bmc-field-hint{font-size:11px;color:var(--text-tertiary)}.bmc-financial-summary{background:linear-gradient(135deg,var(--primary-dark, #1e40af) 0%,var(--primary) 100%);border-radius:12px;padding:24px;color:var(--on-accent)}.bmc-financial-summary h2{color:var(--on-accent);border-bottom:1px solid rgba(255,255,255,.2)}.bmc-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.bmc-summary-item{display:flex;flex-direction:column;gap:4px;padding:16px;background:#ffffff1a;border-radius:8px}.bmc-summary-label{font-size:13px;opacity:.8}.bmc-summary-value{font-size:22px;font-weight:700}.bmc-summary-value.highlight{color:var(--warning, #fbbf24)}.bmc-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s}.bmc-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bmc-btn-primary{background:var(--primary);color:var(--on-accent)}.bmc-btn-primary:hover:not(:disabled){background:#1565c0}.bmc-btn-primary:disabled{background:var(--text-tertiary);cursor:not-allowed}@media (max-width: 1024px){.bmc-financial-grid,.bmc-summary-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.bmc-financial-page{padding:16px}.bmc-financial-grid,.bmc-summary-grid{grid-template-columns:1fr}.bmc-financial-header{flex-direction:column;align-items:flex-start;gap:16px}}.qms-dashboard{padding:24px;background:var(--bg-primary);min-height:100%;overflow-y:auto;box-sizing:border-box}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.dashboard-title-area{display:flex;flex-direction:column;gap:2px}.dashboard-header h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.dashboard-subtitle{font-size:12px;color:var(--text-secondary);margin:0}.date-range-picker{display:flex;gap:12px;align-items:center}.date-range-picker input{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--glass-bg);color:var(--text-primary);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all .2s}.date-range-picker input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.date-range-picker button{padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.date-range-picker button:hover{background:var(--primary-hover);transform:translateY(-1px)}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.stat-card{background:var(--glass-bg);border-radius:10px;padding:16px 20px;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;overflow:hidden;transition:all .2s ease}.stat-card:hover{border-color:var(--primary);transform:translateY(-2px)}.stat-card-accent{position:absolute;top:0;left:0;right:0;height:3px}.stat-card-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.stat-card-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center}.stat-card-title{font-size:12px;color:var(--text-secondary);font-weight:500}.stat-card-body{display:flex;align-items:center;gap:8px}.stat-card-value{font-size:22px;font-weight:700;color:var(--text-primary)}.stat-card-trend{display:inline-flex;align-items:center;gap:2px;padding:2px 6px;border-radius:10px;font-size:11px;font-weight:600}.stat-card-subtitle{font-size:11px;color:var(--text-tertiary);margin-top:4px}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.chart-card{background:var(--glass-bg);border-radius:10px;padding:16px;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.chart-card-header{display:flex;align-items:center;gap:6px;margin-bottom:8px;color:var(--text-secondary)}.chart-card-header h3{margin:0;font-size:13px;font-weight:600;color:var(--text-primary)}.chart-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--glass-border)}.legend-item{display:flex;align-items:center;gap:4px;font-size:11px}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-label{color:var(--text-secondary)}.legend-value{font-weight:600;color:var(--text-primary)}.chart-card.full-width{grid-column:1 / -1}.loading-spinner{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.error-message{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--danger);text-align:center;padding:20px;background:#fca5a526;border-radius:8px;margin:20px}.sla-gauge{display:flex;align-items:center;gap:12px;padding:5px 0}.sla-gauge-circle{position:relative;width:90px;height:90px}.sla-gauge-circle svg{transform:rotate(-90deg)}.sla-gauge-circle .gauge-bg{stroke:var(--glass-border)}.sla-gauge-circle .gauge-fill{stroke:var(--success);transition:stroke-dashoffset .5s ease}.sla-gauge-circle .gauge-fill.warning{stroke:var(--warning)}.sla-gauge-circle .gauge-fill.danger{stroke:var(--danger)}.sla-gauge-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:18px;font-weight:700}.sla-gauge-stats{flex:1}.sla-stat-row{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--glass-border)}.sla-stat-row:last-child{border-bottom:none}.sla-stat-left{display:flex;align-items:center;gap:6px}.sla-stat-dot{width:8px;height:8px;border-radius:50%}.sla-stat-label{color:var(--text-secondary);font-size:12px}.sla-stat-value{font-weight:600;font-size:12px;color:var(--text-primary)}@media (max-width: 768px){.dashboard-header{flex-direction:column;gap:16px;align-items:flex-start}.date-range-picker{flex-wrap:wrap}.stat-card-value{font-size:18px}}.qms-dashboard{padding:1.5rem;background:var(--bg-secondary);min-height:100%}.qms-dashboard--loading,.qms-dashboard--error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--text-secondary)}.qms-dashboard__spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.qms-dashboard__retry-btn{margin-top:1rem;padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.875rem}.qms-dashboard__retry-btn:hover{background:var(--primary-hover)}.qms-dashboard__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.qms-dashboard__title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.qms-dashboard__actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.qms-dashboard__date-filter{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--panel);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary)}.qms-dashboard__date-filter input[type=date]{border:none;background:transparent;color:var(--text-primary);font-size:.875rem;padding:.25rem}.qms-dashboard__date-filter input[type=date]:focus{outline:none}.qms-dashboard__refresh-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.875rem;transition:background .2s}.qms-dashboard__refresh-btn:hover:not(:disabled){background:var(--primary-hover)}.qms-dashboard__refresh-btn:disabled{opacity:.6;cursor:not-allowed}.qms-dashboard__refresh-btn .spinning{animation:spin 1s linear infinite}.qms-dashboard__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}@media (max-width: 1024px){.qms-dashboard__cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.qms-dashboard__cards{grid-template-columns:1fr}.qms-dashboard__header{flex-direction:column;align-items:flex-start}.qms-dashboard__actions{width:100%}.qms-dashboard__date-filter{flex:1}}.module-card{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1rem;overflow:hidden;transition:box-shadow .2s,transform .2s}.module-card:hover{box-shadow:0 4px 12px #0000001a}.module-card[role=button]:hover{transform:translateY(-2px)}.module-card[role=button]:focus{outline:2px solid var(--primary);outline-offset:2px}.module-card__accent{position:absolute;top:0;left:0;right:0;height:4px}.module-card__header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.module-card__icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--bg-secondary)}.module-card__title{flex:1;font-size:1rem;font-weight:600;color:var(--text-primary)}.module-card__arrow{color:var(--text-secondary);transition:transform .2s}.module-card:hover .module-card__arrow{transform:translate(4px)}.module-card__body{display:flex;gap:1rem;align-items:flex-start}.module-card__kpis{flex:1;display:flex;flex-direction:column;gap:.5rem}.module-card__kpi{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.module-card__kpi--highlight{background:var(--bg-secondary);padding:.25rem .5rem;border-radius:4px;margin:0 -.5rem}.module-card__kpi-label{color:var(--text-secondary)}.module-card__kpi-value{font-weight:600;color:var(--text-primary)}.module-card__chart{width:80px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.attention-banner{background:linear-gradient(135deg,var(--warning-bg) 0%,var(--warning-bg) 100%);border:1px solid var(--warning);border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.5rem}:root[data-theme=dark] .attention-banner,.dark .attention-banner{background:linear-gradient(135deg,var(--warning-bg) 0%,var(--warning) 100%);border-color:var(--warning)}.attention-banner__header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--warning);font-weight:600;font-size:.875rem}:root[data-theme=dark] .attention-banner__header,.dark .attention-banner__header{color:var(--warning)}.attention-banner__items{display:flex;flex-wrap:wrap;gap:.75rem}.attention-banner__item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--panel);border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s;border:none;font-size:.875rem}:root[data-theme=dark] .attention-banner__item,.dark .attention-banner__item{background:var(--panel)}.attention-banner__item:hover{transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.attention-banner__item:focus{outline:2px solid var(--primary);outline-offset:2px}.attention-banner__item--critical{border-left:3px solid var(--danger)}.attention-banner__item--warning{border-left:3px solid var(--warning)}.attention-banner__item--info{border-left:3px solid var(--primary)}.attention-banner__count{font-weight:700;font-size:1.125rem}.attention-banner__item--critical .attention-banner__count{color:var(--danger)}.attention-banner__item--warning .attention-banner__count{color:var(--warning)}.attention-banner__item--info .attention-banner__count{color:var(--primary)}.attention-banner__label{color:var(--text-secondary)}.attention-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid;border-radius:8px;cursor:pointer;font-size:.875rem;transition:transform .2s,box-shadow .2s;background:transparent}.attention-item:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.attention-item:focus{outline:2px solid var(--primary);outline-offset:2px}.attention-item__label{color:var(--text-primary);font-weight:500}.attention-item__count{font-weight:700}.attention-banner--clear{display:flex;align-items:center;gap:.5rem;padding:1rem 1.25rem;background:var(--panel);border:1px solid var(--border);border-radius:12px;margin-bottom:1.5rem;color:var(--success)}.attention-banner--clear .attention-banner__message{color:var(--text-secondary)}.attention-banner--alert{background:linear-gradient(135deg,var(--warning-bg) 0%,var(--warning-bg) 100%);border:1px solid var(--warning)}:root[data-theme=dark] .attention-banner--alert,.dark .attention-banner--alert{background:linear-gradient(135deg,var(--warning-bg) 0%,var(--warning) 100%);border-color:var(--warning)}.qms-dashboard__sla{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem}.qms-dashboard__section-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.qms-dashboard__sla-summary{display:flex;align-items:flex-start;gap:2rem;flex-wrap:wrap;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.qms-dashboard__sla-context{flex:1;min-width:200px}.qms-dashboard__sla-context-header{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.qms-dashboard__sla-context-stats{display:flex;gap:1rem;flex-wrap:wrap}.sla-context-stat{display:flex;flex-direction:column;align-items:center;padding:.5rem .75rem;background:var(--bg-secondary);border-radius:8px;min-width:60px}.sla-context-stat__value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.sla-context-stat__label{font-size:.625rem;color:var(--text-secondary);margin-top:.125rem}.sla-context-stat--warning .sla-context-stat__value{color:var(--warning)}.sla-context-stat--success .sla-context-stat__value{color:var(--success)}.sla-context-stat--info .sla-context-stat__value{color:var(--primary)}.qms-dashboard__sla-gauge{flex-shrink:0;display:flex;flex-direction:column;align-items:center}.qms-dashboard__sla-notice{font-size:.75rem;color:var(--warning);margin-top:.5rem}.qms-dashboard__sla-stats{flex:1;min-width:200px;display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.qms-dashboard__sla-stat{display:flex;flex-direction:column;gap:.125rem;padding:.5rem;background:var(--bg-secondary);border-radius:6px}.qms-dashboard__sla-stat-label{font-size:.625rem;color:var(--text-secondary)}.qms-dashboard__sla-stat-value{font-size:1rem;font-weight:600;color:var(--text-primary)}.qms-dashboard__sla-stat-value--success{color:var(--success)}.qms-dashboard__sla-stat-value--error{color:var(--danger)}.qms-dashboard__sla-table-wrapper{margin-top:1rem}.qms-dashboard__sla-table-title{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.qms-dashboard__sla-table{width:100%;border-collapse:collapse;font-size:.8125rem}.qms-dashboard__sla-table th{text-align:left;padding:.625rem .5rem;background:var(--bg-secondary);color:var(--text-secondary);font-weight:500;border-bottom:1px solid var(--border)}.qms-dashboard__sla-table td{padding:.625rem .5rem;border-bottom:1px solid var(--border);color:var(--text-primary)}.qms-dashboard__sla-table tr:hover td{background:var(--bg-secondary)}.sla-table__stage{display:flex;flex-direction:column;gap:.125rem}.sla-table__stage-code{font-weight:600;font-size:.75rem;color:var(--primary)}.sla-table__stage-name{font-size:.75rem;color:var(--text-secondary)}.sla-table__count,.sla-table__target,.sla-table__actual{text-align:right;font-variant-numeric:tabular-nums}.text-danger{color:var(--danger);font-weight:600}.sla-status{display:inline-block;padding:.125rem .5rem;border-radius:10px;font-size:.6875rem;font-weight:500}.sla-status--ok{background:#22c55e26;color:var(--success)}.sla-status--breach{background:#ef444426;color:var(--danger)}.sla-table__rate{display:flex;align-items:center;gap:.5rem}.sla-rate-bar{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden;min-width:60px}.sla-rate-bar__fill{height:100%;border-radius:3px;transition:width .3s ease}.sla-rate-bar__fill--success{background:var(--success)}.sla-rate-bar__fill--danger{background:var(--danger)}.sla-rate-bar__value{font-size:.75rem;font-weight:500;min-width:36px;text-align:right}.qms-dashboard__sla-empty{text-align:center;padding:1.5rem;color:var(--text-secondary)}.qms-dashboard__sla-empty p{margin:0}.qms-dashboard__sla-empty-hint{font-size:.75rem;margin-top:.5rem!important;opacity:.8}@media (max-width: 1024px){.qms-dashboard__sla-summary{flex-direction:column;align-items:center}.qms-dashboard__sla-context,.qms-dashboard__sla-stats{width:100%}.qms-dashboard__sla-context-stats{justify-content:center}}@media (max-width: 768px){.qms-dashboard__sla-stats{grid-template-columns:repeat(4,1fr)}.qms-dashboard__sla-table{font-size:.75rem}.qms-dashboard__sla-table th,.qms-dashboard__sla-table td{padding:.5rem .375rem}.sla-rate-bar{display:none}}.qms-dashboard__distributions{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (max-width: 768px){.qms-dashboard__distributions{grid-template-columns:1fr}}.qms-dashboard__distribution-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column}.qms-dashboard__card-title{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;align-self:flex-start}.qms-dashboard__empty{color:var(--text-secondary);font-size:.875rem;text-align:center;padding:2rem 0}.mini-donut{position:relative}.mini-donut-with-legend{display:flex;align-items:center;gap:1.5rem;width:100%}.mini-donut__legend{display:flex;flex-direction:column;gap:.5rem;flex:1}.mini-donut__legend-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.mini-donut__legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.mini-donut__legend-label{flex:1;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-donut__legend-value{font-weight:600;color:var(--text-primary);min-width:30px;text-align:right}@media (max-width: 768px){.mini-donut-with-legend{flex-direction:column;gap:1rem}.mini-donut__legend{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.75rem 1rem}.mini-donut__legend-item{font-size:.75rem}}.mini-progress-bar{width:100%}.mini-progress-bar__track{display:flex;height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden}.mini-progress-bar__segment{height:100%;transition:width .3s ease}.mini-progress-bar__labels{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.625rem;color:var(--text-secondary)}.mini-gauge{position:relative}.mini-gauge__value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.mini-gauge__value-number{font-size:1.5rem;font-weight:700;line-height:1}.mini-gauge__value-label{font-size:.625rem;color:var(--text-secondary);margin-top:.25rem}.mini-gauge{position:relative;display:flex;align-items:center;justify-content:center}.mini-gauge__svg{display:block}.mini-gauge__content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;display:flex;flex-direction:column;align-items:center}.mini-gauge__value{font-size:1.25rem;font-weight:700;line-height:1}.mini-gauge__label{font-size:.625rem;color:var(--text-secondary);margin-top:.25rem}.mini-progress{width:100%}.mini-progress__bar{display:flex;overflow:hidden;background:var(--border)}.mini-progress__segment{height:100%;transition:width .3s ease}.mini-progress__empty{width:100%}.mini-progress__labels{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.mini-progress__label{display:flex;align-items:center;gap:.25rem;font-size:.625rem;color:var(--text-secondary)}.mini-progress__dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.mini-progress__text{white-space:nowrap}.scm-pl{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:2px 0;padding:6px 0}.scm-pl__node{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 8px;border-radius:8px;cursor:pointer;transition:all .15s;min-width:56px;border:1.5px solid transparent}.scm-pl__node:hover{background:color-mix(in srgb,var(--c) 8%,transparent)}.scm-pl__node--sel{background:color-mix(in srgb,var(--c) 10%,transparent);border-color:var(--c)}.scm-pl__node--alert .scm-pl__icon{box-shadow:0 0 0 2px color-mix(in srgb,var(--danger, #ef4444) 30%,transparent);border-color:var(--danger, #ef4444)}.scm-pl__icon{width:28px;height:28px;border-radius:50%;border:2px solid var(--c);background:color-mix(in srgb,var(--c) 8%,var(--panel));display:flex;align-items:center;justify-content:center;color:var(--c);transition:all .15s}.scm-pl__node--sel .scm-pl__icon{background:var(--c);color:#fff}.scm-pl__name{font-size:10px;font-weight:600;color:var(--text-primary);white-space:nowrap;line-height:1}.scm-pl__node--sel .scm-pl__name{color:var(--c)}.scm-pl__qty{font-size:10px;color:var(--text-secondary);line-height:1}.scm-pl__qty--has{font-weight:700;color:var(--c)}.scm-pl__sep{color:var(--text-secondary);opacity:.3;flex-shrink:0;margin:0 -2px}@media (max-width: 900px){.scm-pl__node{padding:4px 6px;min-width:48px}.scm-pl__icon{width:24px;height:24px}.scm-pl__icon svg{width:12px;height:12px}.scm-pl__name{font-size:9px}}@media (max-width: 600px){.scm-pl{gap:2px}.scm-pl__node{min-width:40px;padding:3px 4px}.scm-pl__icon{width:22px;height:22px}.scm-pl__name,.scm-pl__qty{font-size:8px}}.ai-insight-panel{display:flex;flex-direction:column;gap:10px;height:100%}.ai-insight-panel--empty{align-items:center;justify-content:center;padding:40px;color:var(--text-secondary);text-align:center}.ai-insight-panel__header{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--text-primary);padding-bottom:6px;border-bottom:1px solid var(--border)}.ai-insight-panel__list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1}.ai-insight-card{border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:all .2s ease}.ai-insight-card__header{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer}.ai-insight-card__header:hover{opacity:.9}.ai-insight-card__content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.ai-insight-card__severity{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.ai-insight-card__title{font-size:12px;font-weight:500;color:var(--text-primary);line-height:1.3}.ai-insight-card__detail{padding:0 12px 12px;font-size:12px;line-height:1.5;color:var(--text-secondary)}.ai-insight-card__desc{margin:0 0 6px}.ai-insight-card__rec{margin:0;padding:8px;background:color-mix(in srgb,var(--primary, #3b82f6) 5%,var(--panel));border-radius:6px}.ai-insight-card__rec strong{color:var(--primary, #3b82f6)}.scm-drilldown{display:flex;flex-direction:column;height:100%;min-height:0}.scm-drilldown__header{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--border);flex-shrink:0}.scm-drilldown__title{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--text-primary)}.scm-drilldown__back{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;border-radius:4px;display:flex;align-items:center}.scm-drilldown__back:hover{background:var(--border);color:var(--text-primary)}.scm-drilldown__dot{width:8px;height:8px;border-radius:50%}.scm-drilldown__count{font-size:11px;font-weight:500;color:var(--text-secondary);background:color-mix(in srgb,var(--text-secondary) 10%,transparent);padding:1px 6px;border-radius:8px}.scm-drilldown__link{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--primary, #3b82f6);background:none;border:none;cursor:pointer;padding:3px 6px;border-radius:4px}.scm-drilldown__link:hover{background:color-mix(in srgb,var(--primary) 10%,transparent)}.scm-drilldown__body{flex:1;overflow-y:auto;padding-top:8px;min-height:0}.scm-drilldown__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:40px 10px;color:var(--text-secondary);font-size:12px}.scm-drilldown__empty p{margin:0}.scm-drilldown__spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--primary, #3b82f6);border-radius:50%;animation:drilldown-spin .8s linear infinite}@keyframes drilldown-spin{to{transform:rotate(360deg)}}.scm-drilldown__list{display:flex;flex-direction:column;gap:6px}.scm-drilldown__item{padding:8px 10px;border-radius:8px;border:1px solid var(--border);transition:background .15s}.scm-drilldown__item:hover{background:color-mix(in srgb,var(--text-primary) 3%,transparent)}.scm-drilldown__item--overdue{border-left:3px solid var(--danger, #ef4444)}.scm-drilldown__item-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.scm-drilldown__item-no{font-family:monospace;font-size:12px;font-weight:600;color:var(--primary, #3b82f6)}.scm-drilldown__item-status{font-size:9px;font-weight:600;padding:1px 6px;border-radius:3px}.scm-drilldown__item-title{font-size:12px;color:var(--text-primary);line-height:1.3;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scm-drilldown__item-meta{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-secondary)}.scm-drilldown__item-amount{margin-left:auto;font-weight:500}.scm-guide-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.scm-guide-modal{background:var(--panel);border-radius:12px;width:100%;max-width:1280px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.scm-guide-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border)}.scm-guide-modal__header h2{margin:0;font-size:18px;font-weight:700}.scm-guide-modal__close{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:6px;border-radius:6px}.scm-guide-modal__close:hover{background:var(--border)}.scm-guide-timeline{display:flex;align-items:center;gap:4px;padding:16px 24px;overflow-x:auto;border-bottom:1px solid var(--border)}.scm-guide-stage{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:all .2s;min-width:70px}.scm-guide-stage:hover{background:color-mix(in srgb,var(--stage-color) 10%,transparent)}.scm-guide-stage--active{background:color-mix(in srgb,var(--stage-color) 15%,var(--panel));border:2px solid var(--stage-color)}.scm-guide-stage__icon{color:var(--stage-color)}.scm-guide-stage__name{font-size:10px;font-weight:600;text-align:center;white-space:nowrap}.scm-guide-detail{padding:20px 24px 24px;display:flex;flex-direction:column;gap:14px}.scm-guide-detail__section h3{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;margin:0 0 8px;color:var(--text-primary)}.scm-guide-detail__section p{margin:0;font-size:13px;line-height:1.6;color:var(--text-secondary)}.scm-guide-detail__section ul{margin:0;padding-left:18px;font-size:12px;line-height:1.8;color:var(--text-secondary)}.scm-guide-detail__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.scm-guide-detail__sla{display:inline-block;padding:6px 12px;background:color-mix(in srgb,var(--warning, #f59e0b) 10%,var(--panel));border:1px solid var(--warning, #f59e0b);border-radius:6px;font-weight:600;color:var(--warning, #f59e0b)}.scm-guide-detail__table{width:100%;border-collapse:collapse;font-size:12px}.scm-guide-detail__table th{text-align:left;padding:6px 8px;background:color-mix(in srgb,var(--border) 30%,var(--panel));font-weight:600}.scm-guide-detail__table td{padding:6px 8px;border-bottom:1px solid var(--border)}@media (max-width: 700px){.scm-guide-detail__grid{grid-template-columns:1fr}}.scm-e2e{padding:20px 24px;display:flex;flex-direction:column;gap:16px;width:100%}.scm-e2e--loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:12px;color:var(--text-secondary)}.scm-e2e__spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary, #3b82f6);border-radius:50%;animation:spin .8s linear infinite}.scm-e2e__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.scm-e2e__title{font-size:20px;font-weight:700;margin:0;color:var(--text-primary)}.scm-e2e__actions{display:flex;gap:8px}.scm-e2e__btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--panel);color:var(--text-primary);transition:all .2s}.scm-e2e__btn:hover{background:var(--border)}.scm-e2e__btn--primary{background:var(--primary, #3b82f6);color:#fff;border-color:var(--primary, #3b82f6)}.scm-e2e__btn--primary:hover{opacity:.9}.scm-e2e__btn--outline{background:transparent;color:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6)}.scm-e2e__btn:disabled{opacity:.6;cursor:not-allowed}.scm-e2e__error{padding:12px 16px;background:color-mix(in srgb,var(--danger, #ef4444) 10%,var(--panel));border:1px solid var(--danger, #ef4444);border-radius:8px;color:var(--danger, #ef4444);font-size:13px;display:flex;align-items:center;gap:12px}.scm-e2e__error button{padding:4px 12px;border:1px solid var(--danger);border-radius:4px;background:transparent;color:var(--danger);cursor:pointer;font-size:12px}.scm-alert-banner{border-radius:10px;border:1px solid color-mix(in srgb,var(--danger, #ef4444) 30%,var(--border));background:color-mix(in srgb,var(--danger, #ef4444) 6%,var(--panel));overflow:hidden}.scm-alert-banner__summary{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.scm-alert-banner__summary:hover{background:color-mix(in srgb,var(--danger, #ef4444) 10%,var(--panel))}.scm-alert-banner__left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.scm-alert-banner__icon--critical{color:var(--danger, #ef4444);flex-shrink:0}.scm-alert-banner__label{font-size:13px;font-weight:700;color:var(--text-primary)}.scm-alert-banner__divider{width:1px;height:16px;background:var(--border);margin:0 4px}.scm-alert-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700;line-height:1.4}.scm-alert-badge--critical{background:var(--danger, #ef4444);color:#fff}.scm-alert-badge--warning{background:var(--warning, #f59e0b);color:#fff}.scm-alert-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600;background:color-mix(in srgb,var(--chip-color, #6b7280) 15%,var(--panel));color:var(--chip-color, #6b7280);border:1px solid color-mix(in srgb,var(--chip-color, #6b7280) 30%,transparent)}.scm-alert-chip--warning{--chip-color: var(--warning, #f59e0b)}.scm-alert-chip--active{outline:2px solid var(--chip-color, var(--warning, #f59e0b));outline-offset:1px;font-weight:700}.scm-alert-badge--active{outline:2px solid white;outline-offset:1px}.scm-alert-item__severity{font-size:9px;font-weight:600;padding:1px 5px;border-radius:3px;flex-shrink:0}.scm-alert-item__severity--critical{background:color-mix(in srgb,var(--danger, #ef4444) 15%,transparent);color:var(--danger, #ef4444)}.scm-alert-item__severity--warning{background:color-mix(in srgb,var(--warning, #f59e0b) 15%,transparent);color:var(--warning, #f59e0b)}.scm-alert-banner__toggle{display:inline-flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;font-size:12px;color:var(--text-secondary);padding:4px 8px;border-radius:4px;flex-shrink:0}.scm-alert-banner__toggle:hover{background:var(--border)}.scm-alert-banner__detail{border-top:1px solid var(--border);padding:12px 16px;display:flex;flex-direction:column;gap:12px;max-height:240px;overflow-y:auto}.scm-alert-group__header{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;margin-bottom:6px}.scm-alert-group__header--critical{color:var(--danger, #ef4444)}.scm-alert-group__header--warning{color:var(--warning, #f59e0b)}.scm-alert-group__items{display:flex;flex-direction:column;gap:4px}.scm-alert-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;font-size:12px;cursor:pointer;transition:background .15s}.scm-alert-item:hover{background:color-mix(in srgb,var(--text-primary) 5%,transparent)}.scm-alert-item__stage{display:inline-block;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:700;color:#fff;white-space:nowrap;flex-shrink:0}.scm-alert-item__ref{font-family:monospace;font-weight:600;color:var(--text-primary);white-space:nowrap;min-width:120px}.scm-alert-item__msg{color:var(--text-secondary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scm-alert-item__link{color:var(--text-secondary);flex-shrink:0;opacity:0;transition:opacity .15s}.scm-alert-item:hover .scm-alert-item__link{opacity:1}.scm-e2e__section{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:8px 12px}.scm-e2e__section-title{font-size:14px;font-weight:600;margin:0 0 12px;color:var(--text-primary)}.scm-e2e__kpi-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:6px}.skc{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:6px 8px;cursor:pointer;transition:all .15s}.skc:hover{border-color:var(--ac);background:color-mix(in srgb,var(--ac) 5%,var(--panel))}.skc--sel{border-color:var(--ac);background:color-mix(in srgb,var(--ac) 8%,var(--panel))}.skc--empty{opacity:.5}.skc__head{display:flex;align-items:center;gap:4px;margin-bottom:4px}.skc__dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.skc__name{font-size:10px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skc__no-data{font-size:10px;color:var(--text-secondary)}.skc__metrics{display:flex;flex-direction:column;gap:1px}.skc__m{display:flex;align-items:baseline;gap:3px;line-height:1.4}.skc__ml{font-size:9px;color:var(--text-secondary);white-space:nowrap}.skc__mv{font-size:11px;font-weight:700}.skc__mt{font-size:8px;color:var(--text-secondary)}.scm-e2e__trend-full{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}@media (max-width: 1400px){.scm-e2e__kpi-grid{grid-template-columns:repeat(6,1fr)}}@media (max-width: 900px){.scm-e2e__kpi-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 600px){.scm-e2e{padding:12px 16px}.scm-e2e__kpi-grid{grid-template-columns:repeat(3,1fr)}}.sf-page{padding:16px 20px;height:100%;display:flex;flex-direction:column;overflow:hidden}.sf-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;flex-shrink:0}.sf-title{display:flex;align-items:center;gap:8px}.sf-title h1{margin:0;font-size:1.1rem;font-weight:600}.sf-count{font-size:.7rem;color:var(--text-secondary);background:var(--border);padding:2px 8px;border-radius:10px}.sf-actions{display:flex;gap:6px}.sf-filters{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-shrink:0;flex-wrap:wrap}.sf-filters input,.sf-filters select{padding:5px 10px;border:1px solid var(--border);border-radius:6px;font-size:.8rem;background:var(--bg-primary);color:var(--text-primary)}.sf-search{display:flex;align-items:center;gap:4px;border:1px solid var(--border);border-radius:6px;padding:0 8px;background:var(--bg-primary);flex:1;max-width:250px}.sf-search input{border:none!important;padding:5px 4px!important;flex:1;background:transparent!important}.sf-search svg{color:var(--text-secondary);flex-shrink:0}.sf-table-wrap{flex:1;min-height:0;overflow-x:auto;overflow-y:hidden}.sf-table{width:100%;border-collapse:collapse}.sf-table th,.sf-table td{padding:7px 8px;border-bottom:1px solid var(--border);border-right:1px solid color-mix(in srgb,var(--border) 50%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.75rem}.sf-table th:last-child,.sf-table td:last-child{border-right:none}.sf-table th{background:var(--bg-secondary);font-weight:600;font-size:.7rem;color:var(--text-secondary);padding:8px;position:sticky;top:0;z-index:1}.sf-th-input{background:color-mix(in srgb,var(--primary, #3b82f6) 8%,var(--bg-secondary))!important}.sf-code{font-family:monospace;color:var(--primary, #3b82f6);font-size:.7rem}.sf-name{overflow:hidden;text-overflow:ellipsis}.sf-cat{font-size:.65rem;color:var(--text-secondary)}.sf-empty{text-align:center;padding:40px!important;color:var(--text-secondary)}.sf-input-cell{padding:2px 4px!important}.sf-qty-input{width:100%;padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:.8rem;text-align:right;background:var(--bg-primary);color:var(--text-primary);font-weight:600}.sf-qty-input:focus{border-color:var(--primary, #3b82f6);outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 20%,transparent)}.sf-qty-input:disabled{opacity:.5;cursor:not-allowed}.sf-conf-select{padding:2px 4px;border:1px solid transparent;border-radius:4px;font-size:.7rem;font-weight:600;background:transparent;cursor:pointer;text-align:center}.sf-conf-select:focus{border-color:var(--border)}.sf-conf-select:disabled{opacity:.5;cursor:not-allowed}.sf-row--dirty{background:color-mix(in srgb,var(--primary, #3b82f6) 5%,transparent)}.sf-row--dirty .sf-qty-input{border-color:var(--primary, #3b82f6)}.sf-status{display:inline-block;padding:2px 6px;border-radius:4px;font-size:.6rem;font-weight:600}.sf-status--draft{background:color-mix(in srgb,var(--text-secondary) 15%,transparent);color:var(--text-secondary)}.sf-status--confirmed{background:color-mix(in srgb,#10b981 15%,transparent);color:#10b981}.sf-status--new{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.sf-pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:6px 0;flex-shrink:0;font-size:.75rem}.sf-pagination button{padding:4px 12px;border:1px solid var(--border);border-radius:4px;background:var(--panel);color:var(--text-primary);cursor:pointer;font-size:.75rem}.sf-pagination button:disabled{opacity:.4;cursor:not-allowed}.btn{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border:1px solid var(--border);border-radius:6px;font-size:.75rem;cursor:pointer;background:var(--panel);color:var(--text-primary)}.btn-primary{background:var(--primary, #3b82f6);color:#fff;border-color:var(--primary)}.btn-secondary{background:var(--panel)}.btn-confirm{background:#10b981;color:#fff;border-color:#10b981}.spin{animation:spin .8s linear infinite}.supplier-list-page{display:flex;flex-direction:column;height:100%;padding:24px;background:var(--bg-primary)}.supplier-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.supplier-title{display:flex;align-items:center;gap:12px}.supplier-title svg{color:var(--primary, #3b82f6)}.supplier-title h1{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary, #1e293b)}.supplier-actions{display:flex;gap:8px}.supplier-summary-cards{display:flex;gap:12px;margin-bottom:16px}.sup-summary-card{flex:1;display:flex;flex-direction:column;align-items:center;padding:16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.sup-summary-card:hover{border-color:var(--primary);background:var(--panel-2);transform:translateY(-2px)}.sup-summary-card.active{border-color:var(--primary);background:#6366f126;box-shadow:0 4px 12px #6366f133}.sup-card-count{font-size:1.5rem;font-weight:700;color:var(--text-primary, #1e293b)}.sup-card-label{font-size:.8125rem;color:var(--text-secondary, #64748b);margin-top:4px}.supplier-grade-filter{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding:18px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.grade-label{font-size:.8125rem;font-weight:500;color:var(--text-secondary, #64748b);margin-right:8px}.grade-btn{display:flex;align-items:center;gap:4px;padding:8px 14px;border:1px solid var(--glass-border);border-radius:8px;background:var(--panel-2);font-size:13px;color:var(--text-primary);cursor:pointer;transition:all .2s}.grade-btn:hover{border-color:var(--primary);color:var(--primary)}.grade-btn.active{font-weight:500;border-color:var(--primary);background:#6366f126;color:var(--primary)}.supplier-search-area{display:flex;gap:8px;margin-bottom:16px}.sup-search-box{flex:1;display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:8px;transition:all .2s}.sup-search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.sup-search-box svg{color:var(--text-secondary, #64748b)}.sup-search-box input{flex:1;border:none;background:transparent;font-size:.875rem;outline:none}.supplier-filters{display:flex;gap:16px;margin-bottom:16px;padding:18px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.sup-filter-item{display:flex;flex-direction:column;gap:4px;min-width:150px}.sup-filter-item label{font-size:.75rem;font-weight:500;color:var(--text-secondary, #64748b)}.sup-filter-item select{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.sup-filter-item select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.supplier-table-container{flex:1;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.supplier-table{width:100%;border-collapse:collapse}.supplier-table th{padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--text-secondary);background:#08090a66;border-bottom:1px solid var(--glass-border);white-space:nowrap;position:sticky;top:0;text-transform:uppercase;letter-spacing:.5px}.supplier-table td{padding:14px 16px;font-size:13px;border-bottom:1px solid var(--glass-border);color:var(--text-primary)}.supplier-table tbody tr{cursor:pointer;transition:all .15s}.supplier-table tbody tr:hover td,.supplier-table tbody tr:hover .sup-cd{color:#fff!important}.supplier-table tbody tr:hover .sup-grade-badge,.supplier-table tbody tr:hover .sup-status-badge{background:#fff3!important;color:#fff!important}.sup-cd{font-family:monospace;color:var(--text-secondary, #64748b)}.sup-name{font-weight:500;color:var(--text-primary, #1e293b)}.sup-grade-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;color:var(--on-accent)}.sup-status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;color:var(--on-accent)}.sup-loading,.sup-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:var(--text-secondary, #64748b);gap:12px}.supplier-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px}.sup-page-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--glass-border);border-radius:8px;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.sup-page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.sup-page-btn:disabled{opacity:.5;cursor:not-allowed}.sup-page-info{font-size:.875rem;color:var(--text-secondary, #64748b)}.sup-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.sup-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.sup-btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.sup-btn-primary:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.sup-btn-icon{padding:10px}.sup-btn-active{border-color:var(--primary);background:#6366f126}.supplier-form-page{display:flex;flex-direction:column;height:100%;background:var(--bg-primary)}.supplier-form-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}.supplier-form-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--glass-bg);border-bottom:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.supplier-form-title{display:flex;align-items:center;gap:12px}.supplier-form-title h1{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.supplier-form-code{font-size:12px;color:var(--text-secondary);background:var(--panel-2);padding:4px 10px;border-radius:6px}.supplier-form-actions{display:flex;gap:8px}.supplier-form-tabs{display:flex;gap:4px;padding:0 24px;background:var(--glass-bg);border-bottom:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.supplier-form-content{flex:1;overflow-y:auto;padding:24px}.supplier-form-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:24px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.supplier-form-section h2{margin:0 0 16px;font-size:15px;font-weight:600;color:var(--text-primary)}.supplier-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.supplier-section-header h2{margin:0}.supplier-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.supplier-form-field{display:flex;flex-direction:column;gap:6px}.supplier-form-field.full{grid-column:1 / -1}.supplier-form-field label{font-size:13px;font-weight:500;color:var(--text-secondary)}.supplier-form-field input,.supplier-form-field select{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.supplier-form-field input:focus,.supplier-form-field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.supplier-form-section>textarea{width:100%;padding:12px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--panel-2);color:var(--text-primary);resize:vertical;font-family:inherit;transition:all .2s}.supplier-form-section>textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.supplier-btn:disabled{opacity:.5;cursor:not-allowed}.supplier-btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.supplier-btn-primary:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.supplier-table{width:100%;border-collapse:collapse;font-size:13px}.supplier-table th,.supplier-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--glass-border)}.supplier-table th{font-weight:600;font-size:12px;color:var(--text-secondary);background:#08090a66;text-transform:uppercase;letter-spacing:.5px}.supplier-table td{color:var(--text-primary)}.supplier-table tbody tr{transition:all .15s}.supplier-table tbody tr:hover{background:#1565c0!important}.supplier-table tbody tr:hover td{color:#fff!important}.supplier-item-actions{display:flex;gap:8px}.supplier-item-actions button{padding:6px 10px;font-size:12px;border:1px solid var(--glass-border);border-radius:6px;background:var(--glass-bg);color:var(--text-secondary);cursor:pointer;transition:all .2s}.supplier-item-actions button:hover{border-color:var(--primary);background:var(--panel-2);color:var(--primary)}.supplier-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.supplier-modal{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #0000004d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.supplier-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--glass-border)}.supplier-modal-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.supplier-modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--glass-border);border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s}.supplier-modal-close:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.supplier-modal-body{flex:1;overflow-y:auto;padding:20px}.supplier-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid var(--glass-border)}.supplier-detail-page{display:flex;flex-direction:column;height:100%;background:var(--bg-primary)}.supplier-detail-loading,.supplier-detail-error{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}.supplier-detail-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--glass-bg);border-bottom:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.supplier-detail-title{display:flex;align-items:center;gap:12px}.supplier-detail-title h1{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.supplier-detail-meta{display:flex;align-items:center;gap:8px;margin-top:4px}.supplier-code{font-size:12px;color:var(--text-secondary)}.supplier-status-badge,.supplier-grade-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:500;color:var(--on-accent)}.supplier-btn-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);color:var(--text-secondary);cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.supplier-btn-back:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.supplier-detail-actions{display:flex;gap:8px}.supplier-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;font-weight:500;background:var(--glass-bg);color:var(--text-primary);cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.supplier-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.supplier-btn-danger{color:#ef4444;border-color:#fecaca}.supplier-btn-danger:hover{background:#fef2f2}.supplier-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;padding:16px 24px;background:var(--glass-bg);border-bottom:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.supplier-summary-card{display:flex;align-items:center;gap:12px;padding:16px;background:var(--panel-2);border-radius:10px;border:1px solid var(--glass-border)}.summary-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--primary);border-radius:8px;color:var(--on-accent)}.summary-card-content{display:flex;flex-direction:column}.summary-card-label{font-size:12px;color:var(--text-secondary)}.summary-card-value{font-size:18px;font-weight:600;color:var(--text-primary)}.supplier-detail-tabs{display:flex;gap:4px;padding:0 24px;background:var(--glass-bg);border-bottom:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.supplier-tab{padding:12px 20px;border:none;background:none;font-size:14px;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.supplier-tab:hover{color:var(--text-primary)}.supplier-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.supplier-detail-content{flex:1;overflow-y:auto;padding:24px}.supplier-info-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:20px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.supplier-info-section h3{margin:0 0 16px;font-size:15px;font-weight:600;color:var(--text-primary)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-header h3{margin:0}.supplier-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.supplier-info-item{display:flex;flex-direction:column;gap:4px}.supplier-info-item.full{grid-column:1 / -1}.supplier-info-item label{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary)}.supplier-info-item span{font-size:14px;color:var(--text-primary)}.supplier-remarks{margin:0;font-size:14px;color:var(--text-primary);line-height:1.6;white-space:pre-wrap}.supplier-empty{padding:40px;text-align:center;color:var(--text-secondary)}.supplier-detail-table{width:100%;border-collapse:collapse;font-size:13px}.supplier-detail-table th,.supplier-detail-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--glass-border)}.supplier-detail-table th{font-weight:600;font-size:12px;color:var(--text-secondary);background:#08090a66;text-transform:uppercase;letter-spacing:.5px}.supplier-detail-table td{color:var(--text-primary)}.supplier-detail-table tbody tr{cursor:pointer;transition:all .15s}.supplier-detail-table tbody tr:hover{background:#1565c0!important}.supplier-detail-table tbody tr:hover td{color:#fff!important}.supplier-detail-table tbody tr:hover .grade-badge,.supplier-detail-table tbody tr:hover .result-badge{background:#fff3!important;color:#fff!important}.total-score{font-weight:600}.grade-badge,.result-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:500;color:var(--on-accent)}.cert-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.cert-card{background:var(--panel-2);border:1px solid var(--glass-border);border-radius:10px;padding:16px}.cert-card.expired{border-color:#fecaca;background:#fef2f2}.cert-card.expiring-soon{border-color:#fed7aa;background:#fffbeb}.cert-card-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:var(--text-secondary)}.cert-type{font-size:12px;font-weight:500}.cert-status{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.cert-status.expired{background:#ef4444;color:var(--on-accent)}.cert-status.expiring{background:#f59e0b;color:var(--on-accent)}.cert-name{margin:0 0 12px;font-size:15px;font-weight:600;color:var(--text-primary)}.cert-details{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cert-detail{display:flex;flex-direction:column;gap:2px}.cert-detail label{font-size:11px;color:var(--text-secondary)}.cert-detail span{font-size:13px;color:var(--text-primary)}.cert-detail span.warning{color:#ef4444;font-weight:500}.cert-scope{margin-top:12px;padding-top:12px;border-top:1px solid var(--glass-border)}.cert-scope label{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:4px}.cert-scope p{margin:0;font-size:13px;color:var(--text-primary)}.factory-list-page{display:flex;flex-direction:column;height:100%;background:var(--bg-primary);padding:24px}.factory-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.factory-list-title{display:flex;align-items:center;gap:12px}.factory-list-title h1{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.factory-status-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}.factory-status-card{display:flex;align-items:center;gap:12px;padding:16px;background:var(--glass-bg);border:2px solid var(--glass-border);border-radius:10px;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.factory-status-card:hover{border-color:var(--primary)}.factory-status-card.active{border-color:var(--primary);background:#6366f126;box-shadow:0 4px 12px #6366f133}.status-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;color:var(--on-accent)}.status-card-content{display:flex;flex-direction:column}.status-card-count{font-size:20px;font-weight:600;color:var(--text-primary)}.status-card-label{font-size:12px;color:var(--text-secondary)}.factory-search-bar{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:18px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.factory-search-input{display:flex;align-items:center;gap:8px;flex:1;padding:10px 14px;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:8px;color:var(--text-secondary);transition:all .2s}.factory-search-input input{flex:1;border:none;background:none;font-size:14px;color:var(--text-primary);outline:none}.factory-search-bar select{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--panel-2);color:var(--text-primary);min-width:120px;transition:all .2s}.factory-search-bar select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.factory-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;font-weight:500;background:var(--glass-bg);color:var(--text-primary);cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.factory-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.factory-btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.factory-btn-primary:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.factory-table-container{flex:1;overflow:auto;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.factory-loading,.factory-empty{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary)}.factory-table{width:100%;border-collapse:collapse;font-size:13px}.factory-table th,.factory-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--glass-border)}.factory-table th{font-size:12px;font-weight:600;color:var(--text-secondary);background:#08090a66;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0}.factory-table tbody tr{cursor:pointer;transition:all .15s}.factory-table tbody tr:hover{background:#1565c0!important}.factory-table tbody tr:hover td{color:#fff!important}.factory-table tbody tr:hover .factory-status-badge{background:#fff3!important;color:#fff!important}.factory-table tbody tr:hover .factory-code{color:#fff!important}.factory-code{font-family:monospace;font-weight:500;color:var(--primary)}.factory-name-cell{display:flex;flex-direction:column;gap:2px}.factory-name{font-weight:500;color:var(--text-primary)}.factory-name-local{font-size:11px;color:var(--text-secondary)}.country-cell,.employees-cell{display:flex;align-items:center;gap:4px;color:var(--text-secondary)}.factory-status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;color:#fff}.factory-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding:16px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.factory-page-btn{display:flex;align-items:center;justify-content:center;padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--panel-2);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s}.factory-page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.factory-page-btn:disabled{opacity:.5;cursor:not-allowed}.factory-page-btn.active{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.factory-page-info{font-size:14px;color:var(--text-secondary)}.factory-form-page{padding:24px;background:var(--bg-primary);min-height:100%}.factory-form-loading{display:flex;align-items:center;justify-content:center;height:300px;color:var(--text-secondary);font-size:14px}.btn-primary{background:var(--primary);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.form-container{display:flex;flex-direction:column;gap:24px}.form-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.section-title{margin:0 0 20px;font-size:16px;font-weight:600;color:var(--text-primary);padding-bottom:12px;border-bottom:1px solid var(--glass-border)}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.form-group.full-width{grid-column:1 / -1}.form-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.form-label.required:after{content:" *";color:#ef4444}.form-input,.form-select,.form-textarea{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;color:var(--text-primary);background:var(--panel-2);transition:all .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:var(--text-secondary);opacity:.6}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-secondary);opacity:.6}@media (max-width: 1024px){.form-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.factory-form-page{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.form-grid{grid-template-columns:1fr}.form-section{padding:16px}}.factory-detail-page{padding:24px;background:var(--bg-primary);min-height:100%}.factory-detail-loading,.factory-detail-error{display:flex;align-items:center;justify-content:center;height:300px;color:var(--text-secondary);font-size:14px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.header-left{display:flex;align-items:center;gap:16px}.back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.back-btn:hover{color:var(--primary);border-color:var(--primary);background:var(--panel-2)}.header-title svg{color:var(--primary)}.header-title h1{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.status-badge{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;color:var(--on-accent)}.header-actions{display:flex;gap:12px}.btn{display:flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary{background:var(--glass-bg);color:var(--text-primary);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.btn-secondary:hover{background:var(--panel-2);border-color:var(--primary);color:var(--primary)}.summary-card{display:flex;align-items:center;gap:14px;padding:16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.summary-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;color:var(--on-accent)}.summary-content{display:flex;flex-direction:column}.summary-label{font-size:12px;color:var(--text-secondary)}.summary-value{font-size:16px;font-weight:600;color:var(--text-primary);margin-top:2px}.tab-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.tab-header{display:flex;gap:4px;padding:12px 16px;border-bottom:1px solid var(--glass-border);background:var(--panel-2);border-radius:12px 12px 0 0}.tab-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:transparent;border:none;border-radius:6px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.tab-btn:hover{background:var(--glass-bg);color:var(--text-primary)}.tab-btn.active{background:var(--primary);color:var(--on-accent)}.tab-content{padding:24px}.info-tab{display:flex;flex-direction:column;gap:24px}.info-section h3{margin:0 0 16px;font-size:15px;font-weight:600;color:var(--text-primary);padding-bottom:10px;border-bottom:1px solid var(--glass-border)}.info-item.full-width{grid-column:1 / -1}.info-item svg{color:var(--text-secondary);margin-bottom:2px}.info-label{font-size:12px;color:var(--text-secondary)}.info-value{font-size:14px;color:var(--text-primary)}.remarks-text{margin:0;font-size:14px;color:var(--text-primary);line-height:1.6;white-space:pre-wrap}.production-tab{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--glass-border)}.data-table th{font-size:12px;font-weight:600;color:var(--text-secondary);background:#08090a66;text-transform:uppercase;letter-spacing:.5px}.data-table td{font-size:14px;color:var(--text-primary)}.data-table tbody tr{transition:all .15s}.data-table tbody tr:hover{background:#1565c0!important}.data-table tbody tr:hover td{color:#fff!important}.data-table tbody tr:hover .rate{background:#fff3!important;color:#fff!important}.rate{display:inline-block;padding:2px 8px;border-radius:4px;font-weight:500}.rate.good{background:#dcfce7;color:#16a34a}.rate.warning{background:#fef3c7;color:#d97706}.rate.bad{background:#fee2e2;color:#dc2626}.empty-state{padding:60px;text-align:center;color:var(--text-secondary);font-size:14px}.equipment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.equipment-card{padding:16px;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:8px;transition:all .2s}.equipment-card:hover{border-color:var(--primary)}.eq-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.eq-name{font-size:14px;font-weight:600;color:var(--text-primary)}.eq-status{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;color:var(--on-accent)}.eq-code{font-size:12px;color:var(--text-secondary);margin-bottom:12px}.eq-metrics{display:flex;gap:16px}.eq-metric{display:flex;flex-direction:column;gap:2px}.eq-metric-label{font-size:11px;color:var(--text-secondary)}.eq-metric-value{font-size:14px;font-weight:600;color:var(--text-primary)}@media (max-width: 1024px){.summary-cards,.info-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.factory-detail-page{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.summary-cards,.info-grid{grid-template-columns:1fr}.tab-header{overflow-x:auto}}.factory-dashboard{padding:24px;background:var(--bg-primary);min-height:100%}.factory-dashboard-loading{display:flex;align-items:center;justify-content:center;height:300px;color:var(--text-secondary);font-size:14px}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dashboard-title{display:flex;align-items:center;gap:12px}.dashboard-title h1{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.dashboard-title svg{color:var(--primary)}.dashboard-actions{display:flex;align-items:center;gap:16px}.last-updated{font-size:12px;color:var(--text-secondary)}.dashboard-btn{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.dashboard-btn:hover:not(:disabled){background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.dashboard-btn:disabled{opacity:.6;cursor:not-allowed}.dashboard-btn .spinning{animation:spin 1s linear infinite}.dashboard-kpi-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.kpi-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.kpi-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;color:var(--on-accent)}.kpi-value{font-size:24px;font-weight:700;color:var(--text-primary)}.kpi-label{font-size:13px;color:var(--text-secondary);margin-top:2px}.dashboard-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;margin-bottom:24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.section-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--glass-border)}.section-header h2{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.factory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding:20px}.factory-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.factory-card-name{font-size:15px;font-weight:600;color:var(--text-primary)}.factory-card-status{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;color:var(--on-accent)}.factory-card-country{font-size:12px;color:var(--text-secondary);margin-bottom:12px}.factory-card-metrics{display:flex;gap:16px}.metric{display:flex;flex-direction:column;gap:2px}.metric-label{font-size:11px;color:var(--text-secondary)}.metric-value{font-size:14px;font-weight:600;color:var(--text-primary)}.metric-value.good{color:#22c55e}.metric-value.warning{color:#f59e0b}.metric-value.bad{color:#ef4444}.factory-card-alert{display:flex;align-items:center;gap:6px;margin-top:12px;padding:8px 10px;background:#fef2f2;border-radius:6px;font-size:12px;color:#dc2626}.no-factories{grid-column:1 / -1;padding:40px;text-align:center;color:var(--text-secondary);font-size:14px}.production-trend{padding:20px}.trend-table{width:100%;border-collapse:collapse}.trend-table th,.trend-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--glass-border)}.trend-table th{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#08090a66}.trend-table td{font-size:14px;color:var(--text-primary)}.trend-table tbody tr{transition:all .15s}.trend-table tbody tr:hover{background:#1565c0!important}.trend-table tbody tr:hover td{color:#fff!important}.trend-table tbody tr:hover .achievement{background:#fff3!important;color:#fff!important}.achievement{display:inline-block;padding:2px 8px;border-radius:4px;font-weight:500}.achievement.good{background:#dcfce7;color:#16a34a}.achievement.warning{background:#fef3c7;color:#d97706}.achievement.bad{background:#fee2e2;color:#dc2626}@media (max-width: 1200px){.dashboard-kpi-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.factory-dashboard{padding:16px}.dashboard-header{flex-direction:column;align-items:flex-start;gap:12px}.dashboard-kpi-cards,.factory-grid{grid-template-columns:1fr}}.global-dashboard-page{padding:24px;background:var(--bg-primary);min-height:100%}.period-select{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;background:var(--panel-2);font-size:14px;color:var(--text-primary);transition:all .2s}.period-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.summary-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.summary-card .card-icon{color:var(--primary)}.summary-card.overseas .card-icon{color:#10b981}.summary-card.oee .card-icon{color:#3b82f6}.summary-card.defect .card-icon{color:#f59e0b}.card-content{flex:1}.card-value{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.card-label{font-size:.875rem;color:var(--text-secondary)}.alerts-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:24px}.summary-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.summary-section h2,.summary-section h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.alert-stats{display:flex;flex-direction:column;gap:.75rem}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--panel-2);border-radius:8px}.stat-item.critical{background:#fef2f2;border:1px solid #fecaca}.stat-value{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.chart-bars{display:flex;flex-direction:column;gap:.75rem}.bar-item{display:grid;grid-template-columns:80px 1fr 40px;align-items:center;gap:.75rem}.bar-label{font-size:.875rem;color:var(--text-primary)}.bar-track{height:24px;background:var(--panel-2);border-radius:6px;overflow:hidden}.bar-fill{height:100%;background:var(--primary);border-radius:4px;transition:width .3s ease}.bar-value{font-size:.875rem;font-weight:500;color:var(--text-primary);text-align:right}.severity-badges{display:flex;flex-wrap:wrap;gap:.75rem}.severity-item{display:flex;align-items:center;gap:.5rem}.severity-badge{padding:4px 12px;border-radius:4px;font-size:12px;font-weight:500;color:var(--on-accent)}.severity-count{font-size:.875rem;color:var(--text-secondary)}.comparison-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.comparison-section h2{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.comparison-table{width:100%;border-collapse:collapse}.comparison-table th,.comparison-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--glass-border)}.comparison-table th{background:#08090a66;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.comparison-table td{font-size:14px;color:var(--text-primary)}.comparison-table tbody tr{transition:all .15s}.comparison-table tbody tr:hover{background:#1565c0!important}.comparison-table tbody tr:hover td{color:#fff!important}.comparison-table th.number,.comparison-table td.number{text-align:right}.comparison-table .empty-cell{text-align:center;color:var(--text-secondary);padding:2rem}.loading-container{display:flex;justify-content:center;align-items:center;min-height:400px;color:var(--text-secondary)}@media (max-width: 1024px){.summary-cards{grid-template-columns:repeat(2,1fr)}.alerts-summary{grid-template-columns:1fr}}@media (max-width: 640px){.summary-cards{grid-template-columns:1fr}}.overseas-factory-page{padding:24px;background:var(--bg-primary);min-height:100%}.btn-primary{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.dashboard-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.stat-card.critical{border-color:#dc2626;background:#fef2f2}.stat-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--panel-2);border-radius:10px;color:var(--primary)}.stat-card.critical .stat-icon{background:#fee2e2;color:#dc2626}.stat-content{flex:1}.stat-value{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.stat-label{font-size:.875rem;color:var(--text-secondary)}.content-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h2{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.country-filter{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;background:var(--panel-2);font-size:14px;color:var(--text-primary);transition:all .2s}.country-filter:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.alert-count{padding:.25rem .75rem;background:#dc2626;color:#fff;border-radius:12px;font-size:.75rem;font-weight:500}.factory-list-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.factory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.factory-card{padding:16px;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;transition:all .2s}.factory-card:hover{border-color:var(--primary);background:#6366f11a;box-shadow:0 4px 12px #6366f126}.factory-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.factory-name{font-weight:600;color:var(--text-primary)}.factory-status{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.factory-status.status-active{background:#dcfce7;color:#16a34a}.factory-status.status-maintenance{background:#fef3c7;color:#d97706}.factory-status.status-inactive{background:#f3f4f6;color:#6b7280}.factory-info{display:flex;flex-direction:column;gap:.5rem}.info-row{display:flex;font-size:.875rem}.info-row .label{width:60px;color:var(--text-secondary)}.alerts-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.alerts-list{display:flex;flex-direction:column;gap:.75rem;max-height:500px;overflow-y:auto}.alert-item{padding:12px;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:8px;transition:all .2s}.alert-item:hover{border-color:var(--primary)}.alert-header{display:flex;gap:.5rem;margin-bottom:.5rem}.severity-badge,.status-badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;color:var(--on-accent)}.alert-title{font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.alert-meta{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary)}.empty-state{padding:2rem;text-align:center;color:var(--text-secondary)}.loading-container{display:flex;justify-content:center;align-items:center;min-height:300px;color:var(--text-secondary)}@media (max-width: 1024px){.dashboard-cards{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}}@media (max-width: 640px){.dashboard-cards{grid-template-columns:1fr}}.po-list-page{padding:16px;background:var(--bg);height:100%;display:flex;flex-direction:column;overflow:hidden}.status-summary-cards{display:flex;gap:.375rem;margin-bottom:.5rem;overflow-x:auto;flex-shrink:0}.summary-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:.5rem .75rem;cursor:pointer;transition:all .2s;display:flex!important;flex-direction:row!important;align-items:center!important;gap:.5rem;min-width:auto}.summary-card.active{border-color:var(--primary);background:var(--accent-bg, rgba(59, 130, 246, .12));box-shadow:0 4px 12px var(--accent-shadow, rgba(59, 130, 246, .18))}.summary-icon{color:var(--status-color, var(--text-secondary));display:flex;align-items:center;flex-shrink:0}.summary-icon svg{width:18px;height:18px}.summary-card .summary-text{display:flex!important;flex-direction:column!important;line-height:1.1;gap:0}.summary-card .summary-label{font-size:11px;color:var(--text-secondary);font-weight:600;white-space:nowrap}.summary-card .summary-count{font-size:16px;font-weight:700;color:var(--text-primary)}.search-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;margin-bottom:.75rem;background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-shrink:0}.search-bar input,.search-bar select{padding:6px 8px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--panel-2);color:var(--text-primary)}.search-bar input:focus,.search-bar select:focus{outline:none;border-color:var(--primary)}.search-bar input[type=date]{width:120px}.search-bar .search-keyword{width:180px}.search-actions{display:flex;gap:4px}.btn-search{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.btn-search:hover{background:var(--primary-hover, var(--primary));transform:translateY(-1px)}.btn-refresh{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--panel);border:1px solid var(--border);border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;flex-shrink:0}.result-info{font-size:12px;color:var(--text-secondary)}.btn-primary{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary:hover{background:var(--primary-hover, var(--primary));transform:translateY(-1px)}.po-table-container{background:var(--panel);border:1px solid var(--border);border-radius:10px;overflow:auto;flex:1;min-height:0}.po-table{width:100%;min-width:1100px;border-collapse:collapse;font-size:12px}.po-table thead{background:var(--table-header, var(--bg-secondary));position:sticky;top:0;z-index:1}.po-table th{padding:10px 12px;text-align:left;font-weight:700;font-size:11px;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap;text-transform:uppercase;letter-spacing:.03em}.po-table td{padding:8px 12px;border-bottom:1px solid var(--border);color:var(--text-primary);font-size:12px}.po-table tbody tr{cursor:pointer;transition:all .15s}.po-table tbody tr:hover{background:var(--hover)}.po-table tbody tr:last-child td{border-bottom:none}.po-no{font-weight:600;color:var(--primary)}.status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;color:var(--on-accent)}.amount{text-align:right;font-family:SF Mono,Monaco,Consolas,monospace}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:8px 0 0;flex-shrink:0}.pagination button{padding:5px 12px;border:1px solid var(--border);border-radius:6px;background:var(--panel-2);color:var(--text-primary);cursor:pointer;font-size:12px;transition:all .2s}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination button:not(:disabled):hover{border-color:var(--primary);color:var(--primary)}.pagination span{font-size:12px;color:var(--text-secondary)}.po-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.po-modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 24px #00000026}.po-modal--lg{width:900px;max-width:95vw}.po-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--table-header, var(--bg-secondary))}.po-modal__header h2{font-size:14px;font-weight:700;margin:0;color:var(--text-primary)}.po-modal__close{background:none;border:none;font-size:1.25rem;color:var(--text-secondary);cursor:pointer;padding:.25rem;line-height:1}.po-modal__close:hover{color:var(--text-primary)}.po-modal__body{padding:1rem;overflow-y:auto;flex:1}.po-modal__footer{display:flex;justify-content:flex-end;gap:.5rem;padding:16px 20px;border-top:1px solid var(--border);background:var(--table-header, var(--bg-secondary))}.po-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem 1rem;margin-bottom:1rem}.po-form-grid.cols-4{grid-template-columns:repeat(4,1fr)}.po-form-field{display:flex;flex-direction:column;gap:.25rem}.po-form-field.span-2{grid-column:span 2}.po-form-field label{font-size:11px;font-weight:600;color:var(--text-secondary)}.po-form-field label.required:after{content:" *";color:#ef4444}.po-form-field input,.po-form-field select,.po-form-field textarea{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.po-form-field input:focus,.po-form-field select:focus,.po-form-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-bg, rgba(59, 130, 246, .12))}.po-form-field input.po-no-preview{background:var(--bg-secondary);color:var(--primary);font-weight:600;font-family:SF Mono,Monaco,Consolas,monospace;cursor:not-allowed}.po-section-title{font-size:13px;font-weight:700;color:var(--text-primary);margin:1rem 0 .5rem;padding-bottom:.375rem;border-bottom:1px solid var(--border)}.po-section-title:first-child{margin-top:0}.po-items-section{margin-top:1rem}.po-items-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.po-items-container{max-height:300px;overflow-y:auto;overflow-x:visible;border:1px solid var(--border);border-radius:8px;position:relative}.po-items-table{width:100%;border-collapse:collapse;font-size:.8125rem}.po-items-table thead{background:var(--table-header, var(--bg-secondary));position:sticky;top:0}.po-items-table th{padding:10px 12px;text-align:left;font-weight:700;font-size:11px;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap;text-transform:uppercase;letter-spacing:.03em}.po-items-table td{padding:8px 10px;border-bottom:1px solid var(--border);color:var(--text-primary)}.po-items-table tbody tr:last-child td{border-bottom:none}.po-items-table input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.po-items-table input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-bg, rgba(59, 130, 246, .12))}.po-items-table input[type=number]{text-align:right}.po-items-table .col-no{width:40px;text-align:center}.po-items-table .col-code{width:100px}.po-items-table .col-name{min-width:120px}.po-items-table .col-spec,.po-items-table .col-qty{width:100px}.po-items-table .col-unit{width:80px}.po-items-table .col-price{width:110px}.po-items-table td:nth-child(3) input,.po-items-table td:nth-child(4) input,.po-items-table td:nth-child(5) input{font-size:13px;font-weight:600;padding:8px 10px;color:var(--text-primary);background:var(--panel)}.po-items-table td:nth-child(3) input:focus,.po-items-table td:nth-child(4) input:focus,.po-items-table td:nth-child(5) input:focus{background:var(--bg-secondary);border-color:var(--primary)}.po-items-table .col-amount{width:100px;text-align:right;font-family:SF Mono,Monaco,Consolas,monospace}.po-items-table .col-action{width:40px;text-align:center}.btn-add-item{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--panel);border:1px solid var(--border);border-radius:8px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.btn-remove-item{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem}.btn-remove-item:hover{color:#ef4444}.po-items-total{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:8px;padding:10px 12px;background:var(--panel-2);border-radius:8px;font-size:12px}.po-items-total .label{font-weight:500;color:var(--text-secondary)}.po-items-total .amount{font-weight:700;color:var(--text-primary);font-family:SF Mono,Monaco,Consolas,monospace}.btn-secondary{padding:6px 12px;background:var(--panel);border:1px solid var(--border);border-radius:8px;font-size:12px;color:var(--text-primary);cursor:pointer;transition:all .2s}.btn-secondary:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.btn-save{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.btn-save:hover:not(:disabled){background:var(--primary-hover, var(--primary));transform:translateY(-1px)}.btn-save:disabled{opacity:.5;cursor:not-allowed}.supplier-search-dropdown{position:relative}.supplier-search-input-wrapper{position:relative;display:flex;align-items:center}.supplier-search-input-wrapper input{width:100%;padding:8px 32px 8px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.supplier-search-input-wrapper input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-bg, rgba(59, 130, 246, .12))}.supplier-search-input-wrapper input.has-value{font-weight:500;color:var(--text-primary)}.supplier-dropdown-icon{position:absolute;right:.5rem;color:var(--text-secondary);cursor:pointer}.supplier-clear-btn{position:absolute;right:.5rem;background:none;border:none;padding:.125rem;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center}.supplier-clear-btn:hover{color:#ef4444}.supplier-dropdown-list{position:absolute;top:100%;left:0;right:0;margin:4px 0 0;padding:0;list-style:none;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #0003;max-height:200px;overflow-y:auto;z-index:100}.supplier-dropdown-item{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;cursor:pointer;transition:all .15s}.supplier-dropdown-item:hover{background:var(--accent-bg, rgba(59, 130, 246, .12))}.supplier-dropdown-item.selected{background:var(--accent-bg, rgba(59, 130, 246, .12));color:var(--primary)}.supplier-dropdown-item .supplier-name{font-size:12px;font-weight:600}.supplier-dropdown-item .supplier-code{font-size:11px;color:var(--text-secondary);font-family:SF Mono,Monaco,Consolas,monospace}.supplier-dropdown-empty{padding:10px;text-align:center;color:var(--text-secondary);font-size:12px}.item-search-dropdown{position:relative;width:100%}.item-search-input-wrapper{position:relative;display:flex;align-items:center}.item-search-input-wrapper input{width:100%;padding:8px 32px 8px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.item-search-input-wrapper input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-bg, rgba(59, 130, 246, .12))}.item-search-input-wrapper input.has-value{font-weight:500;border-color:var(--primary);background:var(--primary-light)}.item-dropdown-icon{position:absolute;right:.5rem;color:var(--text-secondary);cursor:pointer}.item-clear-btn{position:absolute;right:.5rem;background:none;border:none;padding:.125rem;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center}.item-clear-btn:hover{color:#ef4444}.item-dropdown-list{position:fixed;margin:0;padding:0;list-style:none;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0000004d;max-height:350px;overflow-y:auto;z-index:9999;min-width:400px;width:-moz-max-content;width:max-content;max-width:500px}.item-dropdown-item{display:flex;flex-direction:column;gap:2px;padding:8px 12px;cursor:pointer;transition:all .15s;border-bottom:1px solid var(--border)}.item-dropdown-item:last-child{border-bottom:none}.item-dropdown-item:hover,.item-dropdown-item.selected{background:var(--accent-bg, rgba(59, 130, 246, .12))}.item-dropdown-item .item-main-info{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.item-dropdown-item .item-code{font-size:12px;color:var(--primary);font-weight:600;font-family:SF Mono,Monaco,Consolas,monospace;background:var(--panel-2);padding:4px 8px;border-radius:4px;flex-shrink:0;transition:all .15s}.item-dropdown-item .item-name{font-size:12px;font-weight:600;color:var(--text-primary)}.item-dropdown-item .item-spec{font-size:11px;color:var(--text-secondary);margin-top:2px;padding-left:4px}.item-dropdown-loading,.item-dropdown-empty{padding:10px;text-align:center;color:var(--text-secondary);font-size:12px}.selected-item-info{display:flex;align-items:center;gap:8px;margin-top:6px;padding:6px 10px;background:var(--panel-2);border-radius:6px;font-size:12px}.selected-item-info .selected-item-code{color:var(--primary);font-weight:600;font-family:SF Mono,Monaco,Consolas,monospace}.selected-item-info .selected-item-spec{color:var(--text-secondary)}.po-items-table .col-item{min-width:200px;max-width:260px}@media (max-width: 1200px){.po-list-page{padding:12px}.po-table{min-width:900px}}@media (max-width: 900px){.po-list-page{padding:8px}.search-bar{flex-wrap:wrap}.search-bar input[type=date]{width:110px}.search-bar .search-keyword{width:140px}.status-summary-cards{display:none}.po-table{min-width:700px}}@media (max-width: 600px){.toolbar{flex-direction:column;gap:8px;align-items:flex-start}.po-table th,.po-table td{padding:6px 8px;font-size:11px}}.po-form-page{padding:24px;background:var(--bg-primary);min-height:100%}.page-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.page-header h1{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.form-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:20px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.form-section h2{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--glass-border)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--glass-border)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem 1rem}.form-grid.cols-4{grid-template-columns:repeat(4,1fr)}.form-field.span-full{grid-column:1 / -1}.form-field.span-3{grid-column:span 3}.form-field{display:flex;flex-direction:column;gap:.25rem}.form-field label .required{color:#ef4444}.form-field input,.form-field select,.form-field textarea{width:100%;padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--panel-2);color:var(--text-primary);box-sizing:border-box;transition:all .2s}.form-field textarea{resize:vertical;min-height:48px}.btn-add-item{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.items-table{width:100%;min-width:800px;border-collapse:collapse;font-size:.75rem}.items-table th{padding:10px 12px;text-align:left;font-weight:600;font-size:11px;color:var(--text-secondary);border-bottom:1px solid var(--glass-border);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.items-table td{padding:8px 10px;border-bottom:1px solid var(--glass-border)}.items-table td input{width:100%;padding:8px 10px;border:1px solid var(--glass-border);border-radius:6px;font-size:13px;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.items-table td.amount{text-align:right;font-family:SF Mono,Monaco,Consolas,monospace;font-weight:500;padding-right:.5rem}.btn-remove-item{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:.25rem;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s}.items-table tfoot{background:var(--panel-2)}.items-table tfoot td{padding:.375rem;font-weight:600}.total-label{text-align:right;color:var(--text-secondary)}.total-amount{text-align:right;font-family:SF Mono,Monaco,Consolas,monospace;color:var(--primary);font-size:.8125rem}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px;padding:16px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.btn-cancel{padding:10px 20px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-save{display:flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:8px;background:var(--primary);color:var(--on-accent);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}@media (max-width: 1024px){.form-grid.cols-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.form-grid,.form-grid.cols-4{grid-template-columns:1fr}.form-field.span-2,.form-field.span-3,.form-field.span-full{grid-column:1}}.po-detail-page{padding:16px;background:var(--bg);min-height:100%}.po-detail-page .loading,.po-detail-page .error{text-align:center;padding:48px;color:var(--text-secondary);font-size:12px}.po-detail-page .page-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.po-detail-page .btn-back{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-secondary);cursor:pointer;transition:all .2s}.po-detail-page .btn-back:hover{border-color:var(--primary);color:var(--primary)}.po-detail-page .header-info{flex:1;display:flex;align-items:center;gap:8px}.po-detail-page .header-info h1{font-size:14px;font-weight:700;color:var(--text-primary);margin:0}.po-detail-page .header-title-row{display:flex;align-items:center;gap:8px}.po-detail-page .header-supplier{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);padding-left:8px;border-left:1px solid var(--border)}.po-detail-page .header-supplier .supplier-name{color:var(--text-primary);font-weight:600}.po-detail-page .header-supplier .supplier-code{color:var(--text-secondary);font-size:11px}.po-detail-page .status-badge.large{padding:3px 8px;font-size:11px;font-weight:600}.po-detail-page .header-actions{display:flex;gap:4px}.po-detail-page .btn-edit{display:flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.po-detail-page .btn-edit:hover{border-color:var(--primary);color:var(--primary)}.po-detail-page .btn-status{display:flex;align-items:center;gap:4px;padding:5px 10px;border:none;border-radius:6px;background:var(--primary);color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.po-detail-page .btn-status:hover{opacity:.9}.po-detail-page .btn-status.cancel{background:#ef4444}.po-detail-page .btn-status.cancel:hover{background:#dc2626}.po-detail-page .stepper-area.horizontal{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:10px 16px;margin-bottom:12px}.po-detail-page .status-stepper.horizontal{display:flex;align-items:center;justify-content:center;gap:2px;overflow-x:auto}.po-detail-page .status-stepper.horizontal .step{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:64px}.po-detail-page .status-stepper.horizontal .step-line{flex:1;min-width:20px;height:2px}.po-detail-page .step{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:64px}.po-detail-page .step-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;background:var(--border);color:var(--text-secondary);transition:all .3s}.po-detail-page .step.active .step-icon{color:#fff}.po-detail-page .step.current .step-icon{box-shadow:0 0 0 3px #3b82f633}.po-detail-page .step-label{font-size:10px;color:var(--text-secondary);white-space:nowrap}.po-detail-page .step.active .step-label{color:var(--text-primary);font-weight:600}.po-detail-page .step-line{flex:1;min-width:32px;height:2px;background:var(--border);transition:background .3s}.po-detail-page .step-line.active{background:var(--primary)}.po-detail-page .detail-tabs{display:flex;gap:2px;background:var(--panel);border:1px solid var(--border);border-bottom:none;border-radius:8px 8px 0 0;padding:6px 6px 0}.po-detail-page .tab{display:flex;align-items:center;gap:4px;padding:8px 12px;border:none;border-radius:6px 6px 0 0;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.po-detail-page .tab:hover{color:var(--text-primary);background:var(--panel-2)}.po-detail-page .tab.active{color:var(--primary);background:var(--panel-2)}.po-detail-page .tab-content{background:var(--panel);border:1px solid var(--border);border-radius:0 0 8px 8px;padding:12px}.po-detail-page .items-table-container,.po-detail-page .receipts-table-container{overflow-x:auto}.po-detail-page .items-table,.po-detail-page .receipts-table{width:100%;border-collapse:collapse;font-size:11px}.po-detail-page .items-table thead,.po-detail-page .receipts-table thead{background:var(--bg-secondary)}.po-detail-page .items-table th,.po-detail-page .receipts-table th{padding:8px 10px;text-align:left;font-weight:700;font-size:12px;color:var(--text-secondary);border-bottom:1px solid var(--border);border-right:1px solid color-mix(in srgb,var(--border) 50%,transparent);white-space:nowrap;text-transform:uppercase;letter-spacing:.03em}.po-detail-page .items-table th:last-child,.po-detail-page .receipts-table th:last-child{border-right:none}.po-detail-page .items-table td,.po-detail-page .receipts-table td{padding:8px 10px;border-bottom:1px solid var(--border);border-right:1px solid color-mix(in srgb,var(--border) 50%,transparent);color:var(--text-primary);font-size:11px}.po-detail-page .items-table td:last-child,.po-detail-page .receipts-table td:last-child{border-right:none}.po-detail-page .items-table tbody tr,.po-detail-page .receipts-table tbody tr{transition:all .15s}.po-detail-page .items-table tbody tr:hover,.po-detail-page .receipts-table tbody tr:hover{background:var(--hover)}.po-detail-page .items-table td.center,.po-detail-page .receipts-table td.center,.po-detail-page .items-table th.center,.po-detail-page .receipts-table th.center{text-align:center}.po-detail-page .items-table td.right,.po-detail-page .receipts-table td.right,.po-detail-page .items-table th.right,.po-detail-page .receipts-table th.right{text-align:right}.po-detail-page .items-table td.right,.po-detail-page .receipts-table td.right{font-family:SF Mono,Monaco,Consolas,monospace}.po-detail-page .items-table{table-layout:fixed}.po-detail-page .items-table th:nth-child(1),.po-detail-page .items-table td:nth-child(1){width:36px;text-align:center}.po-detail-page .items-table th:nth-child(2),.po-detail-page .items-table td:nth-child(2){width:160px;word-break:break-all}.po-detail-page .items-table th:nth-child(3),.po-detail-page .items-table td:nth-child(3){width:auto;overflow:hidden;text-overflow:ellipsis}.po-detail-page .items-table th:nth-child(4),.po-detail-page .items-table td:nth-child(4){width:100px;overflow:hidden;text-overflow:ellipsis}.po-detail-page .items-table th:nth-child(5),.po-detail-page .items-table td:nth-child(5){width:100px;text-align:right;padding-right:12px}.po-detail-page .items-table th:nth-child(6),.po-detail-page .items-table td:nth-child(6){width:90px;text-align:right;padding-right:12px}.po-detail-page .items-table th:nth-child(7),.po-detail-page .items-table td:nth-child(7){width:110px;text-align:right;padding-right:12px}.po-detail-page .items-table th:nth-child(8),.po-detail-page .items-table td:nth-child(8){width:80px;text-align:right;padding-right:12px}.po-detail-page .items-table th:nth-child(9),.po-detail-page .items-table td:nth-child(9){width:80px;text-align:center}.po-detail-page .po-inline-qty{width:100%;padding:3px 4px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text-primary);font-size:11px;font-weight:600;text-align:right;outline:none;box-sizing:border-box;font-family:SF Mono,Monaco,Consolas,monospace}.po-detail-page .po-inline-qty:focus{border-color:var(--primary);box-shadow:0 0 0 2px #3b82f626}.po-detail-page .po-inline-qty::-webkit-inner-spin-button,.po-detail-page .po-inline-qty::-webkit-outer-spin-button{opacity:0}.po-detail-page .status-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;color:#fff}.po-detail-page .status-badge.small{font-size:10px;padding:2px 6px}.po-detail-page .empty-cell{text-align:center;padding:24px!important;color:var(--text-secondary);font-size:12px}.po-detail-page .history-timeline{padding:12px}.po-detail-page .history-item{display:flex;gap:12px;padding-bottom:16px;position:relative}.po-detail-page .history-item:not(:last-child):after{content:"";position:absolute;left:6px;top:18px;bottom:0;width:2px;background:var(--border)}.po-detail-page .history-dot{width:14px;height:14px;border-radius:50%;background:var(--primary);flex-shrink:0;margin-top:2px}.po-detail-page .history-content{flex:1}.po-detail-page .history-header{display:flex;align-items:center;gap:6px;margin-bottom:2px}.po-detail-page .history-status{display:flex;align-items:center;gap:4px;font-weight:700;font-size:12px;color:var(--text-primary)}.po-detail-page .history-status .from,.po-detail-page .history-status .arrow{color:var(--text-secondary)}.po-detail-page .history-status .to{color:var(--primary)}.po-detail-page .history-meta{display:flex;gap:8px;font-size:11px;color:var(--text-secondary)}.po-detail-page .history-remarks{margin-top:6px;padding:6px 8px;background:var(--panel-2);border-radius:4px;font-size:12px;color:var(--text-secondary)}.po-detail-page .link-button{background:none;border:none;color:var(--primary);cursor:pointer;padding:0;font-size:inherit;font-family:inherit;text-decoration:underline}.po-detail-page .link-button:hover{opacity:.8}.po-detail-page .tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:4px;border-radius:8px;font-size:10px;font-weight:700;background:var(--primary);color:#fff}.po-detail-page .tab-badge.alert{background:#ef4444}.po-detail-page .iqc-section{display:flex;flex-direction:column;gap:16px}.po-detail-page .iqc-table-container,.po-detail-page .incidents-table-container{overflow-x:auto}.po-detail-page .iqc-table-container h4,.po-detail-page .incidents-table-container h4{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.po-detail-page .iqc-table,.po-detail-page .incidents-table{width:100%;border-collapse:collapse;font-size:11px}.po-detail-page .iqc-table thead,.po-detail-page .incidents-table thead{background:var(--bg-secondary)}.po-detail-page .iqc-table th,.po-detail-page .incidents-table th{padding:8px 10px;text-align:left;font-weight:700;font-size:12px;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap;text-transform:uppercase;letter-spacing:.03em}.po-detail-page .iqc-table td,.po-detail-page .incidents-table td{padding:8px 10px;border-bottom:1px solid var(--border);color:var(--text-primary);font-size:11px}.po-detail-page .iqc-table tbody tr:hover,.po-detail-page .incidents-table tbody tr:hover{background:var(--hover)}.po-detail-page .source-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;background:var(--border);color:var(--text-secondary)}.po-detail-page .source-badge.iqc{background:var(--primary);color:#fff}.po-detail-page .receipts-section{display:flex;flex-direction:column;gap:12px}.po-detail-page .section-header{display:flex;justify-content:space-between;align-items:center}.po-detail-page .section-header h4{margin:0;font-size:13px;font-weight:700;color:var(--text-primary)}.po-detail-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;border:none;border-radius:6px;font-weight:600;font-size:12px;cursor:pointer;transition:all .2s}.po-detail-page .btn-sm{padding:5px 10px;font-size:11px}.po-detail-page .btn-primary{background:var(--primary);color:#fff}.po-detail-page .btn-primary:hover:not(:disabled){opacity:.9}.po-detail-page .btn-primary:disabled{opacity:.5;cursor:not-allowed}.po-detail-page .btn-secondary{background:var(--panel);border:1px solid var(--border);color:var(--text-primary)}.po-detail-page .btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.po-detail-page .approval-section .info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.po-detail-page .approval-section .info-item{display:flex;flex-direction:column;gap:2px}.po-detail-page .approval-section .info-label{font-size:11px;font-weight:600;color:var(--text-secondary)}.po-detail-page .approval-section .info-value{font-size:12px;font-weight:600;color:var(--text-primary)}.po-detail-page .approval-section .data-table{width:100%;border-collapse:collapse;font-size:12px}.po-detail-page .approval-section .data-table th{padding:8px 10px;font-size:11px;font-weight:700;color:var(--text-secondary);border-bottom:1px solid var(--border)}.po-detail-page .approval-section .data-table td{padding:8px 10px;border-bottom:1px solid var(--border)}.po-detail-page .empty-state{text-align:center;padding:24px;color:var(--text-secondary);font-size:12px}.po-detail-page .modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.po-detail-page .modal-content{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px;width:90%;max-width:480px;max-height:90vh;overflow-y:auto}.po-detail-page .modal-content h4{margin:0 0 12px;font-size:14px;font-weight:700;color:var(--text-primary);padding-bottom:8px;border-bottom:1px solid var(--border)}.po-detail-page .modal-section{display:flex;flex-direction:column;gap:10px}.po-detail-page .form-row{display:flex;flex-direction:column;gap:4px}.po-detail-page .form-row label{font-size:11px;font-weight:600;color:var(--text-secondary)}.po-detail-page .form-row .required{color:#ef4444}.po-detail-page .form-row input,.po-detail-page .form-row select,.po-detail-page .form-row textarea{padding:6px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text-primary);font-size:12px;font-family:inherit}.po-detail-page .form-row input:focus,.po-detail-page .form-row select:focus,.po-detail-page .form-row textarea:focus{outline:none;border-color:var(--primary)}.po-detail-page .checkbox-row label{display:flex;flex-direction:row;align-items:center;gap:6px;cursor:pointer;font-size:12px;color:var(--text-primary)}.po-detail-page .checkbox-row input[type=checkbox]{width:14px;height:14px;padding:0;cursor:pointer}.po-detail-page .modal-buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}@media (max-width: 1024px){.po-detail-page .stepper-area.horizontal{padding:8px 12px}}@media (max-width: 768px){.po-detail-page .page-header{flex-wrap:wrap}.po-detail-page .header-actions{width:100%;margin-top:8px}}.shipment-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.page-header{margin-bottom:1rem}.page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.status-summary-cards{display:flex!important;flex-wrap:nowrap!important;gap:8px;margin-bottom:1rem;overflow-x:auto}.status-summary-cards>.summary-card{flex:0 0 calc((100% - 48px) / 7)!important;min-width:80px;max-width:140px}.summary-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:14px 8px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:4px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.summary-icon{color:var(--status-color, var(--text-secondary))}.summary-icon svg{width:12px;height:12px}.summary-label{font-size:.6rem;color:var(--text-secondary);font-weight:500;white-space:nowrap}.summary-count{font-size:.875rem;font-weight:700;color:var(--text-primary)}.search-row{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.search-field{display:flex;flex-direction:column;gap:.25rem}.search-field label{font-size:.75rem;color:var(--text-secondary);font-weight:500}.search-field input,.search-field select{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.search-field input:focus,.search-field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.date-range{display:flex;align-items:center;gap:.5rem}.search-actions{display:flex;gap:.5rem}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.result-info{font-size:.875rem;color:var(--text-secondary)}.result-info strong{color:var(--text-primary);font-weight:600}.toolbar-actions{display:flex;gap:.5rem}.shipment-table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.shipment-table{width:100%;border-collapse:collapse;font-size:14px}.shipment-table thead{background:#08090a66}.shipment-table th{padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--glass-border);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.shipment-table td{padding:14px 16px;border-bottom:1px solid var(--glass-border);color:var(--text-primary)}.shipment-table tbody tr{cursor:pointer;transition:all .15s}.shipment-table tbody tr:hover{background:#1565c0!important}.shipment-table tbody tr:hover td,.shipment-table tbody tr:hover .shipment-no{color:#fff!important}.shipment-table tbody tr:hover .status-badge{background:#fff3!important;color:#fff!important}.shipment-table tbody tr:last-child td{border-bottom:none}.shipment-no{font-weight:600;color:var(--primary)}.type-icon{color:var(--text-secondary)}.type-icon.sea{color:#3b82f6}.type-icon.air{color:#8b5cf6}.type-icon.land{color:#22c55e}.actual-date{color:#22c55e;font-weight:500}.center{text-align:center}.arrow-cell{color:var(--text-secondary);width:32px}.loading-cell,.empty-cell{text-align:center;padding:3rem 1rem!important;color:var(--text-secondary)}.pagination button{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--panel-2);color:var(--text-primary);cursor:pointer;font-size:14px;transition:all .2s}.pagination button:not(:disabled):hover{border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.shipment-form-page{padding:24px;background:var(--bg-primary);min-height:100%}.loading{text-align:center;padding:3rem;color:var(--text-secondary)}.page-header h1{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.form-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:24px;margin-bottom:1rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.form-section h2{display:flex;align-items:center;gap:.5rem;font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--glass-border)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--glass-border)}.section-header h2{margin:0;padding:0;border:none}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.form-field{display:flex;flex-direction:column;gap:.375rem}.form-field.span-2{grid-column:span 2}.form-field.span-full{grid-column:span 4}.form-field label{font-size:.75rem;font-weight:500;color:var(--text-secondary)}.form-field textarea{resize:vertical;min-height:80px}.po-links{margin-top:1rem}.po-input-row{display:flex;gap:.5rem}.po-input-row input{flex:1;max-width:200px}.btn-add-po{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--glass-border);border-radius:8px;background:var(--panel-2);color:var(--text-secondary);cursor:pointer;transition:all .2s}.btn-add-po:hover{border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.po-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.po-tag{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--primary-light);border:1px solid var(--primary);border-radius:.25rem;font-size:.75rem;color:var(--primary)}.po-tag button{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:transparent;color:var(--primary);cursor:pointer;font-size:1rem;line-height:1}.po-tag button:hover{color:var(--primary-dark)}.btn-add-item{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;font-size:14px;color:var(--text-primary);cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.btn-add-item:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.items-table{width:100%;min-width:1000px;border-collapse:collapse;font-size:.875rem}.items-table th{padding:14px 12px;text-align:left;font-weight:600;font-size:12px;color:var(--text-secondary);border-bottom:1px solid var(--glass-border);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.items-table td{padding:10px 12px;border-bottom:1px solid var(--glass-border)}.items-table td input{width:100%;padding:8px 12px;border:1px solid var(--glass-border);border-radius:6px;font-size:14px;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.items-table td input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.btn-remove-item{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:.25rem;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s}.btn-remove-item:hover{background:#fee2e2;color:#ef4444}.form-actions{display:flex;justify-content:center;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--glass-border)}.btn-cancel{padding:12px 32px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.btn-cancel:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.btn-save{display:flex;align-items:center;gap:.5rem;padding:12px 32px;border:none;border-radius:8px;background:var(--primary);color:var(--on-accent);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}@media (max-width: 1024px){.form-grid{grid-template-columns:repeat(2,1fr)}.form-field.span-full{grid-column:span 2}}@media (max-width: 640px){.form-grid{grid-template-columns:1fr}.form-field.span-2,.form-field.span-full{grid-column:span 1}}.shipment-detail-page{padding:24px;background:var(--bg-primary);min-height:100%}.loading,.error{text-align:center;padding:3rem;color:var(--text-secondary)}.page-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.btn-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);color:var(--text-secondary);cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.header-info{flex:1;display:flex;align-items:center;gap:1rem}.header-title{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary)}.header-title h1{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.status-badge.large{padding:.375rem .75rem;font-size:.875rem}.btn-edit{display:flex;align-items:center;gap:6px;padding:10px 18px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.status-stepper{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;margin-bottom:1.5rem;overflow-x:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.step{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:80px}.step-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;background:var(--border);color:var(--text-secondary);transition:all .3s}.step.active .step-icon{color:var(--on-accent)}.step.current .step-icon{box-shadow:0 0 0 4px #3b82f633}.step-label{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.step.active .step-label{color:var(--text-primary);font-weight:500}.step-line{flex:1;min-width:40px;height:2px;background:var(--border);transition:background .3s}.step-line.active{background:var(--primary)}.info-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-bottom:1.5rem}.info-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:1rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.info-card h3{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--glass-border)}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item label{font-size:.75rem;color:var(--text-secondary)}.info-item span{font-size:.875rem;color:var(--text-primary);font-weight:500}.route-info{display:flex;align-items:center;gap:1rem;padding:.5rem 0}.route-port{flex:1;text-align:center}.port-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.port-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin:.25rem 0}.port-dates{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem .5rem;font-size:.75rem}.date-label{color:var(--text-secondary)}.date-value{color:var(--text-primary);font-weight:500}.date-value.actual{color:#22c55e}.route-arrow{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary)}.arrow-line{width:30px;height:2px;background:var(--border)}.cargo-stats{display:flex;justify-content:space-around;padding:.5rem 0}.cargo-stat{text-align:center}.stat-value{font-size:1.25rem;font-weight:700;color:var(--primary);font-family:SF Mono,Monaco,Consolas,monospace}.stat-label{font-size:.7rem;color:var(--text-secondary);margin-top:.25rem}.linked-pos{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;margin-bottom:1.5rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.linked-pos .label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.po-link{padding:.25rem .5rem;background:var(--primary-light);border:1px solid var(--primary);border-radius:.25rem;font-size:.75rem;font-weight:500;color:var(--primary);cursor:pointer;transition:all .2s}.po-link:hover{background:var(--primary);color:var(--on-accent)}.detail-tabs{display:flex;gap:.25rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-bottom:none;border-radius:10px 10px 0 0;padding:.5rem .5rem 0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.tab{display:flex;align-items:center;gap:.375rem;padding:.75rem 1.5rem;border:none;border-radius:.375rem .375rem 0 0;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.tab:hover{color:var(--text-primary);background:var(--panel-2)}.tab.active{color:var(--primary);background:var(--panel-2)}.tab-content{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:0 0 10px 10px;padding:1rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.tracking-content{padding:.5rem}.tracking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.tracking-header h4{margin:0;font-size:.875rem;color:var(--text-primary)}.btn-add-event{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:1px solid var(--primary);border-radius:.375rem;background:transparent;color:var(--primary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-add-event:hover{background:var(--primary);color:var(--on-accent)}.tracking-timeline{padding:1rem 0}.timeline-item{display:flex;gap:1rem;padding-bottom:1.5rem;position:relative}.timeline-item:not(:last-child):after{content:"";position:absolute;left:15px;top:32px;bottom:0;width:2px;background:var(--border)}.timeline-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--primary-light);color:var(--primary);flex-shrink:0}.timeline-content{flex:1;padding-top:.25rem}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.event-type{font-weight:600;color:var(--text-primary)}.event-datetime{font-size:.75rem;color:var(--text-secondary)}.event-location{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:var(--text-secondary);margin-bottom:.25rem}.event-description{font-size:.875rem;color:var(--text-secondary);padding:.5rem;background:var(--bg-secondary);border-radius:.25rem}.items-table-container{overflow-x:auto}.items-table{width:100%;border-collapse:collapse;font-size:.875rem}.items-table thead{background:#08090a66}.items-table th{padding:14px 16px;text-align:left;font-weight:600;font-size:12px;color:var(--text-secondary);border-bottom:1px solid var(--glass-border);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.items-table td{padding:14px 16px;border-bottom:1px solid var(--glass-border);color:var(--text-primary)}.items-table tbody tr{cursor:pointer;transition:all .15s}.items-table td.center{text-align:center}.items-table td.right{text-align:right;font-family:SF Mono,Monaco,Consolas,monospace}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;padding:.5rem}.document-card{display:flex;gap:.75rem;padding:1rem;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:10px;cursor:pointer;transition:all .2s}.document-card:hover{border-color:var(--primary)}.doc-icon{width:40px;height:40px;border-radius:.375rem;display:flex;align-items:center;justify-content:center;background:var(--primary-light);color:var(--primary)}.doc-type{font-weight:600;font-size:.875rem;color:var(--text-primary)}.doc-no{font-size:.75rem;color:var(--text-secondary);margin-top:.125rem}.doc-date{font-size:.7rem;color:var(--text-secondary);margin-top:.25rem}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;color:var(--on-accent)}.empty-cell{text-align:center;padding:2rem!important;color:var(--text-secondary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:1.5rem;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.modal-content h3{margin:0 0 1.5rem;font-size:1.125rem;color:var(--text-primary)}.modal-form{display:flex;flex-direction:column;gap:1rem}.modal-form .form-field{display:flex;flex-direction:column;gap:.375rem}.modal-form .form-row{display:flex;gap:1rem}.modal-form .form-row .form-field{flex:1}.modal-form label{font-size:.75rem;font-weight:500;color:var(--text-secondary)}.modal-form input,.modal-form select,.modal-form textarea{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.modal-form input:focus,.modal-form select:focus,.modal-form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.modal-form textarea{resize:vertical;min-height:80px}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--glass-border)}.modal-actions .btn-cancel{padding:10px 18px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s}.modal-actions .btn-cancel:hover{border-color:var(--primary);color:var(--primary)}.modal-actions .btn-save{padding:10px 18px;border:none;border-radius:8px;background:var(--primary);color:var(--on-accent);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.modal-actions .btn-save:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}@media (max-width: 1024px){.info-cards{grid-template-columns:1fr}}@media (max-width: 768px){.page-header{flex-wrap:wrap}.header-actions{width:100%;margin-top:1rem}.status-stepper{padding:1rem}.step{min-width:60px}.step-label{font-size:.65rem}.route-info{flex-direction:column;gap:1.5rem}.route-arrow{transform:rotate(90deg)}}.customs-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.search-field select,.search-field input{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--panel-2);color:var(--text-primary);min-width:140px;transition:all .2s}.search-field.keyword{flex:1;min-width:200px}.date-range{display:flex;align-items:center;gap:8px}.date-range span{color:var(--text-secondary)}.date-range input{width:140px}.customs-table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.customs-table{width:100%;border-collapse:collapse}.customs-table th,.customs-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--glass-border)}.customs-table th{background:#08090a66;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.customs-table tbody tr{cursor:pointer;transition:all .15s}.customs-table tbody tr:hover{background:#1565c0!important}.customs-table tbody tr:hover td,.customs-table tbody tr:hover td.customs-no{color:#fff!important}.customs-table tbody tr:hover td .type-badge,.customs-table tbody tr:hover td .status-badge,.customs-table tbody tr:hover td .inspection-badge{background:#fff3!important;color:#fff!important}.customs-table tbody tr:last-child td{border-bottom:none}.customs-table td{font-size:14px;color:var(--text-primary)}.customs-table td.customs-no{font-weight:500;color:var(--primary)}.customs-table td.amount{text-align:right;font-family:Roboto Mono,monospace}.customs-table td.center{text-align:center}.customs-table td.arrow-cell{width:40px;text-align:center;color:var(--text-tertiary)}.type-badge{display:inline-block;padding:4px 10px;font-size:12px;font-weight:500;border-radius:6px;background:var(--panel-2);color:var(--text-primary)}.type-badge.import{background:#3b82f633;color:#3b82f6}.type-badge.export{background:#22c55e33;color:#22c55e}.type-badge.transit{background:#eab30833;color:#ca8a04}.inspection-badge{display:inline-block;padding:4px 8px;font-size:11px;font-weight:500;border-radius:4px;background:#fef3c7;color:#92400e}.customs-form-page{padding:24px;background:var(--bg-primary);min-height:100%}.checkbox-field{flex-direction:row;align-items:center}.checkbox-field label{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-field input[type=checkbox]{width:18px;height:18px;cursor:pointer}.search-input{display:flex;gap:8px}.search-input input{flex:1}.search-input button{display:flex;align-items:center;justify-content:center;width:40px;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.search-input button:hover{border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.search-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;box-shadow:0 4px 12px #00000026;max-height:200px;overflow-y:auto;z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.search-item{padding:10px 12px;cursor:pointer;font-size:14px;color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.search-item:last-child{border-bottom:none}.search-item:hover{background:var(--panel-2)}.btn-add-item{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:8px;font-size:14px;cursor:pointer;color:var(--text-primary);transition:all .2s}.btn-add-item:hover{border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.items-table-container{overflow-x:auto;margin-bottom:20px}.items-table{width:100%;border-collapse:collapse;min-width:1200px}.items-table th,.items-table td{padding:12px 10px;text-align:left;border-bottom:1px solid var(--glass-border)}.items-table td{vertical-align:middle}.items-table input,.items-table select{width:100%;padding:8px 10px;border:1px solid var(--glass-border);border-radius:6px;font-size:13px;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.items-table input:focus,.items-table select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.items-table input[type=number]{text-align:right}.items-table input:-moz-read-only{background:var(--glass-bg);color:var(--text-secondary)}.items-table input:read-only{background:var(--glass-bg);color:var(--text-secondary)}.items-table .empty-cell{text-align:center;padding:40px 8px;color:var(--text-secondary)}.btn-remove{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-tertiary);transition:all .2s}.totals-section{display:flex;flex-direction:column;align-items:flex-end;gap:8px;padding-top:16px;border-top:1px solid var(--glass-border)}.total-row{display:flex;align-items:center;gap:16px;font-size:14px}.total-row span{color:var(--text-secondary);min-width:80px;text-align:right}.total-row strong{color:var(--text-primary);min-width:120px;text-align:right}.total-row.total{margin-top:8px;padding-top:8px;border-top:1px solid var(--glass-border);font-size:16px}.total-row.total strong{color:var(--primary)}.customs-detail-page{padding:24px;background:var(--bg-primary);min-height:100%}.btn-status,.btn-reject,.btn-edit,.btn-delete{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.btn-status{background:#10b981;color:var(--on-accent)}.btn-status:hover{background:#059669;transform:translateY(-1px)}.btn-reject{background:#ef4444;color:var(--on-accent)}.btn-reject:hover{background:#dc2626;transform:translateY(-1px)}.status-badge.small{padding:2px 6px;font-size:11px}.inspection-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#fef3c7;color:#92400e;border-radius:4px;font-size:13px}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.amount-summary{display:flex;gap:32px;padding:16px 20px;background:var(--panel-2);border-radius:8px;margin-bottom:20px}.amount-item{display:flex;flex-direction:column;gap:4px}.amount-item label{font-size:12px;color:var(--text-secondary)}.amount-item .amount{font-size:16px;font-weight:600;color:var(--text-primary);font-family:Roboto Mono,monospace}.amount-item.total .amount{color:var(--primary);font-size:18px}.remarks{padding-top:16px;border-top:1px solid var(--glass-border)}.remarks label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:8px}.remarks p{font-size:14px;color:var(--text-primary);line-height:1.6;white-space:pre-wrap}.tabs{display:flex;gap:4px;background:var(--glass-bg);border:1px solid var(--glass-border);border-bottom:none;border-radius:12px 12px 0 0;padding:8px 8px 0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.tab{display:flex;align-items:center;gap:8px;padding:12px 20px;background:transparent;border:none;border-radius:8px 8px 0 0;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.tab:hover{background:var(--panel-2);color:var(--text-primary)}.tab.active{background:var(--panel-2);color:var(--primary)}.tab-content{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:0 0 12px 12px;padding:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.items-section{overflow-x:auto}.items-table{width:100%;border-collapse:collapse;min-width:1000px}.documents-toolbar{margin-bottom:16px}.upload-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.upload-btn:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.documents-list{display:flex;flex-direction:column;gap:8px}.document-item{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--panel-2);border-radius:8px}.doc-icon{color:var(--primary)}.doc-info{flex:1}.doc-name{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.doc-meta{display:flex;gap:12px;font-size:12px;color:var(--text-secondary)}.doc-type{padding:2px 6px;background:var(--glass-bg);border-radius:4px}.doc-actions{display:flex;gap:4px}.doc-actions button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.doc-actions button:hover{background:var(--glass-bg);color:var(--primary)}.history-timeline{position:relative;padding-left:24px}.history-timeline:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:var(--glass-border)}.history-item{position:relative;padding-bottom:24px}.history-marker{position:absolute;left:-20px;top:6px;width:12px;height:12px;background:var(--primary);border:2px solid var(--glass-bg);border-radius:50%}.history-content{background:var(--panel-2);border-radius:8px;padding:12px 16px}.history-action{font-size:14px;font-weight:500;color:var(--text-primary)}.history-date{font-size:12px;color:var(--text-secondary)}.history-status{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;color:var(--text-secondary)}.history-remarks{font-size:13px;color:var(--text-primary);margin-bottom:8px;line-height:1.5}.history-user{font-size:12px;color:var(--text-tertiary)}.empty-message{text-align:center;padding:40px;color:var(--text-secondary);font-size:14px}.container-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.status-summary-cards{display:flex;gap:12px;margin-bottom:20px;overflow-x:auto;padding-bottom:4px}.summary-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:100px;padding:16px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.summary-card:hover{border-color:var(--primary);background:var(--panel-2);transform:translateY(-2px)}.summary-card.active{border-color:var(--primary);background:#6366f126;box-shadow:0 4px 12px #6366f133}.summary-card .summary-icon{color:var(--status-color, var(--text-secondary));margin-bottom:4px}.summary-card .summary-label{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.summary-card .summary-count{font-size:20px;font-weight:600;color:var(--text-primary)}.search-bar{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.search-row{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.search-field{display:flex;flex-direction:column;gap:4px}.search-field label{font-size:12px;color:var(--text-secondary);font-weight:500}.search-field select,.search-field input{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--panel-2);color:var(--text-primary);min-width:160px;transition:all .2s}.search-field select:focus,.search-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.search-field.keyword{flex:1;min-width:250px}.search-field.keyword input{width:100%}.btn-search{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-search:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.btn-refresh{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.btn-refresh:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.result-info{font-size:14px;color:var(--text-secondary)}.result-info strong{color:var(--text-primary)}.toolbar-actions{display:flex;gap:8px}.btn-primary{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.container-table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.container-table{width:100%;border-collapse:collapse}.container-table th,.container-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--glass-border)}.container-table th{background:#08090a66;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.container-table tbody tr{cursor:pointer;transition:background .15s}.container-table tbody tr:hover{background:#1565c0!important}.container-table tbody tr:hover td{color:#fff!important}.container-table tbody tr:hover td .type-badge,.container-table tbody tr:hover td .status-badge{background:#fff3!important;color:#fff!important}.container-table tbody tr:hover td.container-no{color:#fff!important}.container-table tbody tr:last-child td{border-bottom:none}.container-table td{font-size:14px;color:var(--text-primary)}.container-table td.container-no{font-weight:500;color:var(--primary)}.container-table td.center{text-align:center}.container-table td.right{text-align:right;font-family:Roboto Mono,monospace}.container-table td.arrow-cell{width:40px;text-align:center;color:var(--text-tertiary)}.type-badge{display:inline-block;padding:4px 8px;font-size:12px;font-weight:500;border-radius:4px;background:var(--bg-secondary);color:var(--text-primary)}.type-badge.dry{background:#e0e7ff;color:#4338ca}.type-badge.reefer{background:#d1fae5;color:#065f46}.type-badge.open_top{background:#fef3c7;color:#92400e}.type-badge.flat_rack{background:#fee2e2;color:#991b1b}.type-badge.tank{background:#e0f2fe;color:#075985}.status-badge{display:inline-block;padding:4px 8px;font-size:12px;font-weight:500;border-radius:4px;color:#fff}.loading-cell,.empty-cell{text-align:center;padding:40px 16px!important;color:var(--text-secondary)}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:16px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.pagination button{padding:8px 14px;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:6px;font-size:14px;cursor:pointer;color:var(--text-primary);transition:all .2s}.pagination button:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.pagination button.active{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.pagination span{font-size:14px;color:var(--text-secondary)}.container-form-page{padding:24px;background:var(--bg-primary);min-height:100%}.page-header h1{font-size:20px;font-weight:600;color:var(--text-primary);flex:1}.btn-save{display:flex;align-items:center;gap:6px;padding:10px 20px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-save:hover:not(:disabled){background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.btn-save:disabled{opacity:.6;cursor:not-allowed}.form-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:24px;margin-bottom:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.form-section h2{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--glass-border)}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media (max-width: 1200px){.form-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.form-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.form-grid{grid-template-columns:1fr}}.form-field{display:flex;flex-direction:column;gap:6px}.form-field.full-width{grid-column:1 / -1}.form-field label{font-size:13px;font-weight:500;color:var(--text-secondary)}.form-field input,.form-field select,.form-field textarea{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.form-field input:-moz-read-only{background:var(--glass-bg);color:var(--text-secondary)}.form-field input:read-only{background:var(--glass-bg);color:var(--text-secondary)}.form-field textarea{resize:vertical}.form-field small{font-size:11px;color:var(--text-tertiary)}.loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary)}.container-detail-page{padding:24px;background:var(--bg-primary);min-height:100%}.page-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.btn-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.btn-back:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.header-title{display:flex;align-items:center;gap:12px;flex:1}.header-title h1{font-size:20px;font-weight:600;color:var(--text-primary)}.btn-action,.btn-edit,.btn-delete{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.btn-action.vanning{background:#10b981;color:var(--on-accent)}.btn-action.vanning:hover{background:#059669;transform:translateY(-1px)}.btn-action.devanning{background:#3b82f6;color:var(--on-accent)}.btn-action.devanning:hover{background:#2563eb;transform:translateY(-1px)}.btn-edit{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary)}.btn-edit:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.btn-delete{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-secondary)}.btn-delete:hover{border-color:#ef4444;color:#ef4444}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:12px;font-weight:500;border-radius:4px;color:#fff}.detail-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:24px;margin-bottom:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.detail-section h2{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--glass-border)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--glass-border)}.section-header h2{margin-bottom:0;padding-bottom:0;border-bottom:none}.btn-add{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-add:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}@media (max-width: 1200px){.info-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.info-grid{grid-template-columns:repeat(2,1fr)}}.info-item label{font-size:12px;color:var(--text-secondary)}.info-item span{font-size:14px;color:var(--text-primary);font-weight:500}.capacity-summary{display:flex;gap:32px;padding:16px 20px;background:var(--panel-2);border-radius:8px;margin-bottom:20px;flex-wrap:wrap}.capacity-item{display:flex;flex-direction:column;gap:4px}.capacity-item label{font-size:12px;color:var(--text-secondary)}.capacity-item span{font-size:16px;font-weight:600;color:var(--text-primary);font-family:Roboto Mono,monospace}.capacity-item span.highlight{color:var(--primary)}.capacity-gauge{display:flex;align-items:center;gap:12px}.capacity-gauge label{font-size:13px;color:var(--text-secondary);min-width:80px}.gauge-bar{flex:1;height:12px;background:var(--panel-2);border-radius:6px;overflow:hidden}.gauge-fill{height:100%;border-radius:6px;transition:width .3s}.capacity-gauge span{font-size:14px;font-weight:600;color:var(--text-primary);min-width:50px;text-align:right}.add-item-form{padding:16px;background:var(--panel-2);border-radius:8px;margin-bottom:16px}.form-row{display:flex;gap:8px;flex-wrap:wrap}.add-item-form input{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--glass-bg);color:var(--text-primary);flex:1;min-width:100px;transition:all .2s}.add-item-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.btn-confirm{display:flex;align-items:center;justify-content:center;padding:10px 14px;background:#10b981;color:var(--on-accent);border:none;border-radius:8px;cursor:pointer;transition:all .2s}.btn-confirm:hover{background:#059669;transform:translateY(-1px)}.items-table{width:100%;border-collapse:collapse}.items-table th,.items-table td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--glass-border)}.items-table th{background:#08090a66;font-size:12px;font-weight:600;color:var(--text-secondary);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.items-table td{font-size:14px;color:var(--text-primary)}.items-table tbody tr{transition:all .15s}.items-table tbody tr:hover{background:#1565c0!important}.items-table tbody tr:hover td{color:#fff!important}.items-table td.right{text-align:right;font-family:Roboto Mono,monospace}.items-table .empty-cell{text-align:center;padding:40px;color:var(--text-secondary)}.btn-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-tertiary);transition:all .2s}.btn-remove:hover{background:#fee2e2;color:#dc2626}.remarks-text{font-size:14px;color:var(--text-primary);line-height:1.6;white-space:pre-wrap}.loading,.error{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary)}.error{color:#ef4444}.req-guide-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.req-guide-modal{background:var(--panel);border-radius:12px;width:100%;max-width:960px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column}.req-guide__header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border)}.req-guide__header h2{margin:0;font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px}.req-guide__close{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:6px;border-radius:6px}.req-guide__close:hover{background:var(--border)}.req-guide__tabs{display:flex;gap:2px;padding:8px 24px;border-bottom:1px solid var(--border);overflow-x:auto}.req-guide__tab{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;background:transparent;color:var(--text-secondary);white-space:nowrap}.req-guide__tab:hover{background:color-mix(in srgb,var(--text-primary) 5%,transparent)}.req-guide__tab--active{background:var(--primary, #3b82f6);color:#fff;font-weight:600}.req-guide__content{flex:1;overflow-y:auto;padding:20px 24px}.req-guide__section h3{font-size:14px;font-weight:700;margin:0 0 12px;color:var(--text-primary)}.req-guide__desc{font-size:13px;color:var(--text-secondary);line-height:1.6;margin:0 0 16px}.req-guide__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.req-guide__card{background:color-mix(in srgb,var(--text-primary) 3%,var(--panel));border:1px solid var(--border);border-radius:8px;padding:14px}.req-guide__card-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;margin-bottom:10px;color:var(--text-primary)}.req-guide__table{width:100%;border-collapse:collapse;font-size:12px}.req-guide__table td,.req-guide__table th{padding:6px 8px;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);text-align:left}.req-guide__table td:first-child{font-weight:600;color:var(--text-primary);width:100px;white-space:nowrap}.req-guide__table td:last-child{color:var(--text-secondary)}.req-guide__table--full{margin-top:8px}.req-guide__table--full th{background:color-mix(in srgb,var(--border) 30%,var(--panel));font-weight:600;font-size:11px;color:var(--text-secondary)}.req-guide__formula-cell{font-family:monospace;font-weight:600;color:var(--primary, #3b82f6)!important}.req-guide__formula-box{display:flex;flex-direction:column;gap:8px}.req-guide__formula-step{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;border-radius:8px;background:color-mix(in srgb,var(--text-primary) 3%,var(--panel));border:1px solid var(--border)}.req-guide__formula-step--highlight{background:color-mix(in srgb,var(--primary, #3b82f6) 8%,var(--panel));border-color:color-mix(in srgb,var(--primary, #3b82f6) 30%,var(--border))}.req-guide__step-num{width:24px;height:24px;border-radius:50%;background:var(--primary, #3b82f6);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.req-guide__formula-step--highlight .req-guide__step-num{background:var(--primary, #3b82f6)}.req-guide__formula-step strong{font-size:13px}.req-guide__formula-expr{font-family:monospace;font-size:13px;font-weight:600;color:var(--primary, #3b82f6);margin-top:2px}.req-guide__formula-note{font-size:11px;color:var(--text-secondary);margin-top:2px}.req-guide__list{margin:0;padding-left:16px;font-size:12px;line-height:1.8;color:var(--text-secondary)}.req-guide__list strong{color:var(--text-primary)}.req-guide__workflow{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.req-guide__wf-step{padding:12px;border-radius:8px;border:1px solid var(--border);background:color-mix(in srgb,var(--text-primary) 2%,var(--panel))}.req-guide__wf-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.req-guide__wf-num{width:20px;height:20px;border-radius:50%;background:var(--primary, #3b82f6);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.req-guide__wf-step p{margin:0;font-size:11px;color:var(--text-secondary);line-height:1.5}.req-guide__wf-action{display:flex;align-items:center;gap:4px;margin-top:8px;font-size:10px;font-weight:600;color:var(--primary, #3b82f6)}.req-guide__badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;color:#fff}.req-guide__faq{display:flex;flex-direction:column;gap:4px}.req-guide__faq details{border:1px solid var(--border);border-radius:8px;overflow:hidden}.req-guide__faq summary{padding:10px 14px;cursor:pointer;font-size:12px;font-weight:600;color:var(--text-primary);background:color-mix(in srgb,var(--text-primary) 2%,var(--panel))}.req-guide__faq summary:hover{background:color-mix(in srgb,var(--text-primary) 5%,var(--panel))}.req-guide__faq details[open] summary{border-bottom:1px solid var(--border)}.req-guide__faq p{margin:0;padding:10px 14px;font-size:12px;color:var(--text-secondary);line-height:1.6}@media (max-width: 700px){.req-guide__grid{grid-template-columns:1fr}.req-guide__workflow{grid-template-columns:repeat(2,1fr)}}.po-requirement-list-page{padding:16px;background:var(--bg);min-height:100%}.po-requirement-list-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.po-requirement-list-page .page-title{display:flex;align-items:center;gap:8px}.po-requirement-list-page .page-title h1{margin:0;font-size:16px;font-weight:700;color:var(--text-primary)}.po-requirement-list-page .page-actions{display:flex;gap:6px}.po-requirement-list-page .btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.po-requirement-list-page .btn:disabled{opacity:.5;cursor:not-allowed}.po-requirement-list-page .btn-primary{background:var(--primary);color:#fff}.po-requirement-list-page .btn-primary:hover:not(:disabled){opacity:.9}.po-requirement-list-page .btn-secondary{background:var(--panel);color:var(--text-primary);border:1px solid var(--border)}.po-requirement-list-page .btn-secondary:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.po-requirement-list-page .btn-sm{padding:4px 10px;font-size:11px}.req-status-cards{display:flex;gap:6px;margin-bottom:8px;overflow-x:auto}.req-status-chip{display:flex!important;flex-direction:row!important;align-items:center;justify-content:center;gap:6px;background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--chip-color, var(--text-secondary));border-radius:6px;padding:6px 10px;cursor:pointer;transition:all .15s}.req-status-chip:hover{border-color:var(--chip-color, var(--primary))}.req-status-chip--active{background:var(--chip-color, var(--primary))!important;border-color:var(--chip-color, var(--primary))!important}.req-status-chip__label{font-size:11px;color:var(--text-secondary);white-space:nowrap;font-weight:600}.req-status-chip--active .req-status-chip__label{color:#fff}.req-status-chip__count{font-size:14px;font-weight:700;color:var(--text-primary)}.req-status-chip--active .req-status-chip__count{color:#fff}.filter-bar{display:flex;gap:8px;margin-bottom:8px;padding:8px 10px;background:var(--panel);border:1px solid var(--border);border-radius:6px;align-items:center;flex-wrap:nowrap}.filter-group{display:flex;align-items:center;gap:4px;flex-shrink:0}.filter-group label{display:flex;align-items:center;gap:3px;font-size:11px;font-weight:600;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.filter-group input,.filter-group select{padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:12px;background:var(--bg);color:var(--text-primary);min-width:0}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:var(--primary)}.filter-group input[type=month]{width:130px}.filter-group.search{flex:1;min-width:150px}.filter-group.search input{width:100%}.error-message{padding:8px 12px;background:var(--danger-bg);color:var(--danger);border-radius:6px;margin-bottom:8px;font-size:12px}.plan-list-table{width:100%;border-collapse:collapse;font-size:12px}.plan-list-table th{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);background:var(--bg-secondary);font-weight:700;font-size:11px;color:var(--text-secondary);white-space:nowrap;text-transform:uppercase;letter-spacing:.03em}.plan-list-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border);font-size:12px;color:var(--text-primary)}.plan-list-table tbody tr:last-child td{border-bottom:none}.plan-list-table tbody tr.clickable{cursor:pointer;transition:all .15s}.plan-list-table tbody tr.clickable:hover{background:var(--hover)}.text-right{text-align:right!important}.text-center{text-align:center!important}.plan-no{font-family:SF Mono,Monaco,Consolas,monospace;font-weight:600;color:var(--primary)}.status-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;color:#fff}.shortage-count{color:var(--danger);font-weight:700}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:8px}.page-info{padding:0 12px;font-size:12px;color:var(--text-secondary)}@media (max-width: 1024px){.req-status-cards,.filter-bar{flex-wrap:wrap}.table-container{overflow-x:auto}}@media (max-width: 768px){.po-requirement-list-page{padding:12px}.po-requirement-list-page .page-header{flex-direction:column;gap:8px;align-items:flex-start}}.po-requirement-detail-page{padding:16px;background:var(--bg);height:100%;display:flex;flex-direction:column;overflow:hidden}.loading,.error-page{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;gap:12px;color:var(--text-secondary);font-size:12px}.po-requirement-detail-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;flex-shrink:0}.po-requirement-detail-page .page-title{display:flex;align-items:center;gap:8px}.po-requirement-detail-page .btn-back{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:4px;background:var(--panel);color:var(--text-primary);cursor:pointer;transition:all .2s}.po-requirement-detail-page .btn-back:hover{background:var(--hover);border-color:var(--primary)}.po-requirement-detail-page .page-title h1{margin:0;font-size:13px;font-weight:700;color:var(--text-primary);line-height:1.3}.po-requirement-detail-page .page-title .plan-no{font-size:10px;color:var(--text-secondary);font-family:SF Mono,Monaco,Consolas,monospace;opacity:.7}.po-requirement-detail-page .page-actions{display:flex;gap:6px}.po-requirement-detail-page .btn{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.po-requirement-detail-page .btn:disabled{opacity:.5;cursor:not-allowed}.po-requirement-detail-page .btn-primary{background:var(--primary);color:#fff}.po-requirement-detail-page .btn-primary:hover:not(:disabled){opacity:.9}.po-requirement-detail-page .btn-secondary{background:var(--panel);color:var(--text-primary);border:1px solid var(--border)}.po-requirement-detail-page .btn-secondary:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.po-requirement-detail-page .btn-success{background:var(--success);color:#fff}.po-requirement-detail-page .btn-success:hover:not(:disabled){filter:brightness(.9)}.po-requirement-detail-page .btn-sm{padding:3px 8px;font-size:11px}.po-requirement-detail-page .summary-cards{display:flex;gap:4px;margin-bottom:6px;flex-wrap:nowrap;flex-shrink:0;overflow-x:auto}.po-requirement-detail-page .summary-card{flex:0 0 auto;background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:4px 8px;display:flex;align-items:center;gap:6px;justify-content:flex-start}.po-requirement-detail-page .summary-card.highlight{border-color:var(--danger);background:#ef44440d}.po-requirement-detail-page .summary-label{display:flex;align-items:center;gap:2px;font-size:11px;font-weight:600;color:var(--text-secondary);white-space:nowrap;margin-bottom:0}.po-requirement-detail-page .summary-value{font-size:12px;font-weight:700;color:var(--text-primary);white-space:nowrap}.po-requirement-detail-page .summary-value.status{font-size:11px}.po-requirement-detail-page .summary-value.danger{color:var(--danger)}.po-requirement-detail-page .tabs{display:flex;gap:2px;margin-bottom:6px;border-bottom:1px solid var(--border);flex-shrink:0}.po-requirement-detail-page .tab{display:flex;align-items:center;gap:4px;padding:8px 14px;background:none;border:none;border-bottom:2px solid transparent;font-size:12px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s}.po-requirement-detail-page .tab:hover{color:var(--text-primary)}.po-requirement-detail-page .tab.active{color:var(--primary);border-bottom-color:var(--primary)}.po-requirement-detail-page .tab-content{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:8px;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.po-requirement-detail-page .item-filter-bar{display:flex;gap:4px;align-items:center;margin-bottom:6px;flex-shrink:0;flex-wrap:nowrap}.po-requirement-detail-page .checkbox-label{display:flex;align-items:center;gap:3px;font-size:11px;font-weight:600;color:var(--text-primary);cursor:pointer;white-space:nowrap;flex-shrink:0}.po-requirement-detail-page .checkbox-label input[type=checkbox]{width:14px;height:14px}.po-requirement-detail-page .item-filter-bar select{padding:3px 4px;border:1px solid var(--border);border-radius:4px;font-size:11px;background:var(--bg);color:var(--text-primary);min-width:0;max-width:90px;flex-shrink:1}.po-requirement-detail-page .item-filter-bar input[type=text]{padding:3px 6px;border:1px solid var(--border);border-radius:4px;font-size:11px;background:var(--bg);color:var(--text-primary);flex:1;min-width:100px;max-width:200px}.po-requirement-detail-page .item-filter-bar select:focus,.po-requirement-detail-page .item-filter-bar input[type=text]:focus{outline:none;border-color:var(--primary)}.po-requirement-detail-page .selection-info{display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--primary-bg);border-radius:4px;margin-bottom:6px;font-size:11px;color:var(--primary)}.po-requirement-detail-page .table-container{overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;scrollbar-gutter:stable}.po-requirement-detail-page .data-table{width:100%;border-collapse:collapse;table-layout:fixed}.po-requirement-detail-page .data-table th,.po-requirement-detail-page .data-table td{padding:6px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.po-requirement-detail-page .data-table th{background:var(--bg-secondary);font-weight:700;font-size:10px;color:var(--text-secondary);position:sticky;top:0;z-index:1;padding-top:8px;padding-bottom:8px;border-right:1px solid var(--border);text-transform:uppercase;letter-spacing:.03em}.po-requirement-detail-page .data-table th:last-child{border-right:none}.po-requirement-detail-page .data-table td{font-size:11px;color:var(--text-primary);border-right:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.po-requirement-detail-page .data-table td:last-child{border-right:none}.po-requirement-detail-page .data-table tbody tr:last-child td{border-bottom:none}.po-requirement-detail-page .items-table .shortage-row{background:#ef44440d}.po-requirement-detail-page .item-row-clickable:hover{background:var(--hover)!important}.po-requirement-detail-page .col-check{width:32px;text-align:center!important}.po-requirement-detail-page .col-data{width:70px}.po-requirement-detail-page .item-code{font-family:SF Mono,Monaco,Consolas,monospace;font-size:10px;font-weight:600;color:var(--primary);width:140px;overflow:hidden;text-overflow:ellipsis}.po-requirement-detail-page .item-name,.po-requirement-detail-page .col-name{overflow:hidden;text-overflow:ellipsis}.po-requirement-detail-page .text-right{text-align:right!important}.po-requirement-detail-page .text-center{text-align:center!important}.po-requirement-detail-page .font-bold{font-weight:700}.po-requirement-detail-page .badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600}.po-requirement-detail-page .badge-danger{background:var(--danger);color:#fff}.po-requirement-detail-page .badge-success{background:var(--success);color:#fff}.po-requirement-detail-page .priority-badge{font-size:10px;font-weight:700}.po-requirement-detail-page .pagination{display:flex;justify-content:center;align-items:center;gap:6px;padding:4px 0;flex-shrink:0;font-size:11px}.po-requirement-detail-page .page-info{padding:0 8px;font-size:11px;color:var(--text-secondary)}.po-requirement-detail-page .history-list{display:flex;flex-direction:column;gap:8px}.po-requirement-detail-page .empty-message{text-align:center;padding:24px;color:var(--text-secondary);font-size:12px}.po-requirement-detail-page .history-item{display:flex;gap:8px;padding:8px;background:var(--bg-secondary);border-radius:6px}.po-requirement-detail-page .history-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--panel);border-radius:50%;color:var(--text-secondary);flex-shrink:0}.po-requirement-detail-page .history-content{flex:1}.po-requirement-detail-page .history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.po-requirement-detail-page .history-status{font-weight:700;font-size:12px;color:var(--text-primary)}.po-requirement-detail-page .history-time{font-size:11px;color:var(--text-secondary)}.po-requirement-detail-page .history-remarks{font-size:12px;color:var(--text-primary);margin-bottom:2px}.po-requirement-detail-page .history-user{font-size:11px;color:var(--text-secondary)}.po-requirement-detail-page .inline-input{padding:3px 4px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text-primary);font-size:11px;font-weight:600;outline:none;box-sizing:border-box}.po-requirement-detail-page .inline-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #6366f11f}.po-requirement-detail-page .order-qty-wrap{position:relative;display:flex;align-items:center;gap:4px}.po-requirement-detail-page .order-qty-icon{position:absolute;right:-16px;top:50%;transform:translateY(-50%);pointer-events:none}.po-requirement-detail-page .fade-in{animation:fade-in .2s ease-out}@keyframes fade-in{0%{opacity:0;transform:translateY(-50%) scale(.8)}to{opacity:1;transform:translateY(-50%) scale(1)}}.po-requirement-detail-page .save-notice{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:8px;border-radius:6px;font-size:12px;font-weight:500;flex-shrink:0;animation:slide-down .25s ease-out}.po-requirement-detail-page .save-notice-success{background:#10b9811f;color:var(--success);border:1px solid rgba(16,185,129,.3)}.po-requirement-detail-page .save-notice-error{background:#ef44441f;color:var(--danger);border:1px solid rgba(239,68,68,.3)}.po-requirement-detail-page .save-notice-close{margin-left:auto;background:none;border:none;color:inherit;font-size:16px;cursor:pointer;padding:0 4px;opacity:.7}.po-requirement-detail-page .save-notice-close:hover{opacity:1}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.approver-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.approver-modal{background:var(--panel);border:1px solid var(--border);border-radius:10px;width:400px;max-width:90vw;max-height:70vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0006}.approver-modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}.approver-modal-header h3{margin:0;font-size:14px;font-weight:700;color:var(--text-primary)}.approver-search-box{display:flex;align-items:center;gap:6px;margin:8px 12px;padding:6px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;transition:border-color .2s}.approver-search-box:focus-within{border-color:var(--primary)}.approver-search-box svg{color:var(--text-secondary);flex-shrink:0}.approver-search-box input{flex:1;border:none;background:transparent;outline:none;font-size:12px;color:var(--text-primary)}.approver-results{flex:1;overflow-y:auto;padding:0 8px 8px;min-height:120px;max-height:360px}.approver-empty{padding:24px 12px;text-align:center;color:var(--text-secondary);font-size:12px}.approver-item{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .15s}.approver-item:hover{background:var(--hover)}.approver-name{font-size:12px;font-weight:600;color:var(--text-primary)}.approver-info{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary)}.approver-id{font-family:SF Mono,Monaco,Consolas,monospace;opacity:.7}@media (max-width: 1024px){.summary-cards,.item-filter-bar{flex-wrap:wrap}}@media (max-width: 768px){.po-requirement-detail-page{padding:12px}.po-requirement-detail-page .page-header{flex-direction:column;gap:8px}.po-requirement-detail-page .page-actions{width:100%;flex-wrap:wrap}.po-requirement-detail-page .page-actions .btn{flex:1}}.rid-panel{display:flex;flex-direction:column;gap:6px;height:100%;overflow-y:auto;font-size:12px}.rid-loading{padding:20px;text-align:center;color:var(--text-secondary);font-size:12px}.rid-item-header{display:flex;flex-direction:column;gap:2px;padding-bottom:8px;border-bottom:1px solid var(--border)}.rid-item-code{font-family:monospace;font-size:11px;color:var(--primary, #3b82f6);font-weight:500}.rid-item-name{font-size:14px;font-weight:700;color:var(--text-primary)}.rid-section{border:1px solid var(--border);border-radius:6px;overflow:hidden}.rid-section-header{display:flex;align-items:center;gap:6px;padding:7px 10px;cursor:pointer;font-weight:600;font-size:11px;color:var(--text-primary);background:color-mix(in srgb,var(--text-primary) 3%,var(--panel))}.rid-section-header:hover{background:color-mix(in srgb,var(--text-primary) 6%,var(--panel))}.rid-section-header svg:last-child{margin-left:auto;color:var(--text-secondary)}.rid-section-body{padding:6px 10px}.rid-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 30%,transparent)}.rid-row:last-child{border-bottom:none}.rid-row-label{font-size:11px;color:var(--text-secondary)}.rid-row-value{font-size:12px;font-weight:600;color:var(--text-primary);text-align:right;max-width:60%;overflow:hidden;text-overflow:ellipsis}.rid-formula{margin:6px -10px 2px;padding:6px 10px;border-radius:4px;background:color-mix(in srgb,var(--primary, #3b82f6) 6%,transparent);display:flex;flex-direction:column;gap:2px}.rid-formula-label{font-size:10px;font-weight:700;color:var(--primary, #3b82f6)}.rid-formula-expr{font-size:11px;font-family:monospace;color:var(--text-secondary)}.rid-formula-result{font-size:13px;font-weight:700;color:var(--primary, #3b82f6)}.rid-calc-step{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 30%,transparent)}.rid-calc-step:last-child{border-bottom:none}.rid-calc-step--highlight{margin:0 -10px;padding:8px 10px;border-radius:6px;background:color-mix(in srgb,var(--primary, #3b82f6) 8%,transparent);border:1px solid color-mix(in srgb,var(--primary, #3b82f6) 25%,transparent)}.rid-calc-num{width:20px;height:20px;border-radius:50%;background:var(--primary, #3b82f6);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rid-calc-title{font-size:11px;font-weight:700;color:var(--text-primary)}.rid-calc-expr{font-size:10px;font-family:monospace;color:var(--text-secondary);margin-top:2px;line-height:1.5}.rid-calc-result{font-size:12px;font-weight:700;color:var(--text-primary);margin-top:2px}.rid-calc-result--primary{color:var(--primary, #3b82f6);font-size:14px}.rid-result-box{display:flex;flex-direction:column;gap:6px;margin-top:4px}.rid-result-item{display:flex;justify-content:space-between;align-items:center}.rid-result-label{font-size:11px;color:var(--text-secondary)}.rid-result-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700}.rid-result-badge--danger{background:color-mix(in srgb,#ef4444 15%,transparent);color:#ef4444}.rid-result-badge--success{background:color-mix(in srgb,#10b981 15%,transparent);color:#10b981}.rid-result-badge--critical{background:color-mix(in srgb,#ef4444 15%,transparent);color:#ef4444}.rid-result-badge--high{background:color-mix(in srgb,#f59e0b 15%,transparent);color:#f59e0b}.rid-result-badge--medium{background:color-mix(in srgb,#3b82f6 15%,transparent);color:#3b82f6}.rid-result-badge--low{background:color-mix(in srgb,#64748b 15%,transparent);color:#64748b}.rid-result-qty{font-size:16px;font-weight:700;color:var(--primary, #3b82f6)}.rid-trend{margin-top:6px}.rid-trend-title{font-size:10px;color:var(--text-secondary);margin-bottom:4px;font-weight:600}.rid-trend-bars{display:flex;gap:2px;align-items:flex-end;height:40px}.rid-trend-bar{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.rid-trend-fill{width:100%;background:var(--primary, #3b82f6);border-radius:2px 2px 0 0;min-height:1px;opacity:.5}.rid-trend-bar:hover .rid-trend-fill{opacity:1}.rid-trend-label{font-size:7px;color:var(--text-secondary);margin-top:1px}.rid-forecast-section{margin-top:6px}.rid-forecast-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:11px;border-bottom:1px solid color-mix(in srgb,var(--border) 30%,transparent)}.rid-forecast-row:last-child{border-bottom:none}.rid-forecast-qty{font-weight:700}.rid-forecast-status{font-size:9px;font-weight:600;padding:1px 5px;border-radius:3px}.rid-forecast-status--confirmed{background:color-mix(in srgb,#10b981 15%,transparent);color:#10b981}.rid-forecast-status--draft{background:color-mix(in srgb,#94a3b8 15%,transparent);color:#94a3b8}.po-requirement-form-page{padding:16px 24px;background:var(--bg-primary);min-height:100%}.po-requirement-form-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.po-requirement-form-page .page-title{display:flex;align-items:center;gap:12px}.po-requirement-form-page .btn-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--glass-border, var(--border));border-radius:8px;background:var(--glass-bg, var(--panel));color:var(--text-secondary);cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.po-requirement-form-page .btn-back:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2, var(--bg-secondary))}.po-requirement-form-page .page-title h1{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.po-requirement-form-page .form-container{width:100%;min-width:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.po-requirement-form-page .form-section.section-basic{grid-column:span 12}.po-requirement-form-page .form-section.section-calc{grid-column:span 4}.po-requirement-form-page .form-section.section-scope{grid-column:span 8}.po-requirement-form-page .form-section.section-remarks,.po-requirement-form-page .error-message,.po-requirement-form-page .form-actions{grid-column:span 12}@media (max-width: 1200px){.po-requirement-form-page .form-section.section-calc,.po-requirement-form-page .form-section.section-scope{grid-column:span 12}}.po-requirement-form-page .error-message{padding:12px 16px;background:var(--danger-bg, rgba(220, 38, 38, .1));color:var(--danger);border:1px solid var(--danger);border-radius:8px;margin-bottom:16px}.po-requirement-form-page .form-section{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin:0;overflow:visible;position:relative;z-index:1}.po-requirement-form-page .form-section:focus-within{z-index:100}.po-requirement-form-page .form-section h2{display:flex;align-items:baseline;gap:8px;margin:0 0 10px;font-size:14px;font-weight:600;color:var(--text-primary);padding-bottom:8px;border-bottom:1px solid var(--glass-border, var(--border))}.po-requirement-form-page .form-section .section-hint-inline{font-size:11px;font-weight:400;color:var(--text-secondary)}.po-requirement-form-page .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:0}.po-requirement-form-page .form-row+.form-row{margin-top:10px}.po-requirement-form-page .form-group{display:flex;flex-direction:column;gap:4px;min-width:0}.po-requirement-form-page .form-group.full-width{grid-column:1 / -1}.po-requirement-form-page .form-group.form-group-wide{grid-column:span 2}@media (max-width: 640px){.po-requirement-form-page .form-group.form-group-wide{grid-column:1 / -1}}.po-requirement-form-page .form-group label{font-size:12px;font-weight:500;color:var(--text-secondary);line-height:1.2}.po-requirement-form-page .form-group .required{color:var(--danger);margin-left:2px}.po-requirement-form-page .form-group input,.po-requirement-form-page .form-group select,.po-requirement-form-page .form-group textarea{width:100%;box-sizing:border-box;height:34px;padding:0 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;line-height:1.2;background:var(--panel-2, var(--bg-primary));color:var(--text-primary);transition:all .2s;font-family:inherit}.po-requirement-form-page .form-group textarea{height:auto;padding:8px 10px}.po-requirement-form-page .form-group input:focus,.po-requirement-form-page .form-group select:focus,.po-requirement-form-page .form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.po-requirement-form-page .form-group input:disabled,.po-requirement-form-page .form-group select:disabled,.po-requirement-form-page .form-group textarea:disabled{background:var(--bg-secondary);cursor:not-allowed;opacity:.6}.po-requirement-form-page .form-group textarea{resize:vertical;min-height:50px}.po-requirement-form-page .form-group .hint{font-size:11px;color:var(--text-secondary);line-height:1.3}.po-requirement-form-page .form-section-hint{font-size:12px;color:var(--text-secondary);margin-top:8px;padding-top:12px;border-top:1px dashed var(--glass-border, var(--border))}.po-requirement-form-page .btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border:1px solid var(--glass-border, var(--border));border-radius:8px;font-size:14px;font-weight:500;background:var(--glass-bg, var(--panel));color:var(--text-primary);cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.po-requirement-form-page .btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--panel-2, var(--bg-secondary))}.po-requirement-form-page .btn:disabled{opacity:.5;cursor:not-allowed}.po-requirement-form-page .btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-accent, #fff)}.po-requirement-form-page .btn-primary:hover:not(:disabled){background:var(--primary-dark, #4f46e5);border-color:var(--primary-dark, #4f46e5);color:var(--on-accent, #fff);transform:translateY(-1px)}.po-requirement-form-page .btn-secondary{background:var(--glass-bg, var(--panel));color:var(--text-primary)}.po-requirement-form-page .form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px;padding-top:12px;border-top:1px solid var(--glass-border, var(--border))}.po-requirement-form-page .btn{padding:8px 16px}.po-requirement-form-page .searchable-select{position:relative;width:100%;min-width:0}.po-requirement-form-page .searchable-select__input-wrap{position:relative;display:flex;align-items:center;width:100%;min-width:0}.po-requirement-form-page .searchable-select__input-wrap input{width:100%;min-width:0;box-sizing:border-box;height:34px;padding:0 28px 0 10px;border:1px solid var(--border);border-radius:6px;background:var(--panel-2, var(--bg-primary));color:var(--text-primary);font-size:13px;line-height:1.2;font-family:inherit;transition:all .2s}.po-requirement-form-page .searchable-select__input-wrap input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.po-requirement-form-page .searchable-select__clear{position:absolute;right:6px;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:2px 6px;line-height:1}.po-requirement-form-page .searchable-select__clear:hover{color:var(--text-primary)}.po-requirement-form-page .searchable-select__dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow-y:auto;background:var(--panel-2, #1e1e1e);border:1px solid var(--border);border-radius:6px;z-index:1000;box-shadow:0 12px 32px #00000080,0 0 0 1px #0003;backdrop-filter:none;-webkit-backdrop-filter:none}.po-requirement-form-page .searchable-select__item{padding:9px 12px;font-size:13px;color:var(--text-primary);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:transparent;border-bottom:1px solid var(--border)}.po-requirement-form-page .searchable-select__item:last-child{border-bottom:none}.po-requirement-form-page .searchable-select__item:hover{background:var(--primary);color:#fff}.po-requirement-form-page .searchable-select__item--loading,.po-requirement-form-page .searchable-select__item--empty{color:var(--text-secondary);cursor:default;font-style:italic}.po-requirement-form-page .searchable-select__item--loading:hover,.po-requirement-form-page .searchable-select__item--empty:hover{background:transparent;color:var(--text-secondary)}@media (max-width: 1024px){.po-requirement-form-page{padding:16px}.po-requirement-form-page .form-section{padding:20px}}@media (max-width: 640px){.po-requirement-form-page .form-row{grid-template-columns:1fr;gap:12px}.po-requirement-form-page .form-section{padding:16px}.po-requirement-form-page .page-title h1{font-size:16px}.po-requirement-form-page .form-actions{flex-direction:column-reverse}.po-requirement-form-page .form-actions .btn{width:100%;justify-content:center}}.si-page{display:flex;flex-direction:column;height:100%;width:100%;padding:20px;background:var(--bg-primary);box-sizing:border-box}.si-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}.si-title-area{display:flex;align-items:baseline;gap:8px}.si-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.si-count{color:var(--text-secondary);font-size:13px}.si-actions{display:flex;align-items:center;gap:8px}.si-search-box{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--panel-2, var(--panel));border:1px solid var(--glass-border, var(--border));border-radius:8px;transition:border-color .2s}.si-search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px #6366f11f}.si-search-icon{color:var(--text-secondary);flex-shrink:0}.si-search-box input{border:none;background:transparent;outline:none;font-size:13px;color:var(--text-primary);width:200px;min-width:0}.si-search-btn{flex-shrink:0;padding:4px 10px!important;font-size:12px!important}.si-refresh-btn{flex-shrink:0}.si-table-wrap{flex:1;overflow:auto;background:var(--glass-bg, var(--panel));border:1px solid var(--glass-border, var(--border));border-radius:10px}.si-table{width:100%;min-width:900px;border-collapse:collapse;font-size:13px}.si-table thead{position:sticky;top:0;z-index:2}.si-table th{padding:10px 12px;text-align:left;font-size:11px;font-weight:600;color:var(--text-secondary);background:#08090a66;border-bottom:1px solid var(--glass-border, var(--border));white-space:nowrap;text-transform:uppercase;letter-spacing:.3px}.si-table td{padding:8px 12px;border-bottom:1px solid var(--glass-border, var(--border));color:var(--text-primary);white-space:nowrap}.si-table tbody tr{transition:background .15s}.si-table tbody tr:hover{background:#1565c026}.si-table tbody tr.si-editing{background:var(--bg-tertiary, rgba(99, 102, 241, .08))}.si-col-supplier{width:12%;min-width:110px}.si-col-code{width:10%;min-width:100px}.si-col-name{width:16%;min-width:140px}.si-col-num{width:6%;min-width:60px}.si-col-sm{width:5%;min-width:50px}.si-col-xs{width:4%;min-width:40px}.si-col-action{width:50px;min-width:50px}.si-mono{font-family:monospace;font-size:11px;color:var(--text-secondary)}.si-ellipsis{overflow:hidden;text-overflow:ellipsis;max-width:0}.si-empty{padding:40px!important;text-align:center;color:var(--text-secondary)}.si-table .inline-input{padding:4px 6px;border:1px solid var(--glass-border, var(--border));border-radius:4px;background:var(--panel-2, var(--panel));color:var(--text-primary);font-size:12px;outline:none;width:100%;box-sizing:border-box}.si-table .inline-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #6366f11f}.si-edit-actions{display:flex;gap:2px}.si-pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:12px 0 4px}.si-page-info{padding:4px 12px;font-size:13px;color:var(--text-secondary)}@media (max-width: 1400px){.si-hide-lg{display:none}.si-table{min-width:800px}}@media (max-width: 1100px){.si-hide-md{display:none}.si-table{min-width:680px}}@media (max-width: 900px){.si-hide-sm{display:none}.si-table{min-width:560px}.si-page{padding:12px}.si-header{flex-direction:column;align-items:flex-start}.si-actions{width:100%}.si-search-box{flex:1}.si-search-box input{width:100%}}@media (max-width: 600px){.si-page{padding:8px}.si-title{font-size:1rem}.si-table th,.si-table td{padding:6px 8px;font-size:11px}.si-table th{font-size:10px}.si-col-supplier,.si-col-code{min-width:80px}.si-col-name{min-width:100px}}.user-list-page{padding:16px;height:100%}.user-list-page .error-container{text-align:center;padding:60px 20px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px}.user-list-page .error-container h3{margin-top:0;margin-bottom:10px;color:var(--error)}.user-list-page .error-container p{margin-bottom:20px;color:var(--text-secondary)}.user-list-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.user-list-page .btn:disabled{opacity:.5;cursor:not-allowed}.user-list-page .btn-primary{background:var(--primary);color:var(--on-accent);border-color:var(--primary)}.user-list-page .btn-primary:hover:not(:disabled){background:var(--primary-hover)}.user-list-page .btn .btn-text{background:none;border:none;padding:0;color:inherit;font-size:inherit;font-weight:inherit;cursor:inherit}.user-list-page .btn .btn-text:hover{color:inherit;text-decoration:none}.user-list-page .btn-secondary{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border)}.user-list-page .btn-secondary:hover:not(:disabled){background:var(--bg-secondary)}.user-list-page .btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.user-list-page .btn-ghost:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.user-list-page .btn-icon{padding:6px;background:transparent;color:var(--text-secondary);border:none;border-radius:4px}.user-list-page .btn-icon:hover{background:var(--bg-secondary);color:var(--text-primary)}.user-list-page .btn-icon.btn-danger:hover{background:#dc35451a;color:var(--error)}.user-list-page .input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.user-list-page .input:focus{outline:none;border-color:var(--primary)}.user-list-page .input::-moz-placeholder{color:var(--text-secondary)}.user-list-page .input::placeholder{color:var(--text-secondary)}.user-list-page thead{position:sticky;top:0;z-index:1}.user-list-page th{font-weight:600;color:var(--text-secondary);text-transform:none;letter-spacing:0}.user-list-page .animate-spin{animation:spin 1s linear infinite}.user-list-page .search-area{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.user-list-page .toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.user-list-page .toolbar-left{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.user-list-page .toolbar-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.user-list-page .pagination{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.user-list-page .pagination-buttons{display:flex;align-items:center;gap:4px}.user-list-page .table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.user-list-page table{width:100%;min-width:800px;border-collapse:collapse;font-size:13px}@media (max-width: 1200px){.user-list-page .search-area{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1024px){.user-list-page .toolbar-left{font-size:12px;gap:12px}.user-list-page .btn{padding:6px 12px;font-size:12px}}@media (max-width: 768px){.user-list-page{padding:8px}.user-list-page .search-area{grid-template-columns:1fr}.user-list-page .toolbar{flex-direction:column;align-items:stretch}.user-list-page .toolbar-left,.user-list-page .toolbar-right{justify-content:center}.user-list-page .pagination{flex-direction:column}.user-list-page .pagination-buttons{flex-wrap:wrap;justify-content:center}.user-list-page table{min-width:600px;font-size:12px}.user-list-page th,.user-list-page td{padding:8px 6px!important}}@media (max-width: 480px){.user-list-page{padding:4px}.user-list-page .btn{padding:6px 10px;font-size:11px}.user-list-page .input{padding:6px 10px;font-size:12px}.user-list-page table{min-width:500px;font-size:11px}}@media (max-height: 800px){.user-list-page .table-container{max-height:calc(100vh - 320px)}}@media (max-height: 600px){.user-list-page .table-container{max-height:calc(100vh - 280px)}.user-list-page .search-area{gap:8px}.user-list-page .toolbar,.user-list-page .pagination{padding:8px 12px}}@media (max-height: 500px){.user-list-page .table-container{max-height:calc(100vh - 240px)}.user-list-page th,.user-list-page td{padding:6px 8px!important}}.user-form-page{max-width:1200px;margin:0 auto;padding:20px}.user-form-page .page-header{margin-bottom:30px}.user-form-page .page-header h1{font-size:28px;font-weight:600;color:#333;margin:0}.user-form-page .page-content{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.user-form-page .form-container{max-width:600px;margin:0 auto;padding:30px}.user-form-page .error-message{background-color:#fee;border:1px solid #fcc;border-radius:4px;padding:12px 16px;margin-bottom:20px}.user-form-page .error-message p{color:#c33;margin:0;font-size:14px}.user-form-page .user-form{display:flex;flex-direction:column;gap:20px}.user-form-page .form-group{display:flex;flex-direction:column;gap:6px}.user-form-page .form-group label{font-weight:500;font-size:14px;color:#333}.user-form-page .form-group .required{color:#dc3545}.user-form-page .form-group input{padding:10px 12px;font-size:14px;border:1px solid #ddd;border-radius:4px;transition:border-color .2s}.user-form-page .form-group input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.user-form-page .form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.user-form-page .form-hint{font-size:12px;color:#666;margin-top:-2px}.user-form-page .form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:10px;padding-top:20px;border-top:1px solid #eee}.user-form-page .btn{padding:10px 20px;font-size:14px;font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.user-form-page .btn:disabled{opacity:.6;cursor:not-allowed}.user-form-page .btn-primary{background-color:#007bff;color:#fff}.user-form-page .btn-primary:hover:not(:disabled){background-color:#0056b3}.user-form-page .btn-cancel{background-color:#6c757d;color:#fff}.user-form-page .btn-cancel:hover:not(:disabled){background-color:#5a6268}.user-form-page .input-disabled{background-color:#f5f5f5;cursor:not-allowed;color:#666}.user-form-page .user-info{margin-top:8px;font-size:14px;color:#666}.user-form-page .user-info strong{color:#333}.user-form-page .loading-message{text-align:center;padding:40px;color:#666;font-size:16px}.user-form-page .user-metadata{background-color:#f8f9fa;border-radius:4px;padding:16px;margin-top:10px;display:flex;flex-direction:column;gap:10px}.user-form-page .metadata-item{display:flex;align-items:center;gap:8px;font-size:14px}.user-form-page .metadata-label{font-weight:500;color:#666;min-width:70px}.user-form-page .metadata-value{color:#333}.user-form-page .status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.user-form-page .status-badge.active{background-color:#d4edda;color:#155724}.user-form-page .status-badge.inactive{background-color:#f8d7da;color:#721c24}.user-form-page .role-selection{display:flex;flex-direction:column;gap:12px;padding:16px;background-color:#f8f9fa;border-radius:4px;border:1px solid #dee2e6}.user-form-page .role-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.user-form-page .role-label{font-weight:500;color:#666;font-size:14px}.user-form-page .role-badges{display:flex;gap:8px;flex-wrap:wrap}.user-form-page .role-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.user-form-page .role-badge.admin{background-color:#dc3545;color:#fff}.user-form-page .role-badge.manager{background-color:#ffc107;color:#333}.user-form-page .role-badge.user{background-color:#28a745;color:#fff}.user-form-page .role-buttons{display:flex;gap:8px;flex-wrap:wrap}.user-form-page .role-btn{padding:8px 16px;font-size:13px;font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.user-form-page .role-btn:disabled{opacity:.5;cursor:not-allowed}.user-form-page .role-btn.admin{background-color:#dc3545;color:#fff}.user-form-page .role-btn.admin:hover:not(:disabled){background-color:#c82333}.user-form-page .role-btn.manager{background-color:#ffc107;color:#333}.user-form-page .role-btn.manager:hover:not(:disabled){background-color:#e0a800}.user-form-page .role-btn.user{background-color:#28a745;color:#fff}.user-form-page .role-btn.user:hover:not(:disabled){background-color:#218838}@media (max-width: 768px){.user-form-page .form-container{padding:20px}.user-form-page .page-header h1{font-size:24px}.user-form-page .form-actions{flex-direction:column-reverse}.user-form-page .form-actions .btn{width:100%}.user-form-page .user-metadata{gap:8px}.user-form-page .metadata-item{flex-direction:column;align-items:flex-start;gap:4px}.user-form-page .metadata-label{min-width:auto}}.code-list-page{padding:16px;height:100%;display:flex;flex-direction:column;overflow:hidden}.code-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.code-list-page .header-left{display:flex;align-items:center;gap:12px}.code-list-page .header-icon{color:var(--primary)}.code-list-page .header-left h2{margin:0;font-size:18px;font-weight:600}.code-list-page .header-left p{margin:0;font-size:12px;color:var(--text-secondary)}.code-list-page .header-right{display:flex;gap:8px}.code-list-page .error-message{padding:10px 16px;margin-bottom:12px;background:#dc35451a;color:var(--error);border-radius:6px;display:flex;justify-content:space-between;align-items:center;font-size:13px}.code-list-page .error-message button{background:none;border:none;cursor:pointer;color:var(--error)}.code-list-page .search-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:12px 16px;margin-bottom:16px}.code-list-page .search-row{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.code-list-page .search-field{display:flex;flex-direction:column;gap:4px}.code-list-page .search-field label{font-size:11px;font-weight:500;color:var(--text-secondary)}.code-list-page .search-field .input{min-width:150px}.code-list-page .search-field select.input{min-width:200px}.code-list-page .checkbox-field{justify-content:flex-end}.code-list-page .checkbox-label{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;padding:6px 0}.code-list-page .checkbox-label input[type=checkbox]{width:14px;height:14px;cursor:pointer}.code-list-page .search-actions{margin-left:auto}.code-list-page .code-section{flex:1;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:8px;overflow:hidden}.code-list-page .section-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.code-list-page .section-title{font-size:13px;font-weight:600}.code-list-page .section-count{font-size:12px;color:var(--text-secondary)}.code-list-page .table-container{flex:1;overflow:auto}.code-list-page .code-table{width:100%;border-collapse:collapse;font-size:12px}.code-list-page .code-table thead{position:sticky;top:0;z-index:10}.code-list-page .code-table th{padding:8px 10px;text-align:left;background:var(--bg-secondary);border-bottom:2px solid var(--border);font-weight:600;font-size:11px;white-space:nowrap}.code-list-page .code-table td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.code-list-page .code-table tbody tr:hover{background:var(--bg-secondary)}.code-list-page .code-table .adding-row{background:#3b82f60d}.code-list-page .code-table .adding-row:hover{background:#3b82f614}.code-list-page .text-mono{font-family:monospace;font-size:11px}.code-list-page .text-bold{font-weight:600}.code-list-page .text-muted{color:var(--text-secondary)}.code-list-page .td-center{text-align:center}.code-list-page .btn-toggle{background:none;border:none;cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center}.code-list-page .toggle-on{color:var(--success)}.code-list-page .toggle-off{color:var(--text-secondary)}.code-list-page .icon-success{color:var(--success)}.code-list-page .icon-error{color:var(--error)}.code-list-page .action-buttons{display:flex;gap:4px;justify-content:center}.code-list-page .empty-message{padding:40px;text-align:center;color:var(--text-secondary)}.code-list-page .spin{animation:spin 1s linear infinite}.code-list-page .code-table .input{width:100%;padding:4px 8px;font-size:12px}.code-list-page .code-table td .input{min-width:0}@media (max-width: 1024px){.code-list-page .search-row{gap:12px}.code-list-page .search-field .input{min-width:120px}}@media (max-width: 768px){.code-list-page{padding:12px}.code-list-page .page-header{flex-direction:column;gap:12px;align-items:flex-start}.code-list-page .header-right{width:100%;justify-content:flex-end}.code-list-page .search-row{flex-direction:column;align-items:stretch;gap:10px}.code-list-page .search-field{width:100%}.code-list-page .search-field .input,.code-list-page .search-field select.input{min-width:auto;width:100%}.code-list-page .search-actions{margin-left:0}}.menu-management-page{padding:20px;background:var(--bg-secondary);height:100%;overflow-y:auto;box-sizing:border-box}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.header-title h2{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.header-title svg{color:#3b82f6}.btn-primary{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary:hover{background:#2563eb}.btn-secondary{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--panel);color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--border)}.tab-bar{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid var(--border);padding-bottom:8px}.tab-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:none;border-radius:6px 6px 0 0;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.tab-btn:hover{color:var(--text-primary);background:var(--panel-2)}.tab-btn.active{color:#3b82f6;background:#eff6ff}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:16px}.search-box{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--panel);border:1px solid var(--border);border-radius:6px;flex:1;max-width:300px}.search-box svg{color:var(--text-tertiary)}.search-box input{border:none;outline:none;flex:1;font-size:13px;background:transparent;color:var(--text-primary)}.toolbar-actions{display:flex;gap:8px;align-items:center}.toolbar-actions button{padding:6px 12px;background:var(--panel);border:1px solid var(--border);border-radius:4px;font-size:12px;cursor:pointer;color:var(--text-primary)}.toolbar-actions button:hover{background:var(--bg-secondary)}.toolbar-actions select{padding:6px 12px;border:1px solid var(--border);border-radius:4px;font-size:12px;background:var(--panel);color:var(--text-primary)}.menu-tree-container{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.menu-tree-header{display:flex;align-items:center;padding:10px 12px;background:var(--panel-2);border-bottom:1px solid var(--border);font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.col-grip,.col-expand{width:24px}.col-icon{width:40px;text-align:center}.col-content{flex:1}.col-status{width:50px;text-align:center}.col-actions{width:100px;text-align:center}.col-permissions{width:280px}.menu-tree-body{max-height:calc(100vh - 320px);overflow-y:auto}.menu-tree-item{border-bottom:1px solid var(--border)}.menu-tree-item:last-child{border-bottom:none}.menu-tree-row{display:flex;align-items:center;padding:8px 0;transition:background .15s}.menu-tree-row:hover{background:var(--bg-secondary)}.menu-tree-row.inactive{opacity:.5}.menu-tree-grip{width:24px;display:flex;justify-content:center;color:var(--text-tertiary);cursor:grab}.menu-tree-expand{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--text-secondary);border-radius:4px}.menu-tree-expand:hover{background:var(--panel-2)}.menu-tree-expand-placeholder{width:24px}.menu-tree-icon{width:40px;display:flex;justify-content:center;color:var(--text-secondary)}.menu-tree-content{flex:1;display:flex;align-items:center;gap:8px}.menu-tree-label{font-size:13px;font-weight:500;color:var(--text-primary)}.menu-tree-key{font-size:11px;color:var(--text-tertiary);font-family:monospace}.menu-tree-badge{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;color:#fff}.menu-tree-status{width:50px;display:flex;justify-content:center}.status-active{color:#10b981}.status-inactive{color:#ef4444}.menu-tree-actions{width:100px;display:flex;justify-content:center;gap:4px}.action-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:all .15s}.action-btn.add{color:#3b82f6}.action-btn.add:hover{background:#eff6ff;border-color:#bfdbfe}.action-btn.edit{color:#f59e0b}.action-btn.edit:hover{background:#fffbeb;border-color:#fde68a}.action-btn.delete{color:#ef4444}.action-btn.delete:hover{background:#fef2f2;border-color:#fecaca}.menu-tree-permissions{width:280px;display:flex;gap:12px}.perm-checkbox{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary);cursor:pointer}.perm-checkbox input{cursor:pointer}.menu-tree-children{background:var(--bg-secondary)}.modal-content{background:var(--panel);border-radius:12px;width:600px;max-height:90vh;overflow:hidden;box-shadow:0 20px 40px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.modal-close{background:transparent;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;border-radius:4px}.modal-close:hover{background:var(--panel-2)}.modal-body{padding:20px;max-height:calc(90vh - 140px);overflow-y:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group.full-width{grid-column:span 2}.form-group.checkbox-group{flex-direction:row;gap:16px;grid-column:span 2}.form-group.checkbox-group label{display:flex;align-items:center;gap:6px;cursor:pointer}.form-group label{font-size:12px;font-weight:500;color:var(--text-secondary)}.form-group input[type=text],.form-group input[type=number],.form-group select,.form-group textarea{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;transition:border-color .2s;background:var(--bg-secondary);color:var(--text-primary)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6}.icon-preview{display:inline-flex;align-items:center;color:#3b82f6;margin-top:4px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border);background:var(--bg-secondary)}.loading-container{display:flex;justify-content:center;align-items:center;height:200px}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.error-message{display:flex;align-items:center;justify-content:center;gap:8px;color:#ef4444;padding:40px;background:#fef2f2;border-radius:8px;margin:20px}@media (max-width: 1200px){.menu-tree-permissions{flex-wrap:wrap;width:200px}}@media (max-width: 768px){.page-header{flex-direction:column;gap:12px;align-items:flex-start}.toolbar{flex-direction:column;align-items:stretch}.search-box{max-width:none}.form-grid{grid-template-columns:1fr}.form-group.full-width{grid-column:span 1}.modal-content{width:95%;margin:20px}}.ontology-page{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--bg-primary)}.ontology-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--panel);flex-shrink:0}.ontology-header-left{display:flex;align-items:center;gap:16px}.ontology-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.ontology-stats-badges{display:flex;gap:8px}.ontology-badge{padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border)}.ontology-badge--version{background:var(--primary);color:#fff;border-color:var(--primary)}.ontology-header-actions{display:flex;gap:8px;align-items:center}.ontology-error{padding:8px 16px;margin:8px 24px;background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:6px;font-size:13px;display:flex;align-items:center}.ontology-error-dismiss{margin-left:8px;cursor:pointer;background:none;border:none;color:inherit}.ontology-tabs{display:flex;gap:2px;padding:0 24px;border-bottom:1px solid var(--border);background:var(--panel);flex-shrink:0}.ontology-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;border:none;background:none;cursor:pointer;font-size:13px;color:var(--text-secondary);border-bottom:2px solid transparent;transition:all .15s}.ontology-tab:hover{color:var(--text-primary)}.ontology-tab--active{color:var(--primary);border-bottom-color:var(--primary);font-weight:500}.ontology-content{flex:1;display:flex;overflow:hidden}.ontology-left-panel{flex:1;overflow:hidden;border-right:1px solid var(--border)}.ontology-right-panel{width:380px;min-width:320px;overflow-y:auto;background:var(--panel)}.ontology-full-panel{flex:1;overflow:hidden;position:relative}.ontology-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--border);border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s;white-space:nowrap}.ontology-btn--primary{background:var(--primary);color:#fff;border-color:var(--primary)}.ontology-btn--primary:hover{opacity:.9}.ontology-btn--primary:disabled{opacity:.5;cursor:not-allowed}.ontology-btn--secondary{background:var(--panel);color:var(--text-primary)}.ontology-btn--secondary:hover{background:var(--bg-secondary)}.ontology-btn--ghost{background:none;border-color:transparent;color:var(--text-secondary)}.ontology-btn--ghost:hover{color:var(--text-primary);background:var(--bg-secondary)}.ontology-btn--sm{padding:3px 8px;font-size:12px}.ontology-tree-toolbar{display:flex;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);align-items:center}.ontology-tree-search{flex:1;padding:5px 10px;border:1px solid var(--border);border-radius:4px;font-size:12px;background:var(--panel);color:var(--text-primary);outline:none}.ontology-tree-search:focus{border-color:var(--primary)}.ontology-tree-container{flex:1;overflow-y:auto;padding:4px 0}.ontology-tree-node{display:flex;align-items:center;gap:6px;padding:5px 8px;cursor:pointer;font-size:13px;color:var(--text-primary);transition:background .1s}.ontology-tree-node:hover{background:var(--bg-secondary)}.ontology-tree-node--selected{background:color-mix(in srgb,var(--primary) 12%,transparent);font-weight:500}.ontology-tree-toggle{display:flex;align-items:center;color:var(--text-secondary);flex-shrink:0}.ontology-tree-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ontology-tree-badge{padding:1px 5px;border-radius:3px;font-size:10px;font-weight:600;background:#10b981;color:#fff}.ontology-tree-count{font-size:11px;color:var(--text-secondary)}.ontology-detail{display:flex;flex-direction:column;height:100%}.ontology-detail-header{padding:16px 20px;border-bottom:1px solid var(--border)}.ontology-detail-title{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text-primary)}.ontology-detail-uri{font-size:12px;color:var(--text-secondary);font-family:Fira Code,monospace}.ontology-detail-body{flex:1;overflow-y:auto;padding:16px 20px}.ontology-section{margin-bottom:20px}.ontology-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ontology-section-title{margin:0;font-size:13px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.ontology-section-body{display:flex;flex-direction:column;gap:6px}.ontology-info-row{display:flex;gap:8px;font-size:13px;align-items:baseline}.ontology-info-label{width:100px;flex-shrink:0;color:var(--text-secondary);font-size:12px}.ontology-info-value{flex:1;color:var(--text-primary);word-break:break-all}.ontology-info-value--highlight{font-family:Fira Code,monospace;color:#10b981;font-weight:500}.ontology-edit-input{flex:1;padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:13px;font-family:Fira Code,monospace;background:var(--bg-primary);color:var(--text-primary)}.ontology-edit-input:focus{border-color:var(--primary);outline:none}.ontology-restriction-item{font-size:12px;padding:4px 8px;background:var(--bg-secondary);border-radius:4px;color:var(--text-secondary)}.ontology-restriction-prop{font-weight:500;color:var(--primary)}.ontology-restriction-class{color:#6366f1}.ontology-prop-item{display:flex;align-items:center;gap:8px;font-size:12px}.ontology-prop-type{padding:1px 6px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase}.ontology-prop-type--object{background:#dbeafe;color:#1d4ed8}.ontology-prop-type--data{background:#dcfce7;color:#166534}.ontology-prop-name{color:var(--text-primary)}.ontology-prop-range{color:var(--text-secondary);font-size:11px}.ontology-ind-item{display:flex;align-items:center;gap:8px;font-size:12px}.ontology-ind-name{color:var(--text-primary)}.ontology-ind-local{color:var(--text-secondary);font-family:monospace;font-size:11px}.ontology-graph-controls{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:4px;z-index:10;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:4px}.ontology-graph-legend{position:absolute;bottom:12px;left:12px;display:flex;gap:12px;z-index:10;background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:6px 12px;font-size:11px}.ontology-legend-item{display:flex;align-items:center;gap:4px;color:var(--text-secondary)}.ontology-legend-dot{width:8px;height:8px;border-radius:50%}.ontology-workflow{padding:20px;overflow:auto;height:100%}.ontology-workflow-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:24px}.ontology-workflow-pipeline{display:flex;align-items:flex-start;gap:8px;overflow-x:auto;padding-bottom:16px}.ontology-stage-group{min-width:160px}.ontology-stage-header{display:flex;align-items:center;gap:6px;padding:6px 12px;border-left:3px solid;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.ontology-stage-dot{width:8px;height:8px;border-radius:50%}.ontology-stage-states{display:flex;flex-direction:column;gap:8px;align-items:center}.ontology-state-card{width:150px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel);text-align:center}.ontology-state-card--skippable{border-style:dashed;opacity:.85}.ontology-state-code{font-size:11px;font-weight:600;color:var(--primary);font-family:monospace}.ontology-state-name{font-size:13px;font-weight:500;color:var(--text-primary);margin:4px 0}.ontology-state-role{font-size:10px;color:var(--text-secondary)}.ontology-state-skip{display:flex;align-items:center;justify-content:center;gap:4px;font-size:10px;color:#f59e0b;margin-top:4px}.ontology-state-arrow{color:var(--text-secondary);opacity:.5}.ontology-stage-connector{display:flex;align-items:center;padding-top:40px;color:var(--text-secondary);opacity:.4}.ontology-dbmapping{display:flex;flex-direction:column;height:100%}.ontology-dbmapping-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}.ontology-dbmapping-stats{display:flex;gap:12px;font-size:13px;color:var(--text-secondary)}.ontology-dbmapping-mapped{color:#10b981}.ontology-dbmapping-unmapped{color:#ef4444}.ontology-dbmapping-filter{display:flex;gap:4px}.ontology-dbmapping-table-wrap{flex:1;overflow:auto}.ontology-dbmapping-table{width:100%;border-collapse:collapse;font-size:13px}.ontology-dbmapping-table th{padding:8px 12px;text-align:left;font-weight:500;font-size:12px;color:var(--text-secondary);background:var(--bg-secondary);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1}.ontology-dbmapping-table td{padding:6px 12px;border-bottom:1px solid var(--border);color:var(--text-primary)}.ontology-dbmapping-row--mapped td{background:color-mix(in srgb,#10b981 4%,transparent)}.ontology-dbmapping-mono{font-family:Fira Code,monospace;font-size:12px}.ontology-guide{padding:24px;overflow-y:auto;height:100%;max-width:960px;margin:0 auto}.ontology-guide-section{margin-bottom:40px}.ontology-guide-section-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;color:var(--text-primary)}.ontology-guide-section-header h2{margin:0;font-size:18px;font-weight:600}.ontology-guide-subtitle{font-size:14px;color:var(--text-secondary);line-height:1.7;margin:0 0 20px}.ontology-guide-concepts{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;justify-content:center}.ontology-guide-concept{flex:1;min-width:180px;max-width:260px;padding:20px 16px;border-radius:12px;background:var(--panel);border:1px solid var(--border);text-align:center}.ontology-guide-concept-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.ontology-guide-concept-label{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.ontology-guide-concept-desc{font-size:12px;color:var(--text-secondary);margin-bottom:12px}.ontology-guide-concept-examples{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.ontology-guide-concept-arrow{display:flex;align-items:center;padding-top:30px;color:var(--text-secondary);opacity:.4}.ontology-guide-tag{padding:2px 10px;border-radius:12px;font-size:11px;font-weight:500}.ontology-guide-tag--blue{background:color-mix(in srgb,#3b82f6 12%,transparent);color:#2563eb}.ontology-guide-tag--purple{background:color-mix(in srgb,#8b5cf6 12%,transparent);color:#7c3aed}.ontology-guide-tag--green{background:color-mix(in srgb,#10b981 12%,transparent);color:#059669}.ontology-guide-value-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.ontology-guide-value-card{padding:20px;border-radius:12px;background:var(--panel);border:1px solid var(--border)}.ontology-guide-value-icon{margin-bottom:12px}.ontology-guide-value-card h3{margin:0 0 8px;font-size:15px;font-weight:600;color:var(--text-primary)}.ontology-guide-value-card p{margin:0;font-size:13px;line-height:1.7;color:var(--text-secondary)}.ontology-guide-tab-cards{display:flex;flex-direction:column;gap:10px}.ontology-guide-tab-card{display:flex;align-items:center;gap:16px;padding:14px 16px;border-radius:10px;background:var(--panel);border:1px solid var(--border);transition:border-color .15s}.ontology-guide-tab-card:hover{border-color:var(--primary)}.ontology-guide-tab-card-header{display:flex;align-items:center;gap:8px;min-width:130px;color:var(--primary)}.ontology-guide-tab-card-icon{display:flex;align-items:center}.ontology-guide-tab-card-name{font-size:14px;font-weight:600;color:var(--text-primary)}.ontology-guide-tab-card-desc{flex:1;margin:0;font-size:13px;color:var(--text-secondary);line-height:1.5}.ontology-guide-scenario{display:flex;align-items:flex-start;gap:8px;overflow-x:auto;padding:16px 0}.ontology-guide-scenario-step{min-width:120px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}.ontology-guide-scenario-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center}.ontology-guide-scenario-obj{font-size:14px;font-weight:600;color:var(--text-primary)}.ontology-guide-scenario-action{font-size:11px;color:var(--text-secondary)}.ontology-guide-scenario-relation{font-size:10px;color:var(--primary);font-family:monospace;padding:2px 8px;border-radius:8px;background:color-mix(in srgb,var(--primary) 8%,transparent)}.ontology-guide-scenario-arrow{display:flex;align-items:center;padding-top:12px;color:var(--text-secondary);opacity:.4}.ontology-guide-scenario-note{font-size:13px;color:var(--text-secondary);line-height:1.7;padding:12px 16px;border-radius:8px;background:color-mix(in srgb,var(--primary) 4%,transparent);border-left:3px solid var(--primary)}@media (max-width: 640px){.ontology-guide{padding:16px}.ontology-guide-concepts{flex-direction:column;align-items:center}.ontology-guide-concept-arrow{transform:rotate(90deg);padding-top:0}.ontology-guide-tab-card{flex-direction:column;align-items:flex-start}.ontology-guide-scenario{flex-wrap:wrap;justify-content:center}}.salesrep-modal{background:var(--panel, #ffffff);border-radius:16px;box-shadow:0 20px 60px #0003;width:90%;max-width:800px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.salesrep-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border, #e2e8f0);background:var(--bg-secondary, #f8fafc)}.salesrep-modal-header h3{font-size:1.25rem;font-weight:700;color:var(--text-primary, #1e293b);margin:0}.modal-close-btn{width:32px;height:32px;border:none;background:transparent;color:var(--text-secondary, #64748b);font-size:24px;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-close-btn:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #1e293b)}.salesrep-modal-info{padding:16px 24px;background:linear-gradient(135deg,#2563eb0a,#2563eb14);border-bottom:1px solid var(--border, #e2e8f0)}.info-row{display:flex;align-items:center;gap:12px;padding:6px 0}.info-label{font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);min-width:80px}.info-value{font-size:15px;font-weight:600;color:var(--text-primary, #1e293b)}.info-value.price{color:var(--primary, #2563eb);font-size:16px}.salesrep-modal-actions{display:flex;align-items:center;gap:16px;padding:12px 24px;border-bottom:1px solid var(--border, #e2e8f0)}.select-all-btn{padding:8px 16px;border:1px solid var(--border, #e2e8f0);border-radius:8px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.select-all-btn:hover{border-color:var(--primary, #2563eb);color:var(--primary, #2563eb)}.select-all-btn.selected{background:var(--primary, #2563eb);border-color:var(--primary, #2563eb);color:#fff}.selected-count{font-size:14px;font-weight:600;color:var(--primary, #2563eb)}.salesrep-modal-body{flex:1;overflow-y:auto;padding:20px 24px;min-height:200px;max-height:400px}.modal-loading,.modal-empty{text-align:center;padding:40px;color:var(--text-secondary, #64748b);font-size:15px}.salesrep-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.salesrep-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 12px;background:var(--panel, #ffffff);border:2px solid var(--border, #e2e8f0);border-radius:10px;cursor:pointer;transition:all .2s ease;text-align:center}.salesrep-item:hover{border-color:var(--primary, #2563eb);background:#2563eb0a}.salesrep-item.selected{border-color:var(--primary, #2563eb);background:var(--primary, #2563eb)}.salesrep-item.selected .item-name,.salesrep-item.selected .item-id{color:#fff}.item-name{font-size:15px;font-weight:600;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.item-id{font-size:12px;color:var(--text-secondary, #94a3b8);margin-top:4px}.salesrep-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border, #e2e8f0);background:var(--bg-secondary, #f8fafc)}.btn-cancel{padding:10px 20px;border:1px solid var(--border, #e2e8f0);border-radius:8px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:var(--bg-secondary, #f1f5f9)}.btn-apply{padding:10px 24px;border:none;border-radius:8px;background:var(--primary, #2563eb);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-apply:hover:not(:disabled){background:var(--primary-dark, #1d4ed8)}.btn-apply:disabled{opacity:.5;cursor:not-allowed}.modal-status{display:flex;align-items:center;gap:12px;padding:14px 28px;border-radius:12px;font-size:18px;font-weight:600;margin-left:auto;animation:status-fade-in .3s ease}.modal-status.applying{background:#3b82f61a;color:#3b82f6}.modal-status.success{background:#22c55e1a;color:#16a34a}.modal-status.error{background:#ef44441a;color:#dc2626}.modal-status .status-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:20px;font-weight:700}.modal-status.success .status-icon{background:#22c55e;color:#fff}.modal-status.error .status-icon{background:#ef4444;color:#fff}.modal-status .status-spinner{width:28px;height:28px;border:3px solid rgba(59,130,246,.3);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.smu-price-page{padding:24px;background:var(--bg-secondary, #f8fafc);height:100vh;max-height:100vh;display:flex;flex-direction:column;overflow:hidden}.smu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.smu-title-area{display:flex;align-items:center;gap:12px}.smu-title{font-size:1.75rem;font-weight:700;color:var(--text-primary, #1e293b);margin:0}.smu-header-actions{display:flex;align-items:center;gap:12px}.smu-tab-toggle{display:flex;background:var(--panel, #ffffff);border-radius:8px;padding:4px;box-shadow:0 1px 3px #00000014}.smu-tab-btn{padding:10px 24px;border:none;background:transparent;color:var(--text-secondary, #64748b);font-size:15px;font-weight:500;cursor:pointer;border-radius:6px;transition:all .2s ease}.smu-tab-btn:hover:not(.active){color:var(--text-primary, #1e293b);background:var(--bg-secondary, #f1f5f9)}.smu-tab-btn.active{background:var(--primary, #2563eb);color:#fff;font-weight:600}.smu-year-select{padding:8px 16px;border:1px solid var(--border, #e2e8f0);border-radius:8px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:14px;font-weight:500;cursor:pointer;box-shadow:0 1px 3px #00000014;transition:all .2s ease}.smu-year-select:hover{border-color:var(--primary, #2563eb)}.smu-year-select:focus{outline:none;border-color:var(--primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.smu-action-btn{padding:8px 16px;border:1px solid var(--border, #e2e8f0);border-radius:8px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.smu-action-btn:hover:not(:disabled){background:var(--bg-secondary, #f1f5f9);border-color:var(--text-secondary, #94a3b8)}.smu-action-btn:disabled{opacity:.5;cursor:not-allowed}.smu-action-btn.calc-btn{background:var(--primary, #2563eb);color:#fff;border-color:var(--primary, #2563eb);font-weight:600}.smu-action-btn.calc-btn:hover:not(:disabled){background:var(--primary-dark, #1d4ed8);border-color:var(--primary-dark, #1d4ed8)}.smu-avg-price-3m-at{font-size:13px;color:var(--text-secondary, #64748b);white-space:nowrap}.smu-company-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.smu-company-card{background:var(--panel, #ffffff);border:2px solid var(--border, #e2e8f0);border-radius:12px;padding:20px 24px;cursor:pointer;transition:all .2s ease}.smu-company-card:hover:not(.active){border-color:var(--primary, #2563eb);box-shadow:0 4px 12px #2563eb1a}.smu-company-card.active{border-color:var(--primary, #2563eb);background:linear-gradient(135deg,#2563eb05,#2563eb0f);box-shadow:0 4px 12px #2563eb26}.smu-company-header{display:flex;justify-content:space-between;align-items:center}.smu-company-name{font-size:1.5rem;font-weight:700;color:var(--text-primary, #1e293b)}.smu-badge{padding:4px 10px;background:var(--primary, #2563eb);color:#fff;font-size:11px;font-weight:600;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}.smu-content-card{background:var(--panel, #ffffff);border-radius:12px;box-shadow:0 1px 3px #00000014,0 4px 12px #0000000a;overflow:hidden;flex:1;display:flex;flex-direction:column}.smu-content-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border, #e2e8f0);background:var(--bg-secondary, #f8fafc)}.smu-content-title{font-size:1.125rem;font-weight:600;color:var(--text-primary, #1e293b);display:flex;align-items:center;gap:12px}.smu-content-subtitle{font-size:14px;font-weight:500;color:var(--text-secondary, #64748b);padding:4px 12px;background:var(--panel, #ffffff);border-radius:6px;border:1px solid var(--border, #e2e8f0)}.smu-content-body{padding:24px;flex:1;display:flex;flex-direction:column}.smu-table-wrapper{border-radius:8px;border:1px solid var(--border, #e2e8f0);overflow:hidden;flex:1;display:flex;flex-direction:column}.smu-table-wrapper.smu-table-scroll{overflow-y:auto}.smu-table{width:100%;border-collapse:collapse;font-size:15px;table-layout:fixed}.smu-table thead{position:sticky;top:0;z-index:10}.smu-table th{padding:14px 16px;text-align:left;background:var(--bg-secondary, #f8fafc);color:var(--text-secondary, #64748b);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border, #e2e8f0);white-space:nowrap}.smu-table th.text-right,.smu-table td.text-right{text-align:right}.smu-table td{padding:14px 16px;border-bottom:1px solid var(--border, #e2e8f0);color:var(--text-primary, #1e293b);vertical-align:middle}.smu-table tbody tr{transition:background-color .15s ease}.smu-table tbody tr:hover{background:var(--bg-secondary, #f8fafc)}.smu-table tbody tr:last-child td{border-bottom:none}.smu-table tbody tr.modified{background:#fbbf2414}.smu-table tbody tr.modified:hover{background:#fbbf241f}.smu-row-num{color:var(--text-secondary, #94a3b8);font-size:13px;font-weight:500}.smu-unit-name{font-weight:500;color:var(--text-primary, #1e293b)}.smu-price-ref{color:var(--text-secondary, #94a3b8);font-size:13px}.smu-price-edit{font-weight:600;color:var(--primary, #2563eb);cursor:pointer}.smu-price-edit:hover{text-decoration:underline}.smu-price-empty{color:var(--text-secondary, #cbd5e1)}.smu-inline-input{width:100%;padding:10px 14px;border:1px solid var(--border, #d1d5db);border-radius:8px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:15px;font-weight:500;text-align:right;transition:all .2s ease;box-shadow:inset 0 1px 2px #0000000d}.smu-inline-input:hover{border-color:var(--text-secondary, #9ca3af)}.smu-inline-input:focus{outline:none;border-color:var(--primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a,inset 0 1px 2px #0000000d}.smu-editable-cell{display:block;width:100%;padding:8px 12px;border:none;border-radius:6px;background:var(--bg-secondary, #f8fafc);cursor:text;transition:all .15s ease;box-sizing:border-box}.smu-editable-cell:hover{background:#2563eb14}.smu-editable-cell.price{text-align:right;font-weight:600;color:var(--text-primary, #1e293b)}.smu-editable-cell.remark{text-align:left;color:var(--text-primary, #1e293b)}.smu-editable-cell.empty{color:var(--text-secondary, #94a3b8)}.smu-remark{color:var(--text-secondary, #64748b);font-size:13px}.smu-remark-empty{color:var(--text-secondary, #cbd5e1);font-style:italic}.smu-actions-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.smu-actions-left{display:flex;align-items:center;gap:12px}.smu-actions-right{display:flex;align-items:center;gap:8px}.smu-save-btn{padding:10px 24px;border:none;border-radius:8px;background:var(--primary, #2563eb);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.smu-save-btn:hover:not(:disabled){background:var(--primary-dark, #1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb40}.smu-save-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.smu-save-btn .count{padding:2px 8px;background:#fff3;border-radius:10px;font-size:12px}.smu-assignee-select{padding:10px 16px;border:1px solid var(--border, #e2e8f0);border-radius:8px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:14px;min-width:200px;cursor:pointer;transition:all .2s ease}.smu-assignee-select:hover{border-color:var(--primary, #2563eb)}.smu-assignee-select:focus{outline:none;border-color:var(--primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.smu-empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary, #64748b)}.smu-empty-state .icon{font-size:48px;margin-bottom:16px;opacity:.3}.smu-empty-state .message{font-size:15px;font-weight:500}.smu-loading{text-align:center;padding:60px 20px;color:var(--text-secondary, #64748b)}.smu-error{text-align:center;padding:40px 20px;color:var(--danger, #dc2626);background:#dc26260d;border-radius:8px}.smu-legend{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary, #64748b)}.smu-legend-dot{width:12px;height:12px;background:#fbbf244d;border:1px solid rgba(251,191,36,.6);border-radius:3px}.smu-save-status{display:flex;align-items:center;gap:12px;padding:14px 28px;border-radius:12px;font-size:18px;font-weight:600;animation:status-fade-in .3s ease}@keyframes status-fade-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.smu-save-status.saving{background:#3b82f61a;color:#3b82f6}.smu-save-status.success{background:#22c55e1a;color:#16a34a}.smu-save-status.error{background:#ef44441a;color:#dc2626}.smu-save-status .status-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:20px;font-weight:700}.smu-save-status.success .status-icon{background:#22c55e;color:#fff}.smu-save-status.error .status-icon{background:#ef4444;color:#fff}.smu-save-status .status-text{line-height:1}.smu-save-status .status-spinner{width:28px;height:28px;border:3px solid rgba(59,130,246,.3);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.smu-apply-btn{padding:6px 14px;border:1px solid var(--primary, #2563eb);border-radius:6px;background:transparent;color:var(--primary, #2563eb);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.smu-apply-btn:hover:not(:disabled){background:var(--primary, #2563eb);color:#fff}.smu-apply-btn:disabled{opacity:.4;cursor:not-allowed;border-color:var(--text-secondary, #94a3b8);color:var(--text-secondary, #94a3b8)}.smu-tab-container{display:flex;flex-direction:column;height:100%}.smu-table-scroll{max-height:calc(100vh - 420px);overflow-y:auto}.smu-table-scroll::-webkit-scrollbar{width:8px}.smu-table-scroll::-webkit-scrollbar-track{background:var(--bg-secondary, #f1f5f9);border-radius:4px}.smu-table-scroll::-webkit-scrollbar-thumb{background:var(--border, #cbd5e1);border-radius:4px}.smu-table-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-secondary, #94a3b8)}@media (max-width: 768px){.smu-price-page{padding:16px}.smu-header{flex-direction:column;align-items:flex-start;gap:16px}.smu-header-actions{width:100%;flex-wrap:wrap}.smu-company-cards{grid-template-columns:1fr}.smu-content-body{padding:16px}.smu-table th,.smu-table td{padding:10px 12px}}.igs-root{--igs-glass-bg: rgba(255, 255, 255, .65);--igs-glass-bg-hover: rgba(255, 255, 255, .75);--igs-glass-border: rgba(255, 255, 255, .3);--igs-glass-shadow: 0 8px 32px rgba(31, 38, 135, .1);--igs-glass-blur: blur(12px);--igs-gradient-primary: linear-gradient(135deg, var(--accent-cyan, #06b6d4) 0%, var(--accent-blue, #3b82f6) 100%);--igs-gradient-success: linear-gradient(135deg, #10b981 0%, #34d399 100%);--igs-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);--igs-gradient-danger: linear-gradient(135deg, #ef4444 0%, #f87171 100%);--igs-card-radius: 20px;--igs-card-padding: 24px;--igs-transition-fast: .15s ease;--igs-transition-normal: .25s ease;--igs-transition-slow: .4s ease}[data-theme=dark] .igs-root,[data-theme=dark].igs-root{--igs-glass-bg: rgba(30, 41, 59, .7);--igs-glass-bg-hover: rgba(30, 41, 59, .85);--igs-glass-border: rgba(255, 255, 255, .1);--igs-glass-shadow: 0 8px 32px rgba(0, 0, 0, .3)}.igs-card{background:var(--igs-glass-bg);backdrop-filter:var(--igs-glass-blur);-webkit-backdrop-filter:var(--igs-glass-blur);border:1px solid var(--igs-glass-border);border-radius:14px;box-shadow:var(--igs-glass-shadow);padding:12px 14px;transition:transform var(--igs-transition-normal),box-shadow var(--igs-transition-normal);display:flex;flex-direction:column;overflow:hidden}.igs-card:hover{transform:translateY(-2px);box-shadow:0 12px 40px #1f268726}.igs-card--flat,.igs-card--flat:hover{transform:none!important}.igs-kpi-card{background:var(--igs-glass-bg);backdrop-filter:var(--igs-glass-blur);-webkit-backdrop-filter:var(--igs-glass-blur);border:1px solid var(--igs-glass-border);border-radius:14px;padding:12px 16px;position:relative;overflow:hidden;transition:transform var(--igs-transition-normal),box-shadow var(--igs-transition-normal)}.igs-kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--igs-gradient-primary);opacity:0;transition:opacity var(--igs-transition-normal)}.igs-kpi-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px #1f26872e}.igs-kpi-card:hover:before{opacity:1}.igs-kpi-card__icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;background:var(--igs-gradient-primary);color:#fff}.igs-kpi-card__icon--success{background:var(--igs-gradient-success)}.igs-kpi-card__icon--warning{background:var(--igs-gradient-warning)}.igs-kpi-card__icon--danger{background:var(--igs-gradient-danger)}.igs-kpi-card__label{font-size:11px;font-weight:500;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.igs-kpi-card__value{font-size:24px;font-weight:700;color:var(--text-primary);line-height:1.2;margin-bottom:4px}.igs-kpi-card__change{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:500;padding:4px 8px;border-radius:6px}.igs-kpi-card__change--positive{background:#10b9811a;color:#10b981}.igs-kpi-card__change--negative{background:#ef44441a;color:#ef4444}.igs-kpi-card__change--neutral{background:#6b72801a;color:#6b7280}.igs-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.igs-section-title{font-size:14px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.igs-section-title__icon{width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:var(--igs-gradient-primary);color:#fff}.igs-pipeline{display:flex;gap:8px;overflow-x:auto;padding:4px}.igs-pipeline__stage{flex:1;min-width:100px;background:var(--igs-glass-bg);-webkit-backdrop-filter:var(--igs-glass-blur);backdrop-filter:var(--igs-glass-blur);border:1px solid var(--igs-glass-border);border-radius:12px;padding:10px 8px;text-align:center;position:relative;transition:all var(--igs-transition-normal);cursor:pointer}.igs-pipeline__stage:hover{background:var(--igs-glass-bg-hover);transform:translateY(-2px)}.igs-pipeline__stage:after{content:"→";position:absolute;right:-16px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:18px;opacity:.5}.igs-pipeline__stage:last-child:after{display:none}.igs-pipeline__count{font-size:22px;font-weight:700;color:var(--text-primary);margin-bottom:2px}.igs-pipeline__label{font-size:11px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.igs-pipeline__amount{font-size:11px;font-weight:600;color:var(--primary);background:#3b82f61a;padding:2px 6px;border-radius:4px}.igs-urgent-list{display:flex;flex-direction:column;gap:6px}.igs-urgent-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--igs-glass-bg);-webkit-backdrop-filter:var(--igs-glass-blur);backdrop-filter:var(--igs-glass-blur);border:1px solid var(--igs-glass-border);border-radius:8px;transition:all var(--igs-transition-normal);cursor:pointer}.igs-urgent-item:hover{background:var(--igs-glass-bg-hover);transform:translate(4px)}.igs-urgent-item__indicator{width:12px;height:12px;border-radius:50%;flex-shrink:0}.igs-urgent-item__indicator--danger{background:#ef4444;box-shadow:0 0 8px #ef444480;animation:pulse-danger 2s infinite}.igs-urgent-item__indicator--warning{background:#f59e0b;box-shadow:0 0 8px #f59e0b80}.igs-urgent-item__indicator--normal{background:#10b981}@keyframes pulse-danger{0%,to{opacity:1}50%{opacity:.5}}.igs-urgent-item__info{flex:1;min-width:0}.igs-urgent-item__name{font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.igs-urgent-item__progress{display:flex;align-items:center;gap:8px}.igs-urgent-item__progress-bar{flex:1;height:6px;background:#0000001a;border-radius:3px;overflow:hidden}.igs-urgent-item__progress-fill{height:100%;background:var(--igs-gradient-primary);border-radius:3px;transition:width var(--igs-transition-slow)}.igs-urgent-item__progress-text{font-size:12px;font-weight:600;color:var(--text-secondary);min-width:36px}.igs-urgent-item__dday{font-size:11px;font-weight:700;padding:4px 8px;border-radius:6px;white-space:nowrap}.igs-urgent-item__dday--danger{background:#ef44441a;color:#ef4444}.igs-urgent-item__dday--warning{background:#f59e0b1a;color:#f59e0b}.igs-urgent-item__dday--normal{background:#10b9811a;color:#10b981}.igs-chart-container{width:100%;height:100%;min-height:120px;padding:4px 0}.igs-chart-container--small{min-height:100px}.igs-chart-container--medium{min-height:180px}.igs-chart-container--large{min-height:220px}.igs-dashboard{display:flex;flex-direction:column;gap:12px;padding:16px 20px;background:var(--bg-base, #eef2f6);height:100vh;overflow:hidden;box-sizing:border-box}.igs-dashboard__header{display:flex;align-items:center;justify-content:space-between;padding:0 4px;flex-shrink:0}.igs-dashboard__title{font-size:22px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:10px}.igs-dashboard__title-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--igs-gradient-primary);color:#fff}.igs-dashboard__actions{display:flex;gap:8px}.igs-dashboard__kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;flex-shrink:0}@media (max-width: 1400px){.igs-dashboard__kpi-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 768px){.igs-dashboard__kpi-grid{grid-template-columns:repeat(2,1fr)}}.igs-dashboard__mid-section{display:grid;grid-template-columns:1fr 2fr;gap:12px;flex-shrink:0}.igs-dashboard__bottom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;flex:1;min-height:0}.igs-dashboard__main-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 1200px){.igs-dashboard__main-grid{grid-template-columns:1fr}}.igs-dashboard__full-width{grid-column:1 / -1}.igs-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all var(--igs-transition-fast);border:none;outline:none}.igs-btn--primary{background:var(--igs-gradient-primary);color:#fff}.igs-btn--primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.igs-btn--secondary{background:var(--igs-glass-bg);-webkit-backdrop-filter:var(--igs-glass-blur);backdrop-filter:var(--igs-glass-blur);border:1px solid var(--igs-glass-border);color:var(--text-primary)}.igs-btn--secondary:hover{background:var(--igs-glass-bg-hover)}.igs-btn--ghost{background:transparent;color:var(--text-secondary)}.igs-btn--ghost:hover{background:#0000000d;color:var(--text-primary)}.igs-btn--icon{padding:10px;width:40px;height:40px}.igs-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--igs-glass-bg);-webkit-backdrop-filter:var(--igs-glass-blur);backdrop-filter:var(--igs-glass-blur);border:1px solid var(--igs-glass-border);border-radius:12px;padding:10px 36px 10px 16px;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:all var(--igs-transition-fast)}.igs-select:hover{background-color:var(--igs-glass-bg-hover)}.igs-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.igs-gantt{display:flex;flex-direction:column;gap:6px}.igs-gantt__item{display:flex;align-items:center;gap:10px}.igs-gantt__label{width:140px;font-size:11px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.igs-gantt__bar-container{flex:1;height:18px;background:#0000000d;border-radius:4px;overflow:hidden;position:relative}.igs-gantt__bar{height:100%;background:var(--igs-gradient-primary);border-radius:4px;display:flex;align-items:center;justify-content:flex-end;padding-right:6px;min-width:30px;transition:width var(--igs-transition-slow)}.igs-gantt__bar--warning{background:var(--igs-gradient-warning)}.igs-gantt__bar--danger{background:var(--igs-gradient-danger)}.igs-gantt__bar-text{font-size:10px;font-weight:600;color:#fff}.igs-tooltip{position:relative}.igs-tooltip__content{position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:8px 12px;background:var(--text-primary);color:#fff;font-size:12px;font-weight:500;border-radius:8px;white-space:nowrap;opacity:0;visibility:hidden;transition:all var(--igs-transition-fast);margin-bottom:8px;z-index:1000}.igs-tooltip__content:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--text-primary)}.igs-tooltip:hover .igs-tooltip__content{opacity:1;visibility:visible}.igs-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.igs-empty__icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:#0000000d;color:var(--text-secondary);margin-bottom:16px}.igs-empty__title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.igs-empty__description{font-size:14px;color:var(--text-secondary);margin-bottom:20px}.igs-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.igs-badge--primary{background:#3b82f61a;color:#3b82f6}.igs-badge--success{background:#10b9811a;color:#10b981}.igs-badge--warning{background:#f59e0b1a;color:#f59e0b}.igs-badge--danger{background:#ef44441a;color:#ef4444}.igs-badge--neutral{background:#6b72801a;color:#6b7280}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.igs-animate-fadeIn{animation:fadeIn .4s ease forwards}.igs-animate-slideInRight{animation:slideInRight .4s ease forwards}.igs-animate-scaleIn{animation:scaleIn .3s ease forwards}.igs-stagger-1{animation-delay:.1s}.igs-stagger-2{animation-delay:.2s}.igs-stagger-3{animation-delay:.3s}.igs-stagger-4{animation-delay:.4s}[data-theme=dark] .igs-card:hover{box-shadow:0 12px 40px #0006}[data-theme=dark] .igs-kpi-card:hover{box-shadow:0 16px 48px #0006}[data-theme=dark] .igs-urgent-item__progress-bar,[data-theme=dark] .igs-gantt__bar-container,[data-theme=dark] .igs-empty__icon,[data-theme=dark] .igs-btn--ghost:hover{background:#ffffff1a}.project-pipeline{display:flex;flex-direction:column;height:100%;padding:24px;background:var(--bg-base, #eef2f6);overflow:hidden}.project-pipeline__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-shrink:0}.project-pipeline__title{font-size:28px;font-weight:700;color:var(--text-primary)}.project-pipeline__actions{display:flex;gap:12px;align-items:center}.project-pipeline__search{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:12px;min-width:260px}.project-pipeline__search input{border:none;background:transparent;font-size:14px;color:var(--text-primary);outline:none;width:100%}.project-pipeline__search input::-moz-placeholder{color:var(--text-secondary)}.project-pipeline__search input::placeholder{color:var(--text-secondary)}.project-pipeline__search svg{color:var(--text-secondary);flex-shrink:0}.project-pipeline__board{display:flex;gap:16px;overflow-x:auto;flex:1;padding-bottom:16px}.pipeline-column{flex:1;min-width:280px;max-width:320px;display:flex;flex-direction:column;background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:16px;overflow:hidden;transition:all .25s ease}.pipeline-column--collapsed{min-width:120px;max-width:120px}.pipeline-column__header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-top:4px solid;background:var(--glass-bg, rgba(255, 255, 255, .5))}.pipeline-column__title{display:flex;align-items:center;gap:8px}.pipeline-column__status-dot{width:10px;height:10px;border-radius:50%}.pipeline-column__label{font-size:14px;font-weight:600;color:var(--text-primary)}.pipeline-column__count{font-size:13px;font-weight:500;color:var(--text-secondary)}.pipeline-column__collapse{padding:4px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .15s ease}.pipeline-column__collapse:hover{background:var(--bg-secondary, rgba(0, 0, 0, .05));color:var(--text-primary)}.pipeline-column__amount{padding:0 16px 12px;font-size:15px;font-weight:700}.pipeline-column__cards{flex:1;padding:0 12px 12px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.pipeline-column__more{padding:12px;background:var(--bg-secondary, rgba(0, 0, 0, .03));border:1px dashed var(--border, rgba(0, 0, 0, .1));border-radius:12px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.pipeline-column__more:hover{background:var(--panel, rgba(0, 0, 0, .05));color:var(--text-primary)}.project-card{background:var(--panel, white);border-radius:12px;padding:14px;cursor:pointer;box-shadow:0 2px 8px #0000000f;transition:all .2s ease;position:relative}.project-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.project-card__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px}.project-card__name{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.4;flex:1;margin-right:8px}.project-card__menu{padding:4px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-secondary);opacity:0;transition:all .15s ease}.project-card:hover .project-card__menu{opacity:1}.project-card__menu:hover{background:var(--bg-secondary, rgba(0, 0, 0, .05))}.project-card__client{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);margin-bottom:10px}.project-card__client svg{flex-shrink:0}.project-card__amount{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:10px}.project-card__footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.project-card__margin,.project-card__probability{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:#10b981}.project-card__dday{font-size:12px;font-weight:600;padding:4px 8px;border-radius:6px}.project-card__dday--danger{background:#ef44441a;color:#ef4444}.project-card__dday--warning{background:#f59e0b1a;color:#f59e0b}.project-card__dday--normal{background:#10b9811a;color:#10b981}.project-card__progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--border, rgba(0, 0, 0, .05));border-radius:0 0 12px 12px;overflow:hidden}.project-card__progress-bar{height:100%;background:linear-gradient(90deg,#3b82f6,#06b6d4);border-radius:0 3px 3px 0;transition:width .4s ease}.project-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.project-modal{width:90%;max-width:640px;max-height:90vh;overflow-y:auto;animation:scaleIn .3s ease}.project-modal__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.project-modal__status{display:inline-block;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;margin-bottom:8px}.project-modal__title{font-size:22px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.project-modal__no{font-size:13px;color:var(--text-secondary)}.project-modal__close{padding:8px;background:transparent;border:none;border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .15s ease}.project-modal__close:hover{background:var(--bg-secondary, rgba(0, 0, 0, .05));color:var(--text-primary)}.project-modal__content{display:flex;flex-direction:column;gap:24px}.project-modal__section{padding-bottom:20px;border-bottom:1px solid var(--border, rgba(0, 0, 0, .08))}.project-modal__section:last-child{border-bottom:none;padding-bottom:0}.project-modal__section-title{font-size:14px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px}.project-modal__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.project-modal__field{display:flex;flex-direction:column;gap:4px}.project-modal__field-label{font-size:12px;color:var(--text-secondary)}.project-modal__field-value{font-size:14px;font-weight:500;color:var(--text-primary)}.project-modal__field-value--highlight{font-size:18px;font-weight:700;color:var(--primary, #3b82f6)}.project-modal__progress-info{display:flex;flex-direction:column;gap:12px}.project-modal__due{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-primary)}.project-modal__due svg{color:var(--text-secondary)}.project-modal__dday{padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600}.project-modal__dday--danger{background:#ef44441a;color:#ef4444}.project-modal__dday--warning{background:#f59e0b1a;color:#f59e0b}.project-modal__dday--normal{background:#10b9811a;color:#10b981}.project-modal__progress-bar-wrapper{display:flex;align-items:center;gap:12px}.project-modal__progress-bar-bg{flex:1;height:8px;background:var(--border, rgba(0, 0, 0, .1));border-radius:4px;overflow:hidden}.project-modal__progress-bar-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#06b6d4);border-radius:4px;transition:width .4s ease}.project-modal__progress-text{font-size:14px;font-weight:600;color:var(--text-primary);min-width:44px}.project-modal__footer{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border, rgba(0, 0, 0, .08))}@media (max-width: 1200px){.pipeline-column{min-width:260px;max-width:280px}}@media (max-width: 768px){.project-pipeline__header{flex-direction:column;gap:16px;align-items:stretch}.project-pipeline__actions{flex-wrap:wrap}.project-pipeline__search{flex:1;min-width:200px}.project-modal__grid{grid-template-columns:1fr}}.layout-viewer{display:flex;flex-direction:column;height:100%;padding:24px;background:var(--bg-base, #eef2f6);overflow:hidden}.layout-viewer__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-shrink:0}.layout-viewer__title-section{display:flex;flex-direction:column;gap:4px}.layout-viewer__title{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:700;color:var(--text-primary)}.layout-viewer__title svg{color:var(--primary, #3b82f6)}.layout-viewer__subtitle{font-size:14px;color:var(--text-secondary);padding-left:36px}.layout-viewer__actions{display:flex;gap:12px}.layout-viewer__navigator{background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:16px;padding:12px 16px;margin-bottom:20px;flex-shrink:0;overflow-x:auto}.pattern-navigator{display:flex;gap:10px}.pattern-thumbnail{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;background:var(--panel, white);border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.pattern-thumbnail:hover{border-color:#3b82f64d;transform:translateY(-2px)}.pattern-thumbnail--selected{border-color:var(--primary, #3b82f6);box-shadow:0 4px 12px #3b82f633}.pattern-thumbnail canvas{border-radius:6px;border:1px solid var(--border, rgba(0, 0, 0, .1))}.pattern-thumbnail__number{font-size:11px;font-weight:600;color:var(--text-primary)}.pattern-thumbnail__efficiency{font-size:10px;font-weight:500;color:var(--text-secondary);background:#10b9811a;color:#10b981;padding:2px 6px;border-radius:4px}.layout-viewer__content{display:flex;gap:20px;flex:1;min-height:0}.layout-viewer__canvas-wrapper{flex:1;display:flex;flex-direction:column;background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:20px;overflow:hidden}.layout-viewer__canvas-container{flex:1;position:relative;overflow:hidden}.layout-viewer__canvas{position:absolute;top:0;left:0;width:100%;height:100%}.layout-viewer__controls{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--panel, rgba(255, 255, 255, .8));border-top:1px solid var(--border, rgba(0, 0, 0, .05))}.layout-viewer__nav-buttons{display:flex;align-items:center;gap:12px}.layout-viewer__nav-label{font-size:14px;font-weight:500;color:var(--text-primary);min-width:140px;text-align:center}.layout-viewer__zoom-controls{display:flex;align-items:center;gap:8px}.layout-viewer__zoom-label{font-size:13px;font-weight:500;color:var(--text-secondary);min-width:50px;text-align:center}.pattern-info{width:320px;background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:20px;padding:20px;overflow-y:auto;flex-shrink:0}.pattern-info__header{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border, rgba(0, 0, 0, .08))}.pattern-info__header svg{color:var(--primary, #3b82f6)}.pattern-info__section{margin-bottom:20px}.pattern-info__section-title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.pattern-info__row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border, rgba(0, 0, 0, .05))}.pattern-info__row:last-child{border-bottom:none}.pattern-info__label{font-size:13px;color:var(--text-secondary)}.pattern-info__value{font-size:13px;font-weight:500;color:var(--text-primary)}.pattern-info__value--warning{color:#f59e0b}.pattern-info__efficiency{margin-bottom:16px}.pattern-info__efficiency-bar{height:8px;background:var(--border, rgba(0, 0, 0, .1));border-radius:4px;overflow:hidden;margin-bottom:8px}.pattern-info__efficiency-fill{height:100%;background:linear-gradient(90deg,#10b981,#34d399);border-radius:4px;transition:width .4s ease}.pattern-info__efficiency-value{font-size:14px;font-weight:600;color:#10b981}.pattern-info__parts{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.pattern-info__part{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg-secondary, rgba(0, 0, 0, .03));border-radius:8px}.pattern-info__part-color{width:14px;height:14px;border-radius:4px;flex-shrink:0}.pattern-info__part-label{font-size:12px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pattern-info__action{width:100%;margin-top:16px}@media (max-width: 1200px){.layout-viewer__content{flex-direction:column}.pattern-info{width:100%;max-height:300px}}@media (max-width: 768px){.layout-viewer__header{flex-direction:column;gap:16px;align-items:flex-start}.layout-viewer__actions{width:100%;flex-wrap:wrap}.layout-viewer__controls{flex-direction:column;gap:12px}}.igs-stock{padding:24px;min-height:100vh;background:var(--bg-base, #eef2f6)}.igs-stock-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.igs-stock-header .header-title{display:flex;align-items:center;gap:12px}.igs-stock-header .header-title h1{margin:0;font-size:24px;font-weight:600;color:var(--text-primary, #1e293b)}.igs-stock-header .header-title svg{color:var(--accent, #3b82f6)}.igs-stock-header .header-actions{display:flex;gap:12px}.stock-summary-cards{display:grid;grid-template-columns:repeat(4,1fr) 1.5fr;gap:16px;margin-bottom:24px}.summary-card{background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:16px;padding:20px;display:flex;align-items:center;gap:16px}.summary-card.wide{justify-content:center}.summary-icon{width:48px;height:48px;border-radius:12px;background:var(--bg-secondary, #f1f5f9);display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #64748b)}.summary-icon.available{background:#10b9811a;color:var(--success, #10b981)}.summary-icon.reserved{background:#f59e0b1a;color:var(--warning, #f59e0b)}.summary-icon.balance{background:#8b5cf61a;color:#8b5cf6}.summary-info{display:flex;flex-direction:column;gap:4px}.summary-label{font-size:13px;color:var(--text-secondary, #64748b)}.summary-value{font-size:22px;font-weight:700;color:var(--text-primary, #1e293b)}.summary-value.highlight{color:var(--accent, #3b82f6)}.stock-tabs{display:flex;gap:8px;margin-bottom:20px}.stock-tab{display:flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:12px;background:var(--panel, #ffffff);font-size:14px;font-weight:500;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s ease}.stock-tab:hover{background:var(--bg-secondary, #f1f5f9)}.stock-tab.active{background:var(--accent, #3b82f6);color:#fff}.stock-filters{display:flex;gap:12px;margin-bottom:20px}.stock-filters .search-box{flex:1;max-width:400px;display:flex;align-items:center;gap:10px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:10px 16px}.stock-filters .search-box svg{color:var(--text-secondary, #64748b)}.stock-filters .search-box input{flex:1;border:none;background:transparent;font-size:14px;color:var(--text-primary, #1e293b);outline:none}.stock-filters .search-box input::-moz-placeholder{color:var(--text-secondary, #64748b)}.stock-filters .search-box input::placeholder{color:var(--text-secondary, #64748b)}.stock-filters .filter-select{padding:10px 16px;border:1px solid var(--border, #e2e8f0);border-radius:12px;background:var(--panel, #ffffff);font-size:14px;color:var(--text-primary, #1e293b);cursor:pointer;min-width:160px}.stock-content{background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;padding:20px;overflow:hidden}.stock-table-wrapper{overflow-x:auto}.stock-table{width:100%;border-collapse:collapse}.stock-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0)}.stock-table th.text-right{text-align:right}.stock-table td{padding:14px 16px;font-size:14px;color:var(--text-primary, #1e293b);border-bottom:1px solid var(--border, #e2e8f0)}.stock-table tr:hover{background:var(--bg-secondary, rgba(59, 130, 246, .03))}.stock-table tr.low-stock{background:#ef444408}.stock-table tr.used{opacity:.6}.stock-table .lot-no{font-family:JetBrains Mono,monospace;font-weight:600;color:var(--accent, #3b82f6)}.stock-table .glass-type-badge{padding:4px 10px;background:var(--bg-secondary, #f1f5f9);border-radius:6px;font-size:13px;white-space:nowrap}.stock-table .spec{font-family:JetBrains Mono,monospace;font-size:13px}.stock-table .thickness{color:var(--text-secondary, #64748b)}.stock-table .text-right{text-align:right}.stock-table .qty{font-weight:600}.stock-table .reserved{color:var(--warning, #f59e0b)}.stock-table .available span{font-weight:600;color:var(--success, #10b981)}.stock-table .available span.low{color:var(--error, #ef4444)}.stock-table .price{color:var(--text-secondary, #64748b)}.stock-table .stock-value{font-weight:600}.stock-table .area{font-family:JetBrains Mono,monospace;font-size:13px}.stock-table .source-project{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stock-table .date{color:var(--text-secondary, #64748b);font-size:13px}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500}.status-badge.normal{background:#10b9811a;color:var(--success, #10b981)}.status-badge.warning{background:#ef44441a;color:var(--error, #ef4444)}.grade-badge{font-weight:600;font-size:13px}.balance-status{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500}.balance-status.available{background:#10b9811a;color:var(--success, #10b981)}.balance-status.reserved{background:#f59e0b1a;color:var(--warning, #f59e0b)}.balance-status.used{background:#94a3b81a;color:#94a3b8}.stock-table .actions{display:flex;gap:4px;justify-content:flex-end}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;color:var(--text-secondary, #64748b)}.empty-state svg{margin-bottom:16px;opacity:.5}.empty-state p{margin:0;font-size:15px}@media (max-width: 1400px){.stock-summary-cards{grid-template-columns:repeat(3,1fr)}.stock-summary-cards .summary-card.wide{grid-column:span 3}}@media (max-width: 1024px){.stock-summary-cards{grid-template-columns:repeat(2,1fr)}.stock-summary-cards .summary-card.wide{grid-column:span 2}}.igs-order-entry{padding:24px;min-height:100vh;background:var(--bg-base, #eef2f6)}.igs-order-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.igs-order-header .header-title{display:flex;align-items:center;gap:12px}.igs-order-header .header-title h1{margin:0;font-size:24px;font-weight:600;color:var(--text-primary, #1e293b)}.igs-order-header .header-title svg{color:var(--accent, #3b82f6)}.igs-order-header .header-actions{display:flex;gap:12px}.order-entry-content{display:grid;grid-template-columns:340px 1fr;gap:24px;height:calc(100vh - 140px)}.order-list-panel{background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;padding:20px;display:flex;flex-direction:column;overflow:hidden}.order-list-panel .panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.order-list-panel .panel-header h2{margin:0;font-size:16px;font-weight:600;color:var(--text-primary, #1e293b)}.order-list-panel .search-box{display:flex;align-items:center;gap:10px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:10px 14px;margin-bottom:16px}.order-list-panel .search-box svg{color:var(--text-secondary, #64748b)}.order-list-panel .search-box input{flex:1;border:none;background:transparent;font-size:14px;color:var(--text-primary, #1e293b);outline:none}.order-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.order-item{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:14px;cursor:pointer;transition:all .2s ease}.order-item:hover{border-color:var(--accent, #3b82f6)}.order-item.selected{border-color:var(--accent, #3b82f6);background:linear-gradient(135deg,#3b82f60d,#0ea5e90d)}.order-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.order-item-header .order-no{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600;color:var(--accent, #3b82f6)}.order-status{padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500}.order-status.draft{background:#94a3b81a;color:#94a3b8}.order-status.confirmed{background:#3b82f61a;color:#3b82f6}.order-status.in-progress{background:#f59e0b1a;color:#f59e0b}.order-status.completed{background:#10b9811a;color:#10b981}.order-item-project{font-size:14px;font-weight:500;color:var(--text-primary, #1e293b);margin-bottom:8px}.order-item-meta{display:flex;gap:12px;font-size:12px;color:var(--text-secondary, #64748b)}.parts-panel{background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;padding:24px;display:flex;flex-direction:column;overflow:hidden}.parts-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border, #e2e8f0)}.order-info h2{margin:0;font-size:20px;font-weight:600;color:var(--text-primary, #1e293b)}.order-info .project-name{font-size:14px;color:var(--text-secondary, #64748b);margin-left:12px}.order-info .order-status{margin-left:12px}.order-meta{display:flex;gap:24px}.order-meta .meta-item{display:flex;flex-direction:column;gap:2px}.order-meta .label{font-size:11px;color:var(--text-secondary, #64748b);text-transform:uppercase}.order-meta .value{font-size:14px;font-weight:500;color:var(--text-primary, #1e293b)}.parts-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.parts-summary .summary-item{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:4px}.parts-summary .summary-label{font-size:12px;color:var(--text-secondary, #64748b)}.parts-summary .summary-value{font-size:20px;font-weight:700;color:var(--text-primary, #1e293b)}.parts-table-section{flex:1;display:flex;flex-direction:column;overflow:hidden}.parts-table-section .table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.parts-table-section .table-header h3{margin:0;font-size:15px;font-weight:600;color:var(--text-primary, #1e293b)}.parts-table-wrapper{flex:1;overflow:auto;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px}.parts-table{width:100%;border-collapse:collapse}.parts-table th{padding:12px 14px;text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0);position:sticky;top:0;z-index:1}.parts-table td{padding:12px 14px;font-size:14px;color:var(--text-primary, #1e293b);border-bottom:1px solid var(--border, #e2e8f0)}.parts-table tr:hover{background:var(--bg-secondary, rgba(59, 130, 246, .03))}.parts-table tr.editing-row{background:var(--bg-secondary, rgba(59, 130, 246, .05))}.parts-table .row-num{font-size:13px;color:var(--text-secondary, #64748b);width:40px}.parts-table .dimension{font-family:JetBrains Mono,monospace;font-size:13px}.parts-table .qty{font-weight:600;text-align:center}.parts-table .area{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--text-secondary, #64748b)}.parts-table .glass-type{padding:4px 8px;background:var(--bg-secondary, #f1f5f9);border-radius:4px;font-size:12px;white-space:nowrap}.parts-table .zone{color:var(--accent, #3b82f6);font-weight:500}.parts-table .processing{color:var(--text-secondary, #64748b)}.parts-table .actions{width:60px;text-align:center}.input-sm{width:80px;padding:6px 10px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:13px;text-align:center;background:var(--panel, white);color:var(--text-primary, #1e293b)}.input-sm:focus{outline:none;border-color:var(--accent, #3b82f6)}.select-sm{padding:6px 10px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:12px;background:var(--panel, white);color:var(--text-primary, #1e293b);cursor:pointer}.icon-btn{width:32px;height:32px;border:none;border-radius:8px;background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.icon-btn:hover{background:var(--accent, #3b82f6);color:#fff}.icon-btn.delete:hover{background:var(--error, #ef4444)}.icon-btn.save{background:var(--success, #10b981);color:#fff}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.parts-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border, #e2e8f0)}.igs-btn-sm{padding:8px 14px;font-size:13px;border-radius:8px}.igs-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.igs-btn-primary:disabled{opacity:.5;cursor:not-allowed}.cutting-optimizer{display:flex;flex-direction:column;height:100vh;background:var(--bg-base, #eef2f6);overflow:hidden;box-sizing:border-box}.profit-simulator{display:flex;flex-direction:column;gap:10px;padding:12px 16px;background:var(--bg-base, #eef2f6);height:100vh;overflow:hidden;box-sizing:border-box}.profit-simulator__header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.profit-simulator__title-section{display:flex;align-items:center;gap:16px}.profit-simulator__title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:var(--text-primary);white-space:nowrap}.profit-simulator__title svg{color:var(--primary, #3b82f6)}.profit-simulator__selectors{display:flex;gap:8px}.igs-select--compact{padding:4px 24px 4px 8px;font-size:12px;min-width:140px}.profit-simulator__actions{display:flex;gap:6px}.igs-btn--sm{padding:4px 10px;font-size:11px;gap:4px}.profit-simulator__summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;flex-shrink:0}.summary-card{background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:2px}.summary-card__label{font-size:10px;font-weight:500;color:var(--text-secondary)}.summary-card__value{font-size:16px;font-weight:700;color:var(--text-primary)}.profit-simulator__chart-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;flex:1;min-height:0;overflow:hidden}.profit-simulator__chart-section{display:flex;flex-direction:column;min-height:0;overflow:hidden}.profit-simulator__section-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:6px;flex-shrink:0}.profit-simulator__chart-card{flex:1;min-height:0;padding:8px}.profit-simulator__chart-card .waterfall-chart{height:100%}.waterfall-chart{padding:0;height:100%;min-height:120px}.profit-simulator__breakdown-section{display:flex;flex-direction:column;min-height:0;overflow:hidden}.cost-breakdown{background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;overflow-y:auto;height:100%;box-sizing:border-box}.cost-breakdown__title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border, rgba(0, 0, 0, .08));flex-shrink:0}.cost-breakdown__section{margin-bottom:6px}.cost-breakdown__section-title{font-size:9px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}.cost-breakdown__row{display:flex;justify-content:space-between;align-items:center;padding:2px 0;font-size:11px;color:var(--text-primary)}.cost-breakdown__row--subtotal{border-top:1px solid var(--border, rgba(0, 0, 0, .08));margin-top:3px;padding-top:4px;font-weight:600}.cost-breakdown__total{margin-top:auto;padding-top:8px;border-top:2px solid var(--border, rgba(0, 0, 0, .1));flex-shrink:0}.cost-breakdown__total-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:12px;font-weight:600;color:var(--text-primary)}.profit-simulator__scenarios{flex-shrink:0}.profit-simulator__scenarios-header{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--text-primary)}.profit-simulator__scenarios-header svg{color:var(--primary, #3b82f6)}.profit-simulator__recommendation-inline{display:flex;align-items:center;gap:4px;margin-left:auto;padding:3px 8px;background:#10b9811a;border-radius:4px;font-size:10px;font-weight:500;color:#059669}.profit-simulator__recommendation-inline svg{color:#10b981}.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.scenario-card{background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:2px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:10px;padding:10px 12px;cursor:pointer;transition:all .25s ease;position:relative}.scenario-card:hover{border-color:#3b82f64d;transform:translateY(-1px)}.scenario-card__title{font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.scenario-card__metrics{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.scenario-card__metric{display:flex;justify-content:space-between;align-items:center;padding-bottom:4px;border-bottom:1px solid var(--border, rgba(0, 0, 0, .05))}.scenario-card__select{width:100%;padding:5px 8px;background:var(--bg-secondary, rgba(0, 0, 0, .05));border:none;border-radius:5px;font-size:10px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:3px}@media (max-width: 1200px){.profit-simulator__chart-row{grid-template-columns:1fr 1fr}}@media (max-width: 1024px){.profit-simulator__summary{grid-template-columns:repeat(4,1fr)}.scenario-grid{grid-template-columns:repeat(3,1fr);gap:6px}}@media (max-width: 768px){.profit-simulator__header{flex-direction:column;gap:10px;align-items:flex-start}.profit-simulator__title-section{flex-direction:column;align-items:flex-start;gap:8px}.profit-simulator__summary{grid-template-columns:repeat(2,1fr)}.profit-simulator__chart-row{grid-template-columns:1fr}}.igs-stakeholder{padding:20px;height:100vh;overflow:hidden;background:var(--bg-base, #eef2f6);box-sizing:border-box;display:flex;flex-direction:column}.igs-stakeholder-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-shrink:0}.igs-stakeholder-header .header-title{display:flex;align-items:center;gap:12px}.igs-stakeholder-header .header-title h1{margin:0;font-size:24px;font-weight:600;color:var(--text-primary, #1e293b)}.igs-stakeholder-header .header-title svg{color:var(--accent, #3b82f6)}.igs-stakeholder-content{display:grid;grid-template-columns:380px 1fr;gap:20px;flex:1;min-height:0}.org-list-panel{background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;padding:20px;display:flex;flex-direction:column;overflow:hidden}.org-list-filters{margin-bottom:16px}.org-list-filters .search-box{display:flex;align-items:center;gap:10px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:10px 14px;margin-bottom:12px}.org-list-filters .search-box svg{color:var(--text-secondary, #64748b)}.org-list-filters .search-box input{flex:1;border:none;background:transparent;font-size:14px;color:var(--text-primary, #1e293b);outline:none}.org-list-filters .search-box input::-moz-placeholder{color:var(--text-secondary, #64748b)}.org-list-filters .search-box input::placeholder{color:var(--text-secondary, #64748b)}.org-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px;scrollbar-width:none;-ms-overflow-style:none}.org-list::-webkit-scrollbar{display:none}.org-card{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease}.org-card:hover{border-color:var(--accent, #3b82f6);box-shadow:0 4px 12px #3b82f61a}.org-card.selected{border-color:var(--accent, #3b82f6);background:linear-gradient(135deg,#3b82f60d,#0ea5e90d)}.org-card-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.org-type-icon{font-size:24px}.org-type-icon.large{font-size:32px}.org-info{flex:1}.org-info h3{margin:0;font-size:15px;font-weight:600;color:var(--text-primary, #1e293b)}.org-info .org-type{font-size:12px;color:var(--text-secondary, #64748b)}.tier-badge{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.tier-badge.tier-a{background:#10b9811a;color:var(--success, #10b981)}.tier-badge.tier-b{background:#f59e0b1a;color:var(--warning, #f59e0b)}.tier-badge.tier-c{background:#ef44441a;color:var(--error, #ef4444)}.org-card-stats{display:flex;align-items:center;gap:16px;padding-top:12px;border-top:1px solid var(--border, #e2e8f0)}.org-card-stats .stat-item{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary, #64748b)}.org-card-stats .stat-item.amount{margin-left:auto;font-weight:600;color:var(--accent, #3b82f6)}.org-card-footer{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border, #e2e8f0)}.org-card-footer .sales-rep{font-size:12px;color:var(--text-secondary, #64748b)}.org-detail-panel{background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;padding:24px;display:flex;flex-direction:column;overflow:hidden}.detail-header{margin-bottom:20px}.detail-meta .org-type{font-size:13px;color:var(--text-secondary, #64748b)}.detail-address{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary, #64748b)}.detail-tabs{display:flex;gap:8px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border, #e2e8f0)}.tab-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;border:none;border-radius:10px;background:transparent;font-size:14px;font-weight:500;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s ease}.tab-btn:hover{background:var(--panel, #ffffff)}.tab-btn.active{background:var(--accent, #3b82f6);color:#fff}.detail-content{flex:1;overflow:hidden}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.tab-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary, #1e293b)}.contacts-tab{height:100%;display:flex;flex-direction:column;overflow:hidden}.contacts-tab .contacts-content{display:flex;gap:20px;flex:1;min-height:0;overflow:hidden}.contacts-tab .contacts-list{flex:1;display:flex;flex-direction:column;gap:12px;min-width:0;overflow-y:auto}.contact-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--panel, #ffffff);border:2px solid var(--border, #e2e8f0);border-radius:12px;transition:all .2s ease;cursor:pointer}.contact-card:hover{box-shadow:0 4px 12px #0000001a;border-color:var(--accent, #3b82f6)}.contact-card.selected{border-color:var(--accent, #3b82f6);background:linear-gradient(135deg,#3b82f608,#3b82f614)}.contact-card.primary{border-color:var(--warning, #f59e0b);background:linear-gradient(135deg,#f59e0b08,#f59e0b14)}.contact-card.primary.selected{border-color:var(--accent, #3b82f6)}.contact-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--accent, #3b82f6),#0ea5e9);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600}.contact-info{flex:1}.contact-name{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:var(--text-primary, #1e293b)}.contact-name .star-icon{color:var(--warning, #f59e0b)}.contact-role{font-size:13px;color:var(--text-primary, #1e293b);margin-top:2px}.contact-level{font-size:12px;color:var(--text-secondary, #64748b);margin-top:2px}.contact-personality-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;margin-top:6px}.contact-personality-badge .personality-icon{font-size:12px}.personality-detail-panel{width:380px;flex-shrink:0;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:16px;padding:0;overflow-y:auto;scrollbar-width:thin}.personality-header{padding:20px;border-bottom:3px solid;background:var(--panel, #ffffff)}.personality-type-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;color:#fff;font-weight:600;margin-bottom:8px}.personality-icon-large{font-size:20px}.personality-type-name{font-size:16px}.personality-contact-name{font-size:14px;color:var(--text-secondary, #64748b);margin-top:4px}.personality-section{padding:16px 20px;border-bottom:1px solid var(--border, #e2e8f0)}.personality-section:last-of-type{border-bottom:none}.personality-section .section-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:10px}.personality-section .section-title svg{color:var(--accent, #3b82f6)}.personality-section .section-description{font-size:13px;line-height:1.7;color:var(--text-secondary, #64748b);margin:0}.personality-note{background:var(--bg-secondary, #f8fafc)}.personality-note .note-content{font-size:13px;line-height:1.7;color:var(--text-primary, #1e293b);padding:12px 14px;background:var(--panel, #ffffff);border-radius:8px;border-left:3px solid var(--warning, #f59e0b)}.traits-list{display:flex;flex-wrap:wrap;gap:8px}.trait-chip{display:inline-block;padding:5px 12px;border-radius:16px;font-size:12px;font-weight:500;color:var(--text-primary, #1e293b)}.strengths-list,.cautions-list{margin:0;padding:0 0 0 18px;list-style:none}.strengths-list li,.cautions-list li{position:relative;padding:4px 0;font-size:13px;color:var(--text-secondary, #64748b);line-height:1.5}.strengths-list li:before{content:"✓";position:absolute;left:-18px;color:var(--success, #10b981);font-weight:600}.cautions-list li:before{content:"•";position:absolute;left:-14px;color:var(--warning, #f59e0b);font-weight:600}.caution-section{background:var(--bg-secondary, #f8fafc)}.caution-section .section-title .caution-icon{color:var(--warning, #f59e0b)}.approach-section{border-radius:0 0 16px 16px}.approach-section .approach-content{font-size:13px;line-height:1.7;color:var(--text-primary, #1e293b);margin:0;font-weight:500}.personality-keywords{display:flex;flex-wrap:wrap;gap:8px;padding:16px 20px}.keyword-chip{display:inline-block;padding:4px 10px;border:1px solid;border-radius:12px;font-size:11px;font-weight:500;background:transparent}.contact-actions{display:flex;gap:8px}.contact-actions .action-btn{width:36px;height:36px;border-radius:10px;background:var(--bg-secondary, #f1f5f9);display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #64748b);transition:all .2s ease;text-decoration:none}.contact-actions .action-btn:hover{background:var(--accent, #3b82f6);color:#fff}.projects-list{display:flex;flex-direction:column;gap:8px}.project-row{display:flex;align-items:center;gap:16px;padding:14px 16px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:10px;cursor:pointer;transition:all .2s ease}.project-row:hover{border-color:var(--accent, #3b82f6)}.project-main{flex:1;min-width:0}.project-name{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-no{font-size:12px;color:var(--text-secondary, #64748b)}.project-status{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap}.project-status.status-opportunity{background:#64748b1a;color:#64748b}.project-status.status-quote{background:#f59e0b1a;color:#f59e0b}.project-status.status-order{background:#3b82f61a;color:#3b82f6}.project-status.status-production{background:#8b5cf61a;color:#8b5cf6}.project-status.status-delivery{background:#10b9811a;color:#10b981}.project-status.status-settled{background:#94a3b81a;color:#94a3b8}.project-amount{font-size:14px;font-weight:600;color:var(--accent, #3b82f6);white-space:nowrap;min-width:80px;text-align:right}.project-progress{display:flex;align-items:center;gap:8px;min-width:100px}.project-progress .progress-bar{flex:1;height:6px;background:var(--bg-secondary, #f1f5f9);border-radius:3px;overflow:hidden}.project-progress .progress-fill{height:100%;background:linear-gradient(90deg,var(--accent, #3b82f6),#0ea5e9);border-radius:3px}.project-progress span{font-size:12px;color:var(--text-secondary, #64748b);min-width:35px}.project-row .chevron{color:var(--text-secondary, #64748b)}.project-card{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:10px;overflow:hidden;transition:all .2s ease}.project-card:hover{border-color:var(--accent, #3b82f6)}.project-card.expanded{border-color:var(--accent, #3b82f6);box-shadow:0 4px 12px #3b82f61a}.project-card .project-row{border:none;border-radius:0;background:transparent}.project-card .project-row:hover{border-color:transparent}.expand-toggle{color:var(--text-secondary, #64748b);transition:transform .2s ease}.project-card.expanded .expand-toggle{color:var(--accent, #3b82f6)}.project-details{padding:12px 16px 16px;display:flex;gap:16px;border-top:1px solid var(--border, #e2e8f0);margin-top:-4px}.detail-section{flex:1;min-width:0}.section-header{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);margin-bottom:8px}.partners-list{display:flex;flex-wrap:wrap;gap:6px}.partner-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--bg-secondary, #f1f5f9);border-radius:16px;font-size:12px;color:var(--text-primary, #1e293b)}.partner-chip.primary{background:#3b82f61a;border:1px solid rgba(59,130,246,.3)}.partner-role{font-weight:600;color:var(--accent, #3b82f6)}.partner-name{font-weight:500;color:var(--text-primary, #1e293b)}.partner-contact{font-size:11px;color:var(--text-secondary, #64748b)}.primary-indicator{color:var(--accent, #3b82f6)}.competitors-list{display:flex;flex-wrap:wrap;gap:6px}.competitor-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#ef444414;border-radius:16px;font-size:12px;color:var(--text-primary, #1e293b);border:1px solid rgba(239,68,68,.2)}.competitor-chip svg{color:#ef4444}.competitor-name{font-weight:500}.competitor-price{color:var(--text-secondary, #64748b);font-size:11px}.competitor-chip .result-badge{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600}.competitor-chip .result-badge.loss{background:#ef444426;color:#ef4444}.competitor-chip .result-badge.win{background:#10b98126;color:#10b981}.competitor-chip.unknown{background:#94a3b81a;border-color:#94a3b84d}.competitor-chip.unknown svg{color:#64748b}.no-data{font-size:12px;color:var(--text-secondary, #64748b);font-style:italic}.interactions-timeline{display:flex;flex-direction:column;gap:16px}.interaction-item{display:flex;gap:16px}.interaction-icon{width:40px;height:40px;border-radius:10px;background:var(--bg-secondary, #f1f5f9);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.interaction-content{flex:1;padding:16px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px}.interaction-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.interaction-type{padding:3px 8px;background:var(--accent, #3b82f6);color:#fff;border-radius:4px;font-size:11px;font-weight:500}.interaction-date{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary, #64748b)}.interaction-subject{font-size:15px;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:6px}.interaction-body{font-size:13px;color:var(--text-secondary, #64748b);line-height:1.6;margin-bottom:10px}.interaction-meta{display:flex;align-items:center;gap:16px;padding-top:10px;border-top:1px dashed var(--border, #e2e8f0)}.interaction-meta span{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary, #64748b)}.interaction-meta .follow-up{color:var(--warning, #f59e0b);font-weight:500}.project-details-wrapper{padding:12px 16px 16px;border-top:1px solid var(--border, #e2e8f0);margin-top:-4px;display:flex;flex-direction:column;gap:16px}.project-details-wrapper .detail-row{display:flex;gap:16px}.activity-section{background:var(--bg-secondary, #f8fafc);border-radius:8px;padding:12px}.activity-section .section-header{margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border, #e2e8f0)}.activity-table{width:100%;border-collapse:collapse;font-size:12px}.activity-table th{padding:8px 10px;text-align:left;font-weight:600;color:var(--text-secondary, #64748b);background:var(--panel, #ffffff);border-bottom:1px solid var(--border, #e2e8f0);white-space:nowrap}.activity-table td{padding:8px 10px;vertical-align:top;border-bottom:1px solid var(--border, #e2e8f0);color:var(--text-primary, #1e293b)}.activity-table tbody tr:hover{background:#3b82f608}.activity-table tbody tr:last-child td{border-bottom:none}.activity-date{white-space:nowrap;color:var(--text-secondary, #64748b);font-size:11px}.activity-type-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:10px;font-weight:600;color:#fff;white-space:nowrap}.activity-type-badge.type-meeting{background:#3b82f6}.activity-type-badge.type-call{background:#10b981}.activity-type-badge.type-email{background:#8b5cf6}.activity-type-badge.type-visit{background:#f59e0b}.activity-type-badge.type-quote{background:#06b6d4}.activity-type-badge.type-negotiation{background:#ec4899}.activity-type-badge.type-contract{background:#22c55e}.activity-subject{font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-participant{color:var(--text-secondary, #64748b);font-size:11px;white-space:nowrap}.activity-result{max-width:180px;font-size:11px;line-height:1.4}.activity-result .next-action{display:block;margin-top:4px;color:var(--accent, #3b82f6);font-weight:500;font-size:10px}.activity-creator{color:var(--text-secondary, #64748b);font-size:11px;white-space:nowrap}.igs-master-plan{padding:24px;height:100vh;overflow:hidden;display:flex;flex-direction:column;background:var(--bg-primary);box-sizing:border-box}.igs-master-plan .plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-shrink:0}.igs-master-plan .plan-header .header-title{display:flex;align-items:center;gap:12px}.igs-master-plan .plan-header .header-title h1{margin:0;font-size:22px;font-weight:600;color:var(--text-primary)}.igs-master-plan .plan-header .header-title svg{color:var(--primary)}.igs-master-plan .plan-header .project-filter{padding:8px 14px;border:1px solid var(--border);border-radius:8px;background:var(--panel);font-size:13px;color:var(--text-primary);min-width:180px;cursor:pointer}.igs-master-plan .calendar-nav{display:flex;justify-content:space-between;align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px 20px;margin-bottom:12px;flex-shrink:0}.igs-master-plan .nav-buttons{display:flex;align-items:center;gap:8px}.igs-master-plan .nav-btn{width:32px;height:32px;border:none;border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.igs-master-plan .nav-btn:hover{background:var(--primary);color:#fff}.igs-master-plan .today-btn{padding:6px 14px;border:1px solid var(--border);border-radius:6px;background:var(--panel);font-size:12px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.igs-master-plan .today-btn:hover{border-color:var(--primary);color:var(--primary)}.igs-master-plan .current-period{display:flex;align-items:center;gap:10px}.igs-master-plan .current-period .year{font-size:16px;font-weight:600;color:var(--text-primary)}.igs-master-plan .current-period .week{font-size:16px;font-weight:700;color:var(--primary)}.igs-master-plan .current-period .date-range{font-size:13px;color:var(--text-secondary)}.igs-master-plan .legend{display:flex;gap:16px}.igs-master-plan .legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.igs-master-plan .legend-color{width:10px;height:10px;border-radius:2px}.igs-master-plan .plan-summary{display:flex;gap:12px;margin-bottom:12px;flex-shrink:0}.igs-master-plan .plan-summary .summary-card{flex:1;display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--panel);border:1px solid var(--border);border-radius:12px}.igs-master-plan .plan-summary .summary-card svg{color:var(--primary);flex-shrink:0}.igs-master-plan .plan-summary .summary-card.warning svg{color:#f59e0b}.igs-master-plan .plan-summary .summary-content{display:flex;flex-direction:column;gap:2px}.igs-master-plan .plan-summary .summary-label{font-size:12px;color:var(--text-secondary)}.igs-master-plan .plan-summary .summary-value{font-size:18px;font-weight:700;color:var(--text-primary)}.igs-master-plan .gantt-container{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden;flex:1;min-height:0;display:flex;flex-direction:column}.igs-master-plan .gantt-header{display:flex;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;height:48px}.igs-master-plan .gantt-project-col{width:180px;flex-shrink:0;padding:0 16px;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);border-right:1px solid var(--border);display:flex;align-items:center}.igs-master-plan .gantt-timeline{flex:1;display:flex;position:relative}.igs-master-plan .gantt-header .gantt-day{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid var(--border);padding:6px 2px}.igs-master-plan .gantt-header .gantt-day:last-child{border-right:none}.igs-master-plan .gantt-header .gantt-day.today{background:#3b82f61f}.igs-master-plan .gantt-header .gantt-day.weekend{background:var(--bg-tertiary)}.igs-master-plan .gantt-header .day-name{font-size:10px;color:var(--text-secondary);line-height:1}.igs-master-plan .gantt-header .day-date{font-size:14px;font-weight:600;color:var(--text-primary);margin-top:2px;line-height:1}.igs-master-plan .gantt-header .gantt-day.today .day-date{color:var(--primary)}.igs-master-plan .gantt-body{flex:1;overflow-y:auto;min-height:0}.igs-master-plan .project-group{border-bottom:1px solid var(--border)}.igs-master-plan .project-group:last-child{border-bottom:none}.igs-master-plan .project-row{display:flex;background:var(--bg-secondary);height:36px}.igs-master-plan .project-info{width:180px;flex-shrink:0;padding:0 12px;display:flex;align-items:center;gap:8px;border-right:1px solid var(--border)}.igs-master-plan .project-name{font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.igs-master-plan .due-warning{display:flex;align-items:center;gap:3px;padding:2px 6px;background:#ef444426;border-radius:4px;font-size:10px;font-weight:600;color:#ef4444}.igs-master-plan .gantt-timeline.empty{background:transparent}.igs-master-plan .phase-row{display:flex;height:32px;border-bottom:1px solid var(--border)}.igs-master-plan .phase-row:last-child{border-bottom:none}.igs-master-plan .phase-info{width:180px;flex-shrink:0;padding:0 12px 0 24px;display:flex;align-items:center;gap:6px;border-right:1px solid var(--border);background:var(--panel)}.igs-master-plan .phase-icon{width:18px;height:18px;border-radius:3px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.igs-master-plan .phase-icon svg{width:12px;height:12px}.igs-master-plan .phase-name{font-size:11px;font-weight:500;color:var(--text-primary)}.igs-master-plan .assignee{font-size:10px;color:var(--text-secondary);margin-left:auto}.igs-master-plan .grid-cell{flex:1;height:32px;border-right:1px solid var(--border)}.igs-master-plan .grid-cell:last-child{border-right:none}.igs-master-plan .grid-cell.today{background:#3b82f60f}.igs-master-plan .grid-cell.weekend{background:var(--bg-tertiary)}.igs-master-plan .gantt-bar{position:absolute;top:50%;transform:translateY(-50%);height:20px;border-radius:4px;display:flex;align-items:center;overflow:hidden;z-index:1;box-shadow:0 1px 4px #00000026}.igs-master-plan .bar-progress{position:absolute;left:0;top:0;height:100%;background:#ffffff40;border-radius:4px 0 0 4px}.igs-master-plan .bar-label{position:relative;z-index:1;padding-left:6px;font-size:10px;font-weight:600;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.igs-master-plan .bar-progress-label{position:relative;z-index:1;margin-left:auto;padding-right:6px;font-size:10px;font-weight:600;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.3);white-space:nowrap}@media (max-width: 1200px){.igs-master-plan .gantt-project-col,.igs-master-plan .project-info,.igs-master-plan .phase-info{width:160px}.igs-master-plan .legend{display:none}}@media (max-width: 768px){.igs-master-plan .plan-summary{flex-direction:column}}.master-planning{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary, #f8fafc);padding:1.5rem;gap:1.25rem;overflow:auto}.planning-header{display:flex;justify-content:space-between;align-items:center;padding:0 .5rem}.header-left svg{color:var(--primary, #3b82f6)}.header-left h1{font-size:1.5rem;font-weight:600;color:var(--text-primary, #1e293b);margin:0}.header-left .subtitle{color:var(--text-secondary, #64748b);font-size:.875rem;padding-left:.75rem;border-left:1px solid var(--border, #e2e8f0)}.header-actions{display:flex;gap:.5rem}.btn-primary,.btn-secondary{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-primary{background:var(--primary, #3b82f6);color:#fff;border:none}.btn-primary:hover{background:var(--primary-hover, #2563eb)}.btn-secondary{background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);border:1px solid var(--border, #e2e8f0)}.btn-secondary:hover{background:var(--bg-secondary, #f8fafc)}.summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.summary-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--panel, #ffffff);border-radius:8px;border:1px solid var(--border, #e2e8f0)}.summary-card.warning{border-left:3px solid #f59e0b}.card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:var(--bg-secondary, #f1f5f9);color:var(--primary, #3b82f6)}.card-icon.progress{background:#dbeafe;color:#2563eb}.card-icon.warning{background:#fef3c7;color:#d97706}.card-content{display:flex;flex-direction:column}.card-value{font-size:1.5rem;font-weight:600;color:var(--text-primary, #1e293b)}.card-label{font-size:.75rem;color:var(--text-secondary, #64748b)}.week-navigation{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:var(--panel, #ffffff);border-radius:8px;border:1px solid var(--border, #e2e8f0)}.week-nav-left{display:flex;align-items:center;gap:.5rem}.nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s ease}.nav-btn:hover{background:var(--bg-secondary, #f8fafc);color:var(--text-primary, #1e293b)}.week-display{display:flex;align-items:center;gap:.5rem;padding:0 1rem}.week-year{color:var(--text-secondary, #64748b);font-size:.875rem}.week-number{font-weight:600;color:var(--text-primary, #1e293b)}.btn-today{padding:.375rem .75rem;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);color:var(--primary, #3b82f6);font-size:.8125rem;font-weight:500;cursor:pointer;margin-left:.5rem}.btn-today:hover{background:var(--bg-secondary, #f8fafc)}.capacity-summary{display:flex;gap:2rem}.capacity-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.capacity-label{font-size:.75rem;color:var(--text-secondary, #64748b)}.capacity-value{font-size:.9375rem;font-weight:600;color:var(--text-primary, #1e293b)}.capacity-value.allocated{color:#2563eb}.capacity-value.available{color:#059669}.capacity-value.high{color:#dc2626}.capacity-value.medium{color:#d97706}.capacity-value.low{color:#059669}.filter-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--panel, #ffffff);border-radius:8px;border:1px solid var(--border, #e2e8f0)}.search-box{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-secondary, #f8fafc);border-radius:6px;border:1px solid var(--border, #e2e8f0);flex:1;max-width:320px}.search-box svg{color:var(--text-secondary, #64748b)}.search-box input{flex:1;border:none;background:transparent;font-size:.875rem;color:var(--text-primary, #1e293b);outline:none}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group svg{color:var(--text-secondary, #64748b)}.filter-group select{padding:.5rem .75rem;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);font-size:.875rem;color:var(--text-primary, #1e293b);cursor:pointer}.view-toggle{display:flex;margin-left:auto;border:1px solid var(--border, #e2e8f0);border-radius:6px;overflow:hidden}.toggle-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border:none;background:var(--panel, #ffffff);color:var(--text-secondary, #64748b);font-size:.8125rem;cursor:pointer;transition:all .15s ease}.toggle-btn:not(:last-child){border-right:1px solid var(--border, #e2e8f0)}.toggle-btn.active{background:var(--primary, #3b82f6);color:#fff}.toggle-btn:not(.active):hover{background:var(--bg-secondary, #f8fafc)}.planning-content{flex:1;background:var(--panel, #ffffff);border-radius:8px;border:1px solid var(--border, #e2e8f0);overflow:hidden}.plan-list{height:100%;overflow:auto}.plan-table{width:100%;border-collapse:collapse;font-size:.875rem}.plan-table th{position:sticky;top:0;background:var(--bg-secondary, #f8fafc);padding:.75rem 1rem;text-align:left;font-weight:500;color:var(--text-secondary, #64748b);border-bottom:1px solid var(--border, #e2e8f0);white-space:nowrap}.plan-table td{padding:.875rem 1rem;border-bottom:1px solid var(--border, #f1f5f9);color:var(--text-primary, #1e293b);vertical-align:middle}.plan-table tr:hover{background:var(--bg-secondary, #f8fafc)}.plan-table tr.row-delayed{background:#fef2f2}.plan-table tr.row-delayed:hover{background:#fee2e2}.plan-id{font-family:monospace;color:var(--text-secondary, #64748b)}.project-info{display:flex;flex-direction:column;gap:.125rem}.project-name{font-weight:500}.project-id{font-size:.75rem;color:var(--text-secondary, #94a3b8)}.quantity{font-family:monospace;font-weight:500}.period{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-secondary, #64748b)}.period .separator{color:var(--border, #cbd5e1)}.status-badge{display:inline-flex;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.badge-planned{background:#f1f5f9;color:#64748b}.badge-progress{background:#dbeafe;color:#1d4ed8}.badge-completed{background:#d1fae5;color:#059669}.badge-delayed{background:#fee2e2;color:#dc2626}.priority-badge{display:inline-flex;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.priority-high{background:#fef3c7;color:#b45309}.priority-medium{background:#e0e7ff;color:#4338ca}.priority-low{background:#f1f5f9;color:#64748b}.progress-cell{display:flex;align-items:center;gap:.5rem}.progress-bar{flex:1;height:6px;background:var(--bg-secondary, #e2e8f0);border-radius:3px;overflow:hidden;min-width:60px}.progress-fill{height:100%;background:var(--primary, #3b82f6);border-radius:3px;transition:width .3s ease}.progress-text{font-size:.75rem;font-weight:500;color:var(--text-secondary, #64748b);min-width:32px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--text-secondary, #94a3b8);gap:1rem}.empty-state p{margin:0;font-size:.9375rem}.timeline-view,.calendar-view{height:100%;display:flex;align-items:center;justify-content:center}.timeline-placeholder,.calendar-placeholder{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text-secondary, #94a3b8);text-align:center}.timeline-placeholder svg,.calendar-placeholder svg{opacity:.3}.timeline-placeholder h3,.calendar-placeholder h3{margin:0;font-size:1.125rem;font-weight:500;color:var(--text-primary, #64748b)}.timeline-placeholder p,.calendar-placeholder p{margin:0;font-size:.875rem}@media (max-width: 1200px){.summary-cards{grid-template-columns:repeat(2,1fr)}.capacity-summary{flex-wrap:wrap;gap:1rem}}@media (max-width: 768px){.master-planning{padding:1rem}.planning-header{flex-direction:column;align-items:flex-start;gap:1rem}.summary-cards{grid-template-columns:1fr}.week-navigation{flex-direction:column;gap:1rem}.filter-bar{flex-wrap:wrap}.search-box{max-width:none;width:100%}.view-toggle{margin-left:0;width:100%;justify-content:center}}.master-planning-workflow ::-webkit-scrollbar{width:6px;height:6px}.master-planning-workflow ::-webkit-scrollbar-track{background:transparent}.master-planning-workflow ::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.master-planning-workflow ::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.master-planning-workflow *{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.master-planning-workflow{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary);overflow:hidden;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.master-planning-workflow input,.master-planning-workflow select,.master-planning-workflow textarea,.master-planning-workflow button,.master-planning-workflow *{font-family:inherit}.workflow-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--panel);border-bottom:1px solid var(--border)}.header-left{display:flex;align-items:center;gap:.75rem}.header-left svg{color:var(--primary)}.header-title h1{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.header-title .subtitle{font-size:.8125rem;color:var(--text-secondary)}.header-right{display:flex;gap:.5rem}.btn-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.btn-icon:hover{background:var(--bg-secondary);color:var(--text-primary)}.workflow-stepper-container{padding:1rem 1.5rem;background:var(--panel);border-bottom:1px solid var(--border)}.workflow-stepper{max-width:1200px;margin:0 auto}.stepper-track{display:flex;align-items:center}.stepper-step{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:8px;cursor:pointer;transition:all .2s ease}.stepper-step.accessible:hover{background:var(--hover-bg)}.stepper-step.disabled{cursor:not-allowed;opacity:.5}.step-indicator{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--bg-secondary);color:var(--text-secondary);font-size:.8125rem;font-weight:600;transition:all .2s ease}.stepper-step.active .step-indicator{background:var(--primary);color:var(--on-accent)}.stepper-step.completed .step-indicator{background:var(--success);color:var(--on-accent)}.step-content{display:flex;flex-direction:column}.step-label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.step-description{font-size:.75rem;color:var(--text-tertiary);display:none}.stepper-step.active .step-description{display:block}.stepper-connector{flex:1;height:2px;background:var(--border);margin:0 .5rem;min-width:20px}.stepper-connector.completed{background:var(--success)}.stepper-mobile-info{display:none}.workflow-body{display:flex;flex:1;overflow:hidden;gap:1rem;padding:1rem 1.5rem}.workflow-main{flex:1;overflow-y:auto;background:var(--panel);border-radius:8px;border:1px solid var(--border);padding:1.5rem}.workflow-main.full-width{max-width:none;width:100%;padding:1rem}.workflow-sidebar{width:280px;flex-shrink:0}.sidebar-card{background:var(--panel);border-radius:8px;border:1px solid var(--border);padding:1rem}.sidebar-card h3{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.summary-item{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.summary-label{font-size:.75rem;color:var(--text-secondary)}.summary-value{font-size:.875rem;color:var(--text-primary);font-weight:500}.summary-value.highlight{color:var(--primary)}.summary-value.empty{color:var(--text-tertiary);font-weight:400}.summary-divider{height:1px;background:var(--border);margin:1rem 0}.highlight-box{background:var(--bg-secondary);border-radius:6px;padding:.75rem}.highlight-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.highlight-row:last-child{margin-bottom:0}.highlight-label{font-size:.75rem;color:var(--text-secondary)}.highlight-value{font-size:.875rem;font-weight:600;color:var(--text-primary)}.highlight-value.positive{color:var(--success)}.highlight-value.negative{color:var(--error)}.workflow-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--panel);border-top:1px solid var(--border)}.footer-step-indicator{font-size:.875rem;color:var(--text-secondary)}.btn-primary,.btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-primary{background:var(--primary);color:var(--on-accent);border:none}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--panel);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-secondary)}.btn-lg{padding:.75rem 1.5rem;font-size:1rem}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-text{background:none;border:none;color:var(--text-secondary);font-size:.8125rem;cursor:pointer;display:flex;align-items:center;gap:.25rem}.btn-text:hover{color:var(--primary)}.error-banner{background:var(--error-bg);border:1px solid var(--error);color:var(--error);padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.875rem}.step-header{margin-bottom:1.5rem}.step-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.step-title-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.step-description{font-size:.875rem;color:var(--text-secondary);margin:0}.context-info{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem .75rem;background:var(--bg-secondary);border-radius:6px;font-size:.8125rem}.context-label{color:var(--text-secondary)}.context-value{color:var(--text-primary);font-weight:500}.context-divider{color:var(--border)}.step-demand-select .status-summary-cards{display:flex;gap:.75rem;margin-bottom:1rem}.status-card{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--panel);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .15s ease}.status-card:hover{border-color:var(--primary)}.status-card.active{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.status-card.urgent{border-left:3px solid var(--error)}.status-count{font-weight:600;font-size:1rem}.status-label{font-size:.8125rem}.search-filter-bar{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.search-box{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--input-bg);border:1px solid var(--border);border-radius:6px;flex:1;max-width:400px}.search-box input::-moz-placeholder{color:var(--text-tertiary)}.search-box input::placeholder{color:var(--text-tertiary)}.filter-options select{padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);font-size:.875rem;cursor:pointer}.demand-list{display:grid;grid-template-columns:repeat(3,1fr);gap:.625rem;max-height:480px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.demand-list::-webkit-scrollbar{width:5px}.demand-list::-webkit-scrollbar-track{background:transparent}.demand-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.demand-list::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.demand-card.compact{display:flex;flex-direction:column;padding:.75rem;background:var(--panel);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s ease;position:relative;min-height:140px}.demand-card.compact:hover{border-color:var(--primary);box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.demand-card.compact.selected{border-color:var(--primary);border-width:2px;background:var(--accent-bg);box-shadow:0 0 0 2px #3b82f626}.demand-card.compact.selected:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary);border-radius:6px 6px 0 0}.demand-card.compact.urgent,.demand-card.compact.urgent.selected{border-left:3px solid var(--error)}.compact-header{display:flex;align-items:center;gap:.375rem;margin-bottom:.5rem}.checkbox-sm{width:18px;height:18px;border:1.5px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.checkbox-sm.checked{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.demand-id-sm{font-family:SF Mono,Consolas,monospace;font-size:.625rem;color:var(--text-tertiary);font-weight:500}.badges-row{display:flex;gap:.25rem;margin-left:auto}.badge-sm{padding:.0625rem .375rem;border-radius:3px;font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.project-name-compact{font-size:.8125rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.customer-compact{font-size:.6875rem;color:var(--text-secondary);margin-top:.125rem;display:block}.compact-metrics{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.5rem;border-top:1px solid var(--border)}.compact-metrics .metric{display:flex;align-items:baseline;gap:.125rem}.compact-metrics .metric-value{font-size:.9375rem;font-weight:700;color:var(--primary)}.compact-metrics .metric-unit{font-size:.625rem;color:var(--text-secondary)}.compact-metrics .metric-date{font-size:.6875rem;color:var(--text-secondary);margin-left:.25rem}.compact-metrics .metric svg{color:var(--text-tertiary)}.spec-compact{display:flex;gap:0;font-size:.5625rem;color:var(--text-tertiary);margin-top:.375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.parts-compact{display:flex;align-items:center;gap:.25rem;font-size:.625rem;color:var(--text-secondary);margin-top:.25rem}.parts-compact svg{color:var(--text-tertiary)}.parts-compact-list{margin-top:.375rem;padding-top:.375rem;border-top:1px dashed var(--border)}.parts-compact-header{display:flex;align-items:center;gap:.25rem;font-size:.5625rem;font-weight:500;color:var(--text-secondary);margin-bottom:.25rem}.parts-compact-header svg{color:var(--text-tertiary)}.parts-compact-items{display:flex;flex-direction:column;gap:.125rem}.parts-compact-item{display:flex;align-items:center;gap:.375rem;font-size:.5625rem;line-height:1.3;color:var(--text-secondary)}.parts-compact-item .item-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.5rem;color:var(--text-primary);font-weight:500}.parts-compact-item .item-spec{flex-shrink:0;font-size:.5625rem;color:var(--text-secondary);font-family:Consolas,Monaco,monospace}.parts-compact-item .item-qty{flex-shrink:0;min-width:20px;text-align:right;font-weight:500;color:var(--primary)}.demand-card:not(.compact){display:flex;align-items:stretch;padding:1rem;background:var(--panel);border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s ease;position:relative}.demand-card:not(.compact):hover{border-color:var(--primary);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.demand-card:not(.compact).selected{border-color:var(--primary);border-width:2px;background:var(--accent-bg);box-shadow:0 0 0 3px var(--accent-bg),0 4px 16px #3b82f633}.demand-card:not(.compact).selected:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary);border-radius:8px 8px 0 0}.demand-card:not(.compact).urgent{border-left:4px solid var(--error)}.card-select-indicator{display:flex;align-items:center;padding-right:1rem}.checkbox{width:24px;height:24px;border:2px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.checkbox.checked{background:var(--primary);border-color:var(--primary);color:var(--on-accent);box-shadow:0 2px 8px #3b82f666;transform:scale(1.1)}.card-main-content{flex:1}.card-header-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.demand-id{font-family:monospace;font-size:.75rem;color:var(--text-secondary)}.status-badge,.priority-badge{display:inline-flex;padding:.125rem .5rem;border-radius:4px;font-size:.6875rem;font-weight:500}.project-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.card-meta-row{display:flex;gap:1rem;margin-bottom:.5rem}.meta-item{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-secondary)}.card-quantity-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.quantity-label{font-size:.75rem;color:var(--text-secondary)}.quantity-value{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.quantity-divider{color:var(--border)}.card-spec-row{display:flex;gap:.375rem;flex-wrap:wrap}.spec-badge{padding:.125rem .375rem;background:var(--bg-secondary);border-radius:3px;font-size:.6875rem;color:var(--text-secondary)}.card-remarks{font-size:.8125rem;color:var(--text-secondary);margin:.5rem 0 0;font-style:italic}.card-parts-section{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--border)}.parts-header{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.parts-list{display:flex;flex-direction:column;gap:.25rem}.part-item{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;align-items:center;padding:.375rem .5rem;background:var(--bg-secondary);border-radius:4px;font-size:.75rem}.part-label{color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.part-size{color:var(--text-secondary);font-family:monospace;font-size:.6875rem}.part-qty{color:var(--primary);font-weight:600;white-space:nowrap}.parts-more{font-size:.6875rem;color:var(--text-tertiary);text-align:center;padding:.25rem}.card-arrow{display:flex;align-items:center;padding-left:1rem;color:var(--border)}.demand-card:hover .card-arrow{color:var(--primary)}.selected-summary{margin-top:1rem;padding:1rem;background:var(--accent-bg);border:1px solid var(--primary);border-radius:8px}.selected-summary .summary-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--primary);font-weight:600}.selected-summary .summary-content{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.selected-summary .summary-item{margin-bottom:0}.selected-summary .item-label{font-size:.75rem;color:var(--text-secondary)}.selected-summary .item-value{font-size:.875rem;color:var(--text-primary);font-weight:500}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-tertiary);gap:1rem}.empty-state svg{opacity:.5}.empty-state p{margin:0}.step-input-data.compact{display:flex;flex-direction:column;height:100%}.step-input-data.compact .method-selection{gap:.75rem;margin-bottom:1rem}.step-input-data.compact .method-option{padding:.875rem 1rem}.step-input-data.compact .method-icon{width:40px;height:40px;margin-bottom:.5rem}.step-input-data.compact .method-content h3{font-size:.875rem}.step-input-data.compact .method-content p{font-size:.75rem}.step-input-data.compact .method-content-area{flex:1;min-height:0;overflow:visible;margin-bottom:0}.step-input-data.compact .selected-plan-detail{padding:.875rem;margin-bottom:.75rem}.step-input-data.compact .selected-plan-detail .detail-grid{gap:.75rem;margin-bottom:.5rem}.step-input-data.compact .auto-loaded-notice{padding:.5rem .75rem;margin-bottom:.75rem;font-size:.75rem}.requested-parts-section.collapsible{margin-bottom:1rem}.requested-parts-section.collapsible .section-header{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .15s ease}.requested-parts-section.collapsible .section-header:hover{background:var(--hover-bg)}.requested-parts-section.collapsible:not(.expanded) .parts-table{display:none}.requested-parts-section.collapsible .section-header h3{flex:1;font-size:.875rem}.requested-parts-section.collapsible .parts-table-body{max-height:160px}.method-selection{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.method-selection.two-options{grid-template-columns:repeat(2,1fr)}.method-option{display:flex;flex-direction:column;padding:1rem;background:var(--panel);border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s ease}.method-option:hover:not(.disabled){border-color:var(--primary)}.method-option.active{border-color:var(--primary);background:var(--accent-bg)}.method-option.disabled{opacity:.6;cursor:not-allowed}.method-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:6px;background:var(--bg-secondary);color:var(--primary);margin-bottom:.5rem}.method-option.active .method-icon{background:var(--primary);color:var(--on-accent)}.method-content h3{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 .125rem}.method-content p{font-size:.75rem;color:var(--text-secondary);margin:0}.coming-soon{display:inline-block;padding:.125rem .375rem;background:var(--bg-secondary);border-radius:3px;font-size:.6875rem;color:var(--text-tertiary);margin-top:.5rem}.method-check{display:flex;justify-content:flex-end;color:var(--primary);margin-top:auto}.method-content-area{margin-bottom:1.5rem}.plan-two-column{display:flex;gap:1rem;height:100%}.plan-column-left,.plan-column-right{flex:1;min-width:0;display:flex;flex-direction:column}.plan-column-left .column-header,.plan-column-right .column-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-secondary);border-radius:6px 6px 0 0;border:1px solid var(--border);border-bottom:none}.column-header h4{font-size:.8125rem;font-weight:600;color:var(--text-primary);margin:0;flex:1}.column-header svg{color:var(--primary);flex-shrink:0}.plan-column-left .selected-plan-detail{flex:1;border-radius:0 0 6px 6px;border:1px solid var(--border);border-top:none;margin-bottom:0}.plan-column-left .no-plan-notice.compact{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;background:var(--panel);border:1px solid var(--border);border-top:none;border-radius:0 0 6px 6px;color:var(--text-tertiary);gap:.5rem}.plan-column-left .no-plan-notice.compact p{margin:0;font-size:.8125rem}.plan-column-right .plan-list-compact{flex:1;border-radius:0 0 6px 6px;border-top:none;max-height:none}.plan-row.selected{background:var(--accent-bg);border:1px solid var(--primary)}.section-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-secondary);border-radius:6px;margin-bottom:1rem}.section-header.clickable{cursor:pointer;gap:.5rem;transition:background .15s ease}.section-header.clickable:hover{background:var(--hover-bg)}.section-header.clickable h3{flex:1}.section-header h3{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0}.section-header svg{color:var(--text-secondary);flex-shrink:0}.view-only-badge{padding:.125rem .5rem;background:var(--text-muted);color:var(--panel);font-size:.625rem;font-weight:600;border-radius:3px;text-transform:uppercase;letter-spacing:.03em}.plan-list-compact{display:flex;flex-direction:column;gap:.375rem;max-height:150px;overflow-y:auto;padding:.5rem;background:var(--panel);border:1px solid var(--border);border-radius:6px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.plan-list-compact::-webkit-scrollbar{width:5px}.plan-list-compact::-webkit-scrollbar-track{background:transparent}.plan-list-compact::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.plan-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--bg-secondary);border-radius:4px;font-size:.8125rem;transition:background .15s ease}.plan-row:hover{background:var(--hover-bg)}.plan-row.linked{background:var(--accent-bg);border:1px solid var(--primary)}.plan-row-main{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.plan-row .plan-name{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-row .plan-date{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-tertiary);flex-shrink:0}.plan-row .plan-date svg{color:var(--text-muted)}.plan-row-stats{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.plan-row-stats .stat-item{font-size:.75rem;color:var(--text-secondary);font-weight:500}.plan-row-stats .stat-item.loss{color:var(--warning)}.plan-row .linked-badge{margin-left:.375rem;padding:.0625rem .25rem;font-size:.5625rem}.plan-list{display:flex;flex-direction:column;gap:.75rem}.plan-list.view-only .plan-card{cursor:default;opacity:.9}.plan-list.view-only .plan-card:hover{border-color:var(--border);transform:none;box-shadow:none}.plan-card.linked{border-color:var(--primary);background:var(--accent-bg)}.linked-badge{display:inline-block;margin-left:.5rem;padding:.125rem .375rem;background:var(--primary);color:var(--on-accent);font-size:.625rem;font-weight:600;border-radius:3px;vertical-align:middle}.plan-card{display:flex;align-items:center;padding:1rem;background:var(--panel);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .15s ease}.plan-card:hover{border-color:var(--primary)}.plan-card.selected{border-color:var(--primary);background:var(--accent-bg)}.plan-select{padding-right:1rem}.radio{width:18px;height:18px;border:2px solid var(--border);border-radius:50%}.radio.checked{border-color:var(--primary);background:var(--primary);box-shadow:inset 0 0 0 3px var(--panel)}.plan-info{flex:1}.plan-info h4{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.plan-meta{display:flex;align-items:center;gap:.75rem;font-size:.8125rem;color:var(--text-secondary)}.plan-meta svg{width:14px;height:14px}.project-tag{padding:.125rem .375rem;background:var(--bg-secondary);border-radius:3px;font-size:.75rem}.plan-stats{display:flex;gap:1.5rem}.plan-stats .stat{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-secondary)}.auto-loaded-notice{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--accent-bg);border:1px solid var(--primary);border-radius:6px;margin-bottom:1rem;font-size:.8125rem;color:var(--primary)}.auto-loaded-notice svg{flex-shrink:0}.no-plan-notice{display:flex;flex-direction:column;align-items:center;padding:2rem;text-align:center;color:var(--text-tertiary);background:var(--bg-secondary);border-radius:8px;border:1px dashed var(--border)}.no-plan-notice svg{margin-bottom:.75rem;color:var(--text-muted)}.no-plan-notice p{margin:0;font-size:.875rem}.no-plan-notice p.sub{margin-top:.5rem;font-size:.8125rem;color:var(--text-muted)}.selected-plan-detail{padding:1rem;background:var(--accent-bg);border:1px solid var(--primary);border-radius:8px;margin-bottom:1rem}.selected-plan-detail .detail-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.selected-plan-detail .detail-header .check-icon{color:var(--primary)}.selected-plan-detail h4{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:.75rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item .label{font-size:.75rem;color:var(--text-secondary)}.detail-item .value{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.spec-tags{display:flex;gap:.5rem;flex-wrap:wrap}.spec-tag{padding:.25rem .5rem;background:var(--panel);border:1px solid var(--border);border-radius:4px;font-size:.75rem;color:var(--text-secondary)}.section-header .btn-add{padding:.375rem .75rem;background:var(--primary);color:var(--on-accent);border:none;border-radius:4px;font-size:.8125rem;cursor:pointer}.empty-inputs{display:flex;flex-direction:column;align-items:center;padding:3rem;color:var(--text-tertiary);gap:1rem}.input-table{border:1px solid var(--border);border-radius:6px;overflow:hidden}.table-header{display:grid;grid-template-columns:1fr 120px 100px 60px;gap:1rem;padding:.75rem 1rem;background:var(--bg-secondary);font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.table-row{display:grid;grid-template-columns:1fr 120px 100px 60px;gap:1rem;padding:.75rem 1rem;border-top:1px solid var(--border-light);align-items:center}.table-row select,.table-row input{padding:.375rem .5rem;border:1px solid var(--border);border-radius:4px;font-size:.875rem;width:100%;background:var(--input-bg);color:var(--text-primary)}.calculated-value{font-weight:500;color:var(--text-primary)}.btn-remove{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:var(--error-bg);color:var(--error);border-radius:4px;cursor:pointer;font-size:1.25rem}.btn-remove:hover{opacity:.8}.table-footer{display:grid;grid-template-columns:1fr 120px 100px 60px;gap:1rem;padding:.75rem 1rem;background:var(--bg-secondary);border-top:1px solid var(--border);font-weight:600;color:var(--text-primary)}.input-summary{padding:1rem;background:var(--bg-secondary);border-radius:8px}.input-summary h4{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.summary-grid .summary-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--panel);border-radius:6px;margin-bottom:0}.summary-grid .summary-item svg{color:var(--primary)}.summary-grid .summary-item .value{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.summary-grid .summary-item .label{font-size:.75rem;color:var(--text-secondary)}.capacity-stats-bar{display:flex;gap:1rem;margin-bottom:1.5rem}.capacity-stats-bar .stat-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--panel);border:1px solid var(--border);border-radius:6px}.capacity-stats-bar .stat-item.primary{background:var(--primary);border-color:var(--primary);color:#fff}.capacity-stats-bar .stat-item.primary .stat-value,.capacity-stats-bar .stat-item.primary .stat-label{color:#fff}.capacity-stats-bar .stat-content{display:flex;flex-direction:column}.capacity-stats-bar .stat-value{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.capacity-stats-bar .stat-label{font-size:.75rem;color:var(--text-secondary)}.preset-section{margin-bottom:1.5rem}.preset-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.preset-header h3{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0}.btn-text-small{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;color:var(--text-secondary);background:none;border:none;cursor:pointer;border-radius:4px;transition:all .15s ease}.btn-text-small:hover{color:var(--primary);background:var(--accent-bg)}.preset-radio-group{display:flex;gap:.75rem;flex-wrap:wrap}.preset-radio-item{flex:1;min-width:140px;max-width:180px;cursor:pointer}.preset-radio-item input[type=radio]{display:none}.preset-radio-content{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--panel);border:2px solid var(--border);border-radius:8px;transition:all .15s ease}.preset-radio-item:hover .preset-radio-content,.preset-radio-item.selected .preset-radio-content{border-color:var(--primary);background:var(--accent-bg)}.preset-radio-item.custom-item .preset-radio-content{border-color:var(--warning);background:#f59e0b1a}.preset-radio-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-secondary);border-radius:8px;color:var(--text-secondary)}.preset-radio-item.selected .preset-radio-icon{background:var(--primary);color:var(--on-accent)}.preset-radio-item.custom-item .preset-radio-icon{background:var(--warning);color:#fff}.preset-radio-info{display:flex;flex-direction:column;flex:1;min-width:0}.preset-radio-name{font-size:.875rem;font-weight:600;color:var(--text-primary)}.preset-radio-capacity{font-size:.75rem;color:var(--text-secondary)}.preset-check{color:var(--primary);flex-shrink:0}.preset-radio-item.custom-item .preset-check{color:var(--warning)}.current-config-summary{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem .75rem;background:var(--bg-secondary);border-radius:6px;font-size:.8125rem}.current-config-summary .summary-label{color:var(--text-secondary)}.current-config-summary .summary-value{color:var(--text-primary);font-weight:500}.detail-settings-section{margin-top:1rem}.section-summary{font-size:.8125rem;color:var(--text-secondary);margin-left:auto;margin-right:.5rem}.presets-section{margin-bottom:1.5rem}.section-header-inline{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.section-header-inline h3{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0}.preset-buttons{display:flex;gap:.75rem}.preset-btn{display:flex;flex-direction:column;padding:.75rem 1rem;background:var(--panel);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .15s ease}.preset-btn:hover{border-color:var(--primary);background:var(--accent-bg)}.preset-name{font-size:.875rem;font-weight:500;color:var(--text-primary)}.preset-capacity{font-size:.75rem;color:var(--text-secondary)}.config-section{margin-bottom:1rem}.section-header.collapsible{cursor:pointer}.section-header.collapsible:hover{background:var(--hover-bg)}.lines-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.line-card{padding:1rem;background:var(--panel);border:1px solid var(--border);border-radius:6px}.line-card.inactive{opacity:.6}.line-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.toggle-switch{position:relative;width:40px;height:22px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--border);border-radius:11px;transition:.2s}.toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background:var(--panel);border-radius:50%;transition:.2s}.toggle-switch input:checked+.toggle-slider{background:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.line-name{font-weight:500;color:var(--text-primary)}.active-icon{color:var(--success);margin-left:auto}.line-details .detail-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.8125rem}.line-details .label{color:var(--text-secondary)}.line-details .value{color:var(--text-primary);font-weight:500}.efficiency-input{display:flex;align-items:center;gap:.25rem}.efficiency-input input{width:60px;padding:.25rem .5rem;border:1px solid var(--border);border-radius:4px;text-align:right;font-size:.875rem;background:var(--input-bg);color:var(--text-primary)}.detail-row.calculated{padding-top:.5rem;border-top:1px solid var(--border-light)}.detail-row.calculated .value{color:var(--primary)}.shift-options{display:flex;gap:1rem}.shift-option{flex:1;display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--panel);border:2px solid var(--border);border-radius:6px;cursor:pointer;transition:all .15s ease}.shift-option:hover{border-color:var(--primary)}.shift-option.selected{border-color:var(--primary);background:var(--accent-bg)}.shift-option input{display:none}.shift-content{display:flex;flex-direction:column;gap:.25rem}.shift-content svg{color:var(--text-secondary);margin-bottom:.25rem}.shift-option.selected .shift-content svg{color:var(--primary)}.shift-content .shift-name{display:block;font-weight:500;color:var(--text-primary)}.shift-content .shift-hours{display:block;font-size:.8125rem;color:var(--text-secondary)}.oee-badge{padding:.25rem .5rem;background:var(--primary);color:var(--on-accent);border-radius:4px;font-size:.8125rem;font-weight:600;margin-left:auto;margin-right:.5rem}.oee-settings{padding:1rem;background:var(--panel);border:1px solid var(--border);border-radius:6px}.oee-formula{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:var(--bg-secondary);border-radius:6px;margin-bottom:1rem}.formula-text{font-size:.8125rem;color:var(--text-secondary)}.formula-result{font-size:.9375rem;color:var(--text-primary)}.oee-sliders{display:flex;flex-direction:column;gap:1rem}.oee-slider-item{display:flex;flex-direction:column;gap:.5rem}.slider-header{display:flex;justify-content:space-between;align-items:center}.slider-label{font-size:.875rem;color:var(--text-primary)}.slider-value{font-weight:600;color:var(--primary)}.slider{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border);border-radius:3px;outline:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--primary);cursor:pointer}.slider-hint{font-size:.75rem;color:var(--text-tertiary)}.schedule-summary-bar{display:flex;align-items:center;gap:.5rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;margin-bottom:1.5rem}.schedule-summary-bar .summary-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--panel);border-radius:6px;margin-bottom:0}.schedule-summary-bar .label{font-size:.75rem;color:var(--text-secondary)}.schedule-summary-bar .value{font-size:.9375rem;font-weight:500;color:var(--text-primary)}.summary-arrow{display:flex;flex-direction:column;align-items:center;padding:0 .5rem}.days-badge{font-size:.6875rem;color:var(--text-secondary)}.method-options{display:flex;flex-direction:column;gap:1rem}.method-options.horizontal{flex-direction:row;gap:.75rem}.method-options.horizontal .method-card{flex:1}.method-row-with-calc{display:flex;align-items:center;gap:1rem}.method-row-with-calc .method-options.horizontal{flex:1}.calc-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.calc-button:hover{background:var(--primary-hover);transform:translateY(-1px)}.calc-button:active{transform:translateY(0)}.calc-button svg{flex-shrink:0}.calc-hours{font-size:.75rem;color:var(--text-secondary);margin-left:.25rem;font-weight:400}.method-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--panel);border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s ease}.method-card.compact{padding:.75rem 1rem;gap:.75rem}.method-card.compact .method-content h4{font-size:.9375rem;margin:0 0 .125rem}.method-card.compact .method-subtitle{font-size:.75rem;margin-bottom:0}.method-card:hover{border-color:var(--primary)}.method-card.selected{border-color:var(--primary);background:var(--accent-bg)}.method-card .method-icon{width:44px;height:44px;margin-bottom:0;display:flex;align-items:center;justify-content:center;border-radius:8px}.method-card.compact .method-icon{width:36px;height:36px}.method-card .method-icon.forward{background:var(--accent-alpha-20);color:var(--primary)}.method-card .method-icon.backward{background:var(--warning-bg);color:var(--warning)}.method-card .method-icon.jit{background:var(--success-bg);color:var(--success)}.method-card .method-content{flex:1}.method-card .method-content h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.method-subtitle{font-size:.8125rem;font-weight:500;color:var(--primary);margin-bottom:.25rem}.method-desc{font-size:.8125rem;color:var(--text-secondary);margin:0;line-height:1.4}.method-card .method-check .check-circle{width:20px;height:20px;border-radius:50%;background:var(--primary);position:relative}.method-card.compact .method-check .check-circle{width:16px;height:16px}.method-card .method-check .check-circle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:var(--on-accent);border-radius:50%}.method-card.compact .method-check .check-circle:after{width:6px;height:6px}.date-settings{padding:1rem;background:var(--panel);border:1px solid var(--border);border-radius:6px}.date-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.date-input-group{display:flex;flex-direction:column;gap:.5rem}.date-input-group label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.date-input-group input[type=date]{padding:.625rem .75rem;border:1px solid var(--border);border-radius:6px;font-size:.9375rem;background:var(--input-bg);color:var(--text-primary)}.date-hint{font-size:.75rem;color:var(--text-tertiary)}.buffer-input{display:flex;align-items:center;gap:.5rem}.buffer-input input{width:80px;padding:.625rem .75rem;border:1px solid var(--border);border-radius:6px;font-size:.9375rem;background:var(--input-bg);color:var(--text-primary)}.buffer-suffix{color:var(--text-secondary)}.info-box{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;background:var(--accent-bg);border:1px solid var(--accent-alpha-30);border-radius:6px;margin-top:1rem;font-size:.8125rem;color:var(--primary)}.info-box.warning{background:var(--warning-bg);border-color:var(--warning);color:var(--warning)}.process-summary{font-size:.8125rem;color:var(--text-secondary);margin-left:auto;margin-right:.5rem}.process-settings{padding:1rem;background:var(--panel);border:1px solid var(--border);border-radius:6px}.hardening-toggle{margin-bottom:1rem;padding:1rem;background:var(--bg-secondary);border-radius:6px}.hardening-toggle .toggle-label{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.toggle-content{display:flex;align-items:center;gap:.75rem}.toggle-content svg{color:var(--warning)}.toggle-title{display:block;font-weight:500;color:var(--text-primary)}.toggle-desc{display:block;font-size:.8125rem;color:var(--text-secondary)}.process-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.process-list.grid-4{grid-template-columns:repeat(4,1fr);gap:.5rem}.process-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;background:var(--panel);border:1px solid var(--border);border-radius:6px}.process-item.inactive{opacity:.5}.process-item.disabled{cursor:not-allowed}.process-seq{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:4px;font-size:.75rem;font-weight:600;color:var(--text-secondary)}.process-toggle{position:relative;width:18px;height:18px}.process-toggle input{position:absolute;opacity:0;cursor:pointer;width:100%;height:100%}.process-toggle .checkmark{display:block;width:18px;height:18px;border:2px solid var(--border);border-radius:4px}.process-toggle input:checked~.checkmark{background:var(--primary);border-color:var(--primary)}.process-info{flex:1;display:flex;justify-content:space-between;align-items:center}.process-name{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--text-primary)}.hardening-icon{color:var(--warning)}.process-duration{font-size:.8125rem;color:var(--text-secondary)}.process-total{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.total-label{font-weight:500;color:var(--text-primary)}.total-value{font-size:1.125rem;font-weight:600;color:var(--primary)}.total-days{font-size:.8125rem;color:var(--text-secondary)}.simulation-start{display:flex;justify-content:center;padding:3rem 1rem}.start-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem;max-width:400px}.start-card svg{color:var(--primary);opacity:.5;margin-bottom:1rem}.start-card h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.start-card p{font-size:.9375rem;color:var(--text-secondary);margin:0 0 1.5rem;line-height:1.5}.spinner{animation:spin 1s linear infinite}.view-toggle-bar{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.view-toggle-bar .toggle-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:var(--panel);border:1px solid var(--border);border-radius:6px;font-size:.8125rem;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.view-toggle-bar .toggle-btn:hover{border-color:var(--primary)}.view-toggle-bar .toggle-btn.active{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.toggle-spacer{flex:1}.comparison-table-wrapper{overflow-x:auto}.comparison-table{width:100%;border-collapse:collapse;font-size:.875rem}.comparison-table th{padding:.75rem 1rem;background:var(--bg-secondary);text-align:left;font-weight:500;color:var(--text-secondary);white-space:nowrap;border-bottom:1px solid var(--border)}.comparison-table td{padding:.875rem 1rem;border-bottom:1px solid var(--border-light);vertical-align:middle}.comparison-table tr{cursor:pointer;transition:background .15s ease}.comparison-table tr:hover{background:var(--hover-bg)}.comparison-table tr.selected{background:var(--accent-bg)}.comparison-table tr.impossible{opacity:.6}.col-select{width:50px}.radio-circle{width:18px;height:18px;border:2px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center}.radio-circle.checked{border-color:var(--primary)}.radio-inner{width:10px;height:10px;background:var(--primary);border-radius:50%}.scenario-name{font-weight:500;color:var(--text-primary)}.col-days,.col-completion,.col-oee{display:flex;align-items:center;gap:.375rem;color:var(--text-secondary)}.col-deadline.negative .deadline-value{color:var(--error);font-weight:600}.col-deadline.warning .deadline-value{color:var(--warning)}.col-deadline.positive .deadline-value{color:var(--success)}.utilization-value.high{color:var(--warning);font-weight:500}.feasibility-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:4px;font-size:.8125rem;font-weight:500}.feasibility-badge .score{opacity:.7;font-size:.75rem}.detail-cards{display:flex;flex-direction:column;gap:1rem}.scenario-card{background:var(--panel);border:2px solid var(--border);border-radius:8px;overflow:hidden}.scenario-card.selected{border-color:var(--primary)}.scenario-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;cursor:pointer}.scenario-card .header-left{display:flex;align-items:center;gap:.75rem}.scenario-card .scenario-info h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.scenario-card .scenario-type{font-size:.75rem;color:var(--text-secondary)}.feasibility-badge.lg{padding:.375rem .75rem;font-size:.875rem}.card-metrics{display:flex;gap:1.5rem;padding:0 1rem 1rem;border-bottom:1px solid var(--border-light)}.card-metrics .metric{display:flex;align-items:center;gap:.5rem}.card-metrics .metric svg{color:var(--text-secondary)}.card-metrics .value{font-weight:600;color:var(--text-primary)}.card-metrics .label{font-size:.75rem;color:var(--text-secondary)}.deadline-indicator{font-weight:600;font-size:1rem}.deadline-indicator.positive{color:var(--success)}.deadline-indicator.negative{color:var(--error)}.expand-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;width:100%;padding:.625rem;background:none;border:none;border-top:1px solid var(--border-light);color:var(--text-secondary);font-size:.8125rem;cursor:pointer}.expand-btn:hover{background:var(--bg-secondary);color:var(--primary)}.card-expanded{padding:1rem;background:var(--bg-secondary)}.warnings-section,.bottlenecks-section,.gantt-preview{margin-bottom:1rem}.warnings-section h5,.bottlenecks-section h5,.gantt-preview h5{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.warning-list,.bottleneck-list{display:flex;flex-direction:column;gap:.5rem}.warning-item{display:flex;align-items:flex-start;gap:.5rem;padding:.625rem .75rem;background:var(--panel);border-radius:6px}.warning-item.high{border-left:3px solid var(--error)}.warning-item.medium{border-left:3px solid var(--warning)}.warning-item.low{border-left:3px solid var(--info)}.text-red{color:var(--error)}.text-amber{color:var(--warning)}.text-blue{color:var(--info)}.warning-content .message{display:block;font-size:.875rem;color:var(--text-primary)}.warning-content .suggestion{display:block;font-size:.8125rem;color:var(--text-secondary);margin-top:.25rem}.bottleneck-item{padding:.75rem;background:var(--panel);border-radius:6px;border-left:3px solid var(--border)}.bottleneck-item.high{border-left-color:var(--error)}.bottleneck-item.medium{border-left-color:var(--warning)}.bn-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.bn-process{font-weight:500;color:var(--text-primary)}.bn-severity{font-size:.6875rem;font-weight:600;padding:.125rem .375rem;border-radius:3px}.bn-severity.high{background:var(--error-bg);color:var(--error)}.bn-severity.medium{background:var(--warning-bg);color:var(--warning)}.bn-description{font-size:.8125rem;color:var(--text-secondary);margin:0 0 .375rem}.bn-recommendation{font-size:.8125rem;color:var(--success);margin:0;display:flex;align-items:center;gap:.25rem}.gantt-bars{display:flex;flex-direction:column;gap:.375rem}.gantt-bar-row{display:grid;grid-template-columns:100px 1fr 120px;gap:.75rem;align-items:center}.gantt-label{font-size:.8125rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-bar-container{height:16px;background:var(--border);border-radius:3px;overflow:hidden}.gantt-bar{height:100%;border-radius:3px}.gantt-dates{font-size:.75rem;color:var(--text-tertiary)}.step-simulate .selected-summary{margin-top:1.5rem;padding:1rem;background:var(--accent-bg);border:1px solid var(--primary);border-radius:8px}.step-simulate .selected-summary .summary-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--primary);font-size:.875rem}.step-simulate .selected-summary .summary-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.step-simulate .selected-summary .metric{display:flex;flex-direction:column;gap:.25rem}.step-simulate .selected-summary .label{font-size:.75rem;color:var(--text-secondary)}.step-simulate .selected-summary .value{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.step-simulate .selected-summary .value.positive{color:var(--success)}.step-simulate .selected-summary .value.negative{color:var(--error)}.step-simulate .selected-summary .value-breakdown{font-size:.75rem;font-weight:400;color:var(--text-secondary);margin-left:.5rem}.step-simulate .selected-summary .calculation-info{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--border)}.step-simulate .selected-summary .calc-note{font-size:.75rem;color:var(--text-tertiary);line-height:1.4}.step-simulate .days-breakdown{display:flex;align-items:baseline;gap:.25rem}.step-simulate .days-detail{font-size:.6875rem;color:var(--text-tertiary);font-weight:400}.step-simulate .card-metrics .value-detail{display:block;font-size:.6875rem;font-weight:400;color:var(--text-secondary);margin-top:.125rem}.step-simulate .card-metrics .label-sub{display:block;font-size:.625rem;color:var(--text-tertiary);margin-top:.125rem}.step-master-plan .plan-status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;margin-left:.75rem}.plan-preview{background:var(--bg-secondary);border-radius:8px;padding:1.5rem}.key-metrics-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.metric-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1rem;text-align:center;transition:all .2s ease}.metric-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #00000014}.metric-card.primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark, #2563eb) 100%);border-color:var(--primary);color:#fff}.metric-card.primary .metric-label{color:#ffffffd9}.metric-card.primary .metric-value{color:#fff}.metric-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.2;margin-bottom:.25rem}.metric-value.highlight{color:var(--success)}.metric-value.highlight.negative{color:var(--error)}.metric-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.metric-sub{font-size:.6875rem;color:var(--text-tertiary);margin-top:.25rem}.metric-card.primary .metric-sub{color:#ffffffb3}.production-details,.schedule-details,.scenario-details{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1rem}.production-details h4,.schedule-details h4,.scenario-details h4{font-size:.8125rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem;display:flex;align-items:center;gap:.5rem}.production-details h4 svg,.schedule-details h4 svg,.scenario-details h4 svg{color:var(--primary)}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-light, rgba(0,0,0,.05))}.detail-row:last-child{border-bottom:none}.detail-row .label{font-size:.8125rem;color:var(--text-secondary)}.detail-row .value{font-size:.875rem;font-weight:500;color:var(--text-primary)}.detail-row .value.positive{color:var(--success)}.detail-row .value.negative{color:var(--error)}.detail-row .value.warning{color:var(--warning)}.days-breakdown{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.days-breakdown .breakdown-item{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-secondary)}.days-breakdown .breakdown-value{font-weight:600;color:var(--text-primary)}.days-breakdown .separator{color:var(--text-tertiary)}@media (max-width: 768px){.key-metrics-summary{grid-template-columns:repeat(2,1fr)}}.preview-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.preview-header svg{color:var(--primary)}.preview-header h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:1.5rem}.preview-section{background:var(--panel);border-radius:6px;padding:1rem}.preview-section h4{font-size:.8125rem;font-weight:600;color:var(--text-secondary);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.5px}.preview-items{display:flex;flex-direction:column;gap:.625rem}.preview-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.preview-item svg{color:var(--text-secondary);flex-shrink:0}.preview-item .label{color:var(--text-secondary);min-width:70px}.preview-item .value{color:var(--text-primary);font-weight:500}.preview-item .value.positive{color:var(--success)}.preview-item .value.negative{color:var(--error)}.preview-warnings{background:var(--warning-bg);border:1px solid var(--warning);border-radius:6px;padding:1rem;margin-bottom:1.5rem}.preview-warnings h4{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--warning);margin:0 0 .75rem}.preview-warnings ul{margin:0;padding-left:1.5rem}.preview-warnings li{font-size:.875rem;color:var(--warning);margin-bottom:.375rem}.preview-warnings li:last-child{margin-bottom:0}.preview-actions{display:flex;justify-content:center}.master-plan-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.master-plan-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.plan-title{display:flex;align-items:center;gap:.75rem}.plan-title svg{color:var(--primary)}.plan-title h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.plan-id{font-size:.8125rem;font-family:monospace;color:var(--text-secondary)}.plan-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;font-size:.8125rem;color:var(--text-secondary)}.plan-details-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;padding:1.25rem}.detail-group h4{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 .75rem}.detail-group .detail-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-primary);margin-bottom:.5rem}.detail-group .detail-item svg{color:var(--text-secondary)}.detail-group .scenario-name{font-weight:500}.detail-group .positive{color:var(--success)}.detail-group .negative{color:var(--error)}.daily-plan-summary{padding:0 1.25rem 1.25rem}.daily-plan-summary h4{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.daily-plan-table-wrapper{overflow-x:auto}.daily-plan-table{width:100%;border-collapse:collapse;font-size:.875rem}.daily-plan-table th{padding:.625rem 1rem;background:var(--bg-secondary);text-align:left;font-weight:500;color:var(--text-secondary);border-bottom:1px solid var(--border)}.daily-plan-table td{padding:.625rem 1rem;border-bottom:1px solid var(--border-light);color:var(--text-primary)}.utilization-bar{display:flex;align-items:center;gap:.5rem}.utilization-bar .utilization-fill{height:6px;background:var(--primary);border-radius:3px}.more-row td{text-align:center;color:var(--text-tertiary);font-style:italic}.plan-actions{display:flex;gap:.75rem;padding:1.25rem;border-top:1px solid var(--border)}.confirmed-message{display:flex;align-items:center;gap:1rem;margin-top:1rem;padding:1rem;background:var(--success-bg);border:1px solid var(--success);border-radius:8px}.confirmed-message svg{color:var(--success);flex-shrink:0}.confirmed-message h4{font-size:1rem;font-weight:600;color:var(--success);margin:0}.confirmed-message p{font-size:.875rem;color:var(--success);margin:.25rem 0 0}@media (max-width: 1200px){.workflow-sidebar{width:240px}.step-demand-select .status-summary-cards{flex-wrap:wrap}.method-selection{grid-template-columns:1fr}.preview-grid,.plan-details-grid,.demand-list{grid-template-columns:repeat(2,1fr)}}@media (max-width: 992px){.workflow-body{flex-direction:column}.workflow-sidebar{width:100%;order:-1}.sidebar-card{display:flex;flex-wrap:wrap;gap:1rem}.sidebar-card h3{width:100%;margin-bottom:.5rem}.summary-item{flex:1;min-width:150px;margin-bottom:0}.summary-divider{display:none}.lines-grid,.date-inputs{grid-template-columns:1fr}.step-simulate .selected-summary .summary-metrics{grid-template-columns:repeat(2,1fr)}.demand-list{grid-template-columns:1fr}.demand-card.compact{min-height:120px}}@media (max-width: 768px){.stepper-track{display:none}.stepper-mobile-info{display:flex;align-items:center;gap:.75rem}.current-step-badge{padding:.25rem .5rem;background:var(--primary);color:var(--on-accent);border-radius:4px;font-size:.75rem;font-weight:600}.current-step-name{font-weight:500;color:var(--text-primary)}.workflow-body{padding:.75rem}.workflow-main{padding:1rem}.card-meta-row{flex-direction:column;gap:.375rem}.capacity-stats-bar{flex-wrap:wrap}.shift-options{flex-direction:column}.process-list,.preview-grid,.plan-details-grid{grid-template-columns:1fr}.plan-actions{flex-direction:column}.plan-actions button{width:100%;justify-content:center}}.requested-parts-section{background:var(--panel);border-radius:8px;border:1px solid var(--border);margin-bottom:1.5rem;overflow:hidden}.requested-parts-section .section-header{display:flex;align-items:center;gap:.5rem;padding:1rem 1.25rem;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.requested-parts-section .section-header svg{color:var(--primary)}.requested-parts-section .section-header h3{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0}.parts-table{width:100%}.parts-table-header{display:grid;grid-template-columns:1.5fr 2fr 1fr 1fr 1.2fr;gap:.5rem;padding:.75rem 1.25rem;background:var(--bg-secondary);border-bottom:1px solid var(--border);font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.parts-table-body{max-height:240px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.parts-table-body::-webkit-scrollbar{width:6px}.parts-table-body::-webkit-scrollbar-track{background:transparent}.parts-table-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.parts-table-row{display:grid;grid-template-columns:1.5fr 2fr 1fr 1fr 1.2fr;gap:.5rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);font-size:.8125rem;color:var(--text-primary);transition:background .15s ease}.parts-table-row:last-child{border-bottom:none}.parts-table-row:hover{background:var(--accent-bg)}.parts-table-row .col-label{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.parts-table-row .col-size{display:flex;align-items:center;gap:.375rem;font-family:SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:.75rem;color:var(--text-secondary)}.parts-table-row .col-size svg{color:var(--text-muted);flex-shrink:0}.parts-table-row .col-qty{font-weight:600;color:var(--primary);text-align:right}.parts-table-row .col-area{font-family:SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:.75rem;color:var(--text-secondary);text-align:right}.parts-table-row .col-type{font-size:.75rem;color:var(--text-muted);text-align:center}.parts-table-footer{display:grid;grid-template-columns:1.5fr 2fr 1fr 1fr 1.2fr;gap:.5rem;padding:.875rem 1.25rem;background:var(--bg-secondary);border-top:2px solid var(--border);font-size:.8125rem;font-weight:600}.parts-table-footer .total-label{color:var(--text-primary)}.parts-table-footer .total-count{color:var(--text-secondary)}.parts-table-footer .total-qty{color:var(--primary);text-align:right}.parts-table-footer .total-area{font-family:SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:.75rem;color:var(--text-primary);text-align:right}@media (max-width: 768px){.parts-table-header,.parts-table-row,.parts-table-footer{grid-template-columns:1fr 1.5fr 1fr 1fr}.parts-table-header .col-type,.parts-table-row .col-type,.parts-table-footer .total-spacer{display:none}}.optimizer-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;background:var(--panel);border:2px dashed var(--border);border-radius:8px;text-align:center}.optimizer-prompt svg{color:var(--primary);opacity:.6;margin-bottom:1rem}.optimizer-prompt h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.optimizer-prompt p{font-size:.875rem;color:var(--text-secondary);margin:0 0 1.5rem}.optimizer-inline-section{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden;width:100%}.optimizer-inline-section .optimizer-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.optimizer-inline-section .optimizer-header .header-left{display:flex;align-items:center;gap:.5rem}.optimizer-inline-section .optimizer-header .header-left svg{color:var(--primary)}.optimizer-inline-section .optimizer-header h4{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0}.optimizer-inline-section .btn-text{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:transparent;border:1px solid var(--border);border-radius:4px;font-size:.75rem;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.optimizer-inline-section .btn-text:hover{background:var(--hover-bg);color:var(--text-primary);border-color:var(--primary)}.optimizer-inline-section .btn-text svg{color:var(--text-tertiary)}.optimizer-inline-section .btn-text:hover svg{color:var(--primary)}.optimizer-inline-section .optimizer-content{padding:1rem 1.5rem 1.5rem 0}.optimizer-placeholder-inline{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.optimizer-placeholder-inline svg{color:var(--primary);opacity:.3;margin-bottom:1rem}.optimizer-placeholder-inline h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .375rem}.optimizer-placeholder-inline p{font-size:.875rem;color:var(--text-secondary);margin:0 0 1.5rem}.placeholder-info-inline{display:flex;gap:2rem;padding:1rem 1.5rem;background:var(--bg-secondary);border-radius:6px;margin-bottom:1.5rem}.placeholder-info-inline .info-item{display:flex;flex-direction:column;gap:.25rem}.placeholder-info-inline .label{font-size:.6875rem;color:var(--text-secondary)}.placeholder-info-inline .value{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.optimizer-placeholder-inline .btn-primary{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:var(--primary);border:none;border-radius:6px;color:var(--on-accent);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.optimizer-placeholder-inline .btn-primary:hover:not(:disabled){filter:brightness(1.1)}.optimizer-placeholder-inline .btn-primary:disabled{opacity:.5;cursor:not-allowed}.optimizer-setup{display:flex;flex-direction:column;gap:1.5rem}.optimizer-content{display:flex;gap:1.5rem;align-items:flex-start}.setup-panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:.75rem;width:570px;flex-shrink:0;min-height:500px}.parts-list-section{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.parts-list-section .section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.parts-list-section .section-header h5{font-size:.8125rem;font-weight:600;color:var(--text-primary);margin:0}.parts-list-section .section-header svg{color:var(--text-secondary)}.parts-list-compact{display:flex;flex-direction:column;gap:.375rem}.part-item-compact{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;background:var(--bg-secondary);border-radius:4px;font-size:.75rem}.part-item-compact .part-color-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.part-item-compact .part-name{flex:1;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.part-item-compact .part-dim{color:var(--text-secondary);font-size:.6875rem}.part-item-compact .part-qty{color:var(--primary);font-weight:600}.parts-total-row{display:flex;justify-content:space-between;padding:.5rem;margin-top:.5rem;background:var(--bg-tertiary);border-radius:4px;font-size:.75rem;font-weight:600;color:var(--text-primary)}.parts-list-section .no-parts-notice{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;color:var(--text-tertiary);text-align:center}.parts-list-section .no-parts-notice p{margin:0;font-size:.75rem}.setup-panel h4{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.setup-panel h4 svg{color:var(--primary)}.setup-section{margin-bottom:.75rem}.setup-section:last-child{margin-bottom:0}.setup-section .section-header{display:flex;align-items:center;gap:.375rem;margin-bottom:.375rem;padding:.25rem 0}.setup-section .section-header h5{font-size:.75rem;font-weight:600;color:var(--text-primary);margin:0}.setup-section .section-header svg{color:var(--text-secondary);width:14px;height:14px}.setup-section .section-header.clickable{cursor:pointer}.setup-section .section-header.clickable:hover{color:var(--primary)}.setup-section .section-header.clickable:hover svg{color:var(--primary)}.setup-section h5{font-size:.75rem;font-weight:600;color:var(--text-primary);margin:0 0 .375rem}.sheet-selection-mode{display:flex;gap:.5rem;margin-bottom:.5rem}.sheet-selection-mode label{display:flex;align-items:center;gap:.375rem;padding:.3rem .625rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:.75rem;color:var(--text-primary);transition:all .15s ease}.sheet-selection-mode label:hover{border-color:var(--primary)}.sheet-selection-mode input[type=radio]{accent-color:var(--primary)}.sheet-selection-mode input[type=radio]:checked+span,.sheet-selection-mode label:has(input:checked){color:var(--primary)}.sheet-selection-mode label:has(input:checked){border-color:var(--primary);background:var(--accent-bg)}.sheet-checkboxes{display:flex;flex-wrap:nowrap;gap:.25rem}.sheet-checkbox{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;flex:1;min-width:0;min-height:2.25rem;cursor:pointer;transition:all .15s ease}.sheet-checkbox:hover{border-color:var(--primary)}.sheet-checkbox.checked{border-color:var(--primary);background:var(--accent-bg)}.sheet-checkbox .sheet-name{font-size:.75rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.sheet-checkbox .sheet-size{color:var(--text-secondary);font-size:.625rem;white-space:nowrap}.algorithm-options{display:flex;flex-wrap:wrap;gap:.375rem}.algorithm-option{display:flex;flex-direction:column;padding:.375rem .625rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .15s ease;min-width:80px}.algorithm-option:hover{border-color:var(--primary)}.algorithm-option:has(input:checked){border-color:var(--primary);background:var(--accent-bg)}.algorithm-option input[type=radio]{display:none}.algorithm-option .algo-name{font-size:.75rem;font-weight:600;color:var(--text-primary)}.algorithm-option .algo-desc{font-size:.625rem;color:var(--text-secondary);margin-top:0}.algorithm-option:has(input:checked) .algo-name{color:var(--primary)}.cutting-settings-toggle{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:var(--text-secondary);font-size:.8125rem;cursor:pointer;padding:0}.cutting-settings-toggle:hover{color:var(--primary)}.cutting-settings-form{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:1.5rem;margin-top:.5rem;padding:.75rem;background:var(--bg-secondary);border-radius:4px}.cutting-settings-form .form-row{display:flex;flex-direction:column;gap:.25rem;min-width:0}.cutting-settings-form .form-row label{font-size:.6875rem;color:var(--text-secondary);white-space:nowrap}.cutting-settings-form .form-row input[type=number]{padding:.375rem .5rem;background:var(--panel);border:1px solid var(--border);border-radius:4px;font-size:.8125rem;color:var(--text-primary);width:80px}.cutting-settings-form .form-row input[type=number]:focus{outline:none;border-color:var(--primary)}.cutting-settings-form .form-row.checkbox{flex-direction:row;align-items:center;gap:.5rem;padding-bottom:.25rem}.cutting-settings-form .form-row.checkbox label{display:flex;align-items:center;gap:.375rem;white-space:nowrap;font-size:.75rem;color:var(--text-primary);cursor:pointer}.cutting-settings-form .form-row.checkbox input[type=checkbox]{accent-color:var(--primary);width:14px;height:14px;flex-shrink:0;cursor:pointer}.parts-preview-panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1rem;display:flex;flex-direction:column}.parts-preview-panel h4{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem;display:flex;align-items:center;gap:.5rem}.parts-preview-panel h4 svg{color:var(--primary)}.parts-preview-list{flex:1;overflow-y:auto;max-height:240px}.part-preview-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg-secondary);border-radius:4px;margin-bottom:.375rem;font-size:.8125rem}.part-preview-item:last-child{margin-bottom:0}.part-preview-item .part-label{color:var(--text-primary);font-weight:500}.part-preview-item .part-size{color:var(--text-secondary)}.part-preview-item .part-qty{color:var(--primary);font-weight:600}.parts-preview-summary{display:flex;justify-content:space-between;padding:.625rem .75rem;background:var(--bg-tertiary);border-radius:4px;margin-top:.75rem;font-size:.8125rem}.parts-preview-summary span{color:var(--text-secondary)}.parts-preview-summary strong{color:var(--text-primary)}.optimizer-actions{display:flex;justify-content:center;gap:1rem;padding-top:.5rem}.optimizer-actions .btn-primary,.optimizer-actions .btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem}.optimizer-result{display:flex;flex-direction:column;gap:1.5rem}.result-header{display:flex;justify-content:space-between;align-items:center}.result-header h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.result-header h4 svg{color:var(--success)}.result-summary{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1rem}.summary-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.stat-card{display:flex;flex-direction:column;align-items:center;padding:.875rem;background:var(--bg-secondary);border-radius:6px;text-align:center}.stat-card .stat-value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.stat-card .stat-value.highlight{color:var(--success)}.stat-card .stat-value.warning{color:var(--warning)}.stat-card .stat-label{font-size:.6875rem;color:var(--text-secondary);margin-top:.25rem}.result-patterns{display:grid;grid-template-columns:280px 1fr;gap:1rem}.pattern-group-list{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.pattern-group-list-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border);font-size:.8125rem;font-weight:600;color:var(--text-primary)}.pattern-group-list-body{max-height:400px;overflow-y:auto}.pattern-group-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s ease}.pattern-group-item:last-child{border-bottom:none}.pattern-group-item:hover{background:var(--hover-bg)}.pattern-group-item.selected{background:var(--accent-bg);border-left:3px solid var(--primary)}.pattern-thumb{flex-shrink:0;width:60px;height:50px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;overflow:hidden}.pattern-thumb svg{max-width:100%;max-height:100%}.pattern-info{flex:1;min-width:0;background:transparent}.pattern-name{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.pattern-meta{font-size:.6875rem;color:var(--text-secondary)}.pattern-count{font-size:.8125rem;font-weight:700;color:var(--primary);background:var(--accent-bg);padding:.25rem .5rem;border-radius:4px}.pattern-detail{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.pattern-detail-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.pattern-detail-header h5{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0}.pattern-detail-header .efficiency-badge{display:flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:var(--success-bg);border-radius:4px;font-size:.75rem;font-weight:600;color:var(--success)}.pattern-detail-content{display:flex;flex:1;min-height:0}.detail-canvas{flex:1;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--bg-secondary);min-height:300px}.detail-canvas .pattern-svg{border:1px solid var(--border);border-radius:4px;background:var(--panel)}.placed-parts-list{width:200px;border-left:1px solid var(--border);overflow-y:auto;max-height:400px}.placed-parts-list-header{padding:.625rem .75rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border);font-size:.75rem;font-weight:600;color:var(--text-secondary)}.placed-part-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);font-size:.75rem}.placed-part-item:last-child{border-bottom:none}.placed-part-color{width:12px;height:12px;border-radius:2px;flex-shrink:0}.placed-part-info{flex:1;min-width:0}.placed-part-label{color:var(--text-primary);font-weight:500}.placed-part-size{color:var(--text-secondary);font-size:.6875rem}.placed-part-rotated{font-size:.625rem;color:var(--warning);background:var(--warning-bg);padding:.125rem .25rem;border-radius:2px}.no-pattern-selected{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-tertiary);gap:.5rem}.no-pattern-selected svg{opacity:.5}.no-pattern-selected p{margin:0;font-size:.875rem}@media (max-width: 1200px){.optimizer-setup-grid,.result-patterns{grid-template-columns:1fr}.pattern-group-list-body{display:flex;overflow-x:auto;max-height:none;padding:.5rem;gap:.5rem}.pattern-group-item{flex-direction:column;min-width:140px;border-bottom:none;border:1px solid var(--border);border-radius:6px}.summary-stats{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.summary-stats{grid-template-columns:repeat(2,1fr)}.cutting-settings-form{grid-template-columns:1fr}.sheet-selection-mode{flex-direction:column}}.result-panel{flex:1;background:var(--panel);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;overflow:hidden;min-height:550px}.result-summary-compact{padding:.5rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.result-summary-compact .summary-row{display:flex;justify-content:space-around;gap:.5rem}.result-summary-compact .summary-item{display:flex;flex-direction:column;align-items:center;padding:.125rem .5rem}.result-summary-compact .summary-item .item-value{font-size:1rem;font-weight:700;color:var(--text-primary)}.result-summary-compact .summary-item .item-label{font-size:.5625rem;color:var(--text-secondary);text-transform:uppercase}.result-summary-compact .summary-item .item-sub{display:inline;font-size:.5rem;color:var(--text-secondary);text-transform:none;margin-left:2px}.result-summary-compact .summary-item.highlight .item-value{color:var(--success)}.result-summary-compact .summary-item.loss .item-value{color:var(--error)}.result-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.pattern-group-list-compact{display:flex;gap:6px;padding:8px;overflow-x:auto;border-bottom:1px solid #475569;background:#1e293b}.pattern-item-compact{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;background:#334155;border:1px solid #475569;border-radius:4px;cursor:pointer;flex-shrink:0}.pattern-item-compact:hover{border-color:#3b82f6;background:#3d4f66}.pattern-item-compact.selected{border-color:#3b82f6;background:#1e3a5f;box-shadow:0 0 0 1px #3b82f6}.thumb-compact{width:64px;height:48px;background:#1e293b;border:1px solid #475569;border-radius:2px;overflow:hidden;flex-shrink:0}.info-compact{display:flex;flex-direction:column;align-items:center;gap:2px}.name-compact{font-size:10px;font-weight:600;color:#e2e8f0}.count-compact{font-size:9px;color:#60a5fa;font-weight:700;background:#1e3a5f;padding:1px 3px;border-radius:2px;margin-left:2px}.size-compact{font-size:8px;color:#94a3b8}.meta-compact{font-size:9px;color:#10b981;font-weight:600}.pattern-detail-compact{flex:1;display:flex;flex-direction:column;min-height:0}.detail-header-compact{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.detail-header-compact .detail-title{font-size:.8125rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.375rem}.detail-header-compact .count-badge{font-size:.625rem;color:var(--primary);background:var(--accent-bg);padding:.125rem .375rem;border-radius:3px;font-weight:600}.detail-header-compact .detail-info{font-size:.6875rem;color:var(--text-secondary)}.detail-canvas-compact{flex:1;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--bg-tertiary);min-height:400px}.detail-canvas-compact .pattern-svg{border:1px solid var(--border);border-radius:4px;background:var(--panel);max-width:100%;max-height:100%}.no-parts-notice{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:var(--text-tertiary);text-align:center;gap:.5rem}.no-parts-notice p{margin:0;font-size:.875rem}.no-parts-notice .hint{font-size:.75rem;color:var(--text-muted)}.part-color-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}@media (max-width: 1200px){.optimizer-setup-grid{grid-template-columns:1fr}.setup-panel{width:100%}.result-panel{min-height:500px}}.step-schedule input.readonly{background:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed;border-color:var(--border)}.schedule-calculation{padding:.5rem}.calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.calc-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:.875rem}.calc-card h4{margin:0 0 .625rem;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.025em}.calc-rows{display:flex;flex-direction:column;gap:.375rem}.calc-row{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem;flex-wrap:wrap;gap:.25rem}.calc-row.highlight{margin-top:.375rem;padding-top:.375rem;border-top:1px dashed var(--border)}.calc-row.warning-row{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--border)}.calc-hint{flex-basis:100%;font-size:.6875rem;color:var(--text-tertiary);margin-top:-.125rem}.calc-warning{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--error);font-weight:500}.calc-row.jit-benefit{margin-top:.25rem}.calc-benefit{font-size:.75rem;color:var(--success);font-weight:500}.calc-row.explanation{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--border)}.calc-explanation{display:flex;align-items:flex-start;gap:.375rem;font-size:.6875rem;color:var(--text-tertiary);line-height:1.4}.calc-explanation svg{flex-shrink:0;margin-top:.125rem;color:var(--info)}.calc-label{color:var(--text-secondary)}.calc-value{color:var(--text-primary);font-weight:500}.calc-value.bold{font-weight:700;font-size:.9375rem;color:var(--primary)}.calc-card.feasibility{display:flex;flex-direction:column}.feasibility-display{display:flex;align-items:center;gap:.75rem;flex:1}.feasibility-icon{display:flex;align-items:center;justify-content:center}.feasibility-info{display:flex;flex-direction:column}.feasibility-label{font-size:1rem;font-weight:700}.feasibility-margin{font-size:1.25rem;font-weight:700}.feasibility-desc{font-size:.6875rem;color:var(--text-secondary);margin-top:.125rem}.feasibility-warning{margin:.5rem 0 0;font-size:.75rem;padding:.375rem .5rem;background:#ef44441a;border-radius:4px}.calc-card.feasibility.safe{background:#22c55e14;border-color:#22c55e4d}.calc-card.feasibility.safe .feasibility-icon{color:#22c55e}.calc-card.feasibility.safe .feasibility-label,.calc-card.feasibility.safe .feasibility-margin{color:#16a34a}.calc-card.feasibility.warning{background:#f59e0b14;border-color:#f59e0b4d}.calc-card.feasibility.warning .feasibility-icon{color:#f59e0b}.calc-card.feasibility.warning .feasibility-label,.calc-card.feasibility.warning .feasibility-margin{color:#d97706}.calc-card.feasibility.danger{background:#ef444414;border-color:#ef44444d}.calc-card.feasibility.danger .feasibility-icon{color:#ef4444}.calc-card.feasibility.danger .feasibility-label,.calc-card.feasibility.danger .feasibility-margin{color:#dc2626}@media (max-width: 1200px){.calc-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.calc-grid{grid-template-columns:1fr}}.gantt-chart-view{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-top:1rem}.gantt-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.gantt-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.gantt-subtitle{font-size:.8125rem;color:var(--text-secondary)}.gantt-container{position:relative;overflow-x:auto;width:100%}.gantt-timeline{display:flex;border-bottom:1px solid var(--border);margin-bottom:.5rem;width:100%}.gantt-label-col{flex:0 0 120px;min-width:120px;padding:.25rem .5rem;font-size:.75rem;color:var(--text-secondary);position:sticky;left:0;z-index:10;background:var(--panel);border-right:1px solid var(--border)}.gantt-bars-col{flex:1;min-width:0;position:relative}.gantt-dates{display:flex;height:24px}.gantt-date-cell{display:flex;align-items:center;justify-content:center;font-size:.6875rem;color:var(--text-secondary);border-left:1px solid var(--border)}.gantt-date-cell:first-child{border-left:none}.gantt-row{display:flex;align-items:center;height:32px;border-bottom:1px solid var(--border);width:100%}.gantt-row:last-child{border-bottom:none}.gantt-process-name{font-size:.75rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-bar-track{position:relative;height:20px;background:var(--bg-secondary);border-radius:4px;width:100%}.gantt-bar{position:absolute;top:2px;height:16px;border-radius:3px;opacity:.85;cursor:pointer;transition:opacity .15s ease}.gantt-bar:hover{opacity:1}.gantt-date-cell.due-date{color:#ef4444;font-weight:700;background:#ef44441a}.gantt-due-marker{position:absolute;top:0;bottom:0;width:2px;background:#ef4444;z-index:5;pointer-events:none}.gantt-subtitle .due-info{color:#ef4444;font-weight:500}.gantt-legend{display:flex;gap:1.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-secondary)}.legend-bar{width:24px;height:12px;border-radius:2px;opacity:.85}.legend-line{width:16px;height:2px;background:#ef4444}.igs-process-monitor{padding:24px;height:100vh;overflow:hidden;display:flex;flex-direction:column;background:var(--bg-base, #eef2f6);font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;box-sizing:border-box}.process-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid var(--accent, #3b82f6);flex-shrink:0}.process-header .header-title{display:flex;align-items:flex-start;gap:12px}.process-header .header-title svg{color:var(--accent, #3b82f6);margin-top:2px}.process-header .header-title h1{margin:0;font-size:22px;font-weight:600;color:var(--text-primary, #1e293b)}.process-header .header-subtitle{display:block;font-size:12px;color:var(--accent, #3b82f6);margin-top:4px;font-weight:500;letter-spacing:.02em}.process-header .header-info{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:11px;color:var(--text-secondary, #64748b);font-weight:500;font-variant-numeric:tabular-nums}.process-legend{display:flex;justify-content:space-between;align-items:center;background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:12px;padding:12px 20px;margin-bottom:20px;flex-shrink:0}.legend-flows{display:flex;gap:24px}.legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary, #64748b)}.legend-line{width:28px;height:2px}.legend-line.main{background:var(--accent, #3b82f6)}.legend-line.optional{background:repeating-linear-gradient(to right,#f59e0b,#f59e0b 8px,transparent 8px,transparent 12px)}.legend-line.bypass{background:repeating-linear-gradient(to right,#22c55e,#22c55e 4px,transparent 4px,transparent 8px)}.legend-categories{display:flex;gap:16px}.category-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary, #64748b);text-transform:capitalize}.category-dot{width:10px;height:10px;border-radius:3px}.process-content{display:flex;gap:20px;margin-bottom:20px;flex:1;min-height:0;align-items:stretch}.process-diagram{flex:1;background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;overflow:auto;padding:10px}.process-diagram svg{display:block;min-width:100%}.process-detail-panel{width:320px;flex-shrink:0;background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;padding:20px;display:flex;flex-direction:column;overflow:hidden;min-height:0}.panel-header{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--accent, #3b82f6);padding-bottom:12px;border-bottom:1px solid var(--border, #e2e8f0);margin-bottom:12px}.detail-content{flex:1;display:flex;flex-direction:column;gap:16px}.detail-header-box{background:var(--bg-secondary, #f1f5f9);border-radius:12px;padding:12px}.detail-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.process-id{font-size:11px;color:var(--text-secondary, #64748b);font-weight:600;font-variant-numeric:tabular-nums}.optional-badge{font-size:10px;font-weight:700;background:#f59e0b;color:#000;padding:2px 8px;border-radius:4px}.process-name-main{font-size:18px;font-weight:700;color:var(--text-primary, #1e293b)}.process-name-en{font-size:11px;color:var(--text-secondary, #64748b);font-weight:500;text-transform:uppercase;letter-spacing:.03em}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-box{background:var(--bg-secondary, #f1f5f9);border-radius:10px;padding:12px}.detail-box.full{grid-column:1 / -1}.detail-label{font-size:10px;font-weight:600;color:var(--text-secondary, #64748b);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}.detail-value{font-size:13px;color:var(--text-primary, #1e293b)}.detail-value.highlight{display:flex;align-items:center;gap:6px;color:var(--success, #10b981);font-weight:600}.detail-item{font-size:12px;padding:3px 0}.detail-item.input{color:var(--accent, #3b82f6)}.detail-item.output{color:var(--success, #10b981)}.detail-item.qc{color:#f59e0b}.detail-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary, #64748b)}.detail-empty svg{margin-bottom:12px;opacity:.4}.detail-empty p{margin:2px 0;font-size:13px}.panel-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:auto;padding-top:16px;border-top:1px solid var(--border, #e2e8f0)}.summary-item{background:var(--bg-secondary, #f1f5f9);border-radius:10px;padding:10px 8px;text-align:center}.summary-value{display:block;font-size:20px;font-weight:700}.summary-value.blue{color:var(--accent, #3b82f6)}.summary-value.orange{color:#f59e0b}.summary-value.green{color:var(--success, #10b981)}.summary-value.purple{color:#8b5cf6}.summary-label{font-size:10px;color:var(--text-secondary, #64748b)}.process-sequence{background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:16px;padding:8px 20px 16px;flex-shrink:0;overflow:visible}.sequence-label{font-size:11px;font-weight:600;color:var(--text-secondary, #64748b);margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}.sequence-items{display:flex;align-items:center;gap:6px;overflow-x:auto;overflow-y:visible;padding-top:12px;padding-bottom:8px}.sequence-item{flex-shrink:0;padding:8px 12px;background:var(--bg-secondary, #f1f5f9);border-radius:10px;cursor:pointer;transition:all .2s ease;text-align:center;min-width:56px}.sequence-item:hover{background:var(--panel, #ffffff);box-shadow:0 2px 8px #00000014}.sequence-item.selected{background:var(--accent, #3b82f6);box-shadow:0 4px 12px #3b82f64d}.sequence-item.selected .sequence-id{color:#fff}.sequence-item.optional{border:2px dashed #f59e0b}.sequence-icon{display:flex;align-items:center;justify-content:center;margin-bottom:4px;color:var(--accent, #3b82f6)}.sequence-item.selected .sequence-icon{color:#fff}.sequence-id{font-size:10px;font-weight:600;color:var(--text-secondary, #64748b);font-variant-numeric:tabular-nums}.sequence-arrow{color:var(--text-muted, #94a3b8);font-size:14px;flex-shrink:0}.sequence-maintenance-btn{position:absolute;top:-6px;right:-6px;display:flex;align-items:center;gap:2px;padding:2px 5px;background:linear-gradient(135deg,#f59e0b,#d97706);border:2px solid var(--panel, #ffffff);border-radius:10px;cursor:pointer;transition:all .2s ease;font-size:9px;font-weight:700;color:#fff;box-shadow:0 2px 6px #f59e0b66;z-index:10}.sequence-maintenance-btn:hover{transform:scale(1.1);box-shadow:0 3px 10px #f59e0b80}.sequence-maintenance-btn svg{width:10px;height:10px}.sequence-maintenance-btn .maintenance-badge{font-size:9px;font-weight:700;line-height:1}.sequence-item{position:relative}@media (max-width: 1400px){.process-content{flex-direction:column}.process-detail-panel{width:100%;flex-direction:row;flex-wrap:wrap}.panel-header{width:100%}.detail-content{flex:1;min-width:300px}.panel-summary{width:100%;border-top:none;border-left:1px solid var(--border, #e2e8f0);padding-top:0;padding-left:16px;margin-top:0}}@media (max-width: 768px){.process-legend{flex-direction:column;gap:12px}.legend-categories{flex-wrap:wrap;justify-content:center}.process-detail-panel{flex-direction:column}.panel-summary{border-left:none;border-top:1px solid var(--border, #e2e8f0);padding-left:0;padding-top:16px;margin-top:16px}}.production-plan-panel{width:320px;flex-shrink:0;background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;padding:16px;display:flex;flex-direction:column;overflow:hidden;min-height:0}.production-plan-panel .panel-header{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--accent, #3b82f6);padding-bottom:12px;border-bottom:1px solid var(--border, #e2e8f0);margin-bottom:12px;flex-shrink:0}.production-plan-panel .plan-count{margin-left:auto;background:var(--accent, #3b82f6);color:#fff;font-size:10px;padding:2px 8px;border-radius:10px}.status-filter-tabs{display:flex;gap:4px;margin-bottom:12px;flex-wrap:wrap;flex-shrink:0}.filter-tab{flex:1;min-width:60px;padding:6px 8px;background:var(--bg-secondary, #f1f5f9);border:1px solid transparent;border-radius:8px;font-size:10px;font-weight:500;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:4px}.filter-tab:hover{background:var(--panel, #ffffff);border-color:var(--border, #e2e8f0)}.filter-tab.active{background:var(--accent, #3b82f6);color:#fff;border-color:var(--accent, #3b82f6)}.filter-tab .count{font-weight:700}.filter-tab .count.blue{color:#3b82f6}.filter-tab .count.orange{color:#f59e0b}.filter-tab .count.green{color:#10b981}.filter-tab.active .count{color:#fff}.plan-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-right:4px;min-height:0}.plan-list::-webkit-scrollbar{width:4px}.plan-list::-webkit-scrollbar-track{background:transparent}.plan-list::-webkit-scrollbar-thumb{background:var(--border, #e2e8f0);border-radius:4px}.plan-item{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:10px;cursor:pointer;transition:all .2s ease}.plan-item:hover{border-color:var(--accent, #3b82f6);box-shadow:0 2px 8px #00000014}.plan-item.selected{border-color:var(--accent, #3b82f6);background:linear-gradient(135deg,#3b82f60d,#0ea5e90d);box-shadow:0 4px 12px #3b82f626}.plan-row-1{display:flex;align-items:center;gap:6px;margin-bottom:4px}.plan-id{font-family:Pretendard Variable,Pretendard,Consolas,Courier New,monospace;font-size:10px;color:var(--text-secondary, #64748b);font-weight:600}.plan-project-code{font-family:Pretendard Variable,Pretendard,Consolas,Courier New,monospace;font-size:10px;color:var(--accent, #3b82f6);font-weight:500}.priority-dot{width:6px;height:6px;border-radius:50%;margin-left:auto}.plan-project-name{font-size:12px;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:4px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-row-3{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.plan-customer{font-size:10px;color:var(--text-secondary, #64748b)}.plan-quantity{font-size:11px}.plan-quantity .qty-value{font-weight:700;color:var(--text-primary, #1e293b)}.plan-quantity .qty-unit{color:var(--text-secondary, #64748b);margin-left:2px;font-size:10px}.plan-row-4{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px}.plan-product{font-size:9px;color:var(--text-muted, #94a3b8);padding:2px 6px;background:var(--bg-secondary, #f1f5f9);border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.plan-dates{font-size:9px;color:var(--text-secondary, #64748b);font-family:Pretendard Variable,Pretendard,Consolas,Courier New,monospace;white-space:nowrap}.plan-row-5{display:flex;align-items:center;gap:6px}.plan-row-5 .status-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:4px;font-size:9px;font-weight:600;flex-shrink:0}.plan-row-5 .current-process{font-size:9px;font-weight:500;color:var(--accent, #3b82f6);font-family:Pretendard Variable,Pretendard,Consolas,Courier New,monospace;flex-shrink:0}.plan-progress{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.plan-progress .progress-bar{flex:1;height:4px;background:var(--bg-secondary, #f1f5f9);border-radius:2px;overflow:hidden;min-width:30px}.plan-progress .progress-fill{height:100%;border-radius:2px;transition:width .3s ease}.plan-progress .progress-text{font-size:9px;font-weight:600;color:var(--text-secondary, #64748b);min-width:26px;text-align:right}[data-theme=dark] .plan-item{background:var(--panel, rgba(30, 41, 59, .8))}[data-theme=dark] .plan-item.selected{background:linear-gradient(135deg,#3b82f626,#0ea5e91a)}[data-theme=dark] .plan-product,[data-theme=dark] .filter-tab{background:#ffffff14}[data-theme=dark] .filter-tab:hover{background:#ffffff1f}[data-theme=dark] .plan-progress .progress-bar{background:#ffffff1a}.plan-item-main{cursor:pointer}.plan-item.expanded{border-color:var(--accent, #3b82f6)}.schedule-toggle-btn{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;padding:5px;margin-top:6px;background:var(--bg-secondary, #f1f5f9);border:1px dashed var(--border, #e2e8f0);border-radius:6px;font-size:10px;font-weight:500;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s ease}.schedule-toggle-btn:hover{background:var(--panel, #ffffff);border-color:var(--accent, #3b82f6);color:var(--accent, #3b82f6)}.plan-item.expanded .schedule-toggle-btn{background:var(--accent, #3b82f6);border-style:solid;border-color:var(--accent, #3b82f6);color:#fff}.daily-schedule-list{margin-top:8px;padding-top:8px;border-top:1px solid var(--border, #e2e8f0)}.schedule-header-row{display:flex;gap:4px;padding:6px 8px;background:var(--bg-secondary, #f1f5f9);border-radius:6px;font-size:9px;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;margin-bottom:4px}.schedule-row{display:flex;flex-wrap:wrap;gap:4px;padding:8px;border-radius:6px;font-size:10px;color:var(--text-primary, #1e293b);transition:background .15s ease;position:relative}.schedule-row:hover{background:var(--bg-secondary, #f1f5f9)}.schedule-row.today{background:#3b82f614;border-left:3px solid var(--accent, #3b82f6)}.schedule-row.weekend{background:#64748b0d}.schedule-row.weekend .sch-col{color:var(--text-muted, #94a3b8)}.schedule-row.completed{opacity:.85}.sch-col{display:flex;align-items:center}.sch-col.date{width:50px;flex-shrink:0;gap:4px}.sch-col.date .date-num{font-family:Pretendard Variable,Pretendard,Consolas,Courier New,monospace;font-weight:600}.sch-col.date .day-of-week{font-size:9px;color:var(--text-muted, #94a3b8)}.sch-col.process{width:48px;flex-shrink:0;font-family:Pretendard Variable,Pretendard,Consolas,Courier New,monospace;font-weight:500;color:var(--accent, #3b82f6)}.sch-col.shift{width:36px;flex-shrink:0;font-size:9px;color:var(--text-secondary, #64748b)}.sch-col.qty{width:40px;flex-shrink:0;text-align:right;justify-content:flex-end;font-family:Pretendard Variable,Pretendard,Consolas,Courier New,monospace}.sch-col.qty.actual{font-weight:600;gap:4px}.sch-col.qty .achievement{font-size:8px;padding:1px 4px;border-radius:4px}.sch-col.qty .achievement.good{background:#10b98126;color:#10b981}.sch-col.qty .achievement.warn{background:#f59e0b26;color:#f59e0b}.sch-col.status{flex:1;justify-content:flex-end}.sch-status-badge{font-size:9px;font-weight:600;padding:2px 6px;border-radius:4px}.sch-remarks{width:100%;font-size:9px;color:var(--text-muted, #94a3b8);padding-left:54px;margin-top:2px}.sch-remarks:before{content:"※ "}[data-theme=dark] .schedule-toggle-btn{background:#ffffff0f;border-color:#ffffff26}[data-theme=dark] .schedule-toggle-btn:hover{background:#3b82f633}[data-theme=dark] .schedule-header-row,[data-theme=dark] .schedule-row:hover{background:#ffffff0f}[data-theme=dark] .schedule-row.today{background:#3b82f626}[data-theme=dark] .schedule-row.weekend{background:#ffffff08}.maintenance-open-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:10px;font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);cursor:pointer;transition:all .2s ease}.maintenance-open-btn:hover{background:var(--accent, #3b82f6);border-color:var(--accent, #3b82f6);color:#fff}.maintenance-open-btn svg{color:var(--accent, #3b82f6)}.maintenance-open-btn:hover svg{color:#fff}.maintenance-count{background:var(--accent, #3b82f6);color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;min-width:24px;text-align:center}.maintenance-open-btn:hover .maintenance-count{background:#ffffff4d}.maintenance-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;justify-content:flex-end;animation:fadeIn .2s ease}.maintenance-slideover{width:480px;max-width:90vw;height:100vh;background:var(--panel, #ffffff);box-shadow:-8px 0 32px #00000026;display:flex;flex-direction:column;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.slideover-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border, #e2e8f0);flex-shrink:0}.slideover-title{display:flex;align-items:center;gap:10px}.slideover-title svg{color:var(--accent, #3b82f6)}.slideover-title h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary, #1e293b)}.slideover-title .total-count{font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f1f5f9);padding:4px 10px;border-radius:12px}.slideover-close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary, #f1f5f9);border:none;border-radius:8px;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s ease}.slideover-close-btn:hover{background:var(--error, #ef4444);color:#fff}.slideover-filters{display:flex;gap:12px;padding:16px 24px;background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0);flex-shrink:0}.filter-group{flex:1;display:flex;flex-direction:column;gap:6px}.filter-group label{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.05em}.filter-group select{padding:10px 12px;border:1px solid var(--border, #e2e8f0);border-radius:8px;background:var(--panel, #ffffff);font-size:13px;color:var(--text-primary, #1e293b);cursor:pointer;transition:border-color .2s ease}.filter-group select:hover,.filter-group select:focus{border-color:var(--accent, #3b82f6);outline:none}.slideover-content{flex:1;overflow-y:auto;padding:16px 24px;display:flex;flex-direction:column;gap:12px}.slideover-content::-webkit-scrollbar{width:6px}.slideover-content::-webkit-scrollbar-track{background:transparent}.slideover-content::-webkit-scrollbar-thumb{background:var(--border, #e2e8f0);border-radius:3px}.slideover-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted, #94a3b8)}.slideover-content .no-data{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary, #64748b);gap:12px}.slideover-content .no-data svg{opacity:.3}.slideover-content .no-data p{margin:0;font-size:14px}.maintenance-card{background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:16px;transition:all .2s ease}.maintenance-card:hover{border-color:var(--accent, #3b82f6);box-shadow:0 4px 12px #00000014}.maintenance-card-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.maintenance-card-header .process-badge{font-size:11px;font-weight:600;color:var(--text-secondary, #64748b);background:var(--panel, #ffffff);padding:4px 10px;border-radius:6px;border:1px solid var(--border, #e2e8f0)}.maintenance-card-header .type-badge{font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;margin-left:auto}.maintenance-card-title{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:6px;line-height:1.3}.maintenance-card-desc{font-size:12px;color:var(--text-secondary, #64748b);line-height:1.5;margin-bottom:10px}.maintenance-card-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--text-muted, #94a3b8);margin-bottom:10px}.maintenance-card-meta .meta-date,.maintenance-card-meta .meta-team{display:flex;align-items:center;gap:4px}.maintenance-card-footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.maintenance-card-footer .status-badge{font-size:10px;font-weight:600;padding:4px 10px;border-radius:6px}.maintenance-card-footer .cost-badge,.maintenance-card-footer .duration-badge{font-size:10px;color:var(--text-secondary, #64748b);background:var(--panel, #ffffff);padding:4px 8px;border-radius:4px;border:1px solid var(--border, #e2e8f0)}.maintenance-card-parts{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--border, #e2e8f0)}.maintenance-card-parts .parts-label{font-size:10px;font-weight:600;color:var(--text-muted, #94a3b8)}.maintenance-card-parts .part-tag{font-size:10px;color:var(--accent, #3b82f6);background:#3b82f61a;padding:3px 8px;border-radius:4px}.maintenance-card-remarks{font-size:11px;color:var(--warning, #f59e0b);background:#f59e0b1a;padding:8px 12px;border-radius:6px;margin-top:10px}[data-theme=dark] .maintenance-slideover{background:var(--panel, #1e293b);box-shadow:-8px 0 32px #0006}[data-theme=dark] .slideover-filters{background:#ffffff08}[data-theme=dark] .filter-group select{background:#ffffff0f;border-color:#ffffff1a}[data-theme=dark] .maintenance-card{background:#ffffff0a;border-color:#ffffff14}[data-theme=dark] .maintenance-card:hover{border-color:var(--accent, #3b82f6);background:#ffffff0f}[data-theme=dark] .maintenance-card-header .process-badge{background:#ffffff14;border-color:#ffffff1a}[data-theme=dark] .maintenance-card-footer .cost-badge,[data-theme=dark] .maintenance-card-footer .duration-badge{background:#ffffff0f;border-color:#ffffff1a}@media (max-width: 520px){.maintenance-slideover{width:100vw}.slideover-filters{flex-direction:column;gap:8px}.maintenance-card-meta{flex-direction:column;gap:6px}}.cctv-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease}.cctv-modal{width:90%;max-width:900px;background:var(--panel, #fff);border-radius:16px;overflow:hidden;box-shadow:0 25px 50px #0006;animation:scaleIn .25s ease}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.cctv-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff}.cctv-modal-title{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600}.cctv-process-badge{background:#fff3;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:500}.cctv-modal-close{background:#ffffff26;border:none;border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:background .2s}.cctv-modal-close:hover{background:#ffffff40}.cctv-modal-content{padding:0}.cctv-video-container{background:#000;aspect-ratio:16 / 9;position:relative;overflow:hidden}.cctv-video-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff6;position:relative}.cctv-video-placeholder>svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.1;z-index:1}.cctv-video-info{position:absolute;top:16px;left:16px;z-index:10;display:flex;flex-direction:column;gap:8px}.cctv-video-info p{margin:0;font-size:14px;color:#ffffffe6;text-shadow:0 1px 4px rgba(0,0,0,.8)}.cctv-camera-id{font-size:12px!important;color:#fff9!important;font-family:monospace}.cctv-live-badge{display:inline-flex;align-items:center;gap:6px;background:#dc2626;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.05em;width:-moz-fit-content;width:fit-content}.live-dot{width:8px;height:8px;background:#fff;border-radius:50%;animation:livePulse 1s ease infinite}@keyframes livePulse{0%,to{opacity:1}50%{opacity:.3}}.cctv-sample-video{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;z-index:0}.cctv-controls{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--bg-secondary, #f1f5f9);border-top:1px solid var(--border, #e2e8f0)}.cctv-status{display:flex;gap:24px}.status-item{display:flex;flex-direction:column;gap:2px}.status-label{font-size:10px;color:var(--text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.05em}.status-value{font-size:13px;font-weight:600;color:var(--text-primary, #1e293b);font-family:monospace}.status-value.recording{color:#dc2626;animation:recordBlink 1s ease infinite}@keyframes recordBlink{0%,to{opacity:1}50%{opacity:.5}}.cctv-timestamp{font-size:13px;color:var(--text-secondary, #64748b);font-family:monospace}.cctv-icon-group:hover circle{fill:#3b82f6cc}@media (max-width: 768px){.cctv-modal{width:95%;max-width:none}.cctv-modal-header{padding:12px 16px}.cctv-modal-title{font-size:14px;gap:8px}.cctv-process-badge{font-size:11px;padding:3px 8px}.cctv-controls{flex-direction:column;gap:12px;align-items:flex-start}.cctv-status{width:100%;justify-content:space-between}}.header-buttons{display:flex;gap:12px;align-items:center}.production-history-open-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #3b82f64d}.production-history-open-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.production-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;background:#fff3;border-radius:12px;font-size:12px;font-weight:600}.production-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;display:flex;justify-content:flex-end;animation:fadeIn .2s ease}.production-slideover{width:520px;max-width:90vw;height:100%;background:var(--panel);display:flex;flex-direction:column;animation:slideInRight .3s ease;box-shadow:-4px 0 20px #0003}.slideover-header.production{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.slideover-header.production .total-count{background:#fff3}.production-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:12px;transition:all .2s ease}.production-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f626}.production-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.production-card-header .header-left{display:flex;flex-direction:column;gap:4px}.production-card-header .work-order-no{font-size:14px;font-weight:600;color:var(--text-primary)}.production-card-header .lot-no{font-size:12px;color:var(--text-muted);font-family:monospace}.production-card-header .header-right{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.production-card-header .status-badge,.production-card-header .quality-badge{padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600}.production-card-project{margin-bottom:10px}.production-card-project .project-name{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.production-card-project .customer-name{font-size:12px;color:var(--text-secondary)}.production-card-process{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.production-card-process .process-badge{background:#3b82f620;color:#3b82f6;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.production-card-process .product-type{font-size:12px;color:var(--text-secondary)}.production-card-qty{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-tertiary, rgba(0,0,0,.05));border-radius:8px;margin-bottom:10px}.production-card-qty .qty-item{display:flex;align-items:baseline;gap:4px}.production-card-qty .qty-label{font-size:11px;color:var(--text-muted)}.production-card-qty .qty-value{font-size:16px;font-weight:700;color:var(--text-primary)}.production-card-qty .qty-value.actual{color:#3b82f6}.production-card-qty .qty-unit{font-size:11px;color:var(--text-muted)}.production-card-qty .qty-arrow{color:var(--text-muted);font-size:14px}.production-card-qty .qty-result{flex:1;display:flex;align-items:center;gap:8px}.production-card-qty .pass-rate-bar{flex:1;height:8px;background:var(--border);border-radius:4px;overflow:hidden;min-width:60px}.production-card-qty .pass-rate-fill{height:100%;border-radius:4px;transition:width .3s ease}.production-card-qty .pass-rate-text{font-size:13px;font-weight:700;color:var(--text-primary);min-width:50px;text-align:right}.production-card-quality{display:flex;align-items:center;gap:16px;margin-bottom:10px;flex-wrap:wrap}.production-card-quality .quality-item{font-size:12px}.production-card-quality .quality-item.pass{color:#10b981}.production-card-quality .quality-item.fail{color:#ef4444}.production-card-quality .quality-item strong{font-weight:700}.production-card-quality .oee-badge{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600}.production-card-work{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px;font-size:12px;color:var(--text-secondary)}.production-card-work .work-item{display:flex;align-items:center;gap:4px}.production-card-work .work-item.shift{padding:2px 8px;background:var(--bg-tertiary, rgba(0,0,0,.05));border-radius:4px}.production-card-meta{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:8px;font-size:12px;color:var(--text-muted)}.production-card-meta .meta-item{display:flex;align-items:center;gap:4px}.production-card-defects{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--border)}.production-card-defects .defect-label{font-size:11px;color:var(--text-muted);font-weight:500}.production-card-defects .defect-tag{background:#ef444420;color:#ef4444;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500}.production-card-reason{margin-top:8px;padding:8px 12px;background:#f59e0b10;border-radius:6px;font-size:12px;color:var(--text-secondary)}.production-card-reason .reason-label{color:#f59e0b;font-weight:600;margin-right:6px}.production-card-remarks{margin-top:8px;font-size:12px;color:var(--text-muted);font-style:italic}html.dark .production-card{background:var(--bg-secondary)}html.dark .production-card-qty{background:#ffffff0d}html.dark .production-card-work .work-item.shift{background:#ffffff14}@media (max-width: 768px){.header-buttons{flex-direction:column;gap:8px}.production-history-open-btn,.maintenance-open-btn{width:100%;justify-content:center}.production-slideover{width:100%;max-width:100vw}.production-card-qty{flex-direction:column;align-items:flex-start;gap:8px}.production-card-qty .qty-arrow{display:none}.production-card-qty .qty-result{width:100%}}.igs-settlement{padding:20px;height:100vh;overflow:hidden;background:var(--bg-base, #eef2f6);box-sizing:border-box;display:flex;flex-direction:column}.settlement-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-shrink:0}.settlement-header .header-title{display:flex;align-items:center;gap:12px}.settlement-header .header-title h1{margin:0;font-size:24px;font-weight:600;color:var(--text-primary, #1e293b)}.settlement-header .header-title svg{color:var(--accent, #3b82f6)}.settlement-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;flex-shrink:0}.settlement-summary .summary-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:12px}.settlement-summary .summary-icon{width:40px;height:40px;border-radius:10px;background:#3b82f61a;display:flex;align-items:center;justify-content:center;color:var(--accent, #3b82f6);flex-shrink:0}.settlement-summary .summary-icon.cost{background:#8b5cf61a;color:#8b5cf6}.settlement-summary .summary-icon.margin{background:#10b9811a;color:var(--success, #10b981)}.settlement-summary .summary-icon.pending{background:#f59e0b1a;color:var(--warning, #f59e0b)}.settlement-summary .summary-info{display:flex;flex-direction:column;gap:4px}.settlement-summary .summary-label{font-size:13px;color:var(--text-secondary, #64748b)}.settlement-summary .summary-value{font-size:18px;font-weight:700;color:var(--text-primary, #1e293b)}.settlement-content{display:flex;gap:20px;flex:1;min-height:0}.settlement-list-panel{width:400px;flex-shrink:0;background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;padding:20px;display:flex;flex-direction:column;overflow:hidden}.list-filters{display:flex;gap:12px;margin-bottom:16px}.list-filters .search-box{flex:1;display:flex;align-items:center;gap:10px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:10px 14px}.list-filters .search-box svg{color:var(--text-secondary, #64748b)}.list-filters .search-box input{flex:1;border:none;background:transparent;font-size:14px;color:var(--text-primary, #1e293b);outline:none}.list-filters .filter-select{padding:10px 14px;border:1px solid var(--border, #e2e8f0);border-radius:10px;background:var(--panel, #ffffff);font-size:13px;color:var(--text-primary, #1e293b);cursor:pointer}.settlement-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.settlement-item{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease}.settlement-item:hover{border-color:var(--accent, #3b82f6)}.settlement-item.selected{border-color:var(--accent, #3b82f6);background:linear-gradient(135deg,#3b82f60d,#0ea5e90d)}.settlement-item .item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.settlement-item .project-no{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-secondary, #64748b)}.settlement-item .item-project{font-size:15px;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:12px}.settlement-item .item-amounts{display:flex;gap:20px}.settlement-item .amount-item{display:flex;flex-direction:column;gap:2px}.settlement-item .amount-item .label{font-size:11px;color:var(--text-secondary, #64748b)}.settlement-item .amount-item .value{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.settlement-item .amount-item .value.positive{color:var(--success, #10b981)}.settlement-item .amount-item .value.negative{color:var(--error, #ef4444)}.settlement-item .amount-item .value.estimated{color:var(--text-secondary, #64748b)}.settlement-item .amount-item .value .diff{display:inline-flex;align-items:center;gap:2px;margin-left:6px;font-size:11px}.settlement-item .item-date{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border, #e2e8f0);font-size:12px;color:var(--text-secondary, #64748b)}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:500}.status-badge.pending{background:#f59e0b1a;color:#f59e0b}.status-badge.reviewing{background:#3b82f61a;color:#3b82f6}.status-badge.approved{background:#10b9811a;color:#10b981}.status-badge.rejected{background:#ef44441a;color:#ef4444}.settlement-analysis-panel{flex:1;min-width:0;background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;padding:20px;overflow-y:auto;display:flex;flex-direction:column}.settlement-report-panel{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;overflow:hidden}.settlement-report-panel .report-toggle{display:flex;gap:4px;background:var(--bg-secondary, #f1f5f9);padding:4px;margin:20px 20px 0;border-radius:8px;flex-shrink:0}.settlement-report-panel .report-tab{flex:1;padding:10px 12px;border-radius:6px;border:none;background:transparent;font-size:13px;font-weight:600;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s ease}.settlement-report-panel .report-tab:hover{color:var(--text-primary, #1e293b)}.settlement-report-panel .report-tab.active{color:#fff;background:#3b82f6;box-shadow:0 2px 8px #3b82f64d}.settlement-report-panel .settlement-report-card{flex:1;display:flex;flex-direction:column;margin:16px 20px;padding:32px 40px;background:repeating-linear-gradient(45deg,transparent,transparent 35px,rgba(59,130,246,.02) 35px,rgba(59,130,246,.02) 70px),linear-gradient(180deg,#fff,#fefefe);border:2px solid #1e3a5f;border-radius:4px;overflow-y:auto;box-shadow:0 0 0 4px #f8fafc,0 0 0 6px #cbd5e1,0 4px 20px #00000014;position:relative}.settlement-report-panel .settlement-report-card:before{content:"";position:absolute;top:8px;left:8px;right:8px;bottom:8px;border:1px solid rgba(30,58,95,.15);border-radius:2px;pointer-events:none}.settlement-report-panel .settlement-report-card.external-doc{background:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='50' y='50' font-size='8' fill='%233b82f6' fill-opacity='0.04' text-anchor='middle' transform='rotate(-45 50 50)'%3E정산확인서%3C/text%3E%3C/svg%3E"),repeating-linear-gradient(0deg,transparent,transparent 19px,rgba(100,116,139,.03) 19px,rgba(100,116,139,.03) 20px),repeating-linear-gradient(90deg,transparent,transparent 19px,rgba(100,116,139,.03) 19px,rgba(100,116,139,.03) 20px),linear-gradient(180deg,#fff,#fafbfc)}.settlement-report-panel .settlement-report-card.internal-doc{background:url("data:image/svg+xml,%3Csvg width='120' height='120' viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='60' y='60' font-size='7' fill='%2310b981' fill-opacity='0.04' text-anchor='middle' transform='rotate(-45 60 60)'%3E사내문서%3C/text%3E%3C/svg%3E"),repeating-linear-gradient(0deg,transparent,transparent 19px,rgba(16,185,129,.02) 19px,rgba(16,185,129,.02) 20px),repeating-linear-gradient(90deg,transparent,transparent 19px,rgba(16,185,129,.02) 19px,rgba(16,185,129,.02) 20px),linear-gradient(180deg,#fff,#f0fdf4);border-color:#065f46}.settlement-report-panel .report-actions{display:flex;gap:12px;padding:20px;background:var(--bg-secondary, #f8fafc);border-top:1px solid var(--border, #e2e8f0);flex-shrink:0}.settlement-report-panel .report-actions .igs-btn{padding:12px 16px;font-size:13px}.settlement-report-panel .report-actions .igs-btn-primary{flex:1;justify-content:center}.settlement-report-panel .document-number{text-align:right;font-family:JetBrains Mono,monospace;font-size:11px;color:#64748b;margin-bottom:16px;padding-bottom:8px;border-bottom:1px dashed #cbd5e1}.settlement-report-panel .report-header{display:flex;flex-direction:column;align-items:center;border-bottom:3px double #1e3a5f;padding-bottom:20px;margin-bottom:24px;position:relative}.settlement-report-panel .report-header h1{margin:0;font-size:28px;font-weight:800;color:#1e3a5f;letter-spacing:8px;text-transform:uppercase}.settlement-report-panel .report-subtitle{font-size:13px;color:#64748b;margin-top:8px;letter-spacing:2px}.settlement-report-panel .report-date{margin:12px 0 0;font-size:12px;color:#64748b}.settlement-report-panel .report-meta-box{display:flex;justify-content:space-between;margin-bottom:24px;padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px}.settlement-report-panel .report-recipient{text-align:left;font-size:13px;color:#475569;line-height:1.8}.settlement-report-panel .report-recipient p{margin:4px 0}.settlement-report-panel .report-recipient strong{color:#1e293b;font-weight:600}.settlement-report-panel .report-sender{text-align:right;font-size:13px;color:#475569;line-height:1.8}.settlement-report-panel .report-sender p{margin:4px 0}.settlement-report-panel .party-info-table{width:100%;border-collapse:collapse;margin-bottom:20px;font-size:13px}.settlement-report-panel .party-info-table th,.settlement-report-panel .party-info-table td{border:1px solid #cbd5e1;padding:10px 12px;text-align:left}.settlement-report-panel .party-info-table th{background:#f1f5f9;font-weight:600;color:#475569;width:100px}.settlement-report-panel .party-info-table td{color:#1e293b}.settlement-report-panel .party-info-table .party-header{background:#1e3a5f;color:#fff;font-weight:600;text-align:center}.settlement-report-panel .amount-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:13px}.settlement-report-panel .amount-table th,.settlement-report-panel .amount-table td{border:1px solid #cbd5e1;padding:12px 16px;text-align:right}.settlement-report-panel .amount-table th{background:#f1f5f9;font-weight:600;color:#475569;text-align:center}.settlement-report-panel .amount-table .item-label{text-align:left;font-weight:500}.settlement-report-panel .amount-table .total-row{background:#1e3a5f;color:#fff;font-weight:700}.settlement-report-panel .amount-table .total-row td{border-color:#1e3a5f}.settlement-report-panel .amount-table .amount-value{font-family:JetBrains Mono,monospace;font-weight:600}.settlement-report-panel .amount-table .currency{font-size:11px;color:#64748b;margin-left:4px}.settlement-report-panel .amount-korean{text-align:center;font-size:15px;font-weight:600;color:#1e3a5f;padding:12px;margin:16px 0;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px}.settlement-report-panel .delivery-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:12px}.settlement-report-panel .delivery-table th,.settlement-report-panel .delivery-table td{border:1px solid #cbd5e1;padding:8px 10px;text-align:center}.settlement-report-panel .delivery-table th{background:#f1f5f9;font-weight:600;color:#475569}.settlement-report-panel .delivery-table .item-name{text-align:left}.settlement-report-panel .signature-area{display:flex;justify-content:flex-end;margin-top:32px;padding-top:24px;border-top:1px solid #e2e8f0}.settlement-report-panel .signature-box{text-align:center;min-width:160px}.settlement-report-panel .signature-box .company-name{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:8px}.settlement-report-panel .signature-box .representative{font-size:13px;color:#475569;margin-bottom:16px}.settlement-report-panel .signature-box .seal{width:80px;height:80px;border:2px dashed #cbd5e1;border-radius:50%;margin:0 auto;display:flex;align-items:center;justify-content:center;font-size:11px;color:#94a3b8}.settlement-report-panel .signature-box .seal.has-seal{border-color:#dc2626;color:#dc2626;font-weight:700;font-size:14px;border-style:solid}.settlement-report-panel .report-section{margin-bottom:20px}.settlement-report-panel .report-section:last-child{margin-bottom:0}.settlement-report-panel .report-section h3{margin:0 0 14px;font-size:13px;font-weight:600;color:var(--text-secondary, #475569);border-bottom:1px dashed var(--border, #cbd5e1);padding-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.settlement-report-panel .report-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}.settlement-report-panel .report-grid .label{display:block;font-size:12px;color:var(--text-secondary, #94a3b8);margin-bottom:6px}.settlement-report-panel .report-grid .value{display:block;font-size:15px;color:var(--text-primary, #1e293b);font-weight:600}.settlement-report-panel .report-grid .value.mono{font-family:JetBrains Mono,monospace;font-size:14px}.settlement-report-panel .report-grid .value.emphasize{color:var(--primary, #1e40af);font-size:16px}.settlement-report-panel .report-note{margin:0;font-size:13px;line-height:1.7;color:var(--text-secondary, #64748b);padding:12px;background:var(--bg-secondary, #f8fafc);border-radius:8px;border-left:3px solid var(--accent, #3b82f6)}.no-selection{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary, #64748b)}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border, #e2e8f0)}.detail-header .header-info h2{margin:0;font-size:20px;font-weight:600;color:var(--text-primary, #1e293b)}.detail-header .header-info .project-no{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--text-secondary, #64748b)}.margin-comparison{display:flex;align-items:center;gap:16px;margin-bottom:24px}.comparison-card{flex:1;padding:20px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;text-align:center}.comparison-card.estimated{background:var(--bg-secondary, #f8fafc)}.comparison-card.positive{border-color:var(--success, #10b981);background:#10b9810d}.comparison-card.negative{border-color:var(--error, #ef4444);background:#ef44440d}.comparison-card.pending{opacity:.6}.comparison-label{display:block;font-size:12px;color:var(--text-secondary, #64748b);margin-bottom:8px}.comparison-value{display:block;font-size:28px;font-weight:700;color:var(--text-primary, #1e293b);margin-bottom:4px}.comparison-card.positive .comparison-value{color:var(--success, #10b981)}.comparison-card.negative .comparison-value{color:var(--error, #ef4444)}.comparison-amount{font-size:14px;color:var(--text-secondary, #64748b)}.comparison-arrow{color:var(--text-secondary, #64748b)}.variance-badge{display:flex;align-items:center;gap:4px;padding:8px 14px;border-radius:8px;font-size:14px;font-weight:600}.variance-badge.positive{background:#10b9811a;color:var(--success, #10b981)}.variance-badge.negative{background:#ef44441a;color:var(--error, #ef4444)}.cost-analysis{margin-bottom:24px}.cost-analysis h3{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-primary, #1e293b)}.cost-table{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;overflow:hidden}.cost-row{display:grid;grid-template-columns:1fr 150px 80px;padding:12px 16px;border-bottom:1px solid var(--border, #e2e8f0)}.cost-row:last-child{border-bottom:none}.cost-row.header{background:var(--bg-secondary, #f8fafc);font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase}.cost-row.sub{background:var(--bg-secondary, #f8fafc);padding-left:32px}.cost-row.sub .cost-label{font-size:13px;color:var(--text-secondary, #64748b)}.cost-row.loss{background:var(--bg-secondary, rgba(239, 68, 68, .03))}.cost-row.total{background:var(--bg-secondary, #f8fafc);font-weight:600}.cost-label{font-size:14px;color:var(--text-primary, #1e293b)}.cost-value{text-align:right;font-size:14px;color:var(--text-primary, #1e293b)}.cost-value.negative{color:var(--error, #ef4444)}.cost-percent{text-align:right;font-size:13px;color:var(--text-secondary, #64748b)}.cost-percent.negative{color:var(--error, #ef4444)}.waterfall-section{margin-bottom:24px}.waterfall-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-primary, #1e293b)}.waterfall-chart{display:flex;align-items:flex-end;gap:16px;height:200px;padding:20px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px}.waterfall-item{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.waterfall-item .bar-container{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center}.waterfall-item .bar{width:50px;border-radius:6px 6px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:8px;min-height:30px}.waterfall-item .bar.total{background:linear-gradient(180deg,var(--accent, #3b82f6),#0ea5e9)}.waterfall-item .bar.cost{background:linear-gradient(180deg,#f59e0b,#fbbf24)}.waterfall-item .bar.loss{background:linear-gradient(180deg,#ef4444,#f87171)}.waterfall-item .bar.profit{background:linear-gradient(180deg,#10b981,#34d399)}.waterfall-item .bar-value{font-size:10px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2);white-space:nowrap}.waterfall-item .bar-label{margin-top:8px;font-size:11px;color:var(--text-secondary, #64748b);text-align:center;white-space:nowrap}.waterfall-chart-real{padding:20px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px}.waterfall-bars{display:flex;align-items:flex-end;gap:8px;height:220px;position:relative}.waterfall-bar-wrapper{flex:1;height:100%;position:relative;display:flex;flex-direction:column;align-items:center}.waterfall-connector{position:absolute;left:-8px;width:calc(50% + 8px);height:2px;background:var(--text-secondary, #94a3b8);z-index:1}.waterfall-bar{position:absolute;width:60px;left:50%;transform:translate(-50%);border-radius:4px;display:flex;align-items:flex-start;justify-content:center;padding-top:6px;min-height:24px;z-index:2;transition:all .3s ease}.waterfall-bar:hover{filter:brightness(1.1);transform:translate(-50%) scale(1.02)}.waterfall-bar.total{background:linear-gradient(180deg,#3b82f6,#60a5fa);box-shadow:0 2px 8px #3b82f64d}.waterfall-bar.cost{background:linear-gradient(180deg,#f59e0b,#fbbf24);box-shadow:0 2px 8px #f59e0b4d}.waterfall-bar.loss{background:linear-gradient(180deg,#ef4444,#f87171);box-shadow:0 2px 8px #ef44444d}.waterfall-bar.profit{background:linear-gradient(180deg,#10b981,#34d399);box-shadow:0 2px 8px #10b9814d}.waterfall-bar-value{font-size:11px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2);white-space:nowrap}.waterfall-bar-label{position:absolute;bottom:-24px;left:50%;transform:translate(-50%);font-size:11px;color:var(--text-secondary, #64748b);text-align:center;white-space:nowrap}.detail-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border, #e2e8f0)}@media (max-width: 1200px){.settlement-summary{grid-template-columns:repeat(2,1fr)}.settlement-content{grid-template-columns:350px 1fr}}.igs-competitor{padding:20px;height:100vh;overflow:hidden;background:var(--bg-base, #eef2f6);box-sizing:border-box;display:flex;flex-direction:column}.igs-competitor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-shrink:0}.igs-competitor-header .header-title{display:flex;align-items:center;gap:12px}.igs-competitor-header .header-title h1{margin:0;font-size:24px;font-weight:600;color:var(--text-primary, #1e293b)}.igs-competitor-header .header-title svg{color:var(--accent, #3b82f6)}.igs-competitor-content{display:grid;grid-template-columns:380px 1fr;gap:20px;flex:1;min-height:0}.competitor-list-panel{background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;padding:20px;display:flex;flex-direction:column;overflow:hidden}.competitor-list-filters{margin-bottom:16px}.competitor-list-filters .search-box{display:flex;align-items:center;gap:10px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:10px 14px;margin-bottom:12px}.competitor-list-filters .search-box svg{color:var(--text-secondary, #64748b)}.competitor-list-filters .search-box input{flex:1;border:none;background:transparent;font-size:14px;color:var(--text-primary, #1e293b);outline:none}.competitor-list-filters .search-box input::-moz-placeholder{color:var(--text-secondary, #64748b)}.competitor-list-filters .search-box input::placeholder{color:var(--text-secondary, #64748b)}.filter-row{display:flex;gap:8px}.filter-select{flex:1;padding:8px 12px;border:1px solid var(--border, #e2e8f0);border-radius:8px;background:var(--panel, #ffffff);font-size:13px;color:var(--text-primary, #1e293b);cursor:pointer}.competitor-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px;scrollbar-width:none;-ms-overflow-style:none}.competitor-list::-webkit-scrollbar{display:none}.competitor-card{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease}.competitor-card:hover{border-color:var(--accent, #3b82f6);box-shadow:0 4px 12px #3b82f61a}.competitor-card.selected{border-color:var(--accent, #3b82f6);background:linear-gradient(135deg,#3b82f60d,#0ea5e90d)}.competitor-card-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.grade-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700}.grade-icon.grade-a{background:#ef44441a;color:#ef4444}.grade-icon.grade-b{background:#f59e0b1a;color:#f59e0b}.grade-icon.grade-c{background:#6b72801a;color:#6b7280}.competitor-info{flex:1}.competitor-info h3{margin:0;font-size:15px;font-weight:600;color:var(--text-primary, #1e293b)}.competitor-info .competitor-location{font-size:12px;color:var(--text-secondary, #64748b)}.grade-badge{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600}.grade-badge.grade-a{background:#ef44441a;color:#ef4444}.grade-badge.grade-b{background:#f59e0b1a;color:#f59e0b}.grade-badge.grade-c{background:#6b72801a;color:#6b7280}.competitor-card-stats{display:flex;align-items:center;gap:16px;padding-top:12px;border-top:1px solid var(--border, #e2e8f0)}.competitor-card-stats .stat-item{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary, #64748b)}.competitor-card-stats .stat-item.products{margin-left:auto;gap:4px}.competitor-card-stats .product-tag{padding:2px 6px;background:var(--bg-secondary, #f1f5f9);border-radius:4px;font-size:10px;color:var(--text-secondary, #64748b)}.competitor-card-stats .product-tag.more{background:var(--accent, #3b82f6);color:#fff}.competitor-card-footer{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border, #e2e8f0)}.competitor-card-footer .sales-rep{font-size:12px;color:var(--text-secondary, #64748b)}.competitor-detail-panel{background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;padding:24px;display:flex;flex-direction:column;overflow:hidden}.no-selection{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary, #64748b)}.no-selection svg{margin-bottom:16px;opacity:.5}.no-selection p{margin:0;font-size:15px}.detail-header{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border, #e2e8f0)}.detail-title{display:flex;align-items:center;gap:16px;margin-bottom:12px}.detail-title .grade-icon{width:48px;height:48px;font-size:20px}.detail-title h2{margin:0;font-size:22px;font-weight:600;color:var(--text-primary, #1e293b)}.detail-meta{display:flex;align-items:center;gap:8px;margin-top:4px}.detail-meta .location,.detail-meta .scale{font-size:13px;color:var(--text-secondary, #64748b)}.detail-meta .location:after{content:"·";margin-left:8px}.detail-website{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary, #64748b);margin-top:8px}.detail-website a{color:var(--accent, #3b82f6);text-decoration:none}.detail-website a:hover{text-decoration:underline}.detail-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:20px;scrollbar-width:none;-ms-overflow-style:none}.detail-content::-webkit-scrollbar{display:none}.info-card{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:16px;padding:20px}.info-card-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border, #e2e8f0)}.info-card-header svg{color:var(--accent, #3b82f6)}.info-card-header h4{margin:0;font-size:15px;font-weight:600;color:var(--text-primary, #1e293b);flex:1}.stats-card{background:linear-gradient(135deg,#3b82f60d,#0ea5e90d);border-color:#3b82f633}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-box{text-align:center;padding:16px;background:var(--panel, #ffffff);border-radius:12px}.stat-box .stat-value{display:block;font-size:28px;font-weight:700;color:var(--text-primary, #1e293b);margin-bottom:4px}.stat-box .stat-label{font-size:12px;color:var(--text-secondary, #64748b)}.stat-box.wins .stat-value{color:#16a34a}.stat-box.losses .stat-value{color:#ef4444}.stat-box.rate .stat-value{color:var(--accent, #3b82f6)}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.info-label{font-size:12px;color:var(--text-tertiary, #94a3b8)}.info-value{font-size:14px;color:var(--text-primary, #1e293b);font-weight:500}.info-row.full{margin-top:16px;padding-top:16px;border-top:1px dashed var(--border, #e2e8f0)}.info-row.full .info-label{margin-bottom:4px}.reason-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.reason-box{background:var(--bg-secondary, #f8fafc);border-radius:12px;padding:16px}.reason-box-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;margin-bottom:16px}.reason-box.win .reason-box-title{color:#16a34a}.reason-box.loss .reason-box-title{color:#ef4444}.reason-item{display:flex;align-items:center;gap:10px;margin-bottom:10px}.reason-item:last-child{margin-bottom:0}.reason-name{width:50px;font-size:13px;color:var(--text-primary, #1e293b)}.reason-bar{flex:1;height:8px;background:var(--border, #e2e8f0);border-radius:4px;overflow:hidden}.reason-fill{height:100%;border-radius:4px;transition:width .3s ease}.reason-fill.win{background:linear-gradient(90deg,#16a34a,#22c55e)}.reason-fill.loss{background:linear-gradient(90deg,#ef4444,#f87171)}.reason-pct{width:40px;font-size:13px;font-weight:600;color:var(--text-secondary, #64748b);text-align:right}.reason-empty{font-size:13px;color:var(--text-tertiary, #94a3b8);text-align:center;padding:20px}.swot-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.swot-box{background:var(--bg-secondary, #f8fafc);border-radius:10px;padding:14px}.swot-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;margin-bottom:10px}.swot-box.strength .swot-title{color:#16a34a}.swot-box.weakness .swot-title{color:#ef4444}.swot-box.opportunity .swot-title{color:#3b82f6}.swot-box.threat .swot-title{color:#f59e0b}.swot-item{font-size:13px;color:var(--text-primary, #1e293b);padding:4px 0;line-height:1.5}.swot-empty{font-size:12px;color:var(--text-tertiary, #94a3b8)}.history-list{display:flex;flex-direction:column;gap:12px}.history-item{background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:16px;transition:border-color .2s ease}.history-item:hover{border-color:var(--accent, #3b82f6)}.history-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.history-date{font-size:12px;color:var(--text-secondary, #64748b)}.history-item-body{margin-bottom:10px}.history-project{font-size:15px;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:2px}.history-client{font-size:13px;color:var(--text-secondary, #64748b)}.history-item-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.history-prices{display:flex;gap:16px;font-size:12px;color:var(--text-secondary, #64748b)}.history-reasons{display:flex;gap:4px}.history-detail{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border, #e2e8f0);font-size:13px;color:var(--text-secondary, #64748b);line-height:1.5}.result-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.result-badge.win{background:#dcfce7;color:#16a34a}.result-badge.loss{background:#fef2f2;color:#ef4444}.result-badge.in-progress{background:#fef3c7;color:#d97706}.result-text{font-weight:600}.result-text.win{color:#16a34a}.result-text.loss{color:#ef4444}.result-text.in-progress{color:#d97706}.loss-reason-tag{display:inline-block;padding:2px 8px;background:#fef2f2;color:#ef4444;border-radius:4px;font-size:11px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary, #64748b)}.empty-state p{margin:0;font-size:14px}.igs-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.igs-btn-primary{background:linear-gradient(135deg,var(--accent, #3b82f6),#0ea5e9);color:#fff}.igs-btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.igs-btn-secondary{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);color:var(--text-primary, #1e293b)}.igs-btn-secondary:hover{border-color:var(--accent, #3b82f6);color:var(--accent, #3b82f6)}.igs-btn.btn-sm{padding:6px 12px;font-size:13px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000}.modal-content{background:var(--panel, #ffffff);border-radius:20px;width:100%;max-width:600px;max-height:90vh;overflow:hidden;box-shadow:0 25px 50px -12px #0006;border:1px solid var(--border, #e2e8f0)}.modal-header{padding:20px 24px;border-bottom:1px solid var(--border, #e2e8f0);display:flex;justify-content:space-between;align-items:center;background:var(--bg-secondary, #f8fafc)}.modal-title{font-size:18px;font-weight:700;color:var(--text-primary, #1e293b);margin:0}.modal-close{background:none;border:none;font-size:24px;color:var(--text-tertiary, #94a3b8);cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:var(--text-primary, #1e293b)}.modal-body{padding:24px;overflow-y:auto;max-height:60vh}.modal-footer{padding:16px 24px;background:var(--bg-secondary, #f8fafc);border-top:1px solid var(--border, #e2e8f0);display:flex;justify-content:flex-end;gap:12px}.form-group{margin-bottom:20px}.form-label{display:block;font-size:14px;font-weight:600;color:var(--text-secondary, #64748b);margin-bottom:8px}.form-label .required{color:#ef4444}.form-input,.form-select,.form-textarea{width:100%;padding:10px 14px;border:1px solid var(--border, #e2e8f0);border-radius:10px;font-size:14px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);transition:border-color .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent, #3b82f6)}.form-textarea{resize:vertical;min-height:100px}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1}.result-radios{display:flex;gap:24px}.result-radios label{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.result-radios input[type=radio]{width:18px;height:18px;cursor:pointer}.loss-reasons-checkboxes{display:flex;flex-wrap:wrap;gap:12px}.loss-reasons-checkboxes label{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:8px;font-size:13px;color:var(--text-primary, #1e293b);cursor:pointer;transition:all .2s ease}.loss-reasons-checkboxes label:hover{border-color:var(--accent, #3b82f6)}.loss-reasons-checkboxes label.checked{background:#ef44441a;border-color:#ef4444;color:#ef4444}.loss-reasons-checkboxes input[type=checkbox]{width:16px;height:16px;cursor:pointer}.detail-tabs{display:flex;gap:4px;padding:4px;background:var(--bg-secondary, #f1f5f9);border-radius:12px;margin-bottom:20px;flex-shrink:0}.detail-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;border:none;background:transparent;border-radius:8px;font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s ease;white-space:nowrap}.detail-tab:hover{background:var(--panel, #ffffff);color:var(--text-primary, #1e293b)}.detail-tab.active{background:var(--panel, #ffffff);color:var(--accent, #3b82f6);box-shadow:0 1px 3px #0000001a}.detail-tab svg{flex-shrink:0}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;background:var(--border, #e2e8f0);border-radius:9px;font-size:11px;font-weight:600;color:var(--text-secondary, #64748b)}.detail-tab.active .tab-count{background:#3b82f626;color:var(--accent, #3b82f6)}.news-list{display:flex;flex-direction:column;gap:12px}.news-item{background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:16px;transition:all .2s ease}.news-item:hover{border-color:var(--accent, #3b82f6);box-shadow:0 2px 8px #3b82f61a}.news-item-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.news-category{display:inline-flex;align-items:center;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:600}.news-importance{display:inline-flex;align-items:center;padding:3px 8px;border-radius:4px;font-size:10px;font-weight:600}.news-date{margin-left:auto;font-size:12px;color:var(--text-tertiary, #94a3b8)}.news-title{font-size:15px;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:8px;line-height:1.4}.news-summary{font-size:13px;color:var(--text-secondary, #64748b);line-height:1.6;margin-bottom:12px}.news-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.news-tag{display:inline-block;padding:2px 8px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:4px;font-size:11px;color:var(--text-secondary, #64748b)}.news-implications{padding:12px;background:#3b82f60d;border-left:3px solid var(--accent, #3b82f6);border-radius:0 8px 8px 0;margin-bottom:12px}.news-implications-label{font-size:11px;font-weight:600;color:var(--accent, #3b82f6);margin-bottom:4px}.news-implications-text{font-size:13px;color:var(--text-primary, #1e293b);line-height:1.5}.news-footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px dashed var(--border, #e2e8f0)}.news-source{font-size:12px;color:var(--text-tertiary, #94a3b8)}.news-link{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--accent, #3b82f6);text-decoration:none}.news-link:hover{text-decoration:underline}.clients-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.clients-summary-item{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:14px;text-align:center}.clients-summary-value{font-size:24px;font-weight:700;color:var(--text-primary, #1e293b);margin-bottom:4px}.clients-summary-label{font-size:12px;color:var(--text-secondary, #64748b)}.clients-list{display:flex;flex-direction:column;gap:12px}.client-item{background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:16px;transition:all .2s ease}.client-item:hover{border-color:var(--accent, #3b82f6);box-shadow:0 2px 8px #3b82f61a}.client-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.client-name{font-size:15px;font-weight:600;color:var(--text-primary, #1e293b)}.client-type{display:inline-flex;align-items:center;padding:3px 10px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:11px;color:var(--text-secondary, #64748b)}.client-badges{display:flex;gap:8px}.client-relation-badge,.client-volume-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:600}.client-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.client-info-row{display:flex;flex-direction:column;gap:2px}.client-label{font-size:11px;color:var(--text-tertiary, #94a3b8)}.client-value{font-size:13px;color:var(--text-primary, #1e293b);font-weight:500}.client-products{margin-bottom:12px}.client-products-label{font-size:11px;color:var(--text-tertiary, #94a3b8);margin-bottom:6px}.client-product-tags{display:flex;flex-wrap:wrap;gap:6px}.client-product-tag{display:inline-block;padding:3px 10px;background:#3b82f61a;color:var(--accent, #3b82f6);border-radius:4px;font-size:11px;font-weight:500}.client-projects{margin-bottom:12px}.client-projects-label{font-size:11px;color:var(--text-tertiary, #94a3b8);margin-bottom:6px}.client-project-list{display:flex;flex-direction:column;gap:4px}.client-project-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary, #64748b)}.client-project-item:before{content:"•";color:var(--accent, #3b82f6)}.client-notes{padding:10px 12px;background:var(--panel, #ffffff);border-radius:8px;font-size:12px;color:var(--text-secondary, #64748b);line-height:1.5;margin-bottom:12px}.client-footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px dashed var(--border, #e2e8f0);font-size:11px;color:var(--text-tertiary, #94a3b8)}.detail-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ai-analysis-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;border-radius:12px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #8b5cf64d;white-space:nowrap;flex-shrink:0}.ai-analysis-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf666}.ai-analysis-btn:active{transform:translateY(0)}.ai-analysis-btn svg{animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:1}50%{opacity:.6}}.ai-analysis-overlay{background:#000c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.ai-analysis-modal{max-width:800px;max-height:90vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#1a1a2e,#16213e);border:1px solid rgba(139,92,246,.3);box-shadow:0 25px 80px #0009,0 0 40px #8b5cf626}.ai-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:linear-gradient(135deg,#8b5cf626,#6366f11a);border-bottom:1px solid rgba(139,92,246,.25)}.ai-modal-title{display:flex;align-items:center;gap:14px}.ai-icon-wrapper{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8b5cf6,#6366f1);border-radius:14px;color:#fff;box-shadow:0 4px 20px #8b5cf680}.ai-modal-title h3{margin:0;font-size:18px;font-weight:700;color:#f1f5f9}.ai-modal-subtitle{font-size:14px;color:#94a3b8}.ai-modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#94a3b8;cursor:pointer;transition:all .2s ease}.ai-modal-close:hover{background:#ffffff1a;color:#f1f5f9;border-color:#8b5cf64d}.ai-modal-body{flex:1;padding:24px;overflow-y:auto;background:linear-gradient(180deg,transparent,rgba(0,0,0,.2))}.ai-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.ai-loading-icon{margin-bottom:24px;color:#a78bfa}.ai-loading-icon .spin{animation:spin 1s linear infinite}.ai-loading-text h4{margin:0 0 8px;font-size:18px;font-weight:600;color:#f1f5f9}.ai-loading-text p{margin:0;font-size:14px;color:#94a3b8}.ai-loading-steps{display:flex;gap:24px;margin-top:32px}.loading-step{display:flex;align-items:center;gap:8px;font-size:13px;color:#64748b}.loading-step.active{color:#a78bfa}.step-dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.loading-step.active .step-dot{animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.ai-threat-header{display:flex;align-items:center;gap:20px;padding:20px;background:#0000004d;border:2px solid;border-radius:16px;margin-bottom:20px}.threat-score-circle{width:80px;height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:3px solid;border-radius:50%;flex-shrink:0;background:#0006;box-shadow:0 0 20px #8b5cf633}.threat-score{font-size:28px;font-weight:700;color:#f1f5f9}.threat-label{font-size:10px;color:#94a3b8}.threat-info{flex:1}.threat-level{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;margin-bottom:4px}.threat-meta{font-size:12px;color:#94a3b8}.threat-quick-stats{display:flex;flex-direction:column;gap:8px}.quick-stat{display:flex;align-items:center;gap:6px;font-size:13px;color:#cbd5e1}.ai-section-tabs{display:flex;gap:8px;margin-bottom:20px;padding:4px;background:#0000004d;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.ai-section-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;background:transparent;border:none;border-radius:8px;font-size:13px;font-weight:500;color:#94a3b8;cursor:pointer;transition:all .2s ease;white-space:nowrap}.ai-section-tab:hover{background:#ffffff0d;color:#f1f5f9}.ai-section-tab.active{background:linear-gradient(135deg,#8b5cf64d,#6366f133);color:#a78bfa;box-shadow:0 2px 12px #8b5cf640;border:1px solid rgba(139,92,246,.3)}.ai-section-content{min-height:300px}.ai-summary-box{display:flex;gap:16px;padding:20px;background:linear-gradient(135deg,#8b5cf626,#6366f11a);border:1px solid rgba(139,92,246,.25);border-radius:14px;margin-bottom:20px}.ai-summary-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8b5cf6,#6366f1);border-radius:10px;color:#fff;flex-shrink:0;box-shadow:0 4px 15px #8b5cf666}.ai-summary-box p{margin:0;font-size:14px;line-height:1.7;color:#e2e8f0}.ai-strengths-weaknesses{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.sw-box{padding:16px;background:#0000004d;border:1px solid rgba(255,255,255,.08);border-radius:12px}.sw-box h5{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:600}.sw-box.strengths h5{color:#34d399}.sw-box.weaknesses h5{color:#f87171}.sw-box ul{margin:0;padding:0;list-style:none}.sw-box li{position:relative;padding:6px 0 6px 16px;font-size:13px;color:#cbd5e1}.sw-box li:before{content:"•";position:absolute;left:0;color:currentColor}.sw-box.strengths li:before{color:#34d399}.sw-box.weaknesses li:before{color:#f87171}.sw-box li.empty{color:#64748b;font-style:italic}.sw-box li.empty:before{content:""}.ai-recommendations{padding:16px;background:#fbbf2414;border:1px solid rgba(251,191,36,.2);border-radius:12px}.ai-recommendations h5{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:600;color:#fbbf24}.ai-recommendations ul{margin:0;padding:0;list-style:none}.ai-recommendations li{display:flex;align-items:flex-start;gap:8px;padding:8px 0;font-size:13px;color:#e2e8f0;border-bottom:1px dashed rgba(255,255,255,.1)}.ai-recommendations li:last-child{border-bottom:none}.ai-recommendations li svg{flex-shrink:0;color:#fbbf24;margin-top:2px}.ai-strategy-section{display:flex;flex-direction:column;gap:16px}.strategy-card{padding:20px;background:#0000004d;border:1px solid rgba(255,255,255,.08);border-radius:14px;transition:all .2s ease}.strategy-card:hover{border-color:#8b5cf666;box-shadow:0 4px 20px #8b5cf626;background:#8b5cf60d}.strategy-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.strategy-title{display:flex;align-items:center;gap:10px}.strategy-title svg{color:#a78bfa}.strategy-title h5{margin:0;font-size:15px;font-weight:600;color:#f1f5f9}.strategy-priority{padding:4px 12px;border-radius:6px;font-size:11px;font-weight:600}.strategy-desc{margin:0 0 16px;font-size:13px;color:#cbd5e1;line-height:1.6}.strategy-actions{padding:14px;background:#00000040;border:1px solid rgba(255,255,255,.05);border-radius:10px}.strategy-actions h6{margin:0 0 10px;font-size:12px;font-weight:600;color:#94a3b8}.strategy-actions ul{margin:0;padding:0;list-style:none}.strategy-actions li{display:flex;align-items:center;gap:6px;padding:6px 0;font-size:12px;color:#e2e8f0}.strategy-actions li svg{color:#a78bfa}.ai-trends-section{display:flex;flex-direction:column;gap:12px}.trend-card{padding:16px;background:#0000004d;border:1px solid rgba(255,255,255,.08);border-radius:12px;transition:all .2s ease}.trend-card:hover{border-color:#8b5cf64d;background:#8b5cf608}.trend-header{margin-bottom:10px}.trend-impact{display:inline-flex;align-items:center;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:600}.trend-content h5{margin:0 0 10px;font-size:14px;font-weight:600;color:#f1f5f9}.trend-opportunity{display:flex;align-items:flex-start;gap:8px;padding:10px;background:#f59e0b14;border:1px solid rgba(245,158,11,.15);border-radius:8px;font-size:13px;color:#e2e8f0}.trend-opportunity svg{flex-shrink:0;color:#fbbf24;margin-top:2px}.ai-targets-section{display:flex;flex-direction:column;gap:12px}.target-card{padding:16px;background:#0000004d;border:1px solid rgba(255,255,255,.08);border-radius:12px;transition:all .2s ease}.target-card:hover{border-color:#8b5cf64d;background:#8b5cf608}.target-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.target-header h5{margin:0;font-size:15px;font-weight:600;color:#f1f5f9}.win-probability{display:flex;align-items:center;gap:8px;width:120px}.prob-bar{height:6px;border-radius:3px;transition:width .3s ease;background:#ffffff1a}.prob-text{font-size:12px;font-weight:600;color:#cbd5e1;min-width:36px;text-align:right}.target-info{display:flex;flex-direction:column;gap:8px}.target-row{display:flex;gap:12px;font-size:13px}.target-row .label{width:70px;flex-shrink:0;color:#94a3b8}.target-row .value{color:#e2e8f0}.empty-targets{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#64748b}.empty-targets svg{margin-bottom:12px;opacity:.5;color:#94a3b8}.empty-targets p{margin:0;font-size:14px}.ai-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#0006;border-top:1px solid rgba(139,92,246,.2)}.ai-disclaimer{display:flex;align-items:center;gap:8px;font-size:12px;color:#94a3b8}.ai-disclaimer svg{color:#a78bfa}.ai-modal-footer .igs-btn-secondary{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#e2e8f0}.ai-modal-footer .igs-btn-secondary:hover{background:#8b5cf626;border-color:#8b5cf64d;color:#a78bfa}@media (max-width: 1200px){.igs-competitor-content{grid-template-columns:320px 1fr}.stats-grid,.info-grid{grid-template-columns:repeat(2,1fr)}.detail-tabs{flex-wrap:wrap}.detail-tab{padding:8px 12px;font-size:12px}.clients-summary,.client-info-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.igs-competitor-content{grid-template-columns:1fr;height:auto}.competitor-list-panel{max-height:400px}.competitor-detail-panel{min-height:600px}.reason-grid,.swot-grid{grid-template-columns:1fr}.detail-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.detail-tabs::-webkit-scrollbar{display:none}.clients-summary{grid-template-columns:repeat(2,1fr)}.client-info-grid{grid-template-columns:1fr}.ai-analysis-modal{max-width:95vw;margin:20px}.ai-threat-header{flex-wrap:wrap}.threat-quick-stats{flex-direction:row;width:100%;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border, #e2e8f0)}.ai-section-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.ai-strengths-weaknesses{grid-template-columns:1fr}.detail-header-top{flex-direction:column;gap:12px}.ai-analysis-btn{align-self:flex-start}}@media (max-width: 600px){.igs-competitor{padding:16px}.igs-competitor-header{flex-direction:column;gap:16px;align-items:flex-start}.stats-grid{grid-template-columns:repeat(2,1fr)}.info-grid{grid-template-columns:1fr}.form-row{flex-direction:column}}.network-tab{position:relative;padding:0!important;overflow:visible}.network-tab .loading-state,.network-tab .error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:var(--text-secondary, #64748b)}.network-tab .loading-state .spin{animation:spin 1s linear infinite}.network-tab .error-state{color:var(--error, #ef4444)}.network-tab .info-card-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border, #e2e8f0)}.network-tab .info-card-header h4{flex:1;margin:0;font-size:15px;font-weight:600}.network-tab .network-controls{display:flex;gap:8px}.network-stats{display:flex;gap:16px;padding:12px 16px;background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0)}.network-stat{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary, #64748b)}.network-stat svg{color:var(--accent, #3b82f6)}.network-stat .stat-value{font-weight:600;color:var(--text-primary, #1e293b)}.network-filters{display:flex;align-items:center;gap:16px;padding:10px 16px;background:var(--panel, #fff);border-bottom:1px solid var(--border, #e2e8f0)}.network-filters .filter-group{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary, #64748b)}.network-filters .filter-group select{padding:4px 8px;font-size:13px;border:1px solid var(--border, #e2e8f0);border-radius:4px;background:var(--panel, #fff);color:var(--text-primary, #1e293b);cursor:pointer}.network-filters .zoom-controls{display:flex;gap:4px;margin-left:auto}.network-filters .zoom-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border, #e2e8f0);border-radius:4px;background:var(--panel, #fff);color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s ease}.network-filters .zoom-btn:hover{background:var(--bg-secondary, #f8fafc);color:var(--accent, #3b82f6)}.network-legend{display:flex;gap:24px;padding:10px 16px;background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0);font-size:12px}.network-legend .legend-section{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.network-legend .legend-title{font-weight:600;color:var(--text-secondary, #64748b)}.network-legend .legend-item{display:flex;align-items:center;gap:4px;color:var(--text-secondary, #64748b)}.network-legend .legend-color{display:inline-block;width:12px;height:12px;border-radius:50%}.network-legend .legend-line{display:inline-block;width:20px;height:2px;border-radius:1px}.network-legend .legend-line.dashed{background:repeating-linear-gradient(to right,#a78bfa,#a78bfa 3px,transparent 3px,transparent 6px)!important}.network-graph-wrapper{position:relative;width:100%;height:850px;background:linear-gradient(135deg,#0f172a,#1e293b);border-radius:16px;overflow:visible}.network-graph-canvas{position:absolute;top:0;left:0;right:0;bottom:60px;display:flex;align-items:center;justify-content:center;z-index:1}.network-graph-canvas canvas,.network-graph-canvas>div,.network-graph-canvas>div>canvas{z-index:1!important;position:relative!important}.network-graph-canvas .force-graph-container{z-index:1!important}.network-graph-canvas .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:#64748b}.network-header-overlay{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(180deg,#0f172af2,#0f172a00);z-index:50;pointer-events:auto}.network-header-overlay .network-title{display:flex;align-items:center;gap:10px}.network-header-overlay .network-title svg{color:#a78bfa}.network-header-overlay .network-title h4{margin:0;font-size:16px;font-weight:600;color:#f1f5f9}.network-header-overlay .network-controls{display:flex;gap:8px}.network-header-overlay .igs-btn-sm{padding:6px 12px;font-size:12px;border-radius:6px}.network-header-overlay .igs-btn-secondary{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);color:#e2e8f0}.network-header-overlay .igs-btn-secondary:hover{background:#ffffff26;border-color:#a78bfa66}.network-header-overlay .igs-btn-primary{background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;color:#fff}.network-stats-overlay{position:absolute;top:56px;right:16px;display:flex;gap:16px;padding:10px 14px;background:#00000080;border:1px solid rgba(255,255,255,.1);border-radius:8px;z-index:50;pointer-events:auto}.network-stats-overlay .network-stat{display:flex;align-items:center;gap:6px;font-size:12px;color:#94a3b8}.network-stats-overlay .network-stat svg{color:#a78bfa}.network-stats-overlay .network-stat .stat-value{font-weight:700;color:#f1f5f9}.network-stats-overlay .network-stat .stat-label{color:#64748b}.network-filters-overlay{position:absolute;top:56px;left:16px;display:flex;gap:12px;padding:8px 12px;background:#00000080;border:1px solid rgba(255,255,255,.1);border-radius:8px;z-index:50;pointer-events:auto}.network-filters-overlay .filter-group{display:flex;align-items:center;gap:6px;font-size:12px;color:#94a3b8}.network-filters-overlay .filter-group svg{color:#a78bfa}.network-filters-overlay .filter-group select{padding:4px 8px;font-size:12px;border:1px solid rgba(255,255,255,.15);border-radius:4px;background:#0006;color:#e2e8f0;cursor:pointer}.network-filters-overlay .filter-group select:focus{outline:none;border-color:#a78bfa80}.network-zoom-overlay{position:absolute;top:110px;right:16px;display:flex;flex-direction:column;gap:4px;z-index:50;pointer-events:auto}.network-zoom-overlay .zoom-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.15);border-radius:6px;background:#00000080;color:#94a3b8;cursor:pointer;transition:all .15s ease}.network-zoom-overlay .zoom-btn:hover{background:#a78bfa33;border-color:#a78bfa66;color:#a78bfa}.network-legend-overlay{position:absolute!important;bottom:12px!important;left:16px!important;display:flex!important;gap:24px;padding:12px 16px;background:#0f172af2!important;border:1px solid rgba(255,255,255,.15);border-radius:10px;z-index:9999!important;pointer-events:auto;visibility:visible!important;opacity:1!important;box-shadow:0 4px 12px #0000004d}.network-legend-overlay .legend-section{display:flex;align-items:center;gap:10px}.network-legend-overlay .legend-title{font-size:11px;font-weight:600;color:#94a3b8}.network-legend-overlay .legend-item{display:flex;align-items:center;gap:4px;font-size:11px;color:#cbd5e1}.network-legend-overlay .legend-color{display:inline-block;width:10px;height:10px}.network-legend-overlay .legend-color.circle{border-radius:50%}.network-legend-overlay .legend-color.square{border-radius:2px}.network-legend-overlay .legend-line{display:inline-block;width:16px;height:2px;border-radius:1px}.network-legend-overlay .legend-line.dashed{background:repeating-linear-gradient(to right,#a78bfa,#a78bfa 3px,transparent 3px,transparent 6px)!important}.network-graph-container{position:relative;width:100%;height:500px;background:var(--panel, #fff);border-radius:0 0 8px 8px;overflow:hidden}.network-graph-container .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--text-secondary, #64748b)}.selected-node-info{position:absolute;bottom:16px;right:16px;width:260px;padding:16px;background:#000000d9;border:1px solid rgba(255,255,255,.2);border-radius:10px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;pointer-events:auto}.selected-node-info h5{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:600;color:#f1f5f9}.selected-node-info h5 svg{color:#a78bfa}.selected-node-info .node-details{display:flex;flex-direction:column;gap:8px}.selected-node-info .detail-row{display:flex;justify-content:space-between;font-size:12px}.selected-node-info .detail-label{color:#94a3b8}.selected-node-info .detail-value{font-weight:500;color:#e2e8f0}.selected-node-info .close-btn{margin-top:12px;width:100%;padding:6px 12px;font-size:12px;border:1px solid rgba(255,255,255,.15);border-radius:6px;background:#ffffff0d;color:#94a3b8;cursor:pointer;transition:all .15s ease}.selected-node-info .close-btn:hover{background:#a78bfa33;border-color:#a78bfa66;color:#a78bfa}.network-legend-bar{display:flex;gap:32px;padding:14px 20px;margin-top:12px;background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid rgba(255,255,255,.1);border-radius:12px}.network-legend-bar .legend-section{display:flex;align-items:center;gap:12px}.network-legend-bar .legend-title{font-size:12px;font-weight:600;color:#94a3b8;margin-right:4px}.network-legend-bar .legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#e2e8f0}.network-legend-bar .legend-color{display:inline-block;width:12px;height:12px}.network-legend-bar .legend-color.circle{border-radius:50%}.network-legend-bar .legend-color.square{border-radius:3px}.network-legend-bar .legend-color.diamond{width:12px;height:12px;transform:rotate(45deg);border-radius:2px}.network-legend-bar .legend-color.a-grade{background:#ef4444}.network-legend-bar .legend-color.b-grade{background:#f59e0b}.network-legend-bar .legend-color.c-grade{background:#10b981}.network-legend-bar .legend-color.client{background:#3b82f6}.network-legend-bar .legend-color.project{background:#8b5cf6}.network-legend-bar .legend-color.participant{background:#f472b6}.network-legend-bar .legend-line{display:inline-block;width:20px;height:3px;border-radius:2px}.network-legend-bar .legend-line.order{background:#06b6d4}.network-legend-bar .legend-line.supply{background:#94a3b8}.network-legend-bar .legend-line.win{background:#10b981}.network-legend-bar .legend-line.loss{background:#ef4444}.network-legend-bar .legend-line.involves{background:#f472b6}.network-legend-bar .legend-line.dashed{background:repeating-linear-gradient(to right,#a78bfa,#a78bfa 4px,transparent 4px,transparent 8px)}.project-list{display:flex;flex-direction:column;height:100%;overflow:hidden}.project-list__header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border, rgba(0, 0, 0, .08));flex-shrink:0}.project-list__title{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b);margin:0}.project-list__count{font-size:12px;color:var(--text-secondary, #64748b);padding:2px 8px;background:var(--bg-secondary, rgba(0, 0, 0, .04));border-radius:10px}.project-list__items{flex:1;overflow-y:auto;padding:8px;scrollbar-width:none;-ms-overflow-style:none}.project-list__items::-webkit-scrollbar{display:none}.project-list__item{padding:12px;margin-bottom:6px;background:var(--bg-secondary, rgba(0, 0, 0, .02));border:1px solid transparent;border-radius:10px;cursor:pointer;transition:all .2s ease}.project-list__item:hover{background:var(--igs-glass-bg, rgba(255, 255, 255, .65));border-color:var(--border, rgba(0, 0, 0, .08))}.project-list__item--selected{background:#3b82f614;border-color:var(--primary, #3b82f6)}.project-list__item--selected:hover{background:#3b82f61f}.project-list__item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.project-list__status{font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;border:1px solid}.project-list__margin{display:flex;align-items:center;gap:3px;font-size:11px;font-weight:500;color:#10b981}.project-list__name{font-size:13px;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:6px;line-height:1.3}.project-list__site{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary, #64748b);margin-bottom:4px}.project-list__site svg{flex-shrink:0;color:var(--text-tertiary, #94a3b8)}.project-list__site span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-list__client{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary, #64748b);margin-bottom:8px}.project-list__client svg{flex-shrink:0;color:var(--text-tertiary, #94a3b8)}.project-list__progress-wrapper{display:flex;align-items:center;gap:8px}.project-list__progress-bar{flex:1;height:4px;background:var(--border, rgba(0, 0, 0, .08));border-radius:2px;overflow:hidden}.project-list__progress-fill{height:100%;background:linear-gradient(90deg,var(--primary, #3b82f6),#60a5fa);border-radius:2px;transition:width .3s ease}.project-list__progress-text{font-size:11px;font-weight:600;color:var(--primary, #3b82f6);min-width:32px;text-align:right}.project-list__empty{padding:40px 20px;text-align:center;color:var(--text-secondary, #64748b);font-size:13px}@media (max-width: 1024px){.project-list__items{display:flex;flex-direction:row;gap:8px;overflow-x:auto;overflow-y:hidden;padding:8px 12px}.project-list__item{min-width:220px;flex-shrink:0;margin-bottom:0}}.construction-gantt{display:flex;flex-direction:column;height:100%;padding:16px;overflow:hidden}.construction-gantt--empty{align-items:center;justify-content:center}.construction-gantt__empty-message{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--text-secondary, #64748b)}.construction-gantt__empty-message svg{opacity:.3}.construction-gantt__empty-message p{margin:0;font-size:14px}.construction-gantt__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-shrink:0}.construction-gantt__project-info{display:flex;flex-direction:column;gap:4px}.construction-gantt__project-name{margin:0;font-size:16px;font-weight:600;color:var(--text-primary, #1e293b)}.construction-gantt__project-progress{font-size:12px;color:var(--primary, #3b82f6);font-weight:500}.construction-gantt__controls{display:flex;align-items:center;gap:8px}.construction-gantt__nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-secondary, rgba(0, 0, 0, .04));border:none;border-radius:8px;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s ease}.construction-gantt__nav-btn:hover{background:var(--border, rgba(0, 0, 0, .08));color:var(--text-primary, #1e293b)}.construction-gantt__month-display{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b);min-width:100px;text-align:center}.construction-gantt__today-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--bg-secondary, rgba(0, 0, 0, .04));border:none;border-radius:8px;font-size:12px;font-weight:500;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s ease}.construction-gantt__today-btn:hover{background:var(--primary, #3b82f6);color:#fff}.construction-gantt__legend{display:flex;gap:16px;margin-bottom:12px;padding:8px 12px;background:var(--bg-secondary, rgba(0, 0, 0, .02));border-radius:8px;flex-shrink:0}.construction-gantt__legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary, #64748b)}.construction-gantt__legend-color{width:16px;height:10px;border-radius:2px}.construction-gantt__chart{flex:1;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border, rgba(0, 0, 0, .08));border-radius:10px;background:var(--panel, #ffffff)}.construction-gantt__day-headers{display:flex;border-bottom:1px solid var(--border, rgba(0, 0, 0, .08));background:var(--bg-secondary, rgba(0, 0, 0, .02));flex-shrink:0}.construction-gantt__phase-label-header{width:120px;flex-shrink:0;padding:8px 12px;font-size:11px;font-weight:600;color:var(--text-secondary, #64748b);border-right:1px solid var(--border, rgba(0, 0, 0, .08))}.construction-gantt__days-header{flex:1;display:flex;min-width:0}.construction-gantt__day-header{flex:1;min-width:24px;padding:8px 0;text-align:center;font-size:10px;font-weight:500;color:var(--text-secondary, #64748b);border-right:1px solid var(--border, rgba(0, 0, 0, .04))}.construction-gantt__day-header:last-child{border-right:none}.construction-gantt__day-header--weekend{background:#00000005;color:var(--text-tertiary, #94a3b8)}.construction-gantt__day-header--today{background:#3b82f61a;color:var(--primary, #3b82f6);font-weight:700}.construction-gantt__rows{flex:1;overflow-y:auto}.construction-gantt__row{display:flex;border-bottom:1px solid var(--border, rgba(0, 0, 0, .04));min-height:40px}.construction-gantt__row:last-child{border-bottom:none}.construction-gantt__phase-label{width:120px;flex-shrink:0;display:flex;align-items:center;gap:8px;padding:8px 12px;border-right:1px solid var(--border, rgba(0, 0, 0, .08));background:var(--panel, #ffffff)}.construction-gantt__phase-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.construction-gantt__phase-name{font-size:12px;font-weight:500;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.construction-gantt__bar-area{flex:1;display:flex;position:relative;min-width:0}.construction-gantt__grid-cell{flex:1;min-width:24px;border-right:1px solid var(--border, rgba(0, 0, 0, .04))}.construction-gantt__grid-cell:last-child{border-right:none}.construction-gantt__grid-cell--weekend{background:#00000004}.construction-gantt__today-line{position:absolute;top:0;bottom:0;width:2px;background:var(--primary, #3b82f6);z-index:10;pointer-events:none}.construction-gantt__today-line:before{content:"";position:absolute;top:0;left:-4px;width:10px;height:10px;background:var(--primary, #3b82f6);border-radius:50%}.construction-gantt__bar{position:absolute;top:50%;transform:translateY(-50%);height:20px;border-radius:4px;display:flex;align-items:center;overflow:hidden;cursor:pointer;transition:all .2s ease;z-index:5}.construction-gantt__bar:hover{transform:translateY(-50%) scale(1.02);box-shadow:0 2px 8px #00000026}.construction-gantt__bar-progress{position:absolute;left:0;top:0;bottom:0;border-radius:4px 0 0 4px}.construction-gantt__bar-label{position:relative;z-index:1;padding:0 6px;font-size:10px;font-weight:600;color:var(--text-primary, #1e293b);white-space:nowrap}@media (max-width: 1024px){.construction-gantt{padding:12px}.construction-gantt__header{flex-direction:column;gap:12px;align-items:flex-start}.construction-gantt__phase-label-header,.construction-gantt__phase-label{width:100px}.construction-gantt__phase-name{font-size:11px}.construction-gantt__day-header{min-width:20px;font-size:9px}.construction-gantt__grid-cell{min-width:20px}}@media (max-width: 768px){.construction-gantt__legend{flex-wrap:wrap;gap:8px}.construction-gantt__phase-label-header,.construction-gantt__phase-label{width:80px;padding:6px 8px}.construction-gantt__phase-dot{width:6px;height:6px}.construction-gantt__phase-name{font-size:10px}}.project-schedule{display:flex;height:100%;gap:0;overflow:hidden;background:var(--bg-base, #eef2f6)}.project-schedule__list-panel{width:300px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--border, rgba(0, 0, 0, .08));background:var(--panel, #ffffff);overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.project-schedule__list-panel::-webkit-scrollbar{display:none}.project-schedule__gantt-panel{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--panel, #ffffff)}@media (max-width: 1200px){.project-schedule__list-panel{width:260px}}@media (max-width: 1024px){.project-schedule{flex-direction:column}.project-schedule__list-panel{width:100%;height:200px;border-right:none;border-bottom:1px solid var(--border, rgba(0, 0, 0, .08))}.project-schedule__gantt-panel{flex:1;min-height:0}}.project-schedule__gantt-wrapper{flex-shrink:0;max-height:50%;overflow:auto}.phase-issues-section{flex:1;min-height:200px;display:flex;flex-direction:column;border-top:1px solid var(--border, #e2e8f0);background:var(--bg-secondary, #f8fafc);overflow:hidden}.phase-tabs{display:flex;gap:4px;padding:12px 16px;background:var(--panel, #ffffff);border-bottom:1px solid var(--border, #e2e8f0);overflow-x:auto;flex-shrink:0}.phase-tabs::-webkit-scrollbar{height:4px}.phase-tabs::-webkit-scrollbar-thumb{background:var(--border, #cbd5e1);border-radius:2px}.phase-tab{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border, #e2e8f0);border-radius:8px;background:var(--panel, #ffffff);font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.phase-tab:hover{border-color:var(--phase-color, #3b82f6);color:var(--phase-color, #3b82f6)}.phase-tab.active{background:var(--phase-color, #3b82f6);border-color:var(--phase-color, #3b82f6);color:#fff}.phase-tab__label{font-weight:500}.phase-tab__badge{display:flex;align-items:center;gap:2px;padding:2px 6px;border-radius:10px;background:#0000001a;font-size:11px;font-weight:600}.phase-tab.active .phase-tab__badge{background:#ffffff40}.phase-tab__critical{color:#ef4444;font-weight:700}.phase-tab.active .phase-tab__critical{color:#fef2f2}.phase-issues-list{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.phase-issues-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;color:var(--text-secondary, #94a3b8)}.phase-issues-empty p{margin:0;font-size:14px}.phase-issue-card{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;overflow:visible;transition:box-shadow .2s ease}.phase-issue-card:hover{box-shadow:0 4px 12px #00000014}.phase-issue-card__header{padding:14px 16px;border-bottom:1px solid var(--border, #e2e8f0);background:var(--bg-secondary, #f8fafc)}.phase-issue-card__title-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.phase-issue-card__severity{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;color:#fff}.phase-issue-card__type{font-size:12px;font-weight:600}.phase-issue-card__status{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500;color:#fff;margin-left:auto}.phase-issue-card__title{margin:0;font-size:14px;font-weight:600;color:var(--text-primary, #1e293b);line-height:1.4}.phase-issue-card__body{padding:14px 16px;overflow:visible}.phase-issue-card__description{margin:0 0 12px;font-size:13px;color:var(--text-secondary, #64748b);line-height:1.5}.phase-issue-card__meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.phase-issue-card__meta-item{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary, #64748b)}.phase-issue-card__meta-item.impact{color:#ef4444;font-weight:500}.phase-issue-card__meta-item.cost{color:#f59e0b;font-weight:500}.phase-issue-card__details{margin-top:12px;padding-top:12px;border-top:1px solid var(--border, #e2e8f0);display:flex;flex-direction:column;gap:8px}.phase-issue-card__detail{display:flex;gap:8px;font-size:12px;line-height:1.5}.phase-issue-card__detail .detail-label{flex-shrink:0;font-weight:600;color:var(--text-primary, #475569)}.phase-issue-card__detail .detail-value{color:var(--text-secondary, #64748b)}.section-header-compact{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:600;color:var(--text-secondary, #64748b)}.section-header-compact svg{color:var(--text-secondary, #94a3b8)}.section-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--primary, #3b82f6);font-size:10px;font-weight:600;color:#fff;margin-left:4px}.company-impact-section{margin-top:12px;padding-top:12px;border-top:1px solid var(--border, #e2e8f0)}.company-response-section{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border, #e2e8f0)}.compact-table{display:flex;flex-direction:column;gap:6px}.compact-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-secondary, #f8fafc);border-radius:6px;font-size:12px;flex-wrap:wrap}.compact-badge,.compact-status{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;color:#fff;flex-shrink:0}.compact-severity{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;flex-shrink:0}.compact-severity--high{background:#fef2f2;color:#dc2626}.compact-severity--medium{background:#fffbeb;color:#d97706}.compact-severity--low{background:#f0fdf4;color:#16a34a}.compact-desc{flex:1;min-width:120px;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-team{font-weight:600;color:var(--text-secondary, #64748b);flex-shrink:0}.compact-person{color:var(--text-secondary, #64748b);flex-shrink:0}.compact-days{color:#ef4444;font-weight:600;flex-shrink:0}.compact-amount{color:#f59e0b;font-weight:600;flex-shrink:0}.compact-date{color:var(--text-secondary, #94a3b8);font-size:11px;flex-shrink:0}.compact-result{display:inline-flex;align-items:center;gap:3px;color:#16a34a;font-size:11px;flex-shrink:0}.compact-result svg{flex-shrink:0}@media (max-width: 1400px){.phase-tab{padding:6px 10px;font-size:12px}}@media (max-width: 1024px){.phase-issues-section{min-height:300px}.phase-tabs{padding:8px 12px}.phase-issues-list{padding:12px}}@media (max-width: 768px){.compact-row{flex-wrap:wrap;gap:6px}.compact-desc{flex-basis:100%;order:10;white-space:normal}}.project-management{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--bg-base, #eef2f6)}.project-management__tabs{display:flex;gap:4px;padding:12px 16px 0;background:var(--bg-base, #eef2f6);flex-shrink:0}.project-management__tab{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--igs-glass-bg, rgba(255, 255, 255, .5));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-bottom:none;border-radius:12px 12px 0 0;font-size:14px;font-weight:500;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s ease;position:relative}.project-management__tab:hover{background:var(--igs-glass-bg, rgba(255, 255, 255, .65));color:var(--text-primary, #1e293b)}.project-management__tab--active{background:var(--panel, #ffffff);color:var(--primary, #3b82f6);font-weight:600;border-color:var(--border, rgba(0, 0, 0, .08))}.project-management__tab--active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--panel, #ffffff)}.project-management__tab svg{flex-shrink:0}.project-management__content{flex:1;min-height:0;overflow:hidden;background:var(--panel, #ffffff);border-radius:0 12px 0 0;margin:0 16px 0 0;box-shadow:0 -1px 0 var(--border, rgba(0, 0, 0, .08))}.project-management__content .project-pipeline,.project-management__content .project-schedule{height:100%;background:transparent}@media (max-width: 768px){.project-management__tabs{padding:8px 12px 0}.project-management__tab{padding:8px 14px;font-size:13px}.project-management__tab span{display:none}.project-management__content{margin:0 12px 0 0;border-radius:0}}.quote-simulator{display:flex;flex-direction:column;gap:12px;padding:12px 16px;background:var(--bg-base, #eef2f6);height:100vh;overflow:hidden;box-sizing:border-box}.quote-simulator__header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.quote-simulator__title-section{display:flex;align-items:center;gap:16px}.quote-simulator__title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:var(--text-primary);white-space:nowrap}.quote-simulator__title svg{color:var(--primary, #3b82f6)}.quote-simulator__project-select .igs-select{padding:6px 28px 6px 12px;font-size:13px;min-width:200px}.quote-simulator__actions{display:flex;gap:8px}.quote-simulator__content{display:grid;grid-template-columns:280px 1fr;gap:12px;flex:1;min-height:0;overflow:hidden}.quote-simulator__zone-a{display:flex;flex-direction:column;min-height:0;overflow:hidden}.cutting-plan-panel{background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:12px;padding:12px;display:flex;flex-direction:column;height:100%;overflow:hidden}.cutting-plan-panel__header{display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--border, rgba(0, 0, 0, .08));font-size:12px;font-weight:600;color:var(--text-primary);flex-shrink:0}.cutting-plan-panel__header svg{color:var(--primary, #3b82f6)}.cutting-plan-panel__count{margin-left:auto;background:var(--bg-secondary, rgba(0, 0, 0, .05));padding:2px 8px;border-radius:10px;font-size:11px;color:var(--text-secondary)}.cutting-plan-panel__list{flex:1;overflow-y:auto;padding:8px 0;display:flex;flex-direction:column;gap:8px}.plan-card{background:var(--panel, #ffffff);border:2px solid transparent;border-radius:10px;padding:10px 12px;cursor:pointer;transition:all .2s ease;position:relative}.plan-card:hover{border-color:#3b82f633;transform:translateY(-1px)}.plan-card--selected{border-color:var(--primary, #3b82f6);background:#3b82f60d}.plan-card--recommended{border-color:#10b981}.plan-card--recommended.plan-card--selected{border-color:#10b981;background:#10b9810d}.plan-card__badge{position:absolute;top:-8px;left:10px;display:flex;align-items:center;gap:3px;padding:2px 8px;background:linear-gradient(135deg,#10b981,#34d399);color:#fff;font-size:9px;font-weight:600;border-radius:4px}.plan-card__header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.plan-card__id{font-size:11px;font-weight:600;color:var(--text-primary)}.plan-card__name{font-size:11px;color:var(--text-secondary)}.plan-card__check{margin-left:auto;color:var(--primary, #3b82f6)}.plan-card--recommended .plan-card__check{color:#10b981}.plan-card__info{font-size:10px;color:var(--text-secondary);margin-bottom:6px}.plan-card__progress{height:4px;background:var(--bg-secondary, rgba(0, 0, 0, .08));border-radius:2px;overflow:hidden}.plan-card__progress-bar{height:100%;background:linear-gradient(90deg,var(--primary, #3b82f6),#06b6d4);border-radius:2px;transition:width .3s ease}.plan-card--recommended .plan-card__progress-bar{background:linear-gradient(90deg,#10b981,#34d399)}.cutting-plan-panel__preview{padding:10px 0;border-top:1px solid var(--border, rgba(0, 0, 0, .08));flex-shrink:0}.cutting-plan-panel__preview-header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.cutting-plan-panel__preview-header svg{color:var(--primary, #3b82f6)}.cutting-preview{background:var(--panel, #ffffff);border-radius:8px;padding:8px;border:1px solid var(--border, rgba(0, 0, 0, .08))}.cutting-preview__svg{width:100%;height:auto;border-radius:4px}.cutting-preview__info{display:flex;justify-content:space-between;margin-top:6px;font-size:10px;color:var(--text-secondary)}.cutting-preview__efficiency strong{color:#10b981}.cutting-preview__loss strong{color:#f59e0b}.text-warning{color:#f59e0b!important}.cutting-plan-panel__summary{padding-top:10px;border-top:1px solid var(--border, rgba(0, 0, 0, .08));flex-shrink:0}.cutting-plan-panel__summary-title{font-size:11px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.cutting-plan-panel__summary-info{font-size:10px;color:var(--text-secondary);margin-bottom:6px}.quote-simulator__zone-b{display:flex;flex-direction:column;gap:12px;min-height:0;overflow-y:auto}.quote-simulator__scenarios{flex-shrink:0}.quote-simulator__bottom-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;flex:1;min-height:0}.quote-simulator__summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;flex-shrink:0}.summary-card{background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.summary-card--highlight{background:linear-gradient(135deg,#10b9811a,#34d3990d);border-color:#10b98133}.summary-card--accent{background:linear-gradient(135deg,#3b82f61a,#06b6d40d);border-color:#3b82f633}.summary-card__label{font-size:11px;font-weight:500;color:var(--text-secondary)}.summary-card__value{font-size:18px;font-weight:700;color:var(--text-primary)}.summary-card--highlight .summary-card__value{color:#10b981}.summary-card--accent .summary-card__value{color:var(--primary, #3b82f6)}.quote-simulator__scenarios-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:13px;font-weight:600;color:var(--text-primary)}.quote-simulator__scenarios-header svg{color:var(--primary, #3b82f6)}.quote-simulator__recommendation-inline{display:flex;align-items:center;gap:4px;margin-left:auto;padding:4px 10px;background:#10b9811a;border-radius:6px;font-size:11px;font-weight:500;color:#059669}.quote-simulator__recommendation-inline svg{color:#10b981}.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.scenario-card{background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:2px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:10px;padding:12px 14px;cursor:pointer;transition:all .25s ease;position:relative}.scenario-card:hover{border-color:#3b82f64d;transform:translateY(-2px)}.scenario-card--selected{border-color:var(--primary, #3b82f6);background:#3b82f60d}.scenario-card--recommended{border-color:#10b981}.scenario-card--recommended.scenario-card--selected{border-color:#10b981;background:#10b9810d}.scenario-card__badge{position:absolute;top:-8px;left:12px;display:flex;align-items:center;gap:3px;padding:2px 8px;background:linear-gradient(135deg,#10b981,#34d399);color:#fff;font-size:9px;font-weight:600;border-radius:4px}.scenario-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap;gap:6px}.scenario-card__title{font-size:13px;font-weight:600;color:var(--text-primary)}.scenario-card__sheet-info{display:flex;align-items:center;gap:6px;padding:3px 6px;background:var(--bg-secondary, rgba(0, 0, 0, .03));border-radius:4px}.scenario-card__sheet-size{font-size:10px;font-weight:600;color:var(--text-primary);font-family:SF Mono,Monaco,monospace}.scenario-card__sheet-price{font-size:9px;color:var(--text-secondary);padding:1px 3px;background:var(--panel, #ffffff);border-radius:3px}.scenario-card__content{display:flex;gap:12px;margin-bottom:10px}.scenario-card__preview-area{flex:1;min-width:0}.scenario-cutting-preview{padding:6px;background:var(--panel, #ffffff);border-radius:6px;border:1px solid var(--border, rgba(0, 0, 0, .08));height:100%;display:flex;flex-direction:column}.scenario-cutting-preview__svg{width:100%;height:auto;min-height:80px;max-height:120px;border-radius:4px;flex:1}.scenario-cutting-preview__label{display:flex;justify-content:flex-end;margin-top:4px;font-size:9px;color:var(--text-secondary)}.scenario-cutting-preview__efficiency strong{color:#10b981;font-weight:600}.scenario-card__metrics{display:flex;flex-direction:column;gap:4px;min-width:85px;flex-shrink:0}.scenario-card__metric{display:flex;justify-content:space-between;align-items:center;padding:3px 0;border-bottom:1px solid var(--border, rgba(0, 0, 0, .05))}.scenario-card__metric--highlight{border-bottom:none;padding-top:4px;margin-top:2px;border-top:1px solid var(--border, rgba(0, 0, 0, .08))}.scenario-card__metric-label{font-size:10px;color:var(--text-secondary)}.scenario-card__metric-value{font-size:11px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:3px}.scenario-card__metric-value--good{color:#10b981}.scenario-card__metric-value--bad{color:#ef4444}.scenario-card__metric--highlight .scenario-card__metric-value{font-size:13px;color:var(--primary, #3b82f6)}.scenario-card__select{width:100%;padding:6px 10px;background:var(--bg-secondary, rgba(0, 0, 0, .05));border:none;border-radius:6px;font-size:11px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:4px}.scenario-card__select:hover{background:var(--bg-secondary, rgba(0, 0, 0, .08))}.scenario-card__select--active{background:var(--primary, #3b82f6);color:#fff}.scenario-card--recommended .scenario-card__select--active{background:#10b981}.quote-simulator__chart-section{display:flex;flex-direction:column;min-height:0;overflow:hidden}.quote-simulator__section-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:8px;flex-shrink:0}.quote-simulator__chart-card{flex:1;min-height:0;padding:12px}.waterfall-chart{height:100%;min-height:200px}.waterfall-dark-bg{background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid rgba(255,255,255,.1)}.waterfall-chart-styled{height:100%;min-height:200px}.waterfall-bar-rect{filter:drop-shadow(0px 2px 4px rgba(0,0,0,.25));stroke:#ffffff0d;stroke-width:1}.waterfall-bar-label{text-shadow:0px 1px 2px rgba(0,0,0,.5)}.waterfall-tooltip{background:#0f172ae6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);padding:8px 12px;border-radius:6px;box-shadow:0 10px 15px -3px #00000080}.waterfall-tooltip__label{color:#e2e8f0;font-weight:600;font-size:12px;margin-bottom:4px}.waterfall-tooltip__value{display:flex;align-items:center;gap:6px}.waterfall-tooltip__dot{width:8px;height:8px;border-radius:2px}.waterfall-tooltip__dot--positive{background:#34d399}.waterfall-tooltip__dot--negative{background:#f87171}.waterfall-tooltip__amount{color:#fff;font-weight:700;font-size:14px}.quote-simulator__cost-section{display:flex;flex-direction:column;min-height:0;overflow:hidden}.cost-breakdown{background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:12px;padding:12px;display:flex;flex-direction:column;height:100%;overflow-y:auto}.cost-breakdown__title{font-size:12px;font-weight:600;color:var(--text-primary);padding-bottom:10px;border-bottom:1px solid var(--border, rgba(0, 0, 0, .08));margin-bottom:8px;flex-shrink:0}.cost-breakdown__section{margin-bottom:10px}.cost-breakdown__section-title{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.cost-breakdown__row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:11px;color:var(--text-primary)}.cost-breakdown__row--subtotal{border-top:1px solid var(--border, rgba(0, 0, 0, .08));margin-top:4px;padding-top:6px;font-weight:600}.cost-breakdown__value--warning{color:#f59e0b}.cost-breakdown__total{margin-top:auto;padding-top:10px;border-top:2px solid var(--border, rgba(0, 0, 0, .1));flex-shrink:0}.cost-breakdown__total-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:12px;font-weight:600;color:var(--text-primary)}.cost-breakdown__total-row--profit{color:#10b981}.cost-breakdown__total-row--margin{font-size:14px;color:var(--primary, #3b82f6)}.cost-breakdown--inline{flex:1;min-height:0}.igs-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.igs-btn--primary{background:var(--primary, #3b82f6);color:#fff}.igs-btn--primary:hover{background:#2563eb}.igs-btn--secondary{background:var(--panel, #ffffff);color:var(--text-primary);border:1px solid var(--border, rgba(0, 0, 0, .1))}.igs-btn--secondary:hover{background:var(--bg-secondary, rgba(0, 0, 0, .05))}.igs-btn--text{background:transparent;color:var(--primary, #3b82f6);padding:4px 8px}.igs-btn--text:hover{background:#3b82f61a}.igs-btn--sm{padding:6px 10px;font-size:12px}.igs-select{padding:8px 12px;border:1px solid var(--border, rgba(0, 0, 0, .1));border-radius:8px;background:var(--panel, #ffffff);font-size:13px;color:var(--text-primary);cursor:pointer}.igs-select:focus{outline:none;border-color:var(--primary, #3b82f6)}.igs-card{background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:12px}@media (max-width: 1600px){.quote-simulator__content{grid-template-columns:260px 1fr}}@media (max-width: 1400px){.quote-simulator__content{grid-template-columns:240px 1fr}}@media (max-width: 1200px){.quote-simulator__content{grid-template-columns:220px 1fr}.quote-simulator__bottom-row{grid-template-columns:1fr}.scenario-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 1024px){.quote-simulator__content{grid-template-columns:1fr}.quote-simulator__zone-a{display:none}.quote-simulator__summary,.scenario-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.quote-simulator__header{flex-direction:column;gap:10px;align-items:flex-start}.quote-simulator__title-section{flex-direction:column;align-items:flex-start;gap:8px}.scenario-grid{grid-template-columns:1fr}}[data-theme=dark] .quote-simulator{background:var(--bg-base)}[data-theme=dark] .cutting-plan-panel,[data-theme=dark] .cost-breakdown,[data-theme=dark] .summary-card,[data-theme=dark] .scenario-card,[data-theme=dark] .igs-card{background:#1e293bb3;border-color:#ffffff1a}[data-theme=dark] .plan-card{background:#1e293bcc;border-color:#ffffff14}[data-theme=dark] .plan-card:hover{border-color:#3b82f666}[data-theme=dark] .plan-card--selected{background:#3b82f626;border-color:var(--primary, #3b82f6)}[data-theme=dark] .plan-card--recommended{border-color:#10b98180}[data-theme=dark] .plan-card--recommended.plan-card--selected{background:#10b98126;border-color:#10b981}[data-theme=dark] .plan-card__progress{background:#ffffff1a}[data-theme=dark] .scenario-card:hover{border-color:#3b82f680}[data-theme=dark] .scenario-card--selected{background:#3b82f626}[data-theme=dark] .scenario-card--recommended.scenario-card--selected{background:#10b98126}[data-theme=dark] .scenario-card__select{background:#ffffff14}[data-theme=dark] .scenario-card__select:hover{background:#ffffff1f}[data-theme=dark] .scenario-card__sheet-info{background:#ffffff0d}[data-theme=dark] .scenario-card__sheet-price{background:#ffffff1a;color:var(--text-secondary)}[data-theme=dark] .summary-card--highlight{background:linear-gradient(135deg,#10b98133,#34d3991a);border-color:#10b9814d}[data-theme=dark] .summary-card--accent{background:linear-gradient(135deg,#3b82f633,#06b6d41a);border-color:#3b82f64d}[data-theme=dark] .cost-breakdown__section-title{color:var(--text-secondary)}[data-theme=dark] .cost-breakdown__row{color:var(--text-primary)}[data-theme=dark] .cutting-plan-panel__header,[data-theme=dark] .cost-breakdown__title{border-bottom-color:#ffffff1a}[data-theme=dark] .cutting-plan-panel__summary{border-top-color:#ffffff1a}[data-theme=dark] .cost-breakdown__row--subtotal,[data-theme=dark] .scenario-card__metric,[data-theme=dark] .scenario-card__metric--highlight{border-color:#ffffff1a}[data-theme=dark] .cost-breakdown__total{border-top-color:#ffffff26}[data-theme=dark] .igs-btn--secondary{background:#1e293bcc;border-color:#ffffff26;color:var(--text-primary)}[data-theme=dark] .igs-btn--secondary:hover{background:#ffffff1a}[data-theme=dark] .igs-btn--text:hover{background:#3b82f633}[data-theme=dark] .igs-select{background:#1e293bcc;border-color:#ffffff26;color:var(--text-primary)}[data-theme=dark] .igs-select option{background:var(--panel);color:var(--text-primary)}[data-theme=dark] .cutting-plan-panel__count{background:#ffffff1a}[data-theme=dark] .quote-simulator__recommendation-inline{background:#10b98133}[data-theme=dark] .cutting-plan-panel__preview{border-top-color:#ffffff1a}[data-theme=dark] .cutting-preview{background:#1e293bcc;border-color:#ffffff1a}[data-theme=dark] .scenario-cutting-preview{background:#1e293b99;border-color:#ffffff1a}.quotation-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.quotation-popup{background:var(--panel, #ffffff);border-radius:12px;box-shadow:0 25px 50px -12px #00000040;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.quotation-popup__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border, rgba(0, 0, 0, .1));background:var(--bg-secondary, #f8fafc);flex-shrink:0}.quotation-popup__header h2{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.quotation-popup__actions{display:flex;align-items:center;gap:8px}.quotation-popup__close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .2s ease}.quotation-popup__close:hover{background:var(--bg-secondary, rgba(0, 0, 0, .05));color:var(--text-primary)}.igs-btn.success{background:#10b981!important;color:#fff!important}.igs-btn.loading{opacity:.7;pointer-events:none}.quotation-document{flex:1;overflow-y:auto;padding:40px;background:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Ctext x='50%25' y='50%25' font-family='Arial' font-size='24' fill='%233b82f6' fill-opacity='0.03' text-anchor='middle' dominant-baseline='middle' transform='rotate(-30 100 100)'%3E견적서%3C/text%3E%3C/svg%3E")}.quotation-document__title-area{text-align:center;margin-bottom:30px;padding-bottom:20px;border-bottom:3px double #1e3a5f}.quotation-document__title{font-size:32px;font-weight:700;color:#1e3a5f;letter-spacing:12px;margin:0 0 8px}.quotation-document__subtitle{font-size:14px;color:#64748b;letter-spacing:4px}.quotation-document__info-row{display:flex;justify-content:space-between;margin-bottom:24px;padding:0 10px}.quotation-document__number,.quotation-document__date{display:flex;align-items:center;gap:8px;font-size:13px}.quotation-document__info-row .label{color:#64748b;font-weight:500}.quotation-document__info-row .value{color:#1e293b;font-weight:600}.quotation-document__parties{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.quotation-document__party{background:#f8fafc;border-radius:8px;padding:16px;border:1px solid #e2e8f0}.quotation-document__party--receiver{border-left:4px solid #3b82f6}.quotation-document__party--sender{border-left:4px solid #10b981}.quotation-document__party-title{font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:2px;margin-bottom:12px}.quotation-document__party-table{width:100%;border-collapse:collapse}.quotation-document__party-table th{text-align:left;padding:6px 8px 6px 0;font-size:12px;font-weight:500;color:#64748b;width:70px;vertical-align:top}.quotation-document__party-table td{padding:6px 0;font-size:13px;color:#1e293b;font-weight:500}.quotation-document__party-table .seal-cell{width:70px;text-align:center;vertical-align:middle}.quotation-document__seal{width:56px;height:56px;border:2px solid #dc2626;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto;background:#dc26260d}.quotation-document__seal span{font-size:20px;font-weight:700;color:#dc2626;font-family:Malgun Gothic,sans-serif}.quotation-document__amount-summary{margin-bottom:24px}.quotation-document__amount-box{background:linear-gradient(135deg,#1e3a5f,#2563eb);border-radius:12px;padding:24px;text-align:center;color:#fff}.quotation-document__amount-label{font-size:13px;opacity:.9;margin-bottom:8px}.quotation-document__amount-value{font-size:36px;font-weight:700;margin-bottom:8px;letter-spacing:1px}.quotation-document__amount-korean{font-size:14px;opacity:.85;letter-spacing:1px}.quotation-document__section-title{font-size:14px;font-weight:700;color:#1e3a5f;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #1e3a5f}.quotation-document__items-section{margin-bottom:24px}.quotation-document__items-table{width:100%;border-collapse:collapse;font-size:12px}.quotation-document__items-table thead{background:#1e3a5f}.quotation-document__items-table thead th{padding:10px 8px;color:#fff;font-weight:600;text-align:center;border:1px solid #1e3a5f}.quotation-document__items-table tbody td{padding:10px 8px;border:1px solid #e2e8f0;color:#1e293b}.quotation-document__items-table .col-no{width:40px;text-align:center}.quotation-document__items-table .col-name{text-align:left}.quotation-document__items-table .col-spec{width:100px;text-align:center}.quotation-document__items-table .col-unit{width:50px;text-align:center}.quotation-document__items-table .col-qty{width:70px;text-align:right}.quotation-document__items-table .col-price{width:100px;text-align:right}.quotation-document__items-table .col-amount{width:110px;text-align:right;font-weight:600}.quotation-document__items-table tbody tr:nth-child(2n){background:#f8fafc}.quotation-document__items-table tfoot td{padding:10px 8px;border:1px solid #e2e8f0;text-align:right;font-weight:600}.quotation-document__items-table .subtotal-row td{background:#f1f5f9}.quotation-document__items-table .vat-row td{background:#fef3c7;color:#92400e}.quotation-document__items-table .total-row td{background:#1e3a5f;color:#fff;font-size:14px;font-weight:700}.quotation-document__terms-section{margin-bottom:24px}.quotation-document__terms-table{width:100%;border-collapse:collapse;font-size:12px}.quotation-document__terms-table th{width:100px;text-align:left;padding:10px 12px;background:#f1f5f9;border:1px solid #e2e8f0;font-weight:600;color:#475569;vertical-align:top}.quotation-document__terms-table td{padding:10px 12px;border:1px solid #e2e8f0;color:#1e293b;line-height:1.6}.quotation-document__footer{text-align:center;padding-top:20px;border-top:1px solid #e2e8f0;margin-top:20px}.quotation-document__footer-text{font-size:12px;color:#64748b;margin-bottom:8px}.quotation-document__contact{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:#3b82f6}@media print{.quotation-popup-overlay{position:static;background:none;padding:0}.quotation-popup{box-shadow:none;max-height:none;border-radius:0}.quotation-popup__header{display:none}.quotation-document{padding:20px}}[data-theme=dark] .quotation-popup{background:var(--panel)}[data-theme=dark] .quotation-popup__header{background:#1e293bcc;border-bottom-color:#ffffff1a}[data-theme=dark] .quotation-document{background:#1e293b;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Ctext x='50%25' y='50%25' font-family='Arial' font-size='24' fill='%233b82f6' fill-opacity='0.05' text-anchor='middle' dominant-baseline='middle' transform='rotate(-30 100 100)'%3E견적서%3C/text%3E%3C/svg%3E")}[data-theme=dark] .quotation-document__title-area{border-bottom-color:#fff3}[data-theme=dark] .quotation-document__title,[data-theme=dark] .quotation-document__info-row .value{color:#e2e8f0}[data-theme=dark] .quotation-document__party{background:#1e293b99;border-color:#ffffff1a}[data-theme=dark] .quotation-document__party-table td{color:#e2e8f0}[data-theme=dark] .quotation-document__section-title{color:#e2e8f0;border-bottom-color:#fff3}[data-theme=dark] .quotation-document__items-table thead{background:#334155}[data-theme=dark] .quotation-document__items-table thead th{border-color:#334155}[data-theme=dark] .quotation-document__items-table tbody td{border-color:#ffffff1a;color:#e2e8f0}[data-theme=dark] .quotation-document__items-table tbody tr:nth-child(2n){background:#ffffff08}[data-theme=dark] .quotation-document__items-table tfoot td{border-color:#ffffff1a}[data-theme=dark] .quotation-document__items-table .subtotal-row td{background:#ffffff0d}[data-theme=dark] .quotation-document__items-table .vat-row td{background:#fbbf2426;color:#fbbf24}[data-theme=dark] .quotation-document__items-table .total-row td{background:#3b82f6}[data-theme=dark] .quotation-document__terms-table th{background:#ffffff0d;border-color:#ffffff1a;color:#94a3b8}[data-theme=dark] .quotation-document__terms-table td{border-color:#ffffff1a;color:#e2e8f0}[data-theme=dark] .quotation-document__footer{border-top-color:#ffffff1a}.production-simulation{display:flex;flex-direction:column;height:100%;max-height:100vh;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.sim-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--panel);border-bottom:1px solid var(--border)}.header-title{display:flex;align-items:center;gap:10px}.header-title h1{font-size:18px;font-weight:600;margin:0}.header-badge{padding:2px 8px;background:var(--primary);color:#fff;font-size:10px;font-weight:600;border-radius:4px;letter-spacing:.5px}.sim-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;background:var(--bg-secondary);color:var(--text-primary)}.sim-btn:hover:not(:disabled){background:var(--bg-tertiary)}.sim-btn:disabled{opacity:.5;cursor:not-allowed}.sim-btn.primary{background:var(--primary);color:#fff}.sim-btn.primary:hover:not(:disabled){background:var(--primary-hover)}.sim-btn.small{padding:6px 10px;font-size:12px}.sim-btn.loading .spin{animation:spin 1s linear infinite}.sim-content{display:grid;grid-template-columns:minmax(260px,280px) 1fr minmax(260px,300px);flex:1;overflow:hidden;gap:0;background:var(--bg-primary);min-height:0}.sim-content>*{border-right:1px solid var(--border)}.sim-content>*:last-child{border-right:none}.sim-panel{display:flex;flex-direction:column;background:var(--panel);overflow-y:auto;min-height:0;position:relative;z-index:1}.panel-header{display:flex;align-items:center;gap:8px;padding:0 16px;height:48px;min-height:48px;background:var(--bg-secondary);border-bottom:1px solid var(--border);font-size:13px;font-weight:600;color:var(--text-secondary);position:sticky;top:0;z-index:5;flex-shrink:0}.panel-section{padding:16px;border-bottom:1px solid var(--border)}.panel-section.sticky-top-section{position:sticky;top:48px;background:var(--panel);z-index:4;box-shadow:0 1px 0 0 var(--border)}.section-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.form-group label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:6px}.form-group input,.form-group select{width:100%;padding:8px 10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--text-primary)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary)}.input-with-unit{display:flex;align-items:center;gap:8px}.input-with-unit input{flex:1}.input-with-unit .unit{font-size:12px;color:var(--text-secondary);white-space:nowrap}.input-with-unit.small input{width:80px}.checkbox-group{margin-top:8px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary)}.input-method-tabs{display:flex;gap:4px;background:var(--bg-primary);padding:4px;border-radius:8px}.method-tab{flex:1;padding:8px 4px;border:none;background:transparent;color:var(--text-secondary);font-size:11px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s}.method-tab:hover{background:var(--bg-secondary)}.method-tab.active{background:var(--primary);color:#fff}.info-box{display:flex;gap:10px;padding:10px 12px;background:var(--bg-primary);border-radius:8px;font-size:12px;color:var(--text-secondary);margin-top:12px}.info-box .highlight{color:var(--primary);font-weight:600}.lines-list{display:flex;flex-direction:column;gap:8px}.line-item{background:var(--bg-primary);border-radius:8px;padding:10px 12px;border:1px solid var(--border)}.line-item.inactive{opacity:.6}.line-header{display:flex;align-items:center}.line-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;cursor:pointer}.line-checkbox input{accent-color:var(--primary)}.line-config{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.config-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.config-row:last-child{margin-bottom:0}.config-row label{font-size:11px;color:var(--text-secondary)}.config-row select,.config-row input{padding:4px 8px;font-size:12px;background:var(--panel);border:1px solid var(--border);border-radius:4px;color:var(--text-primary)}.capacity-summary{display:flex;justify-content:space-between;padding:10px 12px;background:var(--bg-primary);border-radius:8px;margin-top:12px}.capacity-item{text-align:center}.capacity-item .label{display:block;font-size:10px;color:var(--text-secondary);margin-bottom:4px}.capacity-item .value{font-size:14px;font-weight:600}.capacity-item .value.highlight{color:var(--primary)}.sim-canvas{display:flex;flex-direction:column;background:var(--panel);overflow:hidden;min-width:0;min-height:0;position:relative;z-index:0}.canvas-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:48px;min-height:48px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.canvas-header h2{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;margin:0}.canvas-actions{display:flex;gap:8px}.canvas-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-secondary);text-align:center}.canvas-empty h3{font-size:16px;margin:0;color:var(--text-primary)}.canvas-empty p{margin:0;font-size:13px}.gantt-container{flex:1;overflow:auto;padding:20px 24px;position:relative;min-height:0;background:var(--panel);contain:paint}.gantt-body{display:table;width:100%;border-collapse:separate;border-spacing:0 8px}.gantt-header{display:table-row;height:30px}.gantt-row{display:table-row}.gantt-header .gantt-process-col{padding:4px 24px 4px 0;vertical-align:middle;height:30px}.gantt-process-col{display:table-cell;width:220px;min-width:220px;padding:12px 24px 12px 16px;vertical-align:middle;font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;background:var(--panel);position:relative;z-index:2;overflow:hidden;text-overflow:ellipsis;text-align:right}.gantt-process-col .process-id{display:none}.gantt-process-col .process-name{display:block;font-size:14px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis}.gantt-process-col .bottleneck-badge{color:#ef4444;margin-left:6px}.gantt-timeline{display:table-cell;vertical-align:middle;position:relative;height:42px}.gantt-header .gantt-timeline{height:auto;padding-bottom:2px}.gantt-dates{display:flex;gap:0;padding-left:0}.gantt-day{flex:1;min-width:0;width:auto;text-align:center;padding:2px 0 3px;flex-shrink:0;position:relative}.gantt-day:after{content:"";position:absolute;right:0;top:8px;bottom:6px;width:1px;background:#94a3b833}.gantt-day:last-child:after{display:none}.gantt-day.weekend{opacity:.6}.day-date{font-size:11px;font-weight:600;color:var(--text-primary);line-height:1.2}.day-name{font-size:9px;color:var(--text-secondary);margin-top:0;line-height:1.2}.gantt-row .gantt-timeline{background:var(--bg-primary);border-radius:6px;overflow:hidden}.gantt-row .gantt-timeline:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,rgba(148,163,184,.12) 0,rgba(148,163,184,.12) 1px,transparent 1px,transparent 10%);pointer-events:none}.gantt-bar{position:absolute;height:24px;top:50%;transform:translateY(-50%);left:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 4px #00000026;padding:0 8px;min-width:40px;overflow:visible}.gantt-bar:hover{transform:translateY(-50%) translateY(-2px);box-shadow:0 4px 12px #00000040;z-index:5}.gantt-bar.bottleneck{box-shadow:0 0 0 2px #ef4444,0 2px 4px #00000026}.bar-label{white-space:nowrap;overflow:visible;text-overflow:clip}.gantt-bar.inbound{background:#3b82f6}.gantt-bar.cutting{background:#ef4444}.gantt-bar.processing{background:#f59e0b}.gantt-bar.cleaning{background:#10b981}.gantt-bar.assembly{background:#8b5cf6}.gantt-bar.sealing{background:#6b7280}.gantt-bar.filling{background:#22c55e}.gantt-bar.qc{background:#6366f1}.gantt-bar.outbound{background:#14b8a6}.gantt-bar.default{background:#64748b}.due-date-marker{position:absolute;top:60px;bottom:0;width:2px;z-index:5}.marker-line{width:2px;height:100%;background:#ef4444}.marker-label{position:absolute;top:-24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:4px 8px;background:#ef4444;color:#fff;font-size:10px;font-weight:500;border-radius:4px;white-space:nowrap}.result-panel .panel-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-secondary);text-align:center;padding:20px}.result-panel .panel-empty p{margin:0;font-size:12px}.kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.kpi-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border)}.kpi-card.success{border-color:#10b981;background:#10b9811a}.kpi-card.danger{border-color:#ef4444;background:#ef44441a}.kpi-icon{color:var(--text-secondary)}.kpi-content{display:flex;flex-direction:column}.kpi-label{font-size:10px;color:var(--text-secondary)}.kpi-value{font-size:14px;font-weight:600}.summary-list{display:flex;flex-direction:column;gap:8px}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.summary-item:last-child{border-bottom:none}.summary-item .label{font-size:12px;color:var(--text-secondary)}.summary-item .value{font-size:13px;font-weight:500}.warnings-list{display:flex;flex-direction:column;gap:8px}.warning-item{padding:10px 12px;background:var(--bg-primary);border-radius:8px;border-left:3px solid}.warning-item.high{border-color:#ef4444;background:#ef44441a}.warning-item.medium{border-color:#f59e0b;background:#f59e0b1a}.warning-item.low{border-color:#3b82f6;background:#3b82f61a}.warning-header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.severity-badge{padding:2px 6px;font-size:9px;font-weight:600;border-radius:4px;text-transform:uppercase}.severity-badge.high{background:#ef4444;color:#fff}.severity-badge.medium{background:#f59e0b;color:#fff}.severity-badge.low{background:#3b82f6;color:#fff}.process-badge{padding:2px 6px;font-size:10px;background:var(--bg-secondary);color:var(--text-secondary);border-radius:4px}.warning-message{font-size:12px;margin:0 0 6px}.warning-suggestion{font-size:11px;color:var(--text-secondary);margin:0}.bottleneck-list{display:flex;flex-direction:column;gap:8px}.bottleneck-item{padding:10px 12px;background:var(--bg-primary);border-radius:8px}.bottleneck-item.critical{border:1px solid #ef4444;background:#ef44440d}.bn-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.bn-rank{font-size:10px;color:var(--text-secondary)}.bn-process{font-size:12px;font-weight:500;flex:1}.bn-badge{padding:2px 6px;font-size:9px;font-weight:600;background:#ef4444;color:#fff;border-radius:4px}.bn-utilization{display:flex;align-items:center;gap:8px}.utilization-bar{flex:1;height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden}.utilization-fill{height:100%;background:linear-gradient(90deg,#10b981,#f59e0b,#ef4444);border-radius:3px;transition:width .3s}.utilization-text{font-size:11px;font-weight:600;min-width:40px;text-align:right}.recommendation-box{padding:12px;background:var(--bg-primary);border-radius:8px}.rec-status{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:6px;font-weight:600;margin-bottom:12px}.rec-status.success{background:#10b98126;color:#10b981}.rec-status.danger{background:#ef444426;color:#ef4444}.rec-details{display:flex;flex-direction:column;gap:8px}.rec-item{display:flex;justify-content:space-between}.rec-item .label{font-size:12px;color:var(--text-secondary)}.rec-item .value{font-size:12px;font-weight:500}.scenario-panel{background:var(--panel);border-top:1px solid var(--border);transition:max-height .3s ease;flex-shrink:0;overflow:hidden}.scenario-panel.collapsed{max-height:40px}.scenario-panel.expanded{max-height:200px}.scenario-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:10px 20px;background:var(--bg-secondary);border:none;font-size:13px;font-weight:500;color:var(--text-primary);cursor:pointer;text-align:left}.scenario-toggle:hover{background:var(--bg-tertiary)}.scenario-content{padding:12px 20px;overflow-x:auto;overflow-y:hidden;max-height:160px}.scenario-list{display:flex;gap:12px}.scenario-card{min-width:200px;padding:12px 16px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.scenario-card:hover{border-color:var(--primary)}.scenario-card.selected{border-color:var(--primary);background:#3b82f61a}.scenario-card.baseline{border-color:#10b981}.scenario-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.scenario-name{font-size:13px;font-weight:600}.baseline-badge{padding:2px 6px;font-size:9px;font-weight:600;background:#10b981;color:#fff;border-radius:4px}.scenario-metrics{display:flex;gap:12px;margin-bottom:8px}.scenario-metrics .metric{display:flex;flex-direction:column}.metric-label{font-size:10px;color:var(--text-secondary)}.metric-value{font-size:12px;font-weight:500}.scenario-desc{font-size:11px;color:var(--text-secondary)}.scenario-add-btn{min-width:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;background:transparent;border:2px dashed var(--border);border-radius:8px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .2s}.scenario-add-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.scenario-add-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 1400px){.sim-content{grid-template-columns:minmax(240px,260px) 1fr minmax(240px,280px)}.panel-section{padding:12px}.kpi-grid{grid-template-columns:1fr}}@media (max-width: 1200px){.sim-content{grid-template-columns:1fr;grid-template-rows:auto 1fr}.input-panel,.result-panel{display:none}.sim-canvas{grid-column:1}.sim-header{flex-wrap:wrap;gap:12px}}@media (min-width: 900px) and (max-width: 1199px){.sim-content{grid-template-columns:minmax(240px,260px) 1fr}.input-panel{display:flex}.result-panel{position:fixed;right:0;top:60px;bottom:180px;width:300px;z-index:100;box-shadow:-4px 0 20px #00000026;transform:translate(100%);transition:transform .3s ease}.result-panel.visible{transform:translate(0);display:flex}}@media (max-width: 600px){.sim-header{padding:10px 12px}.header-title h1{font-size:14px}.sim-btn{padding:6px 12px;font-size:12px}.gantt-process-col{width:80px;min-width:80px;padding:6px 8px}.gantt-process-col .process-name{font-size:11px}.gantt-day{width:60px;min-width:60px}}.sim-cutting-optimizer{display:flex;flex-direction:column;height:100vh;background:var(--bg-base, #eef2f6);overflow:hidden;box-sizing:border-box}.optimizer-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--glass-border, rgba(255, 255, 255, .3));flex-shrink:0}.header-title{display:flex;align-items:center;gap:12px}.header-title h1{margin:0;font-size:22px;font-weight:600;color:var(--text-primary, #1e293b)}.header-title svg{color:var(--accent, #3b82f6)}.lab-badge{display:inline-flex;align-items:center;padding:4px 10px;background:linear-gradient(135deg,#8b5cf6,#a855f7);color:#fff;font-size:11px;font-weight:700;border-radius:6px;letter-spacing:.5px;text-transform:uppercase}.header-actions{display:flex;gap:10px}.btn-primary{display:flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,var(--accent, #3b82f6),#2563eb);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);border:1px solid var(--border, #e2e8f0);border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover:not(:disabled){border-color:var(--accent, #3b82f6);color:var(--accent, #3b82f6)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s ease}.btn-icon:hover:not(:disabled){background:var(--accent, #3b82f6);color:#fff;border-color:var(--accent, #3b82f6)}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.btn-icon-sm{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary, #94a3b8);cursor:pointer;transition:all .2s ease}.btn-icon-sm:hover{background:#ef44441a;color:var(--error, #ef4444)}.btn-text{background:none;border:none;color:var(--accent, #3b82f6);font-size:13px;font-weight:500;cursor:pointer;padding:4px 8px}.btn-text:hover{text-decoration:underline}.btn-add-part{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;background:var(--bg-secondary, #f8fafc);border:1px dashed var(--border, #e2e8f0);border-radius:8px;color:var(--accent, #3b82f6);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-add-part:hover{background:#3b82f61a;border-color:var(--accent, #3b82f6)}.optimizer-content{display:flex;flex:1;min-height:0;padding:16px;gap:16px}.input-panel{width:320px;flex-shrink:0;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.canvas-panel{flex:1;display:flex;flex-direction:column;gap:12px;min-width:0}.pattern-navigator{display:flex;gap:8px;padding:12px 16px;background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:12px;overflow-x:auto;flex-shrink:0}.pattern-thumb{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:70px;padding:8px 12px;background:var(--panel, #ffffff);border:2px solid var(--border, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .2s ease}.pattern-thumb:hover{border-color:var(--accent, #3b82f6)}.pattern-thumb.active{border-color:var(--accent, #3b82f6);background:#3b82f61a}.thumb-number{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.thumb-efficiency{font-size:11px;color:var(--text-secondary, #64748b)}.canvas-container{flex:1;display:flex;align-items:center;justify-content:center;background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:16px;overflow:hidden;min-height:300px}.canvas-wrapper{display:flex;align-items:center;justify-content:center;padding:20px}.pattern-svg{filter:drop-shadow(0 4px 6px rgba(0,0,0,.1))}.canvas-empty{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--text-secondary, #94a3b8)}.canvas-empty svg{opacity:.5}.canvas-empty p{margin:0;font-size:14px}.canvas-controls{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px;background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:12px;flex-shrink:0}.pattern-indicator{font-size:14px;font-weight:500;color:var(--text-primary, #1e293b);min-width:140px;text-align:center}.zoom-controls{display:flex;align-items:center;gap:8px;margin-left:24px;padding-left:24px;border-left:1px solid var(--border, #e2e8f0)}.zoom-level{font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);min-width:50px;text-align:center}.result-panel{width:280px;flex-shrink:0;display:flex;flex-direction:column;overflow-y:auto}.panel-section{background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:16px;padding:16px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-title{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.section-header .section-title{margin:0}.section-actions{display:flex;gap:8px}.form-group{margin-bottom:12px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary, #64748b);margin-bottom:6px}.form-select,.form-input{width:100%;padding:10px 12px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;font-size:14px;color:var(--text-primary, #1e293b);transition:border-color .2s ease;box-sizing:border-box}.form-select:focus,.form-input:focus{outline:none;border-color:var(--accent, #3b82f6)}.form-row{display:flex;gap:8px;margin-bottom:8px}.form-row .form-input{flex:1}.checkbox-group label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-primary, #1e293b);cursor:pointer}.checkbox-group input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent, #3b82f6)}.sheet-info{display:flex;flex-direction:column;gap:4px;padding:10px;background:var(--bg-secondary, #f8fafc);border-radius:8px;margin-top:12px}.sheet-info span{font-size:12px;color:var(--text-secondary, #64748b)}.sheet-info span:first-child{font-weight:500;color:var(--text-primary, #1e293b)}.settings-form{padding-top:12px;border-top:1px solid var(--border, #e2e8f0);margin-top:12px}.parts-section{flex:1;display:flex;flex-direction:column;min-height:0}.parts-list{flex:1;margin-bottom:12px}.parts-empty{display:flex;align-items:center;justify-content:center;padding:24px;color:var(--text-secondary, #94a3b8);font-size:13px}.part-item{display:flex;align-items:center;gap:10px;padding:10px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;margin-bottom:8px}.part-item:last-child{margin-bottom:0}.part-color{width:8px;height:32px;border-radius:4px;flex-shrink:0}.part-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.part-label{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.part-size{font-size:12px;color:var(--text-secondary, #64748b)}.add-part-form{padding-top:12px;border-top:1px solid var(--border, #e2e8f0)}.parts-summary{display:flex;justify-content:space-between;padding:10px;background:var(--bg-secondary, #f8fafc);border-radius:8px;margin-top:12px}.parts-summary span{font-size:12px;font-weight:500;color:var(--text-primary, #1e293b)}.parts-actions{margin-top:10px;display:flex;justify-content:flex-end}.compare-results{margin-top:12px;display:flex;flex-direction:column;gap:10px}.compare-card{border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;background:#f8fafc}.compare-card.best{border-color:#38bdf8;background:#ecfeff}.compare-header{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;color:#0f172a;margin-bottom:8px}.compare-badge{background:#38bdf8;color:#0f172a;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700}.compare-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;font-size:11px;color:#334155;margin-bottom:8px}.mix-scenarios{margin-top:12px;padding:10px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.mix-scenarios h4{margin:0 0 8px;font-size:12px;color:#0f172a}.mix-scenario-list{display:flex;flex-direction:column;gap:8px}.mix-scenario-card{border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:8px 10px;text-align:left;cursor:pointer}.mix-scenario-card.active{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.mix-scenario-header{display:flex;justify-content:space-between;font-size:11px;color:#1e293b;margin-bottom:6px}.mix-scenario-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 6px;font-size:10px;color:#475569}.result-empty{display:flex;align-items:center;justify-content:center;padding:32px;color:var(--text-secondary, #94a3b8);font-size:13px;text-align:center}.result-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.stat-item{display:flex;flex-direction:column;gap:4px;padding:10px;background:var(--bg-secondary, #f8fafc);border-radius:8px}.stat-label{font-size:11px;color:var(--text-secondary, #64748b)}.stat-value{font-size:15px;font-weight:600;color:var(--text-primary, #1e293b)}.stat-value.loss{color:var(--warning, #f59e0b)}.result-highlight{margin-bottom:16px}.highlight-item{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:12px;margin-bottom:10px}.highlight-item:last-child{margin-bottom:0}.highlight-item.loss-rate{background:linear-gradient(135deg,#f59e0b1a,#eab3081a);border:1px solid rgba(245,158,11,.3)}.highlight-item.efficiency{background:linear-gradient(135deg,#10b9811a,#0596691a);border:1px solid rgba(16,185,129,.3)}.highlight-label{font-size:12px;font-weight:500;color:var(--text-secondary, #64748b)}.highlight-value{font-size:28px;font-weight:700}.loss-rate .highlight-value{color:var(--warning, #f59e0b)}.efficiency .highlight-value{color:var(--success, #10b981)}.efficiency-bar{height:8px;background:var(--border, #e2e8f0);border-radius:4px;overflow:hidden;margin-top:4px}.efficiency-fill{height:100%;background:linear-gradient(90deg,var(--success, #10b981),#059669);border-radius:4px;transition:width .5s ease}.placement-status{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--bg-secondary, #f8fafc);border-radius:8px;margin-bottom:12px}.status-label{font-size:13px;color:var(--text-secondary, #64748b)}.status-value{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.unplaced-warning{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;margin-bottom:12px}.warning-icon{font-size:16px}.unplaced-warning span:last-child{font-size:12px;color:var(--error, #ef4444)}.selected-pattern-info{padding:12px;background:var(--bg-secondary, #f8fafc);border-radius:8px;margin-bottom:12px}.selected-pattern-info h4{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text-primary, #1e293b)}.pattern-stats{display:flex;gap:16px}.pattern-stats span{font-size:12px;color:var(--text-secondary, #64748b)}.result-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border, #e2e8f0)}.result-actions .btn-secondary{justify-content:center}@media (max-width: 1200px){.input-panel{width:280px}.result-panel{width:240px}}@media (max-width: 992px){.optimizer-content{flex-direction:column}.input-panel,.result-panel{width:100%}.canvas-panel{min-height:400px}}.input-panel::-webkit-scrollbar,.result-panel::-webkit-scrollbar,.parts-list::-webkit-scrollbar{width:6px}.input-panel::-webkit-scrollbar-track,.result-panel::-webkit-scrollbar-track,.parts-list::-webkit-scrollbar-track{background:transparent}.input-panel::-webkit-scrollbar-thumb,.result-panel::-webkit-scrollbar-thumb,.parts-list::-webkit-scrollbar-thumb{background:var(--border, #e2e8f0);border-radius:3px}.input-panel::-webkit-scrollbar-thumb:hover,.result-panel::-webkit-scrollbar-thumb:hover,.parts-list::-webkit-scrollbar-thumb:hover{background:var(--text-secondary, #94a3b8)}.fsm-root{--fsm-glass-bg: rgba(255, 255, 255, .65);--fsm-glass-bg-hover: rgba(255, 255, 255, .75);--fsm-glass-border: rgba(255, 255, 255, .3);--fsm-glass-shadow: 0 8px 32px rgba(31, 38, 135, .1);--fsm-glass-blur: blur(12px);--fsm-gradient-primary: linear-gradient(135deg, #8b5cf6 0%, #6366f1 100%);--fsm-gradient-success: linear-gradient(135deg, #10b981 0%, #34d399 100%);--fsm-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);--fsm-gradient-danger: linear-gradient(135deg, #ef4444 0%, #f87171 100%);--fsm-gradient-info: linear-gradient(135deg, #06b6d4 0%, #3b82f6 100%);--fsm-card-radius: 16px;--fsm-card-padding: 20px;--fsm-transition-fast: .15s ease;--fsm-transition-normal: .25s ease;min-height:100%;padding:24px;background:linear-gradient(135deg,#f0f4ff,#e8f4f8,#fdf4ff)}.fsm-dashboard-compact{height:100vh;overflow:hidden;display:flex;flex-direction:column}.fsm-dashboard-compact .fsm-header{margin-bottom:16px}.fsm-dashboard-body{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0;overflow:hidden}.fsm-dashboard-compact .fsm-kpi-grid{margin-bottom:0}.fsm-dashboard-compact .fsm-dashboard-grid{margin-bottom:0;min-height:0}.fsm-dashboard-compact .fsm-dashboard-grid .fsm-card{min-height:0}.fsm-dashboard-compact .fsm-urgent-list,.fsm-dashboard-compact .fsm-tech-list,.fsm-dashboard-compact .fsm-table-wrapper{max-height:220px;overflow-y:auto;overflow-x:hidden}.fsm-table-wrapper::-webkit-scrollbar,.fsm-urgent-list::-webkit-scrollbar,.fsm-tech-list::-webkit-scrollbar{display:none}.fsm-table-wrapper,.fsm-urgent-list,.fsm-tech-list{-ms-overflow-style:none;scrollbar-width:none}[data-theme=dark] .fsm-root,[data-theme=dark].fsm-root{--fsm-glass-bg: rgba(30, 41, 59, .7);--fsm-glass-bg-hover: rgba(30, 41, 59, .85);--fsm-glass-border: rgba(255, 255, 255, .1);--fsm-glass-shadow: 0 8px 32px rgba(0, 0, 0, .3);--fsm-urgent-bg: rgba(239, 68, 68, .15);--fsm-urgent-bg-hover: rgba(239, 68, 68, .25);background:linear-gradient(135deg,#0f172a,#1e293b)}.fsm-root{--fsm-urgent-bg: #fef2f2;--fsm-urgent-bg-hover: #fee2e2}.fsm-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.fsm-header__title{font-size:24px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:12px}.fsm-header__title-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--fsm-gradient-primary);color:#fff}.fsm-header__actions{display:flex;gap:12px}.fsm-card{background:var(--fsm-glass-bg);backdrop-filter:var(--fsm-glass-blur);-webkit-backdrop-filter:var(--fsm-glass-blur);border:1px solid var(--fsm-glass-border);border-radius:var(--fsm-card-radius);box-shadow:var(--fsm-glass-shadow);padding:var(--fsm-card-padding);transition:transform var(--fsm-transition-normal),box-shadow var(--fsm-transition-normal);overflow:hidden}.fsm-card:hover{transform:translateY(-2px);box-shadow:0 12px 40px #1f268726}.fsm-card--flat:hover{transform:none}.fsm-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--fsm-glass-border)}.fsm-card__title{font-size:14px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.fsm-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.fsm-kpi-card{background:var(--fsm-glass-bg);backdrop-filter:var(--fsm-glass-blur);-webkit-backdrop-filter:var(--fsm-glass-blur);border:1px solid var(--fsm-glass-border);border-radius:14px;padding:16px;position:relative;overflow:hidden;transition:transform var(--fsm-transition-normal),box-shadow var(--fsm-transition-normal)}.fsm-kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--fsm-gradient-primary);opacity:0;transition:opacity var(--fsm-transition-normal)}.fsm-kpi-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px #1f26872e}.fsm-kpi-card:hover:before{opacity:1}.fsm-kpi-card--success:before{background:var(--fsm-gradient-success)}.fsm-kpi-card--warning:before{background:var(--fsm-gradient-warning)}.fsm-kpi-card--danger:before{background:var(--fsm-gradient-danger)}.fsm-kpi-card--info:before{background:var(--fsm-gradient-info)}.fsm-kpi-card__icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;background:var(--fsm-gradient-primary);color:#fff}.fsm-kpi-card__icon--success{background:var(--fsm-gradient-success)}.fsm-kpi-card__icon--warning{background:var(--fsm-gradient-warning)}.fsm-kpi-card__icon--danger{background:var(--fsm-gradient-danger)}.fsm-kpi-card__icon--info{background:var(--fsm-gradient-info)}.fsm-kpi-card__label{font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.fsm-kpi-card__value{font-size:28px;font-weight:700;color:var(--text-primary);line-height:1.2}.fsm-kpi-card__unit{font-size:14px;font-weight:500;color:var(--text-secondary);margin-left:4px}.fsm-kpi-card__trend{display:flex;align-items:center;gap:4px;margin-top:8px;font-size:12px;font-weight:500}.fsm-kpi-card__trend--up{color:#10b981}.fsm-kpi-card__trend--down{color:#ef4444}.fsm-pipeline{display:flex;gap:28px;margin-bottom:24px;overflow-x:auto;padding:8px 4px 12px;align-items:stretch}.fsm-pipeline__step{flex:1;min-width:92px;background:var(--fsm-glass-bg);-webkit-backdrop-filter:var(--fsm-glass-blur);backdrop-filter:var(--fsm-glass-blur);border:1px solid var(--fsm-glass-border);padding:12px 8px;text-align:center;cursor:pointer;transition:all var(--fsm-transition-fast);display:grid;gap:6px;justify-items:center;position:relative}.fsm-pipeline__step:first-child{border-radius:12px 0 0 12px}.fsm-pipeline__step:last-child{border-radius:0 12px 12px 0}.fsm-pipeline__step:hover{background:var(--fsm-glass-bg-hover);z-index:1}.fsm-pipeline__step:after{content:">";position:absolute;right:-10px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:11px;opacity:.6}.fsm-pipeline__step:last-child:after{display:none}.fsm-pipeline__step--active{background:linear-gradient(135deg,#3b82f62e,#6366f12e);border-color:#3b82f673;box-shadow:0 10px 22px #3b82f62e}.fsm-pipeline__step--active .fsm-pipeline__step-icon{background:#3b82f633;color:#1d4ed8}.fsm-pipeline__step--active .fsm-pipeline__step-name{color:#1e3a8a}.fsm-pipeline__step--active .fsm-pipeline__step-count{color:#1d4ed8}.fsm-pipeline__step-name{font-size:11px;font-weight:500;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fsm-pipeline__step-count{font-size:18px;font-weight:700}.fsm-pipeline__step-icon{width:28px;height:28px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#3b82f61f;color:var(--text-primary)}.fsm-pipeline__stage{position:relative;display:flex;flex-direction:column;gap:8px;padding:10px 12px 12px;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.fsm-pipeline__stage-label{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding-left:4px}.fsm-pipeline__stage-steps{display:grid;grid-auto-flow:column;gap:8px}.fsm-pipeline__stage:not(:last-child):after{content:"";position:absolute;right:-20px;top:50%;width:16px;height:2px;background:linear-gradient(90deg,#94a3b833,#94a3b8b3)}.fsm-pipeline__stage:not(:last-child):before{content:"";position:absolute;right:-18px;top:calc(50% - 3px);border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:6px solid rgba(148,163,184,.7)}.fsm-workflow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:center}.fsm-workflow__item{position:relative;display:grid;gap:6px;padding:12px;border-radius:12px;background:var(--fsm-glass-bg);border:1px solid var(--fsm-glass-border);text-align:center}.fsm-workflow__label{font-size:12px;font-weight:600;color:var(--text-secondary)}.fsm-workflow__count{font-size:18px;font-weight:700;color:var(--text-primary)}.fsm-workflow__unit{font-size:11px;font-weight:500;margin-left:4px;color:var(--text-secondary)}.fsm-workflow__arrow{position:absolute;right:-10px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:14px}@media (max-width: 1200px){.fsm-workflow{grid-template-columns:repeat(2,minmax(0,1fr))}.fsm-workflow__arrow{display:none}}.fsm-table-wrapper{overflow:hidden}.fsm-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.fsm-table th{text-align:left;padding:12px 10px;font-weight:600;color:var(--text-secondary);border-bottom:2px solid var(--fsm-glass-border);background:#00000005;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fsm-table th:nth-child(1){width:12%}.fsm-table th:nth-child(2){width:22%}.fsm-table th:nth-child(3){width:18%}.fsm-table th:nth-child(4){width:10%}.fsm-table th:nth-child(5){width:12%}.fsm-table th:nth-child(6){width:14%}.fsm-table th:nth-child(7){width:12%}.fsm-table td{padding:12px 10px;border-bottom:1px solid var(--fsm-glass-border);vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fsm-table tr:hover td{background:var(--fsm-glass-bg-hover)}.fsm-table__wo-number{font-weight:600;color:var(--primary);cursor:pointer}.fsm-table__wo-number:hover{text-decoration:underline}.fsm-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.fsm-status-badge--request{background:#eff6ff;color:#2563eb}.fsm-status-badge--dispatch{background:#fef3c7;color:#d97706}.fsm-status-badge--execution{background:#ecfdf5;color:#059669}.fsm-status-badge--completion{background:#f3e8ff;color:#7c3aed}.fsm-priority-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600}.fsm-priority-badge--critical{background:#fef2f2;color:#dc2626}.fsm-priority-badge--high{background:#fff7ed;color:#ea580c}.fsm-priority-badge--medium{background:#eff6ff;color:#2563eb}.fsm-priority-badge--low{background:#f0fdf4;color:#16a34a}.fsm-sla-indicator{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500}.fsm-sla-indicator__dot{width:8px;height:8px;border-radius:50%}.fsm-sla-indicator--on-track .fsm-sla-indicator__dot{background:#10b981}.fsm-sla-indicator--at-risk .fsm-sla-indicator__dot{background:#f59e0b;animation:pulse 1.5s infinite}.fsm-sla-indicator--breached .fsm-sla-indicator__dot{background:#ef4444}.fsm-tech-list{display:flex;flex-direction:column;gap:8px}.fsm-tech-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;background:#00000005;transition:background var(--fsm-transition-fast)}.fsm-tech-item:hover{background:var(--fsm-glass-bg-hover)}.fsm-tech-item__avatar{width:40px;height:40px;border-radius:50%;background:var(--fsm-gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.fsm-tech-item__info{flex:1}.fsm-tech-item__name{font-weight:600;color:var(--text-primary);margin-bottom:2px}.fsm-tech-item__location{font-size:12px;color:var(--text-secondary)}.fsm-tech-item__status{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:500}.fsm-tech-item__status--available{background:#ecfdf5;color:#059669}.fsm-tech-item__status--assigned{background:#eff6ff;color:#2563eb}.fsm-tech-item__status--en-route{background:#fef3c7;color:#d97706}.fsm-tech-item__status--on-site{background:#f3e8ff;color:#7c3aed}.fsm-tech-item__status--off-duty{background:#f1f5f9;color:#64748b}.fsm-dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin-bottom:24px}.fsm-dashboard-grid--equal{grid-template-columns:1fr 1fr}@media (max-width: 1200px){.fsm-dashboard-grid{grid-template-columns:1fr}}.fsm-urgent-list{display:flex;flex-direction:column;gap:8px}.fsm-urgent-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;background:var(--fsm-urgent-bg);border-left:4px solid #ef4444;cursor:pointer;transition:all var(--fsm-transition-fast)}.fsm-urgent-item:hover{background:var(--fsm-urgent-bg-hover);transform:translate(4px)}.fsm-urgent-item__info{flex:1}.fsm-urgent-item__title{font-weight:600;color:var(--text-primary);margin-bottom:2px}.fsm-urgent-item__customer{font-size:12px;color:var(--text-secondary)}.fsm-urgent-item__time{font-size:11px;color:#ef4444;font-weight:500}.fsm-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--text-secondary)}.fsm-empty-state__icon{width:64px;height:64px;border-radius:50%;background:var(--fsm-glass-bg);display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--text-secondary)}.fsm-empty-state__message{font-size:14px;text-align:center}.fsm-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--fsm-transition-fast)}.fsm-btn--primary{background:var(--fsm-gradient-primary);color:#fff}.fsm-btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #8b5cf64d}.fsm-btn--secondary{background:var(--fsm-glass-bg);border:1px solid var(--fsm-glass-border);color:var(--text-primary)}.fsm-btn--secondary:hover{background:var(--fsm-glass-bg-hover)}.fsm-tier-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600}.fsm-tier-badge--basic{background:#f1f5f9;color:#64748b}.fsm-tier-badge--standard{background:#eff6ff;color:#2563eb}.fsm-tier-badge--premium{background:#f3e8ff;color:#7c3aed}.fsm-detail-panel{background:var(--fsm-glass-bg);-webkit-backdrop-filter:var(--fsm-glass-blur);backdrop-filter:var(--fsm-glass-blur);border-left:1px solid var(--fsm-glass-border);height:100%;overflow-y:auto}.fsm-detail-panel__header{padding:20px;border-bottom:1px solid var(--fsm-glass-border);display:flex;justify-content:space-between;align-items:flex-start}.fsm-detail-panel__content{padding:20px}.fsm-detail-section{margin-bottom:24px}.fsm-detail-section__title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.fsm-detail-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.fsm-detail-field__label{font-size:11px;color:var(--text-secondary)}.fsm-detail-field__value{font-size:14px;font-weight:500;color:var(--text-primary)}.fsm-timeline{position:relative;padding-left:24px}.fsm-timeline:before{content:"";position:absolute;left:7px;top:0;bottom:0;width:2px;background:var(--fsm-glass-border)}.fsm-timeline__item{position:relative;padding-bottom:16px}.fsm-timeline__item:last-child{padding-bottom:0}.fsm-timeline__dot{position:absolute;left:-20px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--primary)}.fsm-timeline__item--active .fsm-timeline__dot{background:var(--primary)}.fsm-timeline__content{padding-left:8px}.fsm-timeline__status{font-weight:600;color:var(--text-primary);margin-bottom:2px}.fsm-timeline__time{font-size:11px;color:var(--text-secondary)}.fsm-timeline__remarks{font-size:12px;color:var(--text-secondary);margin-top:4px;font-style:italic}.fsm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.fsm-modal{background:var(--panel, #fff);border-radius:16px;box-shadow:0 24px 80px #0003;max-width:600px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.fsm-modal--lg{max-width:720px}.fsm-modal__header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.fsm-modal__title{font-size:18px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:10px;margin:0}.fsm-modal__close{width:36px;height:36px;border:none;background:transparent;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .15s ease}.fsm-modal__close:hover{background:var(--bg-secondary);color:var(--text-primary)}.fsm-modal__body{flex:1;overflow-y:auto;padding:24px}.fsm-modal__footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border);background:var(--bg-secondary)}.fsm-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.fsm-form-group{display:flex;flex-direction:column;gap:6px}.fsm-form-group--full{grid-column:1 / -1}.fsm-form-label{font-size:13px;font-weight:500;color:var(--text-primary)}.fsm-form-required{color:#ef4444}.fsm-form-input,.fsm-form-select{padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--panel);color:var(--text-primary);transition:border-color .15s ease,box-shadow .15s ease}.fsm-form-input:focus,.fsm-form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.fsm-form-input--error,.fsm-form-select--error{border-color:#ef4444}.fsm-form-input--error:focus,.fsm-form-select--error:focus{box-shadow:0 0 0 3px #ef444426}.fsm-form-input[readonly]{background:var(--bg-secondary);color:var(--text-secondary)}.fsm-form-error{font-size:12px;color:#ef4444}.fsm-form-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer}.fsm-form-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.fsm-form-checkbox__label{font-size:14px;color:var(--text-primary)}.fsm-btn--ghost{background:transparent;border:none;padding:8px;color:var(--text-secondary)}.fsm-btn--ghost:hover{background:var(--bg-secondary);color:var(--text-primary)}.fsm-btn--sm{padding:6px 12px;font-size:12px}.fsm-btn--danger{color:#ef4444}.fsm-btn--danger:hover{background:#fef2f2}.g1-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:none;border-radius:50%;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 12px #00000026;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-primary);transition:all var(--fsm-transition-fast);z-index:10}.g1-nav-btn:hover{background:#fff;box-shadow:0 6px 20px #0003;transform:translateY(-50%) scale(1.1)}.g1-nav-btn:active{transform:translateY(-50%) scale(.95)}.g1-nav-btn--prev{left:16px}.g1-nav-btn--next{right:16px}[data-theme=dark] .g1-nav-btn{background:#1e293be6;color:#fff}[data-theme=dark] .g1-nav-btn:hover{background:#334155}.g1-parts-panel{background:var(--fsm-glass-bg);-webkit-backdrop-filter:var(--fsm-glass-blur);backdrop-filter:var(--fsm-glass-blur);border-left:1px solid var(--fsm-glass-border);display:flex;flex-direction:column;height:100%}.g1-parts-header{padding:16px;border-bottom:1px solid var(--fsm-glass-border)}.g1-parts-header__title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:12px;display:flex;align-items:center;gap:8px}.g1-parts-search{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:12px;background:var(--panel);color:var(--text-primary)}.g1-parts-search:focus{outline:none;border-color:var(--primary)}.g1-parts-list{flex:1;overflow-y:auto;padding:8px}.g1-parts-category{margin-bottom:8px}.g1-parts-category__header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-secondary);border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;color:var(--text-primary);transition:background var(--fsm-transition-fast)}.g1-parts-category__header:hover{background:var(--fsm-glass-bg-hover)}.g1-parts-category__count{font-size:10px;font-weight:500;color:var(--text-secondary);background:var(--border);padding:2px 6px;border-radius:10px}.g1-parts-item{display:flex;align-items:center;gap:8px;padding:8px 12px;margin:4px 0;border-radius:6px;font-size:11px;color:var(--text-secondary);transition:all var(--fsm-transition-fast)}.g1-parts-item:hover{background:var(--fsm-glass-bg-hover);color:var(--text-primary)}.g1-parts-item--critical{border-left:3px solid #f59e0b}.g1-parts-item--out-of-stock{background:#ef44441a}.g1-parts-item__code{font-weight:600;color:var(--primary);min-width:70px}.g1-parts-item__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.g1-parts-item__stock{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:500}.g1-parts-item__stock--ok{background:#ecfdf5;color:#059669}.g1-parts-item__stock--low{background:#fef3c7;color:#d97706}.g1-parts-item__stock--out{background:#fef2f2;color:#dc2626}.g1-parts-footer{padding:12px 16px;border-top:1px solid var(--fsm-glass-border);display:flex;justify-content:space-between;font-size:11px;color:var(--text-secondary)}.g1-parts-footer__stat{display:flex;align-items:center;gap:4px}.g1-parts-footer__stat--warning{color:#f59e0b}.g1-parts-footer__stat--danger{color:#ef4444}.dispatch-kpi-strip{display:flex;gap:24px;padding:12px 20px;margin-bottom:16px;background:var(--fsm-glass-bg);-webkit-backdrop-filter:var(--fsm-glass-blur);backdrop-filter:var(--fsm-glass-blur);border:1px solid var(--fsm-glass-border);border-radius:12px;flex-wrap:wrap}.dispatch-kpi-item{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text-primary)}.dispatch-container{display:flex;gap:16px;height:calc(100vh - 260px);min-height:500px}.dispatch-panel{background:var(--fsm-glass-bg);-webkit-backdrop-filter:var(--fsm-glass-blur);backdrop-filter:var(--fsm-glass-blur);border:1px solid var(--fsm-glass-border);border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.dispatch-panel--left{width:280px;flex-shrink:0}.dispatch-panel--center{flex:1;min-width:0}.dispatch-panel--right{width:570px;flex-shrink:0}.dispatch-panel__header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--fsm-glass-border);background:#00000005}.dispatch-panel__header h3{font-size:14px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px;margin:0}.dispatch-panel__content{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.dispatch-wo-card{padding:12px;border-radius:8px;background:var(--fsm-glass-bg-hover);border:1px solid var(--fsm-glass-border);border-left:4px solid var(--primary);cursor:grab;transition:all var(--fsm-transition-fast)}.dispatch-wo-card:hover{transform:translate(4px);box-shadow:0 4px 12px #0000001a}.dispatch-wo-card.selected{background:#8b5cf61a;border-color:var(--primary)}.dispatch-wo-card:active{cursor:grabbing}.dispatch-wo-card__header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.dispatch-wo-card__header .drag-handle{color:var(--text-secondary)}.dispatch-wo-card__header .wo-number{font-size:12px;font-weight:600;color:var(--primary)}.dispatch-wo-card__header .priority-badge{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:600}.dispatch-wo-card__checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--primary);flex-shrink:0}.dispatch-wo-card__detail-btn{margin-left:auto;width:28px;height:28px;border:none;border-radius:6px;background:var(--primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--fsm-transition-fast);flex-shrink:0}.dispatch-wo-card__detail-btn:hover{background:var(--primary-hover);transform:scale(1.05)}.dispatch-wo-card__detail-btn:active{transform:scale(.95)}.dispatch-wo-card__title{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:6px;line-height:1.3}.dispatch-wo-card__info{font-size:11px;color:var(--text-secondary);display:flex;align-items:center;gap:4px;margin-bottom:6px}.dispatch-wo-card__sla{font-size:10px;padding:4px 8px;border-radius:4px;font-weight:500}.dispatch-schedule-grid{flex:1;overflow:auto;padding:8px}.dispatch-schedule-grid table{width:100%;min-width:700px;border-collapse:collapse;font-size:12px}.dispatch-schedule-grid th,.dispatch-schedule-grid td{border:1px solid var(--fsm-glass-border);padding:8px;text-align:center;vertical-align:middle}.dispatch-schedule-grid th{background:#00000008;font-weight:600;color:var(--text-secondary);position:sticky;top:0;z-index:1}.dispatch-schedule-grid th.lunch,.dispatch-schedule-grid td.lunch{background:#f59e0b1a}.dispatch-schedule-grid th.tech-col,.dispatch-schedule-grid td.tech-col{text-align:left;position:sticky;left:0;background:var(--fsm-glass-bg);z-index:2;min-width:140px}.dispatch-schedule-grid th.tech-col{z-index:3}.dispatch-schedule-grid .tech-info{display:flex;align-items:center;gap:10px}.dispatch-schedule-grid .tech-avatar{width:32px;height:32px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;flex-shrink:0}.dispatch-schedule-grid .tech-name{font-weight:600;font-size:12px;color:var(--text-primary)}.dispatch-schedule-grid .tech-status{font-size:10px;font-weight:500}.schedule-cell{min-width:60px;min-height:50px;vertical-align:top!important;padding:4px!important;transition:background var(--fsm-transition-fast)}.schedule-cell.available{background:#10b9810d}.schedule-cell.available:hover{background:#10b98126}.schedule-cell .lunch-label{font-size:10px;color:#d97706;font-weight:500}.schedule-wo{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border-radius:6px;padding:4px 6px;border-left:3px solid #0ea5e9;cursor:pointer;transition:all var(--fsm-transition-fast);box-shadow:0 1px 3px #0ea5e926}.schedule-wo:hover{transform:scale(1.05);background:linear-gradient(135deg,#bae6fd,#7dd3fc);box-shadow:0 3px 10px #0ea5e940}.schedule-wo__number{font-size:10px;font-weight:600;color:#0369a1}.schedule-wo__customer{font-size:9px;color:#0c4a6e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-wo--merged{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:44px}.schedule-wo__time{font-size:8px;color:var(--text-muted, #94a3b8);margin-top:2px;letter-spacing:.5px}.merged-cell{padding:2px!important}.merged-cell .schedule-wo--merged{width:100%;border-radius:6px;border-left-width:4px}.dispatch-map-container{flex:1;min-height:250px;border-radius:8px;overflow:hidden;margin:8px;background:transparent}.dispatch-map-container .leaflet-container{border-radius:8px;background:transparent}.dispatch-route-info{padding:12px;border-top:1px solid var(--fsm-glass-border);max-height:200px;overflow-y:auto}.route-summary{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--fsm-gradient-primary);color:#fff;border-radius:6px;font-size:13px;font-weight:600;margin-bottom:12px}.route-stops{display:flex;flex-direction:column;gap:6px}.route-stop{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-primary);padding:6px 8px;border-radius:4px;background:#00000005}.route-stop.depot{color:var(--text-secondary);font-style:italic}.route-stop .stop-number{width:20px;height:20px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600}.route-stop .stop-wo{margin-left:auto;font-size:10px;color:var(--text-secondary)}.route-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;color:var(--text-secondary);text-align:center}.route-empty p{margin-top:12px;font-size:12px;line-height:1.5}.dispatch-empty{display:flex;align-items:center;justify-content:center;padding:32px;color:var(--text-secondary);font-size:13px}.fsm-select{padding:6px 10px;border:1px solid var(--fsm-glass-border);border-radius:6px;font-size:12px;background:var(--panel);color:var(--text-primary);cursor:pointer}.fsm-select:focus{outline:none;border-color:var(--primary)}@media (max-width: 1400px){.dispatch-panel--right{width:320px}}@media (max-width: 1200px){.dispatch-container{flex-direction:column;height:auto}.dispatch-panel--left,.dispatch-panel--center,.dispatch-panel--right{width:100%;height:400px}.dispatch-panel--center{height:500px}}.dispatch-panel__footer{padding:12px;border-top:1px solid var(--fsm-glass-border);background:var(--panel)}.simulation-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;font-size:14px;font-weight:600;background:var(--fsm-gradient-primary);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all var(--fsm-transition-fast);box-shadow:0 4px 12px #8b5cf64d}.simulation-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #8b5cf666}.simulation-btn:active{transform:translateY(0)}.simulation-btn:disabled{background:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed;box-shadow:none;transform:none}.simulation-btn:disabled:hover{transform:none;box-shadow:none}.fsm-workflow-section{overflow:visible}.fsm-workflow-pipeline{display:flex;align-items:stretch;gap:8px;padding:8px;overflow-x:auto}.fsm-workflow-stage-group{display:flex;align-items:center;gap:8px;flex:1;min-width:200px}.fsm-workflow-stage-header{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 12px;border-radius:10px;border:2px solid;min-width:80px;text-align:center}.fsm-workflow-stage-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.fsm-workflow-stage-total{font-size:16px;font-weight:700;margin-top:2px}.fsm-workflow-steps{display:flex;align-items:center;gap:4px;flex:1}.fsm-workflow-step{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:#94a3b80d;border:1px solid rgba(148,163,184,.15);cursor:pointer;transition:all .2s ease;flex:1;min-width:90px}.fsm-workflow-step:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.fsm-workflow-step--active{background:var(--step-bg, rgba(59, 130, 246, .08));border-color:var(--step-color, #3b82f6)}.fsm-workflow-step__icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.fsm-workflow-step__content{flex:1;min-width:0}.fsm-workflow-step__count{font-size:20px;font-weight:700;line-height:1}.fsm-workflow-step__name{font-size:11px;font-weight:500;color:var(--text-secondary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fsm-workflow-step__arrow{display:flex;align-items:center;color:var(--text-secondary);opacity:.5;flex-shrink:0}.fsm-workflow-stage-arrow{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);opacity:.6;flex-shrink:0;padding:0 4px}.fsm-workflow-step--request{--step-bg: rgba(59, 130, 246, .08);--step-color: #3b82f6}.fsm-workflow-step--dispatch{--step-bg: rgba(245, 158, 11, .08);--step-color: #f59e0b}.fsm-workflow-step--execution{--step-bg: rgba(16, 185, 129, .08);--step-color: #10b981}.fsm-workflow-step--completion{--step-bg: rgba(139, 92, 246, .08);--step-color: #8b5cf6}.fsm-tech-summary{display:flex;gap:8px;font-size:12px;color:var(--text-secondary)}@media (max-width: 1400px){.fsm-workflow-pipeline{flex-wrap:wrap}.fsm-workflow-stage-group{flex:0 0 calc(50% - 8px)}.fsm-workflow-stage-arrow{display:none}}@media (max-width: 992px){.fsm-workflow-stage-group{flex:0 0 100%}.fsm-workflow-steps{flex-wrap:wrap}.fsm-workflow-step{flex:0 0 calc(50% - 4px)}}.fsm-ssot-flow{display:flex;align-items:center;justify-content:center;gap:4px;padding:12px 16px;background:linear-gradient(135deg,#8b5cf60d,#3b82f60d);border-bottom:1px solid var(--fsm-glass-border)}.fsm-ssot-flow__item{display:flex;align-items:center;gap:4px}.fsm-ssot-flow__node{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--fsm-glass-bg);border:2px solid var(--fsm-glass-border);color:var(--text-secondary);transition:all .3s ease;cursor:pointer}.fsm-ssot-flow__node--completed{background:#10b98126;border-color:#10b981;color:#10b981}.fsm-ssot-flow__node--active{background:#8b5cf626;border-color:#8b5cf6;color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf633;animation:ssot-pulse 2s ease-in-out infinite}.fsm-ssot-flow__node--completed.fsm-ssot-flow__node--active{background:#10b98126;border-color:#10b981;color:#10b981;box-shadow:0 0 0 3px #10b98133;animation:none}@keyframes ssot-pulse{0%,to{box-shadow:0 0 0 3px #8b5cf633}50%{box-shadow:0 0 0 6px #8b5cf61a}}.fsm-ssot-flow__label{font-size:11px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.fsm-ssot-flow__label--active{font-weight:600;color:#8b5cf6}.fsm-ssot-flow__connector{display:flex;align-items:center;padding:0 4px;color:var(--fsm-glass-border);transition:color .3s ease}.fsm-ssot-flow__connector--active{color:#10b981}[data-theme=dark] .fsm-ssot-flow{background:linear-gradient(135deg,#8b5cf614,#3b82f614)}[data-theme=dark] .fsm-ssot-flow__node{background:#1e293bcc}[data-theme=dark] .fsm-ssot-flow__node--completed{background:#10b98133}[data-theme=dark] .fsm-ssot-flow__node--active{background:#8b5cf633}.fsm-ssot-flow__node--selected{transform:scale(1.1);box-shadow:0 0 0 3px #8b5cf64d,0 4px 12px #8b5cf640}.fsm-ssot-flow__label--selected{color:var(--primary);font-weight:600}.fsm-sla-card{background:var(--fsm-glass-bg);border:1px solid var(--fsm-glass-border);border-radius:8px;padding:12px}.fsm-sla-card__row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:13px;border-bottom:1px solid var(--fsm-glass-border)}.fsm-sla-card__row:last-child{border-bottom:none}.fsm-sla-card__value{font-weight:600;color:var(--primary)}.fsm-sla-status{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}.fsm-sla-status--on-track{background:#10b98126;color:#10b981}.fsm-sla-status--at-risk{background:#f59e0b26;color:#f59e0b}.fsm-sla-status--breached{background:#ef444426;color:#ef4444}.fsm-request-content{background:var(--fsm-glass-bg);border:1px solid var(--fsm-glass-border);border-radius:8px;padding:12px 16px}.fsm-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.fsm-tag--info{background:#3b82f626;color:#3b82f6}.fsm-schedule-tech-card{display:flex;align-items:center;gap:12px;padding:12px;background:var(--fsm-glass-bg);border:1px solid var(--fsm-glass-border);border-radius:8px;margin-bottom:12px}.fsm-schedule-tech-info{flex:1}.fsm-schedule-tech-name{font-size:14px;font-weight:600;color:var(--text-primary)}.fsm-schedule-tech-status{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);margin-top:4px}.fsm-status-dot{width:8px;height:8px;border-radius:50%}.fsm-status-dot--available{background:#10b981}.fsm-status-dot--busy{background:#f59e0b}.fsm-status-dot--offline{background:#94a3b8}.fsm-schedule-timeline{position:relative;padding-left:16px}.fsm-schedule-timeline:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:var(--fsm-glass-border)}.fsm-schedule-item{position:relative;display:flex;gap:12px;padding:12px 0}.fsm-schedule-item:before{content:"";position:absolute;left:-14px;top:18px;width:10px;height:10px;border-radius:50%;background:var(--fsm-glass-bg);border:2px solid var(--primary)}.fsm-schedule-item--completed:before{background:#10b981;border-color:#10b981}.fsm-schedule-item__time{min-width:80px;font-size:11px;color:var(--text-secondary);padding-top:2px}.fsm-schedule-item__content{flex:1}.fsm-schedule-item__title{font-size:13px;font-weight:500;color:var(--text-primary)}.fsm-schedule-item__location{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary);margin-top:4px}.fsm-billing-card{background:linear-gradient(135deg,#8b5cf61a,#3b82f61a);border:1px solid rgba(139,92,246,.2);border-radius:12px;padding:16px}.fsm-billing-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.fsm-billing-card__number{font-size:12px;color:var(--text-secondary)}.fsm-billing-status{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600}.fsm-billing-status--draft{background:#94a3b833;color:#64748b}.fsm-billing-status--sent{background:#3b82f626;color:#3b82f6}.fsm-billing-status--paid{background:#10b98126;color:#10b981}.fsm-billing-status--overdue{background:#ef444426;color:#ef4444}.fsm-billing-card__amount{font-size:24px;font-weight:700;color:var(--primary);margin-bottom:8px}.fsm-billing-card__date{font-size:11px;color:var(--text-secondary)}.fsm-cost-breakdown{background:var(--fsm-glass-bg);border:1px solid var(--fsm-glass-border);border-radius:8px;overflow:hidden}.fsm-cost-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;border-bottom:1px solid var(--fsm-glass-border)}.fsm-cost-row:last-child{border-bottom:none}.fsm-cost-row--total{background:#8b5cf60d;font-weight:600}.fsm-cost-row--total span:last-child{color:var(--primary);font-size:15px}[data-theme=dark] .fsm-sla-card,[data-theme=dark] .fsm-request-content,[data-theme=dark] .fsm-schedule-tech-card,[data-theme=dark] .fsm-cost-breakdown{background:#1e293b99;border-color:#ffffff1a}[data-theme=dark] .fsm-billing-card{background:linear-gradient(135deg,#8b5cf626,#3b82f626);border-color:#8b5cf64d}[data-theme=dark] .fsm-schedule-timeline:before{background:#ffffff1a}[data-theme=dark] .fsm-schedule-item:before{background:#1e293bcc}[data-theme=dark] .dispatch-kpi-strip,[data-theme=dark] .dispatch-panel{background:#1e293bb3;border-color:#ffffff1a}[data-theme=dark] .dispatch-panel__header{background:#0003;border-color:#ffffff1a}[data-theme=dark] .dispatch-wo-card{background:#1e293bcc;border-color:#ffffff1a}[data-theme=dark] .dispatch-wo-card:hover{box-shadow:0 4px 12px #0000004d}[data-theme=dark] .dispatch-wo-card.selected{background:#8b5cf633;border-color:#8b5cf680}[data-theme=dark] .dispatch-schedule-grid th{background:#0000004d}[data-theme=dark] .dispatch-schedule-grid th,[data-theme=dark] .dispatch-schedule-grid td{border-color:#ffffff1a}[data-theme=dark] .dispatch-schedule-grid th.tech-col,[data-theme=dark] .dispatch-schedule-grid td.tech-col{background:#1e293be6}[data-theme=dark] .dispatch-schedule-grid th.lunch,[data-theme=dark] .dispatch-schedule-grid td.lunch{background:#f59e0b26}[data-theme=dark] .schedule-cell.available{background:#10b9811a}[data-theme=dark] .schedule-cell.available:hover{background:#10b98133}[data-theme=dark] .schedule-wo{background:linear-gradient(135deg,#0c4a6e,#075985);border-left-color:#38bdf8;box-shadow:0 1px 3px #0000004d}[data-theme=dark] .schedule-wo:hover{background:linear-gradient(135deg,#075985,#0369a1);box-shadow:0 3px 10px #38bdf84d}[data-theme=dark] .schedule-wo__number{color:#7dd3fc}[data-theme=dark] .schedule-wo__customer{color:#bae6fd}[data-theme=dark] .dispatch-route-info{border-color:#ffffff1a}[data-theme=dark] .route-stop{background:#0003}[data-theme=dark] .route-empty{color:#ffffff80}[data-theme=dark] .fsm-select{background:#1e293bcc;border-color:#ffffff1a;color:var(--text-primary)}[data-theme=dark] .fsm-select option{background:#1e293b;color:#e2e8f0}[data-theme=dark] .dispatch-map-container{border:1px solid rgba(255,255,255,.1)}[data-theme=dark] .dispatch-wo-card__sla--on_track{background:#10b98133!important;color:#6ee7b7!important;border:1px solid rgba(16,185,129,.3)}[data-theme=dark] .dispatch-wo-card__sla--at_risk{background:#f59e0b33!important;color:#fcd34d!important;border:1px solid rgba(245,158,11,.3)}[data-theme=dark] .dispatch-wo-card__sla--breached,[data-theme=dark] .priority-badge--urgent{background:#ef444433!important;color:#fca5a5!important;border:1px solid rgba(239,68,68,.3)}[data-theme=dark] .priority-badge--high{background:#f9731633!important;color:#fdba74!important;border:1px solid rgba(249,115,22,.3)}[data-theme=dark] .priority-badge--medium{background:#eab30833!important;color:#fde047!important;border:1px solid rgba(234,179,8,.3)}[data-theme=dark] .priority-badge--low{background:#3b82f633!important;color:#93c5fd!important;border:1px solid rgba(59,130,246,.3)}[data-theme=dark] .dispatch-wo-card__meta,[data-theme=dark] .dispatch-wo-card__info{color:#fff9}[data-theme=dark] .simulation-btn.fsm-btn--secondary{background:#ffffff0d;border-color:#ffffff1a;color:#fff9}[data-theme=dark] .simulation-btn.fsm-btn--secondary:hover:not(:disabled){background:#ffffff1a}.dispatch-tech-status-section{margin-top:16px;padding:16px;background:var(--panel);border-radius:12px;border:1px solid var(--border)}.dispatch-tech-status-header{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--text-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.dispatch-tech-status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.dispatch-tech-status-card{background:var(--bg-secondary);border-radius:10px;padding:12px;border:1px solid var(--border);transition:all .2s ease}.dispatch-tech-status-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.dispatch-tech-status-card--on_site{border-left:3px solid #10b981}.dispatch-tech-status-card--en_route{border-left:3px solid #3b82f6}.dispatch-tech-status-card--available{border-left:3px solid #8b5cf6}.dispatch-tech-status-card--assigned{border-left:3px solid #f59e0b}.tech-status-card__header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.tech-status-card__avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:#fff;flex-shrink:0}.tech-status-card__info{flex:1;min-width:0}.tech-status-card__name{font-weight:600;font-size:14px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tech-status-card__status{display:flex;align-items:center;gap:6px;font-size:12px;margin-top:2px}.tech-status-card__status .status-dot{width:8px;height:8px;border-radius:50%;animation:pulse 2s infinite}.tech-status-card__phone-btn{width:28px;height:28px;border-radius:50%;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);color:#3b82f6;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.tech-status-card__phone-btn:hover{background:#3b82f633}.tech-status-card__body{padding:8px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:8px}.tech-status-card__location{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);margin-bottom:6px}.tech-status-card__location span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tech-status-card__wo{display:flex;align-items:center;gap:8px;margin-bottom:6px}.tech-status-card__wo .wo-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;background:#3b82f61a;color:#3b82f6;flex-shrink:0}.tech-status-card__wo .wo-title{font-size:12px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tech-status-card__time{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.tech-status-card__available,.tech-status-card__assigned{display:flex;align-items:center;gap:8px;font-size:13px;padding:8px 0}.tech-status-card__available{color:#8b5cf6}.tech-status-card__assigned{color:#f59e0b}.tech-status-card__footer{display:flex;justify-content:flex-end}.tech-status-card__stats{display:flex;gap:12px;font-size:11px;color:var(--text-secondary)}.tech-status-card__stats span{display:flex;align-items:center;gap:4px}[data-theme=dark] .dispatch-tech-status-section{background:#1e293b99;border-color:#ffffff1a}[data-theme=dark] .dispatch-tech-status-card{background:#1e293bcc;border-color:#ffffff1a}[data-theme=dark] .dispatch-tech-status-card:hover{box-shadow:0 4px 16px #0000004d}[data-theme=dark] .tech-status-card__body{border-color:#ffffff1a}[data-theme=dark] .tech-status-card__phone-btn{background:#3b82f626;border-color:#3b82f64d}[data-theme=dark] .tech-status-card__phone-btn:hover{background:#3b82f640}[data-theme=dark] .tech-status-card__wo .wo-badge{background:#3b82f633;color:#93c5fd}[data-theme=dark] .tech-status-card__available{color:#a78bfa}[data-theme=dark] .tech-status-card__assigned{color:#fbbf24}.contract-sla-tier-box{padding:20px;border-radius:12px;margin-bottom:24px}.contract-sla-tier-box--premium{background:#fef3c7;border:2px solid #fbbf24}.contract-sla-tier-box--premium .contract-sla-tier-icon{color:#d97706}.contract-sla-tier-box--standard{background:#dbeafe;border:2px solid #3b82f6}.contract-sla-tier-box--standard .contract-sla-tier-icon{color:#2563eb}.contract-sla-tier-box--basic{background:#f1f5f9;border:2px solid #94a3b8}.contract-sla-tier-box--basic .contract-sla-tier-icon{color:#64748b}.contract-sla-tier-title{font-size:18px;font-weight:700;color:var(--text-primary)}.contract-sla-tier-subtitle{font-size:12px;color:var(--text-secondary)}.contract-service-scope{background:#f0fdf4;border-radius:10px;padding:16px;border:1px solid #bbf7d0}.contract-service-scope ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}.contract-service-scope li{font-size:13px;color:#15803d}.contract-exclusions{background:#fef3c7;border-radius:10px;padding:16px;border:1px solid #fde68a}.contract-exclusions ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}.contract-exclusions li{font-size:13px;color:#b45309}[data-theme=dark] .contract-sla-tier-box--premium{background:#fbbf2426;border-color:#fbbf2480}[data-theme=dark] .contract-sla-tier-box--premium .contract-sla-tier-icon{color:#fbbf24}[data-theme=dark] .contract-sla-tier-box--standard{background:#3b82f626;border-color:#3b82f680}[data-theme=dark] .contract-sla-tier-box--standard .contract-sla-tier-icon{color:#60a5fa}[data-theme=dark] .contract-sla-tier-box--basic{background:#94a3b826;border-color:#94a3b880}[data-theme=dark] .contract-sla-tier-box--basic .contract-sla-tier-icon{color:#94a3b8}[data-theme=dark] .contract-sla-tier-title{color:var(--text-primary)}[data-theme=dark] .contract-sla-tier-subtitle{color:var(--text-secondary)}[data-theme=dark] .contract-service-scope{background:#10b9811a;border-color:#10b9814d}[data-theme=dark] .contract-service-scope li{color:#34d399}[data-theme=dark] .contract-exclusions{background:#f59e0b1a;border-color:#f59e0b4d}[data-theme=dark] .contract-exclusions li{color:#fbbf24}.simulation-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.simulation-modal{background:var(--panel);border-radius:16px;width:100%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;overflow:hidden}.simulation-modal__header{display:flex;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.simulation-modal__header h2{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.simulation-modal__steps{display:flex;align-items:center;gap:8px;margin-left:auto;margin-right:16px;font-size:13px;color:var(--text-secondary)}.simulation-modal__steps span.active{color:var(--primary);font-weight:600}.simulation-modal__close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.simulation-modal__close:hover{background:#0000000d;color:var(--text-primary)}.simulation-modal__content{flex:1;overflow:auto;padding:20px}.simulation-step{display:flex;gap:20px;height:100%;min-height:500px}.simulation-step--settings{display:grid;grid-template-columns:1fr 360px;gap:24px}.simulation-wo-list{background:var(--bg-secondary);border-radius:12px;padding:16px;overflow:hidden;display:flex;flex-direction:column}.simulation-wo-list h3{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.simulation-wo-list h3 .total-time{font-size:12px;font-weight:500;color:var(--primary);background:#8b5cf61a;padding:4px 10px;border-radius:20px}.simulation-wo-list__items{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.simulation-wo-item{padding:12px;background:var(--panel);border-radius:8px;border:1px solid var(--border)}.simulation-wo-item__info{display:flex;align-items:center;gap:8px;margin-bottom:6px}.simulation-wo-item__info .wo-number{font-size:12px;font-weight:600;color:var(--primary)}.simulation-wo-item__info .sla-badge{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:500}.simulation-wo-item__title{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.simulation-wo-item__customer{font-size:11px;color:var(--text-secondary);display:flex;align-items:center;gap:4px;margin-bottom:8px}.simulation-wo-item__time{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.simulation-wo-item__time select{padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:12px;background:var(--panel);color:var(--text-primary);cursor:pointer}.simulation-settings{background:var(--bg-secondary);border-radius:12px;padding:20px}.simulation-settings h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.simulation-settings__group{margin-bottom:16px}.simulation-settings__group label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.simulation-settings__group select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--panel);color:var(--text-primary);cursor:pointer}.simulation-settings__group .start-location{padding:10px 12px;background:#8b5cf61a;border-radius:8px;font-size:13px;color:var(--text-primary)}.simulation-tech-info{display:flex;align-items:center;gap:12px;padding:12px;background:var(--panel);border-radius:8px;margin-bottom:16px}.simulation-tech-info .tech-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:16px}.simulation-tech-info .tech-details{flex:1}.simulation-tech-info .tech-name{font-size:14px;font-weight:600;color:var(--text-primary)}.simulation-tech-info .tech-status{font-size:11px;font-weight:500}.simulation-tech-info .tech-skills{font-size:11px;color:var(--text-secondary);margin-top:2px}.simulation-settings__checkbox{margin-bottom:12px}.simulation-settings__checkbox label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-primary);cursor:pointer}.simulation-settings__checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary)}.simulation-step--result{display:grid;grid-template-columns:360px 1fr;gap:20px}.simulation-route-list{background:var(--bg-secondary);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.simulation-route-list__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.simulation-route-list__header h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.optimize-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.optimize-btn:hover{background:var(--primary-hover)}.simulation-route-list__items{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.simulation-route-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--panel);border-radius:8px;border:1px solid var(--border);transition:all .2s}.simulation-route-item.work{cursor:grab}.simulation-route-item.work:active{cursor:grabbing}.simulation-route-item.dragging{opacity:.5;border-color:var(--primary)}.simulation-route-item .drag-handle{color:var(--text-secondary)}.simulation-route-item .route-order{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:600;flex-shrink:0}.simulation-route-item .route-info{flex:1;min-width:0}.simulation-route-item .route-customer{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.simulation-route-item .route-wo{font-size:11px;color:var(--primary);font-weight:500}.simulation-route-item .route-time{font-size:11px;color:var(--text-secondary)}.simulation-route-item .route-travel{display:flex;flex-direction:column;align-items:flex-end;font-size:10px;color:var(--text-secondary)}.simulation-route-item .skill-warning{color:#f59e0b}.simulation-map-panel{display:flex;flex-direction:column;gap:16px}.simulation-map-container{flex:1;min-height:300px;border-radius:12px;overflow:hidden;border:1px solid var(--border)}.simulation-map-container .leaflet-container{border-radius:12px}.simulation-summary{background:var(--bg-secondary);border-radius:12px;padding:16px}.simulation-summary h4{font-size:13px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.summary-item{display:flex;flex-direction:column;gap:2px}.summary-item.full-width{grid-column:span 2}.summary-item .label{font-size:11px;color:var(--text-secondary)}.summary-item .value{font-size:14px;font-weight:600;color:var(--text-primary)}.summary-item .value.highlight{color:var(--primary);font-size:16px}.lunch-notice{display:flex;align-items:center;gap:6px;margin-top:12px;padding:8px 12px;background:#f59e0b1a;border-radius:6px;font-size:12px;color:#d97706}.simulation-warnings{margin-top:12px;display:flex;flex-direction:column;gap:6px}.warning-item{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;border-radius:6px;font-size:12px}.warning-item.info{background:#3b82f61a;color:#3b82f6}.warning-item.warning{background:#f59e0b1a;color:#d97706}.warning-item.error{background:#ef44441a;color:#ef4444}.simulation-step--confirm{justify-content:center}.confirm-panel{max-width:600px;width:100%;background:var(--bg-secondary);border-radius:12px;padding:24px}.confirm-panel h3{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.confirm-tech,.confirm-date{font-size:14px;color:var(--text-primary);margin-bottom:8px}.confirm-tech strong,.confirm-date strong{color:var(--text-secondary);font-weight:500}.confirm-timeline{margin-top:20px}.confirm-timeline h4{font-size:13px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.timeline-grid{background:var(--panel);border-radius:8px;overflow:hidden;border:1px solid var(--border)}.timeline-row{display:flex;border-bottom:1px solid var(--border)}.timeline-row:last-child{border-bottom:none}.timeline-hour{width:60px;padding:8px 12px;font-size:12px;font-weight:500;color:var(--text-secondary);background:#00000005;border-right:1px solid var(--border)}.timeline-cell{flex:1;padding:8px 12px;min-height:36px}.timeline-cell.lunch{background:#f59e0b1a}.timeline-cell .lunch-label{display:flex;align-items:center;gap:4px;font-size:11px;color:#d97706}.timeline-block{padding:4px 8px;background:#8b5cf61a;border-left:3px solid var(--primary);border-radius:4px}.timeline-block .wo-num{font-size:11px;font-weight:600;color:var(--primary)}.timeline-block .customer{font-size:10px;color:var(--text-secondary);display:block}.confirm-assignments{margin-top:20px}.confirm-assignments h4{font-size:13px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.assignment-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--panel);border-radius:6px;margin-bottom:6px;font-size:13px}.assignment-item .wo-num{font-weight:600;color:var(--primary)}.assignment-item .customer{flex:1;color:var(--text-primary)}.assignment-item .time{color:var(--text-secondary);font-size:12px}.confirm-notice{display:flex;align-items:flex-start;gap:8px;margin-top:20px;padding:12px;background:#f59e0b1a;border-radius:8px;font-size:12px;color:#d97706}.simulation-modal__footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border);background:var(--bg-secondary)}.simulation-modal__footer .btn-secondary,.simulation-modal__footer .btn-primary{display:flex;align-items:center;gap:6px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.simulation-modal__footer .btn-secondary{background:var(--panel);border:1px solid var(--border);color:var(--text-primary)}.simulation-modal__footer .btn-secondary:hover{background:var(--bg-secondary)}.simulation-modal__footer .btn-primary{background:var(--primary);border:none;color:#fff}.simulation-modal__footer .btn-primary:hover:not(:disabled){background:var(--primary-hover)}.simulation-modal__footer .btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 1024px){.simulation-step--settings,.simulation-step--result{grid-template-columns:1fr}.simulation-step{min-height:auto}}[data-theme=dark] .simulation-modal-overlay{background:#000000b3}[data-theme=dark] .simulation-modal{background:#1e293b;box-shadow:0 20px 60px #00000080}[data-theme=dark] .simulation-modal__header{background:#0000004d;border-color:#ffffff1a}[data-theme=dark] .simulation-modal__close:hover{background:#ffffff1a}[data-theme=dark] .simulation-wo-list,[data-theme=dark] .simulation-settings,[data-theme=dark] .simulation-route-list,[data-theme=dark] .simulation-summary,[data-theme=dark] .confirm-panel{background:#1e293b99}[data-theme=dark] .simulation-wo-item,[data-theme=dark] .simulation-tech-info,[data-theme=dark] .simulation-route-item,[data-theme=dark] .assignment-item{background:#1e293bcc;border-color:#ffffff1a}[data-theme=dark] .simulation-settings__group select,[data-theme=dark] .simulation-wo-item__time select{background:#1e293bcc;border-color:#ffffff1a;color:#e2e8f0}[data-theme=dark] .simulation-settings__group select option,[data-theme=dark] .simulation-wo-item__time select option{background:#1e293b;color:#e2e8f0}[data-theme=dark] .simulation-route-list__header,[data-theme=dark] .simulation-map-container{border-color:#ffffff1a}[data-theme=dark] .timeline-grid{background:#1e293bcc;border-color:#ffffff1a}[data-theme=dark] .timeline-row{border-color:#ffffff1a}[data-theme=dark] .timeline-hour{background:#0003;border-color:#ffffff1a}[data-theme=dark] .timeline-cell.lunch{background:#f59e0b26}[data-theme=dark] .timeline-block{background:#8b5cf626}[data-theme=dark] .simulation-modal__footer{background:#0000004d;border-color:#ffffff1a}[data-theme=dark] .simulation-modal__footer .btn-secondary{background:#1e293bcc;border-color:#ffffff1a;color:#e2e8f0}[data-theme=dark] .simulation-modal__footer .btn-secondary:hover{background:#334155cc}[data-theme=dark] .confirm-notice,[data-theme=dark] .lunch-notice{background:#f59e0b26}[data-theme=dark] .warning-item.info{background:#3b82f626}[data-theme=dark] .warning-item.warning{background:#f59e0b26}[data-theme=dark] .warning-item.error{background:#ef444426}.customer-process-wrapper{display:flex;flex-direction:column;gap:16px}.customer-process-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.customer-process-title{font-size:18px;font-weight:700;color:var(--text-primary)}.customer-process-subtitle{font-size:12px;color:var(--text-secondary);margin-top:4px}.customer-process-meta{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--text-secondary);align-items:flex-end}.customer-process-legend{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.legend-chip{width:10px;height:10px;border-radius:3px}.legend-chip.active{background:#3b82f6}.legend-chip.inactive{background:#cbd5f5}.process-node--inactive{opacity:.45}.process-connection--inactive{opacity:.25}.process-slideover-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;justify-content:flex-end;z-index:1200}.process-slideover{width:420px;max-width:90vw;height:100%;background:var(--panel, #0f172a);border-left:1px solid var(--border);box-shadow:-8px 0 24px #0000004d;display:flex;flex-direction:column;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.process-slideover-header{padding:20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.process-slideover-title{font-size:16px;font-weight:700;color:var(--text-primary)}.process-slideover-subtitle{font-size:11px;color:var(--text-secondary);margin-top:4px}.process-slideover-close{border:none;background:transparent;color:var(--text-secondary);font-size:20px;cursor:pointer}.process-slideover-content{padding:16px 20px;overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}.process-slideover-content::-webkit-scrollbar{display:none}.process-slideover-section-title{font-size:13px;font-weight:600;margin-bottom:12px;color:var(--text-primary)}.process-slideover-empty{font-size:12px;color:var(--text-secondary);padding:16px;border-radius:10px;background:var(--bg-secondary)}.process-product-list{display:flex;flex-direction:column;gap:12px}.process-product-card{padding:12px;border-radius:12px;border:1px solid var(--border);background:var(--bg-secondary)}.process-product-header{display:flex;gap:12px;align-items:center;margin-bottom:10px;width:100%;border:none;background:transparent;text-align:left;cursor:pointer;padding:0}.process-product-header.expanded{margin-bottom:8px}.process-product-header img{width:48px;height:48px;-o-object-fit:contain;object-fit:contain;border-radius:10px;background:var(--bg-primary)}.process-product-toggle{margin-left:auto;font-size:18px;color:var(--text-secondary)}.process-product-name{font-size:13px;font-weight:600;color:var(--text-primary)}.process-product-model{font-size:11px;color:var(--text-secondary)}.process-product-parts{margin-top:8px}.process-product-parts-title{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.process-product-parts-list{display:grid;gap:6px}.process-product-part-item{display:flex;justify-content:space-between;font-size:11px;color:var(--text-primary);background:#0f172a33;padding:6px 8px;border-radius:8px}.process-product-part-code{font-family:monospace;color:var(--text-secondary)}.portal-root{--portal-primary: #0ea5e9;--portal-primary-dark: #0284c7;--portal-primary-light: #38bdf8;--portal-gradient: linear-gradient(135deg, #0ea5e9 0%, #06b6d4 50%, #14b8a6 100%);--portal-gradient-dark: linear-gradient(135deg, #0284c7 0%, #0891b2 50%, #0d9488 100%);--portal-glass-bg: rgba(255, 255, 255, .95);--portal-glass-border: rgba(255, 255, 255, .3);--portal-card-bg: rgba(255, 255, 255, .9);--portal-card-hover: rgba(255, 255, 255, 1);--portal-text-primary: #0f172a;--portal-text-secondary: #475569;--portal-text-muted: #94a3b8;--portal-success: #22c55e;--portal-warning: #f59e0b;--portal-danger: #ef4444;--portal-info: #3b82f6;--portal-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--portal-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--portal-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--portal-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--portal-radius-sm: 6px;--portal-radius: 12px;--portal-radius-lg: 16px;--portal-radius-xl: 24px}.portal-login-container{display:flex;min-height:100vh;background:var(--portal-gradient)}.portal-login-left{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#fff}.portal-login-left h1{font-size:48px;font-weight:700;margin:0 0 16px;text-shadow:0 2px 10px rgba(0,0,0,.2)}.portal-login-left p{font-size:18px;opacity:.9;max-width:400px;text-align:center;line-height:1.6}.portal-login-image{max-width:500px;width:80%;margin-top:40px;border-radius:var(--portal-radius-lg);box-shadow:var(--portal-shadow-xl)}.portal-login-right{width:480px;display:flex;align-items:center;justify-content:center;background:var(--portal-glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.portal-login-form-container{width:100%;max-width:360px;padding:48px 40px}.portal-login-header{text-align:center;margin-bottom:40px}.portal-login-icon{width:64px;height:64px;background:var(--portal-gradient);border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#fff}.portal-login-header h2{font-size:24px;font-weight:700;color:var(--portal-text-primary);margin:0 0 8px}.portal-login-header p{font-size:14px;color:var(--portal-text-secondary);margin:0}.portal-form-group{margin-bottom:20px}.portal-form-label{display:block;font-size:13px;font-weight:600;color:var(--portal-text-primary);margin-bottom:8px}.portal-form-input{width:100%;height:48px;padding:0 16px;border:2px solid #e2e8f0;border-radius:var(--portal-radius);font-size:15px;color:var(--portal-text-primary);background:#fff;transition:all .2s ease;outline:none}.portal-form-input:focus{border-color:var(--portal-primary);box-shadow:0 0 0 3px #0ea5e926}.portal-form-input::-moz-placeholder{color:var(--portal-text-muted)}.portal-form-input::placeholder{color:var(--portal-text-muted)}.portal-checkbox-group{display:flex;align-items:center;gap:10px;margin-bottom:24px}.portal-checkbox{width:18px;height:18px;accent-color:var(--portal-primary);cursor:pointer}.portal-checkbox-label{font-size:14px;color:var(--portal-text-secondary);cursor:pointer}.portal-error-message{padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--portal-radius-sm);color:var(--portal-danger);font-size:13px;margin-bottom:20px}.portal-login-button{width:100%;height:52px;background:var(--portal-gradient);color:#fff;border:none;border-radius:var(--portal-radius);font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .2s ease}.portal-login-button:hover:not(:disabled){background:var(--portal-gradient-dark);transform:translateY(-2px);box-shadow:var(--portal-shadow-lg)}.portal-login-button:disabled{opacity:.6;cursor:not-allowed}.portal-login-footer{margin-top:24px;text-align:center;font-size:13px;color:var(--portal-text-muted)}.portal-login-footer a{color:var(--portal-primary);text-decoration:none}.portal-login-footer a:hover{text-decoration:underline}.portal-dashboard{min-height:100vh;background:linear-gradient(180deg,#f0f9ff,#f8fafc)}.portal-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.portal-header-left{display:flex;align-items:center;gap:16px}.portal-logo{display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px;color:var(--portal-text-primary)}.portal-logo-icon{width:36px;height:36px;background:var(--portal-gradient);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff}.portal-header-right{display:flex;align-items:center;gap:20px}.portal-user-info{display:flex;align-items:center;gap:12px;padding:8px 16px;background:#f8fafc;border-radius:var(--portal-radius)}.portal-user-name{font-weight:600;font-size:14px;color:var(--portal-text-primary)}.portal-user-code{font-size:12px;color:var(--portal-text-muted)}.portal-logout-button{padding:8px 16px;background:transparent;border:1px solid #e2e8f0;border-radius:var(--portal-radius-sm);font-size:13px;color:var(--portal-text-secondary);cursor:pointer;transition:all .2s ease}.portal-logout-button:hover{background:#f1f5f9;border-color:#cbd5e1}.portal-content{padding:24px;max-width:1400px;margin:0 auto}.portal-welcome-banner{background:var(--portal-gradient);border-radius:var(--portal-radius-lg);padding:24px 32px;color:#fff;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between}.portal-welcome-text h2{font-size:22px;font-weight:700;margin:0 0 8px}.portal-welcome-text p{font-size:14px;opacity:.9;margin:0}.portal-welcome-stats{display:flex;gap:32px}.portal-welcome-stat{text-align:center}.portal-welcome-stat-value{font-size:28px;font-weight:700}.portal-welcome-stat-label{font-size:12px;opacity:.85;margin-top:4px}.portal-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.portal-kpi-card{background:#fff;border-radius:var(--portal-radius);padding:20px 24px;box-shadow:var(--portal-shadow-sm);border:1px solid #f1f5f9;transition:all .2s ease;cursor:pointer}.portal-kpi-card:hover{box-shadow:var(--portal-shadow);transform:translateY(-2px)}.portal-kpi-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.portal-kpi-icon{width:44px;height:44px;border-radius:var(--portal-radius);display:flex;align-items:center;justify-content:center}.portal-kpi-icon.service{background:#0ea5e91a;color:var(--portal-primary)}.portal-kpi-icon.asset{background:#22c55e1a;color:var(--portal-success)}.portal-kpi-icon.contract{background:#a855f71a;color:#a855f7}.portal-kpi-icon.billing{background:#f59e0b1a;color:var(--portal-warning)}.portal-kpi-title{font-size:13px;color:var(--portal-text-muted);margin-bottom:4px}.portal-kpi-value{font-size:28px;font-weight:700;color:var(--portal-text-primary)}.portal-kpi-subtitle{font-size:12px;color:var(--portal-text-secondary);margin-top:8px}.portal-kpi-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600}.portal-kpi-badge.premium{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.portal-kpi-badge.standard{background:#e2e8f0;color:#475569}.portal-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.portal-card{background:#fff;border-radius:var(--portal-radius);box-shadow:var(--portal-shadow-sm);border:1px solid #f1f5f9;overflow:hidden}.portal-card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f1f5f9}.portal-card-title{font-size:15px;font-weight:600;color:var(--portal-text-primary);display:flex;align-items:center;gap:8px}.portal-card-action{padding:6px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:var(--portal-radius-sm);font-size:12px;color:var(--portal-text-secondary);cursor:pointer;transition:all .2s ease}.portal-card-action:hover{background:#f1f5f9;color:var(--portal-primary)}.portal-card-body{padding:16px 20px}.portal-schedule-item{display:flex;gap:16px;padding:16px;border-radius:var(--portal-radius);background:#f8fafc;margin-bottom:12px;transition:all .2s ease}.portal-schedule-item:last-child{margin-bottom:0}.portal-schedule-item:hover{background:#f1f5f9}.portal-schedule-date{width:52px;text-align:center;flex-shrink:0}.portal-schedule-day{font-size:24px;font-weight:700;color:var(--portal-primary);line-height:1}.portal-schedule-month{font-size:11px;color:var(--portal-text-muted);margin-top:4px}.portal-schedule-content{flex:1}.portal-schedule-title{font-size:14px;font-weight:600;color:var(--portal-text-primary);margin-bottom:4px}.portal-schedule-info{font-size:12px;color:var(--portal-text-secondary);display:flex;align-items:center;gap:12px;margin-bottom:8px}.portal-schedule-actions{display:flex;gap:8px}.portal-schedule-btn{padding:4px 10px;border-radius:4px;font-size:11px;cursor:pointer;border:none;transition:all .2s ease}.portal-schedule-btn.primary{background:var(--portal-primary);color:#fff}.portal-schedule-btn.secondary{background:#e2e8f0;color:var(--portal-text-secondary)}.portal-request-item{padding:14px 16px;border-radius:var(--portal-radius);background:#f8fafc;margin-bottom:12px}.portal-request-item:last-child{margin-bottom:0}.portal-request-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.portal-request-id{font-size:13px;font-weight:600;color:var(--portal-primary)}.portal-request-status{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:500}.portal-request-status.pending{background:#fef3c7;color:#d97706}.portal-request-status.in-progress{background:#dbeafe;color:#2563eb}.portal-request-status.completed{background:#dcfce7;color:#16a34a}.portal-request-title{font-size:14px;color:var(--portal-text-primary);margin-bottom:6px}.portal-request-meta{font-size:12px;color:var(--portal-text-muted);display:flex;align-items:center;gap:12px}.portal-sla-indicator{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.portal-sla-indicator.on-track{background:#dcfce7;color:#16a34a}.portal-sla-indicator.at-risk{background:#fef3c7;color:#d97706}.portal-sla-indicator.breached{background:#fef2f2;color:#dc2626}.portal-asset-card{margin-bottom:24px}.portal-asset-table{width:100%;border-collapse:collapse}.portal-asset-table th{text-align:left;padding:12px 16px;background:#f8fafc;font-size:12px;font-weight:600;color:var(--portal-text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e2e8f0}.portal-asset-table td{padding:14px 16px;font-size:13px;color:var(--portal-text-primary);border-bottom:1px solid #f1f5f9}.portal-asset-table tr:hover td{background:#f8fafc}.portal-asset-name{font-weight:600}.portal-asset-model{font-size:11px;color:var(--portal-text-muted);margin-top:2px}.portal-asset-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.portal-asset-status.active{background:#dcfce7;color:#16a34a}.portal-asset-status.maintenance{background:#fef3c7;color:#d97706}.portal-asset-status.inactive{background:#f3f4f6;color:#6b7280}.portal-asset-uptime{display:flex;align-items:center;gap:8px}.portal-uptime-bar{width:60px;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.portal-uptime-fill{height:100%;background:var(--portal-success);border-radius:3px;transition:width .3s ease}.portal-uptime-fill.warning{background:var(--portal-warning)}.portal-uptime-fill.danger{background:var(--portal-danger)}.portal-asset-action-btn{padding:6px 12px;background:var(--portal-primary);color:#fff;border:none;border-radius:var(--portal-radius-sm);font-size:12px;cursor:pointer;transition:all .2s ease}.portal-asset-action-btn:hover{background:var(--portal-primary-dark)}.portal-new-request-btn{position:fixed;bottom:32px;right:32px;display:flex;align-items:center;gap:10px;padding:16px 24px;background:var(--portal-gradient);color:#fff;border:none;border-radius:30px;font-size:15px;font-weight:600;cursor:pointer;box-shadow:var(--portal-shadow-lg);transition:all .2s ease;z-index:50}.portal-new-request-btn:hover{transform:translateY(-3px);box-shadow:var(--portal-shadow-xl)}.portal-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200}.portal-modal{background:#fff;border-radius:var(--portal-radius-lg);width:100%;max-width:520px;max-height:90vh;overflow:hidden;box-shadow:var(--portal-shadow-xl)}.portal-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e2e8f0}.portal-modal-title{font-size:18px;font-weight:600;color:var(--portal-text-primary)}.portal-modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:#f1f5f9;border-radius:8px;cursor:pointer;color:var(--portal-text-secondary);transition:all .2s ease}.portal-modal-close:hover{background:#e2e8f0}.portal-modal-body{padding:24px;overflow-y:auto;max-height:calc(90vh - 140px)}.portal-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e2e8f0}.portal-modal-btn{padding:10px 20px;border-radius:var(--portal-radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.portal-modal-btn.cancel{background:#f1f5f9;border:1px solid #e2e8f0;color:var(--portal-text-secondary)}.portal-modal-btn.cancel:hover{background:#e2e8f0}.portal-modal-btn.submit{background:var(--portal-gradient);border:none;color:#fff}.portal-modal-btn.submit:hover{background:var(--portal-gradient-dark)}.portal-modal-btn:disabled{opacity:.6;cursor:not-allowed}.portal-form-select{width:100%;height:48px;padding:0 16px;border:2px solid #e2e8f0;border-radius:var(--portal-radius);font-size:14px;color:var(--portal-text-primary);background:#fff;cursor:pointer;outline:none;transition:all .2s ease}.portal-form-select:focus{border-color:var(--portal-primary)}.portal-form-textarea{width:100%;min-height:100px;padding:12px 16px;border:2px solid #e2e8f0;border-radius:var(--portal-radius);font-size:14px;color:var(--portal-text-primary);background:#fff;resize:vertical;outline:none;transition:all .2s ease;font-family:inherit}.portal-form-textarea:focus{border-color:var(--portal-primary)}.portal-priority-options{display:flex;gap:12px}.portal-priority-option{flex:1;padding:12px;border:2px solid #e2e8f0;border-radius:var(--portal-radius);background:#fff;cursor:pointer;text-align:center;transition:all .2s ease}.portal-priority-option:hover{border-color:#cbd5e1}.portal-priority-option.selected{border-color:var(--portal-primary);background:#0ea5e90d}.portal-priority-option.urgent.selected{border-color:var(--portal-danger);background:#ef44440d}.portal-priority-label{font-size:13px;font-weight:600;color:var(--portal-text-primary);display:block}.portal-priority-desc{font-size:11px;color:var(--portal-text-muted);margin-top:4px}.portal-form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.portal-inquiry-type-options{display:flex;flex-wrap:wrap;gap:8px}.portal-inquiry-type-option{padding:8px 16px;border:2px solid #e2e8f0;border-radius:20px;background:#fff;cursor:pointer;font-size:13px;font-weight:500;color:var(--portal-text-secondary);transition:all .2s ease}.portal-inquiry-type-option:hover{border-color:#cbd5e1;background:#f8fafc}.portal-inquiry-type-option.selected{border-color:var(--portal-primary);background:#0ea5e914;color:var(--portal-primary)}.portal-form-error{padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--portal-radius-sm);color:var(--portal-danger);font-size:13px;margin-bottom:20px}.portal-content-compact{padding:16px 20px;max-width:100%;height:calc(100vh - 64px);display:flex;flex-direction:column;overflow:hidden}.portal-top-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-shrink:0}.portal-top-row .portal-kpi-grid{flex:1;margin-bottom:0;gap:12px}.portal-top-row .portal-kpi-card{padding:10px 14px}.portal-top-row .portal-kpi-icon{width:32px;height:32px}.portal-top-row .portal-kpi-value{font-size:20px}.portal-top-row .portal-kpi-title{font-size:11px}.portal-top-row .portal-kpi-subtitle{font-size:11px;margin-top:4px}.portal-new-request-btn-inline{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--portal-gradient);color:#fff;border:none;border-radius:var(--portal-radius);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;box-shadow:var(--portal-shadow);transition:all .2s ease;flex-shrink:0}.portal-new-request-btn-inline:hover{transform:translateY(-2px);box-shadow:var(--portal-shadow-lg)}.portal-action-buttons{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.portal-inquiry-btn-inline{display:flex;align-items:center;gap:6px;padding:10px 16px;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border:none;border-radius:var(--portal-radius);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;box-shadow:var(--portal-shadow);transition:all .2s ease}.portal-inquiry-btn-inline:hover{transform:translateY(-2px);box-shadow:var(--portal-shadow-lg)}.portal-main-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;height:calc(100vh - 180px);min-height:560px;max-height:840px;overflow:hidden}.portal-main-grid.portal-main-grid-4col{grid-template-columns:1fr 1fr 1fr 1fr}.portal-main-grid.portal-main-grid-3col{grid-template-columns:1fr 1fr 1fr}.portal-card-compact{display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden}.portal-card-compact .portal-card-header{padding:12px 16px;flex-shrink:0}.portal-card-compact .portal-card-title{font-size:13px}.portal-card-body-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 16px;min-height:0}.portal-empty-state-compact{text-align:center;padding:24px 16px;color:var(--portal-text-muted)}.portal-empty-state-compact p{margin:0;font-size:12px}.portal-schedule-item-compact{padding:10px 12px;margin-bottom:8px}.portal-schedule-item-compact .portal-schedule-date{width:40px}.portal-schedule-item-compact .portal-schedule-day{font-size:18px}.portal-schedule-item-compact .portal-schedule-month{font-size:10px}.portal-schedule-item-compact .portal-schedule-title{font-size:13px;margin-bottom:2px}.portal-schedule-item-compact .portal-schedule-info{font-size:11px;margin-bottom:0;gap:8px}.portal-schedule-item-compact .portal-schedule-info span{display:flex;align-items:center;gap:3px}.portal-request-item-compact{padding:10px 12px;margin-bottom:8px}.portal-request-item-compact .portal-request-header{margin-bottom:4px}.portal-request-item-compact .portal-request-id{font-size:12px}.portal-request-item-compact .portal-request-status{padding:2px 8px;font-size:10px}.portal-request-item-compact .portal-request-title{font-size:12px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-request-item-compact .portal-request-meta{font-size:11px;gap:8px}.portal-sla-row{margin-top:6px}.portal-request-item-compact .portal-sla-indicator{font-size:10px;padding:2px 6px}.portal-asset-table-compact th{padding:8px 12px;font-size:11px}.portal-asset-table-compact td{padding:8px 12px;font-size:12px}.portal-asset-table-compact .portal-asset-name{font-size:12px}.portal-asset-table-compact .portal-asset-model{font-size:10px}.portal-asset-table-compact .portal-asset-status{padding:2px 8px;font-size:10px;gap:4px}.portal-asset-table-compact .portal-uptime-bar{width:50px;height:5px}.portal-uptime-text{font-size:11px;font-weight:500}.portal-asset-table-compact .portal-asset-action-btn{padding:4px 10px;font-size:11px}.portal-table-empty{text-align:center;padding:32px 16px;color:var(--portal-text-muted)}.portal-pm-soon{color:#d97706;font-weight:600}.portal-pm-normal{color:var(--portal-text-secondary)}.portal-split-card{display:flex;flex-direction:column;height:100%}.portal-split-section{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.portal-split-header{padding:10px 14px!important;border-bottom:1px solid var(--portal-border-light)!important}.portal-split-header .portal-card-title{font-size:12px;gap:6px}.portal-split-body{flex:1;overflow-y:auto;padding:8px 10px}.portal-split-divider{height:1px;background:linear-gradient(90deg,transparent,var(--portal-border),transparent);margin:0;flex-shrink:0}.portal-mini-item{padding:8px 10px;background:var(--portal-bg-hover);border-radius:6px;margin-bottom:6px;cursor:pointer;transition:all .15s ease}.portal-mini-item:last-child{margin-bottom:0}.portal-mini-item:hover{background:#3b82f614}.portal-mini-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.portal-mini-id{font-size:10px;font-weight:600;color:var(--portal-primary)}.portal-mini-type{font-size:10px;font-weight:500;color:var(--portal-text-secondary);background:#64748b1a;padding:2px 6px;border-radius:4px}.portal-mini-status{font-size:9px;font-weight:500;padding:2px 6px;border-radius:4px}.portal-mini-status.pending{background:#f59e0b26;color:#d97706}.portal-mini-status.in-progress{background:#3b82f626;color:#2563eb}.portal-mini-status.completed{background:#22c55e26;color:#16a34a}.portal-mini-title{font-size:11px;font-weight:500;color:var(--portal-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.portal-mini-meta{font-size:10px;color:var(--portal-text-muted)}.portal-empty-state-mini{display:flex;align-items:center;justify-content:center;height:100%;min-height:60px;color:var(--portal-text-muted);font-size:11px}.portal-empty-state-mini p{margin:0}.portal-empty-state-mini svg{margin-right:8px;opacity:.5}.portal-requests-list{display:flex;flex-direction:column;gap:8px;padding:12px}.portal-request-item{padding:10px 12px;background:var(--portal-bg-hover, #f8fafc);border-radius:8px;cursor:pointer;transition:all .15s ease}.portal-request-item:hover{background:#3b82f614;transform:translate(2px)}.portal-request-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.portal-request-id{font-size:11px;font-weight:600;color:var(--portal-primary)}.portal-request-status{font-size:10px;font-weight:500;padding:3px 8px;border-radius:4px}.portal-request-status.pending{background:#f59e0b26;color:#d97706}.portal-request-status.in-progress{background:#3b82f626;color:#2563eb}.portal-request-status.completed{background:#22c55e26;color:#16a34a}.portal-request-title{font-size:13px;font-weight:500;color:var(--portal-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.portal-request-meta{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--portal-text-muted)}.portal-request-tech{color:var(--portal-text-secondary)}.portal-inquiries-list{display:flex;flex-direction:column;gap:8px;padding:12px}.portal-inquiry-item{padding:10px 12px;background:var(--portal-bg-hover, #f8fafc);border-radius:8px;cursor:pointer;transition:all .15s ease}.portal-inquiry-item:hover{background:#8b5cf614;transform:translate(2px)}.portal-inquiry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.portal-inquiry-type-badge{font-size:10px;font-weight:500;color:var(--portal-text-secondary);background:#64748b1f;padding:3px 8px;border-radius:4px}.portal-inquiry-status{font-size:10px;font-weight:500;padding:3px 8px;border-radius:4px}.portal-inquiry-status.pending{background:#f59e0b26;color:#d97706}.portal-inquiry-status.in-progress{background:#3b82f626;color:#2563eb}.portal-inquiry-status.completed{background:#22c55e26;color:#16a34a}.portal-inquiry-title{font-size:13px;font-weight:500;color:var(--portal-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.portal-inquiry-meta{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--portal-text-muted)}.portal-inquiry-answered{color:var(--portal-success);font-weight:500}@media (max-width: 1600px){.portal-main-grid.portal-main-grid-4col{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.portal-main-grid.portal-main-grid-3col{grid-template-columns:1fr 1fr 1fr}}@media (max-width: 1400px){.portal-main-grid{grid-template-columns:1fr 1fr 1fr}.portal-main-grid.portal-main-grid-4col{grid-template-columns:1fr 1fr}}@media (max-width: 1200px){.portal-kpi-grid{grid-template-columns:repeat(2,1fr)}.portal-main-grid,.portal-main-grid.portal-main-grid-4col,.portal-main-grid.portal-main-grid-3col{grid-template-columns:1fr 1fr}}@media (max-width: 992px){.portal-cards-grid{grid-template-columns:1fr}.portal-login-left{display:none}.portal-login-right{width:100%}.portal-main-grid,.portal-main-grid.portal-main-grid-4col,.portal-main-grid.portal-main-grid-3col{grid-template-columns:1fr}.portal-content-compact{height:auto;overflow:visible}.portal-top-row{flex-direction:column;align-items:stretch}}@media (max-width: 768px){.portal-kpi-grid{grid-template-columns:1fr}.portal-welcome-banner{flex-direction:column;gap:20px;text-align:center}.portal-header{padding:0 16px}.portal-content{padding:16px}.portal-new-request-btn{bottom:20px;right:20px;padding:14px 20px}}@keyframes portal-fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.portal-card,.portal-kpi-card{animation:portal-fadeIn .3s ease}.portal-modal{animation:portal-fadeIn .2s ease}.portal-kpi-card-clickable{cursor:pointer}.portal-kpi-card-clickable:hover{box-shadow:var(--portal-shadow-lg);transform:translateY(-3px);border-color:var(--portal-primary)}.portal-kpi-card-clickable:focus{outline:2px solid var(--portal-primary);outline-offset:2px}.drilldown-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:300;opacity:0;animation:drilldownOverlayIn .25s ease forwards}@keyframes drilldownOverlayIn{to{opacity:1}}.drilldown-panel{position:fixed;top:0;right:0;bottom:0;width:1500px;max-width:100%;background:#fff;box-shadow:-10px 0 40px #00000026;z-index:301;display:flex;flex-direction:column;transform:translate(100%);animation:drilldownSlideIn .3s ease forwards}@keyframes drilldownSlideIn{to{transform:translate(0)}}.drilldown-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.drilldown-title{font-size:18px;font-weight:600;color:var(--portal-text-primary);display:flex;align-items:center;gap:10px}.drilldown-close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:#f1f5f9;border-radius:8px;cursor:pointer;color:var(--portal-text-secondary);transition:all .2s ease}.drilldown-close-btn:hover{background:#e2e8f0;color:var(--portal-text-primary)}.drilldown-content{flex:1;overflow-y:auto;padding:24px}.drilldown-panel.drilldown-panel-wide{width:1680px}.drilldown-context-tabs{display:flex;gap:4px;padding:0 24px;border-bottom:1px solid var(--border, #e2e8f0);background:var(--bg-secondary, #f8fafc);flex-shrink:0}.drilldown-context-tab{display:flex;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:500;color:var(--text-secondary, #64748b);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .2s ease;margin-bottom:-1px}.drilldown-context-tab:hover{color:var(--text-primary, #0f172a);background:var(--panel, white)}.drilldown-context-tab.active{color:var(--accent, #0ea5e9);border-bottom-color:var(--accent, #0ea5e9);background:var(--panel, white)}.drilldown-content.drilldown-content-master-detail{padding:0;display:flex;flex-direction:column;overflow:hidden}.drilldown-master-detail{display:grid;grid-template-columns:1fr 2fr;flex:1;overflow:hidden;min-height:0}.drilldown-master{display:flex;flex-direction:column;border-right:1px solid var(--border, #e2e8f0);background:var(--bg-secondary, #f8fafc);overflow:hidden}.drilldown-master-header{padding:16px;border-bottom:1px solid var(--border, #e2e8f0);flex-shrink:0;display:flex;flex-direction:column;gap:12px}.drilldown-master-header h3{font-size:14px;font-weight:600;color:var(--text-primary, #0f172a);margin:0}.drilldown-master-search{position:relative}.drilldown-master-search input{width:100%;padding:8px 12px 8px 36px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:13px;background:var(--panel, white);color:var(--text-primary, #0f172a);outline:none;transition:border-color .2s ease}.drilldown-master-search input:focus{border-color:var(--accent, #0ea5e9)}.drilldown-master-search input::-moz-placeholder{color:var(--text-muted, #94a3b8)}.drilldown-master-search input::placeholder{color:var(--text-muted, #94a3b8)}.drilldown-master-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted, #94a3b8)}.drilldown-master-list{flex:1;overflow-y:auto;padding:8px}.drilldown-master-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;cursor:pointer;transition:all .15s ease;background:transparent;margin-bottom:4px}.drilldown-master-item:hover{background:var(--panel, white)}.drilldown-master-item.selected{background:var(--panel, white);box-shadow:0 1px 3px #00000014;border-left:3px solid var(--accent, #0ea5e9);margin-left:0;padding-left:9px}.drilldown-master-item-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--bg-tertiary, #f1f5f9);color:var(--text-secondary, #64748b);flex-shrink:0}.drilldown-master-item.selected .drilldown-master-item-icon{background:#0ea5e91a;color:var(--accent, #0ea5e9)}.drilldown-master-item-content{flex:1;min-width:0}.drilldown-master-item-title{font-size:13px;font-weight:500;color:var(--text-primary, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drilldown-master-item-subtitle{font-size:12px;color:var(--text-secondary, #64748b);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drilldown-master-item-badge{font-size:11px;font-weight:500;padding:4px 8px;border-radius:12px;flex-shrink:0}.drilldown-detail{flex:1;overflow-y:auto;background:var(--panel, white)}.drilldown-detail-content{padding:24px}.drilldown-detail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted, #94a3b8);text-align:center;padding:48px}.drilldown-detail-empty-icon{width:64px;height:64px;border-radius:16px;background:var(--bg-secondary, #f8fafc);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.drilldown-detail-empty-title{font-size:15px;font-weight:500;color:var(--text-secondary, #64748b);margin-bottom:8px}.drilldown-detail-empty-desc{font-size:13px;color:var(--text-muted, #94a3b8)}.cross-ref-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border, #e2e8f0)}.cross-ref-title{font-size:12px;font-weight:600;color:var(--text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.cross-ref-buttons{display:flex;gap:8px;flex-wrap:wrap}.cross-ref-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;color:var(--accent, #0ea5e9);background:#0ea5e914;border:1px solid rgba(14,165,233,.2);border-radius:6px;cursor:pointer;transition:all .15s ease}.cross-ref-btn:hover{background:#0ea5e926;border-color:#0ea5e94d}.drilldown-section-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--portal-text-primary);margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #f1f5f9}.equipment-drilldown{display:flex;flex-direction:column;gap:24px}.equipment-process-section{background:#f8fafc;border-radius:var(--portal-radius);padding:16px}.equipment-process-diagram-wrapper{overflow-x:auto;overflow-y:hidden;margin:0 -8px;padding:0 8px}.equipment-process-diagram-wrapper .customer-process-wrapper{min-width:1000px}.equipment-process-diagram-wrapper .customer-process-header{padding:0 0 12px}.equipment-process-diagram-wrapper .process-content{overflow:visible}.equipment-process-diagram-wrapper svg{max-width:100%;height:auto}.equipment-process-diagram{display:flex;justify-content:center;gap:4px;flex-wrap:wrap;padding:16px 0}.process-step{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:50px}.process-node{width:32px;height:32px;border-radius:50%;background:#e2e8f0;border:2px solid #cbd5e1;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#64748b;transition:all .2s ease}.process-node.active{background:var(--portal-primary);border-color:var(--portal-primary-dark);color:#fff}.process-label{font-size:9px;color:var(--portal-text-muted);text-align:center;max-width:50px;line-height:1.2}.process-connector{display:flex;align-items:center;color:#cbd5e1;margin-top:-10px}.equipment-list-section{flex:1}.equipment-table-wrapper{overflow-x:auto}.equipment-table{width:100%;border-collapse:collapse}.equipment-table th{text-align:left;padding:12px 14px;background:#f8fafc;font-size:11px;font-weight:600;color:var(--portal-text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e2e8f0}.equipment-table td{padding:14px;font-size:13px;color:var(--portal-text-primary);border-bottom:1px solid #f1f5f9}.equipment-table tbody tr{cursor:pointer;transition:background .15s ease}.equipment-table tbody tr:hover{background:#f8fafc}.equipment-table tbody tr.selected{background:#0ea5e914}.equipment-name-cell{font-weight:600}.equipment-model{font-size:11px;color:var(--portal-text-muted);margin-top:2px}.equipment-status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:500}.equipment-status-badge.active{background:#dcfce7;color:#16a34a}.equipment-status-badge.maintenance{background:#fef3c7;color:#d97706}.equipment-status-badge.inactive{background:#fef2f2;color:#dc2626}.equipment-health{display:flex;align-items:center;gap:8px}.equipment-health-bar{width:50px;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.equipment-health-fill{height:100%;border-radius:3px;transition:width .3s ease}.equipment-health-fill.good{background:var(--portal-success)}.equipment-health-fill.warning{background:var(--portal-warning)}.equipment-health-fill.danger{background:var(--portal-danger)}.equipment-health-text{font-size:12px;font-weight:500}.equipment-detail-section{background:#f8fafc;border-radius:var(--portal-radius);padding:20px;border:1px solid #e2e8f0}.equipment-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.equipment-detail-name{font-size:16px;font-weight:600;color:var(--portal-text-primary)}.equipment-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.equipment-detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:11px;color:var(--portal-text-muted);text-transform:uppercase;letter-spacing:.3px}.detail-value{font-size:13px;font-weight:500;color:var(--portal-text-primary)}.equipment-detail-actions{display:flex;gap:10px;padding-top:12px;border-top:1px solid #e2e8f0}.btn-equipment-action{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--portal-radius-sm);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.btn-equipment-action.primary{background:var(--portal-primary);color:#fff}.btn-equipment-action.primary:hover{background:var(--portal-primary-dark)}.btn-equipment-action.secondary{background:#e2e8f0;color:var(--portal-text-secondary)}.btn-equipment-action.secondary:hover{background:#cbd5e1}.contract-drilldown{display:flex;flex-direction:column;gap:28px}.contract-history-section{background:var(--bg-secondary, #f8fafc);border-radius:var(--portal-radius);padding:20px}.contract-timeline-horizontal{display:flex;gap:16px;overflow-x:auto;padding:8px 4px}.timeline-card{flex:0 0 auto;min-width:200px;background:var(--panel, white);border:1px solid var(--border, #e2e8f0);border-radius:var(--portal-radius);padding:16px;position:relative;transition:all .2s ease}.timeline-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.timeline-card-current{border-color:var(--portal-primary);background:linear-gradient(135deg,#0ea5e908,#0ea5e914)}.current-indicator{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--portal-primary);color:#fff;font-size:10px;font-weight:600;padding:3px 10px;border-radius:10px;white-space:nowrap}.timeline-card-tier{margin-bottom:10px}.tier-badge-sm{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600}.timeline-card-no{font-size:14px;font-weight:600;color:var(--portal-text-primary);margin-bottom:8px}.timeline-card-period{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--portal-text-secondary);margin-bottom:8px}.timeline-card-value{font-size:16px;font-weight:700;color:var(--portal-primary)}.timeline-card-note{font-size:11px;color:var(--portal-text-muted);font-style:italic;margin-top:8px;padding-top:8px;border-top:1px dashed var(--border, #e2e8f0)}.contract-document-section{flex:1}.contract-tabs-modern{display:flex;gap:8px;margin-bottom:20px;background:var(--bg-secondary, #f1f5f9);padding:4px;border-radius:var(--portal-radius)}.contract-tab-modern{display:flex;align-items:center;gap:6px;flex:1;padding:10px 16px;font-size:13px;font-weight:500;color:var(--portal-text-secondary);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;justify-content:center}.contract-tab-modern:hover{color:var(--text-primary, #0f172a);background:var(--panel-hover, rgba(255, 255, 255, .5))}.contract-tab-modern.active{color:var(--portal-primary, #0ea5e9);background:var(--panel, white);box-shadow:0 1px 3px #0000001a}.contract-tab-content-modern{min-height:320px}.contract-overview-modern{display:flex;flex-direction:column;gap:20px}.overview-header-card{display:flex;align-items:center;justify-content:space-between;background:var(--bg-secondary, #f8fafc);border-radius:var(--portal-radius);padding:20px;border:1px solid var(--border, #e2e8f0)}.overview-header-left{display:flex;align-items:center;gap:16px}.tier-badge-large{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:700}.overview-contract-info{display:flex;flex-direction:column;gap:2px}.contract-no-label{font-size:11px;color:var(--portal-text-muted);text-transform:uppercase;letter-spacing:.3px}.contract-no-value{font-size:15px;font-weight:600;color:var(--portal-text-primary)}.expiry-badge{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-secondary, #f1f5f9);border-radius:8px;font-size:13px;font-weight:500;color:var(--text-secondary, #64748b)}.expiry-badge.expiry-warning{background:#ef444426;color:var(--error, #dc2626)}.overview-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.overview-info-card{display:flex;align-items:flex-start;gap:14px;background:var(--panel, white);border:1px solid var(--border, #e2e8f0);border-radius:var(--portal-radius);padding:18px;transition:all .2s ease}.overview-info-card:hover{box-shadow:0 2px 8px #0000000f}.overview-info-card.highlight{background:linear-gradient(135deg,#0ea5e914,#14b8a60d);border-color:#0ea5e94d}.info-card-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary, #f1f5f9);border-radius:10px;color:var(--text-secondary, #64748b);flex-shrink:0}.overview-info-card.highlight .info-card-icon{background:#0ea5e926;color:var(--portal-primary, #0ea5e9)}.info-card-content{display:flex;flex-direction:column;gap:4px}.info-card-label{font-size:11px;color:var(--text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.3px}.info-card-value{font-size:14px;font-weight:600;color:var(--text-primary, #0f172a)}.info-card-value.large{font-size:18px;color:var(--portal-primary, #0ea5e9)}.visit-usage-card{background:var(--panel, white);border:1px solid var(--border, #e2e8f0);border-radius:var(--portal-radius);padding:20px}.visit-usage-header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-primary, #0f172a);margin-bottom:16px}.visit-usage-content{display:flex;flex-direction:column;gap:12px}.visit-usage-numbers{display:flex;align-items:baseline;gap:6px}.visit-used{font-size:28px;font-weight:700;color:var(--portal-primary, #0ea5e9)}.visit-divider{font-size:20px;color:var(--text-muted, #94a3b8)}.visit-total{font-size:18px;font-weight:600;color:var(--text-secondary, #64748b)}.visit-remaining{font-size:13px;color:var(--text-muted, #94a3b8);margin-left:8px}.visit-progress-bar{height:10px;background:var(--border, #e2e8f0);border-radius:5px;overflow:hidden}.visit-progress-fill{height:100%;background:linear-gradient(90deg,var(--portal-primary) 0%,#38bdf8 100%);border-radius:5px;transition:width .5s ease}.visit-progress-fill.warning{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.visit-usage-percent{font-size:12px;color:var(--text-muted, #94a3b8);text-align:right}.contract-terms-modern{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.terms-card{background:var(--panel, white);border:1px solid var(--border, #e2e8f0);border-radius:var(--portal-radius);overflow:hidden;transition:all .2s ease}.terms-card:hover{box-shadow:0 2px 8px #0000000f}.terms-card-header{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0)}.terms-card-header h4{margin:0;font-size:14px;font-weight:600;color:var(--text-primary, #0f172a)}.terms-card-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--portal-primary);border-radius:8px;color:#fff}.terms-card-icon.payment{background:#10b981}.terms-card-icon.renewal{background:#8b5cf6}.terms-card-icon.support{background:#f59e0b}.terms-card-content{padding:16px}.terms-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.terms-list li{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--text-primary, #0f172a);line-height:1.5}.terms-list .check-icon{color:var(--success, #10b981);flex-shrink:0;margin-top:2px}.terms-list strong{color:var(--portal-primary, #0ea5e9)}.contract-sla-modern{display:flex;flex-direction:column;gap:20px}.sla-header-card{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#1e3a5f,#0f172a);border-radius:var(--portal-radius);padding:20px}.sla-header-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:#ffffff26;border-radius:12px;color:#fff}.sla-header-content h4{margin:0 0 4px;font-size:16px;font-weight:600;color:#fff}.sla-header-content p{margin:0;font-size:12px;color:#ffffffb3}.sla-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.sla-summary-card{background:var(--panel, white);border:1px solid var(--border, #e2e8f0);border-radius:var(--portal-radius);padding:20px;text-align:center;transition:all .2s ease}.sla-summary-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.sla-summary-card.response{border-top:3px solid #3b82f6}.sla-summary-card.resolution{border-top:3px solid #10b981}.sla-summary-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;border-radius:50%;background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b)}.sla-summary-card.response .sla-summary-icon{background:#3b82f61a;color:#3b82f6}.sla-summary-card.resolution .sla-summary-icon{background:#10b9811a;color:#10b981}.sla-summary-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #94a3b8);margin-bottom:6px}.sla-summary-value{font-size:28px;font-weight:700;color:var(--text-primary, #0f172a);margin-bottom:4px}.sla-summary-card.response .sla-summary-value{color:#3b82f6}.sla-summary-card.resolution .sla-summary-value{color:#10b981}.sla-summary-desc{font-size:11px;color:var(--text-muted, #94a3b8)}.sla-detail-section{background:var(--panel, white);border:1px solid var(--border, #e2e8f0);border-radius:var(--portal-radius);padding:20px}.sla-detail-title{font-size:14px;font-weight:600;color:var(--text-primary, #0f172a);margin:0 0 16px}.sla-table-modern-wrapper{overflow-x:auto}.sla-table-modern{width:100%;border-collapse:collapse}.sla-table-modern th{text-align:left;padding:12px 16px;background:var(--bg-secondary, #f8fafc);font-size:11px;font-weight:600;color:var(--text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border, #e2e8f0)}.sla-table-modern td{padding:14px 16px;font-size:13px;color:var(--text-primary, #0f172a);border-bottom:1px solid var(--border-light, #f1f5f9)}.sla-table-modern tbody tr:last-child td{border-bottom:none}.sla-table-modern tbody tr:hover{background:var(--bg-secondary, #f8fafc)}.sla-desc-cell{color:var(--text-secondary, #64748b)}.sla-time-cell{text-align:center}.priority-badge-modern{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:6px;font-size:12px;font-weight:600}.priority-badge-modern.critical{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#dc2626}.priority-badge-modern.high{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}.priority-badge-modern.medium{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb}.priority-badge-modern.low{background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b)}.sla-guarantee-card{display:flex;align-items:flex-start;gap:14px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:var(--portal-radius);padding:18px}.sla-guarantee-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--panel, white);border-radius:10px;color:var(--success, #10b981);flex-shrink:0}.sla-guarantee-content strong{display:block;font-size:13px;color:var(--success, #10b981);margin-bottom:4px}.sla-guarantee-content p{margin:0;font-size:12px;color:var(--text-secondary, #64748b);line-height:1.5}.contract-download-section{display:flex;justify-content:flex-end;margin-top:20px;padding-top:20px;border-top:1px solid var(--border, #e2e8f0)}.btn-contract-download{display:flex;align-items:center;gap:8px;padding:12px 24px;background:var(--portal-primary);color:#fff;border:none;border-radius:var(--portal-radius);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-contract-download:hover{background:var(--portal-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #0ea5e94d}.billing-drilldown{display:flex;flex-direction:column;gap:24px}.billing-summary-section{background:#f8fafc;border-radius:var(--portal-radius);padding:20px}.billing-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.billing-kpi-card{background:#fff;border-radius:var(--portal-radius-sm);padding:16px;text-align:center;border:1px solid #e2e8f0}.kpi-label{font-size:11px;color:var(--portal-text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.kpi-value{font-size:18px;font-weight:700;color:var(--portal-text-primary)}.kpi-value.warning{color:var(--portal-danger)}.billing-warning{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--portal-radius-sm);color:#dc2626;font-size:12px}.billing-history-section{flex:1}.billing-table-wrapper{overflow-x:auto;margin-bottom:16px}.billing-table{width:100%;border-collapse:collapse}.billing-table th{text-align:left;padding:12px 14px;background:#f8fafc;font-size:11px;font-weight:600;color:var(--portal-text-muted);text-transform:uppercase;border-bottom:1px solid #e2e8f0}.billing-table td{padding:12px 14px;font-size:13px;color:var(--portal-text-primary);border-bottom:1px solid #f1f5f9}.billing-table th.text-right,.billing-table td.text-right{text-align:right}.billing-table tbody tr{cursor:pointer;transition:background .15s ease}.billing-table tbody tr:hover{background:#f8fafc}.billing-table tbody tr.row-selected{background:#0ea5e914}.cell-invoice-no{font-weight:600;color:var(--portal-primary)}.cell-amount{font-weight:600}.invoice-status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:500}.invoice-status-badge.status-pending{background:#fef3c7;color:#d97706}.invoice-status-badge.status-paid{background:#dcfce7;color:#16a34a}.invoice-status-badge.status-overdue{background:#fef2f2;color:#dc2626}.invoice-status-badge.status-cancelled{background:#f3f4f6;color:#6b7280}.btn-view-invoice{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#f1f5f9;border:none;border-radius:6px;cursor:pointer;color:var(--portal-text-secondary);transition:all .2s ease}.btn-view-invoice:hover{background:var(--portal-primary);color:#fff}.invoice-detail-section{background:#f8fafc;border-radius:var(--portal-radius);padding:20px;border:1px solid #e2e8f0}.invoice-document{background:#fff;border-radius:var(--portal-radius-sm);border:1px solid #e2e8f0;overflow:hidden}.invoice-header{padding:20px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:flex-start}.invoice-title{font-size:18px;font-weight:700;color:var(--portal-text-primary);margin-bottom:8px}.invoice-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 24px}.meta-row{display:flex;gap:8px}.meta-label{font-size:12px;color:var(--portal-text-muted);min-width:60px}.meta-value{font-size:12px;font-weight:500;color:var(--portal-text-primary)}.meta-value.overdue{color:var(--portal-danger);font-weight:600}.invoice-items-wrapper{padding:20px}.invoice-items-table{width:100%;border-collapse:collapse}.invoice-items-table th{text-align:left;padding:10px 12px;background:#f8fafc;font-size:11px;font-weight:600;color:var(--portal-text-muted);text-transform:uppercase;border-bottom:1px solid #e2e8f0}.invoice-items-table td{padding:10px 12px;font-size:13px;color:var(--portal-text-primary);border-bottom:1px solid #f1f5f9}.invoice-items-table th.text-center,.invoice-items-table td.text-center{text-align:center}.invoice-items-table th.text-right,.invoice-items-table td.text-right{text-align:right}.item-part-no{font-size:11px;color:var(--portal-text-muted);margin-left:4px}.invoice-items-table tfoot td{border-bottom:none;font-size:13px}.invoice-items-table tfoot .subtotal-row td{padding-top:14px;border-top:2px solid #e2e8f0;color:var(--portal-text-secondary)}.invoice-items-table tfoot .tax-row td{color:var(--portal-text-secondary)}.invoice-items-table tfoot .total-row td{font-size:15px;font-weight:700;color:var(--portal-text-primary);padding-top:12px;border-top:1px solid #e2e8f0}.invoice-payment-info{padding:20px;background:#f8fafc;border-top:1px solid #e2e8f0}.payment-title{font-size:13px;font-weight:600;color:var(--portal-text-primary);margin-bottom:12px}.payment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 24px}.payment-item{display:flex;gap:8px}.payment-label{font-size:12px;color:var(--portal-text-muted);min-width:60px}.payment-value{font-size:12px;font-weight:500;color:var(--portal-text-primary)}.invoice-actions{display:flex;gap:10px;padding:16px 20px;border-top:1px solid #e2e8f0}.btn-download-invoice,.btn-pay-invoice{display:flex;align-items:center;gap:6px;padding:10px 18px;border-radius:var(--portal-radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.btn-download-invoice{background:#f1f5f9;color:var(--portal-text-secondary)}.btn-download-invoice:hover{background:#e2e8f0}.btn-pay-invoice{background:var(--portal-success);color:#fff}.btn-pay-invoice:hover{background:#16a34a}@media (prefers-color-scheme: dark){.portal-root{--portal-glass-bg: rgba(30, 41, 59, .95);--portal-glass-border: rgba(71, 85, 105, .3);--portal-card-bg: rgba(30, 41, 59, .9);--portal-card-hover: rgba(30, 41, 59, 1);--portal-text-primary: #f1f5f9;--portal-text-secondary: #94a3b8;--portal-text-muted: #64748b}.portal-dashboard{background:linear-gradient(180deg,#0f172a,#1e293b)}.portal-header{background:#1e293b;border-bottom-color:#334155}.portal-kpi-card,.portal-card{background:#1e293b;border-color:#334155}.portal-user-info{background:#334155}.portal-form-input,.portal-form-select,.portal-form-textarea{background:#1e293b;border-color:#475569;color:var(--portal-text-primary)}.portal-schedule-item,.portal-request-item,.portal-asset-table th{background:#334155}.drilldown-panel{background:#1e293b}.drilldown-header{border-bottom-color:#334155}.drilldown-close-btn{background:#334155;color:#94a3b8}.drilldown-close-btn:hover{background:#475569;color:#f1f5f9}.drilldown-section-title{border-bottom-color:#334155}.equipment-process-section,.contract-timeline-section,.billing-summary-section,.equipment-process-diagram-wrapper{background:#0f172a}.process-node{background:#334155;border-color:#475569;color:#94a3b8}.process-connector{color:#475569}.equipment-table th,.billing-table th,.contract-sla-table th,.invoice-items-table th{background:#0f172a;color:#94a3b8;border-bottom-color:#334155}.equipment-table td,.billing-table td,.contract-sla-table td,.invoice-items-table td{border-bottom-color:#334155}.equipment-table tbody tr:hover,.billing-table tbody tr:hover{background:#334155}.equipment-table tbody tr.selected,.billing-table tbody tr.row-selected{background:#0ea5e926}.equipment-detail-section,.invoice-detail-section{background:#0f172a;border-color:#334155}.timeline-content{background:#1e293b;border-color:#334155}.timeline-item.current .timeline-content{background:#0ea5e91a}.timeline-node{background:#1e293b;border-color:#475569}.contract-tabs{border-bottom-color:#334155}.contract-tab{color:#94a3b8}.contract-tab:hover{color:#f1f5f9}.contract-info-card{background:#0f172a}.billing-kpi-card,.invoice-document{background:#1e293b;border-color:#334155}.invoice-header{border-bottom-color:#334155}.invoice-payment-info{background:#0f172a;border-top-color:#334155}.invoice-actions{border-top-color:#334155}.btn-download-invoice{background:#334155;color:#94a3b8}.btn-download-invoice:hover{background:#475569}.btn-equipment-action.secondary,.btn-view-invoice{background:#334155;color:#94a3b8}.btn-equipment-action.secondary:hover,.btn-view-invoice:hover{background:#475569}.portal-modal-overlay{background:#000000b3}.portal-modal{background:#1e293b;box-shadow:0 25px 50px -12px #00000080}.portal-modal-header{border-bottom-color:#334155}.portal-modal-title{color:#f1f5f9}.portal-modal-close{background:#334155;color:#94a3b8}.portal-modal-close:hover{background:#475569;color:#f1f5f9}.portal-modal-footer{border-top-color:#334155}.portal-modal-btn.cancel{background:#334155;border-color:#475569;color:#94a3b8}.portal-modal-btn.cancel:hover{background:#475569;color:#f1f5f9}.portal-form-label{color:#e2e8f0}.portal-form-select,.portal-form-textarea{background:#0f172a;border-color:#475569;color:#f1f5f9}.portal-form-select:focus,.portal-form-textarea:focus{border-color:var(--portal-primary)}.portal-form-select option{background:#1e293b;color:#f1f5f9}.portal-priority-option{border-color:#475569;background:#0f172a}.portal-priority-option:hover{border-color:#64748b;background:#1e293b}.portal-priority-option.selected{border-color:var(--portal-primary);background:#0ea5e926}.portal-priority-option.urgent.selected{border-color:var(--portal-danger);background:#ef444426}.portal-priority-label{color:#f1f5f9}.portal-priority-desc{color:#64748b}.portal-inquiry-type-option{border-color:#475569;background:#0f172a;color:#94a3b8}.portal-inquiry-type-option:hover{border-color:#64748b;background:#1e293b}.portal-inquiry-type-option.selected{border-color:var(--portal-primary);background:#0ea5e933;color:#38bdf8}.portal-error-message,.portal-form-error{background:#ef444426;border-color:#ef44444d;color:#f87171}.portal-login-card{background:#1e293b;border-color:#334155}.portal-login-header{border-bottom-color:#334155}.portal-login-title{color:#f1f5f9}.portal-login-subtitle{color:#94a3b8}.portal-login-hint{background:#0ea5e91a;border-color:#0ea5e933}.portal-login-hint strong{color:#38bdf8}.portal-login-background{background:linear-gradient(180deg,#0f172a,#1e293b)}.portal-request-item,.portal-inquiry-item{background:#0f172a}.portal-request-item:hover{background:#3b82f626}.portal-inquiry-item:hover{background:#8b5cf626}.portal-request-title,.portal-inquiry-title{color:#f1f5f9}.portal-request-meta,.portal-inquiry-meta{color:#64748b}.portal-request-tech{color:#94a3b8}.portal-inquiry-type-badge{background:#64748b40;color:#94a3b8}.portal-request-status.pending,.portal-inquiry-status.pending{background:#f59e0b33;color:#fbbf24}.portal-request-status.in-progress,.portal-inquiry-status.in-progress{background:#3b82f633;color:#60a5fa}.portal-request-status.completed,.portal-inquiry-status.completed{background:#22c55e33;color:#4ade80}.portal-inquiry-answered{color:#4ade80}.portal-empty-state-mini{color:#64748b}}.contract-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border, #e2e8f0)}.contract-detail-title-section{display:flex;align-items:center;gap:12px}.contract-detail-name{font-size:18px;font-weight:600;color:var(--text-primary, #0f172a);margin:0}.tier-badge-large{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600}.expiry-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b)}.expiry-badge.expiry-warning{background:#ef44441a;color:#dc2626}.contract-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.contract-info-card{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--bg-secondary, #f8fafc);border-radius:10px;border:1px solid var(--border, #e2e8f0)}.contract-info-card.highlight{background:linear-gradient(135deg,#0ea5e914,#14b8a60d);border-color:#0ea5e933}.contract-info-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--panel, white);color:var(--portal-primary, #0ea5e9);flex-shrink:0}.contract-info-content{display:flex;flex-direction:column;gap:4px}.contract-info-label{font-size:12px;color:var(--text-secondary, #64748b)}.contract-info-value{font-size:14px;font-weight:600;color:var(--text-primary, #0f172a)}.contract-info-value.large{font-size:18px;color:var(--portal-primary, #0ea5e9)}.contract-section-title{font-size:14px;font-weight:600;color:var(--text-primary, #0f172a);margin:0 0 12px}.visit-usage-section{margin-bottom:20px}.visit-usage-card{background:var(--bg-secondary, #f8fafc);border-radius:10px;padding:16px;border:1px solid var(--border, #e2e8f0)}.visit-usage-numbers{display:flex;align-items:baseline;gap:4px;margin-bottom:10px}.visit-used{font-size:24px;font-weight:700;color:var(--portal-primary, #0ea5e9)}.visit-divider{font-size:18px;color:var(--text-muted, #94a3b8)}.visit-total{font-size:16px;font-weight:500;color:var(--text-primary, #0f172a)}.visit-remaining{font-size:13px;color:var(--text-secondary, #64748b);margin-left:8px}.visit-progress-bar{height:8px;background:var(--border, #e2e8f0);border-radius:4px;overflow:hidden;margin-bottom:8px}.visit-progress-fill{height:100%;background:var(--portal-primary, #0ea5e9);border-radius:4px;transition:width .3s ease}.visit-progress-fill.warning{background:var(--portal-warning, #f59e0b)}.visit-usage-percent{font-size:12px;color:var(--text-secondary, #64748b);text-align:right}.renewal-note-section{margin-bottom:20px}.renewal-note-text{font-size:14px;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc);padding:12px 16px;border-radius:8px;border-left:3px solid var(--portal-primary, #0ea5e9);margin:0}.contract-actions{display:flex;gap:12px;margin-bottom:20px}.contract-action-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.contract-action-btn.primary{background:var(--portal-primary, #0ea5e9);color:#fff}.contract-action-btn.primary:hover{background:var(--portal-primary-dark, #0284c7)}.billing-drilldown-wrapper{display:flex;flex-direction:column;height:100%}.billing-summary-header{padding:16px 20px;border-bottom:1px solid var(--border, #e2e8f0);background:var(--bg-secondary, #f8fafc)}.billing-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.billing-kpi-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--panel, white);border-radius:10px;border:1px solid var(--border, #e2e8f0)}.billing-kpi-card .kpi-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--bg-secondary, #f1f5f9);color:var(--portal-primary, #0ea5e9)}.billing-kpi-card .kpi-content{display:flex;flex-direction:column}.billing-kpi-card .kpi-label{font-size:12px;color:var(--text-secondary, #64748b)}.billing-kpi-card .kpi-value{font-size:18px;font-weight:700;color:var(--text-primary, #0f172a)}.billing-kpi-card .kpi-value.warning{color:var(--portal-danger, #ef4444)}.billing-warning{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:8px;font-size:13px;color:#dc2626}.billing-status-filter{display:flex;gap:6px;padding:10px 16px;border-bottom:1px solid var(--border, #e2e8f0)}.status-filter-btn{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;border:1px solid var(--border, #e2e8f0);background:var(--panel, white);color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s}.status-filter-btn:hover{border-color:var(--portal-primary, #0ea5e9);color:var(--portal-primary, #0ea5e9)}.status-filter-btn.active{background:var(--portal-primary, #0ea5e9);border-color:var(--portal-primary, #0ea5e9);color:#fff}.status-filter-btn.pending.active{background:#d97706;border-color:#d97706}.status-filter-btn.overdue.active{background:#dc2626;border-color:#dc2626}.status-filter-btn.paid.active{background:#16a34a;border-color:#16a34a}.invoice-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border, #e2e8f0)}.invoice-detail-title-section{display:flex;flex-direction:column;gap:4px}.invoice-detail-name{font-size:18px;font-weight:600;color:var(--text-primary, #0f172a);margin:0}.invoice-detail-date{font-size:13px;color:var(--text-secondary, #64748b)}.invoice-status-badge-large{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600}.invoice-status-badge-large.status-paid{background:#22c55e1a;color:#16a34a}.invoice-status-badge-large.status-pending{background:#f59e0b1a;color:#d97706}.invoice-status-badge-large.status-overdue{background:#ef44441a;color:#dc2626}.invoice-status-badge-large.status-cancelled{background:#94a3b81a;color:#64748b}.invoice-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.invoice-info-card{display:flex;align-items:flex-start;gap:12px;padding:14px;background:var(--bg-secondary, #f8fafc);border-radius:10px;border:1px solid var(--border, #e2e8f0)}.invoice-info-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--panel, white);color:var(--portal-primary, #0ea5e9);flex-shrink:0}.invoice-info-content{display:flex;flex-direction:column;gap:4px}.invoice-info-label{font-size:12px;color:var(--text-secondary, #64748b)}.invoice-info-value{font-size:14px;font-weight:600;color:var(--text-primary, #0f172a)}.invoice-info-value.large{font-size:18px;color:var(--portal-primary, #0ea5e9)}.invoice-info-value.overdue{color:#dc2626}.invoice-items-section{margin-bottom:20px}.invoice-section-title{font-size:14px;font-weight:600;color:var(--text-primary, #0f172a);margin:0 0 12px}.invoice-items-wrapper{border:1px solid var(--border, #e2e8f0);border-radius:10px;overflow:hidden}.invoice-items-table{width:100%;border-collapse:collapse;font-size:13px}.invoice-items-table th,.invoice-items-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border, #e2e8f0)}.invoice-items-table th{background:var(--bg-secondary, #f8fafc);font-weight:600;color:var(--text-secondary, #64748b);font-size:12px}.invoice-items-table td{color:var(--text-primary, #0f172a)}.invoice-items-table .text-center{text-align:center}.invoice-items-table .text-right{text-align:right}.invoice-items-table .item-part-no{font-size:11px;color:var(--text-muted, #94a3b8);margin-left:6px}.invoice-items-table tfoot tr:last-child td{border-bottom:none}.invoice-items-table .subtotal-row td{background:var(--bg-secondary, #f8fafc);font-weight:500}.invoice-items-table .tax-row td{background:var(--bg-secondary, #f8fafc)}.invoice-items-table .total-row td{background:linear-gradient(135deg,#0ea5e914,#14b8a60d);font-weight:700;font-size:14px;color:var(--portal-primary, #0ea5e9)}.invoice-payment-section{margin-bottom:20px}.invoice-payment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;background:var(--bg-secondary, #f8fafc);border-radius:10px;padding:16px;border:1px solid var(--border, #e2e8f0)}.invoice-payment-grid .payment-item{display:flex;flex-direction:column;gap:4px}.invoice-payment-grid .payment-label{font-size:12px;color:var(--text-secondary, #64748b)}.invoice-payment-grid .payment-value{font-size:14px;font-weight:500;color:var(--text-primary, #0f172a)}.invoice-actions{display:flex;gap:12px;margin-bottom:20px}.invoice-action-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.invoice-action-btn.primary{background:var(--portal-primary, #0ea5e9);color:#fff}.invoice-action-btn.primary:hover{background:var(--portal-primary-dark, #0284c7)}.invoice-action-btn.secondary{background:var(--portal-success, #22c55e);color:#fff}.invoice-action-btn.secondary:hover{background:#16a34a}.process-drilldown-wrapper{display:flex;flex-direction:column;height:100%;overflow:hidden}.process-view-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--panel, white);border-bottom:1px solid var(--border, #e2e8f0);flex-shrink:0}.process-view-toggle{display:flex;gap:4px;background:var(--bg-secondary, #f1f5f9);padding:4px;border-radius:8px}.view-toggle-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;background:transparent;color:var(--text-secondary, #64748b);font-size:13px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s}.view-toggle-btn:hover{color:var(--text-primary, #0f172a)}.view-toggle-btn.active{background:var(--panel, white);color:var(--portal-primary, #0ea5e9);box-shadow:0 1px 3px #0000001a}.health-kpi-summary{display:flex;gap:12px}.health-kpi-item{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500}.health-kpi-item.critical{background:#ef44441a;color:#dc2626}.health-kpi-item.warning{background:#f59e0b1a;color:#d97706}.health-kpi-item.healthy{background:#22c55e1a;color:#16a34a}.health-kpi-item.avg{background:#3b82f61a;color:#2563eb}.process-diagram-view{flex:1;overflow:auto;padding:16px;background:var(--bg-secondary, #f8fafc)}.health-status-icon{flex-shrink:0}.health-status-icon.critical{color:#dc2626}.health-status-icon.warning{color:#d97706}.health-status-icon.healthy{color:#16a34a}.drilldown-master-item-badge.health-score{min-width:48px;text-align:center;font-weight:600}.drilldown-master-item-badge.health-score.healthy{background:#22c55e1a;color:#16a34a}.drilldown-master-item-badge.health-score.warning{background:#f59e0b1a;color:#d97706}.drilldown-master-item-badge.health-score.critical{background:#ef44441a;color:#dc2626}.drilldown-master-item-badge.no-data{background:#94a3b81a;color:#94a3b8}.health-detail{padding:20px}.health-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border, #e2e8f0)}.health-detail-title-section h3{font-size:18px;font-weight:600;color:var(--text-primary, #0f172a);margin:0 0 4px}.health-detail-serial{font-size:13px;color:var(--text-secondary, #64748b)}.health-score-large{font-size:32px;font-weight:700;padding:8px 16px;border-radius:12px}.health-score-large.healthy{background:#22c55e1a;color:#16a34a}.health-score-large.warning{background:#f59e0b1a;color:#d97706}.health-score-large.critical{background:#ef44441a;color:#dc2626}.health-sensor-section{margin-bottom:24px}.health-sensor-section h4,.health-trend-section h4,.health-prediction-section h4{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary, #0f172a);margin:0 0 16px}.health-sensor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.health-sensor-item{background:var(--bg-secondary, #f8fafc);padding:12px;border-radius:8px}.health-sensor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.health-sensor-label{font-size:12px;color:var(--text-secondary, #64748b)}.health-sensor-value{font-size:14px;font-weight:600;color:var(--text-primary, #0f172a)}.health-sensor-threshold{font-size:11px;color:var(--text-muted, #94a3b8);margin-left:4px}.health-sensor-gauge{height:6px;background:var(--border, #e2e8f0);border-radius:3px;overflow:hidden}.health-gauge-fill{height:100%;border-radius:3px;transition:width .3s ease}.health-sensor-gauge.normal .health-gauge-fill{background:#22c55e}.health-sensor-gauge.warning .health-gauge-fill{background:#f59e0b}.health-sensor-gauge.critical .health-gauge-fill{background:#ef4444}.health-trend-section{margin-bottom:24px}.health-trend-chart{display:flex;gap:8px;background:var(--bg-secondary, #f8fafc);padding:16px;border-radius:8px}.health-trend-y-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:10px;color:var(--text-muted, #94a3b8);padding-right:8px;min-width:30px}.health-trend-bars{flex:1;display:flex;gap:8px;align-items:flex-end;height:100px}.health-trend-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%}.health-trend-bar{width:100%;max-width:32px;border-radius:4px 4px 0 0;transition:height .3s ease}.health-trend-bar.healthy{background:#22c55e}.health-trend-bar.warning{background:#f59e0b}.health-trend-bar.critical{background:#ef4444}.health-trend-date{font-size:10px;color:var(--text-muted, #94a3b8)}.health-prediction-section{margin-bottom:24px}.health-prediction-card{background:var(--bg-secondary, #f8fafc);padding:16px;border-radius:12px;border:1px solid var(--border, #e2e8f0)}.health-prediction-main{display:flex;gap:24px;margin-bottom:16px}.health-prediction-item{flex:1}.health-prediction-item label{display:block;font-size:12px;color:var(--text-secondary, #64748b);margin-bottom:4px}.health-prediction-date{font-size:16px;font-weight:600;color:#dc2626}.health-prediction-date small{font-size:12px;font-weight:400;color:var(--text-muted, #94a3b8);margin-left:4px}.health-prediction-confidence{font-size:16px;font-weight:600;color:var(--portal-primary, #0ea5e9)}.health-prediction-actions{margin-bottom:16px}.health-prediction-actions label{display:block;font-size:12px;color:var(--text-secondary, #64748b);margin-bottom:8px}.health-prediction-actions ul{margin:0;padding-left:20px}.health-prediction-actions li{font-size:13px;color:var(--text-primary, #0f172a);margin-bottom:4px}.health-prediction-parts{margin-bottom:16px}.health-prediction-parts label{display:block;font-size:12px;color:var(--text-secondary, #64748b);margin-bottom:8px}.health-parts-list{display:flex;flex-wrap:wrap;gap:8px}.health-part-tag{display:inline-block;padding:4px 10px;background:var(--bg-secondary, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:4px;font-size:12px;color:var(--text-primary, #0f172a)}.health-action-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none;width:100%;justify-content:center}.health-action-btn.primary{background:var(--portal-primary, #0ea5e9);color:#fff}.health-action-btn.primary:hover{background:var(--portal-primary-dark, #0284c7)}.health-no-prediction{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;background:var(--bg-secondary, #f8fafc);border-radius:12px;text-align:center}.health-no-prediction svg{color:#22c55e;margin-bottom:12px}.health-no-prediction p{font-size:16px;font-weight:600;color:var(--text-primary, #0f172a);margin:0 0 4px}.health-no-prediction small{font-size:13px;color:var(--text-secondary, #64748b)}.portal-kpi-grid.portal-kpi-grid-5{grid-template-columns:repeat(5,1fr)}.portal-kpi-icon.process{background:linear-gradient(135deg,#8b5cf6,#6366f1)}.portal-kpi-badge.alert{background:#ef44441a;color:#dc2626;animation:pulse-alert 2s infinite}@keyframes pulse-alert{0%,to{opacity:1}50%{opacity:.7}}@media (max-width: 1280px){.portal-kpi-grid.portal-kpi-grid-5{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.portal-kpi-grid.portal-kpi-grid-5{grid-template-columns:repeat(2,1fr)}.process-view-header{flex-direction:column;gap:12px;align-items:stretch}.health-kpi-summary{flex-wrap:wrap;justify-content:center}}.drilldown-master-item-metrics{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.eq-health-score{font-size:12px;font-weight:600;padding:2px 8px;border-radius:4px}.eq-health-score.healthy{background:#22c55e1a;color:#16a34a}.eq-health-score.warning{background:#f59e0b1a;color:#d97706}.eq-health-score.critical{background:#ef44441a;color:#dc2626}.eq-wo-badge{display:inline-block;margin-left:8px;padding:1px 6px;font-size:10px;font-weight:500;background:var(--primary, #0ea5e9);color:#fff;border-radius:3px}.text-error{color:#dc2626}.text-warning{color:#d97706}.text-success{color:#16a34a}.eq-detail-enhanced{padding:20px}.eq-detail-header-enhanced{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border, #e2e8f0)}.eq-detail-main-info{flex:1}.eq-detail-title-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.eq-detail-name{font-size:20px;font-weight:600;color:var(--text-primary, #0f172a);margin:0}.eq-detail-subtitle-row{display:flex;gap:16px}.eq-detail-model{font-size:14px;color:var(--text-secondary, #64748b)}.eq-detail-serial{font-size:13px;color:var(--text-tertiary, #94a3b8);font-family:monospace}.eq-health-card{display:flex;flex-direction:column;align-items:center;padding:16px 24px;border-radius:12px;min-width:100px}.eq-health-card.healthy{background:linear-gradient(135deg,#22c55e1a,#22c55e0d);border:1px solid rgba(34,197,94,.2)}.eq-health-card.warning{background:linear-gradient(135deg,#f59e0b1a,#f59e0b0d);border:1px solid rgba(245,158,11,.2)}.eq-health-card.critical{background:linear-gradient(135deg,#ef44441a,#ef44440d);border:1px solid rgba(239,68,68,.2)}.eq-health-score-display{display:flex;align-items:baseline}.eq-health-score-value{font-size:32px;font-weight:700}.eq-health-card.healthy .eq-health-score-value{color:#16a34a}.eq-health-card.warning .eq-health-score-value{color:#d97706}.eq-health-card.critical .eq-health-score-value{color:#dc2626}.eq-health-score-unit{font-size:16px;font-weight:500;color:var(--text-secondary, #64748b)}.eq-health-score-label{font-size:12px;color:var(--text-secondary, #64748b);margin-top:2px}.eq-health-prediction-mini{display:flex;align-items:center;gap:4px;margin-top:8px;padding:4px 8px;background:#ef44441a;border-radius:4px;font-size:11px;color:#dc2626}.eq-detail-two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.eq-detail-col{background:var(--bg-secondary, #f8fafc);border-radius:12px;padding:16px}.eq-section-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary, #0f172a);margin:0 0 16px}.eq-section-title svg{color:var(--primary, #0ea5e9)}.eq-info-list{display:flex;flex-direction:column;gap:12px}.eq-info-row{display:flex;justify-content:space-between;align-items:center}.eq-info-label{font-size:13px;color:var(--text-secondary, #64748b)}.eq-info-value{font-size:13px;font-weight:500;color:var(--text-primary, #0f172a)}.eq-metrics-grid{display:flex;flex-direction:column;gap:12px}.eq-metric-card{display:flex;align-items:center;gap:12px;padding:12px;background:var(--panel, white);border-radius:8px;border:1px solid var(--border, #e2e8f0)}.eq-metric-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px}.eq-metric-icon.uptime{background:#22c55e1a;color:#16a34a}.eq-metric-icon.pm{background:#0ea5e91a;color:#0ea5e9}.eq-metric-icon.wo{background:#94a3b81a;color:#64748b}.eq-metric-icon.wo.active{background:#f59e0b1a;color:#d97706}.eq-metric-content{display:flex;flex-direction:column}.eq-metric-value{font-size:16px;font-weight:600;color:var(--text-primary, #0f172a)}.eq-metric-value.eq-pm-date{color:var(--primary, #0ea5e9)}.eq-metric-label{font-size:11px;color:var(--text-secondary, #64748b)}.eq-sensor-section{margin-bottom:24px}.eq-sensor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.eq-sensor-card{padding:12px;background:var(--panel, white);border-radius:8px;border:1px solid var(--border, #e2e8f0)}.eq-sensor-card.warning{border-color:#f59e0b4d;background:#f59e0b05}.eq-sensor-card.critical{border-color:#ef44444d;background:#ef444405}.eq-sensor-header{display:flex;align-items:center;gap:6px;margin-bottom:8px}.eq-sensor-header svg{color:var(--text-secondary, #64748b)}.eq-sensor-card.warning .eq-sensor-header svg{color:#d97706}.eq-sensor-card.critical .eq-sensor-header svg{color:#dc2626}.eq-sensor-name{font-size:12px;font-weight:500;color:var(--text-secondary, #64748b)}.eq-sensor-value-row{display:flex;align-items:baseline;gap:4px;margin-bottom:8px}.eq-sensor-current{font-size:18px;font-weight:600;color:var(--text-primary, #0f172a)}.eq-sensor-card.warning .eq-sensor-current{color:#d97706}.eq-sensor-card.critical .eq-sensor-current{color:#dc2626}.eq-sensor-threshold{font-size:12px;color:var(--text-tertiary, #94a3b8)}.eq-sensor-bar{height:4px;background:var(--border, #e2e8f0);border-radius:2px;overflow:hidden}.eq-sensor-bar-fill{height:100%;border-radius:2px;background:#16a34a;transition:width .3s ease}.eq-sensor-card.warning .eq-sensor-bar-fill{background:#d97706}.eq-sensor-card.critical .eq-sensor-bar-fill{background:#dc2626}.eq-prediction-alert{margin-bottom:24px;background:#ef444408;border:1px solid rgba(239,68,68,.2);border-radius:12px;overflow:hidden}.eq-prediction-alert-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ef44441a;color:#dc2626;font-weight:600;font-size:14px}.eq-prediction-alert-content{padding:16px}.eq-prediction-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.eq-prediction-date{font-size:14px;color:var(--text-primary, #0f172a)}.eq-prediction-date strong{color:#dc2626}.eq-prediction-date span{color:var(--text-secondary, #64748b);margin-left:4px}.eq-prediction-confidence{font-size:13px;color:var(--text-secondary, #64748b)}.eq-prediction-actions-list{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.eq-prediction-actions-label{font-size:12px;color:var(--text-secondary, #64748b)}.eq-prediction-action-tag{padding:4px 10px;background:var(--bg-secondary, #f1f5f9);border-radius:4px;font-size:12px;color:var(--text-primary, #0f172a)}.eq-actions-row{display:flex;gap:12px;flex-wrap:wrap}.eq-action-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.eq-action-btn.primary{background:var(--primary, #0ea5e9);color:#fff}.eq-action-btn.primary:hover{background:var(--primary-dark, #0284c7)}.eq-action-btn.secondary{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #0f172a);border:1px solid var(--border, #e2e8f0)}.eq-action-btn.secondary:hover{background:var(--border, #e2e8f0)}@media (max-width: 900px){.eq-detail-two-col{grid-template-columns:1fr}.eq-sensor-grid{grid-template-columns:repeat(2,1fr)}.eq-detail-header-enhanced{flex-direction:column}.eq-health-card{width:100%;flex-direction:row;justify-content:space-between;padding:12px 16px}.eq-health-prediction-mini{margin-top:0;margin-left:auto}}.eq-history-section{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.eq-history-block{background:var(--bg-secondary, #f8fafc);border-radius:12px;padding:16px;border:1px solid var(--border, #e2e8f0)}.eq-section-title .eq-history-count{margin-left:auto;padding:2px 8px;background:var(--primary, #0ea5e9);color:#fff;font-size:11px;font-weight:500;border-radius:10px}.eq-history-list{display:flex;flex-direction:column;gap:12px}.eq-history-item{background:var(--panel, white);border-radius:8px;padding:12px;border:1px solid var(--border, #e2e8f0);transition:all .2s}.eq-history-item:hover{box-shadow:0 2px 6px #0000000f}.eq-history-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.eq-history-type{display:inline-block;padding:2px 8px;font-size:11px;font-weight:500;border-radius:4px}.eq-history-type.pm{background:#0ea5e91a;color:#0284c7}.eq-history-type.cm{background:#f59e0b1a;color:#d97706}.eq-history-type.inspection{background:#8b5cf61a;color:#7c3aed}.eq-history-type.calibration{background:#3b82f61a;color:#2563eb}.eq-history-type.overhaul{background:#ef44441a;color:#dc2626}.eq-history-date{font-size:12px;color:var(--text-secondary, #64748b)}.eq-history-desc{font-size:13px;color:var(--text-primary, #0f172a);margin:0 0 8px;line-height:1.5}.eq-history-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:12px}.eq-history-tech,.eq-history-hours{display:flex;align-items:center;gap:4px;color:var(--text-secondary, #64748b)}.eq-history-wo{padding:1px 6px;background:var(--bg-secondary, #f1f5f9);border-radius:3px;font-size:11px;color:var(--text-secondary, #64748b);font-family:monospace}.eq-history-result{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.eq-history-result.success{background:#22c55e1a;color:#16a34a}.eq-history-result.partial{background:#f59e0b1a;color:#d97706}.eq-history-result.failed{background:#ef44441a;color:#dc2626}.eq-history-empty{display:flex;align-items:center;justify-content:center;padding:24px;color:var(--text-tertiary, #94a3b8);font-size:13px}.eq-parts-table{overflow-x:auto}.eq-parts-table table{width:100%;border-collapse:collapse;font-size:13px}.eq-parts-table th,.eq-parts-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border, #e2e8f0)}.eq-parts-table th{background:var(--panel, white);font-weight:500;color:var(--text-secondary, #64748b);font-size:12px}.eq-parts-table tr:last-child td{border-bottom:none}.eq-parts-table tbody tr{background:var(--panel, white);transition:background .2s}.eq-parts-table tbody tr:hover{background:#0ea5e905}.eq-parts-date{font-size:12px;color:var(--text-secondary, #64748b);white-space:nowrap}.eq-parts-name{display:flex;flex-direction:column;gap:2px}.eq-parts-name-main{color:var(--text-primary, #0f172a);font-weight:500}.eq-parts-no{font-size:11px;color:var(--text-tertiary, #94a3b8);font-family:monospace}.eq-parts-qty{text-align:center;font-weight:500;color:var(--text-primary, #0f172a)}.eq-parts-reason{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.eq-parts-reason.worn{background:#f59e0b1a;color:#d97706}.eq-parts-reason.broken{background:#ef44441a;color:#dc2626}.eq-parts-reason.preventive{background:#0ea5e91a;color:#0284c7}.eq-parts-reason.upgrade{background:#8b5cf61a;color:#7c3aed}@media (max-width: 900px){.eq-history-section{grid-template-columns:1fr}}.remote-session-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;z-index:10000;display:flex;flex-direction:column;animation:rsm-fade-in .3s ease-out}@keyframes rsm-fade-in{0%{opacity:0}to{opacity:1}}.rsm-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1)}.rsm-header-left{display:flex;align-items:center;gap:12px}.rsm-session-badge{background:var(--error, #ef4444);color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px;animation:rsm-pulse 2s infinite}@keyframes rsm-pulse{0%,to{opacity:1}50%{opacity:.6}}.rsm-session-no{color:#ffffffe6;font-weight:600;font-size:14px}.rsm-asset-name{color:#fff9;font-size:13px}.rsm-header-center{display:flex;flex-direction:column;align-items:center;gap:6px}.rsm-step-indicator{display:flex;align-items:center;gap:6px;color:var(--primary, #3b82f6);font-size:13px;font-weight:500}.rsm-progress-bar{width:200px;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.rsm-progress-fill{height:100%;background:var(--primary, #3b82f6);transition:width .5s ease}.rsm-header-right{display:flex;align-items:center;gap:8px}.rsm-header-btn{background:#ffffff1a;border:none;color:#fffc;width:36px;height:36px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.rsm-header-btn:hover{background:#fff3;color:#fff}.rsm-content{flex:1;display:flex;padding:20px;gap:20px;overflow:hidden}.rsm-video-area{flex:1;display:flex;gap:16px}.rsm-video-main{flex:1;position:relative;border-radius:12px;overflow:hidden}.rsm-video-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.rsm-video-placeholder.remote{background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid rgba(255,255,255,.1);border-radius:12px}.rsm-video-label{position:absolute;top:12px;left:12px;background:#0009;color:#fffc;font-size:11px;padding:4px 10px;border-radius:4px}.rsm-equipment-visual{display:flex;flex-direction:column;align-items:center;gap:16px}.rsm-equipment-icon{width:120px;height:120px;background:#ffffff0d;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff6}.rsm-equipment-name{color:#ffffffe6;font-size:18px;font-weight:600}.rsm-equipment-status{display:flex;align-items:center;gap:6px;font-size:13px}.rsm-equipment-status .status-issue{color:var(--warning, #f59e0b);display:flex;align-items:center;gap:4px}.rsm-equipment-status .status-ok{color:var(--success, #22c55e);display:flex;align-items:center;gap:4px}.rsm-video-pip{position:absolute;bottom:16px;right:16px;width:160px;height:120px;border-radius:8px;overflow:hidden;border:2px solid rgba(255,255,255,.2)}.rsm-video-placeholder.local{background:linear-gradient(135deg,#374151,#1f2937)}.rsm-engineer-avatar{width:48px;height:48px;background:var(--primary, #3b82f6);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:18px}.rsm-engineer-name{color:#fffc;font-size:11px;margin-top:6px}.rsm-ar-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);animation:rsm-ar-appear .5s ease-out}@keyframes rsm-ar-appear{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.rsm-ar-pointer{width:80px;height:80px;border:3px solid var(--primary, #3b82f6);border-radius:50%;animation:rsm-ar-pulse 1.5s infinite;margin:0 auto 16px}@keyframes rsm-ar-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.6}}.rsm-ar-guide{background:#3b82f6f2;padding:16px 24px;border-radius:12px;max-width:300px;text-align:center}.rsm-ar-title{color:#fffc;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.rsm-ar-content{color:#fff;font-size:14px;line-height:1.5}.rsm-diagnostic-panel{width:260px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;display:flex;flex-direction:column}.rsm-panel-title{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08);color:#ffffffe6;font-size:13px;font-weight:600}.rsm-diagnostic-list{flex:1;padding:12px;overflow-y:auto}.rsm-diagnostic-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;margin-bottom:6px;transition:all .3s}.rsm-diagnostic-item.pending{background:#ffffff05;color:#fff6}.rsm-diagnostic-item.checking{background:#3b82f626;color:var(--primary, #3b82f6)}.rsm-diagnostic-item.ok{background:#22c55e1a;color:var(--success, #22c55e)}.rsm-diagnostic-item.warning{background:#f59e0b1a;color:var(--warning, #f59e0b)}.rsm-diagnostic-item.error{background:#ef44441a;color:var(--error, #ef4444)}.rsm-diag-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center}.rsm-diag-icon .spin{animation:rsm-spin 1s linear infinite}@keyframes rsm-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pending-dot{width:8px;height:8px;background:#ffffff4d;border-radius:50%}.rsm-diag-label{flex:1;font-size:12px}.rsm-diag-value{font-size:11px;opacity:.8}.rsm-chat-panel{width:320px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;display:flex;flex-direction:column}.rsm-chat-messages{flex:1;padding:12px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.rsm-chat-message{animation:rsm-msg-appear .3s ease-out}@keyframes rsm-msg-appear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.rsm-msg-system{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffff0d;border-radius:8px;font-size:12px;color:#ffffffb3}.rsm-msg-icon{display:flex;align-items:center}.rsm-msg-engineer,.rsm-msg-customer,.rsm-msg-ai{padding:10px 12px;border-radius:12px;font-size:13px;line-height:1.4}.rsm-msg-engineer{background:var(--primary, #3b82f6);color:#fff;margin-left:40px;border-bottom-right-radius:4px}.rsm-msg-customer{background:#ffffff1a;color:#ffffffe6;margin-right:40px;border-bottom-left-radius:4px}.rsm-msg-ai{background:#a855f733;color:#ffffffe6;border-left:3px solid #a855f7}.rsm-msg-sender{display:block;font-size:10px;opacity:.7;margin-bottom:4px;font-weight:600}.rsm-msg-time{display:block;font-size:10px;color:#fff6;text-align:right;margin-top:4px}.rsm-toolbar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#ffffff08;border-top:1px solid rgba(255,255,255,.1)}.rsm-toolbar-left,.rsm-toolbar-right{display:flex;align-items:center;gap:12px}.rsm-toolbar-center{display:flex;align-items:center}.rsm-tool-btn{width:48px;height:48px;border-radius:50%;border:none;background:#ffffff1a;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.rsm-tool-btn:hover{background:#fff3}.rsm-tool-btn.off{background:#ef44444d;color:var(--error, #ef4444)}.rsm-tool-btn.active{background:var(--primary, #3b82f6)}.rsm-end-call-btn{display:flex;align-items:center;gap:8px;padding:12px 32px;border-radius:30px;border:none;background:var(--error, #ef4444);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.rsm-end-call-btn:hover{background:#dc2626;transform:scale(1.02)}.rsm-complete-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;animation:rsm-fade-in .5s ease-out}.rsm-complete-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:40px 60px;text-align:center;animation:rsm-scale-in .5s ease-out}@keyframes rsm-scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.rsm-complete-icon{color:var(--success, #22c55e);margin-bottom:20px}.rsm-complete-card h3{color:#fff;font-size:24px;margin-bottom:12px}.rsm-complete-card p{color:#ffffffb3;font-size:14px;margin-bottom:24px;max-width:300px}.rsm-complete-stats{display:flex;gap:40px;justify-content:center;margin-bottom:32px}.rsm-stat{display:flex;flex-direction:column;gap:4px}.rsm-stat-label{color:#ffffff80;font-size:12px}.rsm-stat-value{color:#fff;font-size:18px;font-weight:600}.rsm-complete-btn{padding:12px 40px;border-radius:8px;border:none;background:var(--primary, #3b82f6);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.rsm-complete-btn:hover{background:#2563eb}.video-feed-container{position:relative;width:100%;height:100%;border-radius:12px;overflow:hidden;background:#0a0a0a}.video-feed-video{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:0;transition:opacity .5s ease-in-out;z-index:1}.video-feed-video.loaded{opacity:1}.video-feed-video.hidden{opacity:0}.video-feed-canvas-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none}.video-feed-canvas-overlay.glitching{filter:brightness(1.2) contrast(1.1)}.video-feed-canvas{width:100%;height:100%;display:block}.video-feed-canvas.glitching{filter:brightness(1.2) contrast(1.1)}.video-feed-scanlines{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:3;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15) 0px,rgba(0,0,0,.15) 1px,transparent 1px,transparent 2px);animation:scanline-move 10s linear infinite}@keyframes scanline-move{0%{background-position:0 0}to{background-position:0 100px}}.video-feed-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;padding:12px;z-index:4}.video-feed-top-left{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:10px}.video-feed-label{background:#000000b3;color:#ffffffe6;font-size:11px;font-family:monospace;padding:4px 10px;border-radius:4px;letter-spacing:1px}.video-feed-rec{display:flex;align-items:center;gap:6px;background:#ef4444e6;color:#fff;font-size:10px;font-family:monospace;font-weight:700;padding:4px 8px;border-radius:4px}.rec-dot{width:8px;height:8px;background:#fff;border-radius:50%;animation:rec-blink 1s infinite}@keyframes rec-blink{0%,to{opacity:1}50%{opacity:.3}}.video-feed-top-right{position:absolute;top:12px;right:12px}.video-feed-signal{display:flex;align-items:center;gap:6px;background:#000000b3;padding:6px 10px;border-radius:4px}.signal-icon{color:var(--success, #22c55e)}.signal-icon.off{color:var(--error, #ef4444)}.signal-bars{display:flex;align-items:flex-end;gap:2px;height:16px}.signal-bar{width:4px;background:#fff3;border-radius:1px;transition:background .3s}.signal-bar.active{background:var(--success, #22c55e)}.video-feed-bottom{position:absolute;bottom:12px;left:12px}.video-feed-timestamp{background:#000000b3;color:#ffffffe6;font-size:12px;font-family:monospace;padding:4px 10px;border-radius:4px;letter-spacing:.5px}.video-feed-custom-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.rsm-equipment-overlay{position:absolute;bottom:50px;left:50%;transform:translate(-50%)}.rsm-equipment-overlay .rsm-equipment-status{background:#000000b3;padding:8px 16px;border-radius:20px}.rsm-equipment-overlay .status-ok{color:var(--success, #22c55e);display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500}.rsm-equipment-overlay .status-issue{color:var(--warning, #f59e0b);display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500}.video-feed-custom-overlay .rsm-ar-overlay{position:relative;top:auto;left:auto;transform:none}.smart-service-center{height:100%;display:flex;flex-direction:column;background:var(--bg-secondary);overflow:hidden}.ssc-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--panel);border-bottom:1px solid var(--border)}.ssc-header-title{display:flex;align-items:center;gap:12px}.ssc-header-icon{width:28px;height:28px;color:var(--primary)}.ssc-header-title h1{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.ssc-header-actions{display:flex;gap:8px}.ssc-btn-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-secondary);cursor:pointer;transition:all .15s}.ssc-btn-icon:hover{background:var(--bg-secondary);color:var(--text-primary)}.ssc-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:16px 20px;background:var(--panel);border-bottom:1px solid var(--border)}.ssc-kpi-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-secondary);border-radius:8px}.ssc-kpi-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;color:#fff}.ssc-kpi-content{display:flex;flex-direction:column}.ssc-kpi-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.2}.ssc-kpi-label{font-size:.75rem;color:var(--text-secondary)}.ssc-main{flex:1;display:flex;overflow:hidden}.ssc-customer-list{width:320px;min-width:320px;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.ssc-customer-search{padding:12px;border-bottom:1px solid var(--border)}.ssc-customer-search input{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem}.ssc-customer-search input::-moz-placeholder{color:var(--text-secondary)}.ssc-customer-search input::placeholder{color:var(--text-secondary)}.ssc-customer-items{flex:1;overflow-y:auto;padding:8px}.ssc-customer-item{padding:12px;margin-bottom:8px;border:1px solid var(--border);border-radius:8px;background:var(--panel);cursor:pointer;transition:all .15s}.ssc-customer-item:hover{background:var(--bg-secondary)}.ssc-customer-item.selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.ssc-customer-name{font-weight:600;color:var(--text-primary);margin-bottom:4px;display:flex;align-items:center;gap:6px}.ssc-customer-name svg{width:16px;height:16px;color:var(--text-secondary)}.ssc-customer-meta{font-size:.75rem;color:var(--text-secondary);margin-bottom:8px}.ssc-customer-badges{display:flex;flex-wrap:wrap;gap:6px}.ssc-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:500}.ssc-badge.healthy{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.ssc-badge.warning{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning)}.ssc-badge.critical{background:color-mix(in srgb,var(--error) 15%,transparent);color:var(--error)}.ssc-badge.session{background:color-mix(in srgb,var(--info) 15%,transparent);color:var(--info)}.ssc-badge.request{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.ssc-detail{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--panel)}.ssc-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-secondary)}.ssc-empty-state svg{opacity:.5}.ssc-tabs{display:flex;gap:4px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.ssc-tab{padding:8px 16px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.ssc-tab:hover{background:var(--panel);color:var(--text-primary)}.ssc-tab.active{background:var(--primary);color:#fff}.ssc-tab-content{flex:1;overflow-y:auto;padding:16px}.ssc-section{margin-bottom:20px}.ssc-section-title{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.ssc-table{width:100%;border-collapse:collapse;font-size:.8125rem}.ssc-table th,.ssc-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}.ssc-table th{font-weight:600;color:var(--text-secondary);background:var(--bg-secondary)}.ssc-table td{color:var(--text-primary)}.ssc-table tbody tr:hover{background:var(--bg-secondary)}.ssc-table tbody tr.selected{background:color-mix(in srgb,var(--primary) 10%,transparent)}.ssc-status{display:inline-flex;align-items:center;gap:6px}.ssc-status-dot{width:8px;height:8px;border-radius:50%}.ssc-status-dot.healthy,.ssc-status-dot.operational{background:var(--success)}.ssc-status-dot.warning,.ssc-status-dot.maintenance{background:var(--warning)}.ssc-status-dot.critical,.ssc-status-dot.breakdown{background:var(--error)}.ssc-health-score{display:inline-flex;align-items:center;gap:6px;font-weight:600}.ssc-health-score.healthy{color:var(--success)}.ssc-health-score.warning{color:var(--warning)}.ssc-health-score.critical{color:var(--error)}.ssc-sensor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.ssc-sensor-item{padding:12px;background:var(--bg-secondary);border-radius:8px}.ssc-sensor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ssc-sensor-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.ssc-sensor-bar-fill{height:100%;border-radius:3px;transition:width .3s}.ssc-sensor-bar-fill.normal{background:var(--success)}.ssc-sensor-bar-fill.warning{background:var(--warning)}.ssc-sensor-bar-fill.critical{background:var(--error)}.ssc-trend-chart{height:120px;background:var(--bg-secondary);border-radius:8px;padding:12px;margin-bottom:16px}.ssc-prediction-panel{padding:16px;background:color-mix(in srgb,var(--warning) 10%,transparent);border:1px solid var(--warning);border-radius:8px;margin-bottom:16px}.ssc-prediction-panel.critical{background:color-mix(in srgb,var(--error) 10%,transparent);border-color:var(--error)}.ssc-prediction-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.ssc-prediction-header svg{color:var(--warning)}.ssc-prediction-panel.critical .ssc-prediction-header svg{color:var(--error)}.ssc-prediction-title{font-weight:600;color:var(--text-primary)}.ssc-prediction-body{font-size:.875rem;color:var(--text-primary)}.ssc-prediction-row{display:flex;justify-content:space-between;margin-bottom:8px}.ssc-prediction-label{color:var(--text-secondary)}.ssc-prediction-value{font-weight:500}.ssc-prediction-actions{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.ssc-prediction-actions h4{font-size:.75rem;color:var(--text-secondary);margin-bottom:8px}.ssc-prediction-actions ul{margin:0;padding-left:20px;font-size:.8125rem}.ssc-session-card{padding:16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;margin-bottom:12px}.ssc-session-no{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text-primary)}.ssc-session-status{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:500}.ssc-session-body{display:grid;grid-template-columns:200px 1fr;gap:16px}.ssc-session-video{aspect-ratio:16/9;background:#1a1a1a;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#888;font-size:.75rem}.ssc-session-video svg{margin-bottom:8px}.ssc-session-info{font-size:.8125rem}.ssc-session-info-row{display:flex;margin-bottom:6px}.ssc-session-info-label{width:80px;color:var(--text-secondary)}.ssc-session-info-value{color:var(--text-primary)}.ssc-btn{padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);font-size:.75rem;cursor:pointer;transition:all .15s}.ssc-request-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--bg-secondary);border-radius:8px;margin-bottom:8px}.ssc-request-info{flex:1}.ssc-request-asset{font-weight:500;color:var(--text-primary);margin-bottom:4px}.ssc-request-desc{font-size:.75rem;color:var(--text-secondary)}.ssc-request-meta{display:flex;align-items:center;gap:12px}.ssc-priority{padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600}.ssc-priority.critical{background:color-mix(in srgb,var(--error) 15%,transparent);color:var(--error)}.ssc-priority.high{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning)}.ssc-priority.medium{background:color-mix(in srgb,var(--info) 15%,transparent);color:var(--info)}.ssc-waiting-time{font-size:.75rem;color:var(--text-secondary)}.ssc-contract-card{padding:16px;background:var(--bg-secondary);border-radius:8px;margin-bottom:16px}.ssc-contract-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ssc-contract-no{font-weight:600;color:var(--text-primary)}.ssc-contract-tier{padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600}.ssc-contract-tier.premium{background:linear-gradient(135deg,gold,#ffb347);color:#1a1a1a}.ssc-contract-tier.standard{background:var(--primary);color:#fff}.ssc-contract-tier.basic{background:var(--text-secondary);color:#fff}.ssc-contract-body{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;font-size:.8125rem}.ssc-contract-row{display:flex;justify-content:space-between}.ssc-contract-label{color:var(--text-secondary)}.ssc-contract-value{color:var(--text-primary);font-weight:500}.ssc-stats-row{display:flex;gap:16px;padding:12px;background:var(--bg-secondary);border-radius:8px}.ssc-stat-item{flex:1;text-align:center}.ssc-tab-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary);text-align:center}.ssc-tab-empty svg{margin-bottom:12px;opacity:.5}.ssc-health-list{display:flex;flex-direction:column;gap:8px}.ssc-health-item{display:flex;align-items:center;padding:12px;background:var(--bg-secondary);border-radius:8px;cursor:pointer;transition:all .15s}.ssc-health-item:hover{background:color-mix(in srgb,var(--primary) 10%,transparent)}.ssc-health-item.selected{border:1px solid var(--primary)}.ssc-health-item-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:12px;font-size:.75rem;font-weight:700;color:#fff}.ssc-health-item-icon.healthy{background:var(--success)}.ssc-health-item-icon.warning{background:var(--warning)}.ssc-health-item-icon.critical{background:var(--error)}.ssc-health-item-content{flex:1}.ssc-health-item-name{font-weight:500;color:var(--text-primary);margin-bottom:2px}.ssc-health-item-sub{font-size:.75rem;color:var(--text-secondary)}.ssc-health-item-score{font-size:1.25rem;font-weight:700}.ssc-health-item-score.healthy{color:var(--success)}.ssc-health-item-score.warning{color:var(--warning)}.ssc-health-item-score.critical{color:var(--error)}.ssc-split-panel{display:grid;grid-template-columns:280px 1fr;gap:16px;height:100%}.ssc-split-left,.ssc-split-right{overflow-y:auto}.ssc-asset-detail-header{margin-bottom:16px}.ssc-asset-detail-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.ssc-asset-detail-serial{font-size:.8125rem;color:var(--text-secondary)}@media (max-width: 1200px){.ssc-kpi-row{grid-template-columns:repeat(2,1fr)}.ssc-split-panel{grid-template-columns:1fr}}@media (max-width: 900px){.ssc-main{flex-direction:column}.ssc-customer-list{width:100%;min-width:100%;max-height:250px;border-right:none;border-bottom:1px solid var(--border)}.ssc-customer-items{display:flex;overflow-x:auto;gap:8px;padding:8px 12px}.ssc-customer-item{min-width:200px;margin-bottom:0}}.ssc-asset-overview{display:flex;flex-direction:column;gap:16px}.ssc-asset-table-wrapper{overflow-x:auto}.ssc-asset-table{width:100%;border-collapse:collapse;font-size:.8125rem}.ssc-asset-table th,.ssc-asset-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}.ssc-asset-table th{font-weight:600;color:var(--text-secondary);background:var(--bg-secondary)}.ssc-asset-table td{color:var(--text-primary)}.ssc-asset-table tbody tr{cursor:pointer;transition:background .15s}.ssc-asset-table tbody tr:hover{background:var(--bg-secondary)}.ssc-asset-table tbody tr.selected{background:color-mix(in srgb,var(--primary) 10%,transparent)}.ssc-asset-name-cell{display:flex;align-items:center;gap:8px}.ssc-asset-name-cell svg{color:var(--text-secondary)}.ssc-status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:500}.ssc-status-badge.healthy{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.ssc-status-badge.warning{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning)}.ssc-status-badge.critical{background:color-mix(in srgb,var(--error) 15%,transparent);color:var(--error)}.ssc-status-badge.disabled{background:color-mix(in srgb,var(--text-secondary) 15%,transparent);color:var(--text-secondary)}.ssc-asset-detail{padding:16px;background:var(--bg-secondary);border-radius:8px}.ssc-asset-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.ssc-asset-detail-header h4{display:flex;align-items:center;gap:8px;margin:0;font-size:1rem;color:var(--text-primary)}.ssc-asset-detail-badges{display:flex;gap:8px}.ssc-asset-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.ssc-detail-item{display:flex;flex-direction:column;gap:4px}.ssc-detail-item.full{grid-column:span 3}.ssc-detail-item label{font-size:.7rem;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.ssc-detail-item span{font-size:.875rem;color:var(--text-primary)}.ssc-asset-specs{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.ssc-asset-specs h5{font-size:.75rem;color:var(--text-secondary);margin:0 0 12px}.ssc-specs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ssc-spec-item{display:flex;flex-direction:column;gap:4px}.ssc-spec-item label{font-size:.7rem;color:var(--text-secondary)}.ssc-spec-item span{font-size:.8125rem;color:var(--text-primary)}.ssc-asset-actions{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.ssc-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);font-size:.8125rem;cursor:pointer;transition:all .15s}.ssc-btn:hover{background:var(--bg-secondary)}.ssc-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.ssc-btn.primary:hover{opacity:.9}.ssc-btn.secondary{background:var(--panel);border-color:var(--border)}.ssc-btn.text{background:transparent;border-color:transparent;color:var(--text-secondary)}.ssc-btn.text:hover{color:var(--text-primary)}.ssc-btn.danger{background:var(--error);border-color:var(--error);color:#fff}.ssc-btn.full{width:100%;justify-content:center}.ssc-predictive-tab{height:100%}.ssc-predictive-content{display:grid;grid-template-columns:360px 1fr;gap:16px;height:calc(100vh - 300px);min-height:400px}.ssc-health-list{display:flex;flex-direction:column;overflow:hidden}.ssc-health-list h4{margin:0 0 12px;font-size:.875rem;color:var(--text-primary)}.ssc-health-items{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.ssc-health-item{padding:12px;border-radius:8px;background:var(--bg-secondary);cursor:pointer;transition:all .15s;border:1px solid transparent}.ssc-health-item:hover{background:color-mix(in srgb,var(--primary) 5%,var(--bg-secondary))}.ssc-health-item.selected{border-color:var(--primary)}.ssc-health-item.warning{border-left:3px solid var(--warning)}.ssc-health-item.critical{border-left:3px solid var(--error)}.ssc-health-item-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.status-icon{flex-shrink:0}.status-icon.healthy{color:var(--success)}.status-icon.warning{color:var(--warning)}.status-icon.critical{color:var(--error)}.ssc-health-asset-name{font-weight:500;color:var(--text-primary);font-size:.875rem}.ssc-health-item-score{display:flex;align-items:baseline;gap:4px}.ssc-health-value{font-size:1.125rem;font-weight:700}.ssc-health-prediction-badge{display:inline-flex;align-items:center;gap:4px;margin-top:8px;padding:4px 8px;border-radius:4px;font-size:.7rem;background:color-mix(in srgb,var(--error) 15%,transparent);color:var(--error)}.ssc-health-detail{overflow-y:auto;padding:16px;background:var(--bg-secondary);border-radius:8px}.ssc-health-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.ssc-health-detail-header h4{margin:0;font-size:1rem;color:var(--text-primary)}.ssc-asset-serial{font-size:.75rem;color:var(--text-secondary);margin-top:4px}.ssc-health-score-large{font-size:2rem;font-weight:700}.ssc-sensor-section,.ssc-trend-section,.ssc-prediction-section{margin-bottom:20px}.ssc-sensor-section h5,.ssc-trend-section h5,.ssc-prediction-section h5{display:flex;align-items:center;gap:6px;margin:0 0 12px;font-size:.8125rem;color:var(--text-secondary)}.ssc-sensor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.ssc-sensor-item{padding:12px;background:var(--panel);border-radius:8px}.ssc-sensor-header{display:flex;justify-content:space-between;margin-bottom:8px}.ssc-sensor-label{font-size:.75rem;color:var(--text-secondary)}.ssc-sensor-value{font-size:.875rem;font-weight:600;color:var(--text-primary)}.ssc-sensor-threshold{font-size:.7rem;color:var(--text-secondary);margin-left:4px}.ssc-sensor-gauge{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.ssc-gauge-fill{height:100%;border-radius:3px;transition:width .3s}.ssc-sensor-gauge.normal .ssc-gauge-fill{background:var(--success)}.ssc-sensor-gauge.warning .ssc-gauge-fill{background:var(--warning)}.ssc-sensor-gauge.critical .ssc-gauge-fill{background:var(--error)}.ssc-trend-chart{display:flex;gap:12px;padding:16px;background:var(--panel);border-radius:8px}.ssc-trend-y-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:.7rem;color:var(--text-secondary)}.ssc-trend-bars{flex:1;display:flex;gap:8px;align-items:flex-end;height:80px}.ssc-trend-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.ssc-trend-bar{width:100%;max-width:24px;border-radius:3px 3px 0 0;transition:height .3s}.ssc-trend-bar.healthy{background:var(--success)}.ssc-trend-bar.warning{background:var(--warning)}.ssc-trend-bar.critical{background:var(--error)}.ssc-trend-date{margin-top:4px;font-size:.65rem;color:var(--text-secondary)}.ssc-prediction-card{padding:16px;background:var(--panel);border-radius:8px;border-left:3px solid var(--warning)}.ssc-prediction-main{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.ssc-prediction-item{display:flex;flex-direction:column;gap:4px}.ssc-prediction-item label{font-size:.75rem;color:var(--text-secondary)}.ssc-prediction-date{font-size:1rem;font-weight:600;color:var(--error)}.ssc-prediction-date small{font-size:.75rem;font-weight:400;color:var(--text-secondary);margin-left:4px}.ssc-prediction-confidence{font-size:1rem;font-weight:600;color:var(--text-primary)}.ssc-prediction-actions{margin-bottom:16px}.ssc-prediction-actions label{font-size:.75rem;color:var(--text-secondary);display:block;margin-bottom:8px}.ssc-prediction-actions ul{margin:0;padding-left:20px;font-size:.8125rem;color:var(--text-primary)}.ssc-prediction-actions li{margin-bottom:4px}.ssc-prediction-parts{margin-bottom:16px}.ssc-prediction-parts label{font-size:.75rem;color:var(--text-secondary);display:block;margin-bottom:8px}.ssc-parts-list{display:flex;flex-wrap:wrap;gap:6px}.ssc-part-tag{padding:4px 8px;border-radius:4px;font-size:.75rem;background:var(--bg-secondary);color:var(--text-primary)}.ssc-no-prediction{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:var(--success);text-align:center}.ssc-no-prediction p{margin:12px 0 4px;font-weight:600}.ssc-no-prediction small{color:var(--text-secondary)}.ssc-health-detail-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}.ssc-health-detail-placeholder svg{margin-bottom:12px;opacity:.5}.ssc-remote-tab{display:flex;flex-direction:column;gap:20px}.ssc-remote-section{padding:16px;background:var(--bg-secondary);border-radius:8px}.ssc-remote-section h4{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:.875rem;color:var(--text-primary)}.ssc-session-list{display:flex;flex-direction:column;gap:12px}.ssc-session-card{display:flex;gap:16px;padding:16px;background:var(--panel);border-radius:8px;border:1px solid var(--border)}.ssc-session-card.active{border-color:var(--success)}.ssc-session-video-mock{width:200px;aspect-ratio:16/9;background:#1a1a2e;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.ssc-video-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:#666;font-size:.75rem}.ssc-video-controls{position:absolute;bottom:8px;display:flex;gap:8px}.ssc-video-btn{width:28px;height:28px;border-radius:50%;border:none;background:#ffffff1a;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.ssc-video-btn:hover{background:#fff3}.ssc-session-info{flex:1}.ssc-session-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ssc-session-no{font-weight:600;color:var(--text-primary)}.ssc-session-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500}.ssc-session-status.active{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.ssc-session-meta{font-size:.8125rem;color:var(--text-primary)}.ssc-session-meta p{margin:0 0 4px}.ssc-session-meta strong{color:var(--text-secondary);font-weight:400;margin-right:8px}.ssc-session-participants{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:.75rem;color:var(--text-secondary)}.ssc-participant{padding:2px 8px;border-radius:12px;background:var(--bg-secondary);color:var(--text-primary)}.ssc-participant.host{background:var(--primary);color:#fff}.ssc-session-actions{display:flex;gap:8px;margin-top:12px}.ssc-request-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.ssc-request-card{padding:12px;background:var(--panel);border-radius:8px;border:1px solid var(--border)}.ssc-request-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ssc-priority-badge{padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600}.ssc-priority-badge.critical{background:color-mix(in srgb,var(--error) 15%,transparent);color:var(--error)}.ssc-priority-badge.high{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning)}.ssc-priority-badge.medium{background:color-mix(in srgb,var(--info) 15%,transparent);color:var(--info)}.ssc-priority-badge.low{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.ssc-request-time{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-secondary)}.ssc-request-body{margin-bottom:12px}.ssc-request-asset{font-weight:500;color:var(--text-primary);margin:0 0 4px}.ssc-request-issue{font-size:.8125rem;color:var(--text-secondary);margin:0}.ssc-request-actions{display:flex;gap:8px}.ssc-empty-section{display:flex;flex-direction:column;align-items:center;padding:24px;color:var(--text-secondary)}.ssc-empty-section svg{margin-bottom:8px;opacity:.5}.ssc-history-table{width:100%;border-collapse:collapse;font-size:.8125rem}.ssc-history-table th,.ssc-history-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}.ssc-history-table th{font-weight:600;color:var(--text-secondary);background:var(--panel)}.ssc-history-table td{color:var(--text-primary)}.ssc-result-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:500}.ssc-result-badge.resolved{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.ssc-result-badge.escalated{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning)}.ssc-history-tab{display:flex;flex-direction:column;gap:20px}.ssc-history-section{padding:16px;background:var(--bg-secondary);border-radius:8px}.ssc-history-section h4{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:.875rem;color:var(--text-primary)}.ssc-wo-table-wrapper{overflow-x:auto}.ssc-wo-table{width:100%;border-collapse:collapse;font-size:.8125rem}.ssc-wo-table th,.ssc-wo-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}.ssc-wo-table th{font-weight:600;color:var(--text-secondary);background:var(--panel)}.ssc-wo-table td{color:var(--text-primary)}.ssc-wo-table tbody tr{cursor:pointer;transition:background .15s}.ssc-wo-table tbody tr:hover{background:var(--panel)}.ssc-wo-number{font-weight:500;margin-right:8px}.ssc-wo-priority{display:inline-flex;padding:2px 6px;border-radius:4px;font-size:.65rem;font-weight:500}.ssc-wo-status{display:inline-flex;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:500}.ssc-wo-status.completed{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.ssc-wo-status.in-progress{background:color-mix(in srgb,var(--info) 15%,transparent);color:var(--info)}.ssc-wo-status.pending{background:color-mix(in srgb,var(--text-secondary) 15%,transparent);color:var(--text-secondary)}.ssc-contract-card{padding:16px;background:var(--panel);border-radius:8px}.ssc-contract-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.ssc-contract-no{display:flex;align-items:center;gap:8px}.ssc-contract-no>span:first-child{font-weight:600;color:var(--text-primary)}.ssc-contract-tier{padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;color:#fff}.ssc-contract-status{padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500}.ssc-contract-status.active{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.ssc-contract-details{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.ssc-contract-item{display:flex;flex-direction:column;gap:4px}.ssc-contract-item label{display:flex;align-items:center;gap:4px;font-size:.7rem;color:var(--text-secondary)}.ssc-contract-item span{font-size:.875rem;color:var(--text-primary)}.ssc-contract-item span small{font-size:.75rem;color:var(--text-secondary);margin-left:4px}.ssc-contract-visits-bar{display:flex;flex-direction:column;gap:6px}.ssc-visits-progress{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.ssc-visits-used{height:100%;background:var(--primary);border-radius:4px}.ssc-visits-label{font-size:.75rem;color:var(--text-secondary);text-align:right}.ssc-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.ssc-stat-card{display:flex;align-items:center;gap:12px;padding:12px;background:var(--panel);border-radius:8px}.ssc-stat-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.ssc-stat-content{display:flex;flex-direction:column}.ssc-stat-value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.ssc-stat-label{font-size:.7rem;color:var(--text-secondary)}.ssc-stats-breakdown{display:flex;gap:16px;font-size:.8125rem}.ssc-breakdown-item{display:flex;align-items:center;gap:6px;color:var(--text-secondary)}.ssc-chart-container{background:var(--panel);border-radius:8px;padding:16px}.ssc-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ssc-chart-header h5{display:flex;align-items:center;gap:6px;margin:0;font-size:.8125rem;color:var(--text-secondary)}.ssc-interval-selector{display:flex;gap:4px}.ssc-interval-btn{padding:4px 10px;border:1px solid var(--border);border-radius:4px;background:var(--panel);color:var(--text-secondary);font-size:.7rem;cursor:pointer;transition:all .15s}.ssc-interval-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.ssc-interval-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.ssc-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:150px;color:var(--text-secondary);font-size:.8125rem}.ssc-chart-empty p{margin:8px 0 0}.ssc-realtime-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;margin-bottom:12px;border-radius:12px;font-size:.7rem;font-weight:500;background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.ssc-live-dot{width:6px;height:6px;border-radius:50%;background:var(--success);animation:pulse 2s infinite}.ssc-sensor-error{display:flex;align-items:center;gap:6px;padding:8px 12px;margin-bottom:12px;border-radius:6px;font-size:.75rem;background:color-mix(in srgb,var(--warning) 10%,transparent);color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 30%,transparent)}.ssc-spinner{animation:spin 1s linear infinite}.lot-list-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-secondary);gap:16px}.lot-header{display:flex;justify-content:space-between;align-items:center}.lot-title{display:flex;align-items:center;gap:8px;color:var(--text-primary)}.lot-title h1{margin:0;font-size:20px;font-weight:600}.lot-actions{display:flex;gap:8px;flex-shrink:0}.lot-actions button{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.btn-refresh{background:var(--glass-bg);color:var(--text-primary);border:1px solid var(--glass-border)!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.btn-refresh:hover{background:var(--bg-secondary);border-color:var(--primary)!important}.lot-summary-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}@media (max-width: 1200px){.lot-summary-cards{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.lot-summary-cards{grid-template-columns:repeat(2,1fr)}}.summary-card{display:flex;flex-direction:column;padding:16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.summary-card.active-status .card-label,.summary-card.active-status .card-value{color:#059669}.summary-card.hold-status .card-label,.summary-card.hold-status .card-value{color:#d97706}.summary-card.consumed-status .card-label,.summary-card.consumed-status .card-value{color:#6b7280}.summary-card.scrapped-status .card-label,.summary-card.scrapped-status .card-value{color:#991b1b}.lot-search-bar{display:flex;gap:12px;padding:16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;align-items:center;flex-wrap:wrap;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.search-group select,.search-group input{padding:8px 12px;border:1px solid var(--glass-border);border-radius:6px;font-size:14px;background:var(--bg-secondary);color:var(--text-primary)}.search-group select:focus,.search-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.lot-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px}.lot-table-container{flex:1;overflow:auto;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.lot-table{width:100%;border-collapse:collapse;font-size:14px}.lot-table thead{position:sticky;top:0;background:var(--bg-secondary);z-index:1}.lot-table th{padding:12px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--glass-border);white-space:nowrap}.lot-table th.text-right{text-align:right}.lot-table th.text-center{text-align:center}.lot-table td{padding:12px;border-bottom:1px solid var(--glass-border);color:var(--text-primary)}.lot-table td.text-right{text-align:right}.lot-table td.text-center{text-align:center}.lot-table tbody tr{cursor:pointer;transition:all .15s}.lot-table tbody tr:hover{background:#1565c0!important}.lot-table tbody tr:hover td,.lot-table tbody tr:hover .lot-no,.lot-table tbody tr:hover .origin-lot{color:#fff!important}.lot-table tbody tr:hover .lot-status-badge{background:#fff3!important;color:#fff!important}.lot-table tbody tr:hover .action-btn{color:#fffc!important}.lot-table tbody tr:hover .action-btn:hover{background:#ffffff26!important;color:#fff!important}.lot-table tbody tr.selected{background:#6366f126}.lot-table .lot-no{font-weight:500;color:var(--primary)}.lot-table .origin-lot{color:var(--text-secondary)}.lot-table .item-info .item-name{color:var(--text-primary)}.lot-table .item-info .item-code{font-size:12px;color:var(--text-secondary)}.lot-status-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.lot-status-badge.status-green{background:#d1fae5;color:#059669}.lot-status-badge.status-orange{background:#ffedd5;color:#d97706}.lot-status-badge.status-gray{background:#f3f4f6;color:#6b7280}.lot-status-badge.status-red{background:#fee2e2;color:#dc2626}.lot-status-badge.status-blue{background:#dbeafe;color:#2563eb}.lot-status-badge.status-purple{background:#ede9fe;color:#7c3aed}.hold-icon{color:#d97706}.hold-icon.inactive{color:var(--text-secondary);opacity:.3}.action-btn:hover{background:var(--glass-bg)}.action-btn.view:hover{color:var(--primary)}.action-btn.trace:hover{color:#059669}.action-btn.hold:hover{color:#d97706}.lot-pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--glass-border)}.pagination-buttons button{padding:6px 12px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:4px;cursor:pointer;color:var(--text-primary);font-size:14px}.hold-list-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-secondary);gap:16px}.hold-header{display:flex;justify-content:space-between;align-items:center}.hold-title{display:flex;align-items:center;gap:8px;color:var(--text-primary)}.hold-title h1{margin:0;font-size:20px;font-weight:600}.hold-actions{display:flex;gap:8px;flex-shrink:0}.hold-actions button{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.btn-create{background:#d97706;color:#fff}.btn-create:hover{background:#b45309}.hold-summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (max-width: 768px){.hold-summary-cards{grid-template-columns:repeat(1,1fr)}}.summary-card.hold-active .card-label,.summary-card.hold-active .card-value{color:#d97706}.summary-card.hold-active.active{border-color:#d97706;background:#d977060d}.summary-card.released .card-label,.summary-card.released .card-value{color:#059669}.summary-card.released.active{border-color:#059669;background:#0596690d}.hold-search-bar{display:flex;gap:12px;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:8px;align-items:center;flex-wrap:wrap}.hold-table-container{flex:1;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:8px}.hold-table{width:100%;border-collapse:collapse;font-size:14px}.hold-table thead{position:sticky;top:0;background:var(--bg-secondary);z-index:1}.hold-table th{padding:12px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.hold-table th.text-center{text-align:center}.hold-table td{padding:12px;border-bottom:1px solid var(--border);color:var(--text-primary)}.hold-table td.text-center{text-align:center}.hold-table tbody tr{transition:background .15s}.hold-table tbody tr:hover{background:var(--bg-secondary)}.hold-table .lot-no{font-weight:500;color:var(--primary);cursor:pointer}.hold-table .lot-no:hover{text-decoration:underline}.hold-table .description{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.hold-status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.hold-status-badge.status-holding{background:#ffedd5;color:#d97706}.hold-status-badge.status-released{background:#d1fae5;color:#059669}.reason-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.reason-badge.reason-red{background:#fee2e2;color:#dc2626}.reason-badge.reason-orange{background:#ffedd5;color:#d97706}.reason-badge.reason-yellow{background:#fef3c7;color:#d97706}.reason-badge.reason-blue{background:#dbeafe;color:#2563eb}.reason-badge.reason-gray{background:#f3f4f6;color:#6b7280}.disposition-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.disposition-badge.disp-green{background:#d1fae5;color:#059669}.disposition-badge.disp-yellow{background:#fef3c7;color:#d97706}.disposition-badge.disp-red{background:#fee2e2;color:#dc2626}.disposition-badge.disp-orange{background:#ffedd5;color:#c2410c}.disposition-info{display:flex;flex-direction:column;gap:4px}.disposition-info .release-date{font-size:11px;color:var(--text-secondary)}.issue-link{cursor:pointer;margin-right:8px}.issue-link.incident{color:var(--primary)}.issue-link.capa{color:#7c3aed}.issue-link:hover{text-decoration:underline}.action-btn.release:hover{color:#059669}.hold-pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--border)}.hold-modal{background:var(--panel);border-radius:12px;padding:24px;width:450px;max-width:90%;max-height:90vh;overflow-y:auto}.hold-modal h3{margin:0 0 16px;font-size:18px;color:var(--text-primary)}.form-group label .required{color:#dc2626;margin-left:2px}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--panel);color:var(--text-primary)}.form-group textarea{resize:vertical;min-height:80px}.btn-submit{background:#d97706;color:#fff}.btn-submit:hover{background:#b45309}.btn-submit.release{background:#059669}.btn-submit.release:hover{background:#047857}.expiry-alert-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-secondary);gap:16px}.expiry-header{display:flex;justify-content:space-between;align-items:center}.expiry-title{display:flex;align-items:center;gap:8px;color:var(--text-primary)}.expiry-title h1{margin:0;font-size:20px;font-weight:600}.expiry-actions{display:flex;gap:8px;flex-shrink:0}.expiry-actions button{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.expiry-summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media (max-width: 1024px){.expiry-summary-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.expiry-summary-cards{grid-template-columns:repeat(1,1fr)}}.summary-card.warning-status .card-label,.summary-card.warning-status .card-value{color:#d97706}.summary-card.warning-status.active{border-color:#d97706;background:#d977060d}.summary-card.expired-status .card-label,.summary-card.expired-status .card-value{color:#dc2626}.summary-card.expired-status.active{border-color:#dc2626;background:#dc26260d}.summary-card.pending-status .card-label,.summary-card.pending-status .card-value{color:#6b7280}.summary-card.pending-status.active{border-color:#6b7280;background:#6b72800d}.expiry-search-bar{display:flex;gap:12px;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:8px;align-items:center;flex-wrap:wrap}.expiry-table-container{flex:1;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:8px}.expiry-table{width:100%;border-collapse:collapse;font-size:14px}.expiry-table thead{position:sticky;top:0;background:var(--bg-secondary);z-index:1}.expiry-table th{padding:12px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.expiry-table th.text-center{text-align:center}.expiry-table td{padding:12px;border-bottom:1px solid var(--border);color:var(--text-primary)}.expiry-table td.text-center{text-align:center}.expiry-table tbody tr{transition:background .15s}.expiry-table tbody tr:hover{background:var(--bg-secondary)}.expiry-table .lot-no{font-weight:500;color:var(--primary);cursor:pointer}.expiry-table .lot-no:hover{text-decoration:underline}.alert-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.alert-badge.warning{background:#fef3c7;color:#d97706}.alert-badge.expired{background:#fee2e2;color:#dc2626}.days-remaining{font-weight:600}.days-remaining.critical{color:#dc2626}.days-remaining.warning{color:#d97706}.days-remaining.normal{color:#059669}.ack-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.ack-badge.acknowledged{background:#d1fae5;color:#059669}.ack-badge.pending{background:#f3f4f6;color:#6b7280}.action-btn.acknowledge:hover{color:#059669}.expiry-pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--border)}.pagination-buttons .page-info{padding:6px 12px;color:var(--text-secondary)}.acknowledge-modal{background:var(--panel);border-radius:12px;padding:24px;width:450px;max-width:90%}.acknowledge-modal h3{margin:0 0 16px;font-size:18px;color:var(--text-primary)}.modal-info{padding:12px;background:var(--bg-secondary);border-radius:8px;margin-bottom:16px;font-size:14px}.modal-info p{margin:4px 0}.modal-info .label{color:var(--text-secondary);margin-right:8px}.modal-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:var(--text-secondary)}.form-group textarea{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--panel);color:var(--text-primary);resize:vertical;min-height:80px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.modal-actions button{padding:10px 20px;border:none;border-radius:6px;font-size:14px;cursor:pointer}.btn-cancel{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border)!important}.btn-cancel:hover{background:var(--border)}.btn-submit{background:#059669;color:#fff}.btn-submit:hover{background:#047857}.capa-list-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-secondary);gap:16px}.capa-header{display:flex;justify-content:space-between;align-items:center}.capa-title{display:flex;align-items:center;gap:8px;color:var(--text-primary)}.capa-title h1{margin:0;font-size:20px;font-weight:600}.capa-actions{display:flex;gap:8px;flex-shrink:0}.capa-actions button{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.btn-create{background:var(--primary);color:#fff}.btn-create:hover{background:#2563eb}.capa-summary-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}@media (max-width: 1024px){.capa-summary-cards{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.capa-summary-cards{grid-template-columns:repeat(2,1fr)}}.summary-card{display:flex;flex-direction:column;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.summary-card:hover{border-color:var(--primary)}.summary-card.active{border-color:var(--primary);background:#3b82f60d}.summary-card .card-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);margin-bottom:8px}.summary-card .card-value{font-size:24px;font-weight:700}.summary-card.total .card-value{color:var(--text-primary)}.summary-card.status-open .card-label,.summary-card.status-open .card-value{color:#3b82f6}.summary-card.status-open.active{border-color:#3b82f6;background:#3b82f60d}.summary-card.status-in-progress .card-label,.summary-card.status-in-progress .card-value{color:#d97706}.summary-card.status-in-progress.active{border-color:#d97706;background:#d977060d}.summary-card.status-verification .card-label,.summary-card.status-verification .card-value{color:#7c3aed}.summary-card.status-verification.active{border-color:#7c3aed;background:#7c3aed0d}.summary-card.status-closed .card-label,.summary-card.status-closed .card-value{color:#059669}.summary-card.status-closed.active{border-color:#059669;background:#0596690d}.capa-search-bar{display:flex;gap:12px;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:8px;align-items:center;flex-wrap:wrap}.search-group{display:flex;flex-direction:row;align-items:center;gap:8px}.search-group label{font-size:14px;color:var(--text-secondary);font-weight:500;white-space:nowrap}.search-group select,.search-group input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--panel);color:var(--text-primary)}.search-group.keyword{flex:1;min-width:200px}.search-group.keyword input{width:100%}.btn-search:hover{background:#2563eb}.capa-table-container{flex:1;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:8px}.capa-table{width:100%;border-collapse:collapse;font-size:14px}.capa-table thead{position:sticky;top:0;background:var(--bg-secondary);z-index:1}.capa-table th{padding:12px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.capa-table th.text-center{text-align:center}.capa-table td{padding:12px;border-bottom:1px solid var(--border);color:var(--text-primary)}.capa-table td.text-center{text-align:center}.capa-table tbody tr{transition:background .15s}.capa-table tbody tr:hover{background:var(--bg-secondary)}.capa-table tbody tr.overdue{background:#ef44440d}.capa-table tbody tr.overdue:hover{background:#ef44441a}.capa-table .capa-no{font-weight:500;color:var(--primary);cursor:pointer}.capa-table .capa-no:hover{text-decoration:underline}.capa-table .capa-title-cell{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-badge.status-open{background:#dbeafe;color:#2563eb}.status-badge.status-in-progress{background:#fef3c7;color:#d97706}.status-badge.status-verification{background:#ede9fe;color:#7c3aed}.status-badge.status-closed{background:#d1fae5;color:#059669}.status-badge.status-cancelled{background:#f3f4f6;color:#6b7280}.type-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.type-badge.type-corrective{background:#ffedd5;color:#c2410c}.type-badge.type-preventive{background:#dbeafe;color:#2563eb}.priority-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.priority-badge.priority-critical{background:#fee2e2;color:#dc2626}.priority-badge.priority-high{background:#ffedd5;color:#c2410c}.priority-badge.priority-medium{background:#fef3c7;color:#d97706}.priority-badge.priority-low{background:#d1fae5;color:#059669}.source-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;background:#f3f4f6;color:#6b7280}.source-no{font-size:11px;color:var(--text-secondary);margin-top:4px}.overdue-icon{color:#dc2626;margin-left:4px;vertical-align:middle}.action-progress{font-weight:500}.action-progress.complete{color:#059669}.action-progress.incomplete{color:#d97706}.action-buttons{display:flex;align-items:center;justify-content:center;gap:4px}.action-btn{padding:4px;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.action-btn:hover{background:var(--bg-secondary)}.action-btn.view:hover{color:#3b82f6}.action-btn.edit:hover{color:#059669}.capa-pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--border)}.pagination-info{font-size:14px;color:var(--text-secondary)}.pagination-buttons{display:flex;gap:4px}.pagination-buttons button{padding:6px 12px;background:var(--panel);border:1px solid var(--border);border-radius:4px;cursor:pointer;color:var(--text-primary);font-size:14px}.pagination-buttons button:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary)}.pagination-buttons button:disabled{opacity:.5;cursor:not-allowed}.pagination-buttons button.active{background:var(--primary);border-color:var(--primary);color:#fff}.page-info{padding:6px 12px;color:var(--text-primary)}.capa-dashboard-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-secondary);gap:16px;overflow:auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center}.dashboard-title{display:flex;align-items:center;gap:8px;color:var(--text-primary)}.dashboard-title h1{margin:0;font-size:20px;font-weight:600}.dashboard-actions{display:flex;gap:8px;flex-shrink:0}.dashboard-actions button{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.btn-refresh{background:var(--panel);color:var(--text-primary);border:1px solid var(--border)!important}.btn-refresh:hover{background:var(--bg-secondary)}.status-summary-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}@media (max-width: 1024px){.status-summary-cards{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.status-summary-cards{grid-template-columns:repeat(2,1fr)}}.status-card{display:flex;flex-direction:column;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.status-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.status-card .card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;margin-bottom:12px}.status-card .card-label{font-size:13px;color:var(--text-secondary);margin-bottom:4px}.status-card .card-value{font-size:28px;font-weight:700}.status-card.total .card-icon{background:#f3f4f6;color:#6b7280}.status-card.total .card-value{color:var(--text-primary)}.status-card.open .card-icon{background:#dbeafe;color:#3b82f6}.status-card.open .card-value{color:#3b82f6}.status-card.in-progress .card-icon{background:#fef3c7;color:#d97706}.status-card.in-progress .card-value{color:#d97706}.status-card.verification .card-icon{background:#ede9fe;color:#7c3aed}.status-card.verification .card-value{color:#7c3aed}.status-card.closed .card-icon{background:#d1fae5;color:#059669}.status-card.closed .card-value{color:#059669}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 1024px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border)}.panel-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--text-primary)}.panel-action{font-size:13px;color:var(--primary);cursor:pointer}.panel-action:hover{text-decoration:underline}.panel-content{padding:16px}.priority-list{display:flex;flex-direction:column;gap:12px}.priority-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg-secondary);border-radius:6px}.priority-label{display:flex;align-items:center;gap:8px}.priority-dot{width:10px;height:10px;border-radius:50%}.priority-dot.critical{background:#dc2626}.priority-dot.high{background:#f97316}.priority-dot.medium{background:#eab308}.priority-dot.low{background:#22c55e}.priority-name{font-size:14px;color:var(--text-primary)}.priority-count{font-size:18px;font-weight:600}.priority-count.critical{color:#dc2626}.priority-count.high{color:#f97316}.priority-count.medium{color:#eab308}.priority-count.low{color:#22c55e}.overdue-list{display:flex;flex-direction:column;gap:8px}.overdue-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#ef44440d;border:1px solid rgba(239,68,68,.2);border-radius:6px;cursor:pointer;transition:all .15s}.overdue-item:hover{background:#ef44441a;border-color:#ef44444d}.overdue-info{display:flex;flex-direction:column;gap:4px}.overdue-no{font-size:14px;font-weight:500;color:var(--primary)}.overdue-title{font-size:13px;color:var(--text-secondary);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overdue-days{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:#dc2626}.type-chart{display:flex;gap:24px;align-items:center;padding:16px 0}.type-item{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1}.type-circle{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700}.type-circle.corrective{background:#ffedd5;color:#c2410c;border:3px solid #f97316}.type-circle.preventive{background:#dbeafe;color:#2563eb;border:3px solid #3b82f6}.type-label{font-size:14px;color:var(--text-secondary)}.activity-list{display:flex;flex-direction:column;gap:8px}.activity-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--bg-secondary);border-radius:6px}.activity-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;flex-shrink:0}.activity-icon.created{background:#dbeafe;color:#3b82f6}.activity-icon.in-progress{background:#fef3c7;color:#d97706}.activity-icon.closed{background:#d1fae5;color:#059669}.activity-content{flex:1}.activity-text{font-size:14px;color:var(--text-primary)}.activity-text .capa-link{color:var(--primary);cursor:pointer}.activity-text .capa-link:hover{text-decoration:underline}.activity-time{font-size:12px;color:var(--text-secondary);margin-top:4px}.empty-state{text-align:center;padding:32px;color:var(--text-secondary)}.empty-state .icon{margin-bottom:8px}.sr-page{padding:20px;color:var(--text-primary);background:var(--bg-primary);min-height:100%}.sr-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.sr-title{display:flex;align-items:center;gap:8px}.sr-title h1{font-size:18px;margin:0;color:var(--text-primary)}.sr-actions{display:flex;gap:8px}.sr-btn-refresh,.sr-btn-primary,.sr-btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:13px;cursor:pointer;border:1px solid var(--border);background:var(--panel);color:var(--text-primary)}.sr-btn-refresh:hover,.sr-btn-secondary:hover{background:var(--bg-hover, var(--panel))}.sr-btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.sr-btn-primary:hover{opacity:.9}.sr-btn-primary:disabled,.sr-btn-refresh:disabled{opacity:.5;cursor:not-allowed}.spinning{animation:spin 1s linear infinite}.sr-filter-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.sr-tab{padding:6px 10px;font-size:12px;background:var(--panel);border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);cursor:pointer}.sr-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.sr-search-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:12px;background:var(--panel);border:1px solid var(--border);border-radius:6px}.sr-search-bar input{flex:1;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:13px}.sr-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:6px}.sr-table{width:100%;border-collapse:collapse;font-size:13px}.sr-table th,.sr-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);color:var(--text-primary)}.sr-table thead th{background:var(--panel);color:var(--text-secondary);font-weight:600;font-size:12px}.sr-table tbody tr:hover{background:var(--bg-hover, var(--panel))}.sr-cell-mono{font-family:ui-monospace,Menlo,monospace}.sr-empty{text-align:center;color:var(--text-secondary);padding:24px}.sr-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;background:transparent;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer}.sr-btn-icon:hover{color:var(--primary);border-color:var(--primary)}.sr-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px}.sr-pagination button{padding:4px 10px;font-size:12px;background:var(--panel);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);cursor:pointer}.sr-pagination button:disabled{opacity:.4;cursor:not-allowed}.sr-badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:600;border-radius:999px;white-space:nowrap}.sr-badge-received{background:#e0f2fe;color:#0369a1}.sr-badge-picking-up{background:#ede9fe;color:#6d28d9}.sr-badge-pickup-failed{background:#fee2e2;color:#b91c1c}.sr-badge-inspecting{background:#dcfce7;color:#15803d}.sr-badge-unrepairable{background:#e5e7eb;color:#374151}.sr-badge-quoted{background:#fef3c7;color:#b45309}.sr-badge-negotiating{background:#fef3c7;color:#92400e}.sr-badge-rejected{background:#fecaca;color:#991b1b}.sr-badge-quote-sent{background:#fed7aa;color:#9a3412}.sr-badge-expired{background:#e5e7eb;color:#4b5563}.sr-badge-confirmed{background:#bbf7d0;color:#166534}.sr-badge-repairing{background:#bfdbfe;color:#1e40af}.sr-badge-repaired{background:#fde68a;color:#92400e}.sr-badge-shipping{background:#fed7aa;color:#9a3412}.sr-badge-delivered{background:#86efac;color:#14532d}.sr-badge-claimed{background:#fee2e2;color:#b91c1c}.sr-badge-cancelled{background:#e5e7eb;color:#4b5563}.sr-detail{display:grid;grid-template-columns:260px 1fr;gap:20px}.sr-timeline{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:16px}.sr-timeline h2{font-size:14px;margin:0 0 12px;color:var(--text-primary)}.sr-timeline-item{display:flex;align-items:flex-start;gap:8px;padding:6px 0;font-size:12px;color:var(--text-secondary)}.sr-timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--border);flex-shrink:0;margin-top:4px}.sr-timeline-item.current .sr-timeline-dot{background:var(--primary)}.sr-timeline-item.done .sr-timeline-dot{background:#22c55e}.sr-timeline-item.current{color:var(--primary);font-weight:600}.sr-timeline-item.done{color:var(--text-primary)}.sr-detail-main{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:20px}.sr-detail-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.sr-detail-title{font-size:18px;font-weight:600}.sr-detail-title small{color:var(--text-secondary);font-size:12px;font-weight:400;margin-left:8px}.sr-action-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.sr-field-grid{display:grid;grid-template-columns:140px 1fr;gap:8px 16px;font-size:13px;margin-bottom:20px}.sr-field-label{color:var(--text-secondary)}.sr-field-value{color:var(--text-primary)}.sr-section-title{font-size:13px;font-weight:600;color:var(--text-primary);margin:20px 0 8px;padding-top:16px;border-top:1px solid var(--border)}.sr-history-list{font-size:12px}.sr-history-item{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:6px 0;border-bottom:1px dashed var(--border)}.sr-history-item:last-child{border-bottom:none}.sr-history-time{color:var(--text-secondary)}.sr-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.sr-modal{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:20px;width:420px;max-width:90vw}.sr-modal h3{margin:0 0 12px;font-size:16px;color:var(--text-primary)}.sr-modal label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px;margin-top:8px}.sr-modal input,.sr-modal textarea{width:100%;padding:6px 8px;font-size:13px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);box-sizing:border-box}.sr-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.coa-validation-list-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-secondary);gap:16px}.coa-validation-header{display:flex;justify-content:space-between;align-items:center}.coa-validation-title{display:flex;align-items:center;gap:8px;color:var(--text-primary)}.coa-validation-title h1{margin:0;font-size:20px;font-weight:600}.coa-validation-actions{display:flex;gap:8px;flex-shrink:0}.coa-validation-actions button{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.btn-config{background:var(--panel);color:var(--text-primary);border:1px solid var(--border)!important}.btn-config:hover{background:var(--bg-secondary)}.coa-validation-summary-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}@media (max-width: 1200px){.coa-validation-summary-cards{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.coa-validation-summary-cards{grid-template-columns:repeat(2,1fr)}}.summary-card{display:flex;flex-direction:column;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:8px;transition:all .2s}.summary-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000001a}.summary-card-label{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.summary-card-value{font-size:24px;font-weight:700;color:var(--text-primary)}.summary-card-value.pass{color:var(--success)}.summary-card-value.warning{color:var(--warning)}.summary-card-value.fail{color:var(--danger)}.summary-card-value.rate-high{color:var(--success)}.summary-card-value.rate-medium{color:var(--warning)}.summary-card-value.rate-low{color:var(--danger)}.coa-validation-search{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:8px}.search-filters{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media (max-width: 1024px){.search-filters{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.search-filters{grid-template-columns:1fr}}.search-group{display:flex;flex-direction:column;gap:4px}.search-group label{font-size:12px;color:var(--text-secondary);font-weight:500}.search-group input,.search-group select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--panel);color:var(--text-primary);width:100%;box-sizing:border-box}.search-group input:focus,.search-group select:focus{outline:none;border-color:var(--primary)}.search-group input::-moz-placeholder{color:var(--text-secondary)}.search-group input::placeholder{color:var(--text-secondary)}.search-actions{display:flex;gap:8px}.btn-search{display:flex;align-items:center;gap:6px;padding:8px 20px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;height:38px}.btn-reset{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--panel);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;font-size:14px;cursor:pointer;height:38px}.coa-validation-table-container{flex:1;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:8px}.coa-validation-table{width:100%;border-collapse:collapse;font-size:14px}.coa-validation-table thead{position:sticky;top:0;background:var(--bg-secondary);z-index:1}.coa-validation-table th{padding:12px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.coa-validation-table th.center{text-align:center}.coa-validation-table th.right{text-align:right}.coa-validation-table td{padding:12px;border-bottom:1px solid var(--border);color:var(--text-primary)}.coa-validation-table td.center{text-align:center}.coa-validation-table td.right{text-align:right}.coa-validation-table tbody tr{cursor:pointer;transition:background .15s}.coa-validation-table tbody tr:hover{background:var(--bg-secondary)}.coa-validation-table .validation-no{font-weight:500;color:var(--primary)}.coa-validation-table .lot-no{color:var(--text-primary)}.coa-validation-table .matched{color:var(--success);font-weight:500;font-family:Roboto Mono,monospace}.coa-validation-table .mismatched{color:var(--danger);font-weight:500;font-family:Roboto Mono,monospace}.coa-validation-table .match-rate{font-weight:600;font-family:Roboto Mono,monospace}.coa-validation-table .match-rate.high{color:var(--success)}.coa-validation-table .match-rate.medium{color:var(--warning)}.coa-validation-table .match-rate.low{color:var(--danger)}.coa-validation-table .date-cell{color:var(--text-secondary);font-size:13px}.loading-cell,.empty-cell{text-align:center;color:var(--text-secondary);padding:48px!important}.result-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.coa-validation-pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:12px;border-top:1px solid var(--border)}.coa-validation-pagination button{padding:8px 12px;background:var(--panel);border:1px solid var(--border);border-radius:4px;cursor:pointer;color:var(--text-primary);font-size:14px}.coa-validation-pagination button:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary)}.coa-validation-pagination button:disabled{opacity:.5;cursor:not-allowed}.page-info{padding:0 16px;color:var(--text-secondary);font-size:14px}.coa-validation-detail-page{display:flex;flex-direction:column;height:100%;padding:12px 16px;background:var(--bg-secondary);gap:12px}.detail-header{display:flex;align-items:center;justify-content:flex-start;gap:12px}.btn-back{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:var(--panel);border:1px solid var(--border);border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .2s;flex-shrink:0}.btn-back:hover{background:var(--bg-secondary);color:var(--text-primary)}.detail-title{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.detail-summary-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.summary-row{display:grid;gap:16px;padding:14px 20px}.summary-row+.summary-row{border-top:1px solid var(--border)}.summary-row--highlight{grid-template-columns:repeat(3,1fr);background:var(--panel)}.summary-row--info{grid-template-columns:repeat(4,1fr);background:var(--bg-secondary);padding:12px 20px}.summary-row--remarks{grid-template-columns:1fr;background:var(--panel);padding:12px 20px}@media (max-width: 900px){.summary-row--info{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.summary-row--highlight,.summary-row--info{grid-template-columns:1fr}}.summary-item{display:flex;flex-direction:column;gap:4px}.summary-item--center{align-items:center;text-align:center}.summary-item--full{grid-column:1 / -1}.summary-label{font-size:12px;color:var(--text-secondary);font-weight:500}.summary-value{font-size:14px;color:var(--text-primary);font-weight:500}.summary-value.large{font-size:24px;font-weight:700}.summary-value.match-high{color:var(--success)}.summary-value.match-medium{color:var(--warning)}.summary-value.match-low{color:var(--danger)}.result-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:13px;font-weight:600}.result-badge.pass{background:var(--success-bg);color:var(--success)}.result-badge.warning{background:var(--warning-bg);color:var(--warning)}.result-badge.fail{background:var(--danger-bg);color:var(--danger)}.result-badge svg{flex-shrink:0}.detail-filter-tabs{display:flex;gap:8px;flex-wrap:wrap}.filter-tab{display:flex;align-items:center;gap:4px;padding:6px 14px;background:var(--panel);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.filter-tab:hover{border-color:var(--primary)}.filter-tab.active{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}.filter-count{font-size:12px;opacity:.8}.detail-table-container{flex:1;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:8px}.detail-table{width:100%;border-collapse:collapse;font-size:14px}.detail-table thead{position:sticky;top:0;background:var(--bg-secondary);z-index:1}.detail-table th{padding:10px 12px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.detail-table th.center{text-align:center}.detail-table th.right{text-align:right}.detail-table td{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text-primary)}.detail-table td.center{text-align:center}.detail-table td.right{text-align:right}.detail-table tbody tr{transition:background .15s}.detail-table tbody tr:hover{background:var(--bg-secondary)}.detail-table tbody tr.mismatch-row,.detail-table tbody tr.mismatch-row:hover{background:var(--danger-bg)}.detail-table .item-name{font-weight:500}.detail-table .value-cell{font-family:Roboto Mono,monospace}.detail-table .spec-cell{color:var(--text-secondary);font-family:Roboto Mono,monospace}.detail-table .deviation-cell{font-weight:600;font-family:Roboto Mono,monospace}.detail-table .deviation-cell.high{color:var(--danger)}.detail-table .deviation-cell.medium,.detail-table .deviation-cell.low{color:var(--warning)}.detail-table .deviation-cell.normal{color:var(--success)}.detail-table .remarks-cell{color:var(--text-secondary);font-size:13px}.match-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.match-badge.match{background:var(--success-bg);color:var(--success)}.match-badge.mismatch{background:var(--danger-bg);color:var(--danger)}.match-badge.skip{background:var(--bg-tertiary);color:var(--text-tertiary)}.empty-cell{text-align:center;color:var(--text-secondary);padding:48px!important}.loading-container{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary)}.coa-config-page{display:flex;flex-direction:column;height:100%;padding:12px 16px;background:var(--bg-secondary);gap:12px}.config-header{display:flex;justify-content:space-between;align-items:center}.config-title{display:flex;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.config-title svg{color:var(--text-secondary)}.btn-add-config{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;white-space:nowrap;flex-shrink:0;transition:opacity .2s}.btn-add-config:hover{opacity:.9}.config-search-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px}.config-search-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:end}@media (max-width: 900px){.config-search-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.config-search-grid{grid-template-columns:1fr}}.config-field{display:flex;flex-direction:column;gap:4px}.config-field-label{font-size:12px;font-weight:500;color:var(--text-secondary)}.config-field-input{width:100%;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--text-primary);transition:border-color .2s}.config-field-input:focus{outline:none;border-color:var(--primary)}.config-field-input::-moz-placeholder{color:var(--text-secondary);opacity:.7}.config-field-input::placeholder{color:var(--text-secondary);opacity:.7}.config-checkbox-wrapper{display:flex;align-items:center;height:36px}.config-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--text-primary)}.config-checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary)}.config-search-actions{display:flex;gap:8px}.btn-search{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:opacity .2s}.btn-search:hover{opacity:.9}.btn-reset{padding:8px 16px;background:var(--panel);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:13px;transition:background .2s}.btn-reset:hover{background:var(--bg-secondary)}.config-table-container{flex:1;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:8px}.config-table{width:100%;border-collapse:collapse;font-size:13px}.config-table thead{position:sticky;top:0;background:var(--bg-secondary);z-index:1}.config-table th{padding:10px 12px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.config-table th.center{text-align:center}.config-table th.right{text-align:right}.config-table td{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text-primary)}.config-table td.center{text-align:center}.config-table td.right{text-align:right}.config-table tbody tr{transition:background .15s}.config-table tbody tr:hover{background:var(--bg-secondary)}.config-table .name-cell{font-weight:500}.config-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500}.config-badge--mandatory{background:var(--danger-bg);color:var(--danger)}.config-badge--optional{background:var(--bg-tertiary);color:var(--text-tertiary)}.config-badge--active{background:var(--success-bg);color:var(--success)}.config-badge--inactive{background:var(--bg-tertiary);color:var(--text-tertiary)}.config-actions{display:flex;gap:6px;justify-content:center}.btn-action{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--panel);border:1px solid var(--border);border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.btn-action:hover{background:var(--bg-secondary)}.btn-action--danger:hover{background:var(--danger-bg);border-color:var(--danger-bg);color:var(--danger)}.config-empty{padding:48px;text-align:center;color:var(--text-secondary)}.config-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.config-modal{background:var(--panel);border-radius:8px;padding:20px;width:560px;max-width:90%;max-height:90vh;overflow-y:auto}.config-modal-title{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-primary)}.config-modal-body{display:flex;flex-direction:column;gap:14px}.config-modal-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.config-modal-field{display:flex;flex-direction:column;gap:4px}.config-modal-field--full{grid-column:1 / -1}.config-modal-label{font-size:12px;font-weight:500;color:var(--text-secondary)}.config-modal-label .required{color:var(--danger);margin-left:2px}.config-modal-input{width:100%;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--text-primary)}.config-modal-input:focus{outline:none;border-color:var(--primary)}.config-modal-checkbox-row{display:flex;gap:24px;padding:8px 0}.config-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px;padding-top:16px;border-top:1px solid var(--border)}.btn-cancel{padding:8px 16px;background:var(--panel);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:13px}.btn-cancel:hover{background:var(--bg-secondary)}.btn-save{padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500}.btn-save:hover{opacity:.9}.plm-dashboard-page{padding:24px;background:var(--bg-primary);min-height:100%}.plm-dashboard-page .page-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding:16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-dashboard-page .page-header-icon{color:var(--primary)}.plm-dashboard-page .page-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.plm-dashboard-page .loading-container{display:flex;justify-content:center;align-items:center;padding:96px 0;color:var(--text-secondary)}.plm-dashboard-page .loading-container svg{color:var(--primary);margin-right:8px}.plm-dashboard-page .error-container{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:16px;display:flex;align-items:center;gap:12px}.plm-dashboard-page .error-container .error-icon{color:#ef4444}.plm-dashboard-page .error-container .error-title{font-weight:600;color:#ef4444}.plm-dashboard-page .error-container .error-message{color:var(--text-secondary)}.plm-dashboard-page .summary-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:16px;margin-bottom:24px}@media (min-width: 640px){.plm-dashboard-page .summary-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.plm-dashboard-page .summary-grid{grid-template-columns:repeat(4,1fr)}}.plm-dashboard-page .summary-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;padding:16px;border-left:4px solid;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-dashboard-page .summary-card.blue{border-left-color:#3b82f6}.plm-dashboard-page .summary-card.cyan{border-left-color:#06b6d4}.plm-dashboard-page .summary-card.red{border-left-color:#ef4444}.plm-dashboard-page .summary-card.green{border-left-color:#22c55e}.plm-dashboard-page .summary-card-inner{display:flex;align-items:center;justify-content:space-between}.plm-dashboard-page .summary-card-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:4px}.plm-dashboard-page .summary-card-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.plm-dashboard-page .summary-card-value.danger{color:#ef4444}.plm-dashboard-page .summary-card-value .unit{font-size:.875rem;font-weight:400;margin-left:4px}.plm-dashboard-page .summary-card-icon{width:40px;height:40px}.plm-dashboard-page .summary-card-icon.blue{color:#3b82f699}.plm-dashboard-page .summary-card-icon.cyan{color:#06b6d499}.plm-dashboard-page .summary-card-icon.red{color:#ef444499}.plm-dashboard-page .summary-card-icon.green{color:#22c55e99}.plm-dashboard-page .two-col-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:24px}@media (min-width: 1024px){.plm-dashboard-page .two-col-grid{grid-template-columns:repeat(2,1fr)}}.plm-dashboard-page .card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-dashboard-page .card-header{padding:12px 16px;border-bottom:1px solid var(--glass-border);display:flex;justify-content:space-between;align-items:center;background:var(--panel-2)}.plm-dashboard-page .card-title{font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.plm-dashboard-page .card-title-icon{width:16px;height:16px;color:var(--text-secondary)}.plm-dashboard-page .card-title-icon.danger{color:#ef4444}.plm-dashboard-page .card-link{font-size:.875rem;color:var(--primary);background:none;border:none;cursor:pointer;padding:0}.plm-dashboard-page .card-link:hover{text-decoration:underline}.plm-dashboard-page .card-body{padding:16px}.plm-dashboard-page .badge-wrapper{display:flex;flex-wrap:wrap;gap:8px}.plm-dashboard-page .stage-badge,.plm-dashboard-page .progress-badge,.plm-dashboard-page .result-badge{display:inline-block;padding:4px 12px;border-radius:9999px;font-size:.875rem;font-weight:500}.plm-dashboard-page .stage-badge.NOT_ASSIGNED{background:#e5e7eb;color:#6b7280}.plm-dashboard-page .stage-badge.RFQ{background:#dbeafe;color:#1e40af}.plm-dashboard-page .stage-badge.NOMINATION,.plm-dashboard-page .stage-badge.NOM{background:#cffafe;color:#0e7490}.plm-dashboard-page .stage-badge.DEVELOP{background:#ede9fe;color:#6d28d9}.plm-dashboard-page .stage-badge.TOOLING{background:#ffedd5;color:#c2410c}.plm-dashboard-page .stage-badge.SAMPLE{background:#fef3c7;color:#b45309}.plm-dashboard-page .stage-badge.PPAP{background:#ecfccb;color:#4d7c0f}.plm-dashboard-page .stage-badge.SOP{background:#d1fae5;color:#047857}.plm-dashboard-page .stage-badge.MASS{background:#e0e7ff;color:#4338ca}.plm-dashboard-page .stage-badge.EOP,.plm-dashboard-page .progress-badge.NOT_STARTED{background:#f3f4f6;color:#4b5563}.plm-dashboard-page .progress-badge.IN_PROGRESS{background:#dbeafe;color:#1e40af}.plm-dashboard-page .progress-badge.DELAYED{background:#fee2e2;color:#991b1b}.plm-dashboard-page .progress-badge.ON_HOLD{background:#fef3c7;color:#b45309}.plm-dashboard-page .progress-badge.COMPLETED{background:#d1fae5;color:#047857}.plm-dashboard-page .progress-badge.CANCELLED{background:#f3f4f6;color:#6b7280}.plm-dashboard-page .result-badge.PASS{background:#d1fae5;color:#047857}.plm-dashboard-page .result-badge.FAIL{background:#fee2e2;color:#991b1b}.plm-dashboard-page .result-badge.CONDITIONAL{background:#fef3c7;color:#b45309}.plm-dashboard-page .result-badge.PENDING{background:#f3f4f6;color:#4b5563}.plm-dashboard-page .table-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:500}.plm-dashboard-page .empty-text{color:var(--text-tertiary)}.plm-dashboard-page .data-table{width:100%;border-collapse:collapse}.plm-dashboard-page .data-table th{padding:8px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-primary);text-transform:uppercase;background:#08090a66}.plm-dashboard-page .data-table td{padding:8px 16px;font-size:.875rem;color:var(--text-primary);border-top:1px solid var(--glass-border)}.plm-dashboard-page .data-table tbody tr{transition:background .15s}.plm-dashboard-page .data-table tbody tr:hover{background:#1565c0!important}.plm-dashboard-page .data-table tbody tr:hover td{color:#fff!important}.plm-dashboard-page .data-table tbody tr:hover .stage-badge,.plm-dashboard-page .data-table tbody tr:hover .progress-badge,.plm-dashboard-page .data-table tbody tr:hover .result-badge{background:#fff3!important;color:#fff!important}.plm-dashboard-page .data-table tbody tr.delayed{background:#ef44441a}.plm-dashboard-page .data-table tbody tr.delayed:hover{background:#1565c0!important}.plm-dashboard-page .link-cell{color:var(--primary);font-weight:500;cursor:pointer;background:none;border:none;padding:0;font-size:inherit}.plm-dashboard-page .link-cell:hover{text-decoration:underline}.plm-dashboard-page .data-table tbody tr:hover .link-cell{color:#fff!important}.plm-dashboard-page .truncate-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plm-dashboard-page .text-secondary{color:var(--text-secondary)}.plm-dashboard-page .empty-row td{padding:16px;text-align:center;color:var(--text-tertiary)}.plm-dashboard-page .table-wrapper{overflow-x:auto}.plm-dashboard-page .title-sub{font-size:.875rem;font-weight:400;color:var(--text-secondary);margin-left:8px}.plm-dashboard-page .spinning{animation:spin 1s linear infinite}.plm-project-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.plm-project-list-page .page-header{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-bottom:24px}.plm-project-list-page .page-header-icon{color:var(--primary)}.plm-project-list-page .page-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.plm-project-list-page .page-subtitle{font-size:.875rem;color:var(--text-secondary);margin:0}.plm-project-list-page .status-summary-cards{display:flex;gap:12px;margin-bottom:12px;overflow-x:auto;padding-bottom:4px}.plm-project-list-page .summary-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:90px;padding:14px 18px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;cursor:pointer;transition:all .2s;border-left:3px solid var(--status-color, var(--glass-border));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-project-list-page .summary-card:hover{border-color:var(--primary);background:var(--panel-2);transform:translateY(-2px)}.plm-project-list-page .summary-card.active{border-color:var(--primary);background:#6366f126;box-shadow:0 4px 12px #6366f133}.plm-project-list-page .summary-card .summary-label{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.plm-project-list-page .summary-card .summary-count{font-size:20px;font-weight:600;color:var(--text-primary)}.plm-project-list-page .stage-info{font-size:12px;color:var(--text-tertiary);margin-bottom:16px}.plm-project-list-page .search-bar{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-project-list-page .search-row{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.plm-project-list-page .search-field{display:flex;flex-direction:column;gap:6px}.plm-project-list-page .search-field label{font-size:12px;color:var(--text-secondary);font-weight:500}.plm-project-list-page .search-field select,.plm-project-list-page .search-field input{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--panel-2);color:var(--text-primary);min-width:150px;transition:all .2s}.plm-project-list-page .search-field select:focus,.plm-project-list-page .search-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.plm-project-list-page .search-field.keyword{flex:1;min-width:200px}.plm-project-list-page .search-field.keyword input{width:100%}.plm-project-list-page .search-actions{display:flex;gap:8px}.plm-project-list-page .btn-search{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.plm-project-list-page .btn-search:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.plm-project-list-page .btn-refresh{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-project-list-page .btn-refresh:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.plm-project-list-page .table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-project-list-page .data-table{width:100%;border-collapse:collapse}.plm-project-list-page .data-table th,.plm-project-list-page .data-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--glass-border)}.plm-project-list-page .data-table th{background:#08090a66;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.plm-project-list-page .data-table tbody tr{cursor:pointer;transition:all .15s}.plm-project-list-page .data-table tbody tr:hover{background:#1565c0!important}.plm-project-list-page .data-table tbody tr:hover td{color:#fff!important}.plm-project-list-page .data-table tbody tr:hover td .stage-badge,.plm-project-list-page .data-table tbody tr:hover td .progress-badge{background:#fff3!important;color:#fff!important}.plm-project-list-page .data-table tbody tr:last-child td{border-bottom:none}.plm-project-list-page .data-table tbody tr.delayed{background:#ef444414}.plm-project-list-page .data-table tbody tr.delayed:hover{background:#1565c0!important}.plm-project-list-page .data-table td{font-size:14px;color:var(--text-primary)}.plm-project-list-page .data-table td.project-no{font-weight:500;color:var(--primary);display:flex;align-items:center;gap:6px}.plm-project-list-page .data-table tbody tr:hover td.project-no{color:#fff!important}.plm-project-list-page .delay-icon{color:#ef4444}.plm-project-list-page .data-table tbody tr:hover .delay-icon{color:#fca5a5!important}.plm-project-list-page .data-table td.truncate{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plm-project-list-page .data-table td.arrow-cell{width:40px;text-align:center;color:var(--text-tertiary)}.plm-project-list-page .stage-badge{display:inline-block;padding:4px 10px;font-size:12px;font-weight:500;border-radius:6px;background:color-mix(in srgb,var(--badge-color, #6b7280) 20%,transparent);color:var(--badge-color, #6b7280)}.plm-project-list-page .progress-badge{display:inline-block;padding:4px 10px;font-size:12px;font-weight:500;border-radius:6px}.plm-project-list-page .progress-badge.NOT_STARTED{background:#6b728033;color:#6b7280}.plm-project-list-page .progress-badge.IN_PROGRESS{background:#3b82f633;color:#3b82f6}.plm-project-list-page .progress-badge.DELAYED{background:#ef444433;color:#ef4444}.plm-project-list-page .progress-badge.ON_HOLD{background:#eab30833;color:#ca8a04}.plm-project-list-page .progress-badge.COMPLETED{background:#22c55e33;color:#22c55e}.plm-project-list-page .progress-badge.CANCELLED{background:#6b728033;color:#9ca3af}.plm-project-list-page .loading-cell,.plm-project-list-page .empty-cell{text-align:center;padding:48px 16px!important;color:var(--text-secondary)}.plm-project-list-page .loading-cell{display:flex;flex-direction:column;align-items:center;gap:12px}.plm-project-list-page .pagination{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:16px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-project-list-page .page-info{font-size:14px;color:var(--text-secondary)}.plm-project-list-page .page-buttons{display:flex;gap:6px}.plm-project-list-page .page-buttons button{padding:8px 14px;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:6px;font-size:14px;cursor:pointer;color:var(--text-primary);transition:all .2s}.plm-project-list-page .page-buttons button:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.plm-project-list-page .page-buttons button:disabled{opacity:.5;cursor:not-allowed}.plm-project-list-page .page-buttons button.active{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.plm-project-list-page .spinning{animation:spin 1s linear infinite}.plm-project-detail-page{padding:24px;background:var(--bg-primary);min-height:100%}.plm-project-detail-page .loading-state,.plm-project-detail-page .error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 20px;color:var(--text-secondary)}.plm-project-detail-page .error-state .btn-back{padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.plm-project-detail-page .error-state .btn-back:hover{background:var(--primary-dark, #4f46e5)}.plm-project-detail-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:16px}.plm-project-detail-page .page-header-left{display:flex;align-items:center;gap:12px}.plm-project-detail-page .btn-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-project-detail-page .btn-back:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.plm-project-detail-page .page-header-icon{color:var(--primary)}.plm-project-detail-page .page-header-info{display:flex;flex-direction:column;gap:4px}.plm-project-detail-page .page-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.plm-project-detail-page .page-subtitle{display:flex;align-items:center;gap:8px;font-size:.875rem}.plm-project-detail-page .project-no{color:var(--text-secondary);font-family:monospace}.plm-project-detail-page .page-header-actions{display:flex;gap:8px}.plm-project-detail-page .btn-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-project-detail-page .btn-icon:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.plm-project-detail-page .btn-primary{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.plm-project-detail-page .btn-primary:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.plm-project-detail-page .stage-badge{display:inline-block;padding:4px 10px;font-size:.75rem;font-weight:500;border-radius:6px;background:color-mix(in srgb,var(--badge-color, #6b7280) 20%,transparent);color:var(--badge-color, #6b7280)}.plm-project-detail-page .progress-badge{display:inline-block;padding:4px 10px;font-size:.75rem;font-weight:500;border-radius:6px}.plm-project-detail-page .progress-badge.NOT_STARTED{background:#6b728033;color:#6b7280}.plm-project-detail-page .progress-badge.IN_PROGRESS{background:#3b82f633;color:#3b82f6}.plm-project-detail-page .progress-badge.DELAYED{background:#ef444433;color:#ef4444}.plm-project-detail-page .progress-badge.ON_HOLD{background:#eab30833;color:#ca8a04}.plm-project-detail-page .progress-badge.COMPLETED{background:#22c55e33;color:#22c55e}.plm-project-detail-page .progress-badge.CANCELLED{background:#6b728033;color:#9ca3af}.plm-project-detail-page .detail-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--glass-border);padding-bottom:0}.plm-project-detail-page .tab-btn{padding:12px 24px;background:transparent;border:none;border-bottom:2px solid transparent;font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s;margin-bottom:-1px}.plm-project-detail-page .tab-btn:hover{color:var(--text-primary);background:var(--panel-2)}.plm-project-detail-page .tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.plm-project-detail-page .detail-content{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-project-detail-page .info-sections{padding:24px;display:flex;flex-direction:column;gap:28px}.plm-project-detail-page .info-section{padding-bottom:24px;border-bottom:1px solid var(--glass-border)}.plm-project-detail-page .info-section:last-child{border-bottom:none;padding-bottom:0}.plm-project-detail-page .section-title{display:flex;align-items:center;gap:8px;margin:0 0 18px;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.plm-project-detail-page .section-title svg{color:var(--primary)}.plm-project-detail-page .info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}.plm-project-detail-page .info-item{display:flex;flex-direction:column;gap:6px}.plm-project-detail-page .info-item label{font-size:.75rem;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.plm-project-detail-page .info-item span{font-size:.875rem;color:var(--text-primary)}.plm-project-detail-page .info-item span.link{color:var(--primary);cursor:pointer}.plm-project-detail-page .info-item span.link:hover{text-decoration:underline}.plm-project-detail-page .related-list{padding:0}.plm-project-detail-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:var(--text-tertiary)}.plm-project-detail-page .empty-state svg{opacity:.5}.plm-project-detail-page .data-table{width:100%;border-collapse:collapse}.plm-project-detail-page .data-table th,.plm-project-detail-page .data-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--glass-border)}.plm-project-detail-page .data-table th{background:#08090a66;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.plm-project-detail-page .data-table tbody tr{cursor:pointer;transition:all .15s}.plm-project-detail-page .data-table tbody tr:hover{background:#1565c0!important}.plm-project-detail-page .data-table tbody tr:hover td{color:#fff!important}.plm-project-detail-page .data-table tbody tr:hover td .status-badge{background:#fff3!important;color:#fff!important}.plm-project-detail-page .data-table tbody tr:last-child td{border-bottom:none}.plm-project-detail-page .data-table td{font-size:.875rem;color:var(--text-primary)}.plm-project-detail-page .data-table td.link{color:var(--primary);font-weight:500}.plm-project-detail-page .data-table tbody tr:hover td.link{color:#fff!important}.plm-project-detail-page .status-badge{display:inline-block;padding:4px 10px;font-size:.75rem;font-weight:500;border-radius:6px;background:#6b728033;color:#6b7280}.plm-project-detail-page .status-badge.IN_PROGRESS,.plm-project-detail-page .status-badge.TESTING{background:#3b82f633;color:#3b82f6}.plm-project-detail-page .status-badge.COMPLETED,.plm-project-detail-page .status-badge.APPROVED{background:#22c55e33;color:#22c55e}.plm-project-detail-page .status-badge.PENDING{background:#eab30833;color:#ca8a04}.plm-project-detail-page .spinning{animation:spin 1s linear infinite}@media (max-width: 768px){.plm-project-detail-page{padding:16px}.plm-project-detail-page .page-header{flex-direction:column;align-items:flex-start}.plm-project-detail-page .page-header-actions{width:100%;justify-content:flex-end}.plm-project-detail-page .info-grid{grid-template-columns:1fr}.plm-project-detail-page .detail-tabs{overflow-x:auto}}.plm-drawing-list-page{padding:16px;height:100%}.plm-drawing-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px}.plm-drawing-list-page .page-header-title{display:flex;align-items:center;gap:12px}.plm-drawing-list-page .page-header-icon{color:#16a34a}.plm-drawing-list-page .page-header-title h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.plm-drawing-list-page .page-header-title p{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.plm-drawing-list-page .status-summary-row{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;overflow-x:auto}.plm-drawing-list-page .status-badge-item{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0;background:transparent}.plm-drawing-list-page .status-badge-item:hover{border-color:#16a34a;background:var(--bg-secondary)}.plm-drawing-list-page .status-badge-item.active{border-width:2px;border-color:#16a34a;background:#16a34a1a}.plm-drawing-list-page .status-badge-label{font-size:11px;color:var(--text-secondary)}.plm-drawing-list-page .status-badge-value{font-size:13px;font-weight:700;color:var(--text-primary)}.plm-drawing-list-page .status-badge-unit{font-size:10px;color:var(--text-secondary)}.plm-drawing-list-page .main-container{border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-drawing-list-page .search-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--glass-border);background:var(--panel-2);border-radius:8px 8px 0 0;flex-wrap:nowrap;overflow-x:auto}.plm-drawing-list-page .search-item{flex-shrink:0}.plm-drawing-list-page .search-input-wrapper{position:relative;display:flex;align-items:center}.plm-drawing-list-page .search-icon{position:absolute;left:8px;color:var(--text-secondary);pointer-events:none}.plm-drawing-list-page .search-input-wrapper .input{padding-left:28px;min-width:200px!important;width:200px!important}.plm-drawing-list-page .search-buttons{display:flex;gap:4px;margin-left:auto}.plm-drawing-list-page .input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.plm-drawing-list-page .input:focus{outline:none;border-color:#16a34a}.plm-drawing-list-page .input::-moz-placeholder{color:var(--text-tertiary)}.plm-drawing-list-page .input::placeholder{color:var(--text-tertiary)}.plm-drawing-list-page .input-sm{padding:5px 8px;font-size:12px;border-radius:4px}.plm-drawing-list-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.plm-drawing-list-page .btn:disabled{opacity:.5;cursor:not-allowed}.plm-drawing-list-page .btn-primary{background:#16a34a;color:#fff;border-color:#16a34a}.plm-drawing-list-page .btn-primary:hover:not(:disabled){background:#15803d}.plm-drawing-list-page .btn-secondary{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border)}.plm-drawing-list-page .btn-secondary:hover:not(:disabled){background:var(--bg-secondary)}.plm-drawing-list-page .btn-sm{padding:5px 10px;font-size:12px;border-radius:4px}.plm-drawing-list-page .table-container{overflow:auto;max-height:calc(100vh - 280px);-webkit-overflow-scrolling:touch}.plm-drawing-list-page .data-table{width:100%;min-width:900px;border-collapse:collapse;font-size:12px}.plm-drawing-list-page thead{position:sticky;top:0;z-index:1}.plm-drawing-list-page th{padding:8px 10px;font-weight:700;color:var(--text-primary);text-transform:none;letter-spacing:0;border-bottom:2px solid var(--glass-border);white-space:nowrap;font-size:11px;height:36px;background:#08090a66;text-align:left}.plm-drawing-list-page th.center{text-align:center}.plm-drawing-list-page .data-table tbody tr{height:40px;background:transparent}.plm-drawing-list-page .data-table td{padding:6px 10px;border-bottom:1px solid var(--glass-border);vertical-align:middle;line-height:1.5;font-size:12px;color:var(--text-primary)}.plm-drawing-list-page .data-table td.center{text-align:center}.plm-drawing-list-page .data-table tbody tr:hover{background:#1565c0!important}.plm-drawing-list-page .data-table tbody tr:hover td{color:#fff!important}.plm-drawing-list-page .data-table tbody tr:hover .status-badge{background:#fff3!important;color:#fff!important}.plm-drawing-list-page .data-table tbody tr:hover .link-cell{color:#fff!important;text-decoration:underline}.plm-drawing-list-page .data-table tbody tr:hover .icon-btn{color:#fff!important}.plm-drawing-list-page .link-cell{color:#16a34a;font-weight:500;cursor:pointer;background:none;border:none;padding:0;font-size:inherit}.plm-drawing-list-page .link-cell:hover{text-decoration:underline}.plm-drawing-list-page .truncate-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plm-drawing-list-page .text-secondary{color:var(--text-secondary)}.plm-drawing-list-page .text-muted{color:var(--text-tertiary)}.plm-drawing-list-page .status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:500;white-space:nowrap}.plm-drawing-list-page .status-badge.DRAFT{background:#9ca3af33;color:#9ca3af}.plm-drawing-list-page .status-badge.IN_REVIEW{background:#fbbf2433;color:#fcd34d}.plm-drawing-list-page .status-badge.APPROVED{background:#3b82f633;color:#93c5fd}.plm-drawing-list-page .status-badge.RELEASED{background:#22c55e33;color:#86efac}.plm-drawing-list-page .status-badge.OBSOLETE{background:#ef444433;color:#fca5a5}.plm-drawing-list-page .icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px;background:transparent;color:var(--text-secondary);border:none;border-radius:4px;cursor:pointer;transition:all .2s}.plm-drawing-list-page .icon-btn:hover{background:var(--bg-secondary);color:#16a34a}.plm-drawing-list-page .icon-btn.download:hover{color:#2563eb}.plm-drawing-list-page .loading-row td,.plm-drawing-list-page .empty-row td{text-align:center;padding:48px 16px;color:var(--text-secondary)}.plm-drawing-list-page .error-container{text-align:center;padding:60px 20px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px}.plm-drawing-list-page .error-container h3{margin-top:0;margin-bottom:10px;color:var(--error)}.plm-drawing-list-page .error-container p{margin-bottom:20px;color:var(--text-secondary)}.plm-drawing-list-page .pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--glass-border)}.plm-drawing-list-page .pagination-info{font-size:12px;color:var(--text-secondary)}.plm-drawing-list-page .pagination-buttons{display:flex;align-items:center;gap:4px}.plm-drawing-list-page .page-btn{padding:6px 12px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:12px;cursor:pointer;transition:all .2s}.plm-drawing-list-page .page-btn:hover:not(:disabled){background:var(--bg-secondary);border-color:#16a34a}.plm-drawing-list-page .page-btn.active{background:#16a34a;color:#fff;border-color:#16a34a}.plm-drawing-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.plm-drawing-list-page .spinning{animation:spin 1s linear infinite}@media (max-width: 1024px){.plm-drawing-list-page .page-header{flex-direction:column;gap:12px}.plm-drawing-list-page .status-summary-row{width:100%;justify-content:flex-start}}@media (max-width: 768px){.plm-drawing-list-page{padding:8px}.plm-drawing-list-page .search-bar{flex-direction:column;align-items:stretch;gap:6px}.plm-drawing-list-page .search-item{width:100%}.plm-drawing-list-page .search-input-wrapper .input{width:100%!important;min-width:unset!important}.plm-drawing-list-page .search-buttons{margin-left:0;justify-content:flex-end}.plm-drawing-list-page .pagination{flex-direction:column;gap:8px}}.plm-test-management-page{padding:16px;height:100%}.plm-test-management-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px}.plm-test-management-page .page-header-title{display:flex;align-items:center;gap:12px}.plm-test-management-page .page-header-icon{color:#8b5cf6}.plm-test-management-page .page-header-title h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.plm-test-management-page .page-header-title p{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.plm-test-management-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.plm-test-management-page .btn-secondary{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border)}.plm-test-management-page .btn-secondary:hover:not(:disabled){background:var(--bg-secondary);border-color:#8b5cf6}.plm-test-management-page .btn-sm{padding:6px 10px;font-size:12px;border-radius:4px}.plm-test-management-page .summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:16px}.plm-test-management-page .summary-card{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px;padding:16px;cursor:pointer;transition:all .2s}.plm-test-management-page .summary-card:hover{border-color:#8b5cf6;box-shadow:0 4px 12px #8b5cf626}.plm-test-management-page .summary-card .card-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--text-primary);font-weight:600;font-size:14px}.plm-test-management-page .summary-card.requests .card-header svg{color:#3b82f6}.plm-test-management-page .summary-card.reports .card-header svg{color:#0891b2}.plm-test-management-page .summary-card .card-total{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:16px}.plm-test-management-page .summary-card .card-breakdown{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.plm-test-management-page .breakdown-item{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:4px;font-size:12px;background:var(--bg-secondary)}.plm-test-management-page .breakdown-item .label{color:var(--text-secondary)}.plm-test-management-page .breakdown-item .count{font-weight:600;color:var(--text-primary)}.plm-test-management-page .breakdown-item.progress-10{background:#6b728026}.plm-test-management-page .breakdown-item.progress-30,.plm-test-management-page .breakdown-item.progress-35{background:#3b82f626}.plm-test-management-page .breakdown-item.progress-40{background:#f59e0b26}.plm-test-management-page .breakdown-item.progress-50{background:#8b5cf626}.plm-test-management-page .breakdown-item.progress-60{background:#ec489926}.plm-test-management-page .breakdown-item.progress-70{background:#22c55e26}.plm-test-management-page .breakdown-item.progress-99{background:#9ca3af26}.plm-test-management-page .breakdown-item.DRAFT{background:#6b728026}.plm-test-management-page .breakdown-item.REQUESTED{background:#3b82f626}.plm-test-management-page .breakdown-item.IN_PROGRESS{background:#eab30826}.plm-test-management-page .breakdown-item.COMPLETED{background:#22c55e26}.plm-test-management-page .breakdown-item.CANCELLED{background:#9ca3af26}.plm-test-management-page .breakdown-item.PASS{background:#22c55e26}.plm-test-management-page .breakdown-item.PASS svg{color:#22c55e}.plm-test-management-page .breakdown-item.FAIL{background:#ef444426}.plm-test-management-page .breakdown-item.FAIL svg{color:#ef4444}.plm-test-management-page .breakdown-item.CONDITIONAL{background:#fbbf2426}.plm-test-management-page .breakdown-item.CONDITIONAL svg{color:#fbbf24}.plm-test-management-page .breakdown-item.PENDING{background:#9ca3af26}.plm-test-management-page .breakdown-item.PENDING svg{color:#9ca3af}.plm-test-management-page .summary-card .card-action{display:flex;align-items:center;justify-content:flex-end;gap:4px;font-size:12px;color:#8b5cf6;font-weight:500}.plm-test-management-page .recent-section{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px;margin-bottom:16px}.plm-test-management-page .section-header{padding:12px 16px;border-bottom:1px solid var(--glass-border)}.plm-test-management-page .section-header h3{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.plm-test-management-page .recent-list{padding:8px}.plm-test-management-page .recent-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:6px;cursor:pointer;transition:background .15s}.plm-test-management-page .recent-item:hover{background:#1565c0}.plm-test-management-page .recent-item:hover .item-main,.plm-test-management-page .recent-item:hover .item-meta,.plm-test-management-page .recent-item:hover .item-arrow{color:#fff}.plm-test-management-page .recent-item:hover .result-badge{background:#fff3;color:#fff}.plm-test-management-page .recent-item:hover .result-badge svg{color:#fff}.plm-test-management-page .item-main{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.plm-test-management-page .report-no{font-size:13px;font-weight:500;color:#8b5cf6}.plm-test-management-page .report-title{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plm-test-management-page .item-meta{display:flex;align-items:center;gap:8px}.plm-test-management-page .result-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:500}.plm-test-management-page .result-badge.PASS{background:#22c55e33;color:#86efac}.plm-test-management-page .result-badge.PASS svg{color:#86efac}.plm-test-management-page .result-badge.FAIL{background:#ef444433;color:#fca5a5}.plm-test-management-page .result-badge.FAIL svg{color:#fca5a5}.plm-test-management-page .result-badge.CONDITIONAL{background:#fbbf2433;color:#fcd34d}.plm-test-management-page .result-badge.CONDITIONAL svg{color:#fcd34d}.plm-test-management-page .result-badge.PENDING{background:#9ca3af33;color:#9ca3af}.plm-test-management-page .approved-date{font-size:11px;color:var(--text-tertiary)}.plm-test-management-page .item-arrow{color:var(--text-tertiary)}.plm-test-management-page .loading-state,.plm-test-management-page .empty-state{display:flex;align-items:center;justify-content:center;gap:8px;padding:32px 16px;color:var(--text-secondary);font-size:13px}.plm-test-management-page .quick-links{display:flex;gap:12px}.plm-test-management-page .quick-link-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;font-size:13px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s}.plm-test-management-page .quick-link-btn:hover{border-color:#8b5cf6;color:#8b5cf6}.plm-test-management-page .quick-link-btn svg{color:#8b5cf6}.plm-test-management-page .spinning{animation:spin 1s linear infinite}@media (max-width: 768px){.plm-test-management-page{padding:8px}.plm-test-management-page .summary-cards{grid-template-columns:1fr}.plm-test-management-page .quick-links{flex-direction:column}}.plm-test-request-list-page{padding:16px;height:100%}.plm-test-request-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px}.plm-test-request-list-page .page-header-title{display:flex;align-items:center;gap:12px}.plm-test-request-list-page .page-header-icon{color:#9333ea}.plm-test-request-list-page .page-header-title h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.plm-test-request-list-page .page-header-title p{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.plm-test-request-list-page .status-summary-row{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;overflow-x:auto}.plm-test-request-list-page .status-badge-item{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0;background:transparent}.plm-test-request-list-page .status-badge-item:hover{border-color:#9333ea;background:var(--bg-secondary)}.plm-test-request-list-page .status-badge-item.active{border-width:2px;border-color:#9333ea;background:#9333ea1a}.plm-test-request-list-page .status-badge-label{font-size:11px;color:var(--text-secondary)}.plm-test-request-list-page .status-badge-value{font-size:13px;font-weight:700;color:var(--text-primary)}.plm-test-request-list-page .status-badge-unit{font-size:10px;color:var(--text-secondary)}.plm-test-request-list-page .main-container{border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-test-request-list-page .search-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--glass-border);background:var(--panel-2);border-radius:8px 8px 0 0;flex-wrap:nowrap;overflow-x:auto}.plm-test-request-list-page .search-item{flex-shrink:0}.plm-test-request-list-page .search-input-wrapper{position:relative;display:flex;align-items:center}.plm-test-request-list-page .search-icon{position:absolute;left:8px;color:var(--text-secondary);pointer-events:none}.plm-test-request-list-page .search-input-wrapper .input{padding-left:28px;min-width:280px!important;width:280px!important}.plm-test-request-list-page .search-buttons{display:flex;gap:4px;margin-left:auto}.plm-test-request-list-page .input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.plm-test-request-list-page .input:focus{outline:none;border-color:#9333ea}.plm-test-request-list-page .input::-moz-placeholder{color:var(--text-tertiary)}.plm-test-request-list-page .input::placeholder{color:var(--text-tertiary)}.plm-test-request-list-page .input-sm{padding:5px 8px;font-size:12px;border-radius:4px}.plm-test-request-list-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.plm-test-request-list-page .btn:disabled{opacity:.5;cursor:not-allowed}.plm-test-request-list-page .btn-primary{background:#9333ea;color:#fff;border-color:#9333ea}.plm-test-request-list-page .btn-primary:hover:not(:disabled){background:#7e22ce}.plm-test-request-list-page .btn-secondary{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border)}.plm-test-request-list-page .btn-secondary:hover:not(:disabled){background:var(--bg-secondary)}.plm-test-request-list-page .btn-sm{padding:5px 10px;font-size:12px;border-radius:4px}.plm-test-request-list-page .table-container{overflow:auto;max-height:calc(100vh - 280px);-webkit-overflow-scrolling:touch}.plm-test-request-list-page .data-table{width:100%;min-width:1000px;border-collapse:collapse;font-size:12px}.plm-test-request-list-page thead{position:sticky;top:0;z-index:1}.plm-test-request-list-page th{padding:8px 10px;font-weight:700;color:var(--text-primary);text-transform:none;letter-spacing:0;border-bottom:2px solid var(--glass-border);white-space:nowrap;font-size:11px;height:36px;background:#08090a66;text-align:left}.plm-test-request-list-page th.center{text-align:center}.plm-test-request-list-page .data-table tbody tr{height:40px;background:transparent}.plm-test-request-list-page .data-table td{padding:6px 10px;border-bottom:1px solid var(--glass-border);vertical-align:middle;line-height:1.5;font-size:12px;color:var(--text-primary)}.plm-test-request-list-page .data-table td.center{text-align:center}.plm-test-request-list-page .data-table tbody tr:hover{background:#1565c0!important}.plm-test-request-list-page .data-table tbody tr:hover td{color:#fff!important}.plm-test-request-list-page .data-table tbody tr:hover .progress-badge{background:#fff3!important;color:#fff!important}.plm-test-request-list-page .data-table tbody tr:hover .link-cell{color:#fff!important;text-decoration:underline}.plm-test-request-list-page .data-table tbody tr:hover .icon-btn{color:#fff!important}.plm-test-request-list-page .link-cell{color:#9333ea;font-weight:500;cursor:pointer;background:none;border:none;padding:0;font-size:inherit}.plm-test-request-list-page .link-cell:hover{text-decoration:underline}.plm-test-request-list-page .link-cell.blue{color:#3b82f6}.plm-test-request-list-page .truncate-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plm-test-request-list-page .text-secondary{color:var(--text-secondary)}.plm-test-request-list-page .text-muted{color:var(--text-tertiary)}.plm-test-request-list-page .progress-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:500;white-space:nowrap}.plm-test-request-list-page .progress-badge.DRAFT{background:#9ca3af33;color:#9ca3af}.plm-test-request-list-page .progress-badge.REQUESTED{background:#3b82f633;color:#93c5fd}.plm-test-request-list-page .progress-badge.IN_PROGRESS{background:#fbbf2433;color:#fcd34d}.plm-test-request-list-page .progress-badge.COMPLETED{background:#22c55e33;color:#86efac}.plm-test-request-list-page .progress-badge.CANCELLED{background:#ef444433;color:#fca5a5}.plm-test-request-list-page .icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px;background:transparent;color:var(--text-secondary);border:none;border-radius:4px;cursor:pointer;transition:all .2s}.plm-test-request-list-page .icon-btn:hover{background:var(--bg-secondary);color:#9333ea}.plm-test-request-list-page .loading-row td,.plm-test-request-list-page .empty-row td{text-align:center;padding:48px 16px;color:var(--text-secondary)}.plm-test-request-list-page .error-container{text-align:center;padding:60px 20px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px}.plm-test-request-list-page .error-container h3{margin-top:0;margin-bottom:10px;color:var(--error)}.plm-test-request-list-page .error-container p{margin-bottom:20px;color:var(--text-secondary)}.plm-test-request-list-page .pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--glass-border)}.plm-test-request-list-page .pagination-info{font-size:12px;color:var(--text-secondary)}.plm-test-request-list-page .pagination-buttons{display:flex;align-items:center;gap:4px}.plm-test-request-list-page .page-btn{padding:6px 12px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:12px;cursor:pointer;transition:all .2s}.plm-test-request-list-page .page-btn:hover:not(:disabled){background:var(--bg-secondary);border-color:#9333ea}.plm-test-request-list-page .page-btn.active{background:#9333ea;color:#fff;border-color:#9333ea}.plm-test-request-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.plm-test-request-list-page .spinning{animation:spin 1s linear infinite}@media (max-width: 1024px){.plm-test-request-list-page .page-header{flex-direction:column;gap:12px}.plm-test-request-list-page .status-summary-row{width:100%;justify-content:flex-start}}@media (max-width: 768px){.plm-test-request-list-page{padding:8px}.plm-test-request-list-page .search-bar{flex-direction:column;align-items:stretch;gap:6px}.plm-test-request-list-page .search-item{width:100%}.plm-test-request-list-page .search-input-wrapper .input{width:100%!important;min-width:unset!important}.plm-test-request-list-page .search-buttons{margin-left:0;justify-content:flex-end}.plm-test-request-list-page .pagination{flex-direction:column;gap:8px}}.plm-test-detail-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-primary)}.plm-loading-center,.plm-error-center{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:var(--text-secondary)}.plm-error-center svg{color:#f87171}.plm-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.plm-detail-title{display:flex;align-items:center;gap:12px}.plm-detail-title h1{margin:0;font-size:1.375rem;font-weight:600;color:var(--text-primary)}.plm-detail-title .subtitle{margin:0;font-size:.875rem;color:var(--text-secondary)}.plm-detail-title .page-icon{color:var(--primary)}.plm-detail-actions{display:flex;gap:8px;flex-wrap:wrap}.plm-test-detail-page .btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.plm-test-detail-page .btn-primary{background:var(--primary);color:var(--on-accent)}.plm-test-detail-page .btn-primary:hover{background:var(--primary-dark, #1d4ed8)}.plm-test-detail-page .btn-secondary{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary)}.plm-test-detail-page .btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.plm-test-detail-page .btn-icon{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-secondary)}.plm-test-detail-page .btn-icon:hover{border-color:var(--primary);color:var(--primary)}.plm-test-detail-page .btn-danger{color:#f87171}.plm-test-detail-page .btn-danger:hover{background:#ef44441a;border-color:#f87171}.plm-detail-tabs{display:flex;gap:4px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px 8px 0 0;padding:8px 8px 0;border-bottom:none;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;border-radius:6px 6px 0 0;transition:all .2s;position:relative}.plm-tab:hover{background:var(--panel-2);color:var(--text-primary)}.plm-tab.active{background:var(--panel-2);color:var(--primary)}.plm-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--primary)}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--primary);color:var(--on-accent);font-size:.75rem;border-radius:10px}.plm-detail-content{flex:1;background:var(--glass-bg);border:1px solid var(--glass-border);border-top:none;border-radius:0 0 8px 8px;padding:20px;overflow-y:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-info-tab{display:flex;flex-direction:column;gap:20px}.plm-info-section{padding-bottom:20px;border-bottom:1px solid var(--glass-border)}.plm-info-section:last-child{padding-bottom:0;border-bottom:none}.plm-info-section h3{margin:0 0 12px;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.plm-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase}.info-item span{font-size:.875rem;color:var(--text-primary)}.plm-remark-box{padding:12px;background:var(--panel-2);border-radius:6px;font-size:.875rem;color:var(--text-primary);white-space:pre-wrap}.plm-test-detail-page .status-badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:500;border-radius:4px;background:#6b728033;color:var(--text-secondary)}.plm-test-detail-page .status-badge.small{padding:2px 6px;font-size:.6875rem}.plm-test-detail-page .result-badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:500;border-radius:4px}.plm-test-detail-page .result-badge.pass{background:#22c55e33;color:#4ade80}.plm-test-detail-page .result-badge.fail{background:#ef444433;color:#f87171}.plm-test-detail-page .result-badge.conditional{background:#f59e0b33;color:#fbbf24}.plm-test-detail-page .result-badge.pending,.plm-test-detail-page .status-badge.draft{background:#6b728033;color:var(--text-secondary)}.plm-test-detail-page .status-badge.pending{background:#f59e0b33;color:#fbbf24}.plm-test-detail-page .status-badge.reviewing{background:#3b82f633;color:#60a5fa}.plm-test-detail-page .status-badge.approved{background:#22c55e33;color:#4ade80}.plm-test-detail-page .status-badge.rejected{background:#ef444433;color:#f87171}.plm-reports-tab{min-height:200px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary);text-align:center}.empty-state svg{margin-bottom:12px;opacity:.5}.empty-state p{margin:0 0 16px}.plm-test-detail-page .data-table{width:100%;border-collapse:collapse}.plm-test-detail-page .data-table th,.plm-test-detail-page .data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--glass-border)}.plm-test-detail-page .data-table th{background:#08090a66;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.plm-test-detail-page .data-table tbody tr{cursor:pointer;transition:all .15s}.plm-test-detail-page .data-table tbody tr:hover{background:#1565c0!important}.plm-test-detail-page .data-table tbody tr:hover td{color:#fff!important}.plm-test-detail-page .data-table tbody tr:hover .status-badge,.plm-test-detail-page .data-table tbody tr:hover .result-badge{background:#fff3!important;color:#fff!important}.plm-test-detail-page .data-table tbody tr:last-child td{border-bottom:none}.plm-test-detail-page .data-table .report-no{color:var(--primary);font-weight:500}.plm-test-detail-page .data-table tbody tr:hover .report-no{color:#fff!important}.plm-history-tab{min-height:200px}.history-timeline{display:flex;flex-direction:column;gap:0;position:relative;padding-left:24px}.history-timeline:before{content:"";position:absolute;left:7px;top:12px;bottom:12px;width:2px;background:var(--glass-border)}.history-item{display:flex;gap:16px;position:relative;padding-bottom:20px}.history-item:last-child{padding-bottom:0}.history-dot{position:absolute;left:-24px;top:4px;width:16px;height:16px;border-radius:50%;background:var(--primary);border:3px solid var(--glass-bg);box-shadow:0 0 0 2px var(--glass-border)}.history-content{flex:1;background:var(--panel-2);border-radius:8px;padding:12px}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.history-type{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.history-time{font-size:.75rem;color:var(--text-tertiary)}.history-body{display:flex;align-items:center;gap:8px;margin-bottom:8px}.history-body .arrow{color:var(--text-tertiary);font-size:.875rem}.history-footer{display:flex;gap:16px;font-size:.75rem;color:var(--text-tertiary)}.history-footer .remarks{color:var(--text-secondary)}.plm-test-detail-page .spinning{animation:spin 1s linear infinite}.plm-request-form-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-primary)}.plm-request-form-page .plm-loading-center{display:flex;align-items:center;justify-content:center;height:100%;font-size:1rem;color:var(--text-secondary)}.plm-request-form-page .plm-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--glass-border)}.plm-request-form-page .plm-form-title{display:flex;align-items:center;gap:12px}.plm-request-form-page .plm-form-title h1{margin:0;font-size:1.375rem;font-weight:600;color:var(--text-primary)}.plm-request-form-page .page-icon{color:var(--primary)}.plm-request-form-page .request-no{padding:4px 10px;background:var(--panel-2);border-radius:4px;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.plm-request-form-page .btn-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--glass-border);border-radius:6px;background:var(--glass-bg);color:var(--text-secondary);cursor:pointer;transition:all .2s}.plm-request-form-page .btn-back:hover{background:var(--panel-2);color:var(--text-primary);border-color:var(--primary)}.plm-request-form-page .plm-form-actions{display:flex;gap:8px}.plm-request-form-page .btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--glass-border);border-radius:6px;background:var(--glass-bg);color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.plm-request-form-page .btn:hover{background:var(--panel-2);border-color:var(--primary)}.plm-request-form-page .btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.plm-request-form-page .btn-primary:hover{background:var(--primary-dark, #1d4ed8)}.plm-request-form-page .btn-primary:disabled{opacity:.6;cursor:not-allowed}.plm-request-form-page .btn-secondary{background:var(--glass-bg);border-color:var(--glass-border)}.plm-request-form-page .btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.plm-request-form-page .btn-icon{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center}.plm-request-form-page .btn-sm{padding:4px 10px;font-size:.8125rem}.plm-request-form-page .error-message{padding:12px 16px;margin-bottom:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#f87171;font-size:.875rem}.plm-request-form-page .plm-form-content{flex:1;overflow-y:auto}.plm-request-form-page .form-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;padding:20px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-request-form-page .form-section h2{margin:0 0 16px;font-size:.9375rem;font-weight:600;color:var(--text-primary);padding-bottom:12px;border-bottom:1px solid var(--glass-border)}.plm-request-form-page .form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.plm-request-form-page .form-field{display:flex;flex-direction:column;gap:6px}.plm-request-form-page .form-field.span-2{grid-column:span 2}.plm-request-form-page .form-field.full-width{grid-column:1 / -1}.plm-request-form-page .form-field label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.plm-request-form-page .form-field.required label:after{content:" *";color:#f87171}.plm-request-form-page .form-field input,.plm-request-form-page .form-field select,.plm-request-form-page .form-field textarea{padding:10px 12px;border:1px solid var(--glass-border);border-radius:6px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.plm-request-form-page .form-field input:focus,.plm-request-form-page .form-field select:focus,.plm-request-form-page .form-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.plm-request-form-page .form-field input::-moz-placeholder,.plm-request-form-page .form-field textarea::-moz-placeholder{color:var(--text-tertiary)}.plm-request-form-page .form-field input::placeholder,.plm-request-form-page .form-field textarea::placeholder{color:var(--text-tertiary)}.plm-request-form-page .form-field input[readonly]{background:var(--panel-2);cursor:default;opacity:.7}.plm-request-form-page .form-field textarea{resize:vertical;min-height:100px}.plm-request-form-page .input-with-button{display:flex;gap:4px}.plm-request-form-page .input-with-button input{flex:1}.plm-request-form-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.plm-request-form-page .modal-content{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;width:90%;max-width:700px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000004d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-request-form-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--glass-border)}.plm-request-form-page .modal-header h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.plm-request-form-page .modal-body{flex:1;padding:20px;overflow-y:auto}.plm-request-form-page .search-box{display:flex;gap:8px;margin-bottom:16px}.plm-request-form-page .search-box input{flex:1;padding:10px 12px;border:1px solid var(--glass-border);border-radius:6px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary)}.plm-request-form-page .search-box input::-moz-placeholder{color:var(--text-tertiary)}.plm-request-form-page .search-box input::placeholder{color:var(--text-tertiary)}.plm-request-form-page .search-box input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.plm-request-form-page .search-results{min-height:200px}.plm-request-form-page .empty-results{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary);font-size:.875rem}.plm-request-form-page .results-table{width:100%;border-collapse:collapse}.plm-request-form-page .results-table th,.plm-request-form-page .results-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--glass-border);font-size:.875rem}.plm-request-form-page .results-table th{background:#08090a66;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.plm-request-form-page .results-table tbody tr{cursor:pointer;transition:all .15s}.plm-request-form-page .results-table tbody tr:hover{background:#1565c0!important}.plm-request-form-page .results-table tbody tr:hover td{color:#fff!important}@media (max-width: 768px){.plm-request-form-page .form-grid{grid-template-columns:1fr}.plm-request-form-page .form-field.span-2{grid-column:span 1}.plm-request-form-page .plm-form-header{flex-direction:column;gap:12px;align-items:flex-start}.plm-request-form-page .plm-form-actions{width:100%;justify-content:flex-end}}.plm-request-form-page .spinning{animation:spin 1s linear infinite}.plm-test-report-list-page{padding:16px;height:100%}.plm-test-report-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px}.plm-test-report-list-page .page-header-title{display:flex;align-items:center;gap:12px}.plm-test-report-list-page .page-header-icon{color:#0891b2}.plm-test-report-list-page .page-header-title h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.plm-test-report-list-page .page-header-title p{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.plm-test-report-list-page .status-summary-row{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;overflow-x:auto}.plm-test-report-list-page .status-badge-item{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0;background:transparent}.plm-test-report-list-page .status-badge-item:hover{border-color:#0891b2;background:var(--bg-secondary)}.plm-test-report-list-page .status-badge-item.active{border-width:2px;border-color:#0891b2;background:#0891b21a}.plm-test-report-list-page .status-badge-label{font-size:11px;color:var(--text-secondary)}.plm-test-report-list-page .status-badge-value{font-size:13px;font-weight:700;color:var(--text-primary)}.plm-test-report-list-page .status-badge-unit{font-size:10px;color:var(--text-secondary)}.plm-test-report-list-page .main-container{border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-test-report-list-page .search-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--glass-border);background:var(--panel-2);border-radius:8px 8px 0 0;flex-wrap:nowrap;overflow-x:auto}.plm-test-report-list-page .search-item{flex-shrink:0}.plm-test-report-list-page .search-input-wrapper{position:relative;display:flex;align-items:center}.plm-test-report-list-page .search-icon{position:absolute;left:8px;color:var(--text-secondary);pointer-events:none}.plm-test-report-list-page .search-input-wrapper .input{padding-left:28px;min-width:280px!important;width:280px!important}.plm-test-report-list-page .search-buttons{display:flex;gap:4px;margin-left:auto}.plm-test-report-list-page .input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.plm-test-report-list-page .input:focus{outline:none;border-color:#0891b2}.plm-test-report-list-page .input::-moz-placeholder{color:var(--text-tertiary)}.plm-test-report-list-page .input::placeholder{color:var(--text-tertiary)}.plm-test-report-list-page .input-sm{padding:5px 8px;font-size:12px;border-radius:4px}.plm-test-report-list-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.plm-test-report-list-page .btn:disabled{opacity:.5;cursor:not-allowed}.plm-test-report-list-page .btn-primary{background:#0891b2;color:#fff;border-color:#0891b2}.plm-test-report-list-page .btn-primary:hover:not(:disabled){background:#0e7490}.plm-test-report-list-page .btn-secondary{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border)}.plm-test-report-list-page .btn-secondary:hover:not(:disabled){background:var(--bg-secondary)}.plm-test-report-list-page .btn-sm{padding:5px 10px;font-size:12px;border-radius:4px}.plm-test-report-list-page .table-container{overflow:auto;max-height:calc(100vh - 280px);-webkit-overflow-scrolling:touch}.plm-test-report-list-page .data-table{width:100%;min-width:1000px;border-collapse:collapse;font-size:12px}.plm-test-report-list-page thead{position:sticky;top:0;z-index:1}.plm-test-report-list-page th{padding:8px 10px;font-weight:700;color:var(--text-primary);text-transform:none;letter-spacing:0;border-bottom:2px solid var(--glass-border);white-space:nowrap;font-size:11px;height:36px;background:#08090a66;text-align:left}.plm-test-report-list-page th.center{text-align:center}.plm-test-report-list-page .data-table tbody tr{height:40px;background:transparent}.plm-test-report-list-page .data-table td{padding:6px 10px;border-bottom:1px solid var(--glass-border);vertical-align:middle;line-height:1.5;font-size:12px;color:var(--text-primary)}.plm-test-report-list-page .data-table td.center{text-align:center}.plm-test-report-list-page .data-table tbody tr:hover{background:#1565c0!important}.plm-test-report-list-page .data-table tbody tr:hover td{color:#fff!important}.plm-test-report-list-page .data-table tbody tr:hover .result-badge{background:#fff3!important;color:#fff!important}.plm-test-report-list-page .data-table tbody tr:hover .result-badge svg{color:#fff!important}.plm-test-report-list-page .data-table tbody tr:hover .link-cell{color:#fff!important;text-decoration:underline}.plm-test-report-list-page .data-table tbody tr:hover .icon-btn{color:#fff!important}.plm-test-report-list-page .link-cell{color:#0891b2;font-weight:500;cursor:pointer;background:none;border:none;padding:0;font-size:inherit}.plm-test-report-list-page .link-cell:hover{text-decoration:underline}.plm-test-report-list-page .link-cell.blue{color:#3b82f6}.plm-test-report-list-page .link-cell.purple{color:#9333ea}.plm-test-report-list-page .truncate-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plm-test-report-list-page .text-secondary{color:var(--text-secondary)}.plm-test-report-list-page .text-muted{color:var(--text-tertiary)}.plm-test-report-list-page .result-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:500;white-space:nowrap}.plm-test-report-list-page .result-badge.PASS{background:#22c55e33;color:#86efac}.plm-test-report-list-page .result-badge.PASS svg{color:#86efac}.plm-test-report-list-page .result-badge.FAIL{background:#ef444433;color:#fca5a5}.plm-test-report-list-page .result-badge.FAIL svg{color:#fca5a5}.plm-test-report-list-page .result-badge.CONDITIONAL{background:#fbbf2433;color:#fcd34d}.plm-test-report-list-page .result-badge.CONDITIONAL svg{color:#fcd34d}.plm-test-report-list-page .result-badge.PENDING{background:#9ca3af33;color:#9ca3af}.plm-test-report-list-page .icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px;background:transparent;color:var(--text-secondary);border:none;border-radius:4px;cursor:pointer;transition:all .2s}.plm-test-report-list-page .icon-btn:hover{background:var(--bg-secondary);color:#0891b2}.plm-test-report-list-page .icon-btn.download:hover{color:#3b82f6}.plm-test-report-list-page .loading-row td,.plm-test-report-list-page .empty-row td{text-align:center;padding:48px 16px;color:var(--text-secondary)}.plm-test-report-list-page .error-container{text-align:center;padding:60px 20px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px}.plm-test-report-list-page .error-container h3{margin-top:0;margin-bottom:10px;color:var(--error)}.plm-test-report-list-page .error-container p{margin-bottom:20px;color:var(--text-secondary)}.plm-test-report-list-page .pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--glass-border)}.plm-test-report-list-page .pagination-info{font-size:12px;color:var(--text-secondary)}.plm-test-report-list-page .pagination-buttons{display:flex;align-items:center;gap:4px}.plm-test-report-list-page .page-btn{padding:6px 12px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:12px;cursor:pointer;transition:all .2s}.plm-test-report-list-page .page-btn:hover:not(:disabled){background:var(--bg-secondary);border-color:#0891b2}.plm-test-report-list-page .page-btn.active{background:#0891b2;color:#fff;border-color:#0891b2}.plm-test-report-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.plm-test-report-list-page .spinning{animation:spin 1s linear infinite}@media (max-width: 1024px){.plm-test-report-list-page .page-header{flex-direction:column;gap:12px}.plm-test-report-list-page .status-summary-row{width:100%;justify-content:flex-start}}@media (max-width: 768px){.plm-test-report-list-page{padding:8px}.plm-test-report-list-page .search-bar{flex-direction:column;align-items:stretch;gap:6px}.plm-test-report-list-page .search-item{width:100%}.plm-test-report-list-page .search-input-wrapper .input{width:100%!important;min-width:unset!important}.plm-test-report-list-page .search-buttons{margin-left:0;justify-content:flex-end}.plm-test-report-list-page .pagination{flex-direction:column;gap:8px}}.plm-report-detail-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-primary)}.plm-report-detail-page .plm-loading-center,.plm-report-detail-page .plm-error-center{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:var(--text-secondary)}.plm-report-detail-page .plm-error-center svg{color:#f87171}.plm-report-detail-page .plm-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.plm-report-detail-page .plm-detail-title{display:flex;align-items:center;gap:12px}.plm-report-detail-page .plm-detail-title h1{margin:0;font-size:1.375rem;font-weight:600;color:var(--text-primary)}.plm-report-detail-page .plm-detail-title .subtitle{margin:0;font-size:.875rem;color:var(--text-secondary)}.plm-report-detail-page .plm-detail-title .page-icon{color:var(--primary)}.plm-report-detail-page .plm-detail-actions{display:flex;gap:8px;flex-wrap:wrap}.plm-report-detail-page .btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.plm-report-detail-page .btn-primary{background:var(--primary);color:var(--on-accent)}.plm-report-detail-page .btn-primary:hover{background:var(--primary-dark, #1d4ed8)}.plm-report-detail-page .btn-success{background:#22c55e;color:var(--on-accent)}.plm-report-detail-page .btn-success:hover{background:#16a34a}.plm-report-detail-page .btn-danger-outline{background:transparent;border:1px solid #f87171;color:#f87171}.plm-report-detail-page .btn-danger-outline:hover{background:#ef44441a}.plm-report-detail-page .btn-secondary{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary)}.plm-report-detail-page .btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.plm-report-detail-page .btn-icon{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-secondary)}.plm-report-detail-page .btn-icon:hover{border-color:var(--primary);color:var(--primary)}.plm-report-detail-page .btn-danger{color:#f87171}.plm-report-detail-page .btn-danger:hover{background:#ef44441a;border-color:#f87171}.plm-report-detail-page .btn-sm{padding:4px 10px;font-size:.8125rem}.plm-report-detail-page .plm-detail-tabs{display:flex;gap:4px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px 8px 0 0;padding:8px 8px 0;border-bottom:none;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-report-detail-page .plm-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;border-radius:6px 6px 0 0;transition:all .2s;position:relative}.plm-report-detail-page .plm-tab:hover{background:var(--panel-2);color:var(--text-primary)}.plm-report-detail-page .plm-tab.active{background:var(--panel-2);color:var(--primary)}.plm-report-detail-page .plm-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--primary)}.plm-report-detail-page .plm-detail-content{flex:1;background:var(--glass-bg);border:1px solid var(--glass-border);border-top:none;border-radius:0 0 8px 8px;padding:20px;overflow-y:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-report-detail-page .plm-info-tab{display:flex;flex-direction:column;gap:20px}.plm-report-detail-page .plm-info-section{padding-bottom:20px;border-bottom:1px solid var(--glass-border)}.plm-report-detail-page .plm-info-section:last-child{padding-bottom:0;border-bottom:none}.plm-report-detail-page .plm-info-section h3{margin:0 0 12px;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.plm-report-detail-page .plm-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.plm-report-detail-page .info-item{display:flex;flex-direction:column;gap:4px}.plm-report-detail-page .info-item label{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase}.plm-report-detail-page .info-item span{font-size:.875rem;color:var(--text-primary)}.plm-report-detail-page .link-text{color:var(--primary);cursor:pointer;text-decoration:underline}.plm-report-detail-page .link-text:hover{color:var(--primary-dark, #1d4ed8)}.plm-report-detail-page .plm-remark-box{padding:12px;background:var(--panel-2);border-radius:6px;font-size:.875rem;color:var(--text-primary);white-space:pre-wrap}.plm-report-detail-page .result-summary-box{margin-top:12px;padding:12px;background:var(--panel-2);border-radius:6px}.plm-report-detail-page .result-summary-box label{display:block;font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;margin-bottom:6px}.plm-report-detail-page .result-summary-box p{margin:0;font-size:.875rem;color:var(--text-primary);white-space:pre-wrap}.plm-report-detail-page .file-info-box{display:flex;align-items:center;gap:12px;padding:12px;background:var(--panel-2);border-radius:6px}.plm-report-detail-page .file-info-box svg{color:var(--text-secondary)}.plm-report-detail-page .file-info-box .file-name{flex:1;font-size:.875rem;color:var(--text-primary)}.plm-report-detail-page .status-badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:500;border-radius:4px;background:#6b728033;color:var(--text-secondary)}.plm-report-detail-page .status-badge.small{padding:2px 6px;font-size:.6875rem}.plm-report-detail-page .result-badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:500;border-radius:4px}.plm-report-detail-page .result-badge.pass{background:#22c55e33;color:#4ade80}.plm-report-detail-page .result-badge.fail{background:#ef444433;color:#f87171}.plm-report-detail-page .result-badge.conditional{background:#f59e0b33;color:#fbbf24}.plm-report-detail-page .result-badge.pending{background:#6b728033;color:var(--text-secondary)}.plm-report-detail-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary);text-align:center}.plm-report-detail-page .empty-state svg{margin-bottom:12px;opacity:.5}.plm-report-detail-page .empty-state p{margin:0 0 16px}.plm-report-detail-page .plm-history-tab{min-height:200px}.plm-report-detail-page .history-timeline{display:flex;flex-direction:column;gap:0;position:relative;padding-left:24px}.plm-report-detail-page .history-timeline:before{content:"";position:absolute;left:7px;top:12px;bottom:12px;width:2px;background:var(--glass-border)}.plm-report-detail-page .history-item{display:flex;gap:16px;position:relative;padding-bottom:20px}.plm-report-detail-page .history-item:last-child{padding-bottom:0}.plm-report-detail-page .history-dot{position:absolute;left:-24px;top:4px;width:16px;height:16px;border-radius:50%;background:var(--primary);border:3px solid var(--glass-bg);box-shadow:0 0 0 2px var(--glass-border)}.plm-report-detail-page .history-content{flex:1;background:var(--panel-2);border-radius:8px;padding:12px}.plm-report-detail-page .history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.plm-report-detail-page .history-type{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.plm-report-detail-page .history-time{font-size:.75rem;color:var(--text-tertiary)}.plm-report-detail-page .history-body{display:flex;align-items:center;gap:8px;margin-bottom:8px}.plm-report-detail-page .history-body .arrow{color:var(--text-tertiary);font-size:.875rem}.plm-report-detail-page .history-footer{display:flex;gap:16px;font-size:.75rem;color:var(--text-tertiary)}.plm-report-detail-page .history-footer .remarks{color:var(--text-secondary)}.plm-report-detail-page .spinning{animation:spin 1s linear infinite}.plm-report-form-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-primary)}.plm-report-form-page .plm-loading-center{display:flex;align-items:center;justify-content:center;height:100%;font-size:1rem;color:var(--text-secondary)}.plm-report-form-page .plm-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--glass-border)}.plm-report-form-page .plm-form-title{display:flex;align-items:center;gap:12px}.plm-report-form-page .plm-form-title h1{margin:0;font-size:1.375rem;font-weight:600;color:var(--text-primary)}.plm-report-form-page .page-icon{color:var(--primary)}.plm-report-form-page .report-no{padding:4px 10px;background:var(--panel-2);border-radius:4px;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.plm-report-form-page .btn-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--glass-border);border-radius:6px;background:var(--glass-bg);color:var(--text-secondary);cursor:pointer;transition:all .2s}.plm-report-form-page .btn-back:hover{background:var(--panel-2);color:var(--text-primary);border-color:var(--primary)}.plm-report-form-page .plm-form-actions{display:flex;gap:8px}.plm-report-form-page .btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--glass-border);border-radius:6px;background:var(--glass-bg);color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.plm-report-form-page .btn:hover{background:var(--panel-2);border-color:var(--primary)}.plm-report-form-page .btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.plm-report-form-page .btn-primary:hover{background:var(--primary-dark, #1d4ed8)}.plm-report-form-page .btn-primary:disabled{opacity:.6;cursor:not-allowed}.plm-report-form-page .btn-secondary{background:var(--glass-bg);border-color:var(--glass-border)}.plm-report-form-page .btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.plm-report-form-page .btn-icon{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center}.plm-report-form-page .btn-sm{padding:4px 10px;font-size:.8125rem}.plm-report-form-page .error-message{padding:12px 16px;margin-bottom:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#f87171;font-size:.875rem}.plm-report-form-page .plm-form-content{flex:1;overflow-y:auto}.plm-report-form-page .form-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;padding:20px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-report-form-page .form-section h2{margin:0 0 16px;font-size:.9375rem;font-weight:600;color:var(--text-primary);padding-bottom:12px;border-bottom:1px solid var(--glass-border)}.plm-report-form-page .form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.plm-report-form-page .form-field{display:flex;flex-direction:column;gap:6px}.plm-report-form-page .form-field.span-2{grid-column:span 2}.plm-report-form-page .form-field.full-width{grid-column:1 / -1}.plm-report-form-page .form-field label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.plm-report-form-page .form-field.required label:after{content:" *";color:#f87171}.plm-report-form-page .form-field input,.plm-report-form-page .form-field select,.plm-report-form-page .form-field textarea{padding:10px 12px;border:1px solid var(--glass-border);border-radius:6px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.plm-report-form-page .form-field input:focus,.plm-report-form-page .form-field select:focus,.plm-report-form-page .form-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.plm-report-form-page .form-field input::-moz-placeholder,.plm-report-form-page .form-field textarea::-moz-placeholder{color:var(--text-tertiary)}.plm-report-form-page .form-field input::placeholder,.plm-report-form-page .form-field textarea::placeholder{color:var(--text-tertiary)}.plm-report-form-page .form-field input[readonly]{background:var(--panel-2);cursor:default;opacity:.7}.plm-report-form-page .form-field textarea{resize:vertical;min-height:100px}.plm-report-form-page .input-with-button{display:flex;gap:4px}.plm-report-form-page .input-with-button input{flex:1}.plm-report-form-page .file-upload-area{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--panel-2);border:1px dashed var(--glass-border);border-radius:8px}.plm-report-form-page .current-file,.plm-report-form-page .selected-file{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:6px;font-size:.875rem;color:var(--text-primary)}.plm-report-form-page .current-file svg,.plm-report-form-page .selected-file svg{color:var(--text-secondary);flex-shrink:0}.plm-report-form-page .selected-file span{flex:1}.plm-report-form-page .file-input-label{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:6px;font-size:.875rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s;width:-moz-fit-content;width:fit-content}.plm-report-form-page .file-input-label:hover{border-color:var(--primary);color:var(--primary)}.plm-report-form-page .file-hint{margin:0;font-size:.75rem;color:var(--text-secondary)}.plm-report-form-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.plm-report-form-page .modal-content{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;width:90%;max-width:700px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000004d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-report-form-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--glass-border)}.plm-report-form-page .modal-header h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.plm-report-form-page .modal-body{flex:1;padding:20px;overflow-y:auto}.plm-report-form-page .search-box{display:flex;gap:8px;margin-bottom:16px}.plm-report-form-page .search-box input{flex:1;padding:10px 12px;border:1px solid var(--glass-border);border-radius:6px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary)}.plm-report-form-page .search-box input::-moz-placeholder{color:var(--text-tertiary)}.plm-report-form-page .search-box input::placeholder{color:var(--text-tertiary)}.plm-report-form-page .search-box input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.plm-report-form-page .search-results{min-height:200px}.plm-report-form-page .empty-results{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary);font-size:.875rem}.plm-report-form-page .results-table{width:100%;border-collapse:collapse}.plm-report-form-page .results-table th,.plm-report-form-page .results-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--glass-border);font-size:.875rem}.plm-report-form-page .results-table th{background:#08090a66;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.plm-report-form-page .results-table tbody tr{cursor:pointer;transition:all .15s}.plm-report-form-page .results-table tbody tr:hover{background:#1565c0!important}.plm-report-form-page .results-table tbody tr:hover td{color:#fff!important}@media (max-width: 768px){.plm-report-form-page .form-grid{grid-template-columns:1fr}.plm-report-form-page .form-field.span-2{grid-column:span 1}.plm-report-form-page .plm-form-header{flex-direction:column;gap:12px;align-items:flex-start}.plm-report-form-page .plm-form-actions{width:100%;justify-content:flex-end}}.plm-report-form-page .spinning{animation:spin 1s linear infinite}.plm-sample-list-page{padding:16px;height:100%}.plm-sample-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px}.plm-sample-list-page .page-header-title h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.plm-sample-list-page .page-header-title p{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.plm-sample-list-page .status-summary-row{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;overflow-x:auto}.plm-sample-list-page .status-badge-item{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0;background:transparent}.plm-sample-list-page .status-badge-item:hover{border-color:var(--primary);background:var(--bg-secondary)}.plm-sample-list-page .status-badge-item.active{border-width:2px;border-color:var(--primary);background:#3b82f61a}.plm-sample-list-page .status-badge-label{font-size:11px;color:var(--text-secondary)}.plm-sample-list-page .status-badge-value{font-size:13px;font-weight:700;color:var(--text-primary)}.plm-sample-list-page .status-badge-unit{font-size:10px;color:var(--text-secondary)}.plm-sample-list-page .main-container{border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-sample-list-page .search-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--glass-border);background:var(--panel-2);border-radius:8px 8px 0 0;flex-wrap:nowrap;overflow-x:auto}.plm-sample-list-page .search-item{flex-shrink:0}.plm-sample-list-page .search-input-wrapper{position:relative;display:flex;align-items:center}.plm-sample-list-page .search-icon{position:absolute;left:8px;color:var(--text-secondary);pointer-events:none}.plm-sample-list-page .search-input-wrapper .input{padding-left:28px;min-width:200px!important;width:200px!important}.plm-sample-list-page .search-buttons{display:flex;gap:4px;margin-left:auto}.plm-sample-list-page .input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.plm-sample-list-page .input:focus{outline:none;border-color:var(--primary)}.plm-sample-list-page .input::-moz-placeholder{color:var(--text-tertiary)}.plm-sample-list-page .input::placeholder{color:var(--text-tertiary)}.plm-sample-list-page .input-sm{padding:5px 8px;font-size:12px;border-radius:4px}.plm-sample-list-page .search-item select.input-sm{min-width:90px;max-width:120px}.plm-sample-list-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.plm-sample-list-page .btn:disabled{opacity:.5;cursor:not-allowed}.plm-sample-list-page .btn-primary{background:var(--primary);color:var(--on-accent);border-color:var(--primary)}.plm-sample-list-page .btn-primary:hover:not(:disabled){background:var(--primary-hover)}.plm-sample-list-page .btn-secondary{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border)}.plm-sample-list-page .btn-secondary:hover:not(:disabled){background:var(--bg-secondary)}.plm-sample-list-page .btn-sm{padding:5px 10px;font-size:12px;border-radius:4px}.plm-sample-list-page .toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--glass-border)}.plm-sample-list-page .toolbar-left{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--text-secondary)}.plm-sample-list-page .toolbar-right{display:flex;gap:8px;align-items:center}.plm-sample-list-page .table-container{overflow:auto;max-height:calc(100vh - 280px);-webkit-overflow-scrolling:touch}.plm-sample-list-page .sample-table{width:100%;min-width:1200px;border-collapse:collapse;font-size:12px}.plm-sample-list-page thead{position:sticky;top:0;z-index:1}.plm-sample-list-page th{padding:8px 10px;font-weight:700;color:var(--text-primary);text-transform:none;letter-spacing:0;border-bottom:2px solid var(--glass-border);white-space:nowrap;font-size:11px;height:36px;background:#08090a66}.plm-sample-list-page .th-center{text-align:center}.plm-sample-list-page .th-left{text-align:left}.plm-sample-list-page .sample-table tbody tr{height:40px;background:transparent}.plm-sample-list-page .sample-table td{padding:6px 10px;border-bottom:1px solid var(--glass-border);vertical-align:middle;line-height:1.5;font-size:12px;color:var(--text-primary)}.plm-sample-list-page .td-center{text-align:center}.plm-sample-list-page .td-left{text-align:left}.plm-sample-list-page .td-small{font-size:11px;color:var(--text-secondary)}.plm-sample-list-page .td-ellipsis{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plm-sample-list-page .td-empty{padding:40px 12px;color:var(--text-secondary);text-align:center}.plm-sample-list-page .td-sample-no{font-weight:500;color:var(--primary);cursor:pointer;background:none;border:none;padding:0;font-size:inherit}.plm-sample-list-page .td-sample-no:hover{text-decoration:underline}.plm-sample-list-page .status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:500;white-space:nowrap}.plm-sample-list-page .status-badge.status-10{background:#3b82f633;color:#93c5fd}.plm-sample-list-page .status-badge.status-20{background:#fbbf2433;color:#fcd34d}.plm-sample-list-page .status-badge.status-30,.plm-sample-list-page .status-badge.status-APPROVED{background:#22c55e33;color:#86efac}.plm-sample-list-page .status-badge.status-40{background:#ef444433;color:#fca5a5}.plm-sample-list-page .quality-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:500}.plm-sample-list-page .quality-badge.PASS{background:#22c55e33;color:#86efac}.plm-sample-list-page .quality-badge.FAIL{background:#ef444433;color:#fca5a5}.plm-sample-list-page .quality-badge.PENDING{background:#fbbf2433;color:#fcd34d}.plm-sample-list-page tbody tr:hover{background:#1565c0!important}.plm-sample-list-page tbody tr:hover td{color:#fff!important}.plm-sample-list-page tbody tr:hover .status-badge,.plm-sample-list-page tbody tr:hover .quality-badge{background:#fff3!important;color:#fff!important}.plm-sample-list-page tbody tr:hover .td-sample-no{color:#fff!important;text-decoration:underline}.plm-sample-list-page tbody tr:hover svg{color:#fff!important}.plm-sample-list-page .text-muted{color:var(--text-tertiary)}.plm-sample-list-page .btn-icon{display:inline-flex;align-items:center;justify-content:center;padding:4px;background:transparent;color:var(--text-secondary);border:none;border-radius:4px;cursor:pointer;transition:all .2s}.plm-sample-list-page .btn-icon:hover{background:var(--bg-secondary);color:var(--primary)}.plm-sample-list-page .pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--glass-border)}.plm-sample-list-page .pagination-info{font-size:12px;color:var(--text-secondary)}.plm-sample-list-page .pagination-buttons{display:flex;align-items:center;gap:4px}.plm-sample-list-page .page-btn{padding:6px 12px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:12px;cursor:pointer;transition:all .2s}.plm-sample-list-page .page-btn:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary)}.plm-sample-list-page .page-btn.active{background:var(--primary);color:var(--on-accent);border-color:var(--primary)}.plm-sample-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.plm-sample-list-page .error-container{text-align:center;padding:60px 20px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px}.plm-sample-list-page .error-container h3{margin-top:0;margin-bottom:10px;color:var(--error)}.plm-sample-list-page .error-container p{margin-bottom:20px;color:var(--text-secondary)}.plm-sample-list-page .animate-spin{animation:spin 1s linear infinite}@media (max-width: 1024px){.plm-sample-list-page .page-header{flex-direction:column;gap:12px}.plm-sample-list-page .status-summary-row{width:100%;justify-content:flex-start}}@media (max-width: 768px){.plm-sample-list-page{padding:8px}.plm-sample-list-page .search-bar{flex-direction:column;align-items:stretch;gap:6px}.plm-sample-list-page .search-item{width:100%}.plm-sample-list-page .search-input-wrapper .input{width:100%!important;min-width:unset!important}.plm-sample-list-page .search-buttons{margin-left:0;justify-content:flex-end}.plm-sample-list-page .toolbar,.plm-sample-list-page .pagination{flex-direction:column;gap:8px}}.plm-eproduct-list-page{padding:16px;height:100%}.plm-eproduct-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px}.plm-eproduct-list-page .page-header-title{display:flex;align-items:center;gap:12px}.plm-eproduct-list-page .page-header-icon{color:#f97316}.plm-eproduct-list-page .page-header-title h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.plm-eproduct-list-page .page-header-title p{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.plm-eproduct-list-page .status-summary-row{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;overflow-x:auto}.plm-eproduct-list-page .status-badge-item{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0;background:transparent}.plm-eproduct-list-page .status-badge-item:hover{border-color:#f97316;background:var(--bg-secondary)}.plm-eproduct-list-page .status-badge-item.active{border-width:2px;border-color:#f97316;background:#f973161a}.plm-eproduct-list-page .status-badge-label{font-size:11px;color:var(--text-secondary)}.plm-eproduct-list-page .status-badge-value{font-size:13px;font-weight:700;color:var(--text-primary)}.plm-eproduct-list-page .status-badge-unit{font-size:10px;color:var(--text-secondary)}.plm-eproduct-list-page .main-container{border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-eproduct-list-page .search-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--glass-border);background:var(--panel-2);border-radius:8px 8px 0 0;flex-wrap:nowrap;overflow-x:auto}.plm-eproduct-list-page .search-item{flex-shrink:0}.plm-eproduct-list-page .search-input-wrapper{position:relative;display:flex;align-items:center}.plm-eproduct-list-page .search-icon{position:absolute;left:8px;color:var(--text-secondary);pointer-events:none}.plm-eproduct-list-page .search-input-wrapper .input{padding-left:28px;min-width:280px!important;width:280px!important}.plm-eproduct-list-page .search-buttons{display:flex;gap:4px;margin-left:auto}.plm-eproduct-list-page .input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.plm-eproduct-list-page .input:focus{outline:none;border-color:#f97316}.plm-eproduct-list-page .input::-moz-placeholder{color:var(--text-tertiary)}.plm-eproduct-list-page .input::placeholder{color:var(--text-tertiary)}.plm-eproduct-list-page .input-sm{padding:5px 8px;font-size:12px;border-radius:4px}.plm-eproduct-list-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.plm-eproduct-list-page .btn:disabled{opacity:.5;cursor:not-allowed}.plm-eproduct-list-page .btn-primary{background:#f97316;color:#fff;border-color:#f97316}.plm-eproduct-list-page .btn-primary:hover:not(:disabled){background:#ea580c}.plm-eproduct-list-page .btn-secondary{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border)}.plm-eproduct-list-page .btn-secondary:hover:not(:disabled){background:var(--bg-secondary)}.plm-eproduct-list-page .btn-sm{padding:5px 10px;font-size:12px;border-radius:4px}.plm-eproduct-list-page .table-container{overflow:auto;max-height:calc(100vh - 280px);-webkit-overflow-scrolling:touch}.plm-eproduct-list-page .data-table{width:100%;min-width:1000px;border-collapse:collapse;font-size:12px}.plm-eproduct-list-page thead{position:sticky;top:0;z-index:1}.plm-eproduct-list-page th{padding:8px 10px;font-weight:700;color:var(--text-primary);text-transform:none;letter-spacing:0;border-bottom:2px solid var(--glass-border);white-space:nowrap;font-size:11px;height:36px;background:#08090a66;text-align:left}.plm-eproduct-list-page th.center{text-align:center}.plm-eproduct-list-page .data-table tbody tr{height:40px;background:transparent}.plm-eproduct-list-page .data-table td{padding:6px 10px;border-bottom:1px solid var(--glass-border);vertical-align:middle;line-height:1.5;font-size:12px;color:var(--text-primary)}.plm-eproduct-list-page .data-table td.center{text-align:center}.plm-eproduct-list-page .data-table td.text-right{text-align:right}.plm-eproduct-list-page .data-table tbody tr:hover{background:#1565c0!important}.plm-eproduct-list-page .data-table tbody tr:hover td{color:#fff!important}.plm-eproduct-list-page .data-table tbody tr:hover .item-type-badge{background:#fff3!important;color:#fff!important}.plm-eproduct-list-page .data-table tbody tr:hover .link-cell{color:#fff!important;text-decoration:underline}.plm-eproduct-list-page .data-table tbody tr:hover .icon-btn{color:#fff!important}.plm-eproduct-list-page .link-cell{color:#f97316;font-weight:500;cursor:pointer;background:none;border:none;padding:0;font-size:inherit}.plm-eproduct-list-page .link-cell:hover{text-decoration:underline}.plm-eproduct-list-page .link-cell.blue{color:#3b82f6}.plm-eproduct-list-page .truncate-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plm-eproduct-list-page .text-secondary{color:var(--text-secondary)}.plm-eproduct-list-page .text-muted{color:var(--text-tertiary)}.plm-eproduct-list-page .item-type-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:500;white-space:nowrap;background:#f9731633;color:#fdba74}.plm-eproduct-list-page .icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px;background:transparent;color:var(--text-secondary);border:none;border-radius:4px;cursor:pointer;transition:all .2s}.plm-eproduct-list-page .icon-btn:hover{background:var(--bg-secondary);color:#f97316}.plm-eproduct-list-page .loading-row td,.plm-eproduct-list-page .empty-row td{text-align:center;padding:48px 16px;color:var(--text-secondary)}.plm-eproduct-list-page .error-container{text-align:center;padding:60px 20px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px}.plm-eproduct-list-page .error-container h3{margin-top:0;margin-bottom:10px;color:var(--error)}.plm-eproduct-list-page .error-container p{margin-bottom:20px;color:var(--text-secondary)}.plm-eproduct-list-page .pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--glass-border)}.plm-eproduct-list-page .pagination-info{font-size:12px;color:var(--text-secondary)}.plm-eproduct-list-page .pagination-buttons{display:flex;align-items:center;gap:4px}.plm-eproduct-list-page .page-btn{padding:6px 12px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:12px;cursor:pointer;transition:all .2s}.plm-eproduct-list-page .page-btn:hover:not(:disabled){background:var(--bg-secondary);border-color:#f97316}.plm-eproduct-list-page .page-btn.active{background:#f97316;color:#fff;border-color:#f97316}.plm-eproduct-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.plm-eproduct-list-page .spinning{animation:spin 1s linear infinite}@media (max-width: 1024px){.plm-eproduct-list-page .page-header{flex-direction:column;gap:12px}.plm-eproduct-list-page .status-summary-row{width:100%;justify-content:flex-start}}@media (max-width: 768px){.plm-eproduct-list-page{padding:8px}.plm-eproduct-list-page .search-bar{flex-direction:column;align-items:stretch;gap:6px}.plm-eproduct-list-page .search-item{width:100%}.plm-eproduct-list-page .search-input-wrapper .input{width:100%!important;min-width:unset!important}.plm-eproduct-list-page .search-buttons{margin-left:0;justify-content:flex-end}.plm-eproduct-list-page .pagination{flex-direction:column;gap:8px}}.plm-rfq-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.plm-rfq-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.plm-rfq-list-page .page-header-left{display:flex;align-items:center;gap:10px}.plm-rfq-list-page .page-header-icon{color:var(--primary)}.plm-rfq-list-page .page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.plm-rfq-list-page .page-header-actions{display:flex;gap:8px}.plm-rfq-list-page .btn-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.plm-rfq-list-page .btn-primary:hover{background:var(--primary-dark, #1d4ed8);transform:translateY(-1px)}.plm-rfq-list-page .summary-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-rfq-list-page .summary-title{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 12px}.plm-rfq-list-page .summary-badges{display:flex;flex-wrap:wrap;gap:8px}.plm-rfq-list-page .summary-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.plm-rfq-list-page .summary-badge.total{background:var(--panel-2);color:var(--text-primary)}.plm-rfq-list-page .summary-badge.total.active{background:var(--primary);color:var(--on-accent)}.plm-rfq-list-page .summary-badge.DRAFT{background:#6b728033;color:var(--text-secondary)}.plm-rfq-list-page .summary-badge.SUBMITTED{background:#3b82f633;color:#60a5fa}.plm-rfq-list-page .summary-badge.REVIEWING{background:#eab30833;color:#facc15}.plm-rfq-list-page .summary-badge.QUOTED{background:#a855f733;color:#c084fc}.plm-rfq-list-page .summary-badge.WON{background:#22c55e33;color:#4ade80}.plm-rfq-list-page .summary-badge.LOST{background:#ef444433;color:#f87171}.plm-rfq-list-page .summary-badge.CANCELLED{background:#6b728033;color:var(--text-tertiary)}.plm-rfq-list-page .summary-badge.N\/A{background:var(--panel-2);color:var(--text-secondary)}.plm-rfq-list-page .summary-badge.active:not(.total){border-color:var(--primary);box-shadow:0 0 0 2px #3b82f633}.plm-rfq-list-page .search-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-rfq-list-page .search-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}@media (max-width: 768px){.plm-rfq-list-page .search-row{grid-template-columns:1fr}}.plm-rfq-list-page .search-input{width:100%;padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.plm-rfq-list-page .search-input::-moz-placeholder{color:var(--text-tertiary)}.plm-rfq-list-page .search-input::placeholder{color:var(--text-tertiary)}.plm-rfq-list-page .search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.plm-rfq-list-page .search-actions{display:flex;gap:8px}.plm-rfq-list-page .btn-search{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.plm-rfq-list-page .btn-search:hover{background:var(--primary-dark, #1d4ed8);transform:translateY(-1px)}.plm-rfq-list-page .btn-refresh{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-rfq-list-page .btn-refresh:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.plm-rfq-list-page .table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-rfq-list-page .data-table{width:100%;border-collapse:collapse}.plm-rfq-list-page .data-table th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#08090a66;border-bottom:1px solid var(--glass-border)}.plm-rfq-list-page .data-table th.center{text-align:center}.plm-rfq-list-page .data-table td{padding:14px 16px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.plm-rfq-list-page .data-table tbody tr{transition:all .15s;cursor:pointer}.plm-rfq-list-page .data-table tbody tr:hover{background:#1565c0!important}.plm-rfq-list-page .data-table tbody tr:hover td{color:#fff!important}.plm-rfq-list-page .data-table tbody tr:hover .status-badge{background:#fff3!important;color:#fff!important}.plm-rfq-list-page .data-table tbody tr:last-child td{border-bottom:none}.plm-rfq-list-page .link-cell{color:var(--primary);font-weight:500;cursor:pointer;background:none;border:none;padding:0;font-size:inherit}.plm-rfq-list-page .link-cell:hover{text-decoration:underline}.plm-rfq-list-page .data-table tbody tr:hover .link-cell{color:#fff!important}.plm-rfq-list-page .truncate-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plm-rfq-list-page .text-secondary{color:var(--text-secondary)}.plm-rfq-list-page .text-muted{color:var(--text-tertiary)}.plm-rfq-list-page .center{text-align:center}.plm-rfq-list-page .status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.plm-rfq-list-page .status-badge.DRAFT{background:#6b728033;color:var(--text-secondary)}.plm-rfq-list-page .status-badge.SUBMITTED{background:#3b82f633;color:#60a5fa}.plm-rfq-list-page .status-badge.REVIEWING{background:#eab30833;color:#facc15}.plm-rfq-list-page .status-badge.QUOTED{background:#a855f733;color:#c084fc}.plm-rfq-list-page .status-badge.WON{background:#22c55e33;color:#4ade80}.plm-rfq-list-page .status-badge.LOST{background:#ef444433;color:#f87171}.plm-rfq-list-page .status-badge.CANCELLED{background:#6b728033;color:var(--text-tertiary)}.plm-rfq-list-page .info-cell{display:flex;align-items:center;gap:6px;font-size:.875rem}.plm-rfq-list-page .info-cell svg{flex-shrink:0;color:var(--text-tertiary)}.plm-rfq-list-page .data-table tbody tr:hover .info-cell svg{color:#ffffffb3}.plm-rfq-list-page .icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.plm-rfq-list-page .icon-btn:hover{background:var(--panel-2);color:var(--primary)}.plm-rfq-list-page .data-table tbody tr:hover .icon-btn{color:#ffffffb3}.plm-rfq-list-page .data-table tbody tr:hover .icon-btn:hover{color:#fff;background:#ffffff26}.plm-rfq-list-page .loading-row td,.plm-rfq-list-page .empty-row td{text-align:center;padding:60px 16px;color:var(--text-secondary)}.plm-rfq-list-page .pagination{display:flex;justify-content:space-between;align-items:center;padding:16px;border-top:1px solid var(--glass-border)}.plm-rfq-list-page .pagination-info{font-size:.875rem;color:var(--text-secondary)}.plm-rfq-list-page .pagination-buttons{display:flex;gap:8px}.plm-rfq-list-page .page-btn{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.plm-rfq-list-page .page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.plm-rfq-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.plm-rfq-list-page .page-btn.active{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.plm-rfq-list-page .spinning{animation:spin 1s linear infinite}.plm-rfq-detail-page{padding:24px;background:var(--bg-primary);min-height:100%}.plm-rfq-detail-page .loading-state,.plm-rfq-detail-page .error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:64px;color:var(--text-secondary)}.plm-rfq-detail-page .error-state p{margin:0;font-size:1rem}.plm-rfq-detail-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:16px}.plm-rfq-detail-page .page-header-left{display:flex;align-items:center;gap:12px}.plm-rfq-detail-page .btn-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.plm-rfq-detail-page .btn-back:hover{border-color:var(--primary);color:var(--primary)}.plm-rfq-detail-page .page-icon{color:var(--primary)}.plm-rfq-detail-page .page-title-area{display:flex;flex-direction:column;gap:2px}.plm-rfq-detail-page .page-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.plm-rfq-detail-page .page-subtitle{margin:0;font-size:.875rem;color:var(--text-secondary)}.plm-rfq-detail-page .page-header-actions{display:flex;gap:8px}.plm-rfq-detail-page .btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.plm-rfq-detail-page .btn-primary{background:var(--primary);color:var(--on-accent);border-color:var(--primary)}.plm-rfq-detail-page .btn-primary:hover:not(:disabled){background:var(--primary-dark, #1d4ed8)}.plm-rfq-detail-page .btn-secondary{background:var(--glass-bg);color:var(--text-primary);border-color:var(--glass-border)}.plm-rfq-detail-page .btn-secondary:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.plm-rfq-detail-page .btn:disabled{opacity:.6;cursor:not-allowed}.plm-rfq-detail-page .status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:9999px;font-size:.75rem;font-weight:600}.plm-rfq-detail-page .status-badge.DRAFT{background:#6b728033;color:var(--text-secondary)}.plm-rfq-detail-page .status-badge.SUBMITTED{background:#3b82f633;color:#60a5fa}.plm-rfq-detail-page .status-badge.REVIEWING{background:#eab30833;color:#facc15}.plm-rfq-detail-page .status-badge.QUOTED{background:#a855f733;color:#c084fc}.plm-rfq-detail-page .status-badge.WON{background:#22c55e33;color:#4ade80}.plm-rfq-detail-page .status-badge.LOST{background:#ef444433;color:#f87171}.plm-rfq-detail-page .status-badge.CANCELLED{background:#6b728033;color:var(--text-tertiary)}.plm-rfq-detail-page .detail-content{display:flex;flex-direction:column;gap:16px}.plm-rfq-detail-page .detail-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;padding:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-rfq-detail-page .section-title{margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--glass-border);font-size:.9375rem;font-weight:600;color:var(--text-primary)}.plm-rfq-detail-page .info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.plm-rfq-detail-page .info-item{display:flex;flex-direction:column;gap:4px}.plm-rfq-detail-page .info-item.span-2{grid-column:span 2}@media (max-width: 640px){.plm-rfq-detail-page .info-item.span-2{grid-column:span 1}}.plm-rfq-detail-page .info-label{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase}.plm-rfq-detail-page .info-label svg{flex-shrink:0;color:var(--text-tertiary)}.plm-rfq-detail-page .info-value{font-size:.9375rem;color:var(--text-primary);word-break:break-word}.plm-rfq-detail-page .info-value.text-secondary{color:var(--text-secondary);font-size:.875rem}.plm-rfq-detail-page .remarks-content{padding:12px 16px;background:var(--panel-2);border-radius:6px;font-size:.875rem;color:var(--text-primary);line-height:1.6;white-space:pre-wrap}.plm-rfq-detail-page .spinning{animation:spin 1s linear infinite}@media (max-width: 768px){.plm-rfq-detail-page{padding:16px}.plm-rfq-detail-page .page-header{flex-direction:column;align-items:flex-start}.plm-rfq-detail-page .page-header-actions{width:100%;justify-content:flex-end}}.plm-rfq-form-page{padding:24px;background:var(--bg-primary);min-height:100%}.plm-rfq-form-page .loading-state{display:flex;align-items:center;justify-content:center;padding:64px;color:var(--text-secondary)}.plm-rfq-form-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:16px}.plm-rfq-form-page .page-header-left{display:flex;align-items:center;gap:12px}.plm-rfq-form-page .btn-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.plm-rfq-form-page .btn-back:hover{border-color:var(--primary);color:var(--primary)}.plm-rfq-form-page .page-icon{color:var(--primary)}.plm-rfq-form-page .page-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.plm-rfq-form-page .rfq-no-badge{padding:4px 12px;background:var(--panel-2);border-radius:4px;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.plm-rfq-form-page .page-header-actions{display:flex;gap:8px}.plm-rfq-form-page .btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.plm-rfq-form-page .btn-primary{background:var(--primary);color:var(--on-accent);border-color:var(--primary)}.plm-rfq-form-page .btn-primary:hover:not(:disabled){background:var(--primary-dark, #1d4ed8)}.plm-rfq-form-page .btn-secondary{background:var(--glass-bg);color:var(--text-primary);border-color:var(--glass-border)}.plm-rfq-form-page .btn-secondary:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.plm-rfq-form-page .btn:disabled{opacity:.6;cursor:not-allowed}.plm-rfq-form-page .error-message{padding:12px 16px;margin-bottom:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#f87171;font-size:.875rem}.plm-rfq-form-page .form-content{display:flex;flex-direction:column;gap:16px}.plm-rfq-form-page .form-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;padding:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-rfq-form-page .section-title{margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--glass-border);font-size:.9375rem;font-weight:600;color:var(--text-primary)}.plm-rfq-form-page .form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.plm-rfq-form-page .form-field{display:flex;flex-direction:column;gap:6px}.plm-rfq-form-page .form-field.span-2{grid-column:span 2}.plm-rfq-form-page .form-field.full-width{grid-column:1 / -1}@media (max-width: 640px){.plm-rfq-form-page .form-field.span-2{grid-column:span 1}}.plm-rfq-form-page .form-field label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.plm-rfq-form-page .form-field label.required:after{content:" *";color:#f87171}.plm-rfq-form-page .form-field input,.plm-rfq-form-page .form-field select,.plm-rfq-form-page .form-field textarea{padding:10px 12px;border:1px solid var(--glass-border);border-radius:6px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.plm-rfq-form-page .form-field input:focus,.plm-rfq-form-page .form-field select:focus,.plm-rfq-form-page .form-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.plm-rfq-form-page .form-field input::-moz-placeholder,.plm-rfq-form-page .form-field textarea::-moz-placeholder{color:var(--text-tertiary)}.plm-rfq-form-page .form-field input::placeholder,.plm-rfq-form-page .form-field textarea::placeholder{color:var(--text-tertiary)}.plm-rfq-form-page .form-field textarea{resize:vertical;min-height:100px}.plm-rfq-form-page .spinning{animation:spin 1s linear infinite}@media (max-width: 768px){.plm-rfq-form-page{padding:16px}.plm-rfq-form-page .page-header{flex-direction:column;align-items:flex-start}.plm-rfq-form-page .page-header-actions{width:100%;justify-content:flex-end}.plm-rfq-form-page .form-grid{grid-template-columns:1fr}}.plm-portfolio-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.plm-portfolio-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.plm-portfolio-list-page .page-header-left{display:flex;align-items:center;gap:10px}.plm-portfolio-list-page .page-header-icon{color:var(--primary)}.plm-portfolio-list-page .page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.plm-portfolio-list-page .page-description{font-size:.875rem;color:var(--text-secondary);margin:4px 0 0}.plm-portfolio-list-page .btn-create{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.plm-portfolio-list-page .btn-create:hover{background:var(--primary-dark, #1d4ed8);transform:translateY(-1px)}.plm-portfolio-list-page .summary-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-portfolio-list-page .summary-title{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 12px}.plm-portfolio-list-page .summary-badges{display:flex;flex-wrap:wrap;gap:8px}.plm-portfolio-list-page .summary-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.plm-portfolio-list-page .summary-badge.total{background:var(--panel-2);color:var(--text-primary)}.plm-portfolio-list-page .summary-badge.total.active{background:var(--primary);color:var(--on-accent)}.plm-portfolio-list-page .summary-badge.ACTIVE{background:#22c55e33;color:#4ade80}.plm-portfolio-list-page .summary-badge.INACTIVE{background:#6b728033;color:var(--text-secondary)}.plm-portfolio-list-page .summary-badge.COMPLETED{background:#3b82f633;color:#60a5fa}.plm-portfolio-list-page .summary-badge.active:not(.total){border-color:var(--primary);box-shadow:0 0 0 2px #3b82f633}.plm-portfolio-list-page .search-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-portfolio-list-page .search-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}@media (max-width: 768px){.plm-portfolio-list-page .search-row{grid-template-columns:1fr}}.plm-portfolio-list-page .search-input{width:100%;padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.plm-portfolio-list-page .search-input::-moz-placeholder{color:var(--text-tertiary)}.plm-portfolio-list-page .search-input::placeholder{color:var(--text-tertiary)}.plm-portfolio-list-page .search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.plm-portfolio-list-page .search-actions{display:flex;gap:8px}.plm-portfolio-list-page .btn-search{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.plm-portfolio-list-page .btn-search:hover{background:var(--primary-dark, #1d4ed8);transform:translateY(-1px)}.plm-portfolio-list-page .btn-refresh{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-portfolio-list-page .btn-refresh:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.plm-portfolio-list-page .table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-portfolio-list-page .data-table{width:100%;border-collapse:collapse}.plm-portfolio-list-page .data-table th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#08090a66;border-bottom:1px solid var(--glass-border)}.plm-portfolio-list-page .data-table th.center{text-align:center}.plm-portfolio-list-page .data-table th.right{text-align:right}.plm-portfolio-list-page .data-table td{padding:14px 16px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.plm-portfolio-list-page .data-table tbody tr{transition:all .15s;cursor:pointer}.plm-portfolio-list-page .data-table tbody tr:hover{background:#1565c0!important}.plm-portfolio-list-page .data-table tbody tr:hover td{color:#fff!important}.plm-portfolio-list-page .data-table tbody tr:hover .status-badge{background:#fff3!important;color:#fff!important}.plm-portfolio-list-page .data-table tbody tr:last-child td{border-bottom:none}.plm-portfolio-list-page .link-cell{color:var(--primary);font-weight:500;cursor:pointer;background:none;border:none;padding:0;font-size:inherit}.plm-portfolio-list-page .link-cell:hover{text-decoration:underline}.plm-portfolio-list-page .data-table tbody tr:hover .link-cell{color:#fff!important}.plm-portfolio-list-page .truncate-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plm-portfolio-list-page .text-secondary{color:var(--text-secondary)}.plm-portfolio-list-page .text-muted{color:var(--text-tertiary)}.plm-portfolio-list-page .center{text-align:center}.plm-portfolio-list-page .right{text-align:right}.plm-portfolio-list-page .status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.plm-portfolio-list-page .status-badge.ACTIVE{background:#22c55e33;color:#4ade80}.plm-portfolio-list-page .status-badge.INACTIVE{background:#6b728033;color:var(--text-secondary)}.plm-portfolio-list-page .status-badge.COMPLETED{background:#3b82f633;color:#60a5fa}.plm-portfolio-list-page .info-cell{display:flex;align-items:center;gap:6px;font-size:.875rem}.plm-portfolio-list-page .info-cell svg{flex-shrink:0;color:var(--text-tertiary)}.plm-portfolio-list-page .data-table tbody tr:hover .info-cell svg{color:#ffffffb3}.plm-portfolio-list-page .info-cell.right{justify-content:flex-end}.plm-portfolio-list-page .action-buttons{display:flex;align-items:center;justify-content:center;gap:4px}.plm-portfolio-list-page .icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.plm-portfolio-list-page .icon-btn:hover{background:var(--panel-2);color:var(--primary)}.plm-portfolio-list-page .icon-btn.edit:hover{color:#60a5fa;background:#3b82f61a}.plm-portfolio-list-page .icon-btn.delete:hover{color:#f87171;background:#ef44441a}.plm-portfolio-list-page .data-table tbody tr:hover .icon-btn{color:#ffffffb3}.plm-portfolio-list-page .data-table tbody tr:hover .icon-btn:hover{color:#fff;background:#ffffff26}.plm-portfolio-list-page .loading-row td,.plm-portfolio-list-page .empty-row td{text-align:center;padding:60px 16px;color:var(--text-secondary)}.plm-portfolio-list-page .pagination{display:flex;justify-content:space-between;align-items:center;padding:16px;border-top:1px solid var(--glass-border)}.plm-portfolio-list-page .pagination-info{font-size:.875rem;color:var(--text-secondary)}.plm-portfolio-list-page .pagination-buttons{display:flex;gap:8px}.plm-portfolio-list-page .page-btn{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.plm-portfolio-list-page .page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.plm-portfolio-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.plm-portfolio-list-page .page-btn.active{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.plm-portfolio-list-page .spinning{animation:spin 1s linear infinite}.spec-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.spec-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.spec-list-page .page-header-left{display:flex;align-items:center;gap:10px}.spec-list-page .page-header-icon{color:var(--primary)}.spec-list-page .page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.spec-list-page .btn-primary{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.spec-list-page .btn-primary:hover{background:var(--primary-dark, #1d4ed8);transform:translateY(-1px)}.spec-list-page .search-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.spec-list-page .search-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.spec-list-page .search-field{flex:1;min-width:200px}.spec-list-page .search-field label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.spec-list-page .search-input-wrapper{position:relative}.spec-list-page .search-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-tertiary)}.spec-list-page .search-input{width:100%;padding:10px 14px 10px 42px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.spec-list-page .search-input::-moz-placeholder{color:var(--text-tertiary)}.spec-list-page .search-input::placeholder{color:var(--text-tertiary)}.spec-list-page .search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.spec-list-page .filter-field{width:160px}.spec-list-page .filter-select{width:100%;padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.spec-list-page .filter-select:focus{outline:none;border-color:var(--primary)}.spec-list-page .btn-search{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--panel-2);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s}.spec-list-page .btn-search:hover{background:var(--glass-bg);border-color:var(--primary);color:var(--primary)}.spec-list-page .table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.spec-list-page .data-table{width:100%;border-collapse:collapse}.spec-list-page .data-table th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#08090a66;border-bottom:1px solid var(--glass-border)}.spec-list-page .data-table th.center{text-align:center}.spec-list-page .data-table td{padding:14px 16px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.spec-list-page .data-table tbody tr{transition:all .15s;cursor:pointer}.spec-list-page .data-table tbody tr:hover{background:#1565c0!important}.spec-list-page .data-table tbody tr:hover td{color:#fff!important}.spec-list-page .data-table tbody tr:hover .status-badge{background:#fff3!important;color:#fff!important}.spec-list-page .data-table tbody tr:last-child td{border-bottom:none}.spec-list-page .link-cell{color:var(--primary);font-weight:500}.spec-list-page .data-table tbody tr:hover .link-cell{color:#fff!important}.spec-list-page .text-secondary{color:var(--text-secondary)}.spec-list-page .text-muted{color:var(--text-tertiary)}.spec-list-page .status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.spec-list-page .status-badge.DRAFT{background:#6b728033;color:var(--text-secondary)}.spec-list-page .status-badge.REVIEW{background:#eab30833;color:#facc15}.spec-list-page .status-badge.APPROVED{background:#22c55e33;color:#4ade80}.spec-list-page .status-badge.OBSOLETE{background:#ef444433;color:#f87171}.spec-list-page .icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.spec-list-page .icon-btn:hover{background:var(--panel-2);color:var(--primary)}.spec-list-page .icon-btn.danger:hover{color:#f87171;background:#ef44441a}.spec-list-page .icon-btn.success:hover{color:#4ade80;background:#22c55e1a}.spec-list-page .data-table tbody tr:hover .icon-btn{color:#ffffffb3}.spec-list-page .data-table tbody tr:hover .icon-btn:hover{color:#fff;background:#ffffff26}.spec-list-page .loading-row td,.spec-list-page .empty-row td{text-align:center;padding:60px 16px;color:var(--text-secondary)}.spec-list-page .pagination{margin-top:16px;display:flex;justify-content:space-between;align-items:center}.spec-list-page .pagination-info{font-size:.875rem;color:var(--text-secondary)}.spec-list-page .pagination-buttons{display:flex;align-items:center;gap:8px}.spec-list-page .page-btn{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.spec-list-page .page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.spec-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.spec-list-page .page-info{font-size:.875rem;color:var(--text-secondary)}.part-dev-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.part-dev-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.part-dev-list-page .page-header-left{display:flex;align-items:center;gap:10px}.part-dev-list-page .page-header-icon{color:var(--primary)}.part-dev-list-page .page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.part-dev-list-page .btn-primary{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.part-dev-list-page .btn-primary:hover{background:var(--primary-dark, #1d4ed8);transform:translateY(-1px)}.part-dev-list-page .filter-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.part-dev-list-page .filter-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.part-dev-list-page .filter-field{display:flex;flex-direction:column;gap:6px}.part-dev-list-page .filter-field.flex-1{flex:1;min-width:200px}.part-dev-list-page .filter-field.w-40{width:160px}.part-dev-list-page .filter-label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.part-dev-list-page .search-wrapper{position:relative}.part-dev-list-page .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-tertiary)}.part-dev-list-page .search-input{width:100%;padding:10px 14px 10px 42px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.part-dev-list-page .search-input::-moz-placeholder{color:var(--text-tertiary)}.part-dev-list-page .search-input::placeholder{color:var(--text-tertiary)}.part-dev-list-page .search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.part-dev-list-page .filter-select{width:100%;padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.part-dev-list-page .filter-select:focus{outline:none;border-color:var(--primary)}.part-dev-list-page .btn-search{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--panel-2);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s}.part-dev-list-page .btn-search:hover{background:var(--glass-bg);border-color:var(--primary);color:var(--primary)}.part-dev-list-page .table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.part-dev-list-page .data-table{width:100%;border-collapse:collapse}.part-dev-list-page .data-table th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#08090a66;border-bottom:1px solid var(--glass-border)}.part-dev-list-page .data-table th.center{text-align:center}.part-dev-list-page .data-table td{padding:14px 16px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.part-dev-list-page .data-table tbody tr{transition:all .15s}.part-dev-list-page .data-table tbody tr:hover{background:#1565c0!important}.part-dev-list-page .data-table tbody tr:hover td{color:#fff!important}.part-dev-list-page .data-table tbody tr:hover .status-badge{background:#fff3!important;color:#fff!important}.part-dev-list-page .data-table tbody tr:last-child td{border-bottom:none}.part-dev-list-page .link-cell{color:var(--primary);font-weight:500}.part-dev-list-page .data-table tbody tr:hover .link-cell{color:#fff!important}.part-dev-list-page .text-secondary{color:var(--text-secondary)}.part-dev-list-page .status-badge{display:inline-flex;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.part-dev-list-page .status-badge.PLANNING{background:#6b728033;color:var(--text-secondary)}.part-dev-list-page .status-badge.DESIGNING{background:#3b82f633;color:#60a5fa}.part-dev-list-page .status-badge.PROTOTYPING{background:#eab30833;color:#facc15}.part-dev-list-page .status-badge.TESTING{background:#a855f733;color:#c084fc}.part-dev-list-page .status-badge.APPROVED{background:#22c55e33;color:#4ade80}.part-dev-list-page .status-badge.PRODUCTION{background:#14b8a633;color:#2dd4bf}.part-dev-list-page .icon-btn{display:flex;align-items:center;justify-content:center;padding:8px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.part-dev-list-page .icon-btn:hover{background:var(--panel-2);color:var(--primary)}.part-dev-list-page .data-table tbody tr:hover .icon-btn{color:#ffffffb3}.part-dev-list-page .data-table tbody tr:hover .icon-btn:hover{color:#fff;background:#ffffff26}.part-dev-list-page .icon-btn.success:hover{color:#4ade80;background:#22c55e1a}.part-dev-list-page .icon-btn.danger:hover{color:#f87171;background:#ef44441a}.part-dev-list-page .action-buttons{display:flex;align-items:center;justify-content:center;gap:4px}.part-dev-list-page .loading-state,.part-dev-list-page .empty-state{padding:60px 16px;text-align:center;color:var(--text-secondary)}.part-dev-list-page .pagination{margin-top:16px;display:flex;justify-content:space-between;align-items:center}.part-dev-list-page .pagination-info{font-size:.875rem;color:var(--text-secondary)}.part-dev-list-page .pagination-buttons{display:flex;align-items:center;gap:8px}.part-dev-list-page .page-btn{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--panel-2);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.part-dev-list-page .page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.part-dev-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.part-dev-list-page .page-info{font-size:.875rem;color:var(--text-secondary)}.ecr-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.ecr-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.ecr-list-page .page-header-left{display:flex;align-items:center;gap:10px}.ecr-list-page .page-header-icon{color:var(--primary)}.ecr-list-page .page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.ecr-list-page .btn-primary{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.ecr-list-page .btn-primary:hover{background:var(--primary-dark, #1d4ed8);transform:translateY(-1px)}.ecr-list-page .filter-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.ecr-list-page .filter-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.ecr-list-page .filter-field{display:flex;flex-direction:column;gap:6px}.ecr-list-page .filter-field.flex-1{flex:1;min-width:200px}.ecr-list-page .filter-field.w-36{width:150px}.ecr-list-page .filter-label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.ecr-list-page .search-wrapper{position:relative}.ecr-list-page .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-tertiary)}.ecr-list-page .search-input{width:100%;padding:10px 14px 10px 42px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.ecr-list-page .search-input::-moz-placeholder{color:var(--text-tertiary)}.ecr-list-page .search-input::placeholder{color:var(--text-tertiary)}.ecr-list-page .search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.ecr-list-page .filter-select{width:100%;padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.ecr-list-page .filter-select:focus{outline:none;border-color:var(--primary)}.ecr-list-page .btn-search{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--panel-2);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s}.ecr-list-page .btn-search:hover{background:var(--glass-bg);border-color:var(--primary);color:var(--primary)}.ecr-list-page .table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.ecr-list-page .data-table{width:100%;border-collapse:collapse}.ecr-list-page .data-table th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#08090a66;border-bottom:1px solid var(--glass-border)}.ecr-list-page .data-table th.center{text-align:center}.ecr-list-page .data-table td{padding:14px 16px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.ecr-list-page .data-table tbody tr{transition:all .15s}.ecr-list-page .data-table tbody tr:hover{background:#1565c0!important}.ecr-list-page .data-table tbody tr:hover td{color:#fff!important}.ecr-list-page .data-table tbody tr:hover .status-badge,.ecr-list-page .data-table tbody tr:hover .priority-text{background:#fff3!important;color:#fff!important}.ecr-list-page .data-table tbody tr:last-child td{border-bottom:none}.ecr-list-page .link-cell{color:var(--primary);font-weight:500}.ecr-list-page .data-table tbody tr:hover .link-cell{color:#fff!important}.ecr-list-page .text-secondary{color:var(--text-secondary)}.ecr-list-page .status-badge{display:inline-flex;padding:4px 10px;border-radius:9999px;font-size:.75rem;font-weight:500}.ecr-list-page .status-badge.DRAFT{background:#6b728033;color:var(--text-secondary)}.ecr-list-page .status-badge.SUBMITTED{background:#3b82f633;color:#60a5fa}.ecr-list-page .status-badge.REVIEW{background:#eab30833;color:#facc15}.ecr-list-page .status-badge.APPROVED{background:#22c55e33;color:#4ade80}.ecr-list-page .status-badge.REJECTED{background:#ef444433;color:#f87171}.ecr-list-page .status-badge.CANCELLED{background:#6b728033;color:var(--text-tertiary)}.ecr-list-page .priority-text{font-weight:500;padding:4px 8px;border-radius:4px}.ecr-list-page .priority-text.LOW{color:var(--text-secondary)}.ecr-list-page .priority-text.MEDIUM{color:#60a5fa}.ecr-list-page .priority-text.HIGH{color:#fb923c}.ecr-list-page .priority-text.URGENT{color:#f87171}.ecr-list-page .eco-link{display:flex;align-items:center;gap:4px;color:#4ade80;background:none;border:none;font-size:.875rem;cursor:pointer}.ecr-list-page .eco-link:hover{text-decoration:underline}.ecr-list-page .data-table tbody tr:hover .eco-link{color:#fff!important}.ecr-list-page .eco-rejected{display:flex;align-items:center;gap:4px;color:#f87171;font-size:.875rem}.ecr-list-page .icon-btn{display:flex;align-items:center;justify-content:center;padding:8px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.ecr-list-page .icon-btn:hover{background:var(--panel-2);color:var(--primary)}.ecr-list-page .data-table tbody tr:hover .icon-btn{color:#ffffffb3}.ecr-list-page .data-table tbody tr:hover .icon-btn:hover{color:#fff;background:#ffffff26}.ecr-list-page .icon-btn.success:hover{color:#4ade80;background:#22c55e1a}.ecr-list-page .icon-btn.danger:hover{color:#f87171;background:#ef44441a}.ecr-list-page .action-buttons{display:flex;align-items:center;justify-content:center;gap:4px}.ecr-list-page .loading-state,.ecr-list-page .empty-state{padding:60px 16px;text-align:center;color:var(--text-secondary)}.ecr-list-page .pagination{margin-top:16px;display:flex;justify-content:space-between;align-items:center}.ecr-list-page .pagination-info{font-size:.875rem;color:var(--text-secondary)}.ecr-list-page .pagination-buttons{display:flex;align-items:center;gap:8px}.ecr-list-page .page-btn{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--panel-2);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.ecr-list-page .page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.ecr-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.ecr-list-page .page-info{font-size:.875rem;color:var(--text-secondary)}.eco-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.eco-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.eco-list-page .page-header-left{display:flex;align-items:center;gap:10px}.eco-list-page .page-header-icon{color:#4ade80}.eco-list-page .page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.eco-list-page .filter-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.eco-list-page .filter-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.eco-list-page .filter-field{display:flex;flex-direction:column;gap:6px}.eco-list-page .filter-field.flex-1{flex:1;min-width:200px}.eco-list-page .filter-field.w-36{width:150px}.eco-list-page .filter-label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.eco-list-page .search-wrapper{position:relative}.eco-list-page .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-tertiary)}.eco-list-page .search-input{width:100%;padding:10px 14px 10px 42px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.eco-list-page .search-input::-moz-placeholder{color:var(--text-tertiary)}.eco-list-page .search-input::placeholder{color:var(--text-tertiary)}.eco-list-page .search-input:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e26}.eco-list-page .filter-select{width:100%;padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.eco-list-page .filter-select:focus{outline:none;border-color:#22c55e}.eco-list-page .btn-search{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--panel-2);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s}.eco-list-page .btn-search:hover{background:var(--glass-bg);border-color:#22c55e;color:#4ade80}.eco-list-page .table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.eco-list-page .data-table{width:100%;border-collapse:collapse}.eco-list-page .data-table th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#08090a66;border-bottom:1px solid var(--glass-border)}.eco-list-page .data-table th.center{text-align:center}.eco-list-page .data-table td{padding:14px 16px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.eco-list-page .data-table tbody tr{transition:all .15s}.eco-list-page .data-table tbody tr:hover{background:#1565c0!important}.eco-list-page .data-table tbody tr:hover td{color:#fff!important}.eco-list-page .data-table tbody tr:hover .status-badge,.eco-list-page .data-table tbody tr:hover .priority-text{background:#fff3!important;color:#fff!important}.eco-list-page .data-table tbody tr:last-child td{border-bottom:none}.eco-list-page .link-cell{color:#4ade80;font-weight:500}.eco-list-page .data-table tbody tr:hover .link-cell{color:#fff!important}.eco-list-page .text-secondary{color:var(--text-secondary)}.eco-list-page .status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:9999px;font-size:.75rem;font-weight:500}.eco-list-page .status-badge.OPEN{background:#3b82f633;color:#60a5fa}.eco-list-page .status-badge.IN_PROGRESS{background:#eab30833;color:#facc15}.eco-list-page .status-badge.VERIFICATION{background:#a855f733;color:#c084fc}.eco-list-page .status-badge.COMPLETED{background:#22c55e33;color:#4ade80}.eco-list-page .status-badge.CANCELLED{background:#6b728033;color:var(--text-tertiary)}.eco-list-page .priority-text{font-weight:500;padding:4px 8px;border-radius:4px}.eco-list-page .priority-text.LOW{color:var(--text-secondary)}.eco-list-page .priority-text.MEDIUM{color:#60a5fa}.eco-list-page .priority-text.HIGH{color:#fb923c}.eco-list-page .priority-text.URGENT{color:#f87171}.eco-list-page .ecr-link{color:var(--primary);background:none;border:none;font-size:.875rem;cursor:pointer}.eco-list-page .ecr-link:hover{text-decoration:underline}.eco-list-page .data-table tbody tr:hover .ecr-link{color:#fff!important}.eco-list-page .icon-btn{display:flex;align-items:center;justify-content:center;padding:8px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.eco-list-page .icon-btn:hover{background:#22c55e1a;color:#4ade80}.eco-list-page .data-table tbody tr:hover .icon-btn{color:#ffffffb3}.eco-list-page .data-table tbody tr:hover .icon-btn:hover{color:#fff;background:#ffffff26}.eco-list-page .action-buttons{display:flex;align-items:center;justify-content:center}.eco-list-page .loading-state,.eco-list-page .empty-state{padding:60px 16px;text-align:center;color:var(--text-secondary)}.eco-list-page .pagination{margin-top:16px;display:flex;justify-content:space-between;align-items:center}.eco-list-page .pagination-info{font-size:.875rem;color:var(--text-secondary)}.eco-list-page .pagination-buttons{display:flex;align-items:center;gap:8px}.eco-list-page .page-btn{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--panel-2);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.eco-list-page .page-btn:hover:not(:disabled){border-color:#22c55e;color:#4ade80;background:var(--glass-bg)}.eco-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.eco-list-page .page-info{font-size:.875rem;color:var(--text-secondary)}.bom-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.bom-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.bom-list-page .page-header-left{display:flex;align-items:center;gap:10px}.bom-list-page .page-header-icon{color:var(--primary)}.bom-list-page .page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.bom-list-page .page-count{font-size:.875rem;color:var(--text-secondary)}.bom-list-page .header-buttons{display:flex;gap:8px}.bom-list-page .btn-primary{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.bom-list-page .btn-primary:hover{background:var(--primary-dark, #1d4ed8);transform:translateY(-1px)}.bom-list-page .btn-primary:disabled{opacity:.5;cursor:not-allowed}.bom-list-page .btn-secondary{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--glass-bg);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.bom-list-page .btn-secondary:hover{background:var(--panel-2);border-color:var(--primary)}.bom-list-page .btn-compare{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#7c3aed;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.bom-list-page .btn-compare:hover{background:#6d28d9;transform:translateY(-1px)}.bom-list-page .btn-compare:disabled{opacity:.5;cursor:not-allowed}.bom-list-page .filter-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.bom-list-page .filter-row{display:flex;flex-wrap:wrap;gap:16px}.bom-list-page .search-wrapper{flex:1;min-width:200px;position:relative}.bom-list-page .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-tertiary)}.bom-list-page .search-input{width:100%;padding:10px 14px 10px 42px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.bom-list-page .search-input::-moz-placeholder{color:var(--text-tertiary)}.bom-list-page .search-input::placeholder{color:var(--text-tertiary)}.bom-list-page .search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.bom-list-page .filter-select{padding:10px 16px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.bom-list-page .filter-select:focus{outline:none;border-color:var(--primary)}.bom-list-page .btn-search{padding:10px 18px;background:var(--panel-2);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s}.bom-list-page .btn-search:hover{background:var(--glass-bg);border-color:var(--primary);color:var(--primary)}.bom-list-page .table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.bom-list-page .data-table{width:100%;border-collapse:collapse}.bom-list-page .data-table th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#08090a66;border-bottom:1px solid var(--glass-border)}.bom-list-page .data-table td{padding:14px 16px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.bom-list-page .data-table tbody tr{transition:all .15s;cursor:pointer}.bom-list-page .data-table tbody tr:hover{background:#1565c0!important}.bom-list-page .data-table tbody tr:hover td{color:#fff!important}.bom-list-page .data-table tbody tr:hover .type-badge,.bom-list-page .data-table tbody tr:hover .status-badge{background:#fff3!important;color:#fff!important}.bom-list-page .data-table tbody tr.selected{background:#7c3aed26}.bom-list-page .data-table tbody tr:last-child td{border-bottom:none}.bom-list-page .link-cell{display:flex;align-items:center;gap:8px}.bom-list-page .link-cell-icon{color:var(--text-tertiary)}.bom-list-page .link-cell-text{color:var(--primary);font-weight:500}.bom-list-page .data-table tbody tr:hover .link-cell-text,.bom-list-page .data-table tbody tr:hover .link-cell-icon{color:#fff!important}.bom-list-page .text-secondary{color:var(--text-secondary)}.bom-list-page .type-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.bom-list-page .type-badge.E-BOM{background:#3b82f633;color:#60a5fa}.bom-list-page .type-badge.M-BOM{background:#f9731633;color:#fb923c}.bom-list-page .status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.bom-list-page .status-badge.DRAFT{background:#6b728033;color:var(--text-secondary)}.bom-list-page .status-badge.ACTIVE{background:#22c55e33;color:#4ade80}.bom-list-page .status-badge.OBSOLETE{background:#ef444433;color:#f87171}.bom-list-page .checkbox{width:18px;height:18px;accent-color:#7c3aed}.bom-list-page .loading-state,.bom-list-page .empty-state{padding:60px 16px;text-align:center;color:var(--text-secondary)}.bom-list-page .pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:16px;border-top:1px solid var(--glass-border)}.bom-list-page .page-btn{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--panel-2);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.bom-list-page .page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.bom-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.bom-list-page .page-info{font-size:.875rem;color:var(--text-secondary)}.prototype-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.prototype-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.prototype-list-page .page-header-left{display:flex;align-items:center;gap:10px}.prototype-list-page .page-header-icon{color:#a855f7}.prototype-list-page .page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.prototype-list-page .page-count{font-size:.875rem;color:var(--text-secondary)}.prototype-list-page .btn-primary{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#9333ea;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.prototype-list-page .btn-primary:hover{background:#7e22ce;transform:translateY(-1px)}.prototype-list-page .filter-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.prototype-list-page .filter-row{display:flex;flex-wrap:wrap;gap:16px}.prototype-list-page .search-wrapper{flex:1;min-width:200px;position:relative}.prototype-list-page .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-tertiary)}.prototype-list-page .search-input{width:100%;padding:10px 14px 10px 42px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.prototype-list-page .search-input::-moz-placeholder{color:var(--text-tertiary)}.prototype-list-page .search-input::placeholder{color:var(--text-tertiary)}.prototype-list-page .search-input:focus{outline:none;border-color:#9333ea;box-shadow:0 0 0 3px #9333ea26}.prototype-list-page .filter-select{padding:10px 16px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.prototype-list-page .filter-select:focus{outline:none;border-color:#9333ea}.prototype-list-page .btn-search{padding:10px 18px;background:var(--panel-2);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s}.prototype-list-page .btn-search:hover{background:var(--glass-bg);border-color:#9333ea;color:#a855f7}.prototype-list-page .table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.prototype-list-page .data-table{width:100%;border-collapse:collapse}.prototype-list-page .data-table th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#08090a66;border-bottom:1px solid var(--glass-border)}.prototype-list-page .data-table td{padding:14px 16px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.prototype-list-page .data-table tbody tr{transition:all .15s;cursor:pointer}.prototype-list-page .data-table tbody tr:hover{background:#1565c0!important}.prototype-list-page .data-table tbody tr:hover td{color:#fff!important}.prototype-list-page .data-table tbody tr:hover .type-badge,.prototype-list-page .data-table tbody tr:hover .status-badge{background:#fff3!important;color:#fff!important}.prototype-list-page .data-table tbody tr:last-child td{border-bottom:none}.prototype-list-page .link-cell{display:flex;align-items:center;gap:8px}.prototype-list-page .link-cell-icon{color:#a855f7}.prototype-list-page .link-cell-text{color:#a855f7;font-weight:500}.prototype-list-page .data-table tbody tr:hover .link-cell-text,.prototype-list-page .data-table tbody tr:hover .link-cell-icon{color:#fff!important}.prototype-list-page .text-secondary{color:var(--text-secondary)}.prototype-list-page .type-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.prototype-list-page .type-badge.A-SAMPLE{background:#3b82f633;color:#60a5fa}.prototype-list-page .type-badge.B-SAMPLE{background:#a855f733;color:#c084fc}.prototype-list-page .type-badge.C-SAMPLE{background:#22c55e33;color:#4ade80}.prototype-list-page .type-badge.PILOT{background:#f9731633;color:#fb923c}.prototype-list-page .status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.prototype-list-page .status-badge.PLANNING{background:#6b728033;color:var(--text-secondary)}.prototype-list-page .status-badge.IN_PRODUCTION{background:#3b82f633;color:#60a5fa}.prototype-list-page .status-badge.COMPLETED{background:#22c55e33;color:#4ade80}.prototype-list-page .status-badge.CANCELLED{background:#ef444433;color:#f87171}.prototype-list-page .loading-state,.prototype-list-page .empty-state{padding:60px 16px;text-align:center;color:var(--text-secondary)}.prototype-list-page .pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:16px;border-top:1px solid var(--glass-border)}.prototype-list-page .page-btn{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--panel-2);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.prototype-list-page .page-btn:hover:not(:disabled){border-color:#9333ea;color:#a855f7;background:var(--glass-bg)}.prototype-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.prototype-list-page .page-info{font-size:.875rem;color:var(--text-secondary)}.requirement-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.requirement-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.requirement-list-page .page-header-left{display:flex;align-items:center;gap:10px}.requirement-list-page .page-header-icon{color:var(--primary)}.requirement-list-page .page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.requirement-list-page .btn-primary{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.requirement-list-page .btn-primary:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.requirement-list-page .filter-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.requirement-list-page .filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;align-items:flex-end}@media (max-width: 768px){.requirement-list-page .filter-grid{grid-template-columns:1fr}}.requirement-list-page .search-wrapper{display:flex;gap:8px}.requirement-list-page .search-input{flex:1;padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.requirement-list-page .search-input::-moz-placeholder{color:var(--text-tertiary)}.requirement-list-page .search-input::placeholder{color:var(--text-tertiary)}.requirement-list-page .search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.requirement-list-page .btn-search{display:flex;align-items:center;justify-content:center;padding:10px 18px;background:var(--panel-2);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;transition:all .2s}.requirement-list-page .btn-search:hover{background:var(--glass-bg);border-color:var(--primary);color:var(--primary)}.requirement-list-page .filter-select{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.requirement-list-page .filter-select:focus{outline:none;border-color:var(--primary)}.requirement-list-page .table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.requirement-list-page .data-table{width:100%;border-collapse:collapse}.requirement-list-page .data-table th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#08090a66;border-bottom:1px solid var(--glass-border)}.requirement-list-page .data-table td{padding:14px 16px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.requirement-list-page .data-table tbody tr{transition:all .15s;cursor:pointer}.requirement-list-page .data-table tbody tr:hover{background:#1565c0!important}.requirement-list-page .data-table tbody tr:hover td{color:#fff!important}.requirement-list-page .data-table tbody tr:hover .status-badge,.requirement-list-page .data-table tbody tr:hover .priority-badge{background:#fff3!important;color:#fff!important}.requirement-list-page .data-table tbody tr:last-child td{border-bottom:none}.requirement-list-page .link-cell{color:var(--primary);font-weight:500}.requirement-list-page .data-table tbody tr:hover .link-cell{color:#fff!important}.requirement-list-page .text-secondary{color:var(--text-secondary)}.requirement-list-page .status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.requirement-list-page .status-badge.DRAFT{background:#6b728033;color:var(--text-secondary)}.requirement-list-page .status-badge.APPROVED{background:#3b82f633;color:#60a5fa}.requirement-list-page .status-badge.VERIFIED{background:#22c55e33;color:#4ade80}.requirement-list-page .status-badge.CLOSED{background:#a855f733;color:#c084fc}.requirement-list-page .priority-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.requirement-list-page .priority-badge.HIGH{background:#ef444433;color:#f87171}.requirement-list-page .priority-badge.MEDIUM{background:#eab30833;color:#facc15}.requirement-list-page .priority-badge.LOW{background:#22c55e33;color:#4ade80}.requirement-list-page .loading-state,.requirement-list-page .empty-state{padding:60px 16px;text-align:center;color:var(--text-secondary)}.requirement-list-page .pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:16px;border-top:1px solid var(--glass-border)}.requirement-list-page .page-btn{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--panel-2);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.requirement-list-page .page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.requirement-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.requirement-list-page .page-info{font-size:.875rem;color:var(--text-secondary)}.dvp-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.dvp-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.dvp-list-page .page-header-left{display:flex;align-items:center;gap:10px}.dvp-list-page .page-header-icon{color:#14b8a6}.dvp-list-page .page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.dvp-list-page .btn-primary{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#0d9488;color:var(--on-accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.dvp-list-page .btn-primary:hover{background:#0f766e;transform:translateY(-1px)}.dvp-list-page .filter-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.dvp-list-page .filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;align-items:flex-end}@media (max-width: 768px){.dvp-list-page .filter-grid{grid-template-columns:1fr}}.dvp-list-page .search-wrapper{display:flex;gap:8px}.dvp-list-page .search-input{flex:1;padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.dvp-list-page .search-input::-moz-placeholder{color:var(--text-tertiary)}.dvp-list-page .search-input::placeholder{color:var(--text-tertiary)}.dvp-list-page .search-input:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a626}.dvp-list-page .btn-search{display:flex;align-items:center;justify-content:center;padding:10px 18px;background:var(--panel-2);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;transition:all .2s}.dvp-list-page .btn-search:hover{background:var(--glass-bg);border-color:#14b8a6;color:#14b8a6}.dvp-list-page .filter-select{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.dvp-list-page .filter-select:focus{outline:none;border-color:#14b8a6}.dvp-list-page .table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.dvp-list-page .data-table{width:100%;border-collapse:collapse}.dvp-list-page .data-table th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#08090a66;border-bottom:1px solid var(--glass-border)}.dvp-list-page .data-table td{padding:14px 16px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.dvp-list-page .data-table tbody tr{transition:all .15s;cursor:pointer}.dvp-list-page .data-table tbody tr:hover{background:#1565c0!important}.dvp-list-page .data-table tbody tr:hover td{color:#fff!important}.dvp-list-page .data-table tbody tr:hover .status-badge{background:#fff3!important;color:#fff!important}.dvp-list-page .data-table tbody tr:last-child td{border-bottom:none}.dvp-list-page .link-cell{color:#14b8a6;font-weight:500}.dvp-list-page .data-table tbody tr:hover .link-cell{color:#fff!important}.dvp-list-page .text-secondary{color:var(--text-secondary)}.dvp-list-page .status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.dvp-list-page .status-badge.PLANNED{background:#6b728033;color:var(--text-secondary)}.dvp-list-page .status-badge.IN_PROGRESS{background:#3b82f633;color:#60a5fa}.dvp-list-page .status-badge.COMPLETED{background:#22c55e33;color:#4ade80}.dvp-list-page .status-badge.CANCELLED{background:#ef444433;color:#f87171}.dvp-list-page .loading-state,.dvp-list-page .empty-state{padding:60px 16px;text-align:center;color:var(--text-secondary)}.dvp-list-page .pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:16px;border-top:1px solid var(--glass-border)}.dvp-list-page .page-btn{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--panel-2);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.dvp-list-page .page-btn:hover:not(:disabled){border-color:#14b8a6;color:#14b8a6;background:var(--glass-bg)}.dvp-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.dvp-list-page .page-info{font-size:.875rem;color:var(--text-secondary)}.rnd-issue-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.rnd-issue-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.rnd-issue-list-page .page-header-left{display:flex;align-items:center;gap:10px}.rnd-issue-list-page .page-header-icon{color:#ef4444}.rnd-issue-list-page .page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.rnd-issue-list-page .btn-primary{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#dc2626;color:var(--on-accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.rnd-issue-list-page .btn-primary:hover{background:#b91c1c;transform:translateY(-1px)}.rnd-issue-list-page .dashboard-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}@media (max-width: 768px){.rnd-issue-list-page .dashboard-cards{grid-template-columns:repeat(2,1fr)}}.rnd-issue-list-page .dashboard-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.rnd-issue-list-page .dashboard-card.red{border-left:4px solid #ef4444}.rnd-issue-list-page .dashboard-card.blue{border-left:4px solid #3b82f6}.rnd-issue-list-page .dashboard-card.green{border-left:4px solid #22c55e}.rnd-issue-list-page .dashboard-card.orange{border-left:4px solid #f97316}.rnd-issue-list-page .dashboard-card-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:4px}.rnd-issue-list-page .dashboard-card-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.rnd-issue-list-page .dashboard-card-value.red{color:#ef4444}.rnd-issue-list-page .dashboard-card-value.blue{color:#3b82f6}.rnd-issue-list-page .dashboard-card-value.green{color:#22c55e}.rnd-issue-list-page .dashboard-card-value.orange{color:#f97316}.rnd-issue-list-page .filter-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.rnd-issue-list-page .filter-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}@media (max-width: 768px){.rnd-issue-list-page .filter-grid{grid-template-columns:1fr}}.rnd-issue-list-page .filter-select,.rnd-issue-list-page .filter-input{width:100%;padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.rnd-issue-list-page .filter-input::-moz-placeholder{color:var(--text-tertiary)}.rnd-issue-list-page .filter-input::placeholder{color:var(--text-tertiary)}.rnd-issue-list-page .filter-select:focus,.rnd-issue-list-page .filter-input:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 3px #ef444426}.rnd-issue-list-page .btn-search{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;background:var(--panel-2);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;transition:all .2s}.rnd-issue-list-page .btn-search:hover{background:var(--glass-bg);border-color:#ef4444;color:#ef4444}.rnd-issue-list-page .table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.rnd-issue-list-page .data-table{width:100%;border-collapse:collapse}.rnd-issue-list-page .data-table th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#08090a66;border-bottom:1px solid var(--glass-border)}.rnd-issue-list-page .data-table td{padding:14px 16px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.rnd-issue-list-page .data-table tbody tr{transition:all .15s;cursor:pointer}.rnd-issue-list-page .data-table tbody tr:hover{background:#1565c0!important}.rnd-issue-list-page .data-table tbody tr:hover td{color:#fff!important}.rnd-issue-list-page .data-table tbody tr:hover .severity-badge,.rnd-issue-list-page .data-table tbody tr:hover .status-badge{background:#fff3!important;color:#fff!important}.rnd-issue-list-page .data-table tbody tr:last-child td{border-bottom:none}.rnd-issue-list-page .link-cell{color:#ef4444;font-weight:500}.rnd-issue-list-page .data-table tbody tr:hover .link-cell{color:#fff!important}.rnd-issue-list-page .text-secondary{color:var(--text-secondary)}.rnd-issue-list-page .severity-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.rnd-issue-list-page .severity-badge.CRITICAL{background:#ef444433;color:#f87171}.rnd-issue-list-page .severity-badge.MAJOR{background:#f9731633;color:#fb923c}.rnd-issue-list-page .severity-badge.MINOR{background:#eab30833;color:#facc15}.rnd-issue-list-page .status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.rnd-issue-list-page .status-badge.OPEN{background:#ef444433;color:#f87171}.rnd-issue-list-page .status-badge.IN_PROGRESS{background:#3b82f633;color:#60a5fa}.rnd-issue-list-page .status-badge.RESOLVED{background:#22c55e33;color:#4ade80}.rnd-issue-list-page .status-badge.CLOSED{background:#6b728033;color:var(--text-secondary)}.rnd-issue-list-page .status-badge.DEFERRED{background:#eab30833;color:#facc15}.rnd-issue-list-page .loading-state,.rnd-issue-list-page .empty-state{padding:60px 16px;text-align:center;color:var(--text-secondary)}.rnd-issue-list-page .pagination{display:flex;justify-content:space-between;align-items:center;padding:16px;border-top:1px solid var(--glass-border)}.rnd-issue-list-page .pagination-info{font-size:.875rem;color:var(--text-secondary)}.rnd-issue-list-page .pagination-buttons{display:flex;align-items:center;gap:8px}.rnd-issue-list-page .page-btn{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--panel-2);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.rnd-issue-list-page .page-btn:hover:not(:disabled){border-color:#ef4444;color:#ef4444;background:var(--glass-bg)}.rnd-issue-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.rnd-issue-list-page .page-info{font-size:.875rem;color:var(--text-secondary)}.document-list-page{padding:1.5rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.btn-primary{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .2s}.search-filter-section{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:.5rem;flex:1;min-width:300px;padding:.5rem 1rem;background:var(--panel);border:1px solid var(--border);border-radius:6px}.search-box svg{color:var(--text-secondary)}.search-box input{flex:1;border:none;background:transparent;font-size:.875rem;color:var(--text-primary);outline:none}.search-box input::-moz-placeholder{color:var(--text-secondary)}.search-box input::placeholder{color:var(--text-secondary)}.search-box button{padding:.375rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:4px;font-size:.875rem;cursor:pointer;transition:opacity .2s}.search-box button:hover{opacity:.9}.filter-box{display:flex;align-items:center;gap:.5rem}.filter-box svg{color:var(--text-secondary)}.filter-box select{padding:.5rem 1rem;background:var(--panel);border:1px solid var(--border);border-radius:6px;font-size:.875rem;color:var(--text-primary);cursor:pointer}.table-container{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.document-table{width:100%;border-collapse:collapse}.document-table thead{background:var(--bg-secondary)}.document-table th{padding:.75rem 1rem;text-align:left;font-size:.875rem;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border)}.document-table tbody tr{border-bottom:1px solid var(--border);transition:background-color .2s}.document-table tbody tr:hover{background:var(--bg-secondary)}.document-table tbody tr:last-child{border-bottom:none}.document-table td{padding:.75rem 1rem;font-size:.875rem;color:var(--text-primary)}.empty-cell{text-align:center;color:var(--text-secondary);padding:3rem 1rem}.link-button{background:none;border:none;color:var(--primary);font-size:.875rem;cursor:pointer;text-align:left;padding:0;text-decoration:underline}.link-button:hover{opacity:.8}.action-buttons{display:flex;gap:.5rem}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s}.btn-icon:hover{background:var(--primary);border-color:var(--primary);color:#fff}.btn-icon.delete:hover{background:#dc2626;border-color:#dc2626;color:#fff}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem}.pagination button{padding:.5rem 1rem;background:var(--panel);border:1px solid var(--border);border-radius:6px;font-size:.875rem;color:var(--text-primary);cursor:pointer;transition:all .2s}.pagination button:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{font-size:.875rem;color:var(--text-primary)}@media (max-width: 768px){.search-filter-section{flex-direction:column}.search-box{min-width:100%}.table-container{overflow-x:auto}.document-table{min-width:800px}}.document-detail-page{padding:1.5rem}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem}.header-left h1{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.document-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.document-no{font-size:.875rem;color:var(--text-secondary);font-family:monospace}.version-badge{display:inline-block;padding:.25rem .75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;font-size:.75rem;font-weight:500;color:var(--text-primary)}.header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn-secondary,.btn-primary,.btn-success,.btn-danger{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .2s}.btn-secondary:hover{opacity:.8}.btn-primary:hover{opacity:.9}.btn-success{background:#059669;color:#fff}.btn-success:hover{opacity:.9}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover{opacity:.9}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500}.status-badge.draft{background:#f3f4f6;color:#6b7280}.status-badge.review{background:#fef3c7;color:#d97706}.status-badge.approved{background:#d1fae5;color:#059669}.status-badge.obsolete{background:#fee2e2;color:#dc2626}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:2px solid transparent;font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.tab:hover{color:var(--text-primary);background:var(--bg-secondary)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-content{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1.5rem}.info-section{max-width:1200px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-label{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.info-value{font-size:.875rem;color:var(--text-primary);word-break:break-all}.revisions-section{max-width:800px}.revisions-list{display:flex;flex-direction:column;gap:1rem}.revision-item{padding:1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px}.revision-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.revision-version{font-size:1rem;font-weight:600;color:var(--primary)}.revision-meta{display:flex;gap:1rem;font-size:.875rem;color:var(--text-secondary)}.revision-note{margin-bottom:.75rem;padding:.75rem;background:var(--panel);border-left:3px solid var(--primary);font-size:.875rem;color:var(--text-primary);line-height:1.5}.revision-file{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--panel);border-radius:4px;font-size:.875rem;color:var(--text-primary)}.revision-file .file-size{margin-left:auto;color:var(--text-secondary)}.logs-section{max-width:1000px}.table-container{overflow-x:auto}.logs-table{width:100%;border-collapse:collapse}.logs-table thead{background:var(--bg-secondary)}.logs-table th{padding:.75rem 1rem;text-align:left;font-size:.875rem;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border)}.logs-table tbody tr{border-bottom:1px solid var(--border);transition:background-color .2s}.logs-table tbody tr:hover{background:var(--bg-secondary)}.logs-table tbody tr:last-child{border-bottom:none}.logs-table td{padding:.75rem 1rem;font-size:.875rem;color:var(--text-primary)}.empty-message{text-align:center;padding:3rem 1rem;color:var(--text-secondary);font-size:.875rem}.loading-container{display:flex;justify-content:center;align-items:center;min-height:400px;color:var(--text-secondary);font-size:.875rem}.error-message{padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.875rem;margin-bottom:1rem}@media (max-width: 1024px){.info-grid{grid-template-columns:1fr}}@media (max-width: 768px){.page-header{flex-direction:column;align-items:stretch}.header-actions{justify-content:flex-start}.tabs{overflow-x:auto}.tab{white-space:nowrap}.revision-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.document-upload-form{padding:1.5rem;max-width:800px;margin:0 auto}.page-header{margin-bottom:2rem}.page-header h1{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.error-message{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.875rem;margin-bottom:1.5rem}.upload-form{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:2rem}.form-section{margin-bottom:2rem}.form-section:last-of-type{margin-bottom:0}.section-label{display:block;font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.file-drop-area{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;padding:2rem;background:var(--bg-secondary);border:2px dashed var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.file-drop-area:hover{border-color:var(--primary);background:var(--panel)}.file-drop-area.drag-active{border-color:var(--primary);background:var(--panel);transform:scale(1.02)}.file-drop-area.has-file{min-height:auto;padding:1.5rem}.file-input{display:none}.drop-prompt{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.drop-prompt svg{color:var(--text-secondary)}.prompt-text{font-size:1rem;font-weight:500;color:var(--text-primary);margin:0}.prompt-hint{font-size:.875rem;color:var(--text-secondary);margin:0}.file-preview{display:flex;align-items:center;gap:1rem;width:100%}.file-preview svg{flex-shrink:0;color:var(--primary)}.file-info{flex:1;min-width:0}.file-name{font-size:.875rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.remove-file-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.remove-file-btn:hover{background:#fee2e2;border-color:#dc2626;color:#dc2626}.upload-progress{margin-top:1rem}.progress-bar{height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:var(--primary);transition:width .3s ease}.progress-text{text-align:center;font-size:.75rem;color:var(--text-secondary)}.form-select,.form-input{width:100%;padding:.625rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;font-size:.875rem;color:var(--text-primary);transition:border-color .2s}.form-select:focus,.form-input:focus{outline:none;border-color:var(--primary)}.form-select:disabled,.form-input:disabled{opacity:.6;cursor:not-allowed}.reference-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-label{font-size:.75rem;font-weight:500;color:var(--text-secondary)}.form-input::-moz-placeholder{color:var(--text-secondary);opacity:.6}.form-input::placeholder{color:var(--text-secondary);opacity:.6}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border)}.btn-secondary,.btn-primary{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.5rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .2s}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){opacity:.8}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){opacity:.9}.btn-secondary:disabled,.btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.document-upload-form{padding:1rem}.upload-form{padding:1.5rem}.reference-inputs{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn-secondary,.btn-primary{width:100%;justify-content:center}}.rolling-plan-page{padding:20px 24px;background:var(--bg-secondary, #f8fafc);min-height:100%}.rp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.rp-title{display:flex;align-items:center;gap:10px;color:var(--text-primary, #1e293b)}.rp-title h1{font-size:20px;font-weight:600;margin:0}.rp-subtitle{color:var(--text-secondary, #64748b);font-size:13px;margin-left:8px}.month-nav{display:flex;align-items:center;gap:4px;margin-right:8px}.month-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s}.month-nav-btn:hover{border-color:var(--primary, #3b82f6);color:var(--primary, #3b82f6);background:#3b82f60d}.month-nav-btn:active{background:#3b82f61a}.rp-actions{display:flex;align-items:center;gap:8px}.expand-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);color:var(--text-secondary, #64748b);font-size:13px;cursor:pointer;transition:all .15s}.expand-btn:hover{border-color:var(--primary, #3b82f6);color:var(--primary, #3b82f6)}.expand-btn.active{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}.filter-company-tabs{display:flex;gap:0;flex-shrink:0}.filter-company-tabs .company-tab{padding:6px 14px;border:1px solid var(--border, #e2e8f0);background:var(--bg-secondary, #f8fafc);color:var(--text-secondary, #64748b);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.filter-company-tabs .company-tab:first-child{border-radius:5px 0 0 5px}.filter-company-tabs .company-tab:last-child{border-radius:0 5px 5px 0}.filter-company-tabs .company-tab:not(:first-child){margin-left:-1px}.filter-company-tabs .company-tab:hover{background:var(--panel, #ffffff);color:var(--text-primary, #1e293b)}.filter-company-tabs .company-tab.active{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff;z-index:1;position:relative}.filter-divider{width:1px;height:24px;background:var(--border, #e2e8f0);margin:0 4px;flex-shrink:0}.rp-filter-bar{display:flex!important;flex-direction:row!important;align-items:center;gap:12px;margin-bottom:16px;padding:10px 16px;background:var(--panel, #ffffff);border-radius:8px;border:1px solid var(--border, #e2e8f0);flex-wrap:nowrap!important}.filter-group{display:flex!important;flex-direction:row!important;align-items:center;gap:6px;color:var(--text-secondary, #64748b);flex-wrap:nowrap!important;flex-shrink:0}.filter-group select{display:inline-flex;padding:6px 10px;border:1px solid var(--border, #e2e8f0);border-radius:5px;font-size:13px;background:var(--bg-secondary, #f8fafc);color:var(--text-primary, #1e293b);cursor:pointer;flex-shrink:0}.filter-group select:focus{outline:none;border-color:var(--primary, #3b82f6)}.legend-group{display:flex;align-items:center;gap:16px;margin-left:auto;font-size:12px;color:var(--text-secondary, #64748b)}.legend-item{display:flex;align-items:center;gap:6px}.legend-item .dot{width:10px;height:10px;border-radius:2px}.legend-item .dot.target{background:#f59e0b}.legend-item .dot.forecast{background:#3b82f6}.legend-item .dot.actual{background:#10b981}.rp-chart-section{background:var(--panel, #ffffff);border-radius:8px;border:1px solid var(--border, #e2e8f0);padding:16px;margin-bottom:16px}.chart-header{font-size:13px;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:16px}.chart-grid{display:flex;gap:8px;overflow-x:auto}.chart-labels{display:flex;flex-direction:column;min-width:70px;padding-right:8px;border-right:1px solid var(--border, #e2e8f0)}.chart-label-header{height:28px}.chart-label-row{height:20px;display:flex;align-items:center;font-size:11px;font-weight:600;margin-bottom:6px}.chart-label-row.target{color:#f59e0b}.chart-label-row.forecast{color:#3b82f6}.chart-label-row.actual{color:#10b981}.chart-cell{flex:1;min-width:140px;max-width:200px;padding:10px 12px;background:var(--bg-secondary, #f8fafc);border-radius:8px;border:1px solid var(--border, #e2e8f0);overflow:hidden}.chart-cell.current{background:#3b82f614;border-color:#3b82f64d}.chart-cell-label{font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);margin-bottom:8px;text-align:center;height:20px}.chart-cell.current .chart-cell-label{color:var(--primary, #3b82f6)}.chart-cell-data{display:flex;flex-direction:column;gap:6px}.chart-cell-row{display:flex;align-items:center;gap:8px;height:20px;overflow:hidden}.chart-mini-bar{height:10px;border-radius:3px;min-width:4px;max-width:calc(100% - 60px);flex-shrink:0;transition:width .2s ease}.chart-mini-bar.target{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.chart-mini-bar.forecast{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.chart-mini-bar.actual{background:linear-gradient(90deg,#10b981,#34d399)}.chart-cell-value{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;min-width:50px;text-align:right;margin-left:auto;flex-shrink:0}.chart-cell-value.target{color:#f59e0b}.chart-cell-value.forecast{color:#3b82f6}.chart-cell-value.actual{color:#10b981}.rp-table-section{background:var(--panel, #ffffff);border-radius:8px;border:1px solid var(--border, #e2e8f0);overflow-x:auto}.rp-loading,.rp-error,.rp-empty{padding:60px 20px;text-align:center;color:var(--text-secondary, #64748b)}.rp-error{color:#ef4444}.rp-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.rp-table th,.rp-table td{padding:10px 8px;border-bottom:1px solid var(--border, #e2e8f0);text-align:center;vertical-align:middle;box-sizing:border-box}.rp-table thead th{background:var(--bg-secondary, #f8fafc);font-weight:600;font-size:12px;color:var(--text-secondary, #64748b);position:sticky;top:0;z-index:10}.col-salesperson{text-align:left!important;width:140px;position:sticky;left:0;background:var(--panel, #ffffff);z-index:5}thead .col-salesperson{background:var(--bg-secondary, #f8fafc);z-index:15}.salesperson-info{display:flex;flex-direction:column;gap:2px}.salesperson-info .dept{font-size:10px;color:var(--text-secondary, #94a3b8)}.salesperson-info .name{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b)}.col-month{width:110px}.col-month.current{background:#3b82f60f!important}thead .col-month.current{background:#3b82f61f!important;color:var(--primary, #3b82f6)}.cell-data{display:flex;flex-direction:column;gap:3px;width:100%}.cell-row{display:flex;align-items:center;justify-content:flex-start;gap:6px;height:14px}.mini-bar{height:6px;border-radius:2px;min-width:2px;flex-shrink:0;transition:width .2s ease}.mini-bar.target{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.mini-bar.forecast{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.mini-bar.actual{background:linear-gradient(90deg,#10b981,#34d399)}.cell-value{font-size:10px;font-weight:500;font-variant-numeric:tabular-nums;min-width:36px;text-align:right}.cell-value.target{color:#f59e0b}.cell-value.forecast{color:#3b82f6}.cell-value.actual{color:#10b981}.col-total{width:100px;background:var(--bg-secondary, #f8fafc)}.total-values{display:flex;flex-direction:column;gap:4px;text-align:right}.total-target{font-size:11px;font-weight:600;color:#f59e0b}.total-forecast{font-size:11px;font-weight:600;color:#3b82f6}.total-actual{font-size:11px;font-weight:600;color:#10b981}.total-values.grand .total-rolling,.total-values.grand .total-actual{font-size:13px;font-weight:700}.col-action{width:40px;color:var(--text-secondary, #94a3b8)}.data-row{cursor:pointer;transition:background .1s}.data-row:hover,.data-row:hover .col-salesperson{background:var(--bg-secondary, #f8fafc)}.data-row:hover .col-month.current{background:#3b82f61a!important}.total-row .col-salesperson{background:var(--bg-secondary, #f8fafc)}.total-row .col-month.current{background:#3b82f61f!important}@media (max-width: 1024px){.rolling-plan-page{padding:16px}.rp-header{flex-direction:column;align-items:flex-start;gap:12px}.rp-filter-bar{flex-wrap:wrap}.legend-group{width:100%;margin-left:0;margin-top:8px}.chart-grid{overflow-x:auto}.chart-cell{min-width:100px}}@media (max-width: 768px){.rp-filter-bar{flex-direction:column;align-items:flex-start;gap:12px}.filter-group{width:100%}.filter-group select{flex:1}.chart-grid{gap:8px}.chart-cell{min-width:90px;padding:10px}.chart-cell-value{font-size:12px;min-width:40px}}[data-theme=dark] .rolling-plan-page{background:var(--bg-secondary)}[data-theme=dark] .rp-filter-bar{background:var(--panel);border-color:var(--border)}[data-theme=dark] .filter-group select{background:var(--bg-secondary);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .filter-group select option{background:var(--panel);color:var(--text-primary)}[data-theme=dark] .filter-company-tabs .company-tab{background:var(--bg-secondary);border-color:var(--border);color:var(--text-secondary)}[data-theme=dark] .filter-company-tabs .company-tab:hover{background:var(--panel);color:var(--text-primary)}[data-theme=dark] .filter-company-tabs .company-tab.active{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}[data-theme=dark] .month-nav-btn{background:var(--panel);border-color:var(--border);color:var(--text-secondary)}[data-theme=dark] .month-nav-btn:hover{background:var(--bg-secondary);border-color:var(--primary, #3b82f6);color:var(--primary, #3b82f6)}[data-theme=dark] .expand-btn{background:var(--panel);border-color:var(--border);color:var(--text-secondary)}[data-theme=dark] .expand-btn:hover{border-color:var(--primary, #3b82f6);color:var(--primary, #3b82f6)}[data-theme=dark] .expand-btn.active{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}[data-theme=dark] .rp-chart-section{background:var(--panel);border-color:var(--border)}[data-theme=dark] .chart-labels{border-color:var(--border)}[data-theme=dark] .chart-cell{background:var(--bg-secondary);border-color:var(--border)}[data-theme=dark] .chart-cell.current{background:#3b82f626;border-color:#3b82f666}[data-theme=dark] .rp-table-section{background:var(--panel);border-color:var(--border)}[data-theme=dark] .rp-table th{background:var(--bg-secondary);color:var(--text-secondary)}[data-theme=dark] .rp-table td{border-color:var(--border)}[data-theme=dark] .col-salesperson{background:var(--panel)}[data-theme=dark] thead .col-salesperson{background:var(--bg-secondary)}[data-theme=dark] .col-month.current{background:#3b82f61f!important}[data-theme=dark] thead .col-month.current{background:#3b82f633!important}[data-theme=dark] .col-total,[data-theme=dark] .data-row:hover,[data-theme=dark] .data-row:hover .col-salesperson{background:var(--bg-secondary)}[data-theme=dark] .data-row:hover .col-month.current{background:#3b82f62e!important}[data-theme=dark] .total-row{background:var(--bg-secondary)}[data-theme=dark] .total-row td{border-color:var(--border)}[data-theme=dark] .total-row .col-salesperson{background:var(--bg-secondary)}.rolling-plan-detail-page{padding:24px;background:var(--bg-secondary, #f8fafc);height:100vh;max-height:100vh;overflow:hidden;display:flex;flex-direction:column}.page-header{display:flex;align-items:center;gap:24px;margin-bottom:20px;flex-wrap:wrap;flex-shrink:0}.back-button{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:6px;color:var(--text-secondary, #64748b);cursor:pointer;font-size:14px;transition:all .15s}.back-button:hover{background:var(--bg-secondary, #f8fafc);color:var(--text-primary, #1e293b)}.header-info{flex:1}.header-info h1{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:600;color:var(--text-primary, #1e293b);margin:0 0 8px}.info-badges{display:flex;gap:12px}.badge{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:4px;font-size:13px;color:var(--text-secondary, #64748b)}.header-actions{display:flex;gap:8px}.btn{display:flex;align-items:center;gap:6px;padding:10px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.btn-secondary{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);color:var(--text-primary, #1e293b)}.btn-secondary:hover:not(:disabled){background:var(--bg-secondary, #f8fafc)}.btn-primary{background:var(--primary, #3b82f6);border:1px solid var(--primary, #3b82f6);color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb}.period-selector{display:flex;gap:16px;margin-bottom:20px;padding:16px;background:var(--panel, #ffffff);border-radius:8px;border:1px solid var(--border, #e2e8f0)}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:13px;font-weight:500;color:var(--text-secondary, #64748b)}.filter-group select{padding:8px 12px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:14px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b)}.table-container{background:var(--panel, #ffffff);border-radius:8px;border:1px solid var(--border, #e2e8f0);overflow-x:auto}.loading-state,.error-state,.empty-state{padding:48px;text-align:center;color:var(--text-secondary, #64748b)}.error-state{color:#ef4444}.detail-table{width:100%;border-collapse:collapse;font-size:13px;min-width:1200px}.detail-table th,.detail-table td{padding:8px 10px;border-bottom:1px solid var(--border, #e2e8f0);text-align:right}.detail-table th{background:var(--bg-secondary, #f8fafc);font-weight:600;color:var(--text-secondary, #64748b);position:sticky;top:0;z-index:10;white-space:nowrap}.sticky-col.col-customer{position:sticky;left:0;background:var(--panel, #ffffff);z-index:5;text-align:left;min-width:150px;font-weight:500;vertical-align:middle}th.sticky-col{z-index:15;background:var(--bg-secondary, #f8fafc)}.status-badge{display:inline-block;margin-left:8px;padding:2px 6px;font-size:11px;border-radius:4px;font-weight:500}.status-badge.confirmed{background:#dcfce7;color:#16a34a}.col-type{min-width:50px;text-align:center;font-weight:500}.type-plan{background:#eff6ff;color:#3b82f6}.type-actual{background:#f0fdf4;color:#16a34a}.col-amount{min-width:70px;font-variant-numeric:tabular-nums}.amount-input{width:100%;padding:6px 8px;border:1px solid var(--border, #e2e8f0);border-radius:4px;font-size:13px;text-align:right;font-variant-numeric:tabular-nums;background:var(--panel, #ffffff)}.amount-input:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 2px #3b82f61a}.amount-input:disabled{background:var(--bg-secondary, #f8fafc);color:var(--text-secondary, #64748b)}.actual-value{color:var(--text-secondary, #64748b);font-style:italic}.readonly-month{background:var(--bg-secondary, #f8fafc)}.readonly-value{display:block;padding:6px 8px;color:var(--text-secondary, #94a3b8);text-align:right;font-variant-numeric:tabular-nums}.col-total{min-width:80px;font-weight:600;background:var(--bg-secondary, #f8fafc);font-variant-numeric:tabular-nums}.col-history{width:50px;text-align:center;vertical-align:middle}.history-btn{padding:6px;background:transparent;border:1px solid var(--border, #e2e8f0);border-radius:4px;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s}.history-btn:hover{background:var(--bg-secondary, #f8fafc);color:var(--primary, #3b82f6)}.plan-row td,.actual-row td{border-bottom:1px solid var(--border, #e2e8f0)}.actual-row td{background:var(--bg-secondary, #f8fafc)}.plan-row .sticky-col{border-bottom:none}.total-row{background:var(--bg-secondary, #f8fafc)}.total-row td{border-top:2px solid var(--border, #e2e8f0);font-weight:600}.total-row .sticky-col{background:var(--bg-secondary, #f8fafc)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--panel, #ffffff);border-radius:12px;max-width:90vw;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border, #e2e8f0)}.modal-header h2{font-size:16px;font-weight:600;margin:0;color:var(--text-primary, #1e293b)}.close-btn{padding:4px;background:transparent;border:none;color:var(--text-secondary, #64748b);cursor:pointer;border-radius:4px}.close-btn:hover{background:var(--bg-secondary, #f8fafc)}.modal-body{padding:20px;overflow:auto}.no-history{text-align:center;color:var(--text-secondary, #64748b);padding:24px}.history-table{width:100%;border-collapse:collapse;font-size:12px}.history-table th,.history-table td{padding:8px 10px;border:1px solid var(--border, #e2e8f0);text-align:right;white-space:nowrap}.history-table th{background:var(--bg-secondary, #f8fafc);font-weight:600;color:var(--text-secondary, #64748b)}.history-table td:first-child,.history-table td:nth-child(2),.history-table td:nth-child(3){text-align:left}.three-column-layout{display:grid;grid-template-columns:420px 1fr 780px;gap:16px;flex:1;min-height:0;overflow:hidden}.left-panel,.center-panel,.right-panel{background:var(--panel, #ffffff);border-radius:8px;border:1px solid var(--border, #e2e8f0);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;overflow:hidden;height:100%}.left-panel>.panel-header,.center-panel>.panel-header,.right-panel>.panel-header{flex:0 0 auto}.left-panel>.search-box,.right-panel>.search-box{flex:0 0 auto}.left-panel>.customer-list,.right-panel>.rolling-list,.center-panel>.rolling-input-grid,.center-panel>.empty-selection{flex:1 1 auto;min-height:0;overflow-y:auto}.left-panel>.customer-list::-webkit-scrollbar,.right-panel>.rolling-list::-webkit-scrollbar,.center-panel>.multi-customer-input::-webkit-scrollbar{width:6px}.left-panel>.customer-list::-webkit-scrollbar-track,.right-panel>.rolling-list::-webkit-scrollbar-track,.center-panel>.multi-customer-input::-webkit-scrollbar-track{background:transparent}.left-panel>.customer-list::-webkit-scrollbar-thumb,.right-panel>.rolling-list::-webkit-scrollbar-thumb,.center-panel>.multi-customer-input::-webkit-scrollbar-thumb{background:var(--border, #e2e8f0);border-radius:3px}.left-panel>.customer-list::-webkit-scrollbar-thumb:hover,.right-panel>.rolling-list::-webkit-scrollbar-thumb:hover,.center-panel>.multi-customer-input::-webkit-scrollbar-thumb:hover{background:var(--text-secondary, #94a3b8)}.input-body::-webkit-scrollbar{width:6px}.input-body::-webkit-scrollbar-track{background:transparent}.input-body::-webkit-scrollbar-thumb{background:var(--border, #e2e8f0);border-radius:3px}.input-body::-webkit-scrollbar-thumb:hover{background:var(--text-secondary, #94a3b8)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border, #e2e8f0);background:var(--bg-secondary, #f8fafc);flex:0 0 auto}.panel-header h3{margin:0;font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.panel-header span{font-size:12px;color:var(--text-secondary, #64748b)}.panel-header .confirm-all-btn{margin-left:auto;display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;transition:all .15s}.panel-header .confirm-all-btn:hover:not(:disabled){background:#059669}.panel-header .confirm-all-btn:disabled{opacity:.5;cursor:not-allowed}.sales-period-legend{padding:8px 16px;background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0);font-size:11px;color:var(--text-secondary, #64748b);flex:0 0 auto}.search-box{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border, #e2e8f0);flex:0 0 auto}.search-box svg{color:var(--text-secondary, #94a3b8);flex-shrink:0}.search-box input{flex:1;padding:8px 12px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:13px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b)}.search-box input:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 2px #3b82f61a}.search-box input::-moz-placeholder{color:var(--text-secondary, #94a3b8)}.search-box input::placeholder{color:var(--text-secondary, #94a3b8)}.customer-list{flex:1 1 auto;overflow-y:auto;min-height:0}.customer-item{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border, #e2e8f0);cursor:pointer;transition:background .15s}.customer-item:hover{background:var(--bg-secondary, #f8fafc)}.customer-item.selected{background:var(--primary-bg, rgba(59, 130, 246, .1));border-left:3px solid var(--primary, #3b82f6);padding-left:13px}.customer-checkbox{flex-shrink:0}.checkbox-icon{color:var(--text-secondary, #94a3b8)}.checkbox-icon.checked{color:var(--primary, #3b82f6)}.customer-item .customer-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.customer-item .customer-name-row{display:flex;align-items:center;justify-content:flex-start;gap:6px;text-align:left}.customer-item .company-type-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:10px;font-weight:700;flex-shrink:0}.customer-item .company-type-icon.tnt{background:#3b82f6;color:#fff}.customer-item .company-type-icon.dys{background:#10b981;color:#fff}.customer-item .customer-name{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.customer-item .customer-sales{font-size:11px;color:var(--text-secondary, #64748b);font-variant-numeric:tabular-nums}.center-panel .panel-header{flex-wrap:wrap;gap:8px}.center-panel .panel-header h3{display:flex;align-items:center;gap:8px;flex:0 0 auto}.center-panel .panel-header .month-nav{flex:1;justify-content:center}.center-panel .panel-header .customer-name{color:var(--primary, #3b82f6);font-weight:600}.panel-actions{display:flex;align-items:center;gap:8px}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid var(--border, #e2e8f0);border-radius:6px;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s}.btn-icon:hover{background:var(--bg-secondary, #f8fafc);color:var(--primary, #3b82f6)}.btn-sm{padding:6px 12px;font-size:13px}.header-select{padding:8px 12px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:14px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);cursor:pointer}.empty-selection{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:var(--text-secondary, #64748b);min-height:0}.empty-selection svg{margin-bottom:16px;opacity:.5}.empty-selection p{margin:0;font-size:14px}.empty-selection .hint{margin-top:8px;font-size:12px;color:var(--text-secondary, #94a3b8)}.multi-customer-input{flex:1;overflow-y:auto;display:flex;flex-direction:column;min-height:0}.input-header-row{display:grid;grid-template-columns:minmax(140px,1.5fr) repeat(3,1fr) 70px;gap:8px;padding:10px 16px;background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0);position:sticky;top:0;z-index:1}.input-header-row .cell{font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);text-align:center}.input-header-row .cell.customer-cell{text-align:left}.input-body{flex:1;overflow-y:auto}.input-data-row{display:grid;grid-template-columns:minmax(140px,1.5fr) repeat(3,1fr) 70px;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border, #e2e8f0);align-items:center}.input-data-row:hover{background:var(--bg-secondary, #f8fafc)}.input-data-row .cell.customer-cell{display:flex;flex-direction:column;gap:2px;min-width:0}.input-data-row .customer-cell .customer-name{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.input-data-row .customer-cell .customer-sales{font-size:11px;color:var(--text-secondary, #64748b);font-variant-numeric:tabular-nums}.input-data-row .cell.input-cell{text-align:center}.input-data-row .cell.input-cell input{width:100%;max-width:90px;padding:6px 10px;border:1px solid var(--border, #e2e8f0);border-radius:4px;font-size:13px;text-align:right;font-variant-numeric:tabular-nums;background:var(--panel, #ffffff)}.input-data-row .cell.input-cell input:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 2px #3b82f61a}.input-data-row .cell.input-cell input:disabled{background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #94a3b8);cursor:not-allowed}.input-data-row .cell.action-cell{display:flex;gap:4px;justify-content:flex-end}.input-data-row .btn-icon{width:28px;height:28px}.input-data-row .btn-icon.remove:hover{background:#fee2e2;border-color:#fecaca;color:#ef4444}.rolling-input-grid{flex:1;overflow-y:auto;display:flex;flex-direction:column;min-height:0}.input-row{display:grid;grid-template-columns:60px 1fr 80px;gap:12px;align-items:center;padding:8px 16px;border-bottom:1px solid var(--border, #e2e8f0)}.input-row.header-row{background:var(--bg-secondary, #f8fafc);font-weight:600;font-size:12px;color:var(--text-secondary, #64748b);position:sticky;top:0;z-index:1}.input-row.current-month{background:#eff6ff}.input-row.readonly{background:var(--bg-secondary, #f8fafc)}.input-row .cell{font-size:13px}.input-row .month-cell{font-weight:500;color:var(--text-primary, #1e293b)}.input-row .input-cell input{width:100%;padding:6px 10px;border:1px solid var(--border, #e2e8f0);border-radius:4px;font-size:13px;text-align:right;font-variant-numeric:tabular-nums;background:var(--panel, #ffffff)}.input-row .input-cell input:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 2px #3b82f61a}.input-row .input-cell input:disabled{background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #94a3b8);cursor:not-allowed}.input-row .input-cell .readonly-value{text-align:right;color:var(--text-secondary, #94a3b8);font-variant-numeric:tabular-nums}.input-row .actual-cell{text-align:right;color:var(--text-secondary, #64748b);font-variant-numeric:tabular-nums}.input-row.total-row{background:var(--bg-secondary, #f8fafc);border-top:2px solid var(--border, #e2e8f0);font-weight:600;position:sticky;bottom:0}.input-row .total-value{text-align:right;color:var(--primary, #3b82f6);font-variant-numeric:tabular-nums}.input-row .actual-total{text-align:right;color:#10b981;font-variant-numeric:tabular-nums}.panel-header .count{font-size:12px;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f1f5f9);padding:2px 8px;border-radius:10px}.right-panel .panel-header{display:flex;align-items:center;gap:8px}.right-panel .panel-header h3{flex:1}.month-nav{display:flex;gap:4px}.month-nav-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:4px;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s}.month-nav-btn:hover{background:var(--bg-secondary, #f8fafc);border-color:var(--primary, #3b82f6);color:var(--primary, #3b82f6)}.month-nav-btn.today{width:auto;padding:0 10px;font-size:11px;font-weight:500;margin-left:4px;background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}.month-nav-btn.today:hover{background:#2563eb;border-color:#2563eb}.month-range{font-size:12px;font-weight:500;color:var(--text-primary, #1e293b);padding:0 8px;white-space:nowrap}.right-month-header{display:grid;grid-template-columns:minmax(100px,1.2fr) repeat(4,1fr);gap:4px;padding:8px 12px;background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0);position:sticky;top:0;z-index:1}.month-header-cell{font-size:11px;font-weight:600;color:var(--text-secondary, #64748b);text-align:center;padding:4px 2px}.month-header-cell.customer{text-align:left}.month-header-cell.current{color:var(--primary, #3b82f6);background:#3b82f61a;border-radius:4px}.rolling-list{flex:1 1 auto;overflow-y:auto;min-height:0}.rolling-list.monthly-view{padding:0}.rolling-item-monthly{display:grid;grid-template-columns:minmax(100px,1.2fr) repeat(4,1fr);gap:4px;padding:8px 12px;border-bottom:1px solid var(--border, #e2e8f0);align-items:center}.rolling-item-monthly:hover{background:var(--bg-secondary, #f8fafc)}.rolling-item-monthly .customer-cell{min-width:0}.rolling-item-monthly .customer-cell .customer-name{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rolling-item-monthly .customer-cell .confirmed-icon{color:#10b981;flex-shrink:0}.month-value-cell{font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;text-align:right;color:var(--text-primary, #1e293b);padding:4px 6px}.month-value-cell.current{background:#3b82f61a;border-radius:4px;color:var(--primary, #3b82f6);font-weight:600}.rolling-item{padding:12px 16px;border-bottom:1px solid var(--border, #e2e8f0);cursor:pointer;transition:background .15s}.rolling-item:hover{background:var(--bg-secondary, #f8fafc)}.rolling-item.selected{background:var(--primary-bg, rgba(59, 130, 246, .1));border-left:3px solid var(--primary, #3b82f6);padding-left:13px}.rolling-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.rolling-item-header .name{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b)}.rolling-item-header .customer-name{display:flex;align-items:center;gap:6px}.rolling-item-header .customer-name .confirmed-icon{color:#10b981}.rolling-item-header .total{font-size:12px;font-weight:600;color:var(--primary, #3b82f6);font-variant-numeric:tabular-nums}.rolling-item-chart{display:flex;flex-direction:column;gap:4px}.chart-row{display:grid;grid-template-columns:40px 1fr 60px;gap:8px;align-items:center;font-size:11px}.chart-row .chart-label{color:var(--text-secondary, #64748b)}.chart-bar-container{height:14px;background:var(--bg-secondary, #f1f5f9);border-radius:2px;overflow:hidden}.chart-bar{height:100%;border-radius:2px;transition:width .3s ease}.chart-bar.target{background:#94a3b8}.chart-bar.rolling{background:var(--primary, #3b82f6)}.chart-bar.actual{background:#10b981}.chart-value{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-secondary, #64748b)}.chart-value.highlight,.chart-value.forecast{font-weight:700;color:var(--primary, #3b82f6);font-size:12px}.chart-label.target{color:#94a3b8}.chart-label.forecast{color:var(--primary, #3b82f6);font-weight:600}.chart-label.actual{color:#10b981}.chart-bar.forecast{background:var(--primary, #3b82f6)}.empty-list{padding:48px 24px;text-align:center;color:var(--text-secondary, #64748b)}.empty-list svg{margin-bottom:12px;opacity:.5}.empty-list p{margin:0;font-size:13px}.three-column{padding:16px 24px}.right-panel.wide{min-width:500px}.rolling-item-months{display:flex;gap:6px;padding:4px 0}.month-chart-cell{flex:1;display:flex;flex-direction:column;gap:4px;padding:6px 8px;min-width:100px;border-radius:6px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);transition:all .15s;overflow:hidden}.month-chart-cell.current{background:#3b82f614;border-color:#3b82f64d}.month-chart-cell .month-label{font-size:11px;font-weight:600;color:var(--text-secondary, #64748b);text-align:center;white-space:nowrap;margin-bottom:4px}.month-chart-cell.current .month-label{color:var(--primary, #3b82f6)}.month-chart-cell .month-bars{display:flex;flex-direction:column;gap:4px}.month-chart-cell .bar-row{display:flex;align-items:center;gap:4px;height:16px;overflow:hidden}.month-chart-cell .mini-bar{height:8px;border-radius:2px;min-width:2px;max-width:calc(100% - 40px);flex-shrink:0;transition:width .2s ease}.month-chart-cell .mini-bar.target{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.month-chart-cell .mini-bar.forecast{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.month-chart-cell .mini-bar.actual{background:linear-gradient(90deg,#10b981,#34d399)}.month-chart-cell .bar-value{font-size:10px;font-weight:600;font-variant-numeric:tabular-nums;min-width:32px;text-align:right;margin-left:auto;flex-shrink:0}.month-chart-cell .bar-value.target{color:#f59e0b}.month-chart-cell .bar-value.forecast{color:#3b82f6}.month-chart-cell .bar-value.actual{color:#10b981}.rolling-item.editable{cursor:default;transition:all .15s}.rolling-item.editable:hover{background:#3b82f608}.rolling-item.locked{cursor:not-allowed;opacity:.85}.rolling-item.editing{background:#3b82f614;border-left:3px solid var(--primary, #3b82f6);padding-left:13px}.rolling-item-header .status-icon{margin-right:6px;flex-shrink:0}.rolling-item-header .status-icon.draft{color:#f59e0b}.rolling-item-header .status-icon.confirmed{color:#10b981}.rolling-item-header .company-type-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:9px;font-weight:700;flex-shrink:0;margin-right:4px}.rolling-item-header .company-type-icon.tnt{background:#3b82f6;color:#fff}.rolling-item-header .company-type-icon.dys{background:#10b981;color:#fff}.rolling-item-header .header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.rolling-item-header .editing-badge{font-size:10px;font-weight:500;padding:2px 6px;background:var(--primary, #3b82f6);color:#fff;border-radius:4px}.rolling-item-header .edit-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:500;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:4px;color:var(--primary, #3b82f6);cursor:pointer;transition:all .15s}.rolling-item-header .edit-btn:hover{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}.rolling-item-header .edit-btn svg{flex-shrink:0}@media (max-width: 1920px){.three-column-layout{grid-template-columns:380px 1fr 720px}}@media (max-width: 1600px){.three-column-layout{grid-template-columns:340px 1fr 640px}}@media (max-width: 1400px){.three-column-layout{grid-template-columns:300px 1fr 560px}.month-chart-cell .bar-row{height:14px}.month-chart-cell .mini-bar{height:6px}.month-chart-cell .bar-value{font-size:9px;min-width:28px}}@media (max-width: 1200px){.three-column-layout{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.left-panel{grid-column:1;grid-row:1}.center-panel{grid-column:2;grid-row:1 / 3}.right-panel{grid-column:1;grid-row:2}}@media (max-width: 768px){.rolling-plan-detail-page{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{width:100%}.header-actions .btn{flex:1;justify-content:center}.period-selector{flex-direction:column;gap:12px}.filter-group{width:100%}.filter-group select{flex:1}.three-column-layout{grid-template-columns:1fr;grid-template-rows:auto auto auto}.left-panel,.center-panel,.right-panel{grid-column:1;max-height:400px}}.center-customer-card{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:12px;margin-bottom:12px}.center-customer-card:last-child{margin-bottom:0}.center-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border, #e2e8f0)}.center-card-header .customer-info{display:flex;flex-direction:column;gap:2px}.center-card-header .customer-name-row{display:flex;align-items:center;gap:6px}.center-card-header .company-type-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:10px;font-weight:700;flex-shrink:0}.center-card-header .company-type-icon.tnt{background:#3b82f6;color:#fff}.center-card-header .company-type-icon.dys{background:#10b981;color:#fff}.center-card-header .customer-name{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.center-card-header .customer-sales{font-size:11px;color:var(--text-secondary, #64748b)}.center-card-header .card-actions{display:flex;gap:4px}.center-chart-area{display:flex;gap:8px;margin-bottom:12px}.center-chart-cell{flex:1;padding:8px;min-width:100px;background:var(--bg-secondary, #f8fafc);border-radius:6px;border:1px solid var(--border, #e2e8f0);overflow:hidden}.center-chart-cell .chart-month-label{font-size:11px;font-weight:600;color:var(--text-secondary, #64748b);text-align:center;margin-bottom:6px}.center-chart-cell .chart-bars{display:flex;flex-direction:column;gap:4px}.center-chart-cell .bar-row{display:flex;align-items:center;gap:4px;height:16px;overflow:hidden}.center-chart-cell .mini-bar{height:8px;border-radius:2px;min-width:2px;max-width:calc(100% - 40px);flex-shrink:0;transition:width .2s ease}.center-chart-cell .mini-bar.target{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.center-chart-cell .mini-bar.forecast{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.center-chart-cell .mini-bar.actual{background:linear-gradient(90deg,#10b981,#34d399)}.center-chart-cell .bar-value{font-size:10px;font-weight:600;min-width:28px;text-align:right;margin-left:auto;flex-shrink:0}.center-chart-cell .bar-value.target{color:#f59e0b}.center-chart-cell .bar-value.forecast{color:#3b82f6}.center-chart-cell .bar-value.actual{color:#10b981}.center-input-area{padding-top:12px;border-top:1px solid var(--border, #e2e8f0)}.center-input-area .input-label{font-size:11px;font-weight:600;color:var(--text-secondary, #64748b);margin-bottom:8px}.center-input-area .input-fields{display:flex;gap:8px}.center-input-area .input-field-group{flex:1;display:flex;flex-direction:column;gap:4px}.center-input-area .input-field-group label{font-size:10px;color:var(--text-secondary, #64748b);text-align:center}.center-input-area .input-field-group input{width:100%;padding:8px;border:1px solid var(--border, #e2e8f0);border-radius:4px;font-size:13px;text-align:center;background:var(--panel, #ffffff)}.center-input-area .input-field-group input:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 2px #3b82f61a}.center-input-area .input-field-group input:disabled{background:var(--bg-secondary, #f8fafc);color:var(--text-secondary, #64748b);cursor:not-allowed}.center-input-area .input-field-group.readonly{opacity:.6}.center-input-area .input-field-group.readonly label{color:var(--text-secondary, #94a3b8)}[data-theme=dark] .rolling-plan-detail-page{background:var(--bg-secondary)}[data-theme=dark] .left-panel,[data-theme=dark] .center-panel,[data-theme=dark] .right-panel{background:var(--panel);border-color:var(--border)}[data-theme=dark] .panel-header{background:var(--bg-secondary);border-color:var(--border)}[data-theme=dark] .customer-item{border-color:var(--border)}[data-theme=dark] .customer-item.selected,[data-theme=dark] .rolling-item.selected{background:#3b82f626}[data-theme=dark] .center-input-area .input-field-group input{background:var(--panel);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .center-input-area .input-field-group input:disabled{background:var(--bg-secondary);color:var(--text-secondary)}[data-theme=dark] .rolling-item{border-color:var(--border)}[data-theme=dark] .month-nav-btn{background:var(--panel);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .month-nav-btn:hover:not(:disabled){background:var(--bg-secondary)}[data-theme=dark] .btn-secondary{background:var(--panel);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .btn-secondary:hover:not(:disabled){background:var(--bg-secondary)}[data-theme=dark] .back-button{background:var(--panel);border-color:var(--border);color:var(--text-secondary)}[data-theme=dark] .back-button:hover{background:var(--bg-secondary);color:var(--text-primary)}[data-theme=dark] .badge{background:var(--bg-secondary);border-color:var(--border);color:var(--text-secondary)}[data-theme=dark] .input-header,[data-theme=dark] .input-body{background:var(--panel)}[data-theme=dark] .customer-input-card{background:var(--panel);border-color:var(--border)}[data-theme=dark] .customer-input-card .card-header{background:var(--bg-secondary);border-color:var(--border)}[data-theme=dark] .filter-group select,[data-theme=dark] .header-select{background:var(--bg-secondary);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .filter-group select option,[data-theme=dark] .header-select option{background:var(--panel);color:var(--text-primary)}[data-theme=dark] .period-selector{background:var(--panel);border-color:var(--border)}[data-theme=dark] .search-box input{background:var(--panel);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .search-box input::-moz-placeholder{color:var(--text-secondary)}[data-theme=dark] .search-box input::placeholder{color:var(--text-secondary)}[data-theme=dark] .center-customer-card{background:var(--panel);border-color:var(--border)}[data-theme=dark] .center-card-header{border-color:var(--border)}[data-theme=dark] .center-chart-cell{background:var(--bg-secondary);border-color:var(--border)}[data-theme=dark] .center-input-area{border-color:var(--border)}[data-theme=dark] .month-chart-cell{background:var(--bg-secondary);border-color:var(--border)}[data-theme=dark] .month-chart-cell.current{background:#3b82f626;border-color:#3b82f666}[data-theme=dark] .rolling-item-monthly{border-color:var(--border)}[data-theme=dark] .rolling-item-monthly:hover{background:var(--bg-secondary)}[data-theme=dark] .right-month-header,[data-theme=dark] .input-header-row{background:var(--bg-secondary);border-color:var(--border)}[data-theme=dark] .input-data-row{border-color:var(--border)}[data-theme=dark] .input-data-row:hover{background:var(--bg-secondary)}[data-theme=dark] .input-data-row .cell.input-cell input{background:var(--panel);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .input-data-row .cell.input-cell input:disabled{background:var(--bg-secondary);color:var(--text-secondary)}[data-theme=dark] .modal-content{background:var(--panel)}[data-theme=dark] .modal-header{border-color:var(--border)}[data-theme=dark] .history-table th{background:var(--bg-secondary);border-color:var(--border)}[data-theme=dark] .history-table td{border-color:var(--border)}.approval-page-wide{max-width:1800px;width:100%;margin:0 auto;padding:20px 24px}.approval-page-narrow{max-width:1100px;width:100%;margin:0 auto;padding:20px 24px}.approval-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.approval-page-header h1{font-size:18px;font-weight:700;color:var(--text-primary)}.approval-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.approval-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.approval-card{padding:16px 18px;border-radius:10px;background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--card-shadow);transition:transform .15s}.approval-card:hover{transform:translateY(-2px)}.approval-card.no-hover:hover{transform:none}.approval-shortcut-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.approval-search-input{width:100%;max-width:480px;padding:8px 14px;font-size:13px;border:1px solid var(--input-border);border-radius:8px;background:var(--input-bg);color:var(--text-primary)}.approval-table{width:100%;border-collapse:collapse}.approval-table th{padding:10px 14px;font-size:12px;font-weight:600;color:var(--text-secondary);text-align:center;white-space:nowrap;background:var(--table-header-bg);border-bottom:1px solid var(--border-color)}.approval-table td{padding:10px 14px;font-size:13px;text-align:center;color:var(--text-primary)}.approval-table th.text-left,.approval-table td.text-left{text-align:left}.approval-table td.title-cell{text-align:left;min-width:300px}.approval-table tbody tr{border-bottom:1px solid var(--table-border);cursor:pointer;transition:background .12s}.approval-table tbody tr:hover{background:var(--table-row-hover)}.approval-table .empty-cell{padding:30px;text-align:center;color:var(--text-muted);font-size:13px}.approval-form-section{padding:14px 18px;border-radius:10px;background:var(--card-bg);border:1px solid var(--card-border)}.approval-form-section h2{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:10px}.approval-form-grid-3{display:grid;grid-template-columns:200px 160px 1fr;gap:14px}.approval-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.approval-form-stack{display:flex;flex-direction:column;gap:14px}@media (max-width: 1400px){.approval-stat-grid{grid-template-columns:repeat(2,1fr)}.approval-form-grid-3{grid-template-columns:1fr 1fr}.approval-form-grid-3>div:last-child{grid-column:1 / -1}}@media (max-width: 1024px){.approval-page-wide,.approval-page-narrow{padding:16px}.approval-two-col,.approval-shortcut-grid{grid-template-columns:1fr}.approval-table td.title-cell{min-width:200px}.approval-info-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.approval-stat-grid{grid-template-columns:repeat(2,1fr);gap:10px}.approval-search-input{max-width:100%}.approval-form-grid-3{grid-template-columns:1fr}.approval-form-grid-3>div:last-child{grid-column:auto}.approval-info-grid{grid-template-columns:1fr}}.aip-error{padding:12px 16px;background:#ef44440f;border:1px solid rgba(239,68,68,.15);border-radius:8px;color:var(--danger, #ef4444);font-size:13px}.aip-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;color:var(--text-secondary);gap:12px;font-size:14px}.aip-loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-secondary);font-size:14px}@keyframes spinning{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning{animation:spinning 1s linear infinite}.ai-portal-dashboard{padding:24px;height:100%;overflow-y:auto}.ai-portal-header{margin-bottom:24px}.ai-portal-header h1{font-size:24px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.ai-portal-header p{font-size:14px;color:var(--text-secondary);margin:0}.ai-portal-status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-bottom:24px}.ai-portal-section{margin-bottom:24px}.ai-portal-section-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 12px;display:flex;align-items:center;gap:8px}.ai-portal-quick-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.ai-portal-action-card{background:var(--glass-bg, var(--panel, #fff));-webkit-backdrop-filter:blur(12px) saturate(150%);backdrop-filter:blur(12px) saturate(150%);border:1px solid var(--glass-border, var(--border, #dee2e6));border-radius:12px;padding:20px;cursor:pointer;transition:all .2s;text-align:center}.ai-portal-action-card:hover{border-color:var(--primary, #3b82f6);box-shadow:var(--shadow-sm, 0 4px 12px rgba(59, 130, 246, .1));transform:translateY(-1px)}.ai-portal-action-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.ai-portal-action-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.ai-portal-action-desc{font-size:12px;color:var(--text-secondary)}.ai-portal-loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-secondary);font-size:14px}.ai-portal-error{background:#ef44440d;border:1px solid rgba(239,68,68,.2);border-radius:8px;padding:16px;color:var(--danger, #ef4444);font-size:14px}.ai-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.ai-dashboard-card{background:var(--glass-bg, var(--panel));-webkit-backdrop-filter:blur(12px) saturate(150%);backdrop-filter:blur(12px) saturate(150%);border:1px solid var(--glass-border, var(--border));border-radius:12px;padding:16px}.ai-dashboard-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ai-dashboard-card-header h3{margin:0;font-size:14px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:6px}.ai-status-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600}.ai-status-grid{display:flex;flex-direction:column;gap:8px}.ai-status-item{display:flex;align-items:center;gap:8px;padding:6px 0}.ai-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ai-status-name{flex:1;font-size:13px;color:var(--text-primary)}.ai-status-label{font-size:12px;font-weight:500}.ai-timeline-status{font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;background:#ef44441a;color:var(--danger, #ef4444)}.ai-timeline-status.connected{background:#10b9811a;color:var(--success, #10b981)}.ai-timeline-list{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto}.ai-timeline-empty{padding:24px;text-align:center;color:var(--text-secondary);font-size:13px}.ai-timeline-item{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;border-radius:6px;transition:background .15s}.ai-timeline-item:hover{background:var(--hover, rgba(0, 0, 0, .02))}.ai-timeline-icon{flex-shrink:0;margin-top:2px}.ai-timeline-content{flex:1;min-width:0}.ai-timeline-topic{display:block;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.ai-timeline-text{display:block;font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-timeline-time{flex-shrink:0;display:flex;align-items:center;gap:3px;font-size:11px;color:var(--text-secondary);white-space:nowrap}.ai-dashboard-provider-stats{display:flex;gap:16px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.ai-provider-stat{display:flex;align-items:center;gap:6px;font-size:12px}.ai-provider-dot{width:8px;height:8px;border-radius:50%}.ai-provider-name{font-weight:600;color:var(--text-primary)}.ai-provider-calls{color:var(--text-secondary)}@media (max-width: 900px){.ai-dashboard-grid{grid-template-columns:1fr}}.feature-store{padding:20px;height:100%;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.feature-store-header{display:flex;justify-content:space-between;align-items:center}.feature-store-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text-secondary);cursor:pointer;font-size:13px}.feature-store-btn:hover{background:var(--hover, rgba(0, 0, 0, .04))}.feature-store-filters{display:flex;gap:12px;align-items:center}.feature-store-search{display:flex;align-items:center;gap:8px;flex:1;max-width:400px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.feature-store-search input{border:none;background:transparent;outline:none;width:100%;font-size:14px;color:var(--text-primary)}.feature-store-view-filter{display:flex;align-items:center;gap:6px;color:var(--text-secondary)}.feature-store-view-filter select{padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel);font-size:13px;color:var(--text-primary);cursor:pointer}.feature-store-content{flex:1;position:relative}.feature-store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.feature-store-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary);gap:12px}.feature-store-error{padding:16px;background:#ef44440f;border:1px solid rgba(239,68,68,.15);border-radius:8px;color:var(--danger, #ef4444);font-size:14px}.feature-card{padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--panel);cursor:pointer;transition:all .15s;display:flex;flex-direction:column;gap:8px}.feature-card:hover{border-color:var(--primary, #8b5cf6);box-shadow:0 2px 8px #8b5cf61a}.feature-card--selected{border-color:var(--primary, #8b5cf6);background:#8b5cf60a}.feature-card-header{display:flex;justify-content:space-between;align-items:center}.feature-card-name{font-size:14px;font-weight:600;color:var(--text-primary)}.feature-card-type{font-size:11px;padding:2px 8px;border:1px solid;border-radius:12px;font-weight:500}.feature-card-desc{font-size:13px;color:var(--text-secondary);line-height:1.4}.feature-card-meta{display:flex;gap:12px;font-size:12px;color:var(--text-secondary)}.feature-card-meta span{display:flex;align-items:center;gap:4px}.feature-card-tags{display:flex;gap:4px;flex-wrap:wrap}.feature-tag{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:12px;background:#8b5cf61a;color:var(--primary, #8b5cf6);font-size:11px}.feature-detail-panel{position:fixed;right:0;top:0;bottom:0;width:360px;background:var(--panel);border-left:1px solid var(--border);box-shadow:var(--shadow, -4px 0 16px rgba(0, 0, 0, .08));z-index:50;display:flex;flex-direction:column}.feature-detail-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.feature-detail-header h3{margin:0;font-size:16px;color:var(--text-primary)}.feature-detail-header button{background:none;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer;padding:4px}.feature-detail-body{padding:16px 20px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.feature-detail-row{display:flex;flex-direction:column;gap:4px}.feature-detail-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.feature-detail-row>span:last-child{font-size:14px;color:var(--text-primary)}.ai-chat{--ai-accent: #8b5cf6;--ai-accent-soft: rgba(139, 92, 246, .08);--ai-gradient: linear-gradient(135deg, #8b5cf6, #6366f1);display:flex;flex-direction:column;height:100%;background:var(--background, #f8fafc)}.ai-chat-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--panel);position:relative}.ai-chat-header:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--ai-gradient);opacity:.5}.ai-chat-icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.ai-chat-icon-btn:hover{background:var(--ai-accent-soft);border-color:#8b5cf633;color:var(--ai-accent)}.ai-chat-settings{display:flex;gap:16px;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--glass-bg, var(--panel));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ai-chat-provider,.ai-chat-task-type{display:flex;flex-direction:column;gap:4px}.ai-chat-provider label,.ai-chat-task-type label{font-size:12px;font-weight:600;color:var(--text-secondary)}.ai-chat-provider select,.ai-chat-task-type select{padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--panel);color:var(--text-primary)}.ai-chat-messages{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:18px}.ai-chat-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;text-align:center;color:var(--text-secondary);gap:6px}.ai-chat-welcome-icon{width:64px;height:64px;border-radius:20px;background:var(--ai-gradient);display:flex;align-items:center;justify-content:center;margin-bottom:12px;box-shadow:0 8px 24px #8b5cf633}.ai-chat-welcome h3{margin:0;color:var(--text-primary);font-size:20px;font-weight:700}.ai-chat-welcome p{margin:0;font-size:14px;max-width:320px;line-height:1.5}.ai-chat-quick-prompts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px;max-width:420px;width:100%}.ai-chat-quick-prompts button{padding:12px 16px;border:1px solid var(--border);border-radius:12px;background:var(--glass-bg, var(--panel));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-primary);font-size:13px;cursor:pointer;transition:all .2s;text-align:left;line-height:1.4}.ai-chat-quick-prompts button:hover{border-color:#8b5cf64d;background:var(--ai-accent-soft);box-shadow:0 2px 8px #8b5cf614;transform:translateY(-1px)}.ai-chat-msg{display:flex;gap:10px;max-width:80%;animation:msgSlideIn .25s ease-out}@keyframes msgSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ai-chat-msg--user{align-self:flex-end;flex-direction:row-reverse}.ai-chat-msg--assistant{align-self:flex-start}.ai-chat-msg-avatar{flex-shrink:0;width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:14px}.ai-chat-msg--user .ai-chat-msg-avatar{background:linear-gradient(135deg,#6366f1,#3b82f6);color:#fff}.ai-chat-msg--assistant .ai-chat-msg-avatar{background:var(--ai-gradient);color:#fff}.ai-chat-msg-content{display:flex;flex-direction:column;gap:4px}.ai-chat-msg-text{padding:11px 15px;border-radius:14px;font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.ai-chat-msg--user .ai-chat-msg-text{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 8px #6366f126}.ai-chat-msg--assistant .ai-chat-msg-text{background:var(--glass-bg, var(--panel));color:var(--text-primary);border:1px solid var(--border);border-bottom-left-radius:4px;box-shadow:0 1px 4px #00000008}.ai-chat-msg-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-secondary);padding:0 4px}.ai-chat-msg-provider{font-weight:600;text-transform:uppercase;color:var(--ai-accent);font-size:10px;letter-spacing:.3px}.ai-chat-msg-typing{display:inline-flex;gap:5px;padding:4px 0}.ai-chat-msg-typing span{width:7px;height:7px;border-radius:50%;background:var(--ai-accent);animation:typing 1.4s infinite}.ai-chat-msg-typing span:nth-child(2){animation-delay:.2s}.ai-chat-msg-typing span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.2;transform:scale(.7)}30%{opacity:.9;transform:scale(1)}}.ai-chat-input-area{display:flex;align-items:flex-end;gap:8px;padding:12px 20px 16px;border-top:1px solid var(--border);background:var(--panel)}.ai-chat-input-area textarea{flex:1;resize:none;border:1.5px solid var(--border);border-radius:14px;padding:11px 16px;font-size:14px;line-height:1.4;max-height:120px;background:var(--background, #f8fafc);color:var(--text-primary);outline:none;font-family:inherit;transition:border-color .2s,box-shadow .2s}.ai-chat-input-area textarea:focus{border-color:var(--ai-accent);box-shadow:0 0 0 3px #8b5cf61a}.ai-chat-send-btn{flex-shrink:0;width:40px;height:40px;border:none;border-radius:12px;background:var(--ai-gradient);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 2px 8px #8b5cf633}.ai-chat-send-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.ai-chat-send-btn:hover:not(:disabled){box-shadow:0 4px 12px #8b5cf64d;transform:translateY(-1px)}.digital-twin{--dt-accent: #f59e0b;--dt-accent-alpha: rgba(245, 158, 11, .1);display:flex;flex-direction:column;height:100%;overflow:hidden}.digital-twin-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--panel);flex-shrink:0}.dt-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer}.dt-btn:hover{background:var(--hover, rgba(0, 0, 0, .04))}.dt-controls{display:flex;align-items:center;gap:16px;padding:10px 20px;border-bottom:1px solid var(--border);background:var(--panel);flex-shrink:0;flex-wrap:wrap}.dt-control-group{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.dt-control-label{font-size:12px;font-weight:600}.dt-domain-chips{display:flex;gap:4px}.dt-chip{padding:4px 10px;border:1px solid var(--border);border-radius:14px;background:transparent;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.dt-chip:hover{border-color:var(--dt-accent)}.dt-chip--active{background:var(--dt-accent-alpha);border-color:var(--dt-accent);color:var(--dt-accent);font-weight:600}.dt-depth-slider{width:80px;accent-color:var(--dt-accent)}.dt-depth-value{font-size:13px;font-weight:600;color:var(--text-primary);min-width:16px;text-align:center}.dt-legend{display:flex;gap:12px;margin-left:auto;flex-wrap:wrap}.dt-legend-item{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary)}.dt-legend-dot{width:8px;height:8px;border-radius:50%}.digital-twin-canvas{flex:1;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 50%,var(--bg-secondary, rgba(241, 245, 249, .5)),transparent 70%),var(--background, #f8fafc)}.dt-loading,.dt-error,.dt-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);gap:12px}.dt-error{color:var(--danger, #ef4444)}.dt-tooltip{position:absolute;bottom:16px;left:16px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px 16px;box-shadow:var(--shadow-sm, 0 4px 12px rgba(0, 0, 0, .1));max-width:280px;z-index:20;pointer-events:none}.dt-tooltip-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.dt-tooltip-header strong{font-size:14px;color:var(--text-primary)}.dt-tooltip-type{font-size:10px;font-weight:600;padding:2px 6px;border-radius:8px;background:#8b5cf61a;color:var(--primary, #8b5cf6)}.dt-tooltip-props{display:flex;flex-direction:column;gap:3px}.dt-tooltip-prop{display:flex;justify-content:space-between;gap:12px;font-size:12px}.dt-tooltip-prop span:first-child{color:var(--text-secondary)}.dt-tooltip-prop span:last-child{color:var(--text-primary);font-weight:500}.dt-tooltip-ontology{margin-top:6px;font-size:11px;color:var(--text-secondary);font-style:italic}.dt-relationship-panel{position:absolute;right:0;top:0;bottom:0;width:340px;background:var(--panel);border-left:1px solid var(--border);box-shadow:var(--shadow, -4px 0 16px rgba(0, 0, 0, .08));z-index:30;display:flex;flex-direction:column;overflow-y:auto}.dt-panel-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 20px;border-bottom:1px solid var(--border)}.dt-panel-header h3{margin:4px 0 0;font-size:16px;color:var(--text-primary)}.dt-panel-header button{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px}.dt-panel-type{font-size:11px;font-weight:600;color:var(--primary, #8b5cf6);text-transform:uppercase}.dt-panel-section{padding:16px 20px;border-bottom:1px solid var(--border)}.dt-panel-section h4{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--text-secondary)}.dt-panel-props{display:flex;flex-direction:column;gap:6px}.dt-panel-prop-row{display:flex;justify-content:space-between;gap:8px}.dt-panel-prop-key{font-size:13px;color:var(--text-secondary)}.dt-panel-prop-value{font-size:13px;color:var(--text-primary);font-weight:500;text-align:right}.dt-panel-relations{display:flex;flex-direction:column;gap:6px}.dt-panel-empty{font-size:13px;color:var(--text-secondary)}.dt-panel-relation{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:6px;font-size:13px}.dt-panel-relation:hover{background:var(--hover, rgba(0, 0, 0, .02))}.dt-relation-dir{font-weight:700;color:var(--text-secondary)}.dt-relation-label{font-weight:500;color:var(--primary, #3b82f6)}.dt-relation-target{color:var(--text-primary)}.dt-relation-type{font-size:11px;color:var(--text-secondary);margin-left:4px}.whatif-simulator{--whatif-accent: #06b6d4;--whatif-accent-hover: #0891b2;display:flex;flex-direction:column;height:100%}.whatif-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--panel);flex-shrink:0}.whatif-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text-secondary);font-size:13px;cursor:pointer}.whatif-btn:hover{background:var(--hover, rgba(0, 0, 0, .04))}.whatif-btn--primary{background:var(--whatif-accent);color:#fff;border-color:var(--whatif-accent)}.whatif-btn--primary:hover{background:var(--whatif-accent-hover)}.whatif-btn--primary:disabled{opacity:.6;cursor:not-allowed}.whatif-body{display:grid;grid-template-columns:320px 1fr;flex:1;overflow:hidden}.whatif-params{padding:16px 20px;border-right:1px solid var(--border);background:var(--panel);overflow-y:auto}.whatif-params h3{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--text-primary)}.param-slider{margin-bottom:20px}.param-slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.param-slider-label{font-size:13px;font-weight:500;color:var(--text-primary)}.param-slider-value{font-size:14px;font-weight:700;color:var(--whatif-accent)}.param-slider-track input[type=range]{width:100%;height:6px;border-radius:3px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.param-slider-track input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--whatif-accent);border:2px solid white;box-shadow:0 1px 4px #0003;cursor:pointer}.param-slider-range{display:flex;justify-content:space-between;margin-top:4px;font-size:11px;color:var(--text-secondary)}.whatif-results{padding:16px 20px;overflow-y:auto}.whatif-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:var(--text-secondary);gap:12px}.sim-result{display:flex;flex-direction:column;gap:20px}.sim-score-row{display:flex;gap:16px}.sim-score-card{flex:1;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:12px;text-align:center}.sim-score-label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px}.sim-score-value{font-size:32px;font-weight:700;line-height:1.2}.sim-score-unit{font-size:14px;color:var(--text-secondary);margin-left:4px}.sim-chart-section{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}.sim-chart-section h4{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--text-primary)}.scenario-compare{margin-top:20px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}.scenario-compare h4{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--text-primary)}.scenario-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}.scenario-item{display:flex;align-items:center;gap:8px;font-size:13px}.scenario-dot{width:8px;height:8px;border-radius:50%}.scenario-name{flex:1;color:var(--text-primary);font-weight:500}.scenario-score{font-weight:600;color:var(--text-primary)}.scenario-conf{color:var(--text-secondary);font-size:12px}.whatif-model-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;background:#64748b1a;color:var(--text-secondary);border:1px solid var(--border)}.whatif-model-badge--ready{background:#10b9811a;color:#059669;border-color:#10b9814d}.whatif-fallback-notice,.whatif-ml-notice{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;font-size:12px;margin-bottom:12px}.whatif-fallback-notice{background:#f59e0b14;color:#d97706;border:1px solid rgba(245,158,11,.2)}.whatif-ml-notice{background:#10b98114;color:#059669;border:1px solid rgba(16,185,129,.2)}@media (max-width: 800px){.whatif-body{grid-template-columns:1fr}.whatif-params{border-right:none;border-bottom:1px solid var(--border);max-height:300px}}.tmpl-gallery{padding:20px;max-width:1400px}.tmpl-gallery-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.tmpl-domain-filters{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.tmpl-domain-chip{padding:5px 14px;border-radius:20px;border:1px solid var(--border, #e5e7eb);background:var(--panel, #fff);color:var(--text-secondary, #6b7280);font-size:13px;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:6px}.tmpl-domain-chip:hover{border-color:var(--primary, #8b5cf6);color:var(--primary, #8b5cf6)}.tmpl-domain-chip--active{background:var(--primary, #8b5cf6);color:#fff;border-color:var(--primary, #8b5cf6)}.tmpl-domain-chip .tmpl-chip-count{font-size:11px;opacity:.7}.tmpl-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.tmpl-card{background:var(--panel, #fff);border:1px solid var(--border, #e5e7eb);border-radius:12px;padding:20px;cursor:pointer;transition:all .2s;display:flex;gap:16px}.tmpl-card:hover{border-color:var(--primary, #8b5cf6);box-shadow:0 2px 12px #0000000f;transform:translateY(-1px)}.tmpl-card--selected{border-color:var(--primary, #8b5cf6);box-shadow:0 0 0 2px #8b5cf626}.tmpl-card-icon{width:48px;height:48px;min-width:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}.tmpl-card-body{flex:1;min-width:0}.tmpl-card-domain{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.tmpl-card-title{margin:0 0 6px;font-size:15px;font-weight:600;color:var(--text-primary, #111)}.tmpl-card-desc{margin:0;font-size:12.5px;color:var(--text-secondary, #6b7280);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tmpl-card-meta{display:flex;gap:8px;margin-top:10px}.tmpl-card-model,.tmpl-card-provider{font-size:11px;padding:2px 8px;border-radius:10px;background:var(--surface, #f3f4f6);color:var(--text-secondary, #6b7280)}.tmpl-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;border:1px solid var(--border, #e5e7eb);background:var(--panel, #fff);color:var(--text-primary, #111);font-size:13px;cursor:pointer;transition:all .15s}.tmpl-btn:hover{border-color:var(--primary, #8b5cf6);color:var(--primary, #8b5cf6)}.tmpl-btn--primary{background:var(--primary, #8b5cf6);color:#fff;border-color:var(--primary, #8b5cf6)}.tmpl-btn--primary:hover{opacity:.9;color:#fff}.tmpl-btn--primary:disabled{opacity:.6;cursor:not-allowed}.tmpl-btn--ghost{border:none;background:none;color:var(--text-secondary, #6b7280)}.tmpl-btn--ghost:hover{color:var(--primary, #8b5cf6);background:none;border:none}.tmpl-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;color:var(--text-secondary, #6b7280);gap:12px}.tmpl-executor{padding:20px;max-width:1200px}.tmpl-executor-header{margin-bottom:20px}.tmpl-executor-title{margin:12px 0 4px;font-size:20px;color:var(--text-primary, #111)}.tmpl-executor-desc{margin:0;font-size:13px;color:var(--text-secondary, #6b7280)}.tmpl-executor-body{display:grid;grid-template-columns:340px 1fr;gap:20px}.tmpl-executor-params{background:var(--panel, #fff);border:1px solid var(--border, #e5e7eb);border-radius:12px;padding:20px}.tmpl-executor-params h3{margin:0 0 16px;font-size:14px;color:var(--text-primary, #111)}.tmpl-input-group{margin-bottom:16px}.tmpl-input-group label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary, #6b7280);margin-bottom:6px}.tmpl-input-row{display:flex;gap:10px;align-items:center}.tmpl-input{width:100px;padding:6px 10px;border:1px solid var(--border, #e5e7eb);border-radius:8px;font-size:14px;font-weight:500;background:var(--surface, #f9fafb);color:var(--text-primary, #111)}.tmpl-input:focus{outline:none;border-color:var(--primary, #8b5cf6)}.tmpl-slider{flex:1;height:4px;accent-color:var(--primary, #8b5cf6)}.tmpl-executor-actions{display:flex;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border, #e5e7eb)}.tmpl-executor-results{min-height:300px}.tmpl-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:var(--text-secondary, #6b7280);gap:12px;font-size:14px}.tmpl-error{padding:12px 16px;background:#ef44440f;border:1px solid rgba(239,68,68,.2);border-radius:8px;color:var(--danger, #ef4444);font-size:13px;margin-bottom:16px}.tmpl-result{background:var(--panel, #fff);border:1px solid var(--border, #e5e7eb);border-radius:12px;padding:20px}.tmpl-result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border, #e5e7eb)}.tmpl-result-meta{display:flex;align-items:center;gap:12px}.tmpl-result-confidence{font-size:13px;font-weight:600;color:var(--primary, #8b5cf6);background:#8b5cf614;padding:3px 10px;border-radius:12px}.tmpl-result-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.tmpl-result-item{padding:12px;background:var(--surface, #f9fafb);border-radius:10px}.tmpl-result-item--wide{grid-column:1 / -1;padding:12px;background:var(--surface, #f9fafb);border-radius:10px}.tmpl-result-label{display:block;font-size:11px;color:var(--text-secondary, #6b7280);margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.tmpl-result-value{font-size:20px;font-weight:700;color:var(--text-primary, #111)}.tmpl-result-badge{display:inline-block;font-size:12px;font-weight:600;padding:3px 10px;border-radius:12px}.tmpl-result-list{margin:0;padding:0;list-style:none}.tmpl-result-list li{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border, #e5e7eb);font-size:13px;color:var(--text-primary, #111)}.tmpl-result-list li:last-child{border-bottom:none}.tmpl-result-list-detail{font-size:12px;color:var(--text-secondary, #6b7280);background:var(--panel, #fff);padding:2px 8px;border-radius:8px}.tmpl-history{margin-top:20px}.tmpl-history h3{margin:0 0 12px;font-size:14px;color:var(--text-primary, #111)}.tmpl-history-list{display:flex;flex-direction:column;gap:8px}.tmpl-history-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--surface, #f9fafb);border-radius:8px;font-size:13px}.tmpl-history-item-status{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px}@media (max-width: 768px){.tmpl-executor-body,.tmpl-card-grid,.tmpl-result-grid{grid-template-columns:1fr}}.trino-editor{--trino-accent: #8b5cf6;--trino-accent-hover: #7c3aed;display:flex;flex-direction:column;height:100%}.trino-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--panel);flex-shrink:0}.trino-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text-secondary);font-size:13px;cursor:pointer}.trino-btn:hover{background:var(--hover, rgba(0, 0, 0, .04))}.trino-btn--primary{background:var(--trino-accent);color:#fff;border-color:var(--trino-accent)}.trino-btn--primary:hover{background:var(--trino-accent-hover)}.trino-btn--primary:disabled{opacity:.6;cursor:not-allowed}.trino-select{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);font-size:13px}.trino-status-badge{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.trino-status-badge--ok{background:#10b9811a;color:#10b981}.trino-status-badge--down{background:#ef44441a;color:#ef4444}.trino-body{display:grid;grid-template-columns:280px 1fr;flex:1;overflow:hidden}.trino-sidebar{border-right:1px solid var(--border);background:var(--panel);overflow-y:auto}.trino-main{display:flex;flex-direction:column;overflow:hidden}.trino-sql-area{padding:8px 16px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.trino-sql-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.trino-sample-btn{padding:2px 8px;border:1px solid var(--border);border-radius:4px;background:var(--panel);color:var(--text-secondary);font-size:11px;cursor:pointer}.trino-sample-btn:hover{background:var(--hover, rgba(0, 0, 0, .04));color:var(--trino-accent)}.trino-textarea{width:100%;min-height:100px;max-height:200px;resize:vertical;font-family:Fira Code,Consolas,Courier New,monospace;font-size:13px;line-height:1.6;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary, #f8f9fa);color:var(--text-primary);outline:none;box-sizing:border-box}.trino-textarea:focus{border-color:var(--trino-accent);box-shadow:0 0 0 2px #8b5cf626}.trino-textarea::-moz-placeholder{color:var(--text-secondary);opacity:.5}.trino-textarea::placeholder{color:var(--text-secondary);opacity:.5}.trino-result-area{flex:1;overflow:auto;padding:12px 16px}.trino-result-summary{display:flex;align-items:center;gap:12px;padding:8px 0;font-size:12px;color:var(--text-secondary);border-bottom:1px solid var(--border);margin-bottom:8px}.trino-truncated-badge{padding:2px 8px;border-radius:10px;background:#f59e0b1a;color:#f59e0b;font-size:11px}.trino-table-wrapper{overflow-x:auto;border:1px solid var(--border);border-radius:8px}.trino-result-table{width:100%;border-collapse:collapse;font-size:13px}.trino-result-table th{padding:8px 12px;text-align:left;background:var(--bg-secondary, #f8f9fa);color:var(--text-secondary);font-weight:600;font-size:12px;border-bottom:1px solid var(--border);position:sticky;top:0;white-space:nowrap}.trino-result-table td{padding:6px 12px;border-bottom:1px solid var(--border);color:var(--text-primary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trino-result-table tr:hover td{background:var(--hover, rgba(0, 0, 0, .02))}.trino-result-empty{text-align:center;padding:24px;color:var(--text-secondary);font-size:13px}.trino-state-msg{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:100%;min-height:200px;color:var(--text-secondary);font-size:14px}.trino-state-msg--error{color:#ef4444}.trino-state-msg--empty{opacity:.6}.catalog-tree{padding:8px}.catalog-tree-header{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;margin-bottom:4px}.catalog-tree-refresh{border:none;background:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center}.catalog-tree-refresh:hover{background:var(--hover, rgba(0, 0, 0, .04))}.catalog-tree-refresh:disabled{opacity:.5}.catalog-tree-group{margin-bottom:2px}.catalog-tree-node{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--text-primary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.catalog-tree-node:hover{background:var(--hover, rgba(0, 0, 0, .04))}.catalog-tree-node--schema{padding-left:24px;font-size:12px}.catalog-tree-node--table{padding-left:44px;font-size:12px}.catalog-tree-node--table:hover{color:var(--trino-accent)}.catalog-tree-loading{display:flex;align-items:center;gap:6px;padding:4px 24px;font-size:11px;color:var(--text-secondary)}.catalog-tree-empty{padding:6px 24px;font-size:11px;color:var(--text-secondary);opacity:.6}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@media (max-width: 800px){.trino-body{grid-template-columns:1fr}.trino-sidebar{border-right:none;border-bottom:1px solid var(--border);max-height:200px}}.avatar-chat{display:flex;flex-direction:column;height:100%;background:var(--panel);border-radius:12px;overflow:hidden}.avatar-chat--compact{border-radius:0}.avatar-chat__messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.avatar-chat__welcome{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 16px}.avatar-chat__presets{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px}.avatar-chat__preset-btn{padding:6px 14px;border-radius:16px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:13px;cursor:pointer;transition:all .15s}.avatar-chat__preset-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-light, rgba(99,102,241,.06))}.avatar-chat__preset-btn:disabled{opacity:.5;cursor:not-allowed}.avatar-chat__msg{display:flex;gap:10px;max-width:90%}.avatar-chat__msg--user{flex-direction:row-reverse;align-self:flex-end}.avatar-chat__msg--assistant{align-self:flex-start}.avatar-chat__msg-avatar{flex-shrink:0}.avatar-chat__user-icon{width:28px;height:28px;border-radius:10px;background:linear-gradient(135deg,#6366f1,#3b82f6);color:#fff;display:flex;align-items:center;justify-content:center}.avatar-chat__msg-body{display:flex;flex-direction:column;gap:4px}.avatar-chat__msg--user .avatar-chat__msg-text{background:var(--primary);color:#fff;border-radius:14px 14px 4px;padding:8px 14px;font-size:13px;line-height:1.5}.avatar-chat__msg--assistant .avatar-chat__msg-text{background:var(--bg-secondary);color:var(--text-primary);border-radius:14px 14px 14px 4px;padding:10px 14px;font-size:13px;line-height:1.6}.avatar-chat__msg--assistant .avatar-chat__msg-text p{margin:0 0 8px}.avatar-chat__msg--assistant .avatar-chat__msg-text p:last-child{margin-bottom:0}.avatar-chat__msg--assistant .avatar-chat__msg-text h1,.avatar-chat__msg--assistant .avatar-chat__msg-text h2,.avatar-chat__msg--assistant .avatar-chat__msg-text h3{margin:12px 0 6px;font-size:14px;font-weight:700;color:var(--text-primary)}.avatar-chat__msg--assistant .avatar-chat__msg-text h1{font-size:15px}.avatar-chat__msg--assistant .avatar-chat__msg-text strong{font-weight:600;color:var(--text-primary)}.avatar-chat__msg--assistant .avatar-chat__msg-text ul,.avatar-chat__msg--assistant .avatar-chat__msg-text ol{margin:4px 0 8px;padding-left:18px}.avatar-chat__msg--assistant .avatar-chat__msg-text li{margin-bottom:3px}.avatar-chat__msg--assistant .avatar-chat__msg-text table{width:100%;border-collapse:collapse;margin:8px 0;font-size:12px}.avatar-chat__msg--assistant .avatar-chat__msg-text th,.avatar-chat__msg--assistant .avatar-chat__msg-text td{padding:5px 8px;border:1px solid var(--border);text-align:left}.avatar-chat__msg--assistant .avatar-chat__msg-text th{background:var(--bg-tertiary, rgba(255,255,255,.04));font-weight:600;font-size:11px;color:var(--text-secondary)}.avatar-chat__msg--assistant .avatar-chat__msg-text td{font-variant-numeric:tabular-nums}.avatar-chat__msg--assistant .avatar-chat__msg-text code{background:var(--bg-tertiary, rgba(255,255,255,.06));padding:1px 5px;border-radius:4px;font-size:12px}.avatar-chat__msg--assistant .avatar-chat__msg-text blockquote{margin:6px 0;padding:4px 10px;border-left:3px solid var(--primary);color:var(--text-secondary)}.avatar-chat__msg--assistant .avatar-chat__msg-text hr{border:none;border-top:1px solid var(--border);margin:10px 0}.avatar-chat__tools{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:2px}.avatar-chat__tool-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:8px;background:#f59e0b1a;color:#d97706;font-size:11px;font-weight:500}.avatar-chat__typing{display:flex;gap:4px;padding:10px 14px;background:var(--bg-secondary);border-radius:14px 14px 14px 4px}.avatar-chat__typing span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:avatar-typing 1.2s ease-in-out infinite}.avatar-chat__typing span:nth-child(2){animation-delay:.15s}.avatar-chat__typing span:nth-child(3){animation-delay:.3s}@keyframes avatar-typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.avatar-chat__input-area{display:flex;align-items:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--panel)}.avatar-chat__input{flex:1;border:1px solid var(--border);border-radius:12px;padding:8px 12px;font-size:13px;font-family:inherit;background:var(--background);color:var(--text-primary);resize:none;max-height:120px;line-height:1.5}.avatar-chat__input:focus{outline:none;border-color:var(--primary)}.avatar-chat__send-btn{width:36px;height:36px;border-radius:10px;border:none;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:opacity .15s}.avatar-chat__send-btn:disabled{opacity:.4;cursor:not-allowed}.avatar-chat__send-btn--stop{background:#ef4444}.avatar-fab__btn{position:fixed;bottom:24px;right:24px;width:52px;height:52px;border-radius:16px;border:none;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 20px #6366f159;transition:all .2s;z-index:1000}.avatar-fab__btn:hover{transform:scale(1.05);box-shadow:0 6px 24px #6366f173}.avatar-fab__btn--active{background:var(--bg-secondary);color:var(--text-primary);box-shadow:0 2px 10px #0000001a}.avatar-fab__overlay{position:fixed;bottom:88px;right:24px;width:570px;height:780px;border-radius:16px;border:1px solid var(--border);background:var(--panel);box-shadow:0 8px 40px #00000026;display:flex;flex-direction:column;overflow:hidden;z-index:999;animation:avatar-fab-slide-up .2s ease-out}.avatar-fab__overlay--expanded{width:840px;height:1020px}@keyframes avatar-fab-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.avatar-fab__header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.avatar-fab__header-btn{width:28px;height:28px;border-radius:8px;border:none;background:transparent;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer}.avatar-fab__header-btn:hover{background:var(--border);color:var(--text-primary)}.avatar-gallery{padding:24px;max-width:960px;margin:0 auto}.avatar-gallery__header{margin-bottom:24px}.avatar-gallery__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.avatar-gallery__card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:20px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:12px}.avatar-gallery__card:hover{border-color:var(--primary);box-shadow:0 4px 16px #6366f114;transform:translateY(-2px)}.avatar-gallery__card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.avatar-gallery__card-top{display:flex;align-items:center;gap:14px}.avatar-gallery__domain{display:inline-block;padding:1px 8px;border-radius:8px;background:var(--bg-secondary);color:var(--text-muted);font-size:11px;text-transform:uppercase;margin-top:2px}.avatar-gallery__desc{color:var(--text-secondary);font-size:13px;line-height:1.5;margin:0;flex:1}.avatar-gallery__presets{display:flex;flex-wrap:wrap;gap:6px}.avatar-gallery__preset-tag{padding:2px 10px;border-radius:10px;background:var(--bg-secondary);color:var(--text-secondary);font-size:11px}.avatar-gallery__card-action{display:flex;align-items:center;gap:6px;color:var(--primary);font-size:13px;font-weight:500;margin-top:auto}.cp-page{display:flex;gap:16px;min-height:0;overflow:hidden}.cp-left-panel{width:480px;min-width:480px;display:flex;flex-direction:column;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.cp-search-area{padding:14px;border-bottom:1px solid var(--glass-border)}.cp-search-box{display:flex;gap:6px;align-items:center}.cp-search-input{flex:1;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:8px;transition:all .2s}.cp-search-input:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.cp-search-input svg{color:var(--text-secondary);flex-shrink:0}.cp-search-input input{flex:1;border:none;background:transparent;font-size:.8125rem;color:var(--text-primary);outline:none}.cp-search-input input::-moz-placeholder{color:var(--text-tertiary, var(--text-secondary))}.cp-search-input input::placeholder{color:var(--text-tertiary, var(--text-secondary))}.cp-search-count{font-size:.75rem;color:var(--text-secondary);margin-top:8px}.cp-search-count strong{color:var(--text-primary)}.cp-customer-list{flex:1;overflow:auto}.cp-customer-item{display:block;width:100%;text-align:left;border:none;font-family:inherit;padding:12px 14px;cursor:pointer;transition:all .15s;border-bottom:1px solid var(--glass-border);background:transparent;color:var(--text-primary)}.cp-customer-item:hover{background:var(--panel-2)}.cp-customer-item.active{background:var(--primary);color:var(--on-accent)}.cp-customer-item.active .cp-item-meta,.cp-customer-item.active .cp-item-region{color:#ffffffbf}.cp-item-name{font-weight:600;font-size:.875rem;margin-bottom:2px}.cp-source-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.02em;line-height:1.4}.cp-source-badge.erp{background:#3b82f61f;color:#1d4ed8;border:1px solid rgba(59,130,246,.25)}.cp-source-badge.portal{background:#10b9811f;color:#047857;border:1px solid rgba(16,185,129,.25)}[data-theme=dark] .cp-source-badge.erp{background:#3b82f638;color:#93c5fd;border-color:#3b82f666}[data-theme=dark] .cp-source-badge.portal{background:#10b98138;color:#6ee7b7;border-color:#10b98166}.cp-customer-item.active .cp-source-badge.erp,.cp-customer-item.active .cp-source-badge.portal{background:#ffffff2e;color:#fff;border-color:#ffffff59}.cp-item-meta{font-size:.75rem;color:var(--text-secondary)}.cp-item-region{font-size:.6875rem;color:var(--text-tertiary, var(--text-secondary));margin-top:1px;opacity:.7}.cp-right-panel{flex:1;display:flex;flex-direction:column;gap:20px;overflow:auto;padding-right:4px}.cp-detail-header{margin-bottom:4px}.cp-detail-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.cp-detail-meta{display:flex;align-items:center;gap:12px;margin-top:6px;font-size:.8125rem;color:var(--text-secondary);flex-wrap:wrap}.cp-detail-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;background:#6366f126;color:var(--primary);border:1px solid rgba(99,102,241,.3)}.cp-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.cp-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cp-section-title{display:flex;align-items:center;gap:8px}.cp-section-title svg{color:var(--primary)}.cp-section-title h3{margin:0;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.cp-section-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;font-size:11px;font-weight:600;background:var(--primary);color:var(--on-accent)}.cp-list{display:flex;flex-direction:column;gap:6px}.cp-list-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:8px;transition:all .15s}.cp-list-item:hover{border-color:var(--primary);background:#6366f10d}.cp-list-item-body{flex:1;min-width:0}.cp-list-item-title{font-weight:600;font-size:.875rem;color:var(--text-primary)}.cp-list-item-sub{font-size:.75rem;color:var(--text-secondary);margin-top:2px}.cp-status-badge{display:inline-block;padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600}.cp-status-badge.active{background:#10b98126;color:#10b981}.cp-status-badge.warning{background:#f59e0b26;color:#f59e0b}.cp-status-badge.expired{background:#ef444426;color:#ef4444}.cp-svc-badges{display:flex;gap:4px;margin-top:4px;flex-wrap:wrap}.cp-svc-badge{display:inline-block;padding:1px 8px;border-radius:3px;font-size:11px;font-weight:500;background:var(--panel-2);border:1px solid var(--glass-border);color:var(--text-secondary)}.cp-primary-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 8px;border-radius:3px;font-size:11px;font-weight:600;background:#f59e0b26;color:#f59e0b}.cp-inactive-badge{display:inline-block;padding:1px 8px;border-radius:3px;font-size:11px;font-weight:500;background:#ef444426;color:#ef4444}.cp-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.cp-icon-btn:hover{border-color:var(--glass-border);background:var(--panel-2);color:var(--primary)}.cp-icon-btn.danger:hover{color:#ef4444;border-color:#ef44444d;background:#ef44441a}.cp-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);color:var(--text-primary);font-size:13px;cursor:pointer;transition:all .2s}.cp-btn:hover{border-color:var(--primary);color:var(--primary)}.cp-btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.cp-btn-primary:hover{opacity:.9}.cp-btn-primary:disabled{opacity:.5;cursor:not-allowed}.cp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 16px;color:var(--text-secondary);font-size:.875rem;text-align:center}.cp-empty svg{margin-bottom:8px;opacity:.4}.cp-summary-cards{display:flex;gap:12px;margin-bottom:16px}.cp-summary-card{flex:1;display:flex;flex-direction:column;align-items:center;padding:14px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.cp-summary-card:hover{border-color:var(--primary);transform:translateY(-2px)}.cp-summary-card.active{border-color:var(--primary);background:#6366f126;box-shadow:0 4px 12px #6366f133}.cp-summary-count{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.cp-summary-label{font-size:.8125rem;color:var(--text-secondary);margin-top:2px}.cp-view-tabs{display:flex;gap:0;border-bottom:1px solid var(--glass-border)}.cp-view-tab{flex:1;padding:10px 0;border:none;background:transparent;font-family:inherit;font-size:.8125rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s;border-bottom:2px solid transparent}.cp-view-tab:hover{color:var(--text-primary);background:var(--panel-2)}.cp-view-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.cp-user-status{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.cp-user-status.active{background:#10b98126;color:#10b981}.cp-user-status.inactive{background:#ef444426;color:#ef4444}.cp-user-status.locked{background:#f59e0b26;color:#f59e0b}.cp-linked-tag{font-size:.75rem;color:var(--text-secondary)}.cp-unlinked-tag{font-size:.75rem;color:#f59e0b;font-weight:500}.cp-service-page{display:flex;flex-direction:column;gap:16px;height:100%;padding:24px;background:var(--bg-primary)}.cp-service-header{display:flex;align-items:center;justify-content:space-between}.cp-service-header h1{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.cp-service-actions{display:flex;gap:8px}.cp-table-container{flex:1;overflow:auto;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.cp-table{width:100%;border-collapse:collapse}.cp-table th{padding:12px 14px;text-align:left;font-size:12px;font-weight:600;color:var(--text-secondary);background:#08090a66;border-bottom:1px solid var(--glass-border);white-space:nowrap;position:sticky;top:0;text-transform:uppercase;letter-spacing:.5px}.cp-table td{padding:6px 14px;font-size:13px;border-bottom:1px solid var(--glass-border);color:var(--text-primary);vertical-align:middle}.cp-table tr.dirty{background:#f59e0b0f}.cp-table-input{width:100%;padding:6px 10px;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:6px;font-size:13px;color:var(--text-primary);outline:none;transition:border-color .15s;font-family:inherit}.cp-table-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #6366f126}.cp-table-input:disabled{opacity:.5;background:transparent}.voc-page{padding:24px;background:var(--bg);min-height:100%}.voc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.voc-header h1{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:8px}.voc-summary{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.voc-summary-card{padding:10px 16px;border-radius:8px;cursor:pointer;border:1px solid var(--border);background:var(--panel);display:flex;align-items:center;gap:8px;transition:all .15s}.voc-summary-card:hover{border-color:var(--primary)}.voc-summary-card.active{border-color:var(--primary);background:#3b82f614}.voc-summary-card .label{font-size:13px;font-weight:600}.voc-summary-card .count{font-size:18px;font-weight:700;color:var(--text-primary)}.voc-filters{padding:14px;background:var(--bg-secondary);border-radius:8px;margin-bottom:16px;border:1px solid var(--border);display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}.voc-table{width:100%;border-collapse:collapse}.voc-table th,.voc-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);font-size:13px}.voc-table th{background:var(--bg-secondary);color:var(--text-secondary);font-weight:600;font-size:12px}.voc-table tr:hover{background:var(--bg-secondary);cursor:pointer}.voc-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.voc-detail-overlay{position:fixed;top:0;right:0;bottom:0;width:480px;z-index:100;background:var(--panel);border-left:1px solid var(--border);box-shadow:-4px 0 20px #00000026;overflow-y:auto}.voc-detail-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start}.voc-detail-body{padding:20px}.voc-detail-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);padding:0 20px}.voc-detail-tab{padding:10px 16px;font-size:13px;font-weight:600;cursor:pointer;color:var(--text-secondary);border-bottom:2px solid transparent;background:none;border-top:none;border-left:none;border-right:none}.voc-detail-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.voc-comm-list{display:flex;flex-direction:column;gap:10px}.voc-comm-item{padding:12px;border-radius:8px;border:1px solid var(--border)}.voc-comm-item.internal{background:#f59e0b0d;border-color:#f59e0b33}.voc-comm-item.customer{background:#3b82f60d;border-color:#3b82f633}.voc-form-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000080;display:flex;align-items:center;justify-content:center}.voc-form-modal{background:var(--panel);border-radius:12px;width:600px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 40px #0000004d}.voc-form-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.voc-form-body{padding:20px;display:flex;flex-direction:column;gap:14px}.voc-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.voc-form-field label{display:block;font-size:11px;font-weight:600;color:var(--text-tertiary);margin-bottom:4px;text-transform:uppercase}.voc-form-footer{padding:16px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}:root{--sidebar-width: 230px;--right-panel-width: 280px;--header-height: 65px;--app-radius: 10px;--app-shadow: 0 12px 40px rgba(0,0,0,.35)}[data-theme=light]{--app-bg: var(--bg-base);--sidebar-bg: var(--glass-bg);--sidebar-border: var(--glass-border);--header-bg: rgba(255, 255, 255, .6);--header-border: var(--glass-border);--panel-bg: rgba(255, 255, 255, .9);--card-bg: var(--glass-bg);--domain-bg: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);--domain-border: var(--border);--menu-hover-bg: var(--hover-bg);--menu-active-bg: linear-gradient(135deg, rgba(59, 130, 246, .12) 0%, rgba(139, 92, 246, .08) 100%);--menu-active-border: var(--accent);--accent: #3b82f6;--accent2: #8b5cf6;--accent3: #10b981;--accent-gradient: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);--pill-bg: rgba(241, 245, 249, .8);--pill-border: var(--border);--text-primary: var(--text-primary);--text-secondary: var(--text-secondary);--text-muted: var(--muted);--view-col-bg: #ffffff;--view-track-bg: #f8fafc;--view-track-border: rgba(0, 0, 0, .04);--table-border: var(--border);--table-hover-bg: var(--hover-bg);--progress-bg: rgba(0, 0, 0, .04);--gantt-grid-color: rgba(0, 0, 0, .04);--gantt-bar-text: #1e293b;--roadmap-block-text: #ffffff;--shadow-sm: var(--shadow-sm);--shadow-md: var(--shadow-md);--shadow-lg: var(--shadow-lg);--shadow-glow: 0 0 20px rgba(59, 130, 246, .15)}[data-theme=dark]{--app-bg: var(--bg-base);--sidebar-bg: rgba(8, 9, 10, .6);--sidebar-border: var(--glass-border);--header-bg: rgba(8, 9, 10, .6);--header-border: var(--glass-border);--panel-bg: transparent;--card-bg: var(--glass-bg);--domain-bg: var(--glass-bg);--domain-border: var(--glass-border);--menu-hover-bg: rgba(255, 255, 255, .05);--menu-active-bg: linear-gradient(135deg, rgba(6, 182, 212, .15) 0%, rgba(59, 130, 246, .1) 100%);--menu-active-border: var(--accent-cyan);--accent: var(--accent-cyan);--accent2: var(--accent-blue);--accent3: #34d399;--accent-gradient: linear-gradient(135deg, var(--accent-cyan) 0%, var(--accent-blue) 100%);--pill-bg: rgba(255, 255, 255, .08);--pill-border: rgba(255, 255, 255, .15);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .7);--text-muted: rgba(255, 255, 255, .5);--view-col-bg: rgba(30, 41, 59, .9);--view-track-bg: rgba(15, 23, 42, .4);--view-track-border: var(--glass-border);--table-border: var(--glass-border);--table-hover-bg: rgba(255, 255, 255, .05);--progress-bg: rgba(255, 255, 255, .04);--gantt-grid-color: rgba(255, 255, 255, .03);--gantt-bar-text: #ffffff;--roadmap-block-text: #0a0f1a;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-glow: 0 0 25px rgba(6, 182, 212, .2)}.app-layout{display:grid;grid-template-columns:var(--sidebar-width) 1fr var(--right-panel-width);grid-template-rows:var(--header-height) 1fr;min-height:100vh;background-color:var(--app-bg);background-image:radial-gradient(circle at 10% 20%,color-mix(in oklch,var(--accent-blue),transparent 85%) 0%,transparent 40%),radial-gradient(circle at 90% 80%,color-mix(in oklch,var(--accent-cyan),transparent 90%) 0%,transparent 40%);font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:13px;color:var(--text-primary);position:relative}.app-layout:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:var(--noise);opacity:.03;pointer-events:none;z-index:9999}.app-layout:not(:has(.app-right-panel)){grid-template-columns:var(--sidebar-width) 1fr}.app-layout.no-right-panel{grid-template-columns:var(--sidebar-width) 1fr}.app-header{grid-column:1 / -1;display:flex;align-items:center;gap:12px;padding:0 20px;height:var(--header-height);min-height:65px;background:var(--header-bg);border-bottom:1px solid var(--header-border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.app-header .logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px;color:var(--text-primary);min-width:200px}.app-header .logo img{height:42px;width:auto;max-width:180px;-o-object-fit:contain;object-fit:contain}.app-header .logo-text{display:flex;flex-direction:column;line-height:1.3}.app-header .logo-text span{font-size:18px;font-weight:700}.app-header .logo-text small{font-size:12px;font-weight:400;color:var(--text-muted)}.module-tabs{display:flex;align-items:center;gap:2px;padding:3px;background:var(--pill-bg);border:1px solid var(--pill-border);border-radius:10px}.module-tab{display:flex;align-items:center;gap:5px;padding:5px 12px;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.module-tab:hover{background:var(--menu-hover-bg);color:var(--text-primary)}.module-tab.active{background:var(--module-color, var(--accent));color:#fff;box-shadow:0 1px 4px #00000026}@media (max-width: 1200px){.module-tab-label{display:none}.module-tab{padding:6px 8px}}.sidebar-tab-bar{display:flex;align-items:center;gap:4px;padding:6px 6px 0;border-bottom:1px solid var(--sidebar-border);flex-shrink:0}.sidebar-tabs{display:flex;flex:1;gap:1px}.sidebar-tab{display:flex;align-items:center;gap:4px;flex:1;padding:6px 4px;border:none;background:none;color:var(--text-muted);font-size:11px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;justify-content:center;white-space:nowrap}.sidebar-tab:hover{color:var(--text-primary)}.sidebar-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.sidebar-tab-badge{font-size:10px;padding:0 5px;border-radius:8px;background:var(--accent);color:#fff;font-weight:600;line-height:16px}.sidebar-section{border-bottom:1px solid var(--sidebar-border);padding:4px 0}.sidebar-section-header{display:flex;align-items:center;gap:6px;width:100%;padding:8px 14px;border:none;background:none;color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;transition:color .15s}.sidebar-section-header:hover{color:var(--text-primary)}.sidebar-section-count{font-size:10px;padding:1px 6px;border-radius:8px;background:var(--pill-bg);color:var(--text-muted);font-weight:500}.sidebar-section-header .chevron{transition:transform .2s}.sidebar-section-header .chevron.open{transform:rotate(180deg)}.sidebar-fav-list{list-style:none;margin:0;padding:0 6px 4px}.sidebar-fav-list li{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px;color:var(--text-primary);transition:background .15s}.sidebar-fav-list li:hover{background:var(--menu-hover-bg)}.sidebar-fav-list li.active{background:var(--menu-active-bg);border-left:2px solid var(--accent)}.domain-list-item{display:flex;align-items:center}.star-toggle{display:flex;align-items:center;justify-content:center;padding:2px;border:none;background:none;cursor:pointer;opacity:0;transition:opacity .15s;flex-shrink:0}.domain-list li:hover .star-toggle,.star-toggle:focus-visible{opacity:1}.star-toggle[title="즐겨찾기 해제"]{opacity:1}.pill{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--pill-bg);border:1px solid var(--pill-border);border-radius:999px;font-size:12px;color:var(--text-secondary)}.pill.search{flex:1;max-width:400px;padding:2px 10px;height:28px;cursor:text}.pill.search input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:12px}.pill.search input::-moz-placeholder{color:var(--text-secondary)}.pill.search input::placeholder{color:var(--text-secondary)}.pill svg{width:14px;height:14px;color:var(--text-secondary)}.btn-quick{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--accent-gradient);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:12px;cursor:pointer;box-shadow:0 4px 15px #3b82f64d;transition:all .2s ease;position:relative;overflow:hidden}.btn-quick:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn-quick:hover{transform:translateY(-2px);box-shadow:0 8px 25px #3b82f666}.btn-quick:hover:before{left:100%}.btn-quick:active{transform:translateY(0)}.header-user{display:flex;align-items:center;gap:12px;margin-left:auto}.header-user .avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#64748b,#94a3b8);border:2px solid var(--pill-border)}.header-user .user-info{font-size:13px;font-weight:500;line-height:1.3;color:var(--text-primary)}.header-user .user-info small{color:var(--text-secondary);font-size:11px;font-weight:400}.header-user .theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--pill-bg);border:1px solid var(--pill-border);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.header-user .theme-toggle:hover{background:var(--menu-hover-bg);color:var(--accent);border-color:var(--accent)}.header-user .logout-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;background:var(--pill-bg);border:1px solid var(--pill-border);color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.header-user .logout-btn:hover{background:var(--menu-hover-bg);border-color:var(--accent);color:var(--accent)}.header-user .logout-btn svg{width:14px;height:14px}.app-sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);padding:12px;position:sticky;top:var(--header-height);height:calc(100vh - var(--header-height));overflow-y:auto;overflow-x:hidden;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.app-sidebar.collapsed{padding:2px;overflow:hidden}.sidebar-collapse-btn{display:flex;align-items:center;justify-content:center;width:20px;min-width:20px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:0;flex-shrink:0;transition:color .15s,background .15s;border-right:1px solid var(--sidebar-border)}.sidebar-collapse-btn:hover{color:var(--text-primary);background:var(--menu-hover-bg)}.sidebar-collapse-btn-inline{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .15s,background .15s}.sidebar-collapse-btn-inline:hover{color:var(--text-primary);background:var(--menu-hover-bg)}.app-sidebar::-webkit-scrollbar{width:4px}.app-sidebar::-webkit-scrollbar-track{background:transparent}.app-sidebar::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px;opacity:.5}.app-sidebar::-webkit-scrollbar-thumb:hover{background:var(--accent)}.sidebar-title{margin:12px 0 8px;padding:0 8px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.sidebar-title:first-child{margin-top:0}.sidebar-menu{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.sidebar-menu li{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:8px;border:1px solid transparent;color:var(--text-primary);font-size:13px;cursor:pointer;transition:all .12s ease}.sidebar-menu li:hover{background:var(--menu-hover-bg);border-color:var(--accent)}.sidebar-menu li.active{background:var(--menu-active-bg);border-color:var(--menu-active-border)}.sidebar-menu li .icon{width:18px;height:18px;margin-right:8px;color:var(--text-muted)}.sidebar-menu li.active .icon{color:var(--accent)}.sidebar-menu .badge,.domain-list .badge{background:linear-gradient(135deg,var(--accent2),#ec4899);color:#fff;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:600;box-shadow:0 2px 6px #8b5cf64d;animation:pulse-badge 2s infinite}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.8}}.domain-hub{margin-top:8px}.domain-hub-header{display:flex;justify-content:space-between;align-items:center;padding:0 8px;margin-bottom:8px}.domain-hub-header .sidebar-title{margin:0;padding:0}.domain-hub-header .toggle-link{font-size:11px;color:var(--accent);cursor:pointer;transition:all .2s ease;padding:4px 10px;border-radius:6px;background:transparent}.domain-hub-header .toggle-link:hover{color:var(--accent2);background:var(--menu-hover-bg)}.domain-block{background:var(--domain-bg);border:1px solid var(--domain-border);border-radius:12px;margin-bottom:8px;overflow:hidden;transition:all .2s ease;box-shadow:var(--shadow-sm);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.domain-block:hover{border-color:#3b82f633;box-shadow:var(--shadow-md)}.domain-toggle{width:100%;display:flex;justify-content:flex-start;align-items:center;gap:8px;padding:12px 14px;background:transparent;border:none;color:var(--text-primary);font-weight:600;font-size:13px;cursor:pointer;transition:all .15s ease}.domain-toggle:hover{background:var(--menu-hover-bg)}.domain-toggle .domain-icon{display:flex;align-items:center;gap:10px}.domain-toggle .domain-icon svg{width:18px;height:18px;transition:transform .2s ease}.domain-toggle:hover .domain-icon svg{transform:scale(1.1)}.domain-toggle .chevron{width:14px;height:14px;color:var(--text-muted);transition:transform .25s ease;margin-left:auto}.domain-toggle.open .chevron{transform:rotate(180deg)}.domain-list{list-style:none;padding:0 8px;margin:0;display:flex;flex-direction:column;gap:2px;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.domain-list.open{max-height:1000px;padding-bottom:10px}.domain-list li{padding:9px 12px;border-radius:8px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;display:flex;justify-content:space-between;align-items:center;position:relative}.domain-list li:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--accent-gradient);border-radius:0 2px 2px 0;transition:height .15s ease}.domain-list li:hover{background:var(--menu-hover-bg);color:var(--text-primary);padding-left:16px}.domain-list li:hover:before{height:60%}.domain-list li.active{background:var(--menu-active-bg);color:var(--accent);padding-left:16px;font-weight:500}.domain-list li.active:before{height:70%}.app-main{padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.app-main .main-view{flex:1;min-height:0;display:flex;flex-direction:column}.app-main .main-view .standard-map{flex:1;min-height:600px}.chain-breadcrumb{display:flex;gap:8px;flex-wrap:wrap}.chain-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background:#38bdf81a;border:1px solid rgba(56,189,248,.25);border-radius:999px;font-size:12px;color:var(--text-primary)}.view-switcher{display:flex;gap:6px;flex-wrap:wrap}.view-btn{padding:8px 14px;border-radius:8px;border:1px solid var(--sidebar-border);background:var(--card-bg);color:var(--text-primary);font-size:12px;cursor:pointer;transition:all .15s}.view-btn:hover{border-color:var(--accent)}.view-btn.active{border-color:var(--accent);background:var(--menu-active-bg);box-shadow:0 0 0 1px #38bdf84d}.view-area{flex:1;background:transparent;border:none;padding:0;min-height:400px}[data-theme=light] .view-area{background:#fff}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.summary-card{background:var(--card-bg);border:1px solid var(--sidebar-border);border-radius:var(--app-radius);padding:14px;box-shadow:var(--app-shadow)}.summary-card strong{display:block;font-size:13px;color:var(--text-primary);margin-bottom:4px}.summary-card p{margin:0;font-size:12px;color:var(--text-muted)}.app-right-panel{background:var(--panel-bg);border-left:1px solid var(--sidebar-border);padding:16px;position:sticky;top:var(--header-height);height:calc(100vh - var(--header-height));overflow-y:auto}.app-right-panel>*{width:100%;box-sizing:border-box}.right-section{margin-bottom:20px}.right-section-title{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:10px}.right-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:12px;color:var(--text-primary);border-bottom:1px solid var(--sidebar-border)}.right-item:last-child{border-bottom:none}.right-item .badge{font-size:10px;padding:3px 8px;border-radius:999px;background:var(--accent2);color:#fff}.right-item .badge.urgent{background:#ef4444}.right-item .badge.link{background:var(--card-bg);color:var(--accent);border:1px solid var(--sidebar-border);cursor:pointer}.right-item .badge.link:hover{background:var(--menu-hover-bg)}.app-layout-resizable{display:flex;flex-direction:column;min-height:100vh;background-color:var(--app-bg);background-image:radial-gradient(circle at 10% 20%,color-mix(in oklch,var(--accent-blue),transparent 85%) 0%,transparent 40%),radial-gradient(circle at 90% 80%,color-mix(in oklch,var(--accent-cyan),transparent 90%) 0%,transparent 40%);font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:13px;color:var(--text-primary);position:relative}.app-layout-resizable:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:var(--noise);opacity:.03;pointer-events:none;z-index:9999}.app-layout-resizable .app-body{display:flex;flex:1;overflow:hidden}.app-layout-resizable .app-sidebar{height:calc(100vh - var(--header-height));overflow-y:auto;overflow-x:hidden;flex-shrink:0}.app-layout-resizable .app-main{height:calc(100vh - var(--header-height));overflow-y:auto;overflow-x:hidden}.app-layout-resizable .app-right-panel{height:calc(100vh - var(--header-height));overflow-y:auto;flex-shrink:0}.app-layout-resizable .app-left-list-panel{height:calc(100vh - var(--header-height));overflow-y:auto;overflow-x:hidden;flex-shrink:0}.resize-handle{position:relative;background:transparent;transition:background .15s ease}.resize-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:40px;border-radius:2px;background:var(--border);opacity:.5;transition:opacity .15s ease,background .15s ease}.resize-handle:hover{background:var(--menu-hover-bg)!important}.resize-handle:hover:after{opacity:.8!important;background:var(--accent)!important}.resize-handle:hover .resize-handle-indicator{opacity:.6!important}@media (min-width: 1600px){:root{--sidebar-width: 250px;--right-panel-width: 320px}}@media (min-width: 1400px) and (max-width: 1599px){:root{--sidebar-width: 230px;--right-panel-width: 280px}}@media (min-width: 1200px) and (max-width: 1399px){:root{--sidebar-width: 210px;--right-panel-width: 260px}}@media (min-width: 1024px) and (max-width: 1199px){:root{--sidebar-width: 200px;--right-panel-width: 240px}.domain-toggle{padding:10px 12px;font-size:12px}.domain-list li{padding:8px 10px;font-size:12px}.sidebar-menu li{padding:6px 8px;font-size:12px}}@media (min-width: 768px) and (max-width: 1023px){:root{--sidebar-width: 200px}.app-layout{grid-template-columns:var(--sidebar-width) 1fr}.app-right-panel{display:none}.domain-toggle{padding:10px 12px;font-size:12px}.domain-list li{padding:8px 10px;font-size:12px}.sidebar-menu li{padding:6px 8px;font-size:12px}}@media (min-width: 600px) and (max-width: 767px){:root{--sidebar-width: 60px}.app-layout{grid-template-columns:var(--sidebar-width) 1fr}.app-sidebar{padding:8px}.app-sidebar .sidebar-title,.app-sidebar .domain-toggle .domain-label,.app-sidebar .domain-toggle .chevron,.app-sidebar .sidebar-menu li span,.app-sidebar .domain-list{display:none}.app-sidebar .domain-toggle{justify-content:center;padding:10px}.app-sidebar .domain-toggle .domain-icon{gap:0}.app-sidebar .domain-icon svg{width:24px;height:24px}.app-sidebar .sidebar-menu li{justify-content:center;padding:8px}.app-sidebar .sidebar-menu li .icon{margin-right:0}.app-right-panel,.app-header .logo-text{display:none}}@media (max-width: 599px){.app-layout{grid-template-columns:1fr}.app-sidebar,.app-right-panel{display:none}.app-header{padding:0 12px}.app-header .logo{min-width:auto}.app-header .logo-text{display:none}.pill.search{max-width:none;flex:1}.btn-quick{padding:8px 12px;font-size:11px}.header-user .user-info{display:none}.app-main{padding:12px}}@media (any-pointer: coarse){.sidebar-menu li{min-height:44px;padding:12px 10px}.domain-list li{min-height:44px;padding:12px}.domain-toggle{min-height:48px;padding:12px}.pill,.btn-quick{min-height:40px;padding:8px 14px}.header-user{min-height:40px}.resize-handle{width:12px}.resize-handle:after{width:4px}.app-sidebar::-webkit-scrollbar{width:2px}}@media (any-pointer: coarse) and (min-width: 768px) and (max-width: 1023px){.app-right-panel{position:fixed;right:0;top:var(--header-height);height:calc(100dvh - var(--header-height));width:320px;z-index:100;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:block;background:var(--panel);box-shadow:-4px 0 16px #00000026;overflow-y:auto}.app-right-panel.tablet-visible{transform:translate(0)}.tablet-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;top:var(--header-height);background:#0000004d;z-index:99;opacity:0;pointer-events:none;transition:opacity .3s ease}.tablet-panel-backdrop.active{opacity:1;pointer-events:auto}}@media (horizontal-viewport-segments: 2){.app-layout{grid-template-columns:env(viewport-segment-width 0 0) 1fr}.app-sidebar{width:env(viewport-segment-width 0 0)!important}.app-main{margin-left:env(viewport-segment-left 1 0)}.app-right-panel{display:none}}.app-main{container-type:inline-size;container-name:main-content}:root[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f5f7fa;--bg-tertiary: #e9ecef;--bg-hover: #f8f9fa;--text-primary: #212529;--text-secondary: #6c757d;--text-muted: #adb5bd;--text-inverse: #ffffff;--border-color: #dee2e6;--border-light: #e9ecef;--sidebar-bg: linear-gradient(180deg, #1e3a8a 0%, #1e293b 100%);--sidebar-text: #e2e8f0;--sidebar-text-active: #ffffff;--sidebar-hover: rgba(255, 255, 255, .1);--sidebar-active: rgba(59, 130, 246, .3);--header-bg: #ffffff;--header-border: #e5e7eb;--header-shadow: 0 1px 3px rgba(0, 0, 0, .1);--card-bg: #ffffff;--card-border: #e5e7eb;--card-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24);--btn-primary-bg: #3b82f6;--btn-primary-hover: #2563eb;--btn-primary-text: #ffffff;--btn-secondary-bg: #6b7280;--btn-secondary-hover: #4b5563;--btn-danger-bg: #ef4444;--btn-danger-hover: #dc2626;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--info: #3b82f6;--badge-admin-bg: #dbeafe;--badge-admin-text: #1e40af;--badge-user-bg: #e0e7ff;--badge-user-text: #3730a3;--badge-manager-bg: #fef3c7;--badge-manager-text: #92400e;--table-header-bg: #f9fafb;--table-row-hover: #f3f4f6;--table-border: #e5e7eb;--input-bg: #ffffff;--input-border: #d1d5db;--input-focus: #3b82f6;--input-placeholder: #9ca3af}:root[data-theme=dark]{--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--bg-tertiary: #3d3d3d;--bg-hover: #404040;--text-primary: #e5e5e5;--text-secondary: #a3a3a3;--text-muted: #737373;--text-inverse: #1a1a1a;--border-color: #404040;--border-light: #333333;--sidebar-bg: linear-gradient(180deg, #0f172a 0%, #020617 100%);--sidebar-text: #94a3b8;--sidebar-text-active: #f1f5f9;--sidebar-hover: rgba(255, 255, 255, .05);--sidebar-active: rgba(59, 130, 246, .2);--header-bg: #262626;--header-border: #404040;--header-shadow: 0 1px 3px rgba(0, 0, 0, .3);--card-bg: #262626;--card-border: #404040;--card-shadow: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .4);--btn-primary-bg: #2563eb;--btn-primary-hover: #1d4ed8;--btn-primary-text: #ffffff;--btn-secondary-bg: #525252;--btn-secondary-hover: #404040;--btn-danger-bg: #dc2626;--btn-danger-hover: #b91c1c;--success: #059669;--warning: #d97706;--danger: #dc2626;--info: #2563eb;--badge-admin-bg: #1e3a8a;--badge-admin-text: #93c5fd;--badge-user-bg: #4338ca;--badge-user-text: #c7d2fe;--badge-manager-bg: #92400e;--badge-manager-text: #fcd34d;--table-header-bg: #1f1f1f;--table-row-hover: #333333;--table-border: #404040;--input-bg: #2d2d2d;--input-border: #525252;--input-focus: #3b82f6;--input-placeholder: #737373}*{transition:background-color .2s ease,color .2s ease,border-color .2s ease}:root[data-theme=dark] .rich-text-dark,:root[data-theme=dark] .rich-text-dark *,:root[data-theme=dark] .rich-text-dark span,:root[data-theme=dark] .rich-text-dark div,:root[data-theme=dark] .rich-text-dark p,:root[data-theme=dark] .rich-text-dark b,:root[data-theme=dark] .rich-text-dark i,:root[data-theme=dark] .rich-text-dark strong,:root[data-theme=dark] .rich-text-dark em,:root[data-theme=dark] .rich-text-dark font{color:inherit!important;background-color:transparent!important}:root[data-theme=dark] .rich-text-editor-dark,:root[data-theme=dark] .rich-text-editor-dark *,:root[data-theme=dark] .rich-text-editor-dark span,:root[data-theme=dark] .rich-text-editor-dark div,:root[data-theme=dark] .rich-text-editor-dark p,:root[data-theme=dark] .rich-text-editor-dark b,:root[data-theme=dark] .rich-text-editor-dark i,:root[data-theme=dark] .rich-text-editor-dark strong,:root[data-theme=dark] .rich-text-editor-dark em,:root[data-theme=dark] .rich-text-editor-dark font{color:inherit!important;background-color:transparent!important}body.presentation-mode td,body.presentation-mode p,body.presentation-mode span,body.presentation-mode li,body.presentation-mode input:not([type=checkbox]):not([type=radio]),body.presentation-mode textarea,body.presentation-mode select,body.presentation-mode canvas,body.presentation-mode svg text,body.presentation-mode pre,body.presentation-mode code,body.presentation-mode img,body.presentation-mode .card-value,body.presentation-mode .stat-value,body.presentation-mode .kpi-value,body.presentation-mode .kpi-stat-value,body.presentation-mode .ssc-kpi-value,body.presentation-mode [data-blur]{filter:blur(4px)!important;-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}body.presentation-mode th,body.presentation-mode h1,body.presentation-mode h2,body.presentation-mode h3,body.presentation-mode h4,body.presentation-mode h5,body.presentation-mode h6,body.presentation-mode label,body.presentation-mode legend,body.presentation-mode .app-sidebar,body.presentation-mode .app-sidebar *,body.presentation-mode .pane-header,body.presentation-mode .pane-header *,body.presentation-mode .tabs-wrap,body.presentation-mode .tabs-wrap *,body.presentation-mode [role=tab],body.presentation-mode [role=tab] *,body.presentation-mode button,body.presentation-mode button *,body.presentation-mode nav,body.presentation-mode nav *{filter:none!important;-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}body.presentation-mode td:hover,body.presentation-mode span:hover,body.presentation-mode p:hover,body.presentation-mode input:hover,body.presentation-mode textarea:hover{filter:blur(0px)!important}body.presentation-mode:after{content:"DEMO MODE";position:fixed;top:12px;right:12px;background:#ef4444d9;color:#fff;padding:4px 14px;border-radius:6px;font-size:13px;font-weight:700;letter-spacing:1px;z-index:99999;pointer-events:none}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-content:""}}}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-\[-8px\]{top:-8px;right:-8px;bottom:-8px;left:-8px}.inset-\[-15px\]{top:-15px;right:-15px;bottom:-15px;left:-15px}.top-1\/2{top:50%}.top-\[-20\%\]{top:-20%}.right-\[-10\%\]{right:-10%}.bottom-\[-10\%\]{bottom:-10%}.bottom-\[15\%\]{bottom:15%}.left-1\/2{left:50%}.left-\[-20\%\]{left:-20%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-full{grid-column:1/-1}.row-2{grid-row:2}.\!container{width:100%!important}.container{width:100%}.mx-auto{margin-inline:auto}.-mb-px{margin-bottom:-1px}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-\[60\%\]{height:60%}.h-\[80\%\]{height:80%}.h-\[136px\]{height:136px}.h-\[150px\]{height:150px}.h-\[200px\]{height:200px}.h-\[800px\]{height:800px}.h-full{height:100%}.max-h-\[90vh\]{max-height:90vh}.w-1\/4{width:25%}.w-2\/3{width:66.6667%}.w-\[60\%\]{width:60%}.w-\[80\%\]{width:80%}.w-\[136px\]{width:136px}.w-\[150px\]{width:150px}.w-\[800px\]{width:800px}.w-full{width:100%}.max-w-\[90vw\]{max-width:90vw}.min-w-\[220px\]{min-width:220px}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-45{rotate:-45deg}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--btn-border\)\]{border-color:var(--btn-border)}.border-\[var\(--error\)\]{border-color:var(--error)}.border-transparent{border-color:#0000}.bg-\[\#F8FAFC\]{background-color:#f8fafc}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--btn-bg\)\]{background-color:var(--btn-bg)}.bg-\[var\(--error\)\]{background-color:var(--error)}.bg-\[var\(--input-bg\)\]{background-color:var(--input-bg)}.bg-\[var\(--panel\)\]{background-color:var(--panel)}.bg-\[var\(--panel-2\)\]{background-color:var(--panel-2)}.bg-transparent{background-color:#0000}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[url\(\'https\:\/\/www\.transparenttextures\.com\/patterns\/concrete-wall\.png\'\)\]{background-image:url(https://www.transparenttextures.com/patterns/concrete-wall.png)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.text-\[10px\]{font-size:10px}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--btn-text\)\]{color:var(--btn-text)}.text-\[var\(--error\)\]{color:var(--error)}.text-\[var\(--muted\)\]{color:var(--muted)}.text-\[var\(--on-accent\)\]{color:var(--on-accent)}.text-\[var\(--success\)\]{color:var(--success)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--text-tertiary\)\]{color:var(--text-tertiary)}.text-transparent{color:#0000}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.placeholder-\[var\(--muted\)\]::-moz-placeholder{color:var(--muted)}.placeholder-\[var\(--muted\)\]::placeholder{color:var(--muted)}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.opacity-\[0\.03\]{opacity:.03}.mix-blend-multiply{mix-blend-mode:multiply}.shadow-\[0_8px_30px_rgba\(245\,158\,11\,0\.15\)\]{--tw-shadow:0 8px 30px var(--tw-shadow-color,#f59e0b26);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_10px_20px_rgba\(14\,165\,233\,0\.1\)\]{--tw-shadow:0 10px 20px var(--tw-shadow-color,#0ea5e91a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_15px_35px_-5px_rgba\(0\,0\,0\,0\.05\)\]{--tw-shadow:0 15px 35px -5px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_40px_-10px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 20px 40px -10px var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_50px_-12px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 20px 50px -12px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_30px_60px_-15px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 30px 60px -15px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow\)\]{--tw-shadow:var(--shadow);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-accent\)\]{--tw-shadow:var(--shadow-accent);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-error\)\]{--tw-shadow:var(--shadow-error);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-lg\)\]{--tw-shadow:var(--shadow-lg);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-md\)\]{--tw-shadow:var(--shadow-md);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-sm\)\]{--tw-shadow:var(--shadow-sm);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-success\)\]{--tw-shadow:var(--shadow-success);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur-\[100px\]{--tw-blur:blur(100px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-\[120px\]{--tw-blur:blur(120px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-1000{--tw-duration:1s;transition-duration:1s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (hover:hover){.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\:shadow-\[0_30px_60px_-12px_rgba\(16\,185\,129\,0\.15\)\]:is(:where(.group):hover *){--tw-shadow:0 30px 60px -12px var(--tw-shadow-color,#10b98126);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-hover\:shadow-\[0_40px_80px_-20px_rgba\(0\,0\,0\,0\.15\)\]:is(:where(.group):hover *){--tw-shadow:0 40px 80px -20px var(--tw-shadow-color,#00000026);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.peer-checked\:bg-\[var\(--accent\)\]:is(:where(.peer):checked~*){background-color:var(--accent)}.peer-focus\:ring-2:is(:where(.peer):focus~*){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peer-focus\:ring-\[var\(--accent\)\]:is(:where(.peer):focus~*){--tw-ring-color:var(--accent)}.peer-focus\:outline-none:is(:where(.peer):focus~*){--tw-outline-style:none;outline-style:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:top-\[2px\]:after{content:var(--tw-content);top:2px}.after\:left-\[2px\]:after{content:var(--tw-content);left:2px}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.peer-checked\:after\:translate-x-full:is(:where(.peer):checked~*):after{content:var(--tw-content);--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}@media (hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-\[1\.01\]:hover{scale:1.01}.hover\:border-\[var\(--btn-border-hover\)\]:hover{border-color:var(--btn-border-hover)}.hover\:bg-\[var\(--accent-hover\)\]:hover{background-color:var(--accent-hover)}.hover\:bg-\[var\(--btn-bg-hover\)\]:hover{background-color:var(--btn-bg-hover)}.hover\:bg-\[var\(--hover-bg\)\]:hover{background-color:var(--hover-bg)}.hover\:bg-\[var\(--panel-2\)\]:hover{background-color:var(--panel-2)}.hover\:text-\[var\(--text\)\]:hover{color:var(--text)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-\[var\(--shadow-lg\)\]:hover{--tw-shadow:var(--shadow-lg);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:brightness-90:hover{--tw-brightness:brightness(90%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[var\(--accent\)\]:focus{--tw-ring-color:var(--accent)}.focus\:ring-\[var\(--btn-border\)\]:focus{--tw-ring-color:var(--btn-border)}.focus\:ring-\[var\(--error\)\]:focus{--tw-ring-color:var(--error)}.focus\:ring-\[var\(--muted\)\]:focus{--tw-ring-color:var(--muted)}.focus\:ring-offset-1:focus{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:bg-\[var\(--panel-2\)\]:disabled{background-color:var(--panel-2)}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:active\:scale-100:disabled:active{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}:root{--bg-base:#eef2f6;--glass-bg:#ffffffa6;--glass-border:#fff6;--glass-refraction:#ffffff4d;--glass-shadow:0 8px 32px 0 #1f268712;--accent-cyan:oklch(60% .15 200);--accent-blue:oklch(55% .2 250);--text-primary:#1e293b;--text-secondary:#475569;--card-radius:20px;--noise:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");--bg:var(--bg-base);--panel:#fff;--panel-2:#f1f5f9;--text:var(--text-primary);--text-tertiary:#94a3b8;--text-muted:#64748b;--muted:#64748b;--label-muted:#94a3b8;--accent:#3b82f6;--accent-hover:#2563eb;--on-accent:#fff;--accent-alpha-5:#3b82f60d;--accent-alpha-10:#3b82f61a;--accent-alpha-20:#3b82f633;--accent-alpha-30:#3b82f64d;--accent-alpha-40:#3b82f666;--accent-alpha-50:#3b82f680;--error-alpha-10:#ef44441a;--error-alpha-30:#ef44444d;--primary:#3b82f6;--secondary:#64748b;--bg-primary:#fff;--bg-secondary:#f1f5f9;--sum-accent:#1d4ed8;--border:#e2e8f0;--border-light:#f1f5f9;--border-input:#c7d2fe;--resizer:#cbd5e1;--header:#fff;--input-bg:#fff;--table-header:#f8fafc;--hover-bg:#f1f5f9;--sheet-bg:#eff6ff;--success:#10b981;--success-bg:#dcfce7;--warning:#f59e0b;--warning-bg:#fef3c7;--error:#ef4444;--error-bg:#fee2e2;--info:#3b82f6;--accent-bg:#eff6ff;--btn-bg:#f1f5f9;--btn-border:#e2e8f0;--btn-text:#334155;--btn-bg-hover:#e2e8f0;--btn-border-hover:#cbd5e1;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d;--shadow-md:0 10px 15px -3px #0000000d,0 4px 6px -4px #0000000d;--shadow-lg:0 20px 25px -5px #0000000d,0 8px 10px -6px #0000000d;--shadow-xl:0 25px 50px -12px #00000026;--animate-fast:.15s;--animate-normal:.3s;--animate-slow:.5s;--accent-soft:var(--accent-alpha-10);--background:var(--panel-2);--blur-md:12px;--glass-highlight:#ffffff80;--font-mono:"SFMono-Regular",Consolas,"D2Coding","Courier New",monospace}[data-theme=dark]{--bg-base:#08090a;--glass-bg:#ffffff08;--glass-border:#ffffff14;--glass-refraction:#ffffff1f;--accent-cyan:oklch(75% .15 200);--accent-blue:oklch(60% .2 250);--text-primary:#fff;--text-secondary:#ffffffbf;--bg:var(--bg-base);--panel:#121212;--panel-2:#1e1e1e;--text:var(--text-primary);--text-tertiary:#64748b;--text-muted:#94a3b8;--muted:#94a3b8;--label-muted:#64748b;--border:var(--glass-border);--border-light:#ffffff0d;--border-input:#6366f180;--resizer:#475569;--header:#08090acc;--input-bg:#ffffff0d;--table-header:#ffffff05;--hover-bg:#ffffff0d;--sheet-bg:#0f172a;--btn-bg:#ffffff0d;--btn-border:var(--glass-border);--btn-text:#f1f5f9;--btn-bg-hover:#ffffff1a;--btn-border-hover:#fff3;--accent:#60a5fa;--accent-hover:#3b82f6;--accent-bg:#3b82f626;--on-accent:#fff;--sum-accent:#60a5fa;--accent-alpha-5:#60a5fa0d;--accent-alpha-10:#60a5fa1a;--accent-alpha-20:#60a5fa33;--accent-alpha-30:#60a5fa4d;--accent-alpha-40:#60a5fa66;--accent-alpha-50:#60a5fa80;--error-alpha-10:#ef444426;--error-alpha-30:#ef444459;--success-bg:#10b98133;--warning-bg:#f59e0b33;--error-bg:#ef444433;--primary:#60a5fa;--secondary:#94a3b8;--bg-primary:var(--panel);--bg-secondary:var(--panel-2);--glow-cyan:0 0 20px #06b6d426;--glow-blue:0 0 20px #3b82f626}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn var(--animate-normal)ease-out forwards}.animate-slide-up{animation:slideUp var(--animate-normal)ease-out forwards}.animate-scale-in{animation:scaleIn var(--animate-fast)ease-out forwards}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}[data-theme=dark]{--bg:#0f172a;--panel:#1e293b;--panel-2:#0b1120;--text:#f8fafc;--text-secondary:#cbd5e1;--text-tertiary:#64748b;--muted:#94a3b8;--label-muted:#64748b;--accent:#60a5fa;--accent-hover:#3b82f6;--on-accent:#fff;--sum-accent:#60a5fa;--border:#334155;--border-input:#6366f1;--resizer:#475569;--header:#1e293b;--input-bg:#0f172a;--table-header:#0f172a;--hover-bg:#334155;--sheet-bg:#172554;--btn-bg:#334155;--btn-border:#475569;--btn-text:#f1f5f9;--btn-bg-hover:#475569;--btn-border-hover:#64748b;--primary:#60a5fa;--secondary:#94a3b8;--bg-primary:#1e293b;--bg-secondary:#334155;--text-primary:#f8fafc}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,Helvetica Neue,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,sans-serif}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b899}::-webkit-scrollbar-corner{background:0 0}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#64748b80}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#64748bb3}*{scrollbar-width:thin;scrollbar-color:#94a3b866 transparent}[data-theme=dark] *{scrollbar-color:#64748b80 transparent}input,textarea,select,button{font:inherit;font-size:13px}input,textarea,select{border-color:var(--border-input)}input:focus,textarea:focus,select:focus{border-color:var(--accent)}.input{border:1px solid var(--border-input);background:var(--input-bg);color:var(--text);border-radius:8px;outline:none;padding:8px 12px;font-size:13px;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #3b82f626}[data-theme=dark] input[type=date],[data-theme=dark] input[type=datetime-local],[data-theme=dark] input[type=time]{color-scheme:dark}.select{border:1px solid var(--border-input);background:var(--input-bg);color:var(--text);cursor:pointer;border-radius:8px;outline:none;padding:8px 12px;font-size:13px;transition:border-color .2s,box-shadow .2s}.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #3b82f626}.table-container{scrollbar-width:thin}.table-container::-webkit-scrollbar{height:8px}.table-container::-webkit-scrollbar-track{background:0 0}.table-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}.slim-scrollbar{scrollbar-width:thin}.slim-scrollbar::-webkit-scrollbar{width:6px;height:6px}.slim-scrollbar::-webkit-scrollbar-track{background:0 0}.slim-scrollbar::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}.slim-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-root{flex-direction:column;height:100%;display:flex}.resizable-container{width:100%;height:100vh;display:flex;position:relative;overflow:hidden}.resizable-container .col{height:100%;overflow:auto}.resizable-container .left{background:var(--panel);border-right:1px solid var(--border)}.resizable-container .center{background:var(--panel-2);flex:auto;min-width:0;overflow:hidden}.resizable-container .right{background:var(--panel);border-left:1px solid var(--border)}.resizable-container .resizer{cursor:col-resize;background:var(--resizer);opacity:.8;z-index:2;flex:0 0 3px;width:3px}.resizable-container .resizer:hover{opacity:1}.pane{flex-direction:column;height:100%;display:flex}.pane.center{overflow:hidden}.pane-header{background:var(--header);border-bottom:1px solid var(--border);flex:0 0 44px;align-items:center;height:44px;min-height:44px;padding:0 12px;font-weight:600;display:flex}.pane.center{font-size:.95em}.pane.center .page-title h2{font-size:18px}.pane.center .table{font-size:13px}.pane.center .field input[type=text],.pane.center .field textarea,.pane.center .field select,.pane.center .subject-input,.pane.right .field input[type=text],.pane.right .field textarea,.pane.right .field select,.pane.right .subject-input{font-size:12px}.search-input{border:1px solid var(--border);color:var(--text);background:var(--panel);border-radius:12px;font-size:12px;line-height:20px;height:30px!important;padding:4px 12px!important}.search-input::-moz-placeholder{color:var(--text-secondary);opacity:.7}.search-input::placeholder{color:var(--text-secondary);opacity:.7}textarea.search-input{min-height:30px;line-height:1.5;height:auto!important;padding:8px 12px!important}.pane.right{overflow:hidden}.pane.right .pane-header,.pane.right h1,.pane.right h2,.pane.right h3,.pane.right p,.pane.right li,.pane.right .badge,.pane.right .card,.pane.right .muted,.pane.right .placeholder,.pane.right .table th,.pane.right .table td{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pane.right,.pane.right *{min-width:0}.menu{padding:8px}.menu ul{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.menu ul::-webkit-scrollbar{display:none}.menu button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:6px 8px;font-size:.9em;display:inline-flex}.menu button span{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.menu button:hover{background:var(--hover-bg)}.menu button.active{font-weight:600}.menu .submenu{flex-direction:column;gap:6px;margin:6px 0 0 8px;display:flex}.menu .submenu button{padding:4px 8px;font-size:.85em}.main-view{padding:3px}.pane.center .main-view{flex-direction:column;height:100%;min-height:0;display:flex}.main-view h1{margin:0 0 8px;font-size:20px}.empty-state{color:var(--muted);border:1px dashed var(--border);border-radius:8px;margin-top:12px;padding:12px}.placeholder{color:var(--muted);padding:12px}.btn{background:var(--accent);border:1px solid var(--accent);color:#fff;cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;display:inline-flex}.btn:hover{filter:brightness(1.05)}.muted{color:var(--muted)}.count-text{font-size:12px}.count-row{justify-content:flex-end;align-items:center;display:flex}.row-parent{background:#3b82f61a}.table-container{border:1px solid var(--border);border-radius:8px;max-height:60vh;margin-top:12px;overflow:auto}.table{border-collapse:collapse;width:-moz-max-content;width:max-content;min-width:100%;font-size:13px}.table th,.table td{border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;padding:6px 8px;overflow:hidden}.table thead th{background:var(--table-header);text-align:left;z-index:2;position:sticky;top:0}.table tfoot{z-index:3;position:sticky;bottom:0}.btn.secondary{border-color:var(--btn-border);color:var(--btn-text);background:0 0}.receivables-page{flex-direction:column;gap:16px;padding:12px 16px;display:flex}.receivables-page .page-title h1{margin:0;font-size:22px}.receivables-page .page-title p{color:var(--muted);margin:4px 0 0}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.filters-grid .field{flex-direction:column;gap:4px;display:flex}.filters-grid .field.actions{grid-column:span 2;align-items:center;gap:8px;display:flex}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.summary-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:flex-start;padding:12px 16px;display:flex}.summary-card strong{font-size:1.2em}.summary-card.highlight{background:#f8fafccc;border-color:#3b82f666}.table-panel{flex-direction:column;gap:12px;display:flex}.table-panel-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.pagination-controls{align-items:center;gap:8px;display:flex}.table-container.receivables-table{max-height:48vh}.receivables-table .highlight-cell{color:var(--sum-accent);font-weight:600}.json-modal-backdrop{z-index:100;background:#0f172aa6;justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.json-modal{background:var(--panel);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:12px;width:min(90vw,640px);max-width:min(90vw,640px);max-height:80vh;padding:16px;display:flex}.json-modal pre{background:var(--panel-2);white-space:pre-wrap;border-radius:8px;max-height:50vh;padding:12px;font-family:Pretendard Variable,Pretendard,Consolas,Courier New,monospace;font-size:13px;overflow:auto}.json-modal-actions{justify-content:flex-end;display:flex}.special-notes{flex-direction:column;gap:12px;display:flex}.special-notes-header{flex-shrink:0;justify-content:flex-end;display:flex}.special-notes-list{flex-direction:column;gap:12px;display:flex}.credit-grade-badge{color:#fff;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.credit-grade-badge .grade-text{font-size:22px;font-weight:800;line-height:1}.credit-grade-badge .grade-label{opacity:.8;margin-top:2px;font-size:9px}.credit-alert-banner{border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.credit-alert-banner.danger{background:var(--error-bg,#fee2e2);color:var(--error);border-left:3px solid var(--error)}.credit-alert-banner.warning{background:var(--warning-bg,#fef3c7);color:#92400e;border-left:3px solid var(--warning)}.credit-status-pill{border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.special-note-card{border:1px solid var(--border);background:var(--panel);border-radius:12px;flex-direction:column;gap:10px;width:100%;min-width:0;padding:14px;display:flex;position:relative}.note-actions{gap:6px;display:flex;position:absolute;top:10px;right:10px}.note-top{align-items:center;gap:10px;display:flex}.importance-dot{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;font-weight:600;display:inline-flex}.importance-dot.level-high{background:#ef4444}.importance-dot.level-medium{background:#f97316}.importance-dot.level-low{background:#10b981}.importance-dot.level-unknown{background:var(--border)}.note-meta-info{flex-direction:column;gap:4px;display:flex}.note-type{font-weight:600}.note-title{margin:0;font-size:15px;font-weight:700}.note-date{color:var(--muted);font-size:14px}.note-edit-button{background:var(--panel-2);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;transition:background .2s;display:flex}.note-edit-button:hover{background:var(--hover-bg)}.note-delete-button{background:var(--panel-2);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:inline-flex}.note-delete-button:hover{background:var(--hover-bg)}.note-content{margin:0;font-size:14px;line-height:1.4}.special-note-meta{flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.meta-pill{background:var(--panel-2);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.meta-icon{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;display:inline-flex}.meta-pill span,.meta-pill strong{font-weight:600}.edit-icon{background:var(--sum-accent)}.user-icon{background:var(--accent)}.overlay-modal{z-index:120;background:#0f172aa6;justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.overlay-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;width:min(520px,90vw);padding:24px;position:relative}.overlay-card h4{margin:0 0 8px}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:20px;position:absolute;top:12px;right:12px}.special-note-form{flex-direction:column;gap:10px;display:flex}.special-note-form label{flex-direction:column;gap:4px;font-size:.9em;font-weight:600;display:flex}.special-note-form input,.special-note-form select,.special-note-form textarea{border:1px solid var(--border);font:inherit;background:var(--input-bg);border-radius:8px;padding:10px 12px}.special-note-form textarea{min-height:160px}.special-note-form footer{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.confirm-overlay{z-index:130;background:#0f172aa6;justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.confirm-card{background:var(--panel);border:1px solid var(--border);text-align:center;border-radius:12px;width:min(360px,90vw);padding:18px}.confirm-card p{margin:0 0 16px;line-height:1.6}.confirm-actions{justify-content:flex-end;gap:10px;display:flex}.toast-message{background:var(--panel);border:1px solid var(--border);z-index:140;border-radius:10px;align-items:center;gap:12px;padding:10px 14px;display:inline-flex;position:fixed;top:12px;right:12px;box-shadow:0 8px 18px #0f172a40}.toast-message button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:16px}.table tfoot tr td{background:var(--table-header)}@supports (color:color-mix(in lab,red,red)){.table tfoot tr td{background:color-mix(in oklab,var(--table-header),black 12%)}}[data-theme=light] .table tfoot tr.sum-row-apply td,[data-theme=light] .table tfoot tr.sum-row-current td{background:var(--table-header)}@supports (color:color-mix(in lab,red,red)){[data-theme=light] .table tfoot tr.sum-row-apply td,[data-theme=light] .table tfoot tr.sum-row-current td{background:color-mix(in oklab,var(--table-header),black 12%)}}.table tfoot tr.sum-row-current td{border-top:2px solid var(--accent)}.table tfoot tr.sum-row-apply td{border-top:0}[data-theme=dark] .table tfoot tr td{background:var(--table-header)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .table tfoot tr td{background:color-mix(in oklab,var(--table-header),white 8%)}}.table tfoot tr.sum-row td{border-top:2px solid var(--accent)}.sum-head,.sum-cell>div:first-child,.sum-cell .muted{color:var(--sum-accent);font-weight:700}.req-dot{vertical-align:middle;background:#ef4444;border-radius:50%;width:6px;height:6px;margin-left:6px;display:inline-block}.stage-badge{box-sizing:border-box;border:1px solid var(--accent);width:12px;height:12px;color:var(--accent);background:var(--panel-2);vertical-align:middle;text-align:center;justify-content:center;align-items:center;font-size:8px;line-height:1;display:inline-flex;overflow:hidden;border-radius:50%!important;padding:0!important}[data-theme=dark] .stage-badge{background:var(--panel-2)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .stage-badge{background:color-mix(in oklab,var(--panel-2),white 4%)}}.table tbody tr{cursor:pointer;transition:background-color .12s,color .12s}.table tbody tr:hover{background:var(--accent);color:var(--on-accent)}.table tbody tr:hover td{color:var(--on-accent)}.table tbody tr.selected{border-left:3px solid var(--accent);background:#3b82f62e}[data-theme=dark] .table tbody tr.selected{border-left:3px solid var(--accent);background:#3b82f647}.inv-row td{color:#2563eb}[data-theme=dark] .inv-row td{color:#60a5fa}.transactions tbody tr.group-start td{border-top:1px solid var(--warn)}.transactions tbody tr.same-invoice td.col-invno,.transactions tbody tr.same-invoice td.col-invdate,.transactions tbody tr.no-bottom td{border-bottom-color:#0000}.transactions tbody tr.sep-row td{border:0;border-top:1px solid var(--warn);padding:0}.context-menu{z-index:9999;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:4px;position:fixed;box-shadow:0 10px 30px #00000059}.context-item{text-align:left;width:100px;color:var(--text);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 6px;display:block;overflow:hidden}.context-item:hover{background:var(--hover-bg);border-color:var(--accent)}.error{color:#fca5a5;margin-top:10px}.progress{background:var(--panel-2);border:1px solid var(--border);border-radius:6px;width:100%;height:10px;overflow:hidden}.progress-bar{background:var(--accent);width:0%;height:100%;transition:width .2s}.tabs{border-bottom:1px solid var(--border);gap:8px;display:flex}.tab{color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;border-bottom:none;border-radius:8px 8px 0 0;padding:4px 10px}.tab.active{background:var(--panel-2);border-color:var(--accent)}.c360-tabs .tab{font-size:12px;font-weight:400}.c360-tabs .tab.active{font-weight:700}.c360,.c360-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.c360-panel .c360-tab-panel-wrapper{scrollbar-width:thin;flex:1;min-height:0;max-height:none;padding-bottom:16px;padding-right:6px;overflow-y:auto}.c360-panel .c360-tab-panel-wrapper::-webkit-scrollbar{width:4px;height:0}.c360-panel .c360-tab-panel-wrapper::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.c360-panel .c360-tab-panel-wrapper::-webkit-scrollbar-track{background:0 0}.c360-tab-panel{flex-direction:column;display:flex}.activity-edit-panel{flex-direction:column;padding:6px;display:flex}.activity-edit-panel .tabs{gap:4px;margin-bottom:4px}.activity-edit-panel .tab{padding:3px 8px;font-size:11px}.activity-form-wrapper{padding:4px 0 0}.activity-form-wrapper .field{gap:2px}.activity-form-wrapper .form-grid{gap:4px}.activity-form-wrapper label{font-size:10px;font-weight:600}.activity-form-wrapper input,.activity-form-wrapper select,.activity-form-wrapper textarea{min-height:24px;padding:3px 5px;font-size:10px}.activity-form-wrapper textarea{resize:none;min-height:32px;max-height:32px}.activity-form-wrapper .controls{margin-top:6px}.activity-form-wrapper .btn{height:26px;padding:3px 10px;font-size:10px}.activity-form-wrapper .checkbox-accent{width:14px;height:14px}.activity-form-wrapper .datetime-wrapper{position:relative}.activity-form-wrapper .datetime-placeholder{font-size:10px}.sales-activity-panel{flex-direction:column;max-height:calc(100vh - 350px);display:flex}.sales-activity-content{scrollbar-width:thin;padding-top:12px;padding-right:6px;overflow-y:auto}.sales-activity-content::-webkit-scrollbar{width:6px}.sales-activity-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.sales-activity-panel .field{gap:4px}.sales-activity-panel label{font-size:11px}.sales-activity-panel input,.sales-activity-panel select,.sales-activity-panel textarea{min-height:28px;padding:4px 6px;font-size:11px}.sales-activity-panel textarea{resize:vertical;min-height:60px}.activity-plan-page{flex-direction:column;gap:8px;height:calc(100vh - 16px);max-height:calc(100vh - 16px);padding:8px;display:flex;overflow:hidden}.activity-plan-page>.card{flex-shrink:0;margin-bottom:0!important}.activity-kpi-grid{flex-shrink:0;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.kpi-card{padding:6px 10px!important}.kpi-label{color:var(--text-muted);margin-bottom:2px;font-size:10px;font-weight:600}.kpi-value{align-items:baseline;gap:4px;display:flex}.kpi-number{color:var(--accent);font-size:22px;font-weight:700}.kpi-unit{color:var(--text-muted);font-size:14px}.kpi-desc{color:var(--text-muted);margin-top:2px;font-size:9px}.kpi-stats{align-items:center;gap:8px;display:flex}.kpi-stat-label{margin-bottom:2px;font-size:9px}.kpi-stat-value{font-size:18px;font-weight:700}.kpi-arrow{color:var(--text-muted);font-size:16px}.kpi-progress{background:var(--border);border-radius:999px;height:3px;margin-top:6px;overflow:hidden}.kpi-progress>div{height:100%;transition:width .3s}.activity-plan-page>.card:last-child{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden!important}.c360-demand-scroll{max-height:none}.c360-demand-stack{flex-direction:column;gap:12px;padding-bottom:12px;display:flex}.sales-activities-panel{flex:1;min-height:0;padding-bottom:12px;padding-right:6px;overflow-y:auto}.sales-activities-panel::-webkit-scrollbar{width:6px}.sales-activities-panel::-webkit-scrollbar-track{background:0 0}.sales-activities-panel::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.page-title{background:var(--panel);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;min-height:58px;margin-bottom:12px;padding:14px 18px;display:flex;box-shadow:0 10px 30px #00000014}.page-title h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:20px;overflow:hidden}.meta{color:var(--muted);gap:8px;font-size:12px;display:flex}.badge{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.badge-primary{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.badge-success{background:var(--success);border-color:var(--success);color:var(--on-accent)}.badge-warning{background:var(--warning);border-color:var(--warning);color:var(--on-accent)}.badge-error{background:var(--error);border-color:var(--error);color:var(--on-accent)}.badge-info-light{background:var(--info-bg,#dbeafe);border-color:var(--info-bg,#dbeafe);color:var(--info,#1d4ed8)}.badge-warning-light{background:var(--warning-bg,#fef3c7);border-color:var(--warning-bg,#fef3c7);color:var(--warning,#b45309)}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;margin-top:8px;padding:10px;box-shadow:0 10px 30px #00000040}.activity-form-card{min-height:240px}.card:has(.form-grid),.card:has(.field){background:var(--panel-2)}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.inline-field{grid-template-columns:140px minmax(0,1fr);align-items:center;-moz-column-gap:8px;column-gap:8px;display:grid}.inline-field label{margin:0}.inline-field input,.inline-field select,.inline-field textarea{width:100%}.inline-four{grid-template-columns:140px minmax(0,1fr) 140px minmax(0,1fr);align-items:center;-moz-column-gap:8px;column-gap:8px;display:grid}.inline-four label{margin:0}.field label,.inline-field label,label .muted{color:var(--muted);font-size:12px}.field input[type=text],.field input[type=number],.field input[type=date],.field input[type=time],.field input[type=datetime-local],.field textarea,.field select{background:var(--input-bg);width:100%;color:var(--text);border:1px solid var(--border);border-radius:12px;outline:none;padding:12px 14px;font-size:12px;transition:border-color .2s,box-shadow .2s;display:block}.field input[type=text],.field input[type=number],.field input[type=date],.field input[type=time],.field input[type=datetime-local],.field select{padding:8px 12px}.field textarea{resize:vertical;min-height:120px}.field input:focus,.field textarea:focus,.field select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb40}.row-2{grid-column:span 2}.controls{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.cal-events{flex-direction:column;gap:4px;display:flex}.cal-pill{border:1px solid var(--accent);color:var(--text);cursor:pointer;background:#3b82f626;border-radius:6px;align-items:center;gap:6px;min-width:0;padding:2px 6px;font-size:12px;display:inline-flex}.cal-pill .time{color:var(--muted)}.cal-pill .subj{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.cal-pill.status-scheduled{border-color:var(--accent);background:#3b82f626}.cal-pill.status-completed{background:#10b98126;border-color:#10b981}.cal-pill.status-canceled{background:#ef444426;border-color:#ef4444}.cal-pill.status-no_show{background:#f59e0b26;border-color:#f59e0b}.cal-pill.status-region{background:#10b9812e;border-color:#10b981a6}.cal-pill.category-CLAIM{background:#ef444426;border-color:#ef4444}.cal-pill.category-IQC{background:#3b82f626;border-color:#3b82f6}.cal-pill.category-PRODUCTION{background:#22c55e26;border-color:#22c55e}.cal-pill.category-DEVELOPMENT{background:#a855f726;border-color:#a855f7}.qa-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.qa-status-dot.status-PLANNED{background:#6b7280}.qa-status-dot.status-IN_PROGRESS{background:#3b82f6}.qa-status-dot.status-COMPLETED{background:#22c55e}.qa-status-dot.status-CANCELED{background:#6b7280}.qa-status-dot.status-OVERDUE{background:#ef4444}.card input,.card textarea,.card select{background:var(--input-bg);color:var(--text)}input[readonly],input:disabled,select:disabled,textarea[readonly],textarea:disabled,.subject-input[readonly],.subject-input:disabled{color:var(--muted);border-color:var(--border);cursor:not-allowed;background:var(--panel-2)!important}.card .field.row-2 input[type=text]{background:var(--input-bg);border:1px solid var(--border);border-radius:12px}.btn{background:var(--btn-bg);border:1px solid var(--btn-border);color:var(--btn-text);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.btn:hover{background:var(--btn-bg-hover);border-color:var(--btn-border-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.btn-primary:hover{filter:brightness(1.1)}.btn-secondary{background:var(--bg-secondary);border-color:var(--border);color:var(--text)}.btn-secondary:hover{background:var(--hover-bg)}.btn-error{background:var(--error);border-color:var(--error);color:var(--on-accent)}.btn-error:hover{filter:brightness(1.1)}.btn-icon{justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.icon{width:16px;height:16px}[data-theme=dark] img.icon{filter:invert(.85)}.icon-lg{width:24px;height:24px}.icon-button{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.icon-button:focus-visible{border-radius:999px;outline:none;box-shadow:0 0 0 3px #93c5fd73}.icon-button[aria-disabled=true]{opacity:.5;pointer-events:none}[data-theme=dark] .icon-button .icon{background:var(--panel);border:1px solid var(--panel);border-radius:4px}.calendar-scroll{-ms-overflow-style:none;scrollbar-width:none;overflow:hidden auto}.calendar-scroll::-webkit-scrollbar{width:0;height:0;display:none}.btn-plain{color:var(--btn-text);cursor:pointer;background:0 0;border:none}.btn-plain:hover{opacity:.8}.btn-plain:focus-visible{border-radius:999px;outline:none;box-shadow:0 0 0 3px #93c5fd73}.no-focus-ring:focus-visible{box-shadow:none!important;outline:none!important}.btn-ghost{border:1px solid var(--btn-border);color:var(--btn-text);background:0 0}.btn-ghost:hover{background:var(--btn-bg-hover)}.assign-input{background:var(--input-bg);height:28px;color:var(--text);border:1px solid var(--border);border-radius:8px;outline:none;padding:4px 8px;font-size:12px}.assign-input:focus{border-color:#cbd5e1;box-shadow:0 0 0 2px #94a3b840}.btn-accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-accent:hover{filter:brightness(1.05)}.btn-3d{--_c:var(--btn-3d-color,var(--accent));--_text:var(--btn-3d-text,var(--on-accent));--_border:var(--_c)}@supports (color:color-mix(in lab,red,red)){.btn-3d{--_border:color-mix(in oklab,var(--_c),black 12%)}}.btn-3d{--_shadow:var(--_c)}@supports (color:color-mix(in lab,red,red)){.btn-3d{--_shadow:color-mix(in oklab,var(--_c),black 40%)}}.btn-3d{background-color:var(--_c);color:var(--_text);border-color:var(--_border);box-shadow:0 6px 0 var(--_shadow),0 10px 20px #00000026;background-image:linear-gradient(#ffffff1a,#0000000f);transition:transform 50ms,box-shadow 50ms,filter .2s;transform:translateY(0)}.btn-3d:hover{filter:brightness(1.03)}.btn-3d:active{box-shadow:0 4px 0 var(--_shadow),0 6px 12px #00000026;transform:translateY(2px)}.btn-cta{--btn-3d-color:var(--cta);--btn-3d-text:var(--on-cta);background-color:var(--cta);color:var(--on-cta);border-color:var(--cta)}@supports (color:color-mix(in lab,red,red)){.btn-cta{border-color:color-mix(in oklab,var(--cta),black 12%)}}.btn-card{--btn-3d-color:var(--panel);--btn-3d-text:var(--text);background-color:var(--panel);color:var(--text);border-color:var(--border)}.btn-card.btn-3d{box-shadow:0 12px 28px -8px #00000040,0 8px 12px -6px #0000002e}.btn-card.btn-3d:active{box-shadow:0 10px 22px -10px #00000038,0 6px 10px -8px #0000002e}.segmented{border:1px solid var(--border);border-radius:999px;align-items:center;gap:0;display:inline-flex;overflow:hidden}.segmented .seg{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;gap:6px;padding:4px 12px;display:inline-flex}.segmented .seg input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:0;height:0;margin:0}.segmented .seg.selected{background:var(--btn-bg-hover);border-left:1px solid var(--border);border-right:1px solid var(--border);font-weight:700}.success{color:#10b981;font-size:12px}.form-msg{margin-top:8px;font-size:12px}.toast{z-index:5000;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:12px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:inline-flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0000002e}.toast-success{color:#10b981}.context-menu,.context-menu .table{font-size:11px}.field input[type=text],.field input[type=datetime-local],.field select{height:36px}.subject-input{background:var(--input-bg);width:100%;height:36px;color:var(--text);border:1px solid var(--border);border-radius:12px;padding:8px 12px;font-size:13px}.datetime-wrapper{position:relative}.datetime-wrapper .datetime-placeholder{color:var(--muted);pointer-events:none;font-size:12px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.datetime-wrapper input.empty::-webkit-datetime-edit{color:#0000}.datetime-wrapper input.empty::-webkit-datetime-edit-year-field{color:#0000}.datetime-wrapper input.empty::-webkit-datetime-edit-month-field{color:#0000}.datetime-wrapper input.empty::-webkit-datetime-edit-day-field{color:#0000}.datetime-wrapper input.empty::-webkit-datetime-edit-hour-field{color:#0000}.datetime-wrapper input.empty::-webkit-datetime-edit-minute-field{color:#0000}.datetime-wrapper input.empty::-webkit-datetime-edit-ampm-field{color:#0000}.compact-form .subject-input,.compact-form .field input[type=text],.compact-form .field select{height:26px;padding:6px 10px;font-size:12px}.compact-form .field{flex-direction:row;align-items:center;gap:8px}.compact-form .field label{white-space:nowrap;text-align:right;min-width:110px}.compact-form .field .subject-input,.compact-form .field input[type=text],.compact-form .field select{flex:auto}.plan-compact .subject-input{height:28px;padding:6px 10px;font-size:12px}.plan-compact .field input[type=text],.plan-compact .field input[type=datetime-local],.plan-compact .field select{height:28px;padding:4px 8px;font-size:12px}.plan-compact .field{gap:6px}.plan-compact .field label{font-size:12px}.plan-compact-card{padding:8px!important}.plan-compact-card .controls .btn{padding:6px 10px;font-size:12px}.checkbox-accent{accent-color:var(--accent)}.week-cell{transition:background-color .12s}.week-cell:hover{background:var(--hover-bg)}.theme-toggle{border:1px solid var(--border);background:var(--panel-2);cursor:pointer;border-radius:999px;justify-content:flex-start;align-items:center;width:56px;height:28px;padding:0;transition:background .2s,border-color .2s,box-shadow .2s;display:inline-flex;position:relative}.theme-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px #93c5fd73}.theme-toggle .thumb{background:var(--accent);width:24px;height:24px;color:var(--on-accent);border-radius:999px;justify-content:center;align-items:center;transition:transform .2s;display:inline-flex;position:absolute;top:2px;left:2px}.theme-toggle .icon{width:14px;height:14px}[data-theme=dark] .theme-toggle .thumb{transform:translate(28px)}.mobile-drawer{z-index:50;position:fixed;top:0;right:0;bottom:0;left:0}.mobile-drawer-backdrop{background:#00000059;position:absolute;top:0;right:0;bottom:0;left:0}.mobile-drawer-panel{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;width:85vw;max-width:340px;height:100%;animation:.2s slideIn;display:flex;position:absolute;top:0;left:0;box-shadow:0 10px 30px #00000059}@keyframes slideIn{0%{opacity:.8;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@media (max-width:768px){.page-title{border-left:none;border-right:none;border-radius:0;margin:0}.form-grid{grid-template-columns:1fr}.row-2{grid-column:span 1}.table-container{max-height:50vh}}.compact{font-size:11px}.compact .page-title h2{font-size:12px}.compact .table{font-size:10px}.compact .table th,.compact .table td{padding:3px 5px}.compact .assign-input{width:60px;height:22px;padding:2px 4px}.compact .search-input{width:60px;height:24px;font-size:.6em}.compact .search-input option{font-size:inherit}.compact .btn{padding:3px 6px;font-size:11px}.compact .muted{font-size:10px!important}.compact .form-label{font-size:12px!important}.sticky-thead thead th{z-index:2;background:var(--bg-secondary);box-shadow:inset 0 -1px 0 var(--border);position:sticky;top:0}.grade-edit-cell{cursor:pointer;border-bottom:2px dotted var(--text-secondary);border-radius:5px;align-items:center;gap:3px;padding:2px 4px;transition:background .12s,border-color .12s;display:inline-flex}.grade-edit-cell:hover{background:var(--hover-bg);border-bottom-color:var(--primary)}.grade-edit-cell:focus-visible{outline:2px solid var(--primary);outline-offset:1px}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}.ag-filter-panel-buttons{display:flex;justify-content:flex-end;overflow:hidden;padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding) 0;flex-wrap:wrap;gap:var(--ag-widget-vertical-spacing) var(--ag-widget-horizontal-spacing)}.ag-filter-panel-buttons-button{line-height:1.5}.ag-filter-panel .ag-standard-button.ag-filter-panel-buttons-apply-button{color:var(--ag-filter-panel-apply-button-color);background-color:var(--ag-filter-panel-apply-button-background-color)}.ag-filter-panel>*:where(:last-child){padding-bottom:var(--ag-widget-container-vertical-padding)}.ag-row.ag-row-pinned-source{color:var(--ag-pinned-source-row-text-color);background-color:var(--ag-pinned-source-row-background-color);font-weight:var(--ag-pinned-source-row-font-weight)}.ag-row.ag-row-pinned{color:var(--ag-pinned-row-text-color);background-color:var(--ag-pinned-row-background-color);font-weight:var(--ag-pinned-row-font-weight)}.ag-measurement-container{--ag-legacy-styles-loaded: "true"}.ag-icon{font-family:var(--ag-icon-font-family);font-weight:var(--ag-icon-font-weight);color:var(--ag-icon-font-color);font-size:var(--ag-icon-size);line-height:var(--ag-icon-size);font-style:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:var(--ag-icon-size);height:var(--ag-icon-size);position:relative}.ag-icon:before{content:"";font-family:inherit}.ag-icon:after{background:transparent var(--ag-icon-image, none) center/contain no-repeat;display:var(--ag-icon-image-display);opacity:var(--ag-icon-image-opacity, .9);position:absolute;top:0;right:0;bottom:0;left:0;content:""}.ag-icon-aggregation{font-family:var(--ag-icon-font-family-aggregation, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-aggregation, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-aggregation, var(--ag-icon-font-color))}.ag-icon-aggregation:before{content:var(--ag-icon-font-code-aggregation, "");display:var(--ag-icon-font-display-aggregation, var(--ag-icon-font-display))}.ag-icon-aggregation:after{background-image:var(--ag-icon-image-aggregation, var(--ag-icon-image));display:var(--ag-icon-image-display-aggregation, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-aggregation, var(--ag-icon-image-opacity, .9))}.ag-icon-arrows{font-family:var(--ag-icon-font-family-arrows, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-arrows, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-arrows, var(--ag-icon-font-color))}.ag-icon-arrows:before{content:var(--ag-icon-font-code-arrows, "");display:var(--ag-icon-font-display-arrows, var(--ag-icon-font-display))}.ag-icon-arrows:after{background-image:var(--ag-icon-image-arrows, var(--ag-icon-image));display:var(--ag-icon-image-display-arrows, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-arrows, var(--ag-icon-image-opacity, .9))}.ag-icon-asc{font-family:var(--ag-icon-font-family-asc, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-asc, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-asc, var(--ag-icon-font-color))}.ag-icon-asc:before{content:var(--ag-icon-font-code-asc, "");display:var(--ag-icon-font-display-asc, var(--ag-icon-font-display))}.ag-icon-asc:after{background-image:var(--ag-icon-image-asc, var(--ag-icon-image));display:var(--ag-icon-image-display-asc, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-asc, var(--ag-icon-image-opacity, .9))}.ag-icon-aasc{font-family:var(--ag-icon-font-family-aasc, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-aasc, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-aasc, var(--ag-icon-font-color))}.ag-icon-aasc:before{content:var(--ag-icon-font-code-aasc, "");display:var(--ag-icon-font-display-aasc, var(--ag-icon-font-display))}.ag-icon-aasc:after{background-image:var(--ag-icon-image-aasc, var(--ag-icon-image));display:var(--ag-icon-image-display-aasc, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-aasc, var(--ag-icon-image-opacity, .9))}.ag-icon-adesc{font-family:var(--ag-icon-font-family-adesc, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-adesc, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-adesc, var(--ag-icon-font-color))}.ag-icon-adesc:before{content:var(--ag-icon-font-code-adesc, "");display:var(--ag-icon-font-display-adesc, var(--ag-icon-font-display))}.ag-icon-adesc:after{background-image:var(--ag-icon-image-adesc, var(--ag-icon-image));display:var(--ag-icon-image-display-adesc, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-adesc, var(--ag-icon-image-opacity, .9))}.ag-icon-cancel{font-family:var(--ag-icon-font-family-cancel, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-cancel, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-cancel, var(--ag-icon-font-color))}.ag-icon-cancel:before{content:var(--ag-icon-font-code-cancel, "");display:var(--ag-icon-font-display-cancel, var(--ag-icon-font-display))}.ag-icon-cancel:after{background-image:var(--ag-icon-image-cancel, var(--ag-icon-image));display:var(--ag-icon-image-display-cancel, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-cancel, var(--ag-icon-image-opacity, .9))}.ag-icon-chart{font-family:var(--ag-icon-font-family-chart, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-chart, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-chart, var(--ag-icon-font-color))}.ag-icon-chart:before{content:var(--ag-icon-font-code-chart, "");display:var(--ag-icon-font-display-chart, var(--ag-icon-font-display))}.ag-icon-chart:after{background-image:var(--ag-icon-image-chart, var(--ag-icon-image));display:var(--ag-icon-image-display-chart, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-chart, var(--ag-icon-image-opacity, .9))}.ag-icon-checkbox-checked{font-family:var(--ag-icon-font-family-checkbox-checked, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-checkbox-checked, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-checkbox-checked, var(--ag-icon-font-color))}.ag-icon-checkbox-checked:before{content:var(--ag-icon-font-code-checkbox-checked, "");display:var(--ag-icon-font-display-checkbox-checked, var(--ag-icon-font-display))}.ag-icon-checkbox-checked:after{background-image:var(--ag-icon-image-checkbox-checked, var(--ag-icon-image));display:var(--ag-icon-image-display-checkbox-checked, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-checkbox-checked, var(--ag-icon-image-opacity, .9))}.ag-icon-checkbox-indeterminate{font-family:var(--ag-icon-font-family-checkbox-indeterminate, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-checkbox-indeterminate, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-checkbox-indeterminate, var(--ag-icon-font-color))}.ag-icon-checkbox-indeterminate:before{content:var(--ag-icon-font-code-checkbox-indeterminate, "");display:var(--ag-icon-font-display-checkbox-indeterminate, var(--ag-icon-font-display))}.ag-icon-checkbox-indeterminate:after{background-image:var(--ag-icon-image-checkbox-indeterminate, var(--ag-icon-image));display:var(--ag-icon-image-display-checkbox-indeterminate, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-checkbox-indeterminate, var(--ag-icon-image-opacity, .9))}.ag-icon-checkbox-unchecked{font-family:var(--ag-icon-font-family-checkbox-unchecked, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-checkbox-unchecked, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-checkbox-unchecked, var(--ag-icon-font-color))}.ag-icon-checkbox-unchecked:before{content:var(--ag-icon-font-code-checkbox-unchecked, "");display:var(--ag-icon-font-display-checkbox-unchecked, var(--ag-icon-font-display))}.ag-icon-checkbox-unchecked:after{background-image:var(--ag-icon-image-checkbox-unchecked, var(--ag-icon-image));display:var(--ag-icon-image-display-checkbox-unchecked, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-checkbox-unchecked, var(--ag-icon-image-opacity, .9))}.ag-icon-color-picker{font-family:var(--ag-icon-font-family-color-picker, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-color-picker, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-color-picker, var(--ag-icon-font-color))}.ag-icon-color-picker:before{content:var(--ag-icon-font-code-color-picker, "");display:var(--ag-icon-font-display-color-picker, var(--ag-icon-font-display))}.ag-icon-color-picker:after{background-image:var(--ag-icon-image-color-picker, var(--ag-icon-image));display:var(--ag-icon-image-display-color-picker, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-color-picker, var(--ag-icon-image-opacity, .9))}.ag-icon-columns{font-family:var(--ag-icon-font-family-columns, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-columns, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-columns, var(--ag-icon-font-color))}.ag-icon-columns:before{content:var(--ag-icon-font-code-columns, "");display:var(--ag-icon-font-display-columns, var(--ag-icon-font-display))}.ag-icon-columns:after{background-image:var(--ag-icon-image-columns, var(--ag-icon-image));display:var(--ag-icon-image-display-columns, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-columns, var(--ag-icon-image-opacity, .9))}.ag-icon-contracted{font-family:var(--ag-icon-font-family-contracted, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-contracted, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-contracted, var(--ag-icon-font-color))}.ag-icon-contracted:before{content:var(--ag-icon-font-code-contracted, "");display:var(--ag-icon-font-display-contracted, var(--ag-icon-font-display))}.ag-icon-contracted:after{background-image:var(--ag-icon-image-contracted, var(--ag-icon-image));display:var(--ag-icon-image-display-contracted, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-contracted, var(--ag-icon-image-opacity, .9))}.ag-icon-copy{font-family:var(--ag-icon-font-family-copy, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-copy, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-copy, var(--ag-icon-font-color))}.ag-icon-copy:before{content:var(--ag-icon-font-code-copy, "");display:var(--ag-icon-font-display-copy, var(--ag-icon-font-display))}.ag-icon-copy:after{background-image:var(--ag-icon-image-copy, var(--ag-icon-image));display:var(--ag-icon-image-display-copy, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-copy, var(--ag-icon-image-opacity, .9))}.ag-icon-cross{font-family:var(--ag-icon-font-family-cross, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-cross, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-cross, var(--ag-icon-font-color))}.ag-icon-cross:before{content:var(--ag-icon-font-code-cross, "");display:var(--ag-icon-font-display-cross, var(--ag-icon-font-display))}.ag-icon-cross:after{background-image:var(--ag-icon-image-cross, var(--ag-icon-image));display:var(--ag-icon-image-display-cross, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-cross, var(--ag-icon-image-opacity, .9))}.ag-icon-csv{font-family:var(--ag-icon-font-family-csv, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-csv, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-csv, var(--ag-icon-font-color))}.ag-icon-csv:before{content:var(--ag-icon-font-code-csv, "");display:var(--ag-icon-font-display-csv, var(--ag-icon-font-display))}.ag-icon-csv:after{background-image:var(--ag-icon-image-csv, var(--ag-icon-image));display:var(--ag-icon-image-display-csv, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-csv, var(--ag-icon-image-opacity, .9))}.ag-icon-cut{font-family:var(--ag-icon-font-family-cut, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-cut, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-cut, var(--ag-icon-font-color))}.ag-icon-cut:before{content:var(--ag-icon-font-code-cut, "");display:var(--ag-icon-font-display-cut, var(--ag-icon-font-display))}.ag-icon-cut:after{background-image:var(--ag-icon-image-cut, var(--ag-icon-image));display:var(--ag-icon-image-display-cut, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-cut, var(--ag-icon-image-opacity, .9))}.ag-icon-desc{font-family:var(--ag-icon-font-family-desc, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-desc, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-desc, var(--ag-icon-font-color))}.ag-icon-desc:before{content:var(--ag-icon-font-code-desc, "");display:var(--ag-icon-font-display-desc, var(--ag-icon-font-display))}.ag-icon-desc:after{background-image:var(--ag-icon-image-desc, var(--ag-icon-image));display:var(--ag-icon-image-display-desc, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-desc, var(--ag-icon-image-opacity, .9))}.ag-icon-excel{font-family:var(--ag-icon-font-family-excel, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-excel, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-excel, var(--ag-icon-font-color))}.ag-icon-excel:before{content:var(--ag-icon-font-code-excel, "");display:var(--ag-icon-font-display-excel, var(--ag-icon-font-display))}.ag-icon-excel:after{background-image:var(--ag-icon-image-excel, var(--ag-icon-image));display:var(--ag-icon-image-display-excel, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-excel, var(--ag-icon-image-opacity, .9))}.ag-icon-expanded{font-family:var(--ag-icon-font-family-expanded, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-expanded, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-expanded, var(--ag-icon-font-color))}.ag-icon-expanded:before{content:var(--ag-icon-font-code-expanded, "");display:var(--ag-icon-font-display-expanded, var(--ag-icon-font-display))}.ag-icon-expanded:after{background-image:var(--ag-icon-image-expanded, var(--ag-icon-image));display:var(--ag-icon-image-display-expanded, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-expanded, var(--ag-icon-image-opacity, .9))}.ag-icon-eye-slash{font-family:var(--ag-icon-font-family-eye-slash, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-eye-slash, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-eye-slash, var(--ag-icon-font-color))}.ag-icon-eye-slash:before{content:var(--ag-icon-font-code-eye-slash, "");display:var(--ag-icon-font-display-eye-slash, var(--ag-icon-font-display))}.ag-icon-eye-slash:after{background-image:var(--ag-icon-image-eye-slash, var(--ag-icon-image));display:var(--ag-icon-image-display-eye-slash, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-eye-slash, var(--ag-icon-image-opacity, .9))}.ag-icon-eye{font-family:var(--ag-icon-font-family-eye, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-eye, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-eye, var(--ag-icon-font-color))}.ag-icon-eye:before{content:var(--ag-icon-font-code-eye, "");display:var(--ag-icon-font-display-eye, var(--ag-icon-font-display))}.ag-icon-eye:after{background-image:var(--ag-icon-image-eye, var(--ag-icon-image));display:var(--ag-icon-image-display-eye, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-eye, var(--ag-icon-image-opacity, .9))}.ag-icon-filter{font-family:var(--ag-icon-font-family-filter, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-filter, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-filter, var(--ag-icon-font-color))}.ag-icon-filter:before{content:var(--ag-icon-font-code-filter, "");display:var(--ag-icon-font-display-filter, var(--ag-icon-font-display))}.ag-icon-filter:after{background-image:var(--ag-icon-image-filter, var(--ag-icon-image));display:var(--ag-icon-image-display-filter, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-filter, var(--ag-icon-image-opacity, .9))}.ag-icon-first{font-family:var(--ag-icon-font-family-first, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-first, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-first, var(--ag-icon-font-color))}.ag-icon-first:before{content:var(--ag-icon-font-code-first, "");display:var(--ag-icon-font-display-first, var(--ag-icon-font-display))}.ag-icon-first:after{background-image:var(--ag-icon-image-first, var(--ag-icon-image));display:var(--ag-icon-image-display-first, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-first, var(--ag-icon-image-opacity, .9))}.ag-icon-grip{font-family:var(--ag-icon-font-family-grip, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-grip, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-grip, var(--ag-icon-font-color))}.ag-icon-grip:before{content:var(--ag-icon-font-code-grip, "");display:var(--ag-icon-font-display-grip, var(--ag-icon-font-display))}.ag-icon-grip:after{background-image:var(--ag-icon-image-grip, var(--ag-icon-image));display:var(--ag-icon-image-display-grip, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-grip, var(--ag-icon-image-opacity, .9))}.ag-icon-group{font-family:var(--ag-icon-font-family-group, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-group, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-group, var(--ag-icon-font-color))}.ag-icon-group:before{content:var(--ag-icon-font-code-group, "");display:var(--ag-icon-font-display-group, var(--ag-icon-font-display))}.ag-icon-group:after{background-image:var(--ag-icon-image-group, var(--ag-icon-image));display:var(--ag-icon-image-display-group, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-group, var(--ag-icon-image-opacity, .9))}.ag-icon-last{font-family:var(--ag-icon-font-family-last, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-last, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-last, var(--ag-icon-font-color))}.ag-icon-last:before{content:var(--ag-icon-font-code-last, "");display:var(--ag-icon-font-display-last, var(--ag-icon-font-display))}.ag-icon-last:after{background-image:var(--ag-icon-image-last, var(--ag-icon-image));display:var(--ag-icon-image-display-last, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-last, var(--ag-icon-image-opacity, .9))}.ag-icon-left{font-family:var(--ag-icon-font-family-left, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-left, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-left, var(--ag-icon-font-color))}.ag-icon-left:before{content:var(--ag-icon-font-code-left, "");display:var(--ag-icon-font-display-left, var(--ag-icon-font-display))}.ag-icon-left:after{background-image:var(--ag-icon-image-left, var(--ag-icon-image));display:var(--ag-icon-image-display-left, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-left, var(--ag-icon-image-opacity, .9))}.ag-icon-linked{font-family:var(--ag-icon-font-family-linked, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-linked, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-linked, var(--ag-icon-font-color))}.ag-icon-linked:before{content:var(--ag-icon-font-code-linked, "");display:var(--ag-icon-font-display-linked, var(--ag-icon-font-display))}.ag-icon-linked:after{background-image:var(--ag-icon-image-linked, var(--ag-icon-image));display:var(--ag-icon-image-display-linked, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-linked, var(--ag-icon-image-opacity, .9))}.ag-icon-loading{font-family:var(--ag-icon-font-family-loading, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-loading, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-loading, var(--ag-icon-font-color))}.ag-icon-loading:before{content:var(--ag-icon-font-code-loading, "");display:var(--ag-icon-font-display-loading, var(--ag-icon-font-display))}.ag-icon-loading:after{background-image:var(--ag-icon-image-loading, var(--ag-icon-image));display:var(--ag-icon-image-display-loading, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-loading, var(--ag-icon-image-opacity, .9))}.ag-icon-maximize{font-family:var(--ag-icon-font-family-maximize, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-maximize, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-maximize, var(--ag-icon-font-color))}.ag-icon-maximize:before{content:var(--ag-icon-font-code-maximize, "");display:var(--ag-icon-font-display-maximize, var(--ag-icon-font-display))}.ag-icon-maximize:after{background-image:var(--ag-icon-image-maximize, var(--ag-icon-image));display:var(--ag-icon-image-display-maximize, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-maximize, var(--ag-icon-image-opacity, .9))}.ag-icon-menu{font-family:var(--ag-icon-font-family-menu, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-menu, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-menu, var(--ag-icon-font-color))}.ag-icon-menu:before{content:var(--ag-icon-font-code-menu, "");display:var(--ag-icon-font-display-menu, var(--ag-icon-font-display))}.ag-icon-menu:after{background-image:var(--ag-icon-image-menu, var(--ag-icon-image));display:var(--ag-icon-image-display-menu, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-menu, var(--ag-icon-image-opacity, .9))}.ag-icon-minimize{font-family:var(--ag-icon-font-family-minimize, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-minimize, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-minimize, var(--ag-icon-font-color))}.ag-icon-minimize:before{content:var(--ag-icon-font-code-minimize, "");display:var(--ag-icon-font-display-minimize, var(--ag-icon-font-display))}.ag-icon-minimize:after{background-image:var(--ag-icon-image-minimize, var(--ag-icon-image));display:var(--ag-icon-image-display-minimize, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-minimize, var(--ag-icon-image-opacity, .9))}.ag-icon-next{font-family:var(--ag-icon-font-family-next, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-next, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-next, var(--ag-icon-font-color))}.ag-icon-next:before{content:var(--ag-icon-font-code-next, "");display:var(--ag-icon-font-display-next, var(--ag-icon-font-display))}.ag-icon-next:after{background-image:var(--ag-icon-image-next, var(--ag-icon-image));display:var(--ag-icon-image-display-next, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-next, var(--ag-icon-image-opacity, .9))}.ag-icon-none{font-family:var(--ag-icon-font-family-none, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-none, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-none, var(--ag-icon-font-color))}.ag-icon-none:before{content:var(--ag-icon-font-code-none, "");display:var(--ag-icon-font-display-none, var(--ag-icon-font-display))}.ag-icon-none:after{background-image:var(--ag-icon-image-none, var(--ag-icon-image));display:var(--ag-icon-image-display-none, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-none, var(--ag-icon-image-opacity, .9))}.ag-icon-not-allowed{font-family:var(--ag-icon-font-family-not-allowed, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-not-allowed, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-not-allowed, var(--ag-icon-font-color))}.ag-icon-not-allowed:before{content:var(--ag-icon-font-code-not-allowed, "");display:var(--ag-icon-font-display-not-allowed, var(--ag-icon-font-display))}.ag-icon-not-allowed:after{background-image:var(--ag-icon-image-not-allowed, var(--ag-icon-image));display:var(--ag-icon-image-display-not-allowed, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-not-allowed, var(--ag-icon-image-opacity, .9))}.ag-icon-paste{font-family:var(--ag-icon-font-family-paste, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-paste, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-paste, var(--ag-icon-font-color))}.ag-icon-paste:before{content:var(--ag-icon-font-code-paste, "");display:var(--ag-icon-font-display-paste, var(--ag-icon-font-display))}.ag-icon-paste:after{background-image:var(--ag-icon-image-paste, var(--ag-icon-image));display:var(--ag-icon-image-display-paste, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-paste, var(--ag-icon-image-opacity, .9))}.ag-icon-pin{font-family:var(--ag-icon-font-family-pin, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-pin, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-pin, var(--ag-icon-font-color))}.ag-icon-pin:before{content:var(--ag-icon-font-code-pin, "");display:var(--ag-icon-font-display-pin, var(--ag-icon-font-display))}.ag-icon-pin:after{background-image:var(--ag-icon-image-pin, var(--ag-icon-image));display:var(--ag-icon-image-display-pin, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-pin, var(--ag-icon-image-opacity, .9))}.ag-icon-pivot{font-family:var(--ag-icon-font-family-pivot, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-pivot, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-pivot, var(--ag-icon-font-color))}.ag-icon-pivot:before{content:var(--ag-icon-font-code-pivot, "");display:var(--ag-icon-font-display-pivot, var(--ag-icon-font-display))}.ag-icon-pivot:after{background-image:var(--ag-icon-image-pivot, var(--ag-icon-image));display:var(--ag-icon-image-display-pivot, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-pivot, var(--ag-icon-image-opacity, .9))}.ag-icon-previous{font-family:var(--ag-icon-font-family-previous, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-previous, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-previous, var(--ag-icon-font-color))}.ag-icon-previous:before{content:var(--ag-icon-font-code-previous, "");display:var(--ag-icon-font-display-previous, var(--ag-icon-font-display))}.ag-icon-previous:after{background-image:var(--ag-icon-image-previous, var(--ag-icon-image));display:var(--ag-icon-image-display-previous, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-previous, var(--ag-icon-image-opacity, .9))}.ag-icon-radio-button-off{font-family:var(--ag-icon-font-family-radio-button-off, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-radio-button-off, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-radio-button-off, var(--ag-icon-font-color))}.ag-icon-radio-button-off:before{content:var(--ag-icon-font-code-radio-button-off, "");display:var(--ag-icon-font-display-radio-button-off, var(--ag-icon-font-display))}.ag-icon-radio-button-off:after{background-image:var(--ag-icon-image-radio-button-off, var(--ag-icon-image));display:var(--ag-icon-image-display-radio-button-off, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-radio-button-off, var(--ag-icon-image-opacity, .9))}.ag-icon-radio-button-on{font-family:var(--ag-icon-font-family-radio-button-on, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-radio-button-on, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-radio-button-on, var(--ag-icon-font-color))}.ag-icon-radio-button-on:before{content:var(--ag-icon-font-code-radio-button-on, "");display:var(--ag-icon-font-display-radio-button-on, var(--ag-icon-font-display))}.ag-icon-radio-button-on:after{background-image:var(--ag-icon-image-radio-button-on, var(--ag-icon-image));display:var(--ag-icon-image-display-radio-button-on, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-radio-button-on, var(--ag-icon-image-opacity, .9))}.ag-icon-right{font-family:var(--ag-icon-font-family-right, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-right, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-right, var(--ag-icon-font-color))}.ag-icon-right:before{content:var(--ag-icon-font-code-right, "");display:var(--ag-icon-font-display-right, var(--ag-icon-font-display))}.ag-icon-right:after{background-image:var(--ag-icon-image-right, var(--ag-icon-image));display:var(--ag-icon-image-display-right, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-right, var(--ag-icon-image-opacity, .9))}.ag-icon-save{font-family:var(--ag-icon-font-family-save, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-save, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-save, var(--ag-icon-font-color))}.ag-icon-save:before{content:var(--ag-icon-font-code-save, "");display:var(--ag-icon-font-display-save, var(--ag-icon-font-display))}.ag-icon-save:after{background-image:var(--ag-icon-image-save, var(--ag-icon-image));display:var(--ag-icon-image-display-save, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-save, var(--ag-icon-image-opacity, .9))}.ag-icon-small-down{font-family:var(--ag-icon-font-family-small-down, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-small-down, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-small-down, var(--ag-icon-font-color))}.ag-icon-small-down:before{content:var(--ag-icon-font-code-small-down, "");display:var(--ag-icon-font-display-small-down, var(--ag-icon-font-display))}.ag-icon-small-down:after{background-image:var(--ag-icon-image-small-down, var(--ag-icon-image));display:var(--ag-icon-image-display-small-down, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-small-down, var(--ag-icon-image-opacity, .9))}.ag-icon-small-left{font-family:var(--ag-icon-font-family-small-left, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-small-left, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-small-left, var(--ag-icon-font-color))}.ag-icon-small-left:before{content:var(--ag-icon-font-code-small-left, "");display:var(--ag-icon-font-display-small-left, var(--ag-icon-font-display))}.ag-icon-small-left:after{background-image:var(--ag-icon-image-small-left, var(--ag-icon-image));display:var(--ag-icon-image-display-small-left, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-small-left, var(--ag-icon-image-opacity, .9))}.ag-icon-small-right{font-family:var(--ag-icon-font-family-small-right, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-small-right, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-small-right, var(--ag-icon-font-color))}.ag-icon-small-right:before{content:var(--ag-icon-font-code-small-right, "");display:var(--ag-icon-font-display-small-right, var(--ag-icon-font-display))}.ag-icon-small-right:after{background-image:var(--ag-icon-image-small-right, var(--ag-icon-image));display:var(--ag-icon-image-display-small-right, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-small-right, var(--ag-icon-image-opacity, .9))}.ag-icon-small-up{font-family:var(--ag-icon-font-family-small-up, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-small-up, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-small-up, var(--ag-icon-font-color))}.ag-icon-small-up:before{content:var(--ag-icon-font-code-small-up, "");display:var(--ag-icon-font-display-small-up, var(--ag-icon-font-display))}.ag-icon-small-up:after{background-image:var(--ag-icon-image-small-up, var(--ag-icon-image));display:var(--ag-icon-image-display-small-up, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-small-up, var(--ag-icon-image-opacity, .9))}.ag-icon-tick{font-family:var(--ag-icon-font-family-tick, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-tick, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-tick, var(--ag-icon-font-color))}.ag-icon-tick:before{content:var(--ag-icon-font-code-tick, "");display:var(--ag-icon-font-display-tick, var(--ag-icon-font-display))}.ag-icon-tick:after{background-image:var(--ag-icon-image-tick, var(--ag-icon-image));display:var(--ag-icon-image-display-tick, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-tick, var(--ag-icon-image-opacity, .9))}.ag-icon-tree-closed{font-family:var(--ag-icon-font-family-tree-closed, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-tree-closed, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-tree-closed, var(--ag-icon-font-color))}.ag-icon-tree-closed:before{content:var(--ag-icon-font-code-tree-closed, "");display:var(--ag-icon-font-display-tree-closed, var(--ag-icon-font-display))}.ag-icon-tree-closed:after{background-image:var(--ag-icon-image-tree-closed, var(--ag-icon-image));display:var(--ag-icon-image-display-tree-closed, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-tree-closed, var(--ag-icon-image-opacity, .9))}.ag-icon-tree-indeterminate{font-family:var(--ag-icon-font-family-tree-indeterminate, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-tree-indeterminate, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-tree-indeterminate, var(--ag-icon-font-color))}.ag-icon-tree-indeterminate:before{content:var(--ag-icon-font-code-tree-indeterminate, "");display:var(--ag-icon-font-display-tree-indeterminate, var(--ag-icon-font-display))}.ag-icon-tree-indeterminate:after{background-image:var(--ag-icon-image-tree-indeterminate, var(--ag-icon-image));display:var(--ag-icon-image-display-tree-indeterminate, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-tree-indeterminate, var(--ag-icon-image-opacity, .9))}.ag-icon-tree-open{font-family:var(--ag-icon-font-family-tree-open, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-tree-open, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-tree-open, var(--ag-icon-font-color))}.ag-icon-tree-open:before{content:var(--ag-icon-font-code-tree-open, "");display:var(--ag-icon-font-display-tree-open, var(--ag-icon-font-display))}.ag-icon-tree-open:after{background-image:var(--ag-icon-image-tree-open, var(--ag-icon-image));display:var(--ag-icon-image-display-tree-open, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-tree-open, var(--ag-icon-image-opacity, .9))}.ag-icon-unlinked{font-family:var(--ag-icon-font-family-unlinked, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-unlinked, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-unlinked, var(--ag-icon-font-color))}.ag-icon-unlinked:before{content:var(--ag-icon-font-code-unlinked, "");display:var(--ag-icon-font-display-unlinked, var(--ag-icon-font-display))}.ag-icon-unlinked:after{background-image:var(--ag-icon-image-unlinked, var(--ag-icon-image));display:var(--ag-icon-image-display-unlinked, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-unlinked, var(--ag-icon-image-opacity, .9))}.ag-icon-up{font-family:var(--ag-icon-font-family-up, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-up, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-up, var(--ag-icon-font-color))}.ag-icon-up:before{content:var(--ag-icon-font-code-up, "");display:var(--ag-icon-font-display-up, var(--ag-icon-font-display))}.ag-icon-up:after{background-image:var(--ag-icon-image-up, var(--ag-icon-image));display:var(--ag-icon-image-display-up, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-up, var(--ag-icon-image-opacity, .9))}.ag-icon-down{font-family:var(--ag-icon-font-family-down, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-down, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-down, var(--ag-icon-font-color))}.ag-icon-down:before{content:var(--ag-icon-font-code-down, "");display:var(--ag-icon-font-display-down, var(--ag-icon-font-display))}.ag-icon-down:after{background-image:var(--ag-icon-image-down, var(--ag-icon-image));display:var(--ag-icon-image-display-down, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-down, var(--ag-icon-image-opacity, .9))}.ag-icon-plus{font-family:var(--ag-icon-font-family-plus, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-plus, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-plus, var(--ag-icon-font-color))}.ag-icon-plus:before{content:var(--ag-icon-font-code-plus, "");display:var(--ag-icon-font-display-plus, var(--ag-icon-font-display))}.ag-icon-plus:after{background-image:var(--ag-icon-image-plus, var(--ag-icon-image));display:var(--ag-icon-image-display-plus, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-plus, var(--ag-icon-image-opacity, .9))}.ag-icon-minus{font-family:var(--ag-icon-font-family-minus, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-minus, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-minus, var(--ag-icon-font-color))}.ag-icon-minus:before{content:var(--ag-icon-font-code-minus, "");display:var(--ag-icon-font-display-minus, var(--ag-icon-font-display))}.ag-icon-minus:after{background-image:var(--ag-icon-image-minus, var(--ag-icon-image));display:var(--ag-icon-image-display-minus, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-minus, var(--ag-icon-image-opacity, .9))}.ag-icon-menu-alt{font-family:var(--ag-icon-font-family-menu-alt, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-menu-alt, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-menu-alt, var(--ag-icon-font-color))}.ag-icon-menu-alt:before{content:var(--ag-icon-font-code-menu-alt, "");display:var(--ag-icon-font-display-menu-alt, var(--ag-icon-font-display))}.ag-icon-menu-alt:after{background-image:var(--ag-icon-image-menu-alt, var(--ag-icon-image));display:var(--ag-icon-image-display-menu-alt, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-menu-alt, var(--ag-icon-image-opacity, .9))}.ag-icon-settings{font-family:var(--ag-icon-font-family-settings, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-settings, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-settings, var(--ag-icon-font-color))}.ag-icon-settings:before{content:var(--ag-icon-font-code-settings, "");display:var(--ag-icon-font-display-settings, var(--ag-icon-font-display))}.ag-icon-settings:after{background-image:var(--ag-icon-image-settings, var(--ag-icon-image));display:var(--ag-icon-image-display-settings, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-settings, var(--ag-icon-image-opacity, .9))}.ag-icon-column-arrow{font-family:var(--ag-icon-font-family-column-arrow, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-column-arrow, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-column-arrow, var(--ag-icon-font-color))}.ag-icon-column-arrow:before{content:var(--ag-icon-font-code-column-arrow, "");display:var(--ag-icon-font-display-column-arrow, var(--ag-icon-font-display))}.ag-icon-column-arrow:after{background-image:var(--ag-icon-image-column-arrow, var(--ag-icon-image));display:var(--ag-icon-image-display-column-arrow, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-column-arrow, var(--ag-icon-image-opacity, .9))}.ag-icon-un-pin{font-family:var(--ag-icon-font-family-un-pin, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-un-pin, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-un-pin, var(--ag-icon-font-color))}.ag-icon-un-pin:before{content:var(--ag-icon-font-code-un-pin, "");display:var(--ag-icon-font-display-un-pin, var(--ag-icon-font-display))}.ag-icon-un-pin:after{background-image:var(--ag-icon-image-un-pin, var(--ag-icon-image));display:var(--ag-icon-image-display-un-pin, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-un-pin, var(--ag-icon-image-opacity, .9))}.ag-icon-pinned-bottom{font-family:var(--ag-icon-font-family-pinned-bottom, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-pinned-bottom, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-pinned-bottom, var(--ag-icon-font-color))}.ag-icon-pinned-bottom:before{content:var(--ag-icon-font-code-pinned-bottom, "");display:var(--ag-icon-font-display-pinned-bottom, var(--ag-icon-font-display))}.ag-icon-pinned-bottom:after{background-image:var(--ag-icon-image-pinned-bottom, var(--ag-icon-image));display:var(--ag-icon-image-display-pinned-bottom, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-pinned-bottom, var(--ag-icon-image-opacity, .9))}.ag-icon-pinned-top{font-family:var(--ag-icon-font-family-pinned-top, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-pinned-top, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-pinned-top, var(--ag-icon-font-color))}.ag-icon-pinned-top:before{content:var(--ag-icon-font-code-pinned-top, "");display:var(--ag-icon-font-display-pinned-top, var(--ag-icon-font-display))}.ag-icon-pinned-top:after{background-image:var(--ag-icon-image-pinned-top, var(--ag-icon-image));display:var(--ag-icon-image-display-pinned-top, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-pinned-top, var(--ag-icon-image-opacity, .9))}.ag-icon-chevron-up{font-family:var(--ag-icon-font-family-chevron-up, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-chevron-up, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-chevron-up, var(--ag-icon-font-color))}.ag-icon-chevron-up:before{content:var(--ag-icon-font-code-chevron-up, "");display:var(--ag-icon-font-display-chevron-up, var(--ag-icon-font-display))}.ag-icon-chevron-up:after{background-image:var(--ag-icon-image-chevron-up, var(--ag-icon-image));display:var(--ag-icon-image-display-chevron-up, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-chevron-up, var(--ag-icon-image-opacity, .9))}.ag-icon-chevron-down{font-family:var(--ag-icon-font-family-chevron-down, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-chevron-down, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-chevron-down, var(--ag-icon-font-color))}.ag-icon-chevron-down:before{content:var(--ag-icon-font-code-chevron-down, "");display:var(--ag-icon-font-display-chevron-down, var(--ag-icon-font-display))}.ag-icon-chevron-down:after{background-image:var(--ag-icon-image-chevron-down, var(--ag-icon-image));display:var(--ag-icon-image-display-chevron-down, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-chevron-down, var(--ag-icon-image-opacity, .9))}.ag-icon-chevron-left{font-family:var(--ag-icon-font-family-chevron-left, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-chevron-left, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-chevron-left, var(--ag-icon-font-color))}.ag-icon-chevron-left:before{content:var(--ag-icon-font-code-chevron-left, "");display:var(--ag-icon-font-display-chevron-left, var(--ag-icon-font-display))}.ag-icon-chevron-left:after{background-image:var(--ag-icon-image-chevron-left, var(--ag-icon-image));display:var(--ag-icon-image-display-chevron-left, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-chevron-left, var(--ag-icon-image-opacity, .9))}.ag-icon-chevron-right{font-family:var(--ag-icon-font-family-chevron-right, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-chevron-right, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-chevron-right, var(--ag-icon-font-color))}.ag-icon-chevron-right:before{content:var(--ag-icon-font-code-chevron-right, "");display:var(--ag-icon-font-display-chevron-right, var(--ag-icon-font-display))}.ag-icon-chevron-right:after{background-image:var(--ag-icon-image-chevron-right, var(--ag-icon-image));display:var(--ag-icon-image-display-chevron-right, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-chevron-right, var(--ag-icon-image-opacity, .9))}.ag-icon-filter-add{font-family:var(--ag-icon-font-family-filter-add, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-filter-add, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-filter-add, var(--ag-icon-font-color))}.ag-icon-filter-add:before{content:var(--ag-icon-font-code-filter-add, "");display:var(--ag-icon-font-display-filter-add, var(--ag-icon-font-display))}.ag-icon-filter-add:after{background-image:var(--ag-icon-image-filter-add, var(--ag-icon-image));display:var(--ag-icon-image-display-filter-add, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-filter-add, var(--ag-icon-image-opacity, .9))}.ag-icon-edit{font-family:var(--ag-icon-font-family-edit, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-edit, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-edit, var(--ag-icon-font-color))}.ag-icon-edit:before{content:var(--ag-icon-font-code-edit, "");display:var(--ag-icon-font-display-edit, var(--ag-icon-font-display))}.ag-icon-edit:after{background-image:var(--ag-icon-image-edit, var(--ag-icon-image));display:var(--ag-icon-image-display-edit, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-edit, var(--ag-icon-image-opacity, .9))}.ag-icon-search{font-family:var(--ag-icon-font-family-search, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-search, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-search, var(--ag-icon-font-color))}.ag-icon-search:before{content:var(--ag-icon-font-code-search, "");display:var(--ag-icon-font-display-search, var(--ag-icon-font-display))}.ag-icon-search:after{background-image:var(--ag-icon-image-search, var(--ag-icon-image));display:var(--ag-icon-image-display-search, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-search, var(--ag-icon-image-opacity, .9))}.ag-icon-document{font-family:var(--ag-icon-font-family-document, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-document, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-document, var(--ag-icon-font-color))}.ag-icon-document:before{content:var(--ag-icon-font-code-document, "");display:var(--ag-icon-font-display-document, var(--ag-icon-font-display))}.ag-icon-document:after{background-image:var(--ag-icon-image-document, var(--ag-icon-image));display:var(--ag-icon-image-display-document, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-document, var(--ag-icon-image-opacity, .9))}.ag-icon-fx{font-family:var(--ag-icon-font-family-fx, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-fx, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-fx, var(--ag-icon-font-color))}.ag-icon-fx:before{content:var(--ag-icon-font-code-fx, "");display:var(--ag-icon-font-display-fx, var(--ag-icon-font-display))}.ag-icon-fx:after{background-image:var(--ag-icon-image-fx, var(--ag-icon-image));display:var(--ag-icon-image-display-fx, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-fx, var(--ag-icon-image-opacity, .9))}.ag-icon-values-as{font-family:var(--ag-icon-font-family-values-as, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-values-as, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-values-as, var(--ag-icon-font-color))}.ag-icon-values-as:before{content:var(--ag-icon-font-code-values-as, "");display:var(--ag-icon-font-display-values-as, var(--ag-icon-font-display))}.ag-icon-values-as:after{background-image:var(--ag-icon-image-values-as, var(--ag-icon-image));display:var(--ag-icon-image-display-values-as, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-values-as, var(--ag-icon-image-opacity, .9))}.ag-icon-row-drag:before{content:var(--ag-icon-font-code-grip)}.ag-left-arrow:before{content:var(--ag-icon-font-code-left)}.ag-right-arrow:before{content:var(--ag-icon-font-code-right)}[class*=ag-theme-]{--ag-foreground-color: #000;--ag-data-color: var(--ag-foreground-color);--ag-secondary-foreground-color: var(--ag-foreground-color);--ag-header-foreground-color: var(--ag-secondary-foreground-color);--ag-disabled-foreground-color: rgba(0, 0, 0, .5);--ag-background-color: #fff;--ag-wrapper-background-color: var(--ag-background-color);--ag-header-background-color: transparent;--ag-toolbar-background-color: var(--ag-header-background-color);--ag-toolbar-text-color: var(--ag-foreground-color);--ag-toolbar-separator-color: var(--ag-border-color);--ag-toolbar-separator-width: 1px;--ag-tooltip-background-color: transparent;--ag-tooltip-error-background-color: color-mix( in srgb, var(--ag-background-color), var(--ag-invalid-color) 10% );--ag-tooltip-error-text-color: var(--ag-invalid-color);--ag-tooltip-error-border-color: color-mix(in srgb, var(--ag-background-color), var(--ag-invalid-color) 25%);--ag-subheader-background-color: transparent;--ag-subheader-toolbar-background-color: transparent;--ag-control-panel-background-color: transparent;--ag-side-button-selected-background-color: var(--ag-control-panel-background-color);--ag-selected-row-background-color: #bbb;--ag-data-background-color: var(--ag-background-color);--ag-odd-row-background-color: var(--ag-data-background-color);--ag-modal-overlay-background-color: rgba(255, 255, 255, .66);--ag-menu-background-color: var(--ag-background-color);--ag-menu-border-color: var(--ag-border-color);--ag-panel-background-color: var(--ag-background-color);--ag-panel-border-color: var(--ag-border-color);--ag-row-hover-color: transparent;--ag-column-hover-color: transparent;--ag-range-selection-border-color: var(--ag-foreground-color);--ag-row-drag-indicator-color: var(--ag-range-selection-border-color);--ag-row-drag-indicator-width: 2px;--ag-column-drag-indicator-color: var(--ag-range-selection-border-color);--ag-column-drag-indicator-width: 2px;--ag-range-selection-border-style: solid;--ag-range-selection-background-color: rgba(0, 0, 0, .2);--ag-range-selection-background-color-2: var(--ag-range-selection-background-color);--ag-range-selection-background-color-3: var(--ag-range-selection-background-color);--ag-range-selection-background-color-4: var(--ag-range-selection-background-color);--ag-range-selection-highlight-color: var(--ag-range-selection-border-color);--ag-range-header-highlight-color: color-mix( in srgb, var(--ag-header-background-color), var(--ag-foreground-color) 8% );--ag-selected-tab-underline-color: var(--ag-range-selection-border-color);--ag-selected-tab-underline-width: 0;--ag-selected-tab-underline-transition-speed: 0s;--ag-range-selection-chart-category-background-color: rgba(0, 255, 132, .1);--ag-range-selection-chart-background-color: rgba(0, 88, 255, .1);--ag-header-cell-hover-background-color: transparent;--ag-header-cell-moving-background-color: var(--ag-background-color);--ag-value-change-value-highlight-background-color: rgba(22, 160, 133, .5);--ag-value-change-delta-up-color: #43a047;--ag-value-change-delta-down-color: #e53935;--ag-row-loading-skeleton-effect-color: rgba(66, 66, 66, .2);--ag-chip-background-color: transparent;--ag-chip-border-color: var(--ag-chip-background-color);--ag-borders: solid 1px;--ag-border-color: rgba(0, 0, 0, .25);--ag-borders-critical: var(--ag-borders);--ag-borders-secondary: var(--ag-borders);--ag-secondary-border-color: var(--ag-border-color);--ag-row-border-style: solid;--ag-row-border-width: 1px;--ag-cell-horizontal-border: solid transparent;--ag-borders-input: var(--ag-borders-secondary);--ag-input-border-color: var(--ag-secondary-border-color);--ag-borders-input-invalid: solid 2px;--ag-input-border-color-invalid: var(--ag-invalid-color);--ag-full-row-invalid-background-color: color-mix( in srgb, var(--ag-background-color), var(--ag-invalid-color) 25% );--ag-borders-side-button: var(--ag-borders);--ag-border-radius: 0px;--ag-wrapper-border-radius: var(--ag-border-radius);--ag-row-border-color: var(--ag-secondary-border-color);--ag-header-column-separator-display: none;--ag-header-column-separator-height: 100%;--ag-header-column-separator-width: 1px;--ag-header-column-separator-color: var(--ag-secondary-border-color);--ag-header-column-resize-handle-display: none;--ag-header-column-resize-handle-height: 50%;--ag-header-column-resize-handle-width: 1px;--ag-header-column-resize-handle-color: var(--ag-secondary-border-color);--ag-invalid-color: red;--ag-input-disabled-border-color: var(--ag-input-border-color);--ag-input-disabled-background-color: transparent;--ag-checkbox-background-color: transparent;--ag-checkbox-border-radius: var(--ag-border-radius);--ag-checkbox-checked-color: var(--ag-foreground-color);--ag-checkbox-unchecked-color: var(--ag-foreground-color);--ag-checkbox-indeterminate-color: var(--ag-checkbox-unchecked-color);--ag-toggle-button-off-border-color: var(--ag-checkbox-unchecked-color);--ag-toggle-button-off-background-color: var(--ag-checkbox-unchecked-color);--ag-toggle-button-on-border-color: var(--ag-checkbox-checked-color);--ag-toggle-button-on-background-color: var(--ag-checkbox-checked-color);--ag-toggle-button-switch-background-color: var(--ag-background-color);--ag-toggle-button-switch-border-color: var(--ag-toggle-button-off-border-color);--ag-toggle-button-border-width: 1px;--ag-toggle-button-height: var(--ag-icon-size);--ag-toggle-button-width: calc(var(--ag-toggle-button-height) * 2);--ag-input-focus-box-shadow: none;--ag-input-error-focus-box-shadow: none;--ag-input-focus-border-color: none;--ag-minichart-selected-chart-color: var(--ag-checkbox-checked-color);--ag-minichart-selected-page-color: var(--ag-checkbox-checked-color);--ag-grid-size: 4px;--ag-icon-size: 12px;--ag-icon-font-weight: normal;--ag-icon-font-color: var(--ag-foreground-color);--ag-icon-image-display: block;--ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 1.5);--ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 1.5);--ag-widget-horizontal-spacing: calc(var(--ag-grid-size) * 2);--ag-widget-vertical-spacing: var(--ag-grid-size);--ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 3);--ag-cell-widget-spacing: var(--ag-cell-horizontal-padding);--ag-row-height: calc(var(--ag-grid-size) * 6 + 1px);--ag-auto-height-min-body-height: 50px;--ag-header-height: var(--ag-row-height);--ag-pagination-panel-height: var(--ag-header-height);--ag-list-item-height: calc(var(--ag-grid-size) * 5);--ag-column-select-indent-size: calc(var(--ag-grid-size) + var(--ag-icon-size));--ag-set-filter-indent-size: calc(var(--ag-grid-size) + var(--ag-icon-size));--ag-advanced-filter-builder-indent-size: calc(var(--ag-grid-size) * 2 + var(--ag-icon-size));--ag-row-group-indent-size: calc(var(--ag-cell-widget-spacing) + var(--ag-icon-size));--ag-row-numbers-selected-color: #bbb;--ag-filter-tool-panel-group-indent: 16px;--ag-tab-min-width: 220px;--ag-chart-menu-panel-width: var(--ag-tab-min-width);--ag-menu-min-width: 181px;--ag-side-bar-panel-width: 200px;--ag-side-bar-panel-animation-duration: 0s;--ag-font-family: "Helvetica Neue", sans-serif;--ag-font-size: 14px;--ag-card-radius: var(--ag-border-radius);--ag-card-shadow: none;--ag-popup-shadow: 5px 5px 10px rgba(0, 0, 0, .3);--ag-advanced-filter-join-pill-color: #f08e8d;--ag-advanced-filter-column-pill-color: #a6e194;--ag-advanced-filter-option-pill-color: #f3c08b;--ag-advanced-filter-value-pill-color: #85c0e4;--ag-find-match-color: var(--ag-foreground-color);--ag-find-active-match-color: var(--ag-foreground-color);--ag-find-match-background-color: #ffff00;--ag-find-active-match-background-color: #ffa500;--ag-cell-batch-edit-background-color: rgb(220 181 139 / 16%);--ag-cell-batch-edit-text-color: #422f00;--ag-row-batch-edit-background-color: var(--ag-cell-batch-edit-background-color);--ag-row-batch-edit-text-color: var(--ag-cell-batch-edit-text-color);--ag-filter-panel-apply-button-color: var(--ag-foreground-color);--ag-filter-panel-apply-button-background-color: var(--ag-background-color);--ag-column-panel-apply-button-color: var(--ag-foreground-color);--ag-column-panel-apply-button-background-color: var(--ag-background-color);--ag-filter-panel-card-subtle-color: var(--ag-foreground-color);--ag-filter-panel-card-subtle-hover-color: var(--ag-foreground-color);--ag-formula-token-1-color: #3269c6;--ag-formula-token-1-background-color: rgb(50 105 198 / 16%);--ag-formula-token-1-border-color: var(--ag-formula-token-1-color);--ag-formula-token-2-color: #c0343f;--ag-formula-token-2-background-color: rgb(192 52 63 / 16%);--ag-formula-token-2-border-color: var(--ag-formula-token-2-color);--ag-formula-token-3-color: #8156b8;--ag-formula-token-3-background-color: rgb(129 86 184 / 16%);--ag-formula-token-3-border-color: var(--ag-formula-token-3-color);--ag-formula-token-4-color: #007c1f;--ag-formula-token-4-background-color: rgb(0 124 31 / 16%);--ag-formula-token-4-border-color: var(--ag-formula-token-4-color);--ag-formula-token-5-color: #b03e85;--ag-formula-token-5-background-color: rgb(176 62 133 / 16%);--ag-formula-token-5-border-color: var(--ag-formula-token-5-color);--ag-formula-token-6-color: #b74900;--ag-formula-token-6-background-color: rgb(183 73 0 / 16%);--ag-formula-token-6-border-color: var(--ag-formula-token-6-color);--ag-formula-token-7-color: #247492;--ag-formula-token-7-background-color: rgb(36 116 146 / 16%);--ag-formula-token-7-border-color: var(--ag-formula-token-7-color);--ag-note-indicator-size: 8px;--ag-note-popup-background-color: var(--ag-menu-background-color);--ag-note-popup-text-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 75%);--ag-note-popup-input-text-color: var(--ag-input-text-color);--ag-note-popup-input-background-color: var(--ag-background-color);--ag-note-popup-border: var(--ag-dialog-border);--ag-note-popup-padding: calc(var(--ag-grid-size) / 2);--ag-calculated-column-highlight-color: #bbb;--ag-calculated-column-parent-suggestion-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 80%);--ag-calculated-column-suggestion-list-width: 200px}.ag-root-wrapper,.ag-dnd-ghost{background-color:var(--ag-wrapper-background-color)}.ag-root-wrapper,.ag-popup{--ag-indentation-level: 0}.ag-styled-root{display:contents}[class*=ag-theme-]{-webkit-font-smoothing:antialiased;font-family:var(--ag-font-family);font-size:var(--ag-font-size);line-height:normal;color:var(--ag-foreground-color)}ag-grid,ag-grid-angular,ag-grid-ng2,ag-grid-polymer,ag-grid-aurelia{display:block}.ag-aria-description-container{z-index:9999;border:0px;clip:rect(1px,1px,1px,1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap}.ag-hidden{display:none!important}.ag-invisible{visibility:hidden!important}.ag-drag-handle{cursor:grab}.ag-column-drop-wrapper{display:flex}.ag-column-drop-horizontal-half-width{display:inline-block;width:50%!important}.ag-unselectable{-moz-user-select:none;-webkit-user-select:none;user-select:none}.ag-selectable{-moz-user-select:text;-webkit-user-select:text;user-select:text}.ag-tab{position:relative}.ag-tab-guard{position:absolute;width:0;height:0;display:block}.ag-virtual-list-viewport .ag-tab-guard{position:sticky}.ag-tab-guard-top{top:1px}.ag-tab-guard-bottom{bottom:1px}.ag-select-agg-func-popup{position:absolute}.ag-input-wrapper,.ag-picker-field-wrapper{display:flex;flex:1 1 auto;align-items:center;line-height:normal;position:relative}.ag-shake-left-to-right{animation-direction:alternate;animation-duration:.2s;animation-iteration-count:infinite;animation-name:ag-shake-left-to-right}@keyframes ag-shake-left-to-right{0%{padding-left:6px;padding-right:2px}to{padding-left:2px;padding-right:6px}}.ag-root-wrapper{cursor:default;position:relative;display:flex;flex-direction:column;overflow:hidden;white-space:normal}.ag-root-wrapper.ag-layout-normal{content-visibility:auto;height:100%}.ag-watermark{position:absolute;bottom:20px;right:25px;opacity:.7;transition:opacity 1s ease-out 3s;color:#9b9b9b}.ag-watermark:before{content:"";background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjA5IiBoZWlnaHQ9IjM2IiB2aWV3Qm94PSIwIDAgMjA5IDM2IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNMTkyLjk5MyAyMy42NTgyVjE1LjcxMTdIMTc5LjQ1MkwxNzEuNTA1IDIzLjY1ODJIMTkyLjk5M1oiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTIwOC4yNSAzLjk1MDgxSDE5MS4yNzZMMTgzLjI2NiAxMS44OTczSDIwOC4yNVYzLjk1MDgxWiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTYzLjYyMiAzMS42MDQ4TDE2Ny42OTEgMjcuNTM2MUgxODEuNDIzVjM1LjQ4MjdIMTYzLjYyMlYzMS42MDQ4WiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTY2LjYxIDE5Ljc4MDNIMTc1LjM4M0wxODMuMzkzIDExLjgzMzdIMTY2LjYxVjE5Ljc4MDNaIiBmaWxsPSIjOUI5QjlCIi8+CjxwYXRoIGQ9Ik0xNTcuMDExIDMxLjYwNDdIMTYzLjYyMkwxNzEuNTA1IDIzLjY1ODJIMTU3LjAxMVYzMS42MDQ3WiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTkxLjI3NiAzLjk1MDgxTDE4Ny4yMDggOC4wMTk0MUgxNjEuMjdWMC4wNzI4NzZIMTkxLjI3NlYzLjk1MDgxWiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMjAuODM5MSAzMC4yMDYxSDguMzc4OTJMNi4yMTc0NSAzNS41NDYySDAuNzUwMjQ0TDEyLjI1NjggOC41OTE1NUgxNy4wMjQ3TDI4LjUzMTMgMzUuNTQ2MkgyMy4wMDA1TDIwLjgzOTEgMzAuMjA2MVpNMTkuMTIyNyAyNS45NDY4TDE0LjYwOSAxNC45NDg4TDEwLjA5NTQgMjUuOTQ2OEgxOS4xMjI3WiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTA0LjQzNyAxOC41MDg5QzEwNi4wMjYgMTYuMTU2NyAxMTAuMDMxIDE1LjkwMjQgMTExLjY4NCAxNS45MDI0VjIwLjQ3OTZDMTA5LjY1IDIwLjQ3OTYgMTA3LjYxNSAyMC41NDMyIDEwNi40MDcgMjEuNDMzMkMxMDUuMiAyMi4zMjMyIDEwNC41NjQgMjMuNTMxMSAxMDQuNTY0IDI0Ljk5MzJWMzUuNTQ2Mkg5OS42MDUxVjE1LjkwMjRIMTA0LjM3M0wxMDQuNDM3IDE4LjUwODlaIiBmaWxsPSIjOUI5QjlCIi8+CjxwYXRoIGQ9Ik0xMTkuMzc2IDE1LjkwMjRIMTE0LjQxOFYzNS41NDYySDExOS4zNzZWMTUuOTAyNFoiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTExOS4zNzYgNy4xMjkzOUgxMTQuNDE4VjEyLjk3OEgxMTkuMzc2VjcuMTI5MzlaIiBmaWxsPSIjOUI5QjlCIi8+CjxwYXRoIGQ9Ik0xNDMuOTc5IDcuMTI5MzlWMzUuNTQ2MkgxMzkuMjExTDEzOS4wODQgMzIuNTU4M0MxMzguMzg0IDMzLjU3NTUgMTM3LjQ5NCAzNC40MDE5IDEzNi40MTQgMzUuMDM3NkMxMzUuMzMzIDM1LjYwOTggMTMzLjk5OCAzNS45Mjc2IDEzMi40NzIgMzUuOTI3NkMxMzEuMTM3IDM1LjkyNzYgMTI5Ljg2NiAzNS42NzMzIDEyOC43ODUgMzUuMjI4M0MxMjcuNjQxIDM0LjcxOTcgMTI2LjYyMyAzNC4wODQgMTI1Ljc5NyAzMy4xOTRDMTI0Ljk3MSAzMi4zMDQgMTI0LjI3MSAzMS4yMjMzIDEyMy44MjYgMzAuMDE1NEMxMjMuMzE4IDI4LjgwNzUgMTIzLjEyNyAyNy40MDkgMTIzLjEyNyAyNS44ODMyQzEyMy4xMjcgMjQuMzU3NSAxMjMuMzgxIDIyLjk1ODkgMTIzLjgyNiAyMS42ODc0QzEyNC4zMzUgMjAuNDE2IDEyNC45NzEgMTkuMzM1MyAxMjUuNzk3IDE4LjQ0NTNDMTI2LjYyMyAxNy41NTUyIDEyNy42NDEgMTYuODU2IDEyOC43ODUgMTYuMzQ3NEMxMjkuOTI5IDE1LjgzODggMTMxLjEzNyAxNS41ODQ1IDEzMi40NzIgMTUuNTg0NUMxMzMuOTk4IDE1LjU4NDUgMTM1LjI2OSAxNS44Mzg4IDEzNi4zNSAxNi40MTA5QzEzNy40MzEgMTYuOTgzMSAxMzguMzIxIDE3Ljc0NTkgMTM5LjAyIDE4LjgyNjdWNy4xOTI5NUgxNDMuOTc5VjcuMTI5MzlaTTEzMy41NTMgMzEuNjY4M0MxMzUuMjA2IDMxLjY2ODMgMTM2LjQ3NyAzMS4wOTYyIDEzNy40OTQgMzAuMDE1NEMxMzguNTExIDI4LjkzNDcgMTM5LjAyIDI3LjQ3MjUgMTM5LjAyIDI1LjY5MjVDMTM5LjAyIDIzLjkxMjUgMTM4LjUxMSAyMi41MTM5IDEzNy40OTQgMjEuMzY5NkMxMzYuNDc3IDIwLjI4ODggMTM1LjIwNiAxOS43MTY3IDEzMy41NTMgMTkuNzE2N0MxMzEuOTYzIDE5LjcxNjcgMTMwLjYyOCAyMC4yODg4IDEyOS42NzUgMjEuMzY5NkMxMjguNjU4IDIyLjQ1MDMgMTI4LjE0OSAyMy45MTI1IDEyOC4xNDkgMjUuNjkyNUMxMjguMTQ5IDI3LjQ3MjUgMTI4LjY1OCAyOC44NzExIDEyOS42NzUgMjkuOTUxOEMxMzAuNjkyIDMxLjA5NjEgMTMxLjk2MyAzMS42NjgzIDEzMy41NTMgMzEuNjY4M1oiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTU3LjIwMjQgMjAuMzUyNUg0NC45MzNWMjQuNjExOEg1MS45MjU5QzUxLjczNTIgMjYuNzczMyA1MC45MDg4IDI4LjQyNjEgNDkuNTEwMiAyOS43NjExQzQ4LjExMTYgMzEuMDMyNiA0Ni4zMzE1IDMxLjY2ODMgNDQuMDQyOSAzMS42NjgzQzQyLjc3MTUgMzEuNjY4MyA0MS41NjM2IDMxLjQxNCA0MC41NDY1IDMwLjk2OUMzOS40NjU3IDMwLjUyNCAzOC41NzU3IDI5Ljg4ODMgMzcuODEyOSAyOC45OTgzQzM3LjA1IDI4LjE3MTggMzYuNDc3OCAyNy4xNTQ3IDM2LjAzMjggMjUuOTQ2OEMzNS41ODc4IDI0LjczODkgMzUuMzk3MSAyMy40Njc1IDM1LjM5NzEgMjIuMDA1M0MzNS4zOTcxIDIwLjU0MzIgMzUuNTg3OCAxOS4yNzE3IDM2LjAzMjggMTguMDYzOEMzNi40MTQzIDE2Ljg1NiAzNy4wNSAxNS45MDI0IDM3LjgxMjkgMTUuMDEyNEMzOC41NzU3IDE0LjE4NTkgMzkuNDY1NyAxMy41NTAyIDQwLjU0NjUgMTMuMDQxNkM0MS42MjcyIDEyLjU5NjYgNDIuNzcxNSAxMi4zNDIzIDQ0LjEwNjUgMTIuMzQyM0M0Ni43NzY2IDEyLjM0MjMgNDguODEwOSAxMi45NzggNTAuMjA5NSAxNC4yNDk1TDUzLjUxNTIgMTAuOTQzOEM1MS4wMzU5IDkuMDM2NTkgNDcuODU3MyA4LjAxOTQxIDQ0LjEwNjUgOC4wMTk0MUM0Mi4wMDg2IDguMDE5NDEgNDAuMTAxNSA4LjMzNzI5IDM4LjM4NSA5LjAzNjU5QzM2LjY2ODYgOS43MzU4OCAzNS4yMDY0IDEwLjYyNTkgMzMuOTk4NSAxMS44MzM3QzMyLjc5MDYgMTMuMDQxNiAzMS44MzcxIDE0LjUwMzggMzEuMjAxNCAxNi4yMjAzQzMwLjU2NTYgMTcuOTM2NyAzMC4yNDc4IDE5Ljg0MzggMzAuMjQ3OCAyMS44NzgyQzMwLjI0NzggMjMuOTEyNSAzMC41NjU2IDI1LjgxOTcgMzEuMjY0OSAyNy41MzYxQzMxLjk2NDIgMjkuMjUyNiAzMi44NTQyIDMwLjcxNDcgMzQuMDYyMSAzMS45MjI2QzM1LjI3IDMzLjEzMDUgMzYuNzMyMSAzNC4wODQxIDM4LjQ0ODYgMzQuNzE5OEM0MC4xNjUgMzUuNDE5MSA0Mi4wNzIyIDM1LjczNyA0NC4xMDY1IDM1LjczN0M0Ni4xNDA4IDM1LjczNyA0Ny45ODQ0IDM1LjQxOTEgNDkuNjM3MyAzNC43MTk4QzUxLjI5MDIgMzQuMDIwNSA1Mi42ODg4IDMzLjEzMDUgNTMuODMzMSAzMS45MjI2QzU0Ljk3NzQgMzAuNzE0NyA1NS44Njc0IDI5LjI1MjYgNTYuNTAzMSAyNy41MzYxQzU3LjEzODggMjUuODE5NyA1Ny40NTY3IDIzLjkxMjUgNTcuNDU2NyAyMS44NzgyVjIxLjA1MTdDNTcuMjY2IDIwLjkyNDYgNTcuMjAyNCAyMC42MDY3IDU3LjIwMjQgMjAuMzUyNVoiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTk1Ljk4MTUgMjAuMzUyNUg4My43MTIxVjI0LjYxMThIOTAuNzA1QzkwLjUxNDMgMjYuNzczMyA4OS42ODc5IDI4LjQyNjEgODguMjg5MyAyOS43NjExQzg2Ljg5MDcgMzEuMDMyNiA4NS4xMTA2IDMxLjY2ODMgODIuODIyIDMxLjY2ODNDODEuNTUwNiAzMS42NjgzIDgwLjM0MjcgMzEuNDE0IDc5LjMyNTYgMzAuOTY5Qzc4LjI0NDggMzAuNTI0IDc3LjM1NDggMjkuODg4MyA3Ni41OTIgMjguOTk4M0M3NS44MjkxIDI4LjE3MTggNzUuMjU3IDI3LjE1NDcgNzQuODExOSAyNS45NDY4Qzc0LjM2NjkgMjQuNzM4OSA3NC4xNzYyIDIzLjQ2NzUgNzQuMTc2MiAyMi4wMDUzQzc0LjE3NjIgMjAuNTQzMiA3NC4zNjY5IDE5LjI3MTcgNzQuODExOSAxOC4wNjM4Qzc1LjE5MzQgMTYuODU2IDc1LjgyOTEgMTUuOTAyNCA3Ni41OTIgMTUuMDEyNEM3Ny4zNTQ4IDE0LjE4NTkgNzguMjQ0OCAxMy41NTAyIDc5LjMyNTYgMTMuMDQxNkM4MC40MDYzIDEyLjU5NjYgODEuNTUwNiAxMi4zNDIzIDgyLjg4NTYgMTIuMzQyM0M4NS41NTU3IDEyLjM0MjMgODcuNTkgMTIuOTc4IDg4Ljk4ODYgMTQuMjQ5NUw5Mi4yOTQzIDEwLjk0MzhDODkuODE1IDkuMDM2NTkgODYuNjM2NCA4LjAxOTQxIDgyLjg4NTYgOC4wMTk0MUM4MC43ODc4IDguMDE5NDEgNzguODgwNiA4LjMzNzI5IDc3LjE2NDEgOS4wMzY1OUM3NS40NDc3IDkuNzM1ODggNzMuOTg1NSAxMC42MjU5IDcyLjc3NzYgMTEuODMzN0M3MS41Njk4IDEzLjA0MTYgNzAuNjE2MiAxNC41MDM4IDY5Ljk4MDUgMTYuMjIwM0M2OS4zNDQ3IDE3LjkzNjcgNjkuMDI2OSAxOS44NDM4IDY5LjAyNjkgMjEuODc4MkM2OS4wMjY5IDIzLjkxMjUgNjkuMzQ0NyAyNS44MTk3IDcwLjA0NCAyNy41MzYxQzcwLjc0MzMgMjkuMjUyNiA3MS42MzM0IDMwLjcxNDcgNzIuODQxMiAzMS45MjI2Qzc0LjA0OTEgMzMuMTMwNSA3NS41MTEyIDM0LjA4NDEgNzcuMjI3NyAzNC43MTk4Qzc4Ljk0NDEgMzUuNDE5MSA4MC44NTEzIDM1LjczNyA4Mi44ODU2IDM1LjczN0M4NC45MiAzNS43MzcgODYuNzYzNiAzNS40MTkxIDg4LjQxNjQgMzQuNzE5OEM5MC4wNjkzIDM0LjAyMDUgOTEuNDY3OSAzMy4xMzA1IDkyLjYxMjIgMzEuOTIyNkM5My43NTY1IDMwLjcxNDcgOTQuNjQ2NSAyOS4yNTI2IDk1LjI4MjIgMjcuNTM2MUM5NS45MTggMjUuODE5NyA5Ni4yMzU4IDIzLjkxMjUgOTYuMjM1OCAyMS44NzgyVjIxLjA1MTdDOTYuMDQ1MSAyMC45MjQ2IDk1Ljk4MTUgMjAuNjA2NyA5NS45ODE1IDIwLjM1MjVaIiBmaWxsPSIjOUI5QjlCIi8+Cjwvc3ZnPgo=);background-repeat:no-repeat;background-size:170px 40px;display:block;height:40px;width:170px}.ag-watermark-text{opacity:.5;font-weight:700;font-family:Impact,sans-serif;font-size:19px;padding-left:.7rem}.ag-root-wrapper-body{display:flex;flex-direction:row}.ag-root-wrapper-body.ag-layout-normal{flex:1 1 auto;height:0;min-height:0}.ag-root{position:relative;display:flex;flex-direction:column}.ag-root.ag-layout-normal,.ag-root.ag-layout-auto-height{overflow:hidden;flex:1 1 auto;width:0}.ag-root.ag-layout-normal{height:100%}.ag-body-horizontal-scroll-viewport,.ag-body-vertical-scroll-viewport,.ag-virtual-list-viewport{position:relative;height:100%;min-width:0px;overflow:hidden;flex:1 1 auto}.ag-viewport{position:relative}.ag-grid-viewport{position:relative;overflow:auto;min-width:0;min-height:0;flex:1 1 auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:none!important;scrollbar-width:none!important}.ag-grid-viewport::-webkit-scrollbar{display:none!important}.ag-grid-scrollable-area{position:relative;min-width:100%;min-height:100%;display:flex;flex-direction:column}.ag-spanning-container{position:absolute;top:0;z-index:1}.ag-grid-scrolling-container{display:block;min-height:100%;width:100%}.ag-body-horizontal-scroll-viewport{overflow-x:scroll}.ag-body-vertical-scroll-viewport{overflow-y:scroll;pointer-events:all}.ag-virtual-list-viewport{overflow:auto;width:100%}.ag-grid-scrolling-container,.ag-body-horizontal-scroll-container,.ag-body-vertical-scroll-container,.ag-virtual-list-container{position:relative}.ag-body-horizontal-scroll-container{height:100%}.ag-body-vertical-scroll-container{width:100%}.ag-full-width-anchor{position:sticky;left:0;width:var(--ag-internal-fw-anchor-width, 100%);height:100%}.ag-virtual-list-container{overflow:hidden}.ag-grid-scrolling-rows{position:relative;display:flex;flex:1 1 auto;flex-direction:row!important;min-height:0}.ag-body-horizontal-scroll,.ag-body-vertical-scroll{min-height:0;min-width:0;display:flex}.ag-body-horizontal-scroll.ag-scrollbar-invisible,.ag-body-vertical-scroll.ag-scrollbar-invisible{position:absolute;bottom:0;z-index:2}.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar,.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar{opacity:0;transition:opacity .4s;visibility:hidden}.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-scrolling,.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-active,.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-scrolling,.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-active{visibility:visible;opacity:1}.ag-body-horizontal-scroll{width:100%;flex:none}.ag-body-horizontal-scroll.ag-scrollbar-invisible{left:0;right:0}.ag-body-horizontal-scroll-end-spacer{flex:0 0 auto;min-width:0;overflow:scroll}.ag-body-vertical-scroll{position:absolute;z-index:2;flex-direction:column;top:0;pointer-events:none}.ag-ltr .ag-body-vertical-scroll{right:0}.ag-rtl .ag-body-vertical-scroll{left:0}.ag-body-vertical-scroll-start-spacer{border-bottom:var(--ag-header-row-border);opacity:0;flex:none}.ag-ltr .ag-has-right-pinned-cols .ag-body-vertical-scroll-start-spacer,.ag-rtl .ag-has-left-pinned-cols .ag-body-vertical-scroll-start-spacer{pointer-events:all;opacity:1;background-color:var(--ag-background-color);background-image:linear-gradient(0deg,var(--ag-header-background-color),var(--ag-header-background-color))}.ag-header-cell-sortable .ag-header-cell-label,.ag-header-group-cell-selectable .ag-header-cell-comp-wrapper{cursor:pointer}.ag-header-row{position:absolute}.ag-header-row:not(.ag-header-row-column-group){overflow:visible}.ag-grid-pinned-top-rows-container.ag-header-allow-overflow .ag-header-row{overflow:visible}.ag-header-cell{display:inline-flex;align-items:center;position:absolute;height:100%;overflow:hidden}.ag-header-cell.ag-header-active .ag-header-cell-menu-button,.ag-header-cell-filter-button{opacity:1}.ag-header-cell-menu-button:not(.ag-header-menu-always-show){transition:opacity .2s;opacity:0}.ag-header-group-cell-label,.ag-header-cell-label{display:flex;flex:1 1 auto;align-self:stretch;align-items:center;overflow:hidden}.ag-header-cell-label{text-overflow:ellipsis}.ag-header-group-cell-label.ag-sticky-label{position:sticky;flex:none;max-width:100%;overflow:visible}.ag-header-group-text{overflow:hidden;text-overflow:ellipsis}.ag-header-cell-text{overflow:hidden;text-overflow:ellipsis;word-break:break-word}.ag-header-group-cell .ag-header-cell-comp-wrapper{display:flex}.ag-header-cell:not(.ag-header-cell-auto-height) .ag-header-cell-comp-wrapper{height:100%;display:flex;align-items:center}.ag-header-cell-comp-wrapper{width:100%}.ag-header-cell-wrap-text .ag-header-cell-comp-wrapper{white-space:normal}.ag-header-cell-comp-wrapper-limited-height>div{overflow:hidden}.ag-right-aligned-header .ag-header-cell-label{flex-direction:row-reverse}.ag-header-cell-resize{position:absolute;z-index:2;height:100%;width:8px;top:0;cursor:col-resize}.ag-ltr .ag-header-cell-resize{right:-3px}.ag-rtl .ag-header-cell-resize{left:-3px}.ag-grid-pinned-left-cells .ag-header-cell-resize{right:-3px}.ag-grid-pinned-right-cells .ag-header-cell-resize{left:-3px}.ag-header-select-all{display:flex}.ag-header-cell-menu-button,.ag-header-cell-filter-button,.ag-side-button-button,.ag-panel-title-bar-button,.ag-floating-filter-button-button{cursor:pointer}.ag-column-moving .ag-cell,.ag-column-moving .ag-header-cell,.ag-column-moving .ag-spanned-cell-wrapper{transition:left .2s,right .2s}.ag-column-moving .ag-header-group-cell{transition:left .2s,right .2s,width .2s}.ag-delay-render .ag-cell,.ag-delay-render .ag-row,.ag-delay-render .ag-spanned-cell-wrapper,.ag-delay-render .ag-header-cell,.ag-delay-render .ag-header-group-cell{visibility:hidden}.ag-column-panel{display:flex;flex-direction:column;overflow:hidden;flex:1 1 auto}.ag-column-select{position:relative;display:flex;flex-direction:column;overflow:hidden;flex:3 1 0px}.ag-column-select-header{position:relative;display:flex;flex:none}.ag-column-select-header-icon{position:relative}.ag-column-select-header-filter-wrapper{flex:1 1 auto}.ag-column-select-header-filter{width:100%}.ag-column-select-list{flex:1 1 0px;overflow:hidden}.ag-column-drop{position:relative;display:inline-flex;align-items:center;overflow:auto;width:100%}.ag-column-drop-list{display:flex;align-items:center}.ag-column-drop-cell{position:relative;display:flex;align-items:center}.ag-column-drop-cell-text{overflow:hidden;flex:1 1 auto;text-overflow:ellipsis;white-space:nowrap}.ag-column-drop-vertical{display:flex;flex-direction:column;overflow:hidden;align-items:stretch;flex:1 1 0px}.ag-column-drop-vertical-title-bar{display:flex;align-items:center;flex:none}.ag-column-drop-vertical-list{position:relative;align-items:stretch;flex-grow:1;flex-direction:column;overflow-x:auto}.ag-column-drop-vertical-list>*{flex:none}.ag-column-drop-empty .ag-column-drop-vertical-list{overflow:hidden}.ag-column-drop-vertical-empty-message{display:block}.ag-column-drop.ag-column-drop-horizontal{white-space:nowrap;overflow:auto hidden;scrollbar-width:thin}.ag-column-drop-cell-button{cursor:pointer}.ag-filter-toolpanel{flex:1 1 0px;min-width:0}.ag-filter-toolpanel-header{position:relative}.ag-filter-toolpanel-header,.ag-filter-toolpanel-search{display:flex;align-items:center}.ag-filter-toolpanel-header>*,.ag-filter-toolpanel-search>*{display:flex;align-items:center}.ag-filter-apply-panel{display:flex;justify-content:flex-end;overflow:hidden}.ag-row-animation .ag-row{transition:transform .4s,top .4s,opacity .2s}.ag-row-animation .ag-row.ag-after-created{transition:transform .4s,top .4s,height .4s,opacity .2s}.ag-row-animation.ag-prevent-animation .ag-row,.ag-row-animation.ag-prevent-animation .ag-row.ag-after-created{transition:none!important}.ag-row-no-animation .ag-row{transition:none}.ag-row{white-space:nowrap;width:100%}.ag-row-loading{display:flex;align-items:center}.ag-row:not(.ag-full-width-row),.ag-row.ag-embedded-full-width-row,.ag-header-row{display:flex;width:100%}.ag-row:not(.ag-full-width-row):after,.ag-header-row:after,.ag-row.ag-embedded-full-width-row:after{content:"";flex:1 0 0px;align-self:stretch}.ag-row:not(.ag-header-row,.ag-full-width-row):after,.ag-row.ag-embedded-full-width-row:after{background-color:var(--ag-data-background-color)}.ag-header-row:after{background-color:var(--ag-header-background-color)}.ag-header{position:absolute;top:0;left:0;right:0;border-bottom:var(--ag-borders-critical) var(--ag-border-color);color:var(--ag-header-foreground-color);z-index:1}.ag-grid-pinned-left-cells,.ag-grid-scrolling-cells,.ag-grid-pinned-right-cells{position:relative;height:100%;white-space:nowrap}.ag-grid-scrolling-cells{flex:0 0 auto;z-index:0}.ag-row.ag-embedded-full-width-row>.ag-grid-scrolling-cells{flex:1 0 auto;margin-right:var(--ag-internal-pinned-right-sticky-offset, 0px)}.ag-grid-pinned-left-cells,.ag-grid-pinned-right-cells{position:sticky;z-index:2;overflow:hidden;flex:0 0 auto}.ag-grid-pinned-left-cells{left:var(--ag-internal-pinned-left-sticky-offset, 0px)}.ag-grid-pinned-right-cells{right:var(--ag-internal-pinned-right-sticky-offset, 0px)}.ag-row:not(.ag-full-width-row)>.ag-grid-pinned-right-cells,.ag-header-row>.ag-grid-pinned-right-cells,.ag-row.ag-embedded-full-width-row>.ag-grid-pinned-right-cells{order:1}.ag-rtl .ag-row:not(.ag-full-width-row)>.ag-grid-scrolling-cells,.ag-rtl .ag-header-row>.ag-grid-scrolling-cells,.ag-rtl .ag-row.ag-embedded-full-width-row>.ag-grid-scrolling-cells{order:1}.ag-rtl .ag-row .ag-grid-scrolling-cells{margin-left:var(--ag-internal-pinned-left-sticky-offset, 0px)}.ag-row-position-absolute{position:absolute}.ag-row-position-relative{position:relative}.ag-row-inline-editing{z-index:1}.ag-row-dragging{z-index:2}.ag-stub-cell{display:flex;align-items:center}.ag-cell{display:inline-block;position:absolute;white-space:nowrap;height:100%}.ag-cell-value{flex:1 1 auto}.ag-cell-value:not(.ag-allow-overflow),.ag-group-value{overflow:hidden;text-overflow:ellipsis}.ag-cell-wrapper{display:flex;align-items:center}.ag-cell-wrapper.ag-row-group{align-items:flex-start}.ag-cell-wrap-text{white-space:normal;word-break:break-word}.ag-cell-wrap-text:not(.ag-cell-auto-height) .ag-cell-wrapper{align-items:normal;height:100%}.ag-cell-wrap-text:not(.ag-cell-auto-height) .ag-cell-wrapper .ag-cell-value{height:100%}.ag-sparkline-wrapper{position:absolute;height:100%;width:100%;top:0;line-height:initial}.ag-full-width-row .ag-cell-wrapper.ag-row-group{height:100%;align-items:center}.ag-cell-inline-editing{z-index:1}.ag-cell-inline-editing .ag-cell-wrapper,.ag-cell-inline-editing .ag-cell-edit-wrapper,.ag-cell-inline-editing .ag-cell-editor,.ag-cell-inline-editing .ag-cell-editor .ag-wrapper,.ag-cell-inline-editing .ag-cell-editor.ag-cell-editor.ag-cell-editor input{height:100%;min-height:100%;width:100%;line-height:normal}.ag-row.ag-row-editing-invalid .ag-cell-inline-editing{opacity:.8}.ag-cell .ag-icon{display:inline-block;vertical-align:middle}.ag-set-filter-item{display:flex;align-items:center;height:100%}.ag-set-filter-item-checkbox{display:flex;width:100%;height:100%}.ag-set-filter-group-icons{display:block}.ag-set-filter-group-icons>*{cursor:pointer}.ag-filter-body-wrapper{display:flex;flex-direction:column}.ag-filter-filter{flex:1 1 0px}.ag-filter-condition{display:flex;justify-content:center}.ag-floating-filter-body{position:relative;display:flex;flex:1 1 auto;height:100%}.ag-floating-filter-full-body{display:flex;flex:1 1 auto;height:100%;width:100%;align-items:center;overflow:hidden}.ag-floating-filter-full-body>div{flex:1 1 auto}.ag-floating-filter-input{align-items:center;display:flex;width:100%}.ag-floating-filter-input>*{flex:1 1 auto}.ag-floating-filter-button{display:flex;flex:none}.ag-date-floating-filter-wrapper{display:flex}.ag-set-floating-filter-input input[disabled]{pointer-events:none}.ag-dnd-ghost{display:inline-flex;align-items:center;cursor:move;white-space:nowrap}.ag-overlay{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:2}.ag-overlay-panel{display:flex;height:100%;width:100%}.ag-overlay-wrapper{display:flex;flex:none;width:100%;height:100%;align-items:center;justify-content:center;text-align:center}.ag-overlay-loading-wrapper,.ag-overlay-exporting-wrapper,.ag-overlay-modal-wrapper,.ag-overlay-file-input-wrapper{pointer-events:all}.ag-overlay-file-input-center{border:solid 1px var(--ag-border-color);background:var(--ag-background-color);border-radius:var(--ag-card-radius);box-shadow:var(--ag-card-shadow);display:flex;flex-direction:column;align-items:center;gap:calc(var(--ag-grid-size) * 2);max-width:420px;padding:calc(var(--ag-grid-size) * 2)}.ag-file-input-error-banner{background:color-mix(in srgb,var(--ag-invalid-color) 10%,var(--ag-background-color));color:var(--ag-invalid-color);border-radius:var(--ag-border-radius);padding:calc(var(--ag-grid-size) * .75) calc(var(--ag-grid-size) * 2);width:100%;text-align:center;font-size:.9em}.ag-file-input-drop-zone{border:dashed 2px var(--ag-border-color);border-radius:var(--ag-border-radius);padding:calc(var(--ag-grid-size) * 4);display:flex;flex-direction:column;align-items:center;gap:var(--ag-grid-size);width:100%}.ag-file-input-drop-zone-active{border-color:var(--ag-input-focus-border-color);background:color-mix(in srgb,var(--ag-input-focus-border-color) 10%,var(--ag-background-color))}.ag-file-input-processing{display:flex;align-items:center;gap:calc(var(--ag-grid-size) * .75);padding:calc(var(--ag-grid-size) * 4)}.ag-ltr .ag-file-input-processing .ag-loading-icon{padding-right:0}.ag-rtl .ag-file-input-processing .ag-loading-icon{padding-left:0}.ag-file-input-text-row{display:flex;align-items:center;gap:calc(var(--ag-grid-size) * .75)}.ag-file-input-text{font-weight:600}.ag-file-input-browse{cursor:pointer;border:solid 1px var(--ag-border-color);background:transparent;color:var(--ag-text-color);border-radius:var(--ag-border-radius);padding:calc(var(--ag-grid-size) * .5) calc(var(--ag-grid-size) * 2);font:inherit}.ag-popup-child{z-index:5;top:0}.ag-popup-editor{position:absolute;-moz-user-select:none;-webkit-user-select:none;user-select:none}.ag-large-text-input{display:block}.ag-virtual-list-item{position:absolute;width:100%}.ag-grid-pinned-top-rows,.ag-grid-pinned-bottom-rows{width:100%;position:sticky;z-index:2;background-color:var(--ag-data-background-color);border-bottom:var(--ag-borders-critical) var(--ag-border-color)}.ag-grid-pinned-top-rows{top:0;white-space:nowrap}.ag-grid-pinned-bottom-rows{bottom:0;border-bottom:none;white-space:nowrap;box-sizing:content-box!important}.ag-grid-pinned-bottom-rows .ag-grid-pinned-left-cells,.ag-grid-pinned-bottom-rows .ag-grid-scrolling-cells,.ag-grid-pinned-bottom-rows .ag-grid-pinned-right-cells{box-sizing:border-box}.ag-grid-pinned-top-rows-container,.ag-grid-pinned-bottom-rows-container,.ag-grid-sticky-top-rows-container,.ag-grid-sticky-bottom-rows-container{background-color:var(--ag-data-background-color);position:absolute;width:100%;white-space:nowrap;overflow:visible}.ag-grid-pinned-top-rows-container{display:flex;z-index:1}.ag-grid-pinned-bottom-rows-container{display:flex}.ag-extra-rows-container{position:absolute;width:100%}.ag-dialog,.ag-panel{display:flex;flex-direction:column;position:relative;overflow:hidden}.ag-panel-title-bar{display:flex;flex:none;align-items:center;cursor:default}.ag-panel-title-bar-title{flex:1 1 auto}.ag-panel-title-bar-buttons{display:flex}.ag-panel-title-bar-button{cursor:pointer}.ag-panel-content-wrapper{display:flex;flex:1 1 auto;position:relative;overflow:hidden}.ag-dialog{position:absolute}.ag-resizer{position:absolute;pointer-events:none;z-index:1;-moz-user-select:none;-webkit-user-select:none;user-select:none}.ag-resizer.ag-resizer-topLeft{top:0;left:0;height:5px;width:5px;cursor:nwse-resize}.ag-resizer.ag-resizer-top{top:0;left:5px;right:5px;height:5px;cursor:ns-resize}.ag-resizer.ag-resizer-topRight{top:0;right:0;height:5px;width:5px;cursor:nesw-resize}.ag-resizer.ag-resizer-right{top:5px;right:0;bottom:5px;width:5px;cursor:ew-resize}.ag-resizer.ag-resizer-bottomRight{bottom:0;right:0;height:5px;width:5px;cursor:nwse-resize}.ag-resizer.ag-resizer-bottom{bottom:0;left:5px;right:5px;height:5px;cursor:ns-resize}.ag-resizer.ag-resizer-bottomLeft{bottom:0;left:0;height:5px;width:5px;cursor:nesw-resize}.ag-resizer.ag-resizer-left{left:0;top:5px;bottom:5px;width:5px;cursor:ew-resize}.ag-tooltip,.ag-tooltip-custom{position:absolute;z-index:99999}.ag-tooltip:not(.ag-tooltip-interactive),.ag-tooltip-custom:not(.ag-tooltip-interactive){pointer-events:none}.ag-value-slide-out{margin-right:5px;opacity:1;transition:opacity 3s,margin-right 3s;transition-timing-function:linear}.ag-value-slide-out-end{margin-right:10px;opacity:0}.ag-opacity-zero{opacity:0!important}.ag-menu{max-height:100%;overflow-y:auto;position:absolute;-moz-user-select:none;-webkit-user-select:none;user-select:none}.ag-menu-column-select-wrapper{height:265px;overflow:auto}.ag-menu-column-select-wrapper .ag-column-select{height:100%}.ag-dialog .ag-panel-content-wrapper .ag-column-select{-webkit-user-select:none;-moz-user-select:none;user-select:none}.ag-menu-list{display:table;width:100%}.ag-menu-option,.ag-menu-separator{display:table-row}.ag-menu-option-part,.ag-menu-separator-part{display:table-cell;vertical-align:middle}.ag-menu-option-text{white-space:nowrap}.ag-menu-option-custom{display:contents}.ag-compact-menu-option{width:100%;display:flex;flex-wrap:nowrap}.ag-compact-menu-option-text{white-space:nowrap;flex:1 1 auto}.ag-context-menu-loading-icon{position:absolute;pointer-events:none}.ag-pill-container{display:flex;gap:.25rem;flex-wrap:nowrap}.ag-pill{display:flex;white-space:nowrap;padding:0 .25rem;align-items:center}.ag-pill .ag-pill-button{border:none;padding:0}.ag-rich-select{cursor:default;outline:none;height:100%}.ag-rich-select-value{display:flex;align-items:center;height:100%}.ag-rich-select-value .ag-picker-field-display{overflow:hidden;text-overflow:ellipsis}.ag-rich-select-value .ag-picker-field-display.ag-display-as-placeholder{opacity:.5}.ag-rich-select-list{position:relative}.ag-rich-select-list .ag-rich-select-loading{display:flex;min-height:2rem}.ag-rich-select-list .ag-rich-select-loading .ag-loading-text{overflow:hidden;text-overflow:ellipsis}.ag-rich-select-row{display:flex;flex:1 1 auto;align-items:center;white-space:nowrap;overflow:hidden;height:100%}.ag-rich-select-field-input{flex:1 1 auto}.ag-rich-select-field-input .ag-input-field-input{padding:0!important;border:none!important;box-shadow:none!important;text-overflow:ellipsis}.ag-rich-select-field-input .ag-input-field-input::-moz-placeholder{opacity:.8}.ag-rich-select-field-input .ag-input-field-input::placeholder{opacity:.8}.ag-rich-select-typing-multi .ag-picker-field-display{flex:0 1 auto;min-width:0;max-width:100%}.ag-rich-select-typing-multi .ag-rich-select-pill-display{display:flex;flex:0 1 auto;min-width:0;max-width:100%;align-items:center;overflow:hidden}.ag-rich-select-typing-multi .ag-rich-select-pill-display .ag-pill-container{flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden}.ag-rich-select-typing-multi .ag-rich-select-field-input{flex:0 0 auto;min-width:0;max-width:100%}.ag-rich-select-typing-multi .ag-rich-select-field-input .ag-input-wrapper{flex:0 0 auto;max-width:100%}.ag-rich-select-typing-multi .ag-rich-select-field-input .ag-input-field-input{width:auto;min-width:1ch;max-width:100%}.ag-autocomplete{align-items:center;display:flex}.ag-autocomplete>*{flex:1 1 auto}.ag-autocomplete-list-popup{position:absolute;-moz-user-select:none;-webkit-user-select:none;user-select:none}.ag-autocomplete-list{position:relative}.ag-autocomplete-virtual-list-item{display:flex}.ag-autocomplete-row-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ag-paging-panel{display:flex;align-items:center}.ag-paging-panel-content{display:flex;flex:0 0 auto;min-width:100%;align-items:center;justify-content:flex-end}.ag-paging-page-summary-panel{display:flex;align-items:center}.ag-paging-button{position:relative}.ag-disabled .ag-paging-page-summary-panel{pointer-events:none}.ag-tool-panel-wrapper{overflow:hidden;cursor:default;-moz-user-select:none;-webkit-user-select:none;user-select:none}.ag-column-select-column,.ag-column-select-column-group,.ag-select-agg-func-item{position:relative;align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;height:100%}.ag-column-select-column>*,.ag-column-select-column-group>*,.ag-select-agg-func-item>*{flex:none}.ag-select-agg-func-item,.ag-column-select-column-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ag-column-select-checkbox{display:flex}.ag-tool-panel-horizontal-resize{cursor:ew-resize;height:100%;position:absolute;top:0;width:5px;z-index:1}.ag-ltr .ag-side-bar-left .ag-tool-panel-horizontal-resize{right:-3px}.ag-rtl .ag-side-bar-left .ag-tool-panel-horizontal-resize,.ag-ltr .ag-side-bar-right .ag-tool-panel-horizontal-resize{left:-3px}.ag-rtl .ag-side-bar-right .ag-tool-panel-horizontal-resize{right:-3px}.ag-details-row{width:100%}.ag-details-row-fixed-height{height:100%}.ag-details-grid{width:100%}.ag-details-grid-fixed-height{height:100%}.ag-header-group-cell{display:flex;align-items:center;height:100%;position:absolute;contain:paint}.ag-header-group-cell-no-group.ag-header-span-height{display:none}.ag-cell-label-container{display:flex;justify-content:space-between;flex-direction:row-reverse;align-items:center;height:100%;width:100%}.ag-header-group-cell-label,.ag-cell-label-container{padding:5px 0}.ag-right-aligned-header .ag-cell-label-container{flex-direction:row}.ag-right-aligned-header .ag-header-cell-text{text-align:end}.ag-side-bar{display:flex;flex-direction:row-reverse}.ag-side-bar-left{order:-1;flex-direction:row}.ag-side-button-button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-wrap:nowrap;white-space:nowrap;outline:none;cursor:pointer}.ag-side-button-label{writing-mode:vertical-lr}.ag-status-bar{display:flex;justify-content:space-between;overflow:hidden}.ag-status-panel,.ag-status-panel.ag-status-panel-aggregations .ag-status-name-value{display:inline-flex}.ag-status-name-value{white-space:nowrap}.ag-status-bar-left,.ag-status-bar-center,.ag-status-bar-right{display:inline-flex}.ag-row-number-cell{width:100%;white-space:nowrap;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ag-ltr .ag-row-number-cell{text-align:right}.ag-rtl .ag-row-number-cell{text-align:left}.ag-row-numbers-resizer{position:absolute;bottom:-2px;left:0;height:4px;width:100%;cursor:row-resize}.ag-grid-pinned-bottom-rows .ag-row-numbers-resizer{bottom:unset;top:-2px}.ag-icon{display:block;speak:never}.ag-group{position:relative;width:100%}.ag-group-title-bar{display:flex;align-items:center}.ag-group-title{display:inline;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ag-group-title-bar .ag-group-title{cursor:default}.ag-group-toolbar{display:flex;align-items:center}.ag-group-container{display:flex}.ag-disabled .ag-group-container{pointer-events:none}.ag-group-container-horizontal{flex-direction:row;flex-wrap:wrap}.ag-group-container-vertical{flex-direction:column}.ag-column-group-icons{display:block}.ag-column-group-icons>*{cursor:pointer}.ag-group-item-alignment-stretch .ag-group-item{align-items:stretch}.ag-group-item-alignment-start .ag-group-item{align-items:flex-start}.ag-group-item-alignment-end .ag-group-item{align-items:flex-end}.ag-field-set{display:flex;align-items:center}.ag-field-set-wrapper{display:flex}.ag-field-set-wrapper-horizontal{flex-direction:row}.ag-field-set-wrapper-vertical{flex-direction:column}.ag-toggle-button-icon{transition:right .3s;position:absolute;top:-1px}.ag-input-field,.ag-select{display:flex;flex-direction:row;align-items:center}.ag-input-field-input{flex:1 1 auto}.ag-floating-filter-input .ag-input-field-input[type=date],.ag-floating-filter-input .ag-input-field-input[type=datetime-local]{width:1px}.ag-range-field,.ag-angle-select{display:flex;align-items:center}.ag-angle-select-wrapper{display:flex}.ag-angle-select-parent-circle{display:block;position:relative}.ag-angle-select-child-circle{position:absolute}.ag-slider-wrapper{display:flex}.ag-slider-wrapper .ag-input-field,.ag-picker-field-display{flex:1 1 auto}.ag-picker-field{display:flex;align-items:center}.ag-picker-field-icon{display:flex;border:0;padding:0;margin:0;cursor:pointer}.ag-picker-field-wrapper{overflow:hidden}.ag-label-align-right .ag-label{order:1}.ag-label-align-right>*{flex:none}.ag-label-align-top{flex-direction:column;align-items:flex-start}.ag-label-align-top>*{align-self:stretch}.ag-label-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.ag-color-panel{width:100%;display:flex;flex-direction:column;text-align:center}.ag-spectrum-color{flex:1 1 auto;position:relative;overflow:visible;cursor:default}.ag-spectrum-fill{position:absolute;top:0;left:0;right:0;bottom:0}.ag-spectrum-val{cursor:pointer}.ag-spectrum-dragger{position:absolute;pointer-events:none;cursor:pointer}.ag-spectrum-hue,.ag-spectrum-alpha{cursor:default}.ag-spectrum-hue-background{background:linear-gradient(to left,red 3%,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red);width:100%;height:100%}.ag-spectrum-alpha{--ag-spectrum-alpha-background-checked: url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%224%22 height=%224%22><rect x=%220%22 y=%220%22 width=%224%22 height=%224%22 fill=%22%23fff%22/><path d=%22M0 0H2V4H4V2H0Z%22 fill=%22%23b2b2b2%22/></svg>")}.ag-spectrum-alpha-background{background:linear-gradient(to right,var(--ag-internal-spectrum-alpha-color-from),var(--ag-internal-spectrum-alpha-color-to)),var(--ag-spectrum-alpha-background-checked) top left/4px 4px;width:100%;height:100%}.ag-spectrum-tool{cursor:pointer;position:relative}.ag-spectrum-slider{position:absolute;pointer-events:none}.ag-spectrum-alpha .ag-spectrum-slider{background:linear-gradient(to bottom,var(--ag-internal-spectrum-alpha-color),var(--ag-internal-spectrum-alpha-color)) #fff}.ag-recent-colors{display:flex}.ag-recent-color{cursor:pointer}.ag-pill-select{display:flex;flex-direction:column}.ag-pill-select .ag-column-drop{flex:unset}.ag-content-editable-field{display:flex;align-items:center}.ag-content-editable-field-input{cursor:text;display:block;flex:1 1 auto;outline:none;white-space:nowrap;line-height:normal;overflow:auto;overflow-y:hidden}.ag-content-editable-field-input::-webkit-scrollbar{display:none!important}.ag-content-editable-field-input{-ms-overflow-style:none!important;scrollbar-width:none!important}.ag-ltr{direction:ltr}.ag-ltr .ag-grid-scrolling-rows,.ag-ltr .ag-grid-pinned-top-rows,.ag-ltr .ag-grid-pinned-bottom-rows,.ag-ltr .ag-grid-pinned-top-rows-container,.ag-ltr .ag-grid-pinned-bottom-rows-container,.ag-ltr .ag-grid-sticky-top-rows-container,.ag-ltr .ag-grid-sticky-bottom-rows-container{flex-direction:row}.ag-ltr .ag-row:where(:not(.ag-full-width-row)),.ag-ltr .ag-row:where(.ag-embedded-full-width-row),.ag-ltr .ag-header-row{flex-direction:row}.ag-rtl{direction:rtl}.ag-rtl .ag-grid-scrolling-rows,.ag-rtl .ag-grid-pinned-top-rows,.ag-rtl .ag-grid-pinned-bottom-rows,.ag-rtl .ag-grid-pinned-top-rows-container,.ag-rtl .ag-grid-pinned-bottom-rows-container,.ag-rtl .ag-grid-sticky-top-rows-container,.ag-rtl .ag-grid-sticky-bottom-rows-container{flex-direction:row-reverse}.ag-rtl .ag-row:not(.ag-full-width-row),.ag-rtl .ag-row.ag-embedded-full-width-row,.ag-rtl .ag-header-row{flex-direction:row-reverse}.ag-rtl .ag-icon-contracted,.ag-rtl .ag-icon-expanded,.ag-rtl .ag-icon-tree-closed{display:block;transform:rotate(180deg)}.ag-measurement-container{width:0;overflow:hidden;visibility:hidden;--ag-header-row-border: var(--ag-borders-critical) var(--ag-border-color);--ag-pinned-row-border: var(--ag-borders-critical) var(--ag-border-color);--ag-row-border: var(--ag-row-border-style) var(--ag-row-border-color) var(--ag-row-border-width)}.ag-measurement-container div{position:absolute}.ag-measurement-element-border:before{content:"";display:block;border-left:var(--ag-internal-measurement-border)}.ag-layout-print.ag-grid-scrolling-rows{display:block;height:unset}.ag-layout-print.ag-root-wrapper{display:inline-block}.ag-layout-print .ag-body-vertical-scroll,.ag-layout-print .ag-body-horizontal-scroll{display:none}@media print{.ag-root-wrapper.ag-layout-print{display:table;container-type:normal}.ag-root-wrapper.ag-layout-print .ag-root-wrapper-body,.ag-root-wrapper.ag-layout-print .ag-root,.ag-root-wrapper.ag-layout-print .ag-grid-scrolling-container,.ag-root-wrapper.ag-layout-print .ag-body-horizontal-scroll-viewport,.ag-root-wrapper.ag-layout-print .ag-virtual-list-viewport{height:auto!important;overflow:hidden!important;display:block!important}.ag-root-wrapper.ag-layout-print .ag-row,.ag-root-wrapper.ag-layout-print .ag-cell{-moz-column-break-inside:avoid;break-inside:avoid}}[class^=ag-],[class^=ag-]:focus,[class^=ag-]:after,[class^=ag-]:before{box-sizing:border-box;outline:none}[class^=ag-]::-ms-clear{display:none}.ag-checkbox .ag-input-wrapper,.ag-radio-button .ag-input-wrapper{overflow:visible}.ag-range-field .ag-input-wrapper{height:100%}.ag-toggle-button{flex:none;width:unset;min-width:unset}.ag-button{border-radius:0;color:var(--ag-foreground-color)}.ag-button:hover{background-color:transparent}.ag-ltr .ag-label-align-right .ag-label{margin-left:var(--ag-grid-size)}.ag-rtl .ag-label-align-right .ag-label{margin-right:var(--ag-grid-size)}input[class^=ag-]{margin:0;background-color:var(--ag-background-color)}textarea[class^=ag-],select[class^=ag-]{background-color:var(--ag-background-color)}input[class^=ag-]:not([type]),input[class^=ag-][type=text],input[class^=ag-][type=number],input[class^=ag-][type=tel],input[class^=ag-][type=date],input[class^=ag-][type=datetime-local],textarea[class^=ag-]{font-size:inherit;line-height:inherit;color:inherit;font-family:inherit;border:var(--ag-borders-input) var(--ag-input-border-color)}input[class^=ag-]:not([type]):disabled,input[class^=ag-][type=text]:disabled,input[class^=ag-][type=number]:disabled,input[class^=ag-][type=tel]:disabled,input[class^=ag-][type=date]:disabled,input[class^=ag-][type=datetime-local]:disabled,textarea[class^=ag-]:disabled{color:var(--ag-disabled-foreground-color);background-color:var(--ag-input-disabled-background-color);border-color:var(--ag-input-disabled-border-color)}input[class^=ag-]:not([type]):focus,input[class^=ag-][type=text]:focus,input[class^=ag-][type=number]:focus,input[class^=ag-][type=tel]:focus,input[class^=ag-][type=date]:focus,input[class^=ag-][type=datetime-local]:focus,textarea[class^=ag-]:focus{outline:none;box-shadow:var(--ag-input-focus-box-shadow);border-color:var(--ag-input-focus-border-color)}input[class^=ag-]:not([type]):focus.invalid,input[class^=ag-]:not([type]):focus:invalid,input[class^=ag-][type=text]:focus.invalid,input[class^=ag-][type=text]:focus:invalid,input[class^=ag-][type=number]:focus.invalid,input[class^=ag-][type=number]:focus:invalid,input[class^=ag-][type=tel]:focus.invalid,input[class^=ag-][type=tel]:focus:invalid,input[class^=ag-][type=date]:focus.invalid,input[class^=ag-][type=date]:focus:invalid,input[class^=ag-][type=datetime-local]:focus.invalid,input[class^=ag-][type=datetime-local]:focus:invalid,textarea[class^=ag-]:focus.invalid,textarea[class^=ag-]:focus:invalid{box-shadow:var(--ag-input-error-focus-box-shadow);border-color:var(--ag-invalid-color)}input[class^=ag-]:not([type]):invalid,input[class^=ag-][type=text]:invalid,input[class^=ag-][type=number]:invalid,input[class^=ag-][type=tel]:invalid,input[class^=ag-][type=date]:invalid,input[class^=ag-][type=datetime-local]:invalid,textarea[class^=ag-]:invalid{border:var(--ag-borders-input-invalid) var(--ag-input-border-color-invalid)}input[class^=ag-][type=number]:not(.ag-number-field-input-stepper){-moz-appearance:textfield}input[class^=ag-][type=number]:not(.ag-number-field-input-stepper)::-webkit-outer-spin-button,input[class^=ag-][type=number]:not(.ag-number-field-input-stepper)::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[class^=ag-][type=range]{padding:0}input[class^=ag-][type=button]:focus,button[class^=ag-]:focus{box-shadow:var(--ag-input-focus-box-shadow)}input[class^=ag-][type=button]:focus:invalid,input[class^=ag-][type=button]:focus.invalid,button[class^=ag-]:focus:invalid,button[class^=ag-]:focus.invalid{box-shadow:var(--ag-input-error-focus-box-shadow)}.ag-drag-handle{color:var(--ag-secondary-foreground-color)}.ag-list-item,.ag-virtual-list-item{height:var(--ag-list-item-height)}.ag-virtual-list-item:focus-visible{outline:none}.ag-virtual-list-item:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-select-list{background-color:var(--ag-background-color);overflow-y:auto;overflow-x:hidden;border-radius:var(--ag-border-radius);border:var(--ag-borders) var(--ag-border-color)}.ag-list-item{display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ag-list-item.ag-active-item{background-color:var(--ag-row-hover-color)}.ag-ltr .ag-select-list-item{padding-left:calc(var(--ag-cell-horizontal-padding) / 2)}.ag-rtl .ag-select-list-item{padding-right:calc(var(--ag-cell-horizontal-padding) / 2)}.ag-select-list-item{-moz-user-select:none;-webkit-user-select:none;user-select:none;cursor:default}.ag-select-list-item span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ag-ltr .ag-row-drag,.ag-ltr .ag-selection-checkbox,.ag-ltr .ag-group-expanded,.ag-ltr .ag-group-contracted{margin-right:var(--ag-cell-widget-spacing)}.ag-rtl .ag-row-drag,.ag-rtl .ag-selection-checkbox,.ag-rtl .ag-group-expanded,.ag-rtl .ag-group-contracted{margin-left:var(--ag-cell-widget-spacing)}.ag-row-drag,.ag-selection-checkbox,.ag-group-expanded,.ag-group-contracted{color:var(--ag-secondary-foreground-color)}.ag-drag-handle-disabled{opacity:.35;pointer-events:none}.ag-cell-wrapper>*:not(.ag-cell-value):not(.ag-group-value){--ag-internal-calculated-line-height: var( --ag-line-height, calc(var(--ag-row-height) - var(--ag-row-border-width)) );--ag-internal-padded-row-height: calc(var(--ag-row-height) - var(--ag-row-border-width) - 2px);height:min(var(--ag-internal-calculated-line-height),var(--ag-internal-padded-row-height));display:flex;align-items:center;flex:none}.ag-group-expanded,.ag-group-contracted{cursor:pointer}.ag-group-title-bar-icon{cursor:pointer;flex:none;color:var(--ag-secondary-foreground-color)}.ag-ltr .ag-group-child-count{margin-left:2px}.ag-rtl .ag-group-child-count{margin-right:2px}.ag-group-title-bar{background-color:var(--ag-subheader-background-color);padding:var(--ag-grid-size)}.ag-group-toolbar{padding:var(--ag-grid-size);background-color:var(--ag-subheader-toolbar-background-color)}.ag-disabled-group-title-bar,.ag-disabled-group-container{opacity:.5}.group-item{margin:calc(var(--ag-grid-size) * .5) 0}.ag-label{white-space:nowrap}.ag-ltr .ag-label{margin-right:var(--ag-grid-size)}.ag-rtl .ag-label{margin-left:var(--ag-grid-size)}.ag-label-align-top .ag-label{margin-bottom:calc(var(--ag-grid-size) * .5)}.ag-angle-select[disabled]{color:var(--ag-disabled-foreground-color);pointer-events:none}.ag-angle-select[disabled] .ag-angle-select-field{opacity:.4}.ag-ltr .ag-slider-field,.ag-ltr .ag-angle-select-field{margin-right:calc(var(--ag-grid-size) * 2)}.ag-rtl .ag-slider-field,.ag-rtl .ag-angle-select-field{margin-left:calc(var(--ag-grid-size) * 2)}.ag-angle-select-parent-circle{width:24px;height:24px;border-radius:12px;border:solid 1px;border-color:var(--ag-border-color);background-color:var(--ag-background-color)}.ag-angle-select-child-circle{top:4px;left:12px;width:6px;height:6px;margin-left:-3px;margin-top:-4px;border-radius:3px;background-color:var(--ag-secondary-foreground-color)}.ag-picker-field-wrapper{border:var(--ag-borders);border-color:var(--ag-border-color);border-radius:5px;background-color:var(--ag-background-color)}.ag-picker-field-wrapper:disabled{color:var(--ag-disabled-foreground-color);background-color:var(--ag-input-disabled-background-color);border-color:var(--ag-input-disabled-border-color)}.ag-picker-field-wrapper.ag-picker-has-focus,.ag-picker-field-wrapper:focus-within{outline:none;box-shadow:var(--ag-input-focus-box-shadow);border-color:var(--ag-input-focus-border-color)}.ag-picker-field-wrapper.ag-picker-has-focus.invalid,.ag-picker-field-wrapper:focus-within.invalid{box-shadow:var(--ag-input-error-focus-box-shadow)}.ag-picker-field-wrapper.invalid{border:var(--ag-borders-input-invalid) var(--ag-input-border-color-invalid)}.ag-picker-field-button{background-color:var(--ag-background-color);color:var(--ag-secondary-foreground-color)}.ag-dialog.ag-color-dialog{border-radius:5px}.ag-color-picker .ag-picker-field-wrapper{padding-left:var(--ag-grid-size);padding-right:var(--ag-grid-size)}.ag-color-picker .ag-picker-field-display{display:flex;flex-direction:row;align-items:center;min-height:var(--ag-list-item-height)}.ag-ltr .ag-color-picker-color,.ag-ltr .ag-color-picker-value{margin-right:var(--ag-grid-size)}.ag-rtl .ag-color-picker-color,.ag-rtl .ag-color-picker-value{margin-left:var(--ag-grid-size)}.ag-color-panel{padding:var(--ag-grid-size)}.ag-spectrum-color{background-color:red;border-radius:2px}.ag-spectrum-tools{padding:10px}.ag-spectrum-sat{background-image:linear-gradient(to right,#fff,#cc9a8100)}.ag-spectrum-val{background-image:linear-gradient(to top,#000,#cc9a8100)}.ag-spectrum-dragger{border-radius:12px;height:12px;width:12px;border:2px solid white;background:#000;box-shadow:0 0 2px #0000003d}.ag-spectrum-hue-background,.ag-spectrum-alpha-background{border-radius:2px}.ag-spectrum-tool{margin-bottom:10px;height:11px;border-radius:2px}.ag-spectrum-slider{margin-top:-12px;width:13px;height:13px;border-radius:13px;border:2px solid white;box-shadow:0 1px 4px #0000005e}.ag-recent-colors{margin-top:10px}.ag-recent-color{margin:0 3px}.ag-recent-color:first-child{margin-left:0}.ag-recent-color:last-child{margin-right:0}.ag-spectrum-color:focus-visible:not(:disabled):not([readonly]),.ag-spectrum-slider:focus-visible:not(:disabled):not([readonly]),.ag-recent-color:focus-visible:not(:disabled):not([readonly]){box-shadow:var(--ag-input-focus-box-shadow)}.ag-ltr .ag-color-input input[class^=ag-][type=text].ag-input-field-input{padding-left:calc(var(--ag-icon-size) + var(--ag-grid-size) * 2)}.ag-rtl .ag-color-input input[class^=ag-][type=text].ag-input-field-input{padding-right:calc(var(--ag-icon-size) + var(--ag-grid-size) * 2)}.ag-color-input .ag-color-input-color{position:absolute}.ag-ltr .ag-color-input .ag-color-input-color{margin-left:var(--ag-grid-size)}.ag-rtl .ag-color-input .ag-color-input-color{margin-right:var(--ag-grid-size)}.ag-color-picker-color,.ag-color-input-color{width:var(--ag-icon-size);height:var(--ag-icon-size);border:var(--ag-borders-secondary) var(--ag-secondary-border-color);border-radius:2px}.ag-dnd-ghost{border:var(--ag-borders) var(--ag-border-color);background:var(--ag-background-color);border-radius:var(--ag-card-radius);box-shadow:var(--ag-card-shadow);padding:var(--ag-grid-size);overflow:hidden;text-overflow:ellipsis;border:var(--ag-borders-secondary) var(--ag-secondary-border-color);color:var(--ag-secondary-foreground-color);height:var(--ag-header-height);line-height:var(--ag-header-height);margin:0;padding:0 calc(var(--ag-grid-size) * 2);transform:translateY(calc(var(--ag-grid-size) * 2))}.ag-dnd-ghost-not-allowed{border-color:color-mix(in srgb,var(--ag-background-color),var(--ag-invalid-color) 50%)}.ag-dnd-ghost-icon{margin-right:var(--ag-grid-size);color:var(--ag-foreground-color)}.ag-popup-child:not(.ag-tooltip-custom){box-shadow:var(--ag-popup-shadow)}.ag-select .ag-picker-field-wrapper{min-height:var(--ag-list-item-height)}.ag-ltr .ag-select .ag-picker-field-wrapper{padding-left:calc(var(--ag-cell-horizontal-padding) / 2)}.ag-rtl .ag-select .ag-picker-field-wrapper{padding-right:calc(var(--ag-cell-horizontal-padding) / 2)}.ag-ltr .ag-select .ag-picker-field-wrapper{padding-right:var(--ag-grid-size)}.ag-rtl .ag-select .ag-picker-field-wrapper{padding-left:var(--ag-grid-size)}.ag-select .ag-picker-field-wrapper{cursor:default}.ag-select.ag-disabled .ag-picker-field-wrapper:focus{box-shadow:none}.ag-select:not(.ag-cell-editor,.ag-label-align-top){min-height:var(--ag-list-item-height)}.ag-select .ag-picker-field-display{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ag-select .ag-picker-field-icon{display:flex;align-items:center}.ag-select.ag-disabled{opacity:.5}.ag-rich-select-value,.ag-rich-select-list{background-color:var(--ag-background-color)}.ag-rich-select-list{width:100%;height:auto;border-radius:var(--ag-border-radius);border:var(--ag-borders) var(--ag-border-color)}.ag-rich-select-list .ag-rich-select-loading{padding:var(--ag-widget-vertical-spacing) var(--ag-widget-horizontal-spacing)}.ag-rich-select-value{border-bottom:var(--ag-borders-secondary) var(--ag-secondary-border-color);padding-top:0;padding-bottom:0}.ag-ltr .ag-rich-select-value{padding-left:calc(var(--ag-cell-horizontal-padding) / 2)}.ag-rtl .ag-rich-select-value{padding-right:calc(var(--ag-cell-horizontal-padding) / 2)}.ag-ltr .ag-rich-select-value{padding-right:var(--ag-grid-size)}.ag-rtl .ag-rich-select-value{padding-left:var(--ag-grid-size)}.ag-ltr .ag-rich-select-field-input{left:calc(var(--ag-cell-horizontal-padding))}.ag-rtl .ag-rich-select-field-input{right:calc(var(--ag-cell-horizontal-padding))}.ag-ltr .ag-rich-select-typing-multi .ag-rich-select-field-input{margin-left:.25rem}.ag-rtl .ag-rich-select-typing-multi .ag-rich-select-field-input{margin-right:.25rem}.ag-ltr .ag-rich-select-typing-multi .ag-rich-select-deselect-button{margin-left:auto}.ag-rtl .ag-rich-select-typing-multi .ag-rich-select-deselect-button{margin-right:auto}.ag-ltr .ag-rich-select-typing-multi .ag-rich-select-deselect-button.ag-hidden+.ag-picker-field-icon{margin-left:auto}.ag-rtl .ag-rich-select-typing-multi .ag-rich-select-deselect-button.ag-hidden+.ag-picker-field-icon{margin-right:auto}.ag-popup-editor .ag-rich-select-value{height:var(--ag-row-height);min-width:200px}.ag-rich-select-virtual-list-item{cursor:default;height:var(--ag-list-item-height)}.ag-rich-select-virtual-list-item:focus-visible:after{content:none}.ag-ltr .ag-rich-select-row{padding-left:calc(var(--ag-cell-horizontal-padding) / 2)}.ag-rtl .ag-rich-select-row{padding-right:calc(var(--ag-cell-horizontal-padding) / 2)}.ag-rich-select-row-selected{background-color:var(--ag-selected-row-background-color)}.ag-rich-select-row:hover,.ag-rich-select-row-highlighted{background-image:linear-gradient(var(--ag-row-hover-color),var(--ag-row-hover-color))}.ag-rich-select-row-text-highlight{font-weight:700}.ag-autocomplete{width:100%}.ag-autocomplete-list-popup{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:var(--ag-border-radius);box-shadow:var(--ag-dropdown-shadow);background-color:var(--ag-background-color);padding:0}.ag-autocomplete-list{width:100%;min-width:200px;height:calc(var(--ag-row-height) * 6.5)}.ag-autocomplete-virtual-list-item{display:flex;cursor:default;height:var(--ag-list-item-height)}.ag-autocomplete-virtual-list-item:focus-visible:after{content:none}.ag-autocomplete-virtual-list-item:hover{background-color:var(--ag-row-hover-color)}.ag-autocomplete-row{display:flex;flex:1 1 auto;align-items:center;overflow:hidden}.ag-autocomplete-row-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0px var(--ag-widget-container-horizontal-padding)}.ag-autocomplete-row-selected{background-color:var(--ag-selected-row-background-color)}.ag-pill{border:1px solid var(--ag-chip-border-color);border-radius:var(--ag-border-radius);background-color:var(--ag-chip-background-color)}.ag-ltr .ag-pill .ag-pill-button{margin-left:var(--ag-grid-size)}.ag-rtl .ag-pill .ag-pill-button{margin-right:var(--ag-grid-size)}.ag-pill:focus-visible{border-color:var(--ag-input-focus-border-color)}.ag-pill .ag-pill-button:hover{cursor:pointer}.ag-content-editable-field-input{background-color:var(--ag-background-color);border:var(--ag-borders-input) var(--ag-input-border-color);border-radius:var(--ag-border-radius);color:var(--ag-foreground-color)}.ag-ltr .ag-content-editable-field-input{padding-left:var(--ag-grid-size)}.ag-rtl .ag-content-editable-field-input{padding-right:var(--ag-grid-size)}.ag-cell-editor .ag-wrapper.ag-content-editable-field-input{--ag-internal-calculated-line-height: var( --ag-line-height, calc(var(--ag-row-height) - var(--ag-row-border-width)) );--ag-internal-padded-row-height: calc(var(--ag-row-height) - var(--ag-row-border-width) - 2px);line-height:min(var(--ag-internal-calculated-line-height),var(--ag-internal-padded-row-height))}.ag-content-editable-field-input:focus,.ag-content-editable-field-input:focus-within{box-shadow:var(--ag-input-focus-box-shadow);border-color:var(--ag-input-focus-border-color)}:where(.ag-content-editable-field.ag-disabled .ag-content-editable-field-input){background-color:var(--ag-input-disabled-background-color);border-color:var(--ag-input-disabled-border-color);color:var(--ag-disabled-foreground-color)}.ag-content-editable-field-input.invalid{border-color:var(--ag-invalid-color)}.ag-formula-token{line-height:var(--ag-line-height, 1.6)}.ag-formula-token-color-1{color:var(--ag-formula-token-1-color)}.ag-formula-token-color-2{color:var(--ag-formula-token-2-color)}.ag-formula-token-color-3{color:var(--ag-formula-token-3-color)}.ag-formula-token-color-4{color:var(--ag-formula-token-4-color)}.ag-formula-token-color-5{color:var(--ag-formula-token-5-color)}.ag-formula-token-color-6{color:var(--ag-formula-token-6-color)}.ag-formula-token-color-7{color:var(--ag-formula-token-7-color)}.ag-formula-range-color-1{--ag-range-selection-border-color: var(--ag-formula-token-1-color);--ag-range-selection-background-color: var(--ag-formula-token-1-background-color)}.ag-formula-range-color-2{--ag-range-selection-border-color: var(--ag-formula-token-2-color);--ag-range-selection-background-color: var(--ag-formula-token-2-background-color)}.ag-formula-range-color-3{--ag-range-selection-border-color: var(--ag-formula-token-3-color);--ag-range-selection-background-color: var(--ag-formula-token-3-background-color)}.ag-formula-range-color-4{--ag-range-selection-border-color: var(--ag-formula-token-4-color);--ag-range-selection-background-color: var(--ag-formula-token-4-background-color)}.ag-formula-range-color-5{--ag-range-selection-border-color: var(--ag-formula-token-5-color);--ag-range-selection-background-color: var(--ag-formula-token-5-background-color)}.ag-formula-range-color-6{--ag-range-selection-border-color: var(--ag-formula-token-6-color);--ag-range-selection-background-color: var(--ag-formula-token-6-background-color)}.ag-formula-range-color-7{--ag-range-selection-border-color: var(--ag-formula-token-7-color);--ag-range-selection-background-color: var(--ag-formula-token-7-background-color)}.ag-range-handle.ag-formula-range-color-1,.ag-fill-handle.ag-formula-range-color-1{background-color:var(--ag-formula-token-1-color)}.ag-range-handle.ag-formula-range-color-2,.ag-fill-handle.ag-formula-range-color-2{background-color:var(--ag-formula-token-2-color)}.ag-range-handle.ag-formula-range-color-3,.ag-fill-handle.ag-formula-range-color-3{background-color:var(--ag-formula-token-3-color)}.ag-range-handle.ag-formula-range-color-4,.ag-fill-handle.ag-formula-range-color-4{background-color:var(--ag-formula-token-4-color)}.ag-range-handle.ag-formula-range-color-5,.ag-fill-handle.ag-formula-range-color-5{background-color:var(--ag-formula-token-5-color)}.ag-range-handle.ag-formula-range-color-6,.ag-fill-handle.ag-formula-range-color-6{background-color:var(--ag-formula-token-6-color)}.ag-dragging-range-handle .ag-dialog,.ag-dragging-fill-handle .ag-dialog{opacity:.7;pointer-events:none}.ag-dragging-range-handle .ag-dialog .ag-charts-canvas-center,.ag-dragging-range-handle .ag-dialog .ag-charts-series-area,.ag-dragging-range-handle .ag-dialog .ag-charts-proxy-elem,.ag-dragging-range-handle .ag-dialog .ag-charts-proxy-legend-toolbar,.ag-dragging-range-handle .ag-dialog .ag-charts-toolbar,.ag-dragging-range-handle .ag-dialog .ag-charts-canvas-overlay>*,.ag-dragging-fill-handle .ag-dialog .ag-charts-canvas-center,.ag-dragging-fill-handle .ag-dialog .ag-charts-series-area,.ag-dragging-fill-handle .ag-dialog .ag-charts-proxy-elem,.ag-dragging-fill-handle .ag-dialog .ag-charts-proxy-legend-toolbar,.ag-dragging-fill-handle .ag-dialog .ag-charts-toolbar,.ag-dragging-fill-handle .ag-dialog .ag-charts-canvas-overlay>*{pointer-events:none}.ag-dialog{border-radius:var(--ag-border-radius);border:var(--ag-borders) var(--ag-border-color);box-shadow:var(--ag-popup-shadow)}.ag-panel{background-color:var(--ag-panel-background-color);border-color:var(--ag-panel-border-color)}.ag-panel-title-bar{color:var(--ag-header-foreground-color);height:var(--ag-header-height);padding:var(--ag-grid-size) var(--ag-cell-horizontal-padding);border-bottom:var(--ag-borders) var(--ag-border-color)}.ag-ltr .ag-panel-title-bar-button{margin-left:var(--ag-grid-size)}.ag-rtl .ag-panel-title-bar-button{margin-right:var(--ag-grid-size)}.ag-has-cell-notes:after{content:"";position:absolute;top:0;right:0;border-style:solid;border-width:0 var(--ag-note-indicator-size) var(--ag-note-indicator-size) 0;border-color:transparent var(--ag-note-indicator-color) transparent transparent;pointer-events:none}.ag-notes-panel.ag-panel{width:100%;border:var(--ag-note-popup-border);background-color:var(--ag-note-popup-background-color)}.ag-notes-panel-content-wrapper{min-height:0;min-width:0}.ag-notes-popup-content{display:flex;width:100%;height:100%;flex-direction:column;min-height:0;min-width:0;gap:calc(var(--ag-grid-size) / 2);padding:var(--ag-note-popup-padding)}.ag-notes-popup-meta{color:var(--ag-note-popup-text-color);font-size:calc(var(--ag-font-size) - 1px)}.ag-ltr .ag-notes-popup-meta{padding-left:calc(var(--ag-grid-size) / 2)}.ag-rtl .ag-notes-popup-meta{padding-right:calc(var(--ag-grid-size) / 2)}.ag-notes-popup-body{display:flex;flex:1 1 auto;min-height:0;min-width:0}.ag-notes-popup-editor{display:flex;flex:1 1 auto;width:100%;height:100%;min-width:0}.ag-notes-popup-editor .ag-text-area-input-wrapper{flex:1 1 auto;width:100%;height:100%;min-width:0;align-items:stretch}.ag-notes-popup-editor .ag-text-area-input{flex:1 1 auto;width:100%;height:100%;min-width:0;resize:none;color:var(--ag-note-popup-input-text-color);background-color:var(--ag-note-popup-input-background-color);padding:calc(var(--ag-grid-size) / 2)}.ag-notes-popup-editor .ag-text-area-input[readonly]{background-color:var(--ag-note-popup-background-color);border:none}.ag-notes-popup-read-only .ag-text-area-input-wrapper{background-color:var(--ag-input-disabled-background-color)}.ag-tooltip{background-color:var(--ag-tooltip-background-color);color:var(--ag-foreground-color);padding:var(--ag-grid-size);border:var(--ag-borders) var(--ag-border-color);border-radius:var(--ag-card-radius);white-space:normal}.ag-tooltip.ag-cell-editor-tooltip,.ag-tooltip.ag-cell-formula-tooltip,.ag-tooltip.ag-calculated-column-expression-tooltip{background-color:var(--ag-tooltip-error-background-color);color:var(--ag-tooltip-error-text-color);border:var(--ag-borders) var(--ag-tooltip-error-border-color);font-weight:500}.ag-tooltip.ag-tooltip-animate,.ag-tooltip-custom.ag-tooltip-animate{transition:opacity 1s}.ag-tooltip.ag-tooltip-animate.ag-tooltip-hiding,.ag-tooltip-custom.ag-tooltip-animate.ag-tooltip-hiding{opacity:0}.ag-ltr .ag-column-select-column,.ag-ltr .ag-column-select-column-group{padding-left:calc(var(--ag-indentation-level) * var(--ag-column-select-indent-size))}.ag-rtl .ag-column-select-column,.ag-rtl .ag-column-select-column-group{padding-right:calc(var(--ag-indentation-level) * var(--ag-column-select-indent-size))}.ag-column-select-header-icon{cursor:pointer}.ag-column-select-header-icon:focus-visible{outline:none}.ag-column-select-header-icon:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:0;left:0;display:block;width:calc(100% + -0px);height:calc(100% + -0px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-ltr .ag-column-group-icons:not(:last-child),.ag-ltr .ag-column-select-header-icon:not(:last-child),.ag-ltr .ag-column-select-header-checkbox:not(:last-child),.ag-ltr .ag-column-select-header-filter-wrapper:not(:last-child),.ag-ltr .ag-column-select-checkbox:not(:last-child),.ag-ltr .ag-column-select-column-drag-handle:not(:last-child),.ag-ltr .ag-column-select-column-group-drag-handle:not(:last-child),.ag-ltr .ag-column-select-column-label:not(:last-child){margin-right:var(--ag-widget-horizontal-spacing)}.ag-rtl .ag-column-group-icons:not(:last-child),.ag-rtl .ag-column-select-header-icon:not(:last-child),.ag-rtl .ag-column-select-header-checkbox:not(:last-child),.ag-rtl .ag-column-select-header-filter-wrapper:not(:last-child),.ag-rtl .ag-column-select-checkbox:not(:last-child),.ag-rtl .ag-column-select-column-drag-handle:not(:last-child),.ag-rtl .ag-column-select-column-group-drag-handle:not(:last-child),.ag-rtl .ag-column-select-column-label:not(:last-child){margin-left:var(--ag-widget-horizontal-spacing)}.ag-column-select-virtual-list-item:focus-visible{outline:none}.ag-column-select-virtual-list-item:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:1px;left:1px;display:block;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-column-select-column-group:not(:last-child),.ag-column-select-column:not(:last-child){margin-bottom:var(--ag-widget-vertical-spacing)}.ag-column-select-column-readonly,.ag-column-select-column-group-readonly{color:var(--ag-disabled-foreground-color);pointer-events:none}.ag-ltr .ag-column-select-add-group-indent{margin-left:calc(var(--ag-icon-size) + var(--ag-grid-size) * 2)}.ag-rtl .ag-column-select-add-group-indent{margin-right:calc(var(--ag-icon-size) + var(--ag-grid-size) * 2)}.ag-column-select-virtual-list-viewport{padding:calc(var(--ag-widget-container-vertical-padding) * .5) 0px}.ag-column-select-virtual-list-item{padding:0 var(--ag-widget-container-horizontal-padding)}.ag-checkbox-edit{padding-left:var(--ag-cell-horizontal-padding);padding-right:var(--ag-cell-horizontal-padding)}.ag-pill-select .ag-column-drop{border-bottom:0;min-height:unset}.ag-pill-select .ag-column-drop-list{padding:0}.ag-pill-select .ag-select{padding-top:var(--ag-grid-size)}.ag-pill-select .ag-picker-field-wrapper{background-color:transparent;border:0}.ag-pill-select .ag-picker-field-display{cursor:pointer}.ag-rtl{text-align:right}.ag-root-wrapper{border-radius:var(--ag-wrapper-border-radius);border:var(--ag-borders) var(--ag-border-color)}.ag-row>.ag-cell-wrapper.ag-row-group{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * var(--ag-indentation-level))}.ag-cell-wrapper.ag-row-group,.ag-cell-wrapper.ag-row-group-leaf-indent,.ag-cell-wrapper.ag-pivot-leaf-group{padding-left:calc(var(--ag-indentation-level) * var(--ag-row-group-indent-size))}.ag-cell-wrapper>.ag-group-checkbox-spacing{width:var(--ag-icon-size);margin-right:var(--ag-cell-widget-spacing)}.ag-ltr .ag-row-group-leaf-indent{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-group-leaf-indent{margin-right:var(--ag-row-group-indent-size)}.ag-row:not(.ag-row-level-0) .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-value-change-delta{padding-right:2px}.ag-value-change-delta-up{color:var(--ag-value-change-delta-up-color)}.ag-value-change-delta-down{color:var(--ag-value-change-delta-down-color)}.ag-value-change-value{background-color:transparent;border-radius:1px;padding-left:1px;padding-right:1px;transition:background-color 1s}.ag-value-change-value-highlight{background-color:var(--ag-value-change-value-highlight-background-color);transition:background-color .1s}.ag-cell-data-changed{background-color:var(--ag-value-change-value-highlight-background-color)!important}.ag-cell-data-changed-animation{background-color:transparent}.ag-cell-highlight{background-color:var(--ag-range-selection-highlight-color)!important}.ag-row,.ag-spanned-row{color:var(--ag-data-color)}.ag-row{height:var(--ag-row-height)}.ag-row.ag-row-editing-invalid{background-color:var(--ag-full-row-invalid-background-color)}.ag-row.ag-full-width-row:not(.ag-embedded-full-width-row){border-bottom:var(--ag-row-border-style) var(--ag-row-border-color) var(--ag-row-border-width)}.ag-row:not(.ag-header-row,.ag-full-width-row)>.ag-grid-pinned-left-cells,.ag-row:not(.ag-header-row,.ag-full-width-row)>.ag-grid-scrolling-cells,.ag-row:not(.ag-header-row,.ag-full-width-row)>.ag-grid-pinned-right-cells,.ag-row.ag-embedded-full-width-row>.ag-grid-pinned-left-cells,.ag-row.ag-embedded-full-width-row>.ag-grid-scrolling-cells,.ag-row.ag-embedded-full-width-row>.ag-grid-pinned-right-cells{border-bottom:var(--ag-row-border-style) var(--ag-row-border-color) var(--ag-row-border-width)}.ag-grid-pinned-bottom-rows-container .ag-row-last:not(.ag-header-row,.ag-full-width-row)>.ag-grid-pinned-left-cells,.ag-grid-pinned-bottom-rows-container .ag-row-last:not(.ag-header-row,.ag-full-width-row)>.ag-grid-scrolling-cells,.ag-grid-pinned-bottom-rows-container .ag-row-last:not(.ag-header-row,.ag-full-width-row)>.ag-grid-pinned-right-cells,.ag-grid-pinned-bottom-rows-container .ag-row-last.ag-embedded-full-width-row>.ag-grid-pinned-left-cells,.ag-grid-pinned-bottom-rows-container .ag-row-last.ag-embedded-full-width-row>.ag-grid-scrolling-cells,.ag-grid-pinned-bottom-rows-container .ag-row-last.ag-embedded-full-width-row>.ag-grid-pinned-right-cells{border-bottom:none}:where(.ag-grid-sticky-bottom-rows-container) .ag-row:where(:not(.ag-header-row,.ag-full-width-row))>.ag-grid-pinned-left-cells,:where(.ag-grid-sticky-bottom-rows-container) .ag-row:where(:not(.ag-header-row,.ag-full-width-row))>.ag-grid-scrolling-cells,:where(.ag-grid-sticky-bottom-rows-container) .ag-row:where(:not(.ag-header-row,.ag-full-width-row))>.ag-grid-pinned-right-cells,:where(.ag-grid-sticky-bottom-rows-container) .ag-row:where(.ag-embedded-full-width-row)>.ag-grid-pinned-left-cells,:where(.ag-grid-sticky-bottom-rows-container) .ag-row:where(.ag-embedded-full-width-row)>.ag-grid-scrolling-cells,:where(.ag-grid-sticky-bottom-rows-container) .ag-row:where(.ag-embedded-full-width-row)>.ag-grid-pinned-right-cells{border-bottom:none;border-top:var(--ag-row-border)}:where(.ag-row:not(.ag-header-row)){background-color:var(--ag-data-background-color);--ag-internal-row-overlay-color: transparent;--ag-internal-row-overlay-image: none}.ag-grid-container-wrapper{width:100%;height:100%}.ag-row:not(.ag-header-row)>.ag-grid-pinned-left-cells,.ag-row:not(.ag-header-row)>.ag-grid-pinned-right-cells{background-color:inherit;background-image:linear-gradient(var(--ag-data-background-color),var(--ag-data-background-color))}.ag-row:not(.ag-header-row) .ag-grid-container-wrapper{background-color:inherit}.ag-spanned-cell-wrapper{background-color:var(--ag-data-background-color);position:absolute}.ag-spanned-cell-wrapper>.ag-spanned-cell{display:block;position:relative}.ag-row-highlight-above:after,.ag-row-highlight-inside:after,.ag-row-highlight-below:after{content:"";position:absolute;width:calc(100% - 1px);height:var(--ag-row-drag-indicator-width);background-color:var(--ag-row-drag-indicator-color);border-radius:calc(var(--ag-row-drag-indicator-width) / 2);left:1px;pointer-events:none}.ag-row-highlight-above:after{top:0}.ag-row-highlight-below:after{bottom:0}.ag-row-highlight-indent:after{display:block;width:auto;left:calc(2 * (var(--ag-cell-widget-spacing) + var(--ag-icon-size)) + var(--ag-cell-horizontal-padding) + var(--ag-row-highlight-level) * var(--ag-row-group-indent-size));right:1px}.ag-row-highlight-inside:after{display:block;width:auto;height:auto;top:0;right:0;bottom:0;left:0;background-color:var(--ag-selected-row-background-color);border:1px solid var(--ag-range-selection-border-color)}.ag-grid-scrolling-rows,.ag-grid-pinned-bottom-rows-container{background-color:var(--ag-data-background-color)}.ag-row-odd{background-color:var(--ag-odd-row-background-color)}.ag-row-selected{--ag-internal-row-overlay-color: var(--ag-selected-row-background-color)}.ag-row-hover:not(.ag-full-width-row),.ag-row-hover.ag-full-width-row.ag-row-group{--ag-internal-row-overlay-color: var(--ag-row-hover-color)}.ag-row-selected .ag-grid-pinned-left-cells:before,.ag-row-selected .ag-grid-pinned-right-cells:before,.ag-row-selected .ag-grid-scrolling-cells:before,.ag-row-hover:not(.ag-full-width-row) .ag-grid-pinned-left-cells:before,.ag-row-hover:not(.ag-full-width-row) .ag-grid-pinned-right-cells:before,.ag-row-hover:not(.ag-full-width-row) .ag-grid-scrolling-cells:before{content:"";display:block;position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;background-color:var(--ag-internal-row-overlay-color);background-image:var(--ag-internal-row-overlay-image)}.ag-row-selected.ag-full-width-row:before,.ag-row-hover.ag-full-width-row.ag-row-group:before{content:"";display:block;position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;background-color:var(--ag-internal-row-overlay-color);background-image:var(--ag-internal-row-overlay-image)}.ag-row.ag-full-width-row>*{position:relative}.ag-row-hover.ag-row-selected{--ag-internal-row-overlay-color: var(--ag-row-hover-color);--ag-internal-row-overlay-image: linear-gradient( var(--ag-selected-row-background-color), var(--ag-selected-row-background-color) )}.ag-column-hover{background-color:var(--ag-column-hover-color)}.ag-header-range-highlight{background-color:var(--ag-range-header-highlight-color)}.ag-ltr .ag-right-aligned-cell{text-align:right}.ag-rtl .ag-right-aligned-cell{text-align:left}.ag-ltr .ag-right-aligned-cell .ag-cell-value,.ag-ltr .ag-right-aligned-cell .ag-group-value{margin-left:auto}.ag-rtl .ag-right-aligned-cell .ag-cell-value,.ag-rtl .ag-right-aligned-cell .ag-group-value{margin-right:auto}.ag-ltr .ag-right-aligned-cell .ag-skeleton-effect{margin-left:auto}.ag-rtl .ag-right-aligned-cell .ag-skeleton-effect{margin-right:auto}.ag-cell,.ag-full-width-row .ag-cell-wrapper.ag-row-group{--ag-internal-calculated-line-height: var( --ag-line-height, calc(var(--ag-row-height) - var(--ag-row-border-width)) );--ag-internal-padded-row-height: calc(var(--ag-row-height) - var(--ag-row-border-width) - 2px);border:1px solid transparent;line-height:min(var(--ag-internal-calculated-line-height),var(--ag-internal-padded-row-height));padding-left:calc(var(--ag-cell-horizontal-padding) - 1px + var(--ag-row-group-indent-size) * var(--ag-indentation-level));padding-right:calc(var(--ag-cell-horizontal-padding) - 1px);-webkit-font-smoothing:subpixel-antialiased}.ag-row>.ag-cell-wrapper{padding-left:calc(var(--ag-cell-horizontal-padding) - 1px);padding-right:calc(var(--ag-cell-horizontal-padding) - 1px)}.ag-row-dragging{cursor:move;opacity:.5}.ag-cell-inline-editing{border:1px solid var(--ag-border-color);border-radius:var(--ag-card-radius);box-shadow:var(--ag-card-shadow);padding:0;background-color:var(--ag-control-panel-background-color)}.ag-popup-editor .ag-large-text,.ag-autocomplete-list-popup{border:var(--ag-borders) var(--ag-border-color);background:var(--ag-background-color);border-radius:var(--ag-card-radius);box-shadow:var(--ag-card-shadow);padding:var(--ag-grid-size);background-color:var(--ag-control-panel-background-color);padding:0}.ag-large-text-input{height:auto;padding:var(--ag-cell-horizontal-padding)}.ag-rtl .ag-large-text-input textarea{resize:none}.ag-details-row{padding:calc(var(--ag-grid-size) * 5);background-color:var(--ag-data-background-color)}.ag-layout-auto-height .ag-grid-scrolling-rows,.ag-layout-print .ag-grid-scrolling-rows{min-height:var(--ag-auto-height-min-body-height)}.ag-overlay-loading-wrapper,.ag-overlay-exporting-wrapper,.ag-overlay-modal-wrapper{background-color:var(--ag-modal-overlay-background-color)}.ag-overlay-loading-center,.ag-overlay-exporting-center{border:var(--ag-borders) var(--ag-border-color);background:var(--ag-background-color);border-radius:var(--ag-card-radius);box-shadow:var(--ag-card-shadow);padding:var(--ag-grid-size);display:flex}.ag-skeleton-container{width:100%;height:100%;align-content:center}.ag-skeleton-effect{background-color:var(--ag-row-loading-skeleton-effect-color);width:100%;height:1em;border-radius:.25rem;animation:ag-skeleton-loading 1.5s ease-in-out .5s infinite}@keyframes ag-skeleton-loading{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.ag-ltr .ag-loading{padding-left:var(--ag-cell-horizontal-padding)}.ag-rtl .ag-loading{padding-right:var(--ag-cell-horizontal-padding)}.ag-loading{display:flex;height:100%;align-items:center}.ag-ltr .ag-loading-icon{padding-right:var(--ag-cell-widget-spacing)}.ag-rtl .ag-loading-icon{padding-left:var(--ag-cell-widget-spacing)}.ag-icon-loading{animation-name:spin;animation-duration:1s;animation-iteration-count:infinite;animation-timing-function:linear}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ag-body-vertical-content-no-gap .ag-has-bottom-pinned-rows .ag-grid-scrolling-container .ag-row-last>.ag-grid-pinned-left-cells,.ag-body-vertical-content-no-gap .ag-has-bottom-pinned-rows .ag-grid-scrolling-container .ag-row-last>.ag-grid-scrolling-cells,.ag-body-vertical-content-no-gap .ag-has-bottom-pinned-rows .ag-grid-scrolling-container .ag-row-last>.ag-grid-pinned-right-cells,.ag-body-vertical-content-no-gap .ag-has-bottom-pinned-rows .ag-grid-pinned-bottom-rows .ag-grid-sticky-bottom-rows-container .ag-row-last>.ag-grid-pinned-left-cells,.ag-body-vertical-content-no-gap .ag-has-bottom-pinned-rows .ag-grid-pinned-bottom-rows .ag-grid-sticky-bottom-rows-container .ag-row-last>.ag-grid-scrolling-cells,.ag-body-vertical-content-no-gap .ag-has-bottom-pinned-rows .ag-grid-pinned-bottom-rows .ag-grid-sticky-bottom-rows-container .ag-row-last>.ag-grid-pinned-right-cells{border-bottom:none}.ag-grid-pinned-bottom-rows>.ag-grid-pinned-bottom-rows-container>.ag-row:first-child:not(.ag-row-pinned)>.ag-grid-pinned-left-cells,.ag-grid-pinned-bottom-rows>.ag-grid-pinned-bottom-rows-container>.ag-row:first-child:not(.ag-row-pinned)>.ag-grid-scrolling-cells,.ag-grid-pinned-bottom-rows>.ag-grid-pinned-bottom-rows-container>.ag-row:first-child:not(.ag-row-pinned)>.ag-grid-pinned-right-cells{border-top:var(--ag-row-border-style) var(--ag-row-border-color) var(--ag-row-border-width)}.ag-grid-pinned-bottom-rows>.ag-grid-pinned-bottom-rows-container>.ag-row:first-child:not(.ag-row-pinned)>.ag-full-width-anchor{border-top:var(--ag-row-border-style) var(--ag-row-border-color) var(--ag-row-border-width)}.ag-body-horizontal-scroll-viewport,.ag-body-vertical-scroll-viewport{background-color:var(--ag-background-color)}.ag-grid-scrollable-area.ag-has-bottom-pinned-rows .ag-grid-pinned-bottom-rows-container:before{content:"";position:absolute;left:0;right:0;top:0;border-top:var(--ag-borders-critical) var(--ag-border-color);pointer-events:none;z-index:3}.ag-find-cell{display:block;overflow:hidden;text-overflow:ellipsis}.ag-find-match{color:var(--ag-find-match-color);background-color:var(--ag-find-match-background-color)}.ag-find-active-match{color:var(--ag-find-active-match-color);background-color:var(--ag-find-active-match-background-color)}.ag-ltr .ag-cell{border-right:var(--ag-cell-horizontal-border)}.ag-rtl .ag-cell{border-left:var(--ag-cell-horizontal-border)}.ag-ltr .ag-cell{border-right-width:1px}.ag-rtl .ag-cell{border-left-width:1px}.ag-cell.ag-cell-first-right-pinned:not(.ag-cell-range-left):not(.ag-cell-range-single-cell){border-left:var(--ag-borders-critical) var(--ag-border-color)}.ag-cell.ag-cell-last-left-pinned:not(.ag-cell-range-right):not(.ag-cell-range-single-cell){border-right:var(--ag-borders-critical) var(--ag-border-color)}.ag-cell-range-selected:not(.ag-cell-focus),.ag-cell-range-selected.ag-cell-range-chart,.ag-grid-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing){background-color:var(--ag-range-selection-background-color)}.ag-cell-range-selected:not(.ag-cell-focus).ag-cell-range-chart,.ag-cell-range-selected.ag-cell-range-chart.ag-cell-range-chart,.ag-grid-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing).ag-cell-range-chart{background-color:var(--ag-range-selection-chart-background-color)!important}.ag-cell-range-selected:not(.ag-cell-focus).ag-cell-range-chart.ag-cell-range-chart-category,.ag-cell-range-selected.ag-cell-range-chart.ag-cell-range-chart.ag-cell-range-chart-category,.ag-grid-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing).ag-cell-range-chart.ag-cell-range-chart-category{background-color:var(--ag-range-selection-chart-category-background-color)!important}.ag-cell-range-selected-1:not(.ag-cell-focus),.ag-cell-range-selected-1.ag-cell-range-chart,.ag-cell-range-selected-1.ag-formula-range,.ag-root:not(.ag-context-menu-open) .ag-grid-viewport:not(.ag-has-focus) .ag-cell-range-selected-1:not(.ag-cell-inline-editing){background-color:var(--ag-range-selection-background-color)}.ag-cell-range-selected-2:not(.ag-cell-focus),.ag-cell-range-selected-2.ag-cell-range-chart,.ag-cell-range-selected-2.ag-formula-range,.ag-grid-viewport:not(.ag-has-focus) .ag-cell-range-selected-2{background-color:var(--ag-range-selection-background-color-2)}.ag-cell-range-selected-3:not(.ag-cell-focus),.ag-cell-range-selected-3.ag-cell-range-chart,.ag-cell-range-selected-3.ag-formula-range,.ag-grid-viewport:not(.ag-has-focus) .ag-cell-range-selected-3{background-color:var(--ag-range-selection-background-color-3)}.ag-cell-range-selected-4:not(.ag-cell-focus),.ag-cell-range-selected-4.ag-cell-range-chart,.ag-cell-range-selected-4.ag-formula-range,.ag-grid-viewport:not(.ag-has-focus) .ag-cell-range-selected-4{background-color:var(--ag-range-selection-background-color-4)}.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-top{border-top-color:var(--ag-range-selection-border-color);border-top-style:var(--ag-range-selection-border-style)}.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-right{border-right-color:var(--ag-range-selection-border-color);border-right-style:var(--ag-range-selection-border-style)}.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-bottom{border-bottom-color:var(--ag-range-selection-border-color);border-bottom-style:var(--ag-range-selection-border-style)}.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-left{border-left-color:var(--ag-range-selection-border-color);border-left-style:var(--ag-range-selection-border-style)}.ag-ltr .ag-cell-focus:not(.ag-cell-range-selected):focus-within,.ag-ltr .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),.ag-ltr .ag-full-width-row.ag-row-focus:focus .ag-cell-wrapper.ag-row-group,.ag-ltr .ag-cell-range-single-cell,.ag-ltr .ag-cell-range-single-cell.ag-cell-range-handle,.ag-rtl .ag-cell-focus:not(.ag-cell-range-selected):focus-within,.ag-rtl .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),.ag-rtl .ag-full-width-row.ag-row-focus:focus .ag-cell-wrapper.ag-row-group,.ag-rtl .ag-cell-range-single-cell,.ag-rtl .ag-cell-range-single-cell.ag-cell-range-handle{border:1px solid;border-color:var(--ag-range-selection-border-color);border-style:var(--ag-range-selection-border-style);outline:initial}.ag-cell.ag-selection-fill-top,.ag-cell.ag-selection-fill-top.ag-cell-range-selected{border-top:1px dashed;border-top-color:var(--ag-range-selection-border-color)}.ag-ltr .ag-cell.ag-selection-fill-right,.ag-ltr .ag-cell.ag-selection-fill-right.ag-cell-range-selected{border-right:1px dashed var(--ag-range-selection-border-color)!important}.ag-rtl .ag-cell.ag-selection-fill-right,.ag-rtl .ag-cell.ag-selection-fill-right.ag-cell-range-selected{border-left:1px dashed var(--ag-range-selection-border-color)!important}.ag-cell.ag-selection-fill-bottom,.ag-cell.ag-selection-fill-bottom.ag-cell-range-selected{border-bottom:1px dashed;border-bottom-color:var(--ag-range-selection-border-color)}.ag-ltr .ag-cell.ag-selection-fill-left,.ag-ltr .ag-cell.ag-selection-fill-left.ag-cell-range-selected{border-left:1px dashed var(--ag-range-selection-border-color)!important}.ag-rtl .ag-cell.ag-selection-fill-left,.ag-rtl .ag-cell.ag-selection-fill-left.ag-cell-range-selected{border-right:1px dashed var(--ag-range-selection-border-color)!important}.ag-fill-handle,.ag-range-handle{position:absolute;width:6px;height:6px;bottom:-1px}.ag-ltr .ag-fill-handle,.ag-ltr .ag-range-handle{right:-1px}.ag-rtl .ag-fill-handle,.ag-rtl .ag-range-handle{left:-1px}.ag-fill-handle,.ag-range-handle{background-color:var(--ag-range-selection-border-color)}.ag-fill-handle{cursor:crosshair}.ag-range-handle{cursor:nwse-resize}.ag-cell-inline-editing{border-color:var(--ag-input-focus-border-color)!important}.ag-cell-inline-editing.ag-cell-editing-error{border-color:var(--ag-invalid-color)!important}.ag-menu{border:var(--ag-borders) var(--ag-border-color);background:var(--ag-background-color);border-radius:var(--ag-card-radius);box-shadow:var(--ag-card-shadow);padding:var(--ag-grid-size);background-color:var(--ag-menu-background-color);border-color:var(--ag-menu-border-color);padding:0}.ag-menu.ag-tabs{min-width:var(--ag-tab-min-width)}.ag-menu-list{cursor:default;padding:var(--ag-grid-size) 0}.ag-menu-separator{height:calc(var(--ag-grid-size) * 2 + 1px)}.ag-menu-separator-part:after{content:"";display:block;border-top:var(--ag-borders-critical) var(--ag-border-color)}.ag-menu-option{position:relative}.ag-menu-option:focus-visible{outline:none}.ag-menu-option:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:1px;left:1px;display:block;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-menu-option-active,.ag-compact-menu-option-active{background-color:var(--ag-row-hover-color)}.ag-menu-option-part,.ag-compact-menu-option-part{line-height:var(--ag-icon-size);padding:calc(var(--ag-grid-size) + 2px) 0}.ag-menu-option-disabled,.ag-compact-menu-option-disabled,.ag-show-values-as-inapplicable{opacity:.5}.ag-ltr .ag-menu-option-icon,.ag-ltr .ag-compact-menu-option-icon{padding-left:calc(var(--ag-grid-size) * 2)}.ag-rtl .ag-menu-option-icon,.ag-rtl .ag-compact-menu-option-icon{padding-right:calc(var(--ag-grid-size) * 2)}.ag-menu-option-icon,.ag-compact-menu-option-icon{width:var(--ag-icon-size)}.ag-menu-option-text,.ag-compact-menu-option-text{padding-left:calc(var(--ag-grid-size) * 2);padding-right:calc(var(--ag-grid-size) * 2)}.ag-ltr .ag-menu-option-shortcut,.ag-ltr .ag-compact-menu-option-shortcut{padding-right:var(--ag-grid-size)}.ag-rtl .ag-menu-option-shortcut,.ag-rtl .ag-compact-menu-option-shortcut{padding-left:var(--ag-grid-size)}.ag-ltr .ag-menu-option-popup-pointer,.ag-ltr .ag-compact-menu-option-popup-pointer{padding-right:var(--ag-grid-size)}.ag-rtl .ag-menu-option-popup-pointer,.ag-rtl .ag-compact-menu-option-popup-pointer{padding-left:var(--ag-grid-size)}.ag-tabs-header,.ag-tabs-header-wrapper{display:flex}.ag-tabs-header-wrapper .ag-tabs-header{flex:1}.ag-tabs-close-button-wrapper{border:0;border-right:var(--ag-borders) var(--ag-border-color);padding:var(--ag-grid-size)}.ag-tabs-close-button{border:0;background-color:unset;cursor:pointer;padding:0}.ag-tab{border-bottom:var(--ag-selected-tab-underline-width) solid transparent;transition:border-bottom var(--ag-selected-tab-underline-transition-speed);display:flex;flex:none;align-items:center;justify-content:center;cursor:pointer}.ag-tab:focus-visible{outline:none}.ag-tab:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-tab-selected{border-bottom-color:var(--ag-selected-tab-underline-color)}.ag-menu-header{color:var(--ag-secondary-foreground-color)}.ag-filter-separator{border-top:var(--ag-borders-critical) var(--ag-border-color)}.ag-filter-select .ag-picker-field-wrapper{width:0}.ag-filter-condition-operator{height:17px}.ag-ltr .ag-filter-condition-operator-or{margin-left:calc(var(--ag-grid-size) * 2)}.ag-rtl .ag-filter-condition-operator-or{margin-right:calc(var(--ag-grid-size) * 2)}.ag-set-filter-select-all{padding-top:var(--ag-widget-container-vertical-padding)}.ag-set-filter-list,.ag-filter-no-matches{height:calc(var(--ag-list-item-height) * 6)}.ag-set-filter-tree-list{height:calc(var(--ag-list-item-height) * 10)}.ag-set-filter-filter{margin-top:var(--ag-widget-container-vertical-padding);margin-left:var(--ag-widget-container-horizontal-padding);margin-right:var(--ag-widget-container-horizontal-padding)}.ag-filter-to{margin-top:var(--ag-widget-vertical-spacing)}.ag-mini-filter{margin:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding)}.ag-set-filter{--ag-indentation-level: 0}.ag-ltr .ag-set-filter-item{padding-left:calc(var(--ag-widget-container-horizontal-padding) + var(--ag-indentation-level) * var(--ag-set-filter-indent-size))}.ag-rtl .ag-set-filter-item{padding-right:calc(var(--ag-widget-container-horizontal-padding) + var(--ag-indentation-level) * var(--ag-set-filter-indent-size))}.ag-ltr .ag-set-filter-add-group-indent{margin-left:calc(var(--ag-icon-size) + var(--ag-widget-container-horizontal-padding))}.ag-rtl .ag-set-filter-add-group-indent{margin-right:calc(var(--ag-icon-size) + var(--ag-widget-container-horizontal-padding))}.ag-ltr .ag-set-filter-group-icons{margin-right:var(--ag-widget-container-horizontal-padding)}.ag-rtl .ag-set-filter-group-icons{margin-left:var(--ag-widget-container-horizontal-padding)}.ag-filter-menu .ag-set-filter-list{min-width:max(200px,100%)}.ag-filter-virtual-list-item:focus-visible{outline:none}.ag-filter-virtual-list-item:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:1px;left:1px;display:block;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-filter-apply-panel{padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);border-top:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-filter-apply-panel-button{line-height:1.5}.ag-ltr .ag-filter-apply-panel-button{margin-left:calc(var(--ag-grid-size) * 2)}.ag-rtl .ag-filter-apply-panel-button{margin-right:calc(var(--ag-grid-size) * 2)}.ag-simple-filter-body-wrapper{display:flex;flex-direction:column;gap:var(--ag-widget-vertical-spacing);padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);padding-bottom:var(--ag-widget-container-vertical-padding);overflow-y:auto;min-height:calc(var(--ag-list-item-height) + var(--ag-widget-container-vertical-padding) + var(--ag-widget-vertical-spacing))}.ag-simple-filter-body-wrapper .ag-resizer-wrapper{margin:0}.ag-menu:not(.ag-tabs) .ag-filter .ag-filter-body-wrapper,.ag-menu:not(.ag-tabs) .ag-filter>*:not(.ag-filter-wrapper){min-width:calc(var(--ag-menu-min-width) - 2px)}.ag-filter-no-matches{padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding)}.ag-multi-filter-menu-item{margin:var(--ag-grid-size) 0}.ag-multi-filter-group-title-bar{padding:calc(var(--ag-grid-size) * 2) var(--ag-grid-size);background-color:transparent}.ag-group-filter-field-select-wrapper{padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);padding-bottom:calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing))}.ag-group-filter-field-select-wrapper>*{margin-bottom:var(--ag-widget-vertical-spacing)}.ag-multi-filter-group-title-bar:focus-visible{outline:none}.ag-multi-filter-group-title-bar:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-side-bar{position:relative}.ag-tool-panel-wrapper{width:var(--ag-horizontal-size, var(--ag-side-bar-panel-width));background-color:var(--ag-control-panel-background-color)}.ag-tool-panel-content{display:flex;height:100%;overflow:hidden auto}.ag-tool-panel-wrapper.ag-tool-panel-animating{display:block!important;transition:width var(--ag-side-bar-panel-animation-duration) ease-in-out}@media (prefers-reduced-motion: reduce){.ag-tool-panel-wrapper.ag-tool-panel-animating{transition:none}}.ag-tool-panel-external{width:100%;display:flex;flex-direction:row}:where(.ag-tool-panel-external) .ag-tool-panel-wrapper{flex-grow:1}.ag-side-buttons{padding-top:calc(var(--ag-grid-size) * 4);width:calc(var(--ag-icon-size) + 4px);position:relative;overflow:hidden auto;scrollbar-width:thin}button.ag-side-button-button{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;background:transparent;padding:calc(var(--ag-grid-size) * 2) 0 calc(var(--ag-grid-size) * 2) 0;width:100%;margin:0;min-height:calc(var(--ag-grid-size) * 18);background-position-y:center;background-position-x:center;background-repeat:no-repeat;border:none;border-top:var(--ag-borders-side-button) var(--ag-border-color);border-bottom:var(--ag-borders-side-button) var(--ag-border-color)}button.ag-side-button-button:focus{box-shadow:none}.ag-side-button-button:focus-visible{outline:none}.ag-side-button-button:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-selected button.ag-side-button-button{background-color:var(--ag-side-button-selected-background-color)}.ag-side-button-icon-wrapper{margin-bottom:3px}.ag-ltr .ag-side-bar-left,.ag-rtl .ag-side-bar-right{border-right:var(--ag-borders) var(--ag-border-color)}.ag-ltr .ag-side-bar-left .ag-tool-panel-wrapper,.ag-rtl .ag-side-bar-right .ag-tool-panel-wrapper{border-left:var(--ag-borders) var(--ag-border-color)}.ag-ltr .ag-side-bar-left .ag-side-button-button,.ag-rtl .ag-side-bar-right .ag-side-button-button{border-right:var(--ag-selected-tab-underline-width) solid transparent;transition:border-right var(--ag-selected-tab-underline-transition-speed)}.ag-ltr .ag-side-bar-left .ag-selected .ag-side-button-button,.ag-rtl .ag-side-bar-right .ag-selected .ag-side-button-button{border-right-color:var(--ag-selected-tab-underline-color)}.ag-rtl .ag-side-bar-left,.ag-ltr .ag-side-bar-right{border-left:var(--ag-borders) var(--ag-border-color)}.ag-rtl .ag-side-bar-left .ag-tool-panel-wrapper,.ag-ltr .ag-side-bar-right .ag-tool-panel-wrapper{border-right:var(--ag-borders) var(--ag-border-color)}.ag-rtl .ag-side-bar-left .ag-side-button-button,.ag-ltr .ag-side-bar-right .ag-side-button-button{border-left:var(--ag-selected-tab-underline-width) solid transparent;transition:border-left var(--ag-selected-tab-underline-transition-speed)}.ag-rtl .ag-side-bar-left .ag-selected .ag-side-button-button,.ag-ltr .ag-side-bar-right .ag-selected .ag-side-button-button{border-left-color:var(--ag-selected-tab-underline-color)}.ag-filter-toolpanel-header{height:calc(var(--ag-grid-size) * 6)}.ag-filter-toolpanel-header,.ag-filter-toolpanel-search{padding:0 var(--ag-grid-size)}.ag-filter-toolpanel-header:focus-visible{outline:none}.ag-filter-toolpanel-header:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-filter-toolpanel-group:not(.ag-has-filter)>.ag-group-title-bar .ag-filter-toolpanel-group-instance-header-icon{display:none}.ag-filter-toolpanel-group-level-0-header{height:calc(var(--ag-grid-size) * 8)}.ag-filter-toolpanel-group-item{margin-top:calc(var(--ag-grid-size) * .5);margin-bottom:calc(var(--ag-grid-size) * .5)}.ag-filter-toolpanel-search{height:var(--ag-header-height)}.ag-filter-toolpanel-search-input{flex-grow:1;height:calc(var(--ag-grid-size) * 4)}.ag-ltr .ag-filter-toolpanel-search-input{margin-right:var(--ag-grid-size)}.ag-rtl .ag-filter-toolpanel-search-input{margin-left:var(--ag-grid-size)}.ag-filter-toolpanel-group-level-0{border-top:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-ltr .ag-filter-toolpanel-expand,.ag-ltr .ag-filter-toolpanel-group-title-bar-icon{margin-right:var(--ag-grid-size)}.ag-rtl .ag-filter-toolpanel-expand,.ag-rtl .ag-filter-toolpanel-group-title-bar-icon{margin-left:var(--ag-grid-size)}.ag-filter-toolpanel-group-title-bar{background-color:transparent}.ag-ltr .ag-filter-toolpanel-header{padding-left:calc(var(--ag-filter-tool-panel-group-indent) * var(--ag-indentation-level, 0) + var(--ag-grid-size))}.ag-rtl .ag-filter-toolpanel-header{padding-right:calc(var(--ag-filter-tool-panel-group-indent) * var(--ag-indentation-level, 0) + var(--ag-grid-size))}.ag-filter-toolpanel-instance-filter{border-bottom:var(--ag-borders) var(--ag-border-color);border-top:var(--ag-borders) var(--ag-border-color);margin-top:var(--ag-grid-size)}.ag-ltr .ag-filter-toolpanel-group-instance-header-icon,.ag-ltr .ag-filter-toolpanel-instance-header-icon{margin-left:var(--ag-grid-size)}.ag-rtl .ag-filter-toolpanel-group-instance-header-icon,.ag-rtl .ag-filter-toolpanel-instance-header-icon{margin-right:var(--ag-grid-size)}.ag-set-filter-group-icons{color:var(--ag-secondary-foreground-color)}.ag-filter-panel{display:flex;flex-direction:column;width:100%}.ag-filter-panel .ag-simple-filter-body-wrapper{padding:var(--ag-widget-vertical-spacing) var(--ag-widget-container-horizontal-padding) 0}.ag-filter-panel .ag-mini-filter{margin-top:var(--ag-widget-vertical-spacing);margin-left:var(--ag-widget-container-horizontal-padding);margin-right:var(--ag-widget-container-horizontal-padding)}.ag-filter-panel .ag-standard-button{transition:background-color .25s ease-in-out,color .25s ease-in-out}.ag-filter-panel .ag-simple-filter-body-wrapper>*:last-child,.ag-filter-panel .ag-set-filter-body-wrapper{margin-bottom:var(--ag-widget-container-vertical-padding)}.ag-filter-panel-container{flex:1;overflow:auto;padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding) 0}.ag-filter-panel-container>*:not(:last-child){margin-bottom:var(--ag-widget-container-vertical-padding)}.ag-filter-card{border:1px solid var(--ag-border-color);border-radius:var(--ag-border-radius);background-color:var(--ag-background-color)}.ag-ltr .ag-filter-card .ag-set-filter-item{padding-left:calc(var(--ag-widget-container-horizontal-padding) + var(--ag-indentation-level) * var(--ag-set-filter-indent-size));padding-right:var(--ag-widget-container-horizontal-padding)}.ag-rtl .ag-filter-card .ag-set-filter-item{padding-right:calc(var(--ag-widget-container-horizontal-padding) + var(--ag-indentation-level) * var(--ag-set-filter-indent-size));padding-left:var(--ag-widget-container-horizontal-padding)}.ag-filter-card-header{display:flex;flex-direction:row;align-items:center;padding-top:var(--ag-widget-vertical-spacing)}.ag-ltr .ag-filter-card-header>*:not(:last-child){padding-right:var(--ag-grid-size)}.ag-rtl .ag-filter-card-header>*:not(:last-child){padding-left:var(--ag-grid-size)}.ag-filter-card-heading{flex:1;overflow:hidden;padding-top:calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));padding-bottom:calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing))}.ag-ltr .ag-filter-card-heading{padding-left:var(--ag-widget-horizontal-spacing)}.ag-rtl .ag-filter-card-heading{padding-right:var(--ag-widget-horizontal-spacing)}.ag-filter-card-expand{display:flex;flex-direction:row;width:100%;justify-content:space-between;align-items:center}.ag-filter-card-title{overflow:hidden;text-overflow:ellipsis}.ag-filter-card-expand-icon{display:flex;flex:1;justify-content:end}.ag-filter-card-editing-icon{margin:0 var(--ag-grid-size)}.ag-filter-card-summary,.ag-filter-card-expand-icon .ag-icon,.ag-filter-card-delete-icon .ag-icon,.ag-filter-card-editing-icon .ag-icon{color:var(--ag-filter-panel-card-subtle-color)}.ag-filter-card-expand-icon .ag-icon,.ag-filter-card-delete-icon .ag-icon{transition:color .25s ease-in-out}.ag-filter-card-expand-icon:hover .ag-icon,.ag-filter-card-delete-icon:hover .ag-icon,.ag-filter-card-heading:hover .ag-filter-card-expand-icon .ag-icon{color:var(--ag-filter-panel-card-subtle-hover-color)}.ag-filter-card-expand,.ag-filter-card-delete{border-radius:var(--ag-button-border-radius);background:none;border:none;cursor:pointer;padding:0}.ag-filter-panel .ag-standard-button{cursor:pointer}.ag-filter-card-summary,.ag-filter-type-select{margin-left:var(--ag-widget-container-horizontal-padding);margin-right:var(--ag-widget-container-horizontal-padding)}.ag-ltr .ag-filter-card-delete{margin-right:var(--ag-widget-horizontal-spacing)}.ag-rtl .ag-filter-card-delete{margin-left:var(--ag-widget-horizontal-spacing)}.ag-filter-card-summary{margin-bottom:var(--ag-widget-container-vertical-padding)}.ag-filter-type-select{padding-top:var(--ag-widget-vertical-spacing)}.ag-filter-card-add{padding:0;border:0}.ag-filter-add-button{display:flex;flex-direction:row;width:100%;align-items:center;line-height:1.5}.ag-ltr .ag-filter-add-button-label{margin-left:var(--ag-grid-size)}.ag-rtl .ag-filter-add-button-label{margin-right:var(--ag-grid-size)}.ag-filter-add-select{border:0}.ag-ltr .ag-filter-add-select .ag-text-field-input{padding-left:calc(var(--ag-grid-size) * 1.5 + 12px)!important}.ag-rtl .ag-filter-add-select .ag-text-field-input{padding-right:calc(var(--ag-grid-size) * 1.5 + 12px)!important}.ag-filter-add-select .ag-rich-select-value{padding:calc((1.5 * var(--ag-font-size) + 4 * var(--ag-grid-size) - var(--ag-input-height)) / 2) var(--ag-grid-size);border:0}.ag-pivot-mode-panel{min-height:var(--ag-header-height);height:var(--ag-header-height);display:flex}.ag-pivot-mode-select{display:flex;align-items:center}.ag-ltr .ag-pivot-mode-select{margin-left:var(--ag-widget-container-horizontal-padding)}.ag-rtl .ag-pivot-mode-select{margin-right:var(--ag-widget-container-horizontal-padding)}.ag-column-select-header:focus-visible{outline:none}.ag-column-select-header:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-column-select-header{height:var(--ag-header-height);align-items:center;padding:0 var(--ag-widget-container-horizontal-padding);border-bottom:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-column-panel-column-select{border-top:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-column-panel-column-select:not(.ag-last-visible-child){border-bottom:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-column-panel-buttons{display:flex;justify-content:flex-end;overflow:hidden;padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding) 0;flex-wrap:wrap;gap:var(--ag-widget-vertical-spacing) var(--ag-widget-horizontal-spacing)}.ag-column-panel-buttons .ag-standard-button{transition:background-color .25s ease-in-out,color .25s ease-in-out}.ag-column-panel-buttons:last-child{padding-bottom:var(--ag-widget-container-vertical-padding)}.ag-column-panel-buttons-button{line-height:1.5}.ag-column-panel .ag-standard-button.ag-column-panel-buttons-apply-button:not(:disabled){color:var(--ag-column-panel-apply-button-color);background-color:var(--ag-column-panel-apply-button-background-color)}.ag-column-group-icons,.ag-column-select-header-icon{color:var(--ag-secondary-foreground-color)}.ag-column-select-list .ag-list-item-hovered:after{content:"";position:absolute;left:0;right:0;height:1px}.ag-column-select-list .ag-item-highlight-top:after{top:0}.ag-column-select-list .ag-item-highlight-bottom:after{bottom:0}.ag-advanced-filter-header{background-color:var(--ag-header-background-color);border-bottom:var(--ag-borders-critical) var(--ag-border-color)}.ag-header-row{border-bottom:none;height:var(--ag-header-height)}.ag-header-row .ag-grid-scrolling-cells{background-color:var(--ag-header-background-color)}.ag-header-row>.ag-grid-pinned-left-cells,.ag-header-row>.ag-grid-pinned-right-cells{background-image:linear-gradient(var(--ag-background-color),var(--ag-background-color))}.ag-header-row .ag-grid-container-wrapper{background-color:var(--ag-header-background-color);width:100%;height:100%}.ag-header-row .ag-grid-pinned-right-cells{overflow:visible}.ag-header-row .ag-grid-pinned-right-cells .ag-grid-container-wrapper{border-left:var(--ag-borders-critical) var(--ag-border-color)}.ag-header-row .ag-grid-pinned-left-cells{overflow:visible}.ag-header-row .ag-grid-pinned-left-cells .ag-grid-container-wrapper{border-right:var(--ag-borders-critical) var(--ag-border-color)}.ag-header-cell:not(.ag-right-aligned-header) .ag-calculated-column-icon,.ag-header-cell:not(.ag-right-aligned-header) .ag-header-col-ref{margin-right:var(--ag-grid-size)}.ag-header-cell:not(.ag-right-aligned-header) .ag-header-col-ref{color:var(--ag-subtle-text-color)}.ag-ltr .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon,.ag-ltr .ag-header-cell:not(.ag-right-aligned-header) .ag-header-menu-icon{margin-left:var(--ag-grid-size)}.ag-rtl .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon,.ag-rtl .ag-header-cell:not(.ag-right-aligned-header) .ag-header-menu-icon{margin-right:var(--ag-grid-size)}.ag-header-cell.ag-right-aligned-header .ag-header-col-ref{margin-left:var(--ag-grid-size);color:var(--ag-subtle-text-color)}.ag-ltr .ag-header-cell.ag-right-aligned-header .ag-header-label-icon,.ag-ltr .ag-header-cell.ag-right-aligned-header .ag-header-menu-icon{margin-right:var(--ag-grid-size)}.ag-rtl .ag-header-cell.ag-right-aligned-header .ag-header-label-icon,.ag-rtl .ag-header-cell.ag-right-aligned-header .ag-header-menu-icon{margin-left:var(--ag-grid-size)}.ag-show-values-as-dormant{opacity:.35}.ag-header-cell,.ag-header-group-cell{padding-left:var(--ag-cell-horizontal-padding);padding-right:var(--ag-cell-horizontal-padding)}.ag-header-cell.ag-header-cell-moving,.ag-header-group-cell.ag-header-cell-moving{background-color:var(--ag-header-cell-moving-background-color)}.ag-ltr .ag-header-group-cell-label.ag-sticky-label{left:var(--ag-cell-horizontal-padding)}.ag-rtl .ag-header-group-cell-label.ag-sticky-label{right:var(--ag-cell-horizontal-padding)}.ag-header-cell:focus-visible{outline:none}.ag-header-cell:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-header-group-cell:focus-visible{outline:none}.ag-header-group-cell:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-advanced-filter-header-cell:focus-visible{outline:none}.ag-advanced-filter-header-cell:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-header-icon{color:var(--ag-secondary-foreground-color)}.ag-header-expand-icon{cursor:pointer}.ag-ltr .ag-header-expand-icon{margin-left:4px}.ag-rtl .ag-header-expand-icon{margin-right:4px}.ag-header-row.ag-header-row-not-first .ag-header-cell:not(.ag-header-span-height.ag-header-span-total,.ag-header-parent-hidden),.ag-header-row.ag-header-row-not-first .ag-header-group-cell.ag-header-group-cell-with-group{border-top:var(--ag-borders-critical) var(--ag-border-color)}.ag-header-group-cell:not(.ag-column-resizing)+.ag-header-group-cell:not(.ag-column-hover):not(.ag-header-cell-moving):hover,.ag-header-group-cell:not(.ag-column-resizing)+.ag-header-group-cell:not(.ag-column-hover).ag-column-resizing,.ag-header-cell:not(.ag-column-resizing)+.ag-header-cell:not(.ag-column-hover):not(.ag-header-cell-moving):hover,.ag-header-cell:not(.ag-column-resizing)+.ag-header-cell:not(.ag-column-hover).ag-column-resizing,.ag-header-group-cell:first-of-type:not(.ag-header-cell-moving):hover,.ag-header-group-cell:first-of-type.ag-column-resizing,.ag-header-cell:not(.ag-column-hover):first-of-type:not(.ag-header-cell-moving):hover,.ag-header-cell:not(.ag-column-hover):first-of-type.ag-column-resizing{background-color:var(--ag-header-cell-hover-background-color)}.ag-header-cell:before,.ag-header-group-cell:before{content:"";position:absolute;z-index:1;display:var(--ag-header-column-separator-display);width:var(--ag-header-column-separator-width);height:var(--ag-header-column-separator-height);top:calc(50% - var(--ag-header-column-separator-height) * .5);background-color:var(--ag-header-column-separator-color)}.ag-ltr .ag-header-cell:before,.ag-ltr .ag-header-group-cell:before{right:0}.ag-rtl .ag-header-cell:before,.ag-rtl .ag-header-group-cell:before{left:0}.ag-header-highlight-before:after,.ag-header-highlight-after:after{content:"";position:absolute;height:100%;width:var(--ag-column-drag-indicator-width);border-radius:calc(var(--ag-column-drag-indicator-width) / 2);background-color:var(--ag-column-drag-indicator-color)}.ag-header-highlight-before:after{left:0}.ag-header-highlight-after:after{right:0}.ag-grid-pinned-left-cells .ag-header-highlight-after:after{right:1px}.ag-header-cell-resize{display:flex;align-items:center}.ag-header-cell-resize:after{content:"";position:absolute;z-index:1;display:var(--ag-header-column-resize-handle-display);width:var(--ag-header-column-resize-handle-width);height:var(--ag-header-column-resize-handle-height);top:calc(50% - var(--ag-header-column-resize-handle-height) * .5);background-color:var(--ag-header-column-resize-handle-color)}.ag-ltr .ag-header-cell-resize:after{left:calc(50% - var(--ag-header-column-resize-handle-width))}.ag-rtl .ag-header-cell-resize:after{right:calc(50% - var(--ag-header-column-resize-handle-width))}.ag-header-cell.ag-header-span-height .ag-header-cell-resize:after{height:calc(100% - var(--ag-grid-size) * 4);top:calc(var(--ag-grid-size) * 2)}.ag-grid-pinned-left-cells .ag-header-cell-resize:after{left:calc(50% - var(--ag-header-column-resize-handle-width))}.ag-grid-pinned-right-cells .ag-header-cell-resize:after{left:50%}.ag-ltr .ag-header-select-all{margin-right:var(--ag-cell-horizontal-padding)}.ag-rtl .ag-header-select-all{margin-left:var(--ag-cell-horizontal-padding)}.ag-ltr .ag-floating-filter-button{margin-left:var(--ag-cell-widget-spacing)}.ag-rtl .ag-floating-filter-button{margin-right:var(--ag-cell-widget-spacing)}.ag-floating-filter-button-button{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;height:var(--ag-icon-size);padding:0;width:var(--ag-icon-size)}.ag-filter-loading{background-color:var(--ag-control-panel-background-color);height:100%;padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);position:absolute;width:100%;z-index:1;align-items:unset}.ag-paging-panel{border-top:1px solid;border-top-color:var(--ag-border-color);color:var(--ag-secondary-foreground-color);height:var(--ag-pagination-panel-height);overflow:auto hidden;scrollbar-width:thin}.ag-paging-panel-content>*{margin:0 var(--ag-cell-horizontal-padding)}.ag-paging-panel-content>.ag-paging-page-size .ag-wrapper{min-width:calc(var(--ag-grid-size) * 10)}.ag-paging-button{cursor:pointer}.ag-paging-button.ag-disabled{cursor:default;color:var(--ag-disabled-foreground-color)}.ag-number-field.ag-paging-number{display:inline-block}.ag-number-field.ag-paging-number .ag-input-field-input{text-align:end;padding-inline:var(--ag-grid-size)}.ag-paging-button:focus-visible{outline:none}.ag-paging-button:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:0;left:0;display:block;width:calc(100% + -0px);height:calc(100% + -0px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-paging-button,.ag-paging-description{margin:0 var(--ag-grid-size);line-height:0}.ag-paging-row-summary-panel{display:inline-grid}.ag-paging-row-summary-panel:before{content:var(--ag-internal-pagination-width-string);grid-area:1/1;visibility:hidden;font-weight:500;font-variant-numeric:tabular-nums}.ag-paging-row-summary-content{grid-area:1/1;justify-self:center}.ag-status-bar{border-top:var(--ag-borders) var(--ag-border-color);color:var(--ag-disabled-foreground-color);padding-right:calc(var(--ag-grid-size) * 4);padding-left:calc(var(--ag-grid-size) * 4);line-height:1.5;overflow:auto hidden;scrollbar-width:thin}.ag-status-name-value-value{color:var(--ag-foreground-color)}.ag-status-bar-center{text-align:center}.ag-status-name-value{margin-left:var(--ag-grid-size);margin-right:var(--ag-grid-size);padding-top:calc(var(--ag-grid-size) * 2);padding-bottom:calc(var(--ag-grid-size) * 2)}.ag-column-drop-cell{background:var(--ag-chip-background-color);border-radius:calc(var(--ag-grid-size) * 4);height:calc(var(--ag-grid-size) * 4);padding:0 calc(var(--ag-grid-size) * .5);border:1px solid var(--ag-chip-border-color);font-weight:400}.ag-column-drop-cell:focus-visible{outline:none}.ag-column-drop-cell:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:2px;left:2px;display:block;width:calc(100% - 4px);height:calc(100% - 4px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-column-drop-cell-text{margin:0 var(--ag-grid-size)}.ag-column-drop-cell-button{min-width:calc(var(--ag-grid-size) * 4);margin:0 calc(var(--ag-grid-size) * .5);color:var(--ag-secondary-foreground-color)}.ag-column-drop-cell-drag-handle{margin-left:calc(var(--ag-grid-size) * 2)}.ag-column-drop-cell-ghost{opacity:.5}.ag-column-drop-horizontal{background-color:var(--ag-header-background-color);color:var(--ag-secondary-foreground-color);height:var(--ag-header-height);border-bottom:var(--ag-borders) var(--ag-border-color)}.ag-ltr .ag-column-drop-horizontal{padding-left:var(--ag-cell-horizontal-padding)}.ag-rtl .ag-column-drop-horizontal{padding-right:var(--ag-cell-horizontal-padding)}.ag-ltr .ag-column-drop-horizontal-half-width:not(:last-child){border-right:var(--ag-borders) var(--ag-border-color)}.ag-rtl .ag-column-drop-horizontal-half-width:not(:last-child){border-left:var(--ag-borders) var(--ag-border-color)}.ag-column-drop-horizontal-cell-separator{margin:0 var(--ag-grid-size);color:var(--ag-secondary-foreground-color)}.ag-column-drop-horizontal-empty-message{color:var(--ag-disabled-foreground-color)}.ag-ltr .ag-column-drop-horizontal-icon{margin-right:var(--ag-cell-horizontal-padding)}.ag-rtl .ag-column-drop-horizontal-icon{margin-left:var(--ag-cell-horizontal-padding)}.ag-column-drop-vertical-list{padding-bottom:var(--ag-grid-size);padding-right:var(--ag-grid-size);padding-left:var(--ag-grid-size)}.ag-column-drop-vertical-cell{margin-top:var(--ag-grid-size)}.ag-column-drop-vertical{min-height:50px;border-bottom:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-column-drop-vertical.ag-last-column-drop{border-bottom:none}.ag-column-drop-vertical-icon{margin-left:var(--ag-grid-size);margin-right:var(--ag-grid-size)}.ag-column-drop-vertical-empty-message{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden;color:var(--ag-disabled-foreground-color);margin-top:var(--ag-grid-size)}.ag-select-agg-func-popup{border:var(--ag-borders) var(--ag-border-color);border-radius:var(--ag-card-radius);box-shadow:var(--ag-card-shadow);padding:var(--ag-grid-size);background:var(--ag-background-color);height:calc(var(--ag-grid-size) * 5 * 3.5);padding:0}.ag-select-agg-func-virtual-list-item{cursor:default}.ag-ltr .ag-select-agg-func-virtual-list-item{padding-left:calc(var(--ag-grid-size) * 2)}.ag-rtl .ag-select-agg-func-virtual-list-item{padding-right:calc(var(--ag-grid-size) * 2)}.ag-select-agg-func-virtual-list-item:hover{background-color:var(--ag-selected-row-background-color)}.ag-select-agg-func-virtual-list-item:focus-visible{outline:none}.ag-select-agg-func-virtual-list-item:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:1px;left:1px;display:block;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-sort-indicator-container{display:flex}.ag-ltr .ag-sort-indicator-icon{padding-left:var(--ag-grid-size)}.ag-rtl .ag-sort-indicator-icon{padding-right:var(--ag-grid-size)}.ag-chart{position:relative;display:flex;width:100%;height:100%}.ag-chart-components-wrapper{position:relative;display:flex;flex:1 1 auto}.ag-chart-canvas-wrapper{position:relative;flex:1 1 auto}.ag-chart-menu{position:absolute;top:16px;display:flex;flex-direction:column}.ag-ltr .ag-chart-menu{right:20px}.ag-rtl .ag-chart-menu{left:20px}.ag-chart-docked-container{position:relative;min-width:var(--ag-chart-menu-panel-width)}.ag-chart-menu-hidden~.ag-chart-docked-container{display:none}.ag-chart-tabbed-menu{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.ag-chart-tabbed-menu-header{flex:none;-moz-user-select:none;-webkit-user-select:none;user-select:none;cursor:default}.ag-chart-tabbed-menu-body{display:flex;flex:1 1 auto;align-items:stretch;overflow:hidden}.ag-chart-tab{width:100%;overflow:hidden;overflow-y:auto}.ag-chart-settings{overflow-x:hidden}.ag-chart-settings-wrapper{position:relative;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.ag-chart-settings-nav-bar{display:flex;align-items:center;width:100%;height:30px;padding:0 10px;-moz-user-select:none;-webkit-user-select:none;user-select:none}.ag-chart-settings-card-selector{display:flex;align-items:center;justify-content:space-around;flex:1 1 auto;height:100%;padding:0 10px}.ag-chart-settings-card-item{cursor:pointer;width:10px;height:10px;background-color:#000;position:relative}.ag-chart-settings-card-item.ag-not-selected{opacity:.2}.ag-chart-settings-card-item:before{content:" ";display:block;position:absolute;background-color:transparent;left:50%;top:50%;margin-left:-10px;margin-top:-10px;width:20px;height:20px}.ag-chart-settings-prev,.ag-chart-settings-next{position:relative;flex:none}.ag-chart-settings-prev:focus-within,.ag-chart-settings-next:focus-within{box-shadow:var(--ag-input-focus-box-shadow);border-radius:1px}.ag-chart-settings-prev-button,.ag-chart-settings-next-button{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer;opacity:0}.ag-chart-settings-mini-charts-container{position:relative;flex:1 1 auto;overflow-x:hidden;overflow-y:auto}.ag-chart-settings-mini-wrapper{position:absolute;top:0;left:0;display:flex;flex-direction:column;width:100%;min-height:100%;overflow:hidden}.ag-chart-settings-mini-wrapper.ag-animating{transition:left .3s;transition-timing-function:ease-in-out}.ag-chart-mini-thumbnail{cursor:pointer}.ag-chart-mini-thumbnail-canvas{display:block}.ag-chart-data-wrapper,.ag-chart-format-wrapper,.ag-chart-advanced-settings-wrapper{display:flex;flex-direction:column;position:relative;-moz-user-select:none;-webkit-user-select:none;user-select:none;padding-bottom:16px}.ag-chart-data-wrapper,.ag-chart-advanced-settings-wrapper{height:100%;overflow-y:auto}.ag-chart-advanced-settings{background-color:var(--ag-control-panel-background-color)}.ag-chart-advanced-settings-wrapper,.ag-chart-advanced-settings{width:100%}.ag-chart-advanced-settings-wrapper{padding-bottom:0}.ag-chart-data-section,.ag-chart-format-section,.ag-chart-advanced-settings-section{display:flex;margin:0}.ag-chart-advanced-settings-section{padding-top:var(--ag-grid-size);padding-bottom:var(--ag-grid-size)}.ag-chart-advanced-settings-section:not(:last-child){border-bottom:1px solid var(--ag-secondary-border-color)}.ag-chart-empty-text{display:flex;top:0;width:100%;height:100%;align-items:center;justify-content:center;background-color:var(--ag-background-color)}.ag-chart .ag-chart-menu-wrapper .ag-chart-menu{display:flex;flex-direction:row;top:8px;gap:20px;width:auto}.ag-ltr .ag-chart .ag-chart-menu-wrapper .ag-chart-menu{right:calc(var(--ag-cell-horizontal-padding) + var(--ag-grid-size) - 4px);justify-content:right}.ag-rtl .ag-chart .ag-chart-menu-wrapper .ag-chart-menu{left:calc(var(--ag-cell-horizontal-padding) + var(--ag-grid-size) - 4px);justify-content:left}.ag-charts-font-size-color{display:flex;align-self:stretch;justify-content:space-between}.ag-charts-data-group-item{position:relative}.ag-charts-data-group-item:not(:last-child){margin-bottom:var(--ag-grid-size)}.ag-chart-menu{border-radius:var(--ag-card-radius);background:var(--ag-background-color)}.ag-chart-menu-icon{opacity:.5;margin:2px 0;cursor:pointer;border-radius:var(--ag-card-radius);color:var(--ag-secondary-foreground-color)}.ag-chart-menu-icon:hover{opacity:1}.ag-chart-menu-toolbar-button{border:0;background-color:unset;padding:0 2px;border-radius:1px}.ag-chart-mini-thumbnail{border:1px solid var(--ag-secondary-border-color);border-radius:5px;padding:1px}.ag-chart-mini-thumbnail.ag-selected{border-color:var(--ag-minichart-selected-chart-color);border-width:2px;padding:unset}.ag-chart-mini-thumbnail:focus-visible{outline:none;border-color:var(--ag-minichart-selected-chart-color);box-shadow:var(--ag-input-focus-box-shadow)}.ag-chart-settings-card-item{background:var(--ag-foreground-color);width:8px;height:8px;border-radius:4px}.ag-chart-settings-card-item.ag-selected{background-color:var(--ag-minichart-selected-page-color)}.ag-chart-data-column-drag-handle{margin-left:var(--ag-grid-size)}.ag-charts-settings-group-title-bar,.ag-charts-data-group-title-bar,.ag-charts-format-top-level-group-title-bar{border-top:var(--ag-borders-secondary) var(--ag-secondary-border-color);position:relative}.ag-charts-advanced-settings-top-level-group-title-bar{position:relative;background-color:unset}.ag-charts-data-group-title-bar:focus-visible{outline:none}.ag-charts-data-group-title-bar:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-charts-format-top-level-group-title-bar:focus-visible{outline:none}.ag-charts-format-top-level-group-title-bar:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-charts-data-group-title-bar .ag-charts-data-group-title,.ag-charts-format-top-level-group-title-bar .ag-charts-format-top-level-group-title{cursor:pointer}.ag-charts-data-group-container{padding:calc(var(--ag-widget-container-vertical-padding) * .5) var(--ag-widget-container-horizontal-padding)}.ag-charts-data-group-container .ag-charts-data-group-item:not(.ag-charts-format-sub-level-group):not(.ag-pill-select):not(.ag-select){height:var(--ag-list-item-height)}.ag-charts-data-group-container .ag-charts-data-group-item.ag-picker-field{margin-top:var(--ag-grid-size)}.ag-charts-data-group-container .ag-list-item-hovered:after{content:"";position:absolute;left:0;right:0;height:1px}.ag-charts-data-group-container .ag-item-highlight-top:after{top:0}.ag-charts-data-group-container .ag-item-highlight-bottom:after{bottom:0}.ag-ltr .ag-charts-format-top-level-group-container,.ag-ltr .ag-charts-advanced-settings-top-level-group-container{margin-left:calc(var(--ag-grid-size) * 2)}.ag-rtl .ag-charts-format-top-level-group-container,.ag-rtl .ag-charts-advanced-settings-top-level-group-container{margin-right:calc(var(--ag-grid-size) * 2)}.ag-charts-format-top-level-group-container,.ag-charts-advanced-settings-top-level-group-container{padding:var(--ag-grid-size)}.ag-charts-format-top-level-group-item,.ag-charts-advanced-settings-top-level-group-item{margin:var(--ag-grid-size) 0}.ag-charts-format-sub-level-group-container{padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);padding-bottom:calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing))}.ag-charts-format-sub-level-group-container>*{margin-bottom:var(--ag-widget-vertical-spacing)}.ag-charts-format-sub-level-no-header-group-container>*{margin-bottom:var(--ag-widget-vertical-spacing)}.ag-charts-format-sub-level-group-container .ag-charts-format-sub-level-group-item.ag-font-panel-no-header{margin:0}.ag-charts-settings-group-container{padding:var(--ag-grid-size);row-gap:8px;display:grid;grid-template-columns:60px 1fr 60px 1fr 60px}.ag-charts-settings-group-container .ag-chart-mini-thumbnail:nth-child(3n+1){grid-column:1}.ag-charts-settings-group-container .ag-chart-mini-thumbnail:nth-child(3n+2){grid-column:3}.ag-charts-settings-group-container .ag-chart-mini-thumbnail:nth-child(3n+3){grid-column:5}.ag-ltr .ag-chart-menu-panel{border-left:solid 1px var(--ag-border-color)}.ag-rtl .ag-chart-menu-panel{border-right:solid 1px var(--ag-border-color)}.ag-chart-menu-panel{background-color:var(--ag-control-panel-background-color)}.ag-date-time-list-page-title-bar{display:flex}.ag-date-time-list-page-title{flex-grow:1;text-align:center}.ag-date-time-list-page-column-labels-row,.ag-date-time-list-page-entries-row{display:flex}.ag-date-time-list-page-column-label,.ag-date-time-list-page-entry{flex-basis:0;flex-grow:1}.ag-date-time-list-page-entry{cursor:pointer;text-align:center}.ag-date-time-list-page-column-label{text-align:center}.ag-advanced-filter-header{position:relative;display:flex;align-items:center;padding-left:var(--ag-cell-horizontal-padding);padding-right:var(--ag-cell-horizontal-padding);z-index:1}.ag-advanced-filter{display:flex;align-items:center;width:100%}.ag-advanced-filter-buttons{display:contents}.ag-advanced-filter-builder-button{display:flex;align-items:center;border:0;background-color:unset;color:var(--ag-foreground-color);font-size:var(--ag-font-size);font-weight:600;line-height:normal}.ag-ltr .ag-advanced-filter-builder-button{margin-left:calc(var(--ag-grid-size) * 2)}.ag-rtl .ag-advanced-filter-builder-button{margin-right:calc(var(--ag-grid-size) * 2)}.ag-advanced-filter-builder-button{white-space:nowrap}.ag-advanced-filter-builder-button:hover:not(:disabled){background-color:var(--ag-row-hover-color)}.ag-advanced-filter-builder-button:not(:disabled){cursor:pointer}.ag-advanced-filter-builder-button:disabled{color:var(--ag-disabled-foreground-color)}.ag-advanced-filter-builder-button-label{margin-left:var(--ag-grid-size)}.ag-advanced-filter-builder{-moz-user-select:none;-webkit-user-select:none;user-select:none;width:100%;background-color:var(--ag-control-panel-background-color);display:flex;flex-direction:column}.ag-advanced-filter-builder-list .ag-list-item-hovered:after{content:"";position:absolute;left:0;right:0;height:1px}.ag-advanced-filter-builder-list .ag-item-highlight-top:after{top:0}.ag-advanced-filter-builder-list .ag-item-highlight-bottom:after{bottom:0}.ag-advanced-filter-builder-list{flex:1;overflow:auto}.ag-advanced-filter-builder-button-panel{display:flex;justify-content:flex-end;padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);border-top:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-advanced-filter-builder .ag-advanced-filter-builder-button-panel .ag-advanced-filter-builder-apply-button,.ag-advanced-filter-builder .ag-advanced-filter-builder-button-panel .ag-advanced-filter-builder-cancel-button{margin-left:calc(var(--ag-grid-size) * 2)}.ag-advanced-filter-builder-item-wrapper{display:flex;flex:1 1 auto;align-items:center;justify-content:space-between;overflow:hidden;padding-left:calc(var(--ag-icon-size) / 2);padding-right:var(--ag-icon-size)}.ag-virtual-list-viewport .ag-advanced-filter-builder-item-wrapper .ag-tab-guard{position:absolute}.ag-advanced-filter-builder-item-tree-lines>*{width:var(--ag-advanced-filter-builder-indent-size)}.ag-advanced-filter-builder-item-tree-lines .ag-advanced-filter-builder-item-tree-line-root{width:var(--ag-icon-size)}.ag-advanced-filter-builder-item-tree-lines .ag-advanced-filter-builder-item-tree-line-root:before{top:50%;height:50%}.ag-advanced-filter-builder-item-tree-line-horizontal,.ag-advanced-filter-builder-item-tree-line-vertical,.ag-advanced-filter-builder-item-tree-line-vertical-top,.ag-advanced-filter-builder-item-tree-line-vertical-bottom{position:relative;height:100%;display:flex;align-items:center}.ag-advanced-filter-builder-item-tree-line-horizontal:before,.ag-advanced-filter-builder-item-tree-line-horizontal:after,.ag-advanced-filter-builder-item-tree-line-vertical:before,.ag-advanced-filter-builder-item-tree-line-vertical:after,.ag-advanced-filter-builder-item-tree-line-vertical-top:before,.ag-advanced-filter-builder-item-tree-line-vertical-top:after,.ag-advanced-filter-builder-item-tree-line-vertical-bottom:before,.ag-advanced-filter-builder-item-tree-line-vertical-bottom:after{content:"";position:absolute;height:100%}.ag-advanced-filter-builder-item-tree-line-horizontal:after{height:50%;width:calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size));top:0;left:calc(var(--ag-icon-size) / 2);border-bottom:1px solid;border-color:var(--ag-border-color)}.ag-advanced-filter-builder-item-tree-line-vertical:before{width:calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size) / 2);top:0;left:calc(var(--ag-icon-size) / 2);border-left:1px solid;border-color:var(--ag-border-color)}.ag-advanced-filter-builder-item-tree-line-vertical-top:before{height:50%;width:calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size) / 2);top:0;left:calc(var(--ag-icon-size) / 2);border-left:1px solid;border-color:var(--ag-border-color)}.ag-advanced-filter-builder-item-tree-line-vertical-bottom:before{height:calc((100% - 1.5 * var(--ag-icon-size)) / 2);width:calc(var(--ag-icon-size) / 2);top:calc((100% + 1.5 * var(--ag-icon-size)) / 2);left:calc(var(--ag-icon-size) / 2);border-left:1px solid;border-color:var(--ag-border-color)}.ag-advanced-filter-builder-item-condition{padding-top:var(--ag-grid-size);padding-bottom:var(--ag-grid-size)}.ag-advanced-filter-builder-item,.ag-advanced-filter-builder-item-condition,.ag-advanced-filter-builder-pill-wrapper,.ag-advanced-filter-builder-pill,.ag-advanced-filter-builder-item-buttons,.ag-advanced-filter-builder-item-tree-lines{display:flex;align-items:center;height:100%}.ag-advanced-filter-builder-pill-wrapper{margin:0px var(--ag-grid-size)}.ag-advanced-filter-builder-pill{position:relative;border-radius:var(--ag-border-radius);padding:var(--ag-grid-size) calc(var(--ag-grid-size) * 2);min-height:calc(100% - var(--ag-grid-size) * 3);min-width:calc(var(--ag-grid-size) * 2)}.ag-advanced-filter-builder-pill .ag-picker-field-display{margin-right:var(--ag-grid-size)}.ag-advanced-filter-builder-pill .ag-advanced-filter-builder-value-number{font-family:monospace;font-weight:700}.ag-advanced-filter-builder-pill .ag-advanced-filter-builder-value-empty{color:var(--ag-disabled-foreground-color)}.ag-advanced-filter-builder-pill:focus-visible{outline:none}.ag-advanced-filter-builder-pill:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:-4px;left:-4px;display:block;width:calc(100% + 8px);height:calc(100% + 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-advanced-filter-builder-item-button:focus-visible{outline:none}.ag-advanced-filter-builder-item-button:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:-4px;left:-4px;display:block;width:calc(100% + 8px);height:calc(100% + 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-advanced-filter-builder-pill-display{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.ag-advanced-filter-builder-join-pill{color:var(--ag-foreground-color);background-color:var(--ag-advanced-filter-join-pill-color);cursor:pointer}.ag-advanced-filter-builder-column-pill{color:var(--ag-foreground-color);background-color:var(--ag-advanced-filter-column-pill-color);cursor:pointer}.ag-advanced-filter-builder-option-pill{color:var(--ag-foreground-color);background-color:var(--ag-advanced-filter-option-pill-color);cursor:pointer}.ag-advanced-filter-builder-value-pill{color:var(--ag-foreground-color);background-color:var(--ag-advanced-filter-value-pill-color);cursor:text;max-width:140px}.ag-advanced-filter-builder-value-pill .ag-advanced-filter-builder-pill-display{display:block}.ag-advanced-filter-builder-item-buttons>*{margin:0 calc(var(--ag-grid-size) * .5)}.ag-advanced-filter-builder-item-button{position:relative;cursor:pointer;color:var(--ag-secondary-foreground-color);opacity:50%}.ag-advanced-filter-builder-item-button-disabled{color:var(--ag-disabled-foreground-color);cursor:default}.ag-advanced-filter-builder-virtual-list-container{top:var(--ag-grid-size)}.ag-advanced-filter-builder-virtual-list-item{display:flex;cursor:default;height:var(--ag-list-item-height)}.ag-advanced-filter-builder-virtual-list-item:hover{background-color:var(--ag-row-hover-color)}.ag-advanced-filter-builder-virtual-list-item:hover .ag-advanced-filter-builder-item-button{opacity:100%}.ag-advanced-filter-builder-virtual-list-item-highlight .ag-advanced-filter-builder-item-button:focus-visible,.ag-advanced-filter-builder-validation .ag-advanced-filter-builder-invalid{opacity:100%}.ag-advanced-filter-builder-invalid{margin:0 var(--ag-grid-size);color:var(--ag-invalid-color);cursor:default}.ag-row-number-cell{background-color:var(--ag-header-background-color);color:var(--ag-header-foreground-color);font-size:var(--ag-font-size);font-family:var(--ag-font-family)}.ag-row-number-header.ag-row-number-selection-enabled{cursor:cell}.ag-row-number-range-highlight{background-color:var(--ag-range-header-highlight-color)}.ag-row-number-range-selected{background-color:var(--ag-row-numbers-selected-color)}.ag-ltr .ag-row-number-header:not(.ag-header-cell-last-left-pinned),.ag-ltr .ag-cell.ag-row-number-cell:not(.ag-cell-last-left-pinned){border-right:var(--ag-pinned-column-border)}.ag-ltr .ag-cell.ag-row-number-cell.ag-row-number-selection-enabled{cursor:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxLjU7Ij4KICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDEuNTc4NCwwLDAsMS44NjQyOSwtNC40MTM0OSwtNy4yMTIxMikiPgogICAgICAgIDxwYXRoIGQ9Ik0zLjQ0NSw4LjkxMUwzLjQ0NSw3LjQwOUw5Ljc1LDcuNDA5TDkuNzUsNi4wMTRMMTIuMjg1LDguMTZMOS43NSwxMC4zMDZMOS43NSw4LjkxMUwzLjQ0NSw4LjkxMVoiIHN0eWxlPSJzdHJva2U6d2hpdGU7c3Ryb2tlLXdpZHRoOjAuNDFweDsiLz4KICAgIDwvZz4KPC9zdmc+Cg==),auto}.ag-rtl .ag-row-number-header:not(.ag-header-cell-first-right-pinned),.ag-rtl .ag-cell.ag-row-number-cell:not(.ag-cell-first-right-pinned){border-left:var(--ag-pinned-column-border)}.ag-rtl .ag-cell.ag-row-number-cell.ag-row-number-selection-enabled{cursor:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxLjU7Ij4KICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDEuNTc4NCwwLDAsMS44NjQyOSwtNC40MTM0OSwtNy4yMTIxMikiPgogICAgICAgIDxwYXRoIGQ9Ik01Ljk3OSw4LjkxMUw1Ljk3OSwxMC4zMDZMMy40NDUsOC4xNkw1Ljk3OSw2LjAxNEw1Ljk3OSw3LjQwOUwxMi4yODUsNy40MDlMMTIuMjg1LDguOTExTDUuOTc5LDguOTExWiIgc3R5bGU9InN0cm9rZTp3aGl0ZTtzdHJva2Utd2lkdGg6MC40MXB4OyIvPgogICAgPC9nPgo8L3N2Zz4K),auto}.ag-cell-batch-edit{background-color:var(--ag-cell-batch-edit-background-color);color:var(--ag-cell-batch-edit-text-color)}.ag-cell.ag-cell-inline-editing{background-color:var(--ag-background-color);background-image:linear-gradient(0deg,var(--ag-background-color),var(--ag-background-color))}.ag-row-batch-edit{background-color:var(--ag-row-batch-edit-background-color);color:var(--ag-row-batch-edit-text-color)}.ag-toolbar{display:flex;align-items:center;overflow:auto hidden;scrollbar-width:thin;border-bottom:var(--ag-borders) var(--ag-border-color);min-height:var(--ag-header-height);background-color:var(--ag-toolbar-background-color);color:var(--ag-toolbar-text-color);font-family:var(--ag-header-font-family);font-size:var(--ag-header-font-size);white-space:nowrap}.ag-toolbar-right-start{margin-inline-start:auto}.ag-toolbar-item{display:inline-flex;margin:0 calc(var(--ag-grid-size, 8px) * 2)}.ag-toolbar-item:where(:not(.ag-toolbar-panel)){font-weight:var(--ag-header-font-weight)}.ag-toolbar-button-wrapper{display:inline-flex;padding:calc(var(--ag-grid-size) * .25);height:100%}.ag-toolbar-button{display:inline-flex;align-items:center;gap:var(--ag-grid-size);padding:calc(var(--ag-grid-size));border:0;background:transparent;color:var(--ag-toolbar-text-color);cursor:pointer;line-height:1;white-space:nowrap;outline:none;font-family:var(--ag-header-font-family);font-size:var(--ag-header-font-size);font-weight:var(--ag-header-font-weight)}.ag-toolbar-button-wrapper:hover{background-color:var(--ag-icon-button-hover-background-color, transparent);color:var(--ag-icon-button-hover-color, var(--ag-foreground-color))}.ag-toolbar-button-wrapper:hover .ag-toolbar-button,.ag-toolbar-button-wrapper:hover .ag-toolbar-button .ag-icon{color:var(--ag-icon-button-hover-color, var(--ag-foreground-color))}.ag-toolbar>.ag-toolbar-button-wrapper:first-child>.ag-toolbar-button{border-start-start-radius:calc(var(--ag-border-radius) + 1px)}.ag-toolbar>.ag-toolbar-button-wrapper:last-child>.ag-toolbar-button{border-start-end-radius:calc(var(--ag-border-radius) + 1px)}.ag-toolbar-button:focus-visible{box-shadow:var(--ag-input-focus-box-shadow)}.ag-toolbar-button:focus:not(:focus-visible){box-shadow:none}.ag-toolbar-button:disabled{opacity:.5;cursor:default;pointer-events:none}.ag-toolbar-panel{display:inline-flex;flex:1 0 0}.ag-toolbar-input{position:relative;display:inline-flex;align-items:center;min-width:200px;max-width:none;margin:0 calc(var(--ag-grid-size) * 2)}.ag-toolbar-input+.ag-toolbar-input{margin-inline-start:0}.ag-toolbar>.ag-toolbar-input:first-child,.ag-toolbar-right-start+.ag-toolbar-input{margin-inline-start:var(--ag-grid-size)}.ag-toolbar>.ag-toolbar-input:last-child{margin-inline-end:var(--ag-grid-size)}.ag-toolbar-input-icon{position:absolute;display:inline-flex;align-items:center;color:var(--ag-toolbar-text-color);opacity:.5;pointer-events:none;inset-inline-start:var(--ag-grid-size)}.ag-toolbar-input-field{color:var(--ag-foreground-color);font-size:var(--ag-font-size);font-family:var(--ag-header-font-family);font-weight:var(--ag-header-font-weight);line-height:1.5;outline:none;border:var(--ag-borders-input) var(--ag-input-border-color);border-radius:var(--ag-border-radius);width:100%;padding-block:calc(var(--ag-grid-size) * .5);padding-inline:calc(var(--ag-icon-size) + var(--ag-grid-size) * 2) var(--ag-grid-size)}.ag-ltr .ag-toolbar-input input[class^=ag-][type=text].ag-toolbar-input-field{padding-left:calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);padding-right:var(--ag-grid-size)}.ag-rtl .ag-toolbar-input input[class^=ag-][type=text].ag-toolbar-input-field{padding-right:calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);padding-left:var(--ag-grid-size)}.ag-toolbar-input-field:focus{box-shadow:var(--ag-input-focus-box-shadow);border:var(--ag-borders-input) var(--ag-input-focus-border-color)}.ag-toolbar-input-field::-moz-placeholder{color:var(--ag-disabled-foreground-color)}.ag-toolbar-input-field::placeholder{color:var(--ag-disabled-foreground-color)}.ag-toolbar-panel .ag-column-drop-horizontal{background-color:transparent;border-bottom:none;padding:0;font-size:var(--ag-font-size);font-family:var(--ag-font-family)}.ag-toolbar .ag-column-drop-horizontal{border-bottom:none;background-color:transparent;overflow:visible}.ag-toolbar-button-chevron{display:inline-flex;align-items:center}.ag-toolbar-separator{align-self:stretch;width:0;margin:calc(var(--ag-grid-size) * 1.75) 0;border-inline-start:solid var(--ag-toolbar-separator-width) var(--ag-toolbar-separator-color)}.ag-toolbar-find{gap:calc(var(--ag-grid-size) * .5);width:280px;max-width:none;min-width:220px;border:var(--ag-borders-input) var(--ag-input-border-color);border-radius:var(--ag-border-radius);background-color:var(--ag-background-color)}.ag-toolbar-find:focus-within{box-shadow:var(--ag-input-focus-box-shadow);border:var(--ag-borders-input) var(--ag-input-focus-border-color)}.ag-toolbar-find .ag-toolbar-input-field{border:none;background-color:transparent;flex:1;min-width:0}.ag-toolbar .ag-toolbar-find input[class^=ag-][type=text].ag-toolbar-input-field{border:none;box-shadow:none}.ag-toolbar .ag-toolbar-find input[class^=ag-][type=text].ag-toolbar-input-field:focus{border:none;box-shadow:none}.ag-toolbar-find-match-count{white-space:nowrap;font-size:var(--ag-font-size);color:inherit;opacity:.7;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-variant-numeric:tabular-nums;flex-shrink:0;text-align:end}.ag-toolbar-find-button{flex-shrink:0;padding:calc(var(--ag-grid-size) * .5)}.ag-calculated-column-panel .ag-panel-content-wrapper{padding:var(--ag-grid-size) var(--ag-cell-horizontal-padding)}.ag-calculated-column-form{display:flex;flex-direction:column;gap:calc(var(--ag-grid-size) * 2);min-width:260px;flex:1 1 auto;min-height:0}.ag-calculated-column-expression-wrap{display:flex;flex-direction:column;flex:1 1 auto;gap:var(--ag-grid-size)}.ag-calculated-column-expression-wrap .ag-text-area{flex:1 1 auto}.ag-calculated-column-expression-wrap .ag-text-area-input-wrapper{height:100%}.ag-calculated-column-expression-wrap .ag-text-area-input{height:100%;resize:none;padding-top:calc(var(--ag-grid-size) / 2)}.ag-rtl .ag-calculated-column-expression-wrap .ag-text-area-input{padding-left:var(--ag-input-padding-start);direction:ltr}.ag-calculated-column-expression-tools{display:flex}.ag-ltr .ag-calculated-column-expression-tools .ag-label{text-align:right}.ag-rtl .ag-calculated-column-expression-tools .ag-label{text-align:left}.ag-calculated-column-expression-tools .ag-field-set-wrapper{gap:var(--ag-grid-size);flex-wrap:nowrap;align-items:center}.ag-standard-button.ag-calculated-column-expression-tool{padding:calc(var(--ag-grid-size) / 2)}.ag-calculated-column-suggestion-path{display:flex;align-items:center;gap:calc(var(--ag-grid-size) / 2)}.ag-calculated-column-suggestion-parent{min-width:0;overflow:hidden;text-overflow:ellipsis}.ag-calculated-column-suggestion-parent,.ag-calculated-column-suggestion-separator{color:var(--ag-calculated-column-parent-suggestion-color)}.ag-calculated-column-suggestion-separator{flex:none}.ag-calculated-column-suggestion-leaf{overflow:hidden;flex:none}.ag-calculated-column-picker-list{width:var(--ag-calculated-column-suggestion-list-width)}.ag-calculated-column-actions{display:flex;justify-content:flex-end;gap:calc(var(--ag-grid-size) / 2)}.ag-calculated-column-action{min-width:72px}.ag-calculated-column-highlighted{background-color:var(--ag-calculated-column-highlight-color)}.ag-input-field-input{width:100%;min-width:0}.ag-checkbox-input-wrapper{font-family:var(--ag-icon-font-family);font-weight:var(--ag-icon-font-weight);color:var(--ag-icon-font-color);font-size:var(--ag-icon-size);line-height:var(--ag-icon-size);font-style:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:var(--ag-icon-size);height:var(--ag-icon-size)}.ag-checkbox-input-wrapper input{-webkit-appearance:none;opacity:0;width:100%;height:100%}.ag-checkbox-input-wrapper{background-color:var(--ag-checkbox-background-color);border-radius:var(--ag-checkbox-border-radius);display:inline-block;vertical-align:middle;flex:none}.ag-checkbox-input-wrapper:focus-within,.ag-checkbox-input-wrapper:active{outline:none;box-shadow:var(--ag-input-focus-box-shadow)}.ag-cell-editing-error .ag-checkbox-input-wrapper:focus-within,.ag-cell-editing-error .ag-checkbox-input-wrapper:active{box-shadow:var(--ag-input-error-focus-box-shadow)}.ag-checkbox-input-wrapper.ag-disabled{opacity:.5}.ag-checkbox-input-wrapper:after{content:var(--ag-icon-font-code-checkbox-unchecked, "");font-family:inherit;color:var(--ag-checkbox-unchecked-color);display:var(--ag-icon-font-display-checkbox-unchecked, var(--ag-icon-font-display));position:absolute;top:0;left:0;pointer-events:none}.ag-checkbox-input-wrapper.ag-checked:after{content:var(--ag-icon-font-code-checkbox-checked, "");color:var(--ag-checkbox-checked-color);display:var(--ag-icon-font-display-checkbox-checked, var(--ag-icon-font-display));position:absolute;top:0;left:0;pointer-events:none}.ag-checkbox-input-wrapper.ag-indeterminate:after{content:var(--ag-icon-font-code-checkbox-indeterminate, "");color:var(--ag-checkbox-indeterminate-color);display:var(--ag-icon-font-display-checkbox-indeterminate, var(--ag-icon-font-display));position:absolute;top:0;left:0;pointer-events:none}.ag-checkbox-input-wrapper:before{content:"";background:transparent center/contain no-repeat;position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--ag-icon-image-checkbox-unchecked, var(--ag-icon-image));display:var(--ag-icon-image-display-checkbox-unchecked, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-checkbox-unchecked, var(--ag-icon-image-opacity, .9))}.ag-checkbox-input-wrapper.ag-checked:before{background-image:var(--ag-icon-image-checkbox-checked, var(--ag-icon-image));display:var(--ag-icon-image-display-checkbox-checked, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-checkbox-checked, var(--ag-icon-image-opacity, .9))}.ag-checkbox-input-wrapper.ag-indeterminate:before{background-image:var(--ag-icon-image-checkbox-indeterminate, var(--ag-icon-image));display:var(--ag-icon-image-display-checkbox-indeterminate, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-checkbox-indeterminate, var(--ag-icon-image-opacity, .9))}.ag-toggle-button-input-wrapper{box-sizing:border-box;width:var(--ag-toggle-button-width);min-width:var(--ag-toggle-button-width);max-width:var(--ag-toggle-button-width);height:var(--ag-toggle-button-height);background-color:var(--ag-toggle-button-off-background-color);border-radius:calc(var(--ag-toggle-button-height) * .5);position:relative;flex:none;border:var(--ag-toggle-button-border-width) solid;border-color:var(--ag-toggle-button-off-border-color)}.ag-toggle-button-input-wrapper input{opacity:0;height:100%;width:100%}.ag-toggle-button-input-wrapper:focus-within{outline:none;box-shadow:var(--ag-input-focus-box-shadow)}.ag-toggle-button-input-wrapper.ag-disabled{opacity:.5}.ag-toggle-button-input-wrapper.ag-checked{background-color:var(--ag-toggle-button-on-background-color);border-color:var(--ag-toggle-button-on-border-color)}.ag-toggle-button-input-wrapper:before{content:" ";position:absolute;top:calc(0px - var(--ag-toggle-button-border-width));left:calc(0px - var(--ag-toggle-button-border-width));display:block;box-sizing:border-box;height:var(--ag-toggle-button-height);width:var(--ag-toggle-button-height);background-color:var(--ag-toggle-button-switch-background-color);border-radius:100%;transition:left .1s;border:var(--ag-toggle-button-border-width) solid;border-color:var(--ag-toggle-button-switch-border-color)}.ag-toggle-button-input-wrapper.ag-checked:before{left:calc(100% - var(--ag-toggle-button-height) + var(--ag-toggle-button-border-width));border-color:var(--ag-toggle-button-on-border-color)}.ag-radio-button-input-wrapper{font-family:var(--ag-icon-font-family);font-weight:var(--ag-icon-font-weight);color:var(--ag-icon-font-color);font-size:var(--ag-icon-size);line-height:var(--ag-icon-size);font-style:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:var(--ag-icon-size);height:var(--ag-icon-size)}.ag-radio-button-input-wrapper input{-webkit-appearance:none;opacity:0;width:100%;height:100%}.ag-radio-button-input-wrapper{background-color:var(--ag-checkbox-background-color);border-radius:var(--ag-checkbox-border-radius);display:inline-block;vertical-align:middle;flex:none}.ag-radio-button-input-wrapper:focus-within,.ag-radio-button-input-wrapper:active{outline:none;box-shadow:var(--ag-input-focus-box-shadow)}.ag-cell-editing-error .ag-radio-button-input-wrapper:focus-within,.ag-cell-editing-error .ag-radio-button-input-wrapper:active{box-shadow:var(--ag-input-error-focus-box-shadow)}.ag-radio-button-input-wrapper.ag-disabled{opacity:.5}.ag-radio-button-input-wrapper{border-radius:var(--ag-icon-size)}.ag-radio-button-input-wrapper:after{content:var(--ag-icon-font-code-radio-button-off, "");color:var(--ag-checkbox-unchecked-color);display:var(--ag-icon-font-display-radio-button-off, var(--ag-icon-font-display));position:absolute;top:0;left:0;pointer-events:none}.ag-radio-button-input-wrapper.ag-checked:after{content:var(--ag-icon-font-code-radio-button-on, "");color:var(--ag-checkbox-checked-color);display:var(--ag-icon-font-display-radio-button-on, var(--ag-icon-font-display));position:absolute;top:0;left:0;pointer-events:none}.ag-radio-button-input-wrapper:before{content:"";background:transparent center/contain no-repeat;position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--ag-icon-image-radio-button-off, var(--ag-icon-image));display:var(--ag-icon-image-display-radio-button-off, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-radio-button-off, var(--ag-icon-image-opacity, .9))}.ag-radio-button-input-wrapper.ag-checked:before{background-image:var(--ag-icon-image-radio-button-on, var(--ag-icon-image));display:var(--ag-icon-image-display-radio-button-on, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-radio-button-on, var(--ag-icon-image-opacity, .9))}.ag-range-field-input{-webkit-appearance:none;width:100%;height:100%;background:none;overflow:visible}.ag-range-field-input::-webkit-slider-runnable-track{margin:0;padding:0;width:100%;height:3px;background-color:var(--ag-border-color);border-radius:var(--ag-border-radius);border-radius:var(--ag-checkbox-border-radius)}.ag-range-field-input::-moz-range-track{margin:0;padding:0;width:100%;height:3px;background-color:var(--ag-border-color);border-radius:var(--ag-border-radius);border-radius:var(--ag-checkbox-border-radius)}.ag-range-field-input::-ms-track{margin:0;padding:0;width:100%;height:3px;background-color:var(--ag-border-color);border-radius:var(--ag-border-radius);border-radius:var(--ag-checkbox-border-radius);color:transparent;width:calc(100% - 2px)}.ag-range-field-input::-webkit-slider-thumb{margin:0;padding:0;-webkit-appearance:none;width:var(--ag-icon-size);height:var(--ag-icon-size);background-color:var(--ag-background-color);border:1px solid;border-color:var(--ag-checkbox-unchecked-color);border-radius:var(--ag-icon-size);transform:translateY(calc(var(--ag-icon-size) * -.5 + 1.5px))}.ag-range-field-input::-ms-thumb{margin:0;padding:0;-webkit-appearance:none;width:var(--ag-icon-size);height:var(--ag-icon-size);background-color:var(--ag-background-color);border:1px solid;border-color:var(--ag-checkbox-unchecked-color);border-radius:var(--ag-icon-size)}.ag-range-field-input::-moz-ag-range-thumb{margin:0;padding:0;-webkit-appearance:none;width:var(--ag-icon-size);height:var(--ag-icon-size);background-color:var(--ag-background-color);border:1px solid;border-color:var(--ag-checkbox-unchecked-color);border-radius:var(--ag-icon-size)}.ag-range-field-input:focus{outline:none}.ag-range-field-input:focus::-webkit-slider-thumb{box-shadow:var(--ag-input-focus-box-shadow);border-color:var(--ag-checkbox-checked-color)}.ag-range-field-input:focus::-ms-thumb{box-shadow:var(--ag-input-focus-box-shadow);border-color:var(--ag-checkbox-checked-color)}.ag-range-field-input:focus::-moz-ag-range-thumb{box-shadow:var(--ag-input-focus-box-shadow);border-color:var(--ag-checkbox-checked-color)}.ag-range-field-input:active::-webkit-slider-runnable-track{background-color:var(--ag-input-focus-border-color)}.ag-range-field-input:active::-moz-ag-range-track{background-color:var(--ag-input-focus-border-color)}.ag-range-field-input:active::-ms-track{background-color:var(--ag-input-focus-border-color)}.ag-range-field-input:disabled{opacity:.5}.ag-theme-quartz,.ag-theme-quartz-dark,.ag-theme-quartz-auto-dark{--ag-active-color: #2196f3;--ag-background-color: #fff;--ag-foreground-color: #181d1f;--ag-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 15%);--ag-secondary-border-color: var(--ag-border-color);--ag-header-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 2%);--ag-tooltip-background-color: var(--ag-header-background-color);--ag-control-panel-background-color: var(--ag-header-background-color);--ag-subheader-background-color: transparent;--ag-invalid-color: #e02525;--ag-checkbox-unchecked-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 30%);--ag-advanced-filter-join-pill-color: #f08e8d;--ag-advanced-filter-column-pill-color: #a6e194;--ag-advanced-filter-option-pill-color: #f3c08b;--ag-advanced-filter-value-pill-color: #85c0e4;--ag-header-column-resize-handle-color: var(--ag-secondary-border-color);--ag-icon-font-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 90%);--ag-find-match-color: var(--ag-foreground-color);--ag-find-match-background-color: #ffff00;--ag-find-active-match-color: var(--ag-foreground-color);--ag-find-active-match-background-color: #ffa500;--ag-panel-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 3%);--ag-panel-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 20%);--ag-menu-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 3%);--ag-menu-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 20%);--ag-selected-row-background-color: color-mix(in srgb, transparent, var(--ag-active-color) 8%);--ag-row-hover-color: color-mix(in srgb, transparent, var(--ag-active-color) 12%);--ag-column-hover-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 5%);--ag-icon-button-hover-background-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);--ag-input-focus-border-color: var(--ag-active-color);--ag-range-selection-background-color: color-mix(in srgb, transparent, var(--ag-active-color) 20%);--ag-input-focus-box-shadow: 0 0 0 3px color-mix(in srgb, transparent, var(--ag-input-focus-border-color) 47%);--ag-input-error-focus-box-shadow: 0 0 0 3px color-mix(in srgb, var(--ag-background-color), var(--ag-invalid-color) 50%);--ag-range-selection-background-color-2: color-mix(in srgb, transparent, var(--ag-active-color) 36%);--ag-range-selection-background-color-3: color-mix(in srgb, transparent, var(--ag-active-color) 49%);--ag-range-selection-background-color-4: color-mix(in srgb, transparent, var(--ag-active-color) 59%);--ag-row-numbers-selected-color: color-mix(in srgb, transparent, var(--ag-active-color) 50%);--ag-calculated-column-highlight-color: color-mix(in srgb, transparent, var(--ag-active-color) 12%);--ag-checkbox-background-color: var(--ag-background-color);--ag-checkbox-checked-color: var(--ag-active-color);--ag-range-selection-border-color: var(--ag-active-color);--ag-secondary-foreground-color: var(--ag-foreground-color);--ag-input-border-color: var(--ag-border-color);--ag-input-border-color-invalid: var(--ag-invalid-color);--ag-disabled-foreground-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 50%);--ag-chip-background-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 7%);--ag-chip-border-color: color-mix(in srgb, var(--ag-header-background-color), var(--ag-foreground-color) 13%);--ag-input-disabled-border-color: var(--ag-border-color);--ag-input-disabled-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 6%);--ag-modal-overlay-background-color: color-mix(in srgb, transparent, var(--ag-background-color) 66%);--ag-chart-menu-label-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 80%);--ag-chart-menu-pill-select-button-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 70%);--ag-filter-panel-card-subtle-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 70%);--ag-column-drag-indicator-color: var(--ag-active-color);--ag-borders: solid 1px;--ag-border-radius: 4px;--ag-wrapper-border-radius: 8px;--ag-borders-side-button: none;--ag-side-button-selected-background-color: transparent;--ag-header-column-resize-handle-display: block;--ag-header-column-resize-handle-width: 2px;--ag-header-column-resize-handle-height: 30%;--ag-grid-size: 8px;--ag-icon-size: 16px;--ag-header-height: calc(var(--ag-font-size) + var(--ag-grid-size) * 4.25);--ag-row-height: calc(var(--ag-font-size) + var(--ag-grid-size) * 3.5);--ag-auto-height-min-body-height: 150px;--ag-list-item-height: calc( var(--ag-icon-size) + var(--ag-widget-vertical-spacing) );--ag-column-select-indent-size: var(--ag-icon-size);--ag-set-filter-indent-size: var(--ag-icon-size);--ag-filter-tool-panel-group-indent: var(--ag-grid-size);--ag-advanced-filter-builder-indent-size: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);--ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 2);--ag-cell-widget-spacing: calc(var(--ag-grid-size) * 1.5);--ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 1.5);--ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 1.5);--ag-widget-horizontal-spacing: calc(var(--ag-grid-size) * 1.5);--ag-widget-vertical-spacing: calc(var(--ag-grid-size) * 1);--ag-toggle-button-height: 18px;--ag-toggle-button-width: 28px;--ag-toggle-button-border-width: 2px;--ag-font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--ag-font-size: 14px;--ag-icon-font-family: agGridQuartz;--ag-tab-min-width: 290px;--ag-chart-menu-panel-width: 260px;--ag-card-shadow: 0 1px 4px 1px rgba(186, 191, 199, .4);--ag-popup-shadow: 0 0 16px 0 rgba(0, 0, 0, .15);--ag-side-bar-panel-width: 250px;--ag-filter-panel-apply-button-color: var(--ag-background-color);--ag-filter-panel-apply-button-background-color: var(--ag-active-color);--ag-column-panel-apply-button-color: var(--ag-background-color);--ag-column-panel-apply-button-background-color: var(--ag-active-color);--ag-note-indicator-color: var(--ag-active-color)}.ag-theme-quartz-dark{--ag-background-color: color-mix(in srgb, #fff, #182230 97%);--ag-foreground-color: #fff;--ag-border-color: rgba(255, 255, 255, .16);--ag-secondary-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);--ag-header-background-color: color-mix(in srgb, #fff, #182230 93%);--ag-tooltip-background-color: color-mix(in srgb, #fff, #182230 96%);--ag-control-panel-background-color: color-mix(in srgb, #fff, #182230 93%);--ag-input-disabled-background-color: #68686e12;--ag-card-shadow: 0 1px 20px 1px black;--ag-input-border-color: var(--ag-border-color);--ag-input-disabled-border-color: rgba(255, 255, 255, .07);--ag-checkbox-unchecked-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 40%);--ag-row-hover-color: color-mix(in srgb, transparent, var(--ag-active-color) 20%);--ag-selected-row-background-color: var(--ag-row-hover-color);--ag-panel-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 10%);--ag-panel-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);--ag-menu-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 10%);--ag-menu-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);--ag-advanced-filter-join-pill-color: #7a3a37;--ag-advanced-filter-column-pill-color: #355f2d;--ag-advanced-filter-option-pill-color: #5a3168;--ag-advanced-filter-value-pill-color: #374c86;--ag-find-match-color: var(--ag-background-color);--ag-find-active-match-color: var(--ag-background-color);--ag-filter-panel-apply-button-color: var(--ag-foreground-color);--ag-column-panel-apply-button-color: var(--ag-foreground-color);--ag-popup-shadow: 0 0px 20px rgba(0, 0, 0, .3);--ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, .4);--ag-cell-batch-edit-text-color: #f3d0b3;--ag-formula-token-1-color: #4da3e5;--ag-formula-token-1-background-color: rgb(77 163 229 / 16%);--ag-formula-token-2-color: #f55864;--ag-formula-token-2-background-color: rgb(245 88 100 / 16%);--ag-formula-token-3-color: #b688f2;--ag-formula-token-3-background-color: rgb(182 136 242 / 16%);--ag-formula-token-4-color: #24bb4a;--ag-formula-token-4-background-color: rgb(36 187 74 / 16%);--ag-formula-token-5-color: #e772ba;--ag-formula-token-5-background-color: rgb(231 114 186 / 16%);--ag-formula-token-6-color: #f69b5f;--ag-formula-token-6-background-color: rgb(246 155 95 / 16%);--ag-formula-token-7-color: #a3e6ff;--ag-formula-token-7-background-color: rgb(163 230 255 / 16%);color-scheme:dark}@media (prefers-color-scheme: dark){.ag-theme-quartz-auto-dark{--ag-background-color: color-mix(in srgb, #fff, #182230 97%);--ag-foreground-color: #fff;--ag-border-color: rgba(255, 255, 255, .16);--ag-secondary-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);--ag-header-background-color: color-mix(in srgb, #fff, #182230 93%);--ag-tooltip-background-color: color-mix(in srgb, #fff, #182230 96%);--ag-control-panel-background-color: color-mix(in srgb, #fff, #182230 93%);--ag-input-disabled-background-color: #68686e12;--ag-card-shadow: 0 1px 20px 1px black;--ag-input-border-color: var(--ag-border-color);--ag-input-disabled-border-color: rgba(255, 255, 255, .07);--ag-checkbox-unchecked-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 40%);--ag-row-hover-color: color-mix(in srgb, transparent, var(--ag-active-color) 20%);--ag-selected-row-background-color: var(--ag-row-hover-color);--ag-panel-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 10%);--ag-panel-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);--ag-menu-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 10%);--ag-menu-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);--ag-advanced-filter-join-pill-color: #7a3a37;--ag-advanced-filter-column-pill-color: #355f2d;--ag-advanced-filter-option-pill-color: #5a3168;--ag-advanced-filter-value-pill-color: #374c86;--ag-find-match-color: var(--ag-background-color);--ag-find-active-match-color: var(--ag-background-color);--ag-filter-panel-apply-button-color: var(--ag-foreground-color);--ag-column-panel-apply-button-color: var(--ag-foreground-color);--ag-popup-shadow: 0 0px 20px rgba(0, 0, 0, .3);--ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, .4);--ag-cell-batch-edit-text-color: #f3d0b3;--ag-formula-token-1-color: #4da3e5;--ag-formula-token-1-background-color: rgb(77 163 229 / 16%);--ag-formula-token-2-color: #f55864;--ag-formula-token-2-background-color: rgb(245 88 100 / 16%);--ag-formula-token-3-color: #b688f2;--ag-formula-token-3-background-color: rgb(182 136 242 / 16%);--ag-formula-token-4-color: #24bb4a;--ag-formula-token-4-background-color: rgb(36 187 74 / 16%);--ag-formula-token-5-color: #e772ba;--ag-formula-token-5-background-color: rgb(231 114 186 / 16%);--ag-formula-token-6-color: #f69b5f;--ag-formula-token-6-background-color: rgb(246 155 95 / 16%);--ag-formula-token-7-color: #a3e6ff;--ag-formula-token-7-background-color: rgb(163 230 255 / 16%);color-scheme:dark}}.ag-theme-quartz .ag-filter-toolpanel-header,.ag-theme-quartz .ag-filter-toolpanel-search,.ag-theme-quartz .ag-status-bar,.ag-theme-quartz .ag-header-row,.ag-theme-quartz .ag-row-number-cell,.ag-theme-quartz .ag-panel-title-bar-title,.ag-theme-quartz .ag-multi-filter-group-title-bar,.ag-theme-quartz .ag-filter-card-title,.ag-theme-quartz-dark .ag-filter-toolpanel-header,.ag-theme-quartz-dark .ag-filter-toolpanel-search,.ag-theme-quartz-dark .ag-status-bar,.ag-theme-quartz-dark .ag-header-row,.ag-theme-quartz-dark .ag-row-number-cell,.ag-theme-quartz-dark .ag-panel-title-bar-title,.ag-theme-quartz-dark .ag-multi-filter-group-title-bar,.ag-theme-quartz-dark .ag-filter-card-title,.ag-theme-quartz-auto-dark .ag-filter-toolpanel-header,.ag-theme-quartz-auto-dark .ag-filter-toolpanel-search,.ag-theme-quartz-auto-dark .ag-status-bar,.ag-theme-quartz-auto-dark .ag-header-row,.ag-theme-quartz-auto-dark .ag-row-number-cell,.ag-theme-quartz-auto-dark .ag-panel-title-bar-title,.ag-theme-quartz-auto-dark .ag-multi-filter-group-title-bar,.ag-theme-quartz-auto-dark .ag-filter-card-title{font-weight:500;color:var(--ag-header-foreground-color)}.ag-theme-quartz .ag-toolbar-item:where(:not(.ag-toolbar-panel)),.ag-theme-quartz-dark .ag-toolbar-item:where(:not(.ag-toolbar-panel)),.ag-theme-quartz-auto-dark .ag-toolbar-item:where(:not(.ag-toolbar-panel)){font-weight:500}.ag-theme-quartz input[class^=ag-]:not([type]),.ag-theme-quartz input[class^=ag-][type=text],.ag-theme-quartz input[class^=ag-][type=number],.ag-theme-quartz input[class^=ag-][type=tel],.ag-theme-quartz input[class^=ag-][type=date],.ag-theme-quartz input[class^=ag-][type=datetime-local],.ag-theme-quartz textarea[class^=ag-],.ag-theme-quartz-dark input[class^=ag-]:not([type]),.ag-theme-quartz-dark input[class^=ag-][type=text],.ag-theme-quartz-dark input[class^=ag-][type=number],.ag-theme-quartz-dark input[class^=ag-][type=tel],.ag-theme-quartz-dark input[class^=ag-][type=date],.ag-theme-quartz-dark input[class^=ag-][type=datetime-local],.ag-theme-quartz-dark textarea[class^=ag-],.ag-theme-quartz-auto-dark input[class^=ag-]:not([type]),.ag-theme-quartz-auto-dark input[class^=ag-][type=text],.ag-theme-quartz-auto-dark input[class^=ag-][type=number],.ag-theme-quartz-auto-dark input[class^=ag-][type=tel],.ag-theme-quartz-auto-dark input[class^=ag-][type=date],.ag-theme-quartz-auto-dark input[class^=ag-][type=datetime-local],.ag-theme-quartz-auto-dark textarea[class^=ag-]{min-height:calc(var(--ag-grid-size) * 4);border-radius:var(--ag-border-radius);padding:1px var(--ag-grid-size) 2px var(--ag-grid-size)}.ag-theme-quartz .ag-picker-field-wrapper,.ag-theme-quartz-dark .ag-picker-field-wrapper,.ag-theme-quartz-auto-dark .ag-picker-field-wrapper{min-height:calc(var(--ag-grid-size) * 4)}.ag-theme-quartz .ag-tab,.ag-theme-quartz-dark .ag-tab,.ag-theme-quartz-auto-dark .ag-tab{padding:var(--ag-grid-size);border-left:var(--ag-borders) transparent;border-right:var(--ag-borders) transparent;flex:1 1 auto}.ag-theme-quartz .ag-tab-selected,.ag-theme-quartz-dark .ag-tab-selected,.ag-theme-quartz-auto-dark .ag-tab-selected{background-color:var(--ag-background-color)}.ag-theme-quartz .ag-ltr .ag-tab-selected:not(:first-of-type),.ag-theme-quartz-dark .ag-ltr .ag-tab-selected:not(:first-of-type),.ag-theme-quartz-auto-dark .ag-ltr .ag-tab-selected:not(:first-of-type){border-left-color:var(--ag-border-color)}.ag-theme-quartz .ag-rtl .ag-tab-selected:not(:first-of-type),.ag-theme-quartz-dark .ag-rtl .ag-tab-selected:not(:first-of-type),.ag-theme-quartz-auto-dark .ag-rtl .ag-tab-selected:not(:first-of-type){border-right-color:var(--ag-border-color)}.ag-theme-quartz .ag-ltr .ag-tab-selected:not(:last-of-type),.ag-theme-quartz-dark .ag-ltr .ag-tab-selected:not(:last-of-type),.ag-theme-quartz-auto-dark .ag-ltr .ag-tab-selected:not(:last-of-type){border-right-color:var(--ag-border-color)}.ag-theme-quartz .ag-rtl .ag-tab-selected:not(:last-of-type),.ag-theme-quartz-dark .ag-rtl .ag-tab-selected:not(:last-of-type),.ag-theme-quartz-auto-dark .ag-rtl .ag-tab-selected:not(:last-of-type){border-left-color:var(--ag-border-color)}.ag-theme-quartz .ag-tab:not(.ag-tab-selected),.ag-theme-quartz-dark .ag-tab:not(.ag-tab-selected),.ag-theme-quartz-auto-dark .ag-tab:not(.ag-tab-selected){opacity:.7}.ag-theme-quartz .ag-tab:not(.ag-tab-selected):hover,.ag-theme-quartz-dark .ag-tab:not(.ag-tab-selected):hover,.ag-theme-quartz-auto-dark .ag-tab:not(.ag-tab-selected):hover{opacity:1}.ag-theme-quartz .ag-menu,.ag-theme-quartz-dark .ag-menu,.ag-theme-quartz-auto-dark .ag-menu{color:color-mix(in srgb,transparent,var(--ag-foreground-color) 95%)}.ag-theme-quartz .ag-panel-content-wrapper .ag-column-select,.ag-theme-quartz-dark .ag-panel-content-wrapper .ag-column-select,.ag-theme-quartz-auto-dark .ag-panel-content-wrapper .ag-column-select{background-color:var(--ag-control-panel-background-color);color:color-mix(in srgb,transparent,var(--ag-foreground-color) 95%)}.ag-theme-quartz .ag-menu-header,.ag-theme-quartz-dark .ag-menu-header,.ag-theme-quartz-auto-dark .ag-menu-header{background-color:var(--ag-control-panel-background-color)}.ag-theme-quartz .ag-menu-option,.ag-theme-quartz-dark .ag-menu-option,.ag-theme-quartz-auto-dark .ag-menu-option{font-weight:500;cursor:pointer}.ag-theme-quartz .ag-ltr .ag-menu-option-popup-pointer .ag-icon,.ag-theme-quartz-dark .ag-ltr .ag-menu-option-popup-pointer .ag-icon,.ag-theme-quartz-auto-dark .ag-ltr .ag-menu-option-popup-pointer .ag-icon{text-align:right}.ag-theme-quartz .ag-rtl .ag-menu-option-popup-pointer .ag-icon,.ag-theme-quartz-dark .ag-rtl .ag-menu-option-popup-pointer .ag-icon,.ag-theme-quartz-auto-dark .ag-rtl .ag-menu-option-popup-pointer .ag-icon{text-align:left}.ag-theme-quartz .ag-tabs-header,.ag-theme-quartz-dark .ag-tabs-header,.ag-theme-quartz-auto-dark .ag-tabs-header{border-bottom:var(--ag-borders) var(--ag-border-color);display:flex;background-color:color-mix(in srgb,transparent,var(--ag-foreground-color) 5%)}.ag-theme-quartz .ag-side-bar,.ag-theme-quartz-dark .ag-side-bar,.ag-theme-quartz-auto-dark .ag-side-bar{background-color:var(--ag-control-panel-background-color);min-width:calc(var(--ag-icon-size) + var(--ag-grid-size) * 2)}.ag-theme-quartz .ag-side-buttons,.ag-theme-quartz-dark .ag-side-buttons,.ag-theme-quartz-auto-dark .ag-side-buttons{padding:0;align-self:stretch;width:calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);background:var(--ag-control-panel-background-color)}.ag-theme-quartz .ag-side-button,.ag-theme-quartz-dark .ag-side-button,.ag-theme-quartz-auto-dark .ag-side-button{border-top:var(--ag-borders) transparent;border-bottom:var(--ag-borders) transparent}@media (max-resolution: 1.5x){.ag-theme-quartz .ag-side-button-label,.ag-theme-quartz-dark .ag-side-button-label,.ag-theme-quartz-auto-dark .ag-side-button-label{font-family:"Segoe UI",var(--ag-font-family);transform:rotate(.05deg)}}.ag-theme-quartz .ag-side-button.ag-selected:not(:first-of-type),.ag-theme-quartz-dark .ag-side-button.ag-selected:not(:first-of-type),.ag-theme-quartz-auto-dark .ag-side-button.ag-selected:not(:first-of-type){border-top-color:var(--ag-border-color)}.ag-theme-quartz .ag-side-button.ag-selected,.ag-theme-quartz-dark .ag-side-button.ag-selected,.ag-theme-quartz-auto-dark .ag-side-button.ag-selected{border-bottom-color:var(--ag-border-color);background-color:var(--ag-background-color)}.ag-theme-quartz .ag-column-panel-column-select,.ag-theme-quartz-dark .ag-column-panel-column-select,.ag-theme-quartz-auto-dark .ag-column-panel-column-select{border-top:none}.ag-theme-quartz .ag-column-panel-column-select:not(.ag-last-visible-child),.ag-theme-quartz-dark .ag-column-panel-column-select:not(.ag-last-visible-child),.ag-theme-quartz-auto-dark .ag-column-panel-column-select:not(.ag-last-visible-child){border-bottom:1px solid var(--ag-secondary-border-color)}.ag-theme-quartz .ag-filter-toolpanel-search,.ag-theme-quartz-dark .ag-filter-toolpanel-search,.ag-theme-quartz-auto-dark .ag-filter-toolpanel-search{height:initial;margin-top:var(--ag-widget-container-vertical-padding)}.ag-theme-quartz .ag-filter-toolpanel-search-input,.ag-theme-quartz-dark .ag-filter-toolpanel-search-input,.ag-theme-quartz-auto-dark .ag-filter-toolpanel-search-input{margin:0}.ag-theme-quartz .ag-filter-apply-panel,.ag-theme-quartz-dark .ag-filter-apply-panel,.ag-theme-quartz-auto-dark .ag-filter-apply-panel{border:none;padding-top:var(--ag-widget-vertical-spacing)}.ag-theme-quartz .ag-chart-tabbed-menu-body,.ag-theme-quartz-dark .ag-chart-tabbed-menu-body,.ag-theme-quartz-auto-dark .ag-chart-tabbed-menu-body{position:relative}.ag-theme-quartz .ag-chart-tabbed-menu-body:after,.ag-theme-quartz-dark .ag-chart-tabbed-menu-body:after,.ag-theme-quartz-auto-dark .ag-chart-tabbed-menu-body:after{content:"";position:absolute;display:block;top:0;left:0;right:0;height:16px;background:linear-gradient(var(--ag-control-panel-background-color),transparent)}.ag-theme-quartz .ag-charts-settings-group-title-bar,.ag-theme-quartz .ag-charts-data-group-title-bar,.ag-theme-quartz .ag-charts-format-top-level-group-title-bar,.ag-theme-quartz .ag-charts-advanced-settings-top-level-group-title-bar,.ag-theme-quartz .ag-charts-settings-group-container,.ag-theme-quartz-dark .ag-charts-settings-group-title-bar,.ag-theme-quartz-dark .ag-charts-data-group-title-bar,.ag-theme-quartz-dark .ag-charts-format-top-level-group-title-bar,.ag-theme-quartz-dark .ag-charts-advanced-settings-top-level-group-title-bar,.ag-theme-quartz-dark .ag-charts-settings-group-container,.ag-theme-quartz-auto-dark .ag-charts-settings-group-title-bar,.ag-theme-quartz-auto-dark .ag-charts-data-group-title-bar,.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group-title-bar,.ag-theme-quartz-auto-dark .ag-charts-advanced-settings-top-level-group-title-bar,.ag-theme-quartz-auto-dark .ag-charts-settings-group-container{border-top:none;font-weight:500}.ag-theme-quartz .ag-chart-mini-thumbnail,.ag-theme-quartz-dark .ag-chart-mini-thumbnail,.ag-theme-quartz-auto-dark .ag-chart-mini-thumbnail{background-color:var(--ag-background-color);margin-top:0;margin-bottom:0}.ag-theme-quartz .ag-chart-settings-nav-bar,.ag-theme-quartz-dark .ag-chart-settings-nav-bar,.ag-theme-quartz-auto-dark .ag-chart-settings-nav-bar{border-top:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-theme-quartz .ag-charts-format-sub-level-group-title-bar,.ag-theme-quartz-dark .ag-charts-format-sub-level-group-title-bar,.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-title-bar{background:none;font-weight:500}.ag-theme-quartz .ag-chart-data-section .ag-label:not(.ag-group-title-bar),.ag-theme-quartz .ag-chart-format-section .ag-label:not(.ag-group-title-bar),.ag-theme-quartz-dark .ag-chart-data-section .ag-label:not(.ag-group-title-bar),.ag-theme-quartz-dark .ag-chart-format-section .ag-label:not(.ag-group-title-bar),.ag-theme-quartz-auto-dark .ag-chart-data-section .ag-label:not(.ag-group-title-bar),.ag-theme-quartz-auto-dark .ag-chart-format-section .ag-label:not(.ag-group-title-bar){color:var(--ag-chart-menu-label-color)}.ag-theme-quartz .ag-chart-data-section .ag-label-align-top .ag-label,.ag-theme-quartz .ag-chart-format-section .ag-label-align-top .ag-label,.ag-theme-quartz-dark .ag-chart-data-section .ag-label-align-top .ag-label,.ag-theme-quartz-dark .ag-chart-format-section .ag-label-align-top .ag-label,.ag-theme-quartz-auto-dark .ag-chart-data-section .ag-label-align-top .ag-label,.ag-theme-quartz-auto-dark .ag-chart-format-section .ag-label-align-top .ag-label{margin-top:calc(var(--ag-widget-vertical-spacing) * .5);margin-bottom:var(--ag-widget-vertical-spacing)}.ag-theme-quartz .ag-chart-data-section .ag-slider.ag-label-align-top .ag-label,.ag-theme-quartz .ag-chart-format-section .ag-slider.ag-label-align-top .ag-label,.ag-theme-quartz-dark .ag-chart-data-section .ag-slider.ag-label-align-top .ag-label,.ag-theme-quartz-dark .ag-chart-format-section .ag-slider.ag-label-align-top .ag-label,.ag-theme-quartz-auto-dark .ag-chart-data-section .ag-slider.ag-label-align-top .ag-label,.ag-theme-quartz-auto-dark .ag-chart-format-section .ag-slider.ag-label-align-top .ag-label{margin-bottom:0}.ag-theme-quartz .ag-chart-data-section label,.ag-theme-quartz .ag-chart-format-section label,.ag-theme-quartz-dark .ag-chart-data-section label,.ag-theme-quartz-dark .ag-chart-format-section label,.ag-theme-quartz-auto-dark .ag-chart-data-section label,.ag-theme-quartz-auto-dark .ag-chart-format-section label{display:inline-block}.ag-theme-quartz .ag-chart-format-wrapper,.ag-theme-quartz .ag-chart-data-wrapper,.ag-theme-quartz .ag-charts-format-top-level-group,.ag-theme-quartz .ag-charts-format-top-level-group-title-bar,.ag-theme-quartz .ag-charts-format-top-level-group .ag-charts-format-top-level-group-container,.ag-theme-quartz .ag-charts-format-top-level-group-item,.ag-theme-quartz .ag-charts-format-sub-level-group,.ag-theme-quartz .ag-charts-format-sub-level-group-title-bar,.ag-theme-quartz .ag-charts-format-sub-level-group-container,.ag-theme-quartz .ag-charts-format-sub-level-group-item:last-child,.ag-theme-quartz .ag-charts-format-sub-level-group-container>*,.ag-theme-quartz .ag-charts-data-group-title-bar,.ag-theme-quartz .ag-charts-data-group-container,.ag-theme-quartz .ag-charts-settings-group-title-bar,.ag-theme-quartz .ag-charts-settings-group-container,.ag-theme-quartz-dark .ag-chart-format-wrapper,.ag-theme-quartz-dark .ag-chart-data-wrapper,.ag-theme-quartz-dark .ag-charts-format-top-level-group,.ag-theme-quartz-dark .ag-charts-format-top-level-group-title-bar,.ag-theme-quartz-dark .ag-charts-format-top-level-group .ag-charts-format-top-level-group-container,.ag-theme-quartz-dark .ag-charts-format-top-level-group-item,.ag-theme-quartz-dark .ag-charts-format-sub-level-group,.ag-theme-quartz-dark .ag-charts-format-sub-level-group-title-bar,.ag-theme-quartz-dark .ag-charts-format-sub-level-group-container,.ag-theme-quartz-dark .ag-charts-format-sub-level-group-item:last-child,.ag-theme-quartz-dark .ag-charts-format-sub-level-group-container>*,.ag-theme-quartz-dark .ag-charts-data-group-title-bar,.ag-theme-quartz-dark .ag-charts-data-group-container,.ag-theme-quartz-dark .ag-charts-settings-group-title-bar,.ag-theme-quartz-dark .ag-charts-settings-group-container,.ag-theme-quartz-auto-dark .ag-chart-format-wrapper,.ag-theme-quartz-auto-dark .ag-chart-data-wrapper,.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group,.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group-title-bar,.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group .ag-charts-format-top-level-group-container,.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group-item,.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group,.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-title-bar,.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-container,.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-item:last-child,.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-container>*,.ag-theme-quartz-auto-dark .ag-charts-data-group-title-bar,.ag-theme-quartz-auto-dark .ag-charts-data-group-container,.ag-theme-quartz-auto-dark .ag-charts-settings-group-title-bar,.ag-theme-quartz-auto-dark .ag-charts-settings-group-container{padding:0;margin:0}.ag-theme-quartz .ag-charts-format-top-level-group,.ag-theme-quartz .ag-charts-data-group,.ag-theme-quartz-dark .ag-charts-format-top-level-group,.ag-theme-quartz-dark .ag-charts-data-group,.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group,.ag-theme-quartz-auto-dark .ag-charts-data-group{border-top:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-theme-quartz .ag-charts-format-top-level-group-title-bar,.ag-theme-quartz .ag-charts-data-group-title-bar,.ag-theme-quartz .ag-charts-settings-group-title-bar,.ag-theme-quartz-dark .ag-charts-format-top-level-group-title-bar,.ag-theme-quartz-dark .ag-charts-data-group-title-bar,.ag-theme-quartz-dark .ag-charts-settings-group-title-bar,.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group-title-bar,.ag-theme-quartz-auto-dark .ag-charts-data-group-title-bar,.ag-theme-quartz-auto-dark .ag-charts-settings-group-title-bar{padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding)}.ag-theme-quartz .ag-charts-format-top-level-group .ag-charts-format-top-level-group-container,.ag-theme-quartz .ag-charts-data-group .ag-charts-data-group-container,.ag-theme-quartz .ag-charts-settings-group .ag-charts-settings-group-container,.ag-theme-quartz-dark .ag-charts-format-top-level-group .ag-charts-format-top-level-group-container,.ag-theme-quartz-dark .ag-charts-data-group .ag-charts-data-group-container,.ag-theme-quartz-dark .ag-charts-settings-group .ag-charts-settings-group-container,.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group .ag-charts-format-top-level-group-container,.ag-theme-quartz-auto-dark .ag-charts-data-group .ag-charts-data-group-container,.ag-theme-quartz-auto-dark .ag-charts-settings-group .ag-charts-settings-group-container{padding:0 var(--ag-widget-container-horizontal-padding)}.ag-theme-quartz .ag-charts-format-sub-level-group-title-bar,.ag-theme-quartz-dark .ag-charts-format-sub-level-group-title-bar,.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-title-bar{padding:var(--ag-widget-vertical-spacing) 0}.ag-theme-quartz .ag-charts-format-sub-level-group-container,.ag-theme-quartz-dark .ag-charts-format-sub-level-group-container,.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-container{padding-top:var(--ag-widget-vertical-spacing);padding-bottom:var(--ag-widget-container-vertical-padding)}.ag-theme-quartz .ag-charts-format-top-level-group-container>*,.ag-theme-quartz .ag-charts-format-sub-level-group-container>*,.ag-theme-quartz-dark .ag-charts-format-top-level-group-container>*,.ag-theme-quartz-dark .ag-charts-format-sub-level-group-container>*,.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group-container>*,.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-container>*{margin-bottom:var(--ag-widget-vertical-spacing)}.ag-theme-quartz .ag-charts-data-group-item,.ag-theme-quartz-dark .ag-charts-data-group-item,.ag-theme-quartz-auto-dark .ag-charts-data-group-item,.ag-theme-quartz .ag-chart-settings-mini-wrapper,.ag-theme-quartz-dark .ag-chart-settings-mini-wrapper,.ag-theme-quartz-auto-dark .ag-chart-settings-mini-wrapper{padding-bottom:var(--ag-widget-container-vertical-padding)}.ag-theme-quartz .ag-chart-advanced-settings-section,.ag-theme-quartz-dark .ag-chart-advanced-settings-section,.ag-theme-quartz-auto-dark .ag-chart-advanced-settings-section{padding-top:var(--ag-widget-container-vertical-padding);padding-bottom:var(--ag-widget-container-vertical-padding)}.ag-theme-quartz .ag-charts-advanced-settings-top-level-group .ag-charts-advanced-settings-top-level-group-title-bar,.ag-theme-quartz .ag-charts-advanced-settings-top-level-group .ag-charts-advanced-settings-top-level-group-container,.ag-theme-quartz-dark .ag-charts-advanced-settings-top-level-group .ag-charts-advanced-settings-top-level-group-title-bar,.ag-theme-quartz-dark .ag-charts-advanced-settings-top-level-group .ag-charts-advanced-settings-top-level-group-container,.ag-theme-quartz-auto-dark .ag-charts-advanced-settings-top-level-group .ag-charts-advanced-settings-top-level-group-title-bar,.ag-theme-quartz-auto-dark .ag-charts-advanced-settings-top-level-group .ag-charts-advanced-settings-top-level-group-container{padding:0 var(--ag-widget-container-horizontal-padding)}.ag-theme-quartz .ag-charts-advanced-settings-top-level-group-container,.ag-theme-quartz-dark .ag-charts-advanced-settings-top-level-group-container,.ag-theme-quartz-auto-dark .ag-charts-advanced-settings-top-level-group-container{margin:0}.ag-theme-quartz .ag-charts-advanced-settings-top-level-group-item,.ag-theme-quartz-dark .ag-charts-advanced-settings-top-level-group-item,.ag-theme-quartz-auto-dark .ag-charts-advanced-settings-top-level-group-item{margin-top:calc(var(--ag-widget-vertical-spacing) * 2);margin-bottom:0}.ag-theme-quartz .ag-ltr .ag-group-title-bar-icon,.ag-theme-quartz-dark .ag-ltr .ag-group-title-bar-icon,.ag-theme-quartz-auto-dark .ag-ltr .ag-group-title-bar-icon{margin-right:var(--ag-grid-size)}.ag-theme-quartz .ag-rtl .ag-group-title-bar-icon,.ag-theme-quartz-dark .ag-rtl .ag-group-title-bar-icon,.ag-theme-quartz-auto-dark .ag-rtl .ag-group-title-bar-icon{margin-left:var(--ag-grid-size)}.ag-theme-quartz .ag-spectrum-color,.ag-theme-quartz .ag-spectrum-fill,.ag-theme-quartz-dark .ag-spectrum-color,.ag-theme-quartz-dark .ag-spectrum-fill,.ag-theme-quartz-auto-dark .ag-spectrum-color,.ag-theme-quartz-auto-dark .ag-spectrum-fill{border-radius:var(--ag-border-radius)}.ag-theme-quartz .ag-spectrum-dragger,.ag-theme-quartz-dark .ag-spectrum-dragger,.ag-theme-quartz-auto-dark .ag-spectrum-dragger{border-radius:18px;height:18px;width:18px;border:3px solid white}.ag-theme-quartz .ag-spectrum-tools,.ag-theme-quartz-dark .ag-spectrum-tools,.ag-theme-quartz-auto-dark .ag-spectrum-tools{padding-left:0;padding-right:0;padding-bottom:0}.ag-theme-quartz .ag-spectrum-tool,.ag-theme-quartz-dark .ag-spectrum-tool,.ag-theme-quartz-auto-dark .ag-spectrum-tool{height:12px}.ag-theme-quartz .ag-spectrum-hue-background,.ag-theme-quartz .ag-spectrum-alpha-background,.ag-theme-quartz-dark .ag-spectrum-hue-background,.ag-theme-quartz-dark .ag-spectrum-alpha-background,.ag-theme-quartz-auto-dark .ag-spectrum-hue-background,.ag-theme-quartz-auto-dark .ag-spectrum-alpha-background{border-radius:12px}.ag-theme-quartz .ag-spectrum-slider,.ag-theme-quartz-dark .ag-spectrum-slider,.ag-theme-quartz-auto-dark .ag-spectrum-slider{margin-top:-15px;width:18px;height:18px;border-radius:18px;border:3px solid rgb(248,248,248)}.ag-theme-quartz .ag-recent-colors,.ag-theme-quartz-dark .ag-recent-colors,.ag-theme-quartz-auto-dark .ag-recent-colors{margin-left:var(--ag-grid-size);margin-right:var(--ag-grid-size);margin-bottom:2px}.ag-theme-quartz .ag-color-input-color,.ag-theme-quartz .ag-color-picker-color,.ag-theme-quartz .ag-recent-color,.ag-theme-quartz-dark .ag-color-input-color,.ag-theme-quartz-dark .ag-color-picker-color,.ag-theme-quartz-dark .ag-recent-color,.ag-theme-quartz-auto-dark .ag-color-input-color,.ag-theme-quartz-auto-dark .ag-color-picker-color,.ag-theme-quartz-auto-dark .ag-recent-color{border-radius:4px}.ag-theme-quartz .ag-recent-color,.ag-theme-quartz-dark .ag-recent-color,.ag-theme-quartz-auto-dark .ag-recent-color{border:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-theme-quartz .ag-dnd-ghost,.ag-theme-quartz-dark .ag-dnd-ghost,.ag-theme-quartz-auto-dark .ag-dnd-ghost{font-weight:500}.ag-theme-quartz .ag-standard-button,.ag-theme-quartz-dark .ag-standard-button,.ag-theme-quartz-auto-dark .ag-standard-button{font-family:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none;border-radius:var(--ag-border-radius);border:solid 1px var(--ag-input-border-color);background-color:var(--ag-background-color);padding:var(--ag-grid-size) calc(var(--ag-grid-size) * 2)}.ag-theme-quartz .ag-standard-button:not(:disabled),.ag-theme-quartz-dark .ag-standard-button:not(:disabled),.ag-theme-quartz-auto-dark .ag-standard-button:not(:disabled){cursor:pointer}.ag-theme-quartz .ag-standard-button:not(:disabled):hover,.ag-theme-quartz-dark .ag-standard-button:not(:disabled):hover,.ag-theme-quartz-auto-dark .ag-standard-button:not(:disabled):hover{background-color:var(--ag-row-hover-color)}.ag-theme-quartz .ag-standard-button:active,.ag-theme-quartz-dark .ag-standard-button:active,.ag-theme-quartz-auto-dark .ag-standard-button:active{border-color:var(--ag-active-color)}.ag-theme-quartz .ag-standard-button:disabled,.ag-theme-quartz-dark .ag-standard-button:disabled,.ag-theme-quartz-auto-dark .ag-standard-button:disabled{color:var(--ag-disabled-foreground-color);background-color:var(--ag-input-disabled-background-color);border-color:var(--ag-input-disabled-border-color)}.ag-theme-quartz .ag-column-drop-cell,.ag-theme-quartz-dark .ag-column-drop-cell,.ag-theme-quartz-auto-dark .ag-column-drop-cell{border-radius:calc(var(--ag-grid-size) * 3);height:calc(var(--ag-grid-size) * 3);padding:0 var(--ag-grid-size)}.ag-theme-quartz .ag-column-drop-cell-button,.ag-theme-quartz-dark .ag-column-drop-cell-button,.ag-theme-quartz-auto-dark .ag-column-drop-cell-button{min-width:0;margin:0}.ag-theme-quartz .ag-column-drop-cell-drag-handle,.ag-theme-quartz-dark .ag-column-drop-cell-drag-handle,.ag-theme-quartz-auto-dark .ag-column-drop-cell-drag-handle{margin-left:0}.ag-theme-quartz .ag-column-drop-vertical,.ag-theme-quartz-dark .ag-column-drop-vertical,.ag-theme-quartz-auto-dark .ag-column-drop-vertical{min-height:75px}.ag-theme-quartz .ag-column-drop-vertical-title-bar,.ag-theme-quartz-dark .ag-column-drop-vertical-title-bar,.ag-theme-quartz-auto-dark .ag-column-drop-vertical-title-bar{padding:var(--ag-widget-container-vertical-padding) calc(var(--ag-grid-size) * 2) 0}.ag-theme-quartz .ag-ltr .ag-column-drop-vertical-icon,.ag-theme-quartz-dark .ag-ltr .ag-column-drop-vertical-icon,.ag-theme-quartz-auto-dark .ag-ltr .ag-column-drop-vertical-icon{margin-left:0;margin-right:var(--ag-widget-horizontal-spacing)}.ag-theme-quartz .ag-rtl .ag-column-drop-vertical-icon,.ag-theme-quartz-dark .ag-rtl .ag-column-drop-vertical-icon,.ag-theme-quartz-auto-dark .ag-rtl .ag-column-drop-vertical-icon{margin-right:0;margin-left:var(--ag-widget-horizontal-spacing)}.ag-theme-quartz .ag-column-drop-vertical-empty-message,.ag-theme-quartz-dark .ag-column-drop-vertical-empty-message,.ag-theme-quartz-auto-dark .ag-column-drop-vertical-empty-message{display:flex;align-items:center;justify-content:center;border:dashed 1px;border-color:var(--ag-border-color);margin:calc(var(--ag-grid-size) * 1.5) calc(var(--ag-grid-size) * 2);padding:calc(var(--ag-grid-size) * 2)}.ag-theme-quartz .ag-column-drop-empty-message,.ag-theme-quartz-dark .ag-column-drop-empty-message,.ag-theme-quartz-auto-dark .ag-column-drop-empty-message{color:var(--ag-foreground-color)}.ag-theme-quartz .ag-pill-select .ag-column-drop,.ag-theme-quartz-dark .ag-pill-select .ag-column-drop,.ag-theme-quartz-auto-dark .ag-pill-select .ag-column-drop{min-height:unset}.ag-theme-quartz .ag-pill-select .ag-picker-field-display,.ag-theme-quartz-dark .ag-pill-select .ag-picker-field-display,.ag-theme-quartz-auto-dark .ag-pill-select .ag-picker-field-display{font-weight:500;color:var(--ag-chart-menu-pill-select-button-color)}.ag-theme-quartz .ag-pill-select .ag-picker-field-icon .ag-icon,.ag-theme-quartz-dark .ag-pill-select .ag-picker-field-icon .ag-icon,.ag-theme-quartz-auto-dark .ag-pill-select .ag-picker-field-icon .ag-icon{color:var(--ag-chart-menu-pill-select-button-color)}.ag-theme-quartz .ag-status-bar,.ag-theme-quartz-dark .ag-status-bar,.ag-theme-quartz-auto-dark .ag-status-bar{font-weight:400}.ag-theme-quartz .ag-status-name-value,.ag-theme-quartz-dark .ag-status-name-value,.ag-theme-quartz-auto-dark .ag-status-name-value{padding:var(--ag-widget-container-vertical-padding) 0}.ag-theme-quartz .ag-status-name-value-value,.ag-theme-quartz .ag-paging-number,.ag-theme-quartz .ag-paging-row-summary-panel-number,.ag-theme-quartz-dark .ag-status-name-value-value,.ag-theme-quartz-dark .ag-paging-number,.ag-theme-quartz-dark .ag-paging-row-summary-panel-number,.ag-theme-quartz-auto-dark .ag-status-name-value-value,.ag-theme-quartz-auto-dark .ag-paging-number,.ag-theme-quartz-auto-dark .ag-paging-row-summary-panel-number{font-weight:500;font-variant-numeric:tabular-nums}.ag-theme-quartz .ag-column-drop-cell-button,.ag-theme-quartz-dark .ag-column-drop-cell-button,.ag-theme-quartz-auto-dark .ag-column-drop-cell-button{opacity:.75}.ag-theme-quartz .ag-column-drop-cell-button:hover,.ag-theme-quartz-dark .ag-column-drop-cell-button:hover,.ag-theme-quartz-auto-dark .ag-column-drop-cell-button:hover{opacity:1}.ag-theme-quartz .ag-header-cell-menu-button,.ag-theme-quartz .ag-header-cell-filter-button,.ag-theme-quartz .ag-panel-title-bar-button,.ag-theme-quartz .ag-header-expand-icon,.ag-theme-quartz .ag-column-group-icons,.ag-theme-quartz .ag-set-filter-group-icons,.ag-theme-quartz .ag-group-expanded .ag-icon,.ag-theme-quartz .ag-group-contracted .ag-icon,.ag-theme-quartz .ag-chart-settings-prev,.ag-theme-quartz .ag-chart-settings-next,.ag-theme-quartz .ag-group-title-bar-icon,.ag-theme-quartz .ag-column-select-header-icon,.ag-theme-quartz .ag-floating-filter-button-button,.ag-theme-quartz .ag-filter-toolpanel-expand,.ag-theme-quartz .ag-panel-title-bar-button-icon,.ag-theme-quartz .ag-chart-menu-icon,.ag-theme-quartz-dark .ag-header-cell-menu-button,.ag-theme-quartz-dark .ag-header-cell-filter-button,.ag-theme-quartz-dark .ag-panel-title-bar-button,.ag-theme-quartz-dark .ag-header-expand-icon,.ag-theme-quartz-dark .ag-column-group-icons,.ag-theme-quartz-dark .ag-set-filter-group-icons,.ag-theme-quartz-dark .ag-group-expanded .ag-icon,.ag-theme-quartz-dark .ag-group-contracted .ag-icon,.ag-theme-quartz-dark .ag-chart-settings-prev,.ag-theme-quartz-dark .ag-chart-settings-next,.ag-theme-quartz-dark .ag-group-title-bar-icon,.ag-theme-quartz-dark .ag-column-select-header-icon,.ag-theme-quartz-dark .ag-floating-filter-button-button,.ag-theme-quartz-dark .ag-filter-toolpanel-expand,.ag-theme-quartz-dark .ag-panel-title-bar-button-icon,.ag-theme-quartz-dark .ag-chart-menu-icon,.ag-theme-quartz-auto-dark .ag-header-cell-menu-button,.ag-theme-quartz-auto-dark .ag-header-cell-filter-button,.ag-theme-quartz-auto-dark .ag-panel-title-bar-button,.ag-theme-quartz-auto-dark .ag-header-expand-icon,.ag-theme-quartz-auto-dark .ag-column-group-icons,.ag-theme-quartz-auto-dark .ag-set-filter-group-icons,.ag-theme-quartz-auto-dark .ag-group-expanded .ag-icon,.ag-theme-quartz-auto-dark .ag-group-contracted .ag-icon,.ag-theme-quartz-auto-dark .ag-chart-settings-prev,.ag-theme-quartz-auto-dark .ag-chart-settings-next,.ag-theme-quartz-auto-dark .ag-group-title-bar-icon,.ag-theme-quartz-auto-dark .ag-column-select-header-icon,.ag-theme-quartz-auto-dark .ag-floating-filter-button-button,.ag-theme-quartz-auto-dark .ag-filter-toolpanel-expand,.ag-theme-quartz-auto-dark .ag-panel-title-bar-button-icon,.ag-theme-quartz-auto-dark .ag-chart-menu-icon{--ag-quartz-icon-hover-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%)}.ag-theme-quartz .ag-header-cell-menu-button:hover,.ag-theme-quartz .ag-header-cell-filter-button:hover,.ag-theme-quartz .ag-panel-title-bar-button:hover,.ag-theme-quartz .ag-header-expand-icon:hover,.ag-theme-quartz .ag-column-group-icons:hover,.ag-theme-quartz .ag-set-filter-group-icons:hover,.ag-theme-quartz .ag-group-expanded .ag-icon:hover,.ag-theme-quartz .ag-group-contracted .ag-icon:hover,.ag-theme-quartz .ag-chart-settings-prev:hover,.ag-theme-quartz .ag-chart-settings-next:hover,.ag-theme-quartz .ag-group-title-bar-icon:hover,.ag-theme-quartz .ag-column-select-header-icon:hover,.ag-theme-quartz .ag-floating-filter-button-button:hover,.ag-theme-quartz .ag-filter-toolpanel-expand:hover,.ag-theme-quartz .ag-panel-title-bar-button-icon:hover,.ag-theme-quartz .ag-chart-menu-icon:hover,.ag-theme-quartz-dark .ag-header-cell-menu-button:hover,.ag-theme-quartz-dark .ag-header-cell-filter-button:hover,.ag-theme-quartz-dark .ag-panel-title-bar-button:hover,.ag-theme-quartz-dark .ag-header-expand-icon:hover,.ag-theme-quartz-dark .ag-column-group-icons:hover,.ag-theme-quartz-dark .ag-set-filter-group-icons:hover,.ag-theme-quartz-dark .ag-group-expanded .ag-icon:hover,.ag-theme-quartz-dark .ag-group-contracted .ag-icon:hover,.ag-theme-quartz-dark .ag-chart-settings-prev:hover,.ag-theme-quartz-dark .ag-chart-settings-next:hover,.ag-theme-quartz-dark .ag-group-title-bar-icon:hover,.ag-theme-quartz-dark .ag-column-select-header-icon:hover,.ag-theme-quartz-dark .ag-floating-filter-button-button:hover,.ag-theme-quartz-dark .ag-filter-toolpanel-expand:hover,.ag-theme-quartz-dark .ag-panel-title-bar-button-icon:hover,.ag-theme-quartz-dark .ag-chart-menu-icon:hover,.ag-theme-quartz-auto-dark .ag-header-cell-menu-button:hover,.ag-theme-quartz-auto-dark .ag-header-cell-filter-button:hover,.ag-theme-quartz-auto-dark .ag-panel-title-bar-button:hover,.ag-theme-quartz-auto-dark .ag-header-expand-icon:hover,.ag-theme-quartz-auto-dark .ag-column-group-icons:hover,.ag-theme-quartz-auto-dark .ag-set-filter-group-icons:hover,.ag-theme-quartz-auto-dark .ag-group-expanded .ag-icon:hover,.ag-theme-quartz-auto-dark .ag-group-contracted .ag-icon:hover,.ag-theme-quartz-auto-dark .ag-chart-settings-prev:hover,.ag-theme-quartz-auto-dark .ag-chart-settings-next:hover,.ag-theme-quartz-auto-dark .ag-group-title-bar-icon:hover,.ag-theme-quartz-auto-dark .ag-column-select-header-icon:hover,.ag-theme-quartz-auto-dark .ag-floating-filter-button-button:hover,.ag-theme-quartz-auto-dark .ag-filter-toolpanel-expand:hover,.ag-theme-quartz-auto-dark .ag-panel-title-bar-button-icon:hover,.ag-theme-quartz-auto-dark .ag-chart-menu-icon:hover{border-radius:1px;background-color:var(--ag-quartz-icon-hover-color);box-shadow:0 0 0 4px var(--ag-quartz-icon-hover-color)}.ag-theme-quartz .ag-filter-active,.ag-theme-quartz .ag-filter-toolpanel-group-instance-header-icon,.ag-theme-quartz .ag-filter-toolpanel-instance-header-icon,.ag-theme-quartz-dark .ag-filter-active,.ag-theme-quartz-dark .ag-filter-toolpanel-group-instance-header-icon,.ag-theme-quartz-dark .ag-filter-toolpanel-instance-header-icon,.ag-theme-quartz-auto-dark .ag-filter-active,.ag-theme-quartz-auto-dark .ag-filter-toolpanel-group-instance-header-icon,.ag-theme-quartz-auto-dark .ag-filter-toolpanel-instance-header-icon{position:relative}.ag-theme-quartz .ag-filter-active:after,.ag-theme-quartz .ag-filter-toolpanel-group-instance-header-icon:after,.ag-theme-quartz .ag-filter-toolpanel-instance-header-icon:after,.ag-theme-quartz-dark .ag-filter-active:after,.ag-theme-quartz-dark .ag-filter-toolpanel-group-instance-header-icon:after,.ag-theme-quartz-dark .ag-filter-toolpanel-instance-header-icon:after,.ag-theme-quartz-auto-dark .ag-filter-active:after,.ag-theme-quartz-auto-dark .ag-filter-toolpanel-group-instance-header-icon:after,.ag-theme-quartz-auto-dark .ag-filter-toolpanel-instance-header-icon:after{content:"";position:absolute;width:6px;height:6px;top:-1px;right:-1px;border-radius:50%;background-color:var(--ag-active-color)}.ag-theme-quartz .ag-filter-active,.ag-theme-quartz-dark .ag-filter-active,.ag-theme-quartz-auto-dark .ag-filter-active{--ag-quartz-icon-active-color: color-mix(in srgb, transparent, var(--ag-active-color) 14%);--ag-quartz-icon-hover-color: color-mix(in srgb, transparent, var(--ag-active-color) 28%);border-radius:1px;background-color:var(--ag-quartz-icon-active-color);box-shadow:0 0 0 4px var(--ag-quartz-icon-active-color)}.ag-theme-quartz .ag-filter-active .ag-icon-filter,.ag-theme-quartz-dark .ag-filter-active .ag-icon-filter,.ag-theme-quartz-auto-dark .ag-filter-active .ag-icon-filter{clip-path:path("M8,0C8,4.415 11.585,8 16,8L16,16L0,16L0,0L8,0Z")}.ag-theme-quartz .ag-chart-menu,.ag-theme-quartz-dark .ag-chart-menu,.ag-theme-quartz-auto-dark .ag-chart-menu{--ag-icon-size: 20px;background-color:color-mix(in srgb,transparent,var(--ag-background-color) 30%);padding:4px 2px}.ag-theme-quartz .ag-chart-menu-icon,.ag-theme-quartz-dark .ag-chart-menu-icon,.ag-theme-quartz-auto-dark .ag-chart-menu-icon{opacity:.8}.ag-theme-quartz .ag-drag-handle,.ag-theme-quartz-dark .ag-drag-handle,.ag-theme-quartz-auto-dark .ag-drag-handle{color:var(--ag-icon-font-color)}.ag-theme-quartz .ag-ltr .ag-menu-option-icon,.ag-theme-quartz .ag-ltr .ag-compact-menu-option-icon,.ag-theme-quartz-dark .ag-ltr .ag-menu-option-icon,.ag-theme-quartz-dark .ag-ltr .ag-compact-menu-option-icon,.ag-theme-quartz-auto-dark .ag-ltr .ag-menu-option-icon,.ag-theme-quartz-auto-dark .ag-ltr .ag-compact-menu-option-icon{padding-left:calc(var(--ag-grid-size) * 1.5)}.ag-theme-quartz .ag-rtl .ag-menu-option-icon,.ag-theme-quartz .ag-rtl .ag-compact-menu-option-icon,.ag-theme-quartz-dark .ag-rtl .ag-menu-option-icon,.ag-theme-quartz-dark .ag-rtl .ag-compact-menu-option-icon,.ag-theme-quartz-auto-dark .ag-rtl .ag-menu-option-icon,.ag-theme-quartz-auto-dark .ag-rtl .ag-compact-menu-option-icon{padding-right:calc(var(--ag-grid-size) * 1.5)}.ag-theme-quartz .ag-menu-option-icon,.ag-theme-quartz .ag-compact-menu-option-icon,.ag-theme-quartz-dark .ag-menu-option-icon,.ag-theme-quartz-dark .ag-compact-menu-option-icon,.ag-theme-quartz-auto-dark .ag-menu-option-icon,.ag-theme-quartz-auto-dark .ag-compact-menu-option-icon{width:var(--ag-icon-size);cursor:pointer}.ag-theme-quartz .ag-chart-settings-card-item.ag-not-selected:hover,.ag-theme-quartz-dark .ag-chart-settings-card-item.ag-not-selected:hover,.ag-theme-quartz-auto-dark .ag-chart-settings-card-item.ag-not-selected:hover{opacity:.35}.ag-theme-quartz .ag-ltr .ag-panel-title-bar-button,.ag-theme-quartz-dark .ag-ltr .ag-panel-title-bar-button,.ag-theme-quartz-auto-dark .ag-ltr .ag-panel-title-bar-button{margin-left:calc(var(--ag-grid-size) * 2);margin-right:var(--ag-grid-size)}.ag-theme-quartz .ag-rtl .ag-panel-title-bar-button,.ag-theme-quartz-dark .ag-rtl .ag-panel-title-bar-button,.ag-theme-quartz-auto-dark .ag-rtl .ag-panel-title-bar-button{margin-right:calc(var(--ag-grid-size) * 2);margin-left:var(--ag-grid-size)}.ag-theme-quartz .ag-multi-filter-group-title-bar,.ag-theme-quartz-dark .ag-multi-filter-group-title-bar,.ag-theme-quartz-auto-dark .ag-multi-filter-group-title-bar{padding:calc(var(--ag-grid-size) * 1.5) var(--ag-grid-size)}.ag-theme-quartz .ag-ltr .ag-filter-toolpanel-instance-body,.ag-theme-quartz-dark .ag-ltr .ag-filter-toolpanel-instance-body,.ag-theme-quartz-auto-dark .ag-ltr .ag-filter-toolpanel-instance-body{padding-left:var(--ag-grid-size)}.ag-theme-quartz .ag-rtl .ag-filter-toolpanel-instance-body,.ag-theme-quartz-dark .ag-rtl .ag-filter-toolpanel-instance-body,.ag-theme-quartz-auto-dark .ag-rtl .ag-filter-toolpanel-instance-body{padding-right:var(--ag-grid-size)}.ag-theme-quartz .ag-filter-toolpanel-instance-filter,.ag-theme-quartz-dark .ag-filter-toolpanel-instance-filter,.ag-theme-quartz-auto-dark .ag-filter-toolpanel-instance-filter{border:none;background-color:var(--ag-control-panel-background-color)}.ag-theme-quartz .ag-ltr .ag-filter-toolpanel-instance-filter,.ag-theme-quartz-dark .ag-ltr .ag-filter-toolpanel-instance-filter,.ag-theme-quartz-auto-dark .ag-ltr .ag-filter-toolpanel-instance-filter{margin-left:calc(var(--ag-icon-size) * .5)}.ag-theme-quartz .ag-rtl .ag-filter-toolpanel-instance-filter,.ag-theme-quartz-dark .ag-rtl .ag-filter-toolpanel-instance-filter,.ag-theme-quartz-auto-dark .ag-rtl .ag-filter-toolpanel-instance-filter{margin-right:calc(var(--ag-icon-size) * .5)}.ag-theme-quartz .ag-filter-toolpanel-group-level-0,.ag-theme-quartz-dark .ag-filter-toolpanel-group-level-0,.ag-theme-quartz-auto-dark .ag-filter-toolpanel-group-level-0{border-top:none}.ag-theme-quartz .ag-filter-toolpanel-header,.ag-theme-quartz-dark .ag-filter-toolpanel-header,.ag-theme-quartz-auto-dark .ag-filter-toolpanel-header{height:initial;padding-top:var(--ag-grid-size);padding-bottom:var(--ag-grid-size)}.ag-theme-quartz .ag-filter-toolpanel-group-item,.ag-theme-quartz-dark .ag-filter-toolpanel-group-item,.ag-theme-quartz-auto-dark .ag-filter-toolpanel-group-item{margin:0}.ag-theme-quartz .ag-date-time-list-page-entry-is-current,.ag-theme-quartz-dark .ag-date-time-list-page-entry-is-current,.ag-theme-quartz-auto-dark .ag-date-time-list-page-entry-is-current{background-color:var(--ag-active-color)}.ag-theme-quartz .ag-advanced-filter-builder-button,.ag-theme-quartz-dark .ag-advanced-filter-builder-button,.ag-theme-quartz-auto-dark .ag-advanced-filter-builder-button{padding:var(--ag-grid-size);font-weight:600}.ag-theme-quartz .ag-advanced-filter-builder-item-button-disabled .ag-icon,.ag-theme-quartz .ag-disabled .ag-icon,.ag-theme-quartz .ag-column-select-column-group-readonly .ag-icon,.ag-theme-quartz [disabled] .ag-icon,.ag-theme-quartz-dark .ag-advanced-filter-builder-item-button-disabled .ag-icon,.ag-theme-quartz-dark .ag-disabled .ag-icon,.ag-theme-quartz-dark .ag-column-select-column-group-readonly .ag-icon,.ag-theme-quartz-dark [disabled] .ag-icon,.ag-theme-quartz-auto-dark .ag-advanced-filter-builder-item-button-disabled .ag-icon,.ag-theme-quartz-auto-dark .ag-disabled .ag-icon,.ag-theme-quartz-auto-dark .ag-column-select-column-group-readonly .ag-icon,.ag-theme-quartz-auto-dark [disabled] .ag-icon{opacity:.6}.ag-theme-quartz .ag-icon-grip,.ag-theme-quartz-dark .ag-icon-grip,.ag-theme-quartz-auto-dark .ag-icon-grip{opacity:.7}.ag-theme-quartz .ag-column-select-column-readonly.ag-icon-grip,.ag-theme-quartz .ag-column-select-column-readonly .ag-icon-grip,.ag-theme-quartz-dark .ag-column-select-column-readonly.ag-icon-grip,.ag-theme-quartz-dark .ag-column-select-column-readonly .ag-icon-grip,.ag-theme-quartz-auto-dark .ag-column-select-column-readonly.ag-icon-grip,.ag-theme-quartz-auto-dark .ag-column-select-column-readonly .ag-icon-grip{opacity:.35}.ag-theme-quartz .ag-column-select-header-filter-wrapper .ag-input-wrapper:before,.ag-theme-quartz .ag-filter-toolpanel-search .ag-input-wrapper:before,.ag-theme-quartz .ag-mini-filter .ag-input-wrapper:before,.ag-theme-quartz .ag-filter-filter .ag-input-wrapper:before,.ag-theme-quartz .ag-filter-add-select .ag-input-wrapper:before,.ag-theme-quartz-dark .ag-column-select-header-filter-wrapper .ag-input-wrapper:before,.ag-theme-quartz-dark .ag-filter-toolpanel-search .ag-input-wrapper:before,.ag-theme-quartz-dark .ag-mini-filter .ag-input-wrapper:before,.ag-theme-quartz-dark .ag-filter-filter .ag-input-wrapper:before,.ag-theme-quartz-dark .ag-filter-add-select .ag-input-wrapper:before,.ag-theme-quartz-auto-dark .ag-column-select-header-filter-wrapper .ag-input-wrapper:before,.ag-theme-quartz-auto-dark .ag-filter-toolpanel-search .ag-input-wrapper:before,.ag-theme-quartz-auto-dark .ag-mini-filter .ag-input-wrapper:before,.ag-theme-quartz-auto-dark .ag-filter-filter .ag-input-wrapper:before,.ag-theme-quartz-auto-dark .ag-filter-add-select .ag-input-wrapper:before{position:absolute;display:block}.ag-theme-quartz .ag-ltr .ag-column-select-header-filter-wrapper .ag-input-wrapper:before,.ag-theme-quartz .ag-ltr .ag-filter-toolpanel-search .ag-input-wrapper:before,.ag-theme-quartz .ag-ltr .ag-mini-filter .ag-input-wrapper:before,.ag-theme-quartz .ag-ltr .ag-filter-filter .ag-input-wrapper:before,.ag-theme-quartz .ag-ltr .ag-filter-add-select .ag-input-wrapper:before,.ag-theme-quartz-dark .ag-ltr .ag-column-select-header-filter-wrapper .ag-input-wrapper:before,.ag-theme-quartz-dark .ag-ltr .ag-filter-toolpanel-search .ag-input-wrapper:before,.ag-theme-quartz-dark .ag-ltr .ag-mini-filter .ag-input-wrapper:before,.ag-theme-quartz-dark .ag-ltr .ag-filter-filter .ag-input-wrapper:before,.ag-theme-quartz-dark .ag-ltr .ag-filter-add-select .ag-input-wrapper:before,.ag-theme-quartz-auto-dark .ag-ltr .ag-column-select-header-filter-wrapper .ag-input-wrapper:before,.ag-theme-quartz-auto-dark .ag-ltr .ag-filter-toolpanel-search .ag-input-wrapper:before,.ag-theme-quartz-auto-dark .ag-ltr .ag-mini-filter .ag-input-wrapper:before,.ag-theme-quartz-auto-dark .ag-ltr .ag-filter-filter .ag-input-wrapper:before,.ag-theme-quartz-auto-dark .ag-ltr .ag-filter-add-select .ag-input-wrapper:before{margin-left:var(--ag-grid-size)}.ag-theme-quartz .ag-rtl .ag-column-select-header-filter-wrapper .ag-input-wrapper:before,.ag-theme-quartz .ag-rtl .ag-filter-toolpanel-search .ag-input-wrapper:before,.ag-theme-quartz .ag-rtl .ag-mini-filter .ag-input-wrapper:before,.ag-theme-quartz .ag-rtl .ag-filter-filter .ag-input-wrapper:before,.ag-theme-quartz .ag-rtl .ag-filter-add-select .ag-input-wrapper:before,.ag-theme-quartz-dark .ag-rtl .ag-column-select-header-filter-wrapper .ag-input-wrapper:before,.ag-theme-quartz-dark .ag-rtl .ag-filter-toolpanel-search .ag-input-wrapper:before,.ag-theme-quartz-dark .ag-rtl .ag-mini-filter .ag-input-wrapper:before,.ag-theme-quartz-dark .ag-rtl .ag-filter-filter .ag-input-wrapper:before,.ag-theme-quartz-dark .ag-rtl .ag-filter-add-select .ag-input-wrapper:before,.ag-theme-quartz-auto-dark .ag-rtl .ag-column-select-header-filter-wrapper .ag-input-wrapper:before,.ag-theme-quartz-auto-dark .ag-rtl .ag-filter-toolpanel-search .ag-input-wrapper:before,.ag-theme-quartz-auto-dark .ag-rtl .ag-mini-filter .ag-input-wrapper:before,.ag-theme-quartz-auto-dark .ag-rtl .ag-filter-filter .ag-input-wrapper:before,.ag-theme-quartz-auto-dark .ag-rtl .ag-filter-add-select .ag-input-wrapper:before{margin-right:var(--ag-grid-size)}.ag-theme-quartz .ag-column-select-header-filter-wrapper .ag-input-wrapper:before,.ag-theme-quartz .ag-filter-toolpanel-search .ag-input-wrapper:before,.ag-theme-quartz .ag-mini-filter .ag-input-wrapper:before,.ag-theme-quartz .ag-filter-filter .ag-input-wrapper:before,.ag-theme-quartz .ag-filter-add-select .ag-input-wrapper:before,.ag-theme-quartz-dark .ag-column-select-header-filter-wrapper .ag-input-wrapper:before,.ag-theme-quartz-dark .ag-filter-toolpanel-search .ag-input-wrapper:before,.ag-theme-quartz-dark .ag-mini-filter .ag-input-wrapper:before,.ag-theme-quartz-dark .ag-filter-filter .ag-input-wrapper:before,.ag-theme-quartz-dark .ag-filter-add-select .ag-input-wrapper:before,.ag-theme-quartz-auto-dark .ag-column-select-header-filter-wrapper .ag-input-wrapper:before,.ag-theme-quartz-auto-dark .ag-filter-toolpanel-search .ag-input-wrapper:before,.ag-theme-quartz-auto-dark .ag-mini-filter .ag-input-wrapper:before,.ag-theme-quartz-auto-dark .ag-filter-filter .ag-input-wrapper:before,.ag-theme-quartz-auto-dark .ag-filter-add-select .ag-input-wrapper:before{width:12px;height:12px;background-image:url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMS41Ij48cGF0aCBkPSJNNS4zIDlhMy43IDMuNyAwIDEgMCAwLTcuNSAzLjcgMy43IDAgMCAwIDAgNy41Wk0xMC41IDEwLjUgOC4zIDguMiIvPjwvc3ZnPg==);background-position:50% 50%;background-size:contain;opacity:40%;content:"";filter:var(--ag-icon-filter)}.ag-theme-quartz .ag-ltr .ag-column-select-header-filter-wrapper input.ag-text-field-input,.ag-theme-quartz .ag-ltr .ag-column-select-header-filter-wrapper input.ag-number-field-input,.ag-theme-quartz .ag-ltr .ag-filter-toolpanel-search input.ag-text-field-input,.ag-theme-quartz .ag-ltr .ag-filter-toolpanel-search input.ag-number-field-input,.ag-theme-quartz .ag-ltr .ag-mini-filter input.ag-text-field-input,.ag-theme-quartz .ag-ltr .ag-mini-filter input.ag-number-field-input,.ag-theme-quartz .ag-ltr .ag-filter-filter input.ag-text-field-input,.ag-theme-quartz .ag-ltr .ag-filter-filter input.ag-number-field-input,.ag-theme-quartz .ag-ltr .ag-filter-add-select input.ag-text-field-input,.ag-theme-quartz .ag-ltr .ag-filter-add-select input.ag-number-field-input,.ag-theme-quartz-dark .ag-ltr .ag-column-select-header-filter-wrapper input.ag-text-field-input,.ag-theme-quartz-dark .ag-ltr .ag-column-select-header-filter-wrapper input.ag-number-field-input,.ag-theme-quartz-dark .ag-ltr .ag-filter-toolpanel-search input.ag-text-field-input,.ag-theme-quartz-dark .ag-ltr .ag-filter-toolpanel-search input.ag-number-field-input,.ag-theme-quartz-dark .ag-ltr .ag-mini-filter input.ag-text-field-input,.ag-theme-quartz-dark .ag-ltr .ag-mini-filter input.ag-number-field-input,.ag-theme-quartz-dark .ag-ltr .ag-filter-filter input.ag-text-field-input,.ag-theme-quartz-dark .ag-ltr .ag-filter-filter input.ag-number-field-input,.ag-theme-quartz-dark .ag-ltr .ag-filter-add-select input.ag-text-field-input,.ag-theme-quartz-dark .ag-ltr .ag-filter-add-select input.ag-number-field-input,.ag-theme-quartz-auto-dark .ag-ltr .ag-column-select-header-filter-wrapper input.ag-text-field-input,.ag-theme-quartz-auto-dark .ag-ltr .ag-column-select-header-filter-wrapper input.ag-number-field-input,.ag-theme-quartz-auto-dark .ag-ltr .ag-filter-toolpanel-search input.ag-text-field-input,.ag-theme-quartz-auto-dark .ag-ltr .ag-filter-toolpanel-search input.ag-number-field-input,.ag-theme-quartz-auto-dark .ag-ltr .ag-mini-filter input.ag-text-field-input,.ag-theme-quartz-auto-dark .ag-ltr .ag-mini-filter input.ag-number-field-input,.ag-theme-quartz-auto-dark .ag-ltr .ag-filter-filter input.ag-text-field-input,.ag-theme-quartz-auto-dark .ag-ltr .ag-filter-filter input.ag-number-field-input,.ag-theme-quartz-auto-dark .ag-ltr .ag-filter-add-select input.ag-text-field-input,.ag-theme-quartz-auto-dark .ag-ltr .ag-filter-add-select input.ag-number-field-input{padding-left:26px}.ag-theme-quartz .ag-rtl .ag-column-select-header-filter-wrapper input.ag-text-field-input,.ag-theme-quartz .ag-rtl .ag-column-select-header-filter-wrapper input.ag-number-field-input,.ag-theme-quartz .ag-rtl .ag-filter-toolpanel-search input.ag-text-field-input,.ag-theme-quartz .ag-rtl .ag-filter-toolpanel-search input.ag-number-field-input,.ag-theme-quartz .ag-rtl .ag-mini-filter input.ag-text-field-input,.ag-theme-quartz .ag-rtl .ag-mini-filter input.ag-number-field-input,.ag-theme-quartz .ag-rtl .ag-filter-filter input.ag-text-field-input,.ag-theme-quartz .ag-rtl .ag-filter-filter input.ag-number-field-input,.ag-theme-quartz .ag-rtl .ag-filter-add-select input.ag-text-field-input,.ag-theme-quartz .ag-rtl .ag-filter-add-select input.ag-number-field-input,.ag-theme-quartz-dark .ag-rtl .ag-column-select-header-filter-wrapper input.ag-text-field-input,.ag-theme-quartz-dark .ag-rtl .ag-column-select-header-filter-wrapper input.ag-number-field-input,.ag-theme-quartz-dark .ag-rtl .ag-filter-toolpanel-search input.ag-text-field-input,.ag-theme-quartz-dark .ag-rtl .ag-filter-toolpanel-search input.ag-number-field-input,.ag-theme-quartz-dark .ag-rtl .ag-mini-filter input.ag-text-field-input,.ag-theme-quartz-dark .ag-rtl .ag-mini-filter input.ag-number-field-input,.ag-theme-quartz-dark .ag-rtl .ag-filter-filter input.ag-text-field-input,.ag-theme-quartz-dark .ag-rtl .ag-filter-filter input.ag-number-field-input,.ag-theme-quartz-dark .ag-rtl .ag-filter-add-select input.ag-text-field-input,.ag-theme-quartz-dark .ag-rtl .ag-filter-add-select input.ag-number-field-input,.ag-theme-quartz-auto-dark .ag-rtl .ag-column-select-header-filter-wrapper input.ag-text-field-input,.ag-theme-quartz-auto-dark .ag-rtl .ag-column-select-header-filter-wrapper input.ag-number-field-input,.ag-theme-quartz-auto-dark .ag-rtl .ag-filter-toolpanel-search input.ag-text-field-input,.ag-theme-quartz-auto-dark .ag-rtl .ag-filter-toolpanel-search input.ag-number-field-input,.ag-theme-quartz-auto-dark .ag-rtl .ag-mini-filter input.ag-text-field-input,.ag-theme-quartz-auto-dark .ag-rtl .ag-mini-filter input.ag-number-field-input,.ag-theme-quartz-auto-dark .ag-rtl .ag-filter-filter input.ag-text-field-input,.ag-theme-quartz-auto-dark .ag-rtl .ag-filter-filter input.ag-number-field-input,.ag-theme-quartz-auto-dark .ag-rtl .ag-filter-add-select input.ag-text-field-input,.ag-theme-quartz-auto-dark .ag-rtl .ag-filter-add-select input.ag-number-field-input{padding-right:26px}.ag-theme-quartz .ag-ltr .ag-column-select-add-group-indent,.ag-theme-quartz-dark .ag-ltr .ag-column-select-add-group-indent,.ag-theme-quartz-auto-dark .ag-ltr .ag-column-select-add-group-indent{margin-left:calc(var(--ag-icon-size) + var(--ag-grid-size) * 1.5)}.ag-theme-quartz .ag-rtl .ag-column-select-add-group-indent,.ag-theme-quartz-dark .ag-rtl .ag-column-select-add-group-indent,.ag-theme-quartz-auto-dark .ag-rtl .ag-column-select-add-group-indent{margin-right:calc(var(--ag-icon-size) + var(--ag-grid-size) * 1.5)}.ag-theme-quartz .ag-text-field-input[disabled],.ag-theme-quartz .ag-menu-option-disabled,.ag-theme-quartz-dark .ag-text-field-input[disabled],.ag-theme-quartz-dark .ag-menu-option-disabled,.ag-theme-quartz-auto-dark .ag-text-field-input[disabled],.ag-theme-quartz-auto-dark .ag-menu-option-disabled{cursor:not-allowed}.ag-theme-quartz .ag-checkbox-input-wrapper.ag-checked.ag-disabled,.ag-theme-quartz-dark .ag-checkbox-input-wrapper.ag-checked.ag-disabled,.ag-theme-quartz-auto-dark .ag-checkbox-input-wrapper.ag-checked.ag-disabled{--ag-checkbox-checked-color: var(--ag-checkbox-unchecked-color)}.ag-theme-quartz .ag-checkbox-input,.ag-theme-quartz .ag-toggle-button-input,.ag-theme-quartz .ag-radio-button-input,.ag-theme-quartz input[class^=ag-][type=range],.ag-theme-quartz-dark .ag-checkbox-input,.ag-theme-quartz-dark .ag-toggle-button-input,.ag-theme-quartz-dark .ag-radio-button-input,.ag-theme-quartz-dark input[class^=ag-][type=range],.ag-theme-quartz-auto-dark .ag-checkbox-input,.ag-theme-quartz-auto-dark .ag-toggle-button-input,.ag-theme-quartz-auto-dark .ag-radio-button-input,.ag-theme-quartz-auto-dark input[class^=ag-][type=range]{cursor:pointer}.ag-theme-quartz .ag-details-row,.ag-theme-quartz-dark .ag-details-row,.ag-theme-quartz-auto-dark .ag-details-row{padding:calc(var(--ag-grid-size) * 3.75)}.ag-theme-quartz .ag-list-item-hovered:after,.ag-theme-quartz-dark .ag-list-item-hovered:after,.ag-theme-quartz-auto-dark .ag-list-item-hovered:after{background-color:var(--ag-active-color)}.ag-theme-quartz .ag-pill .ag-pill-button:hover,.ag-theme-quartz-dark .ag-pill .ag-pill-button:hover,.ag-theme-quartz-auto-dark .ag-pill .ag-pill-button:hover{color:var(--ag-active-color)}.ag-theme-quartz-dark .ag-column-select-header-filter-wrapper .ag-input-wrapper:before,.ag-theme-quartz-dark .ag-filter-toolpanel-search .ag-input-wrapper:before,.ag-theme-quartz-dark .ag-mini-filter .ag-input-wrapper:before,.ag-theme-quartz-dark .ag-filter-filter .ag-input-wrapper:before{opacity:66%;filter:invert(100%)}.ag-theme-quartz-dark .ag-chart-menu{background-color:color-mix(in srgb,rgba(24,39,50,.3),var(--ag-background-color) 30%)}.ag-theme-quartz-dark .ag-text-field-input::-moz-placeholder{color:var(--ag-data-color);opacity:.8}.ag-theme-quartz-dark .ag-text-field-input::placeholder{color:var(--ag-data-color);opacity:.8}@font-face{font-family:agGridQuartz;src:url(data:font/woff2;charset=utf-8;base64,d09GMgABAAAAACAcAAsAAAAAQpQAAB/LAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIwsBmAAjV4K12jGdgE2AiQDgwALgUIABCAFhEYHhnobmThlhhhsHMBYmNabUVEn1aiY7P+/JHBjiFRTfV2EDNUqFaUey6gDsR0ecoGYGz6E5ZSrFBVQYvCw/tg1eiHZ36q04GZp3FWXLQfnvdfuP3HMLKQ4bCglz8PvhzvvT1zSVrK4oBYyiZaIxHpDwqd0/d5K7vLVNJfdiJ4k3wT16lcMJbQMVakV3vQwPZUPT3P7B0fUOMZbI7i8A3TUMABjwRgRZRAGmCO0KTewAhtM2Ky8mbF9Mf4H9c4oZhTwA34t4WWFS2E8sZmH/7/afX+baeEwjKMo7ASYhxtQRAEmmGgWwSwM4GByP8VWCokviSMnUREk5peqMjOz2/rSOrAHr+2fIC8iUUEW17Lpc9L21FBpMuYByG38lNrGjkG4GT2hf999apzzbvEHxOkB+3iDd+Iptv7R+kueLOeCYASOwBG0CPi/qSW1tvU7XXpjB2A6TxjSjMayRl+yPZZ338kTZU/XteW902q7rzUbpfSOmrW6Yl1XSq2AXEXpgATQsOAAHogSFnq+bij3bDHhEMI/F2FgFDmFEv8EJ+MRTwdA16R/zwosTCzX1E0bZbCziRpUum8+v1/ruzaz13k6m22WpqQEiGwBmm++5s0ooNmoZfR0NgIUP6/3bqAel167wH50ed7OD6E+m3hNV6F+JvUL1eme5z7EtFfRlQ7yr9Lkk/K6fKqX6gV7hTqNW5ZCFEhllk4kH4RGMpgsVIJOZ7I5FAqP4HDZgLblDMsxWX+5egppUCRWh9MZy20xqn5Cj1Iaj3JxVlpEkkzcLNNedkN7ldSGW/ooDCkBKXx9a3iVPDuELIcvVHigkiojprFE3rangiLDJfjWcRb9UjXWDrji/Sk7xpSrYVDIMlr6JUGXK4L21DuqgMDv8pkcBr3j8qq2bYoJlhGcwRWqgbY+h3coYJKyNH7LWju8CCdkSO24vBOFpFK9lp83deaRp6QK5NpAVr1EGdcckF8FHr1rWwZXe+oT9kjD1IU/EpulyghSvheS4tiQIGh0rkC/ud/bXUKZTp5HXjqjy6fgsTVJRBSX4l5cRHOs56xasHj6XaE0U0aN152vnFCIMm7FYxc8qlKCVdSKq4pg1wFLLcX0FyhkKnlQlxWbYlDQzVXySI48ozk8XcYqaCkKLb9SqSiVF8k/mUnSaVyPTfAsySd95EisUJKp5UhkoMlcLPiSFIEgtlTiVadzOIpR84nvKPW8/l1lmJ9si1HV67RJZXJpghADyl2KO9wtET+My1ev17hmEYjXuZaUJuAtUajR4OlcaqRg7HnetpuNWmdpodJkGOZ09wltq2sarBNhRhBG5OxcmvZjnHBHK028J8JP6zVxTYsvAJ+XUBnEp/2TqNgrpg1aLz5wzQMLimrAIoasg5Doce+cRfnVuALiCAG6SZoMbsTRCSIpF7rFg10KfAo3Ur+jC6PiJ7htebJApFjItgrj8rUaNm+NneE7O67p93hqFKtUQC190Jn5t1AZJAKSWAzSJfwujy/nLi9u1x6efvGcPVSv9BrwO9//5S+4UKgoWfoSth+3TvCeNHr+ATitXZ8wVsLG+0EdqAELE06+OtTPLfvAtv0LmPyqD4ZHAa1UFDfkslueRJ9nDLPo0FV3QgpKahWFmb9Rt2lQCKSl48Ken3JDKClYxiFKoRGovQa+2bGPoJiEJFWefK/+ASxSrESpMuUqVKpSrUatOvUaNGrSrEWrNkXadejUpVulHr369BswaMiwEaPGjJswqdyUaTNmzZnHKRYsWrJsxao16zZs2rINpUlPPvblLx26nthLBQbCvZxlxtC3ZbRrZ3b2sTi0ArUfzy1Y/OwY3NxL1Rc6BHftgPt2wUOr4LFL8NQyeG4fvLQOXncA3rQH3nYC3rUJ3rcBPnQGPrUCPrcNvrQGvnYKvnUBvrcFfnQEfnYOfq0rCD7yTWBgkxjYFFAPodEAYdAIYdEE4dAM4dECEdAKEdEGQWiHADogEjohMrogCrohKnogGnohOvogBvohJgYgFgYhNoYgDoYhLkYgHkYhPsYgAcYhISYgESYhMaYgCdogaaYhmYFkFpI5SOYh6IXUvECDQItAh0CPwIDAiMCEwIzAgsCKwAaBLQI7BPZ4mM0BOXVE4ITAGYELAlcEbriohdwv6iCPkHki8ELgjcAHAp8IfCHwjcAPAr8I/CHwjyd8cP395x/gL9C+hq4/WPqujvlLyY7kSTD0UKbwJRL41H//5pq6OVm6WnVqWvp9Z7Nf8vkjWYbBQXFOabtCvcGBGa7bdGN6OtFbxVG6IGhank0AwdEa+ZHjIyYAi11EarliBCoprM+Iz3nk7cbNRmEP0PBCpBzp/JKV6CBA95IUEAIJPpnvnLxLrq+atGl9Un5bgWJMSZaYYYBITSN1DQzH8wLTDaVB+zk2byzsFoNcdCAk1dKpEQppEBjp7MaICcnELv03Y+MzUmSsuJRiB3s0mJIB2XPjwfunrwuYULBLhIsXTFs1MSvqZa4m7Bw27pCUe4exICcZ+aJfYvM7xg87MAs5J2u9cU1QzgZsGz5+T89abr642iTiZbPZgdz2ccP3L8D0hFubaxGUYXeu5tOxXOVr1B4PTAd2Jwi5LDSMPDc/3+GWUdz/CEeDM5i391orliC7sGBD6wvaDz29BfIgCypMlsmDjva4hmLHmUflO2pg9SOAsRLTMWrqAAS6aALtPYB1kuczZpnTzMuijj0kKJ8RzYWsyOqFhafcb+Ok93g42+T5VnOeqvXZMDqyiZ3XtDhUyiD4ZFVzqbhhnIT3rx+06PtEbNI15GGHUjxo7yfMmjc9CmbpwXchF4bS/IkL41hJj0xFkWxGYP07TylmdWebGLzq2+6YS8wdfC/v8SYN3l/IEM7gQbOd63EFJSaE04yuvIbLGQbUXyX9DH7jTY+308QXiMbYi156ez+cbfzAVgb79D/4B9Ec80ehKj5I/lQl35oThIslt0PrWpohiL9jb1WoxUabX8Ev2Xl72wTKhoP5j2yZaeLK2UWspyqFA8+1l0Nohb2kL0UiKkkLnGW5cgzV72IieT5AFe5/Blx4Mai+qeok3aEUASmr+ni5cdqKTzeHo75ymRnROMmATh3W6pULimwiFfk3h6zgyJfBFxvGNT/rnzasbOA5I37b+cGjC+dB+4rHoxv4Wf8BqqVWKGQkNvjCwAJqvXXHun1L78oRMreNyyP4O6opR/w1/Ipq/FrUV/GWrgM4H21zWc5iqHYDsqXzcgsKtany+LKq6roYmW8krSTUdd7kbY/FObZ0OkxaLiN+mhDNkGA1m1uQW2KmTNoTw7Asw+YQKTJ6UC2qE4panjMsqEbV5Ew2uHEoNjhUEulaiqQQgSaEEc6AlBKk3H1smryc4hHRLBV3wx6tD/WKKI7DqLhMypAWt4y9VRMGcXj0JopPF25W5PYofZ6M3vR5WqpSbEJQLVbXYQD1/iARMqTE9go5VhwCpAmXN1GR48lNSkpaEM5761K8SJT4ngT1HC7wS2RBh4ArT0CqBodIhpV1cjdyABIUoqm0SGE2kdu01UoEu/Rm/carWzm4582RCIR5Oa/cX1gUjVKnNBhZbX6bRKw76EN0vJO0yKTCa2WDQMwmt266OhvY3YmfAQUSnyx/ze0BgCC/ODO4J75ANO4bAzqY/9ZEFyt29p18qcRMKx1/vr1nutXRVpf6/09WjtiFxeC17Ho1K1vT0nUT9Wk9sBv3KjgIYBhqcYyUN+XLnX0zS7paahKVp/oJNdzmNe95M8eua+tIlm3vOf5cCjUlvop8Jvp1oQNc8KSDWiuYfuxAl7HTi+aB99Qu27FWiM6lreFbe481FiEjbbDhsAHLXztpuImVPIRltI6eGuuXo9JteAA3hh3e56HGWqBrc1ovl6T8gfZR9FfE09+1mA3FqQPfQIlWqtNBdjPQ5iNe7i7CHGlP+5pQY28nwOAtZpGE2QSDZHFiH7d318OGno5KfCWGQatZFKdS3DDH3SXNLKhuqPcwjgxa6WRhm+gTiyZqg2+vSLq9hPfRgJtgGklqsE20zJhJ+qOrTVLSJaM4Hrr0McMkBQMNhbTcOL+UMriMmsgEzvFTvBj0WI6ufkW+zl2vZx6Y2tE0bEmG5qWlt8Zy5Qbt3/6F+OVNp9XgjTRLU2JqyCFzH6Od7F1aeE6LSobQM/xsGoiFdWVuV18dLVcyTmoJleXuF8s4d6mfZmYchB+tVpOTH5Z4IAuAiu5cyJsV07E8mFau4M1J8sq4AC9YT9j/bB0FeTVbBmYt4HrNhjbyPYqGvxdRfBvg7ln/pv5rVPR3bV7uHHwzfCVvUL0Tcr2vYodreUiRkEiT14mGXk4m2lnjpJpTObkYjNvpNknMRwezZ0Egck4WJsMolMtrY6P6VlYJSilKAm0duHGhZJVRnAjyeLEZb4g8sl2OKtKNHlRx4UIStqbnx9eXYFUm6gMcrbFRuqRO6DvYdlPbbob4yJtSceA1pXGWkLPZ2UVeF+Y9TMcPe2yX+MU8Jw33PjO0KbtxOxNScWBTVqnJUr5/QihczNxuAre6YRX+OZqpN2+abysYrxQHLO1qFyMVUsy7VlaAPFJ5rAULSITb90PIQQttQl1wtCOABvU97mmA9R/6llYdPNOh1xxIobO3ETWppoedeeYa2TJ5RI8JSAIveizJmJqYOBlvbgHev3oDZGCsNt/DlwLsBrQuAWGDcwFns/PGZeBr7S16g18N3zSMUFWRHR5xHUbC2eRybC/gWxDFMp/UaVUPOOihMn2O7VnANSFP9rp5qeHMnvTynbhbwDk96y357cDTqAmQbjVVIFUE/z8CKw/Vx9kx0hVhWTcYzDUt77030FYz+7VTUWMQ5xJBGV/FBjdYTyANv0+HqlLnKDiweQL2UMo0wBdlWikGn08p8Y0MWL5gzpzkp8xnzldAJeQOBa+JY7IW16JwPXik8LHloRduwey0b8gjD5619Vw0a7RSK0Xd9agGVdn60Jmej3T7xfcu2J1XM+9jn+V50udxCZ09uTbRPzkj48ypeaIDFzcJqFDMQJYIQSaTRzOxzp6S1Im9nOgistuwL2SC92AEvwIuvKFT/i1jzyfGTAxbDOTBDITuhMgoLGp9IkhX+iIAKmh8a1RSmKwE8iIoyMysYx7WEkQ/dry68OhVEPzX8fRtHPui9pRUCt2vJjemJpaGpORV0AYgwVgOTZgJpk677tYyvGW+e9NSIYERjGUMAg7QKs5wF7yPeD+ulgcEaWcojFq0yGK/DSPNNuDbThjMRYtKIvRNTfTsstYLAHx7pm3cGbpSmXAz9wFtbs3KpjdWrc5AJndilgu6HrsL+FMCKJzicCz2nXLy7p2rCIEbGFc31Hb6aeqAbN13v/uAEkxHL7jtEXP1oObEH9o5T/vYAo9POXJepGOcLf7Z914/r4sIrX2W5Cfgf94/J5WX2qDvV9rimVOKqIKRzUhGqp+mcxgTvSFCgtSlYy21fjsq4qUTBXeY6IcdUBEajra8ReE5XoSL6M5P4p8gWTsmkUd2bt9O4UbMYjIBHW87iSJMU+/8vPegrinly6S4Dj8THY1l8BX+kLVqKOrEn/Pn3LVlCxcnqB3ibHyPHOB2mS7cVyBI6KdI880yeDHB9Q67RYNZuF278/jmd+6Ms3NBcN9FpY/v7u7peY4ZsIt2urtbyxVrNel6UlbTpMxtlet6usEs1WxoYGxjGPBvRhssQNugqm0oOvYEmnAjHKqpNgRoGz5sUoap8wgeSF+rCjw0vnxaPIqEIPOvk2VlaHxQSBCaMK0sEV2eD87TAcf5CB9xYozZZTunev4C9bxNyyY3CMhvMrPRZqzEzYZ1KNnmimLu/S1ApAqhb9i2trV3XZvTnCv8oRxumkcfC7lsjqRi+Zu1fWvXyysas0Zm3EhJuujcTXVM0ZyS0hHICWxNSyUeMR4Rpq2F2B0pKc2PvAAqOkPiBtw8ezZJ6jyUHgoVBtoMhA7YlJZQOBUf//XtiopqoMzJBnszleHiEsoqPHftmmGYwWMxf6NwI3/Y6mlsELfuh9r/pOakvxrUxdLZ2avT213PvmnZ/uasK5rhowZOqqn0fp5GvGeEKE7vv0esEZ3wj8mbWCF+FYnW7NhZuHNzDZqBigc3387JT9cv3rJjrnsxqJqCUhg1OAgPmbzV3tKTeigMOF/HSWjbZzVoxE0Q8d8T1Ba0xx9pO969YmjCCVj+iIMdTua+LgkQeIjWc0XrRLx1X83tvHjcPUIw6tE/JG7EKRaLzbLgJpzMz8CicAK3oEfNUB4LjH7UW1ainbU88rgNXoYH46X46M9/SbXuZJfX26oavc0TJ1+5xzObWW2/oeNP7/7+iXm8fAMmPNkEPdnef+9jO5dVV9Qav5SyLpfxM39yhuWkVbnTp6m5S9x3HnPncgcjgpbL781dynDddWVlZN1nN3oGpJ2oO32SOXQbGcmwcrGFLeU65m5a6GjfhDceV0Q05zzV07esfbc8j4Sv8Sf8TBx/wF5h75rAdLHnhD5mz+pw75jFDr4jc3LZ7Wl5r+1knsCssCgoBXk/YfT47KniMp46xWX6rrr6ESNJs74W6sePSJs0UawyJIWWxDGxk9xSQpSxojRbVV36QrR5IFE6Msl4RmBRmBWkglpdfUGhu5v6iQdmy6TQgBOMN48ek8UGzCISUvgX05XdlHeNVv/4keI+z0e3s2tip6+siGUnddF139sjcibmXD+k+tWpK8iNHp84M71me0U03OXEcIriqEsya0d1PHHuUtI8gZ/ISbBjjGwtK6c3Vekt5r+FwsBwlQbMnhQS7yuPjJD7JlbuaZ9b5y2//Utad9Qv7/No/THfE3xz2HOFvVGLhY84Ty0Oz891UM0tF4vPsyy2OdxcllLJyuXm8MniupChkqLMIaV02gJhTN3c9vbKpaf8u+SR8b6TQmYHBgLVUsnUIW1S1uDFnvcokJOAv4rpp0XMXpdM4ZZQkdLsYyivRuJghrXeL65ks5wVyVomybu5uSTOr16JZAcrelxuKkeqAuK4acPaIEG6Ug296dKjCM5GJnjzKXk2LuF+YKJUmlgoyZnC7ZXuklMoo2Q6CST8Cwn4je8vfd8gceB9jGwLMhaMZxhbegA+Y9ABkPU1ZMKAvy19ZLCnx2K/NZlUsqM/bRJMgD7gu4ZPKWykZ5C/bTZWCuT1WBqMpx3lCVFgyXUZiVPCIl5/6ERuO4sgI2xH09Eioa48y6Az6VLTSNySlloUlAqNmBGKx25fiq+tCfrspJU19mqFg3mA+sIQVl4OTFKR8s4IcgldtYtUBXNVXhasM5kcMaIvRhDTZ2TbL1hi6bWaIYET0AziBzy7KFWYKmrAKzq0jI8OSBVNVArSCzQwQZEmDqiYcgmHN5ApC5NlDvCi1VWBES1NE09QCDLyG2qSF0mXXBOe3xQSKfcnApGocRKCA9/NA9CEB/mtqO214JRWa7Y3JJs9l8KxuxGQabWKbqKXLwie4wDboO/uO4p2mCYLvCiVR6slMYP9z1wL/q5pLuJotStqpPZV64A/YtCtre/r81Kr76eumyUJxhAk4BBSPDZqcJTEJI7uZx/FRQjV1wcq/oUm/hGLSRxhH+CPcmAHnIFb/C8ERJzcQeFUb69OatIR7nJpvdVqxoPo/UEHmPmsphU129DDa+IPAUHaSvHNBw+uqR7JwKMkZrSndifomxo93QyV4prkzGr3jxwB6JRRgM1RKMLGynMKkgISpNKEgCRCkrMJ0lqeeK1Iz6oOLwmbPDmsJOJbl7p0pWqDrwvHc76C2+GPEREl1YCF3BW68XniEyNGruIRJ8QD3H7VRJ6DLUIj0QGPkdBU9uAFqquxT5LqjMBI9ANp596FNN7EyH5uZECGTuy4/fmE58eeMAgoycy02BmSyf0HSJya766uqYpeVq7LzJBAE3C/Xu/Zz0sQH/e3UXtt5G9xbWuIkaCVkhiGgaGBBKN8dpVorKShzXXLpC9eGjSuygtV+0Si/tAEb0kqQay4od2F94nn0r4xRgwqJbegkeHnEemj9mhDWkIXR94uBgHcYPwISTW3Fvl0M9A7YvHYOVcjOunfQxCN1n7BXYYR3r9v/O77O3K4bz7z/i1by93ambznRv4tMzRA4C3rnel4uVSeFTcZNozJHoOWTjqQPH5ybAOclz0vj9aaHCb3HVfnmlj+JwdsiJ08LvloyRS3/mBlBm1jTqmekVahkYwU0XIKtqwvzfJsLW5N9tDlFNbDpCWaeM0S73kHD87zbgquX5ZqwyTnGXEvtPgoWarfZHWNflM/vVI/peqrrpkBTn5uLcsWVK3QRYCmTkzsNfPfL6sVzFAZGEbY3dlJYgbMMjhEYuahIV0h26OqStfZ2Q0JKPyinIowGhK4CYJ3L90TOAH4zrPT8XRvU8nD6Dzd4KDu656ABe10xTS9AQfvjIuWGS1DLZjl3l0PaMLIpTo6KNwCpJ6pbqX4i1ZYwyaMvhERexv0vGiSDBYrrG30ekHfYIP/vaIu9wOzZ+mrGgXZ5a3an7/YE8WWH0FLD5BFj46Ay204RTmcx6nXoQ/FNGwTLyGaN5AlGysDApEwcKNgY6Cb26+ZnNl2ylDNsGqatAJIqOajap6eG5olk2WF5j4JzXM2S1bzT/JeE3k1uRKqJDROluSIMxsbM8U5kpuS/PgbG8WZkpybFf63UoYRVlSGHrOy0i7RUicKA0ZQgEynuQIThW0irz73RjUmTF6tuDb/O8VIC1NMET8MbOrHSxOzdPCmodsPPPaOw0sTsI3XBbKQjIwQmWJq0heHA/zt4IDD16mJCllGcEjGGhVG4nsu/WdqorwEShur8mr+uziKPi9wgSsVPuKGcR4Jxztm/2m22G1L/m+U4l9fcKkjZJknwdml5j8ubI8XPuaEcR8LpZxFPhXPV15w84xyE9JMK8GzL0dpnrSsldUFVauyaEJaBeifhSb4MDhI64UTIzKOlrxXX8LhjKxg4e5PIs9BTd1ZC8MQfGpjIn4sxZIuPpTgkkoQI94YcqLziNn/LFvLJtj6iJ8sn1bQ6NkZ80cDjwclQM93SkYYkFRa80NvQIslhpbMgcUWFmRndnamX5mm+9ZTMnkbCOoHxE5PaMHru0icxL8R6fOHR+8hcRDUt6G0PZnMr3t6K+C31G8LhDX7r6MobozHAvEC+qFbocjlL3qtpJY+gzt2ec+wTK5datMsbrZZOn3i5rbT53MWMr+WQVgPKsMUK1q8evDM1mpzsrXzH3BVEW4Rqujo0JNuJ0N18+eDYXs3TT08VYm7XYen3FWnHDbl8FGltGQVpsAkCly1u0lepJCo8N2QgEqkl2LVKI/GaPtPnzKcOg1Gn7iaIwTC6E+B88PWczbMiH6ZGDaU8G4Ief2aAwQyyQReWzZvaknh4uzka+nyUYVMblrK2MLCKv5Ca74mfMKKOTOn6q+drrlZmdywukH/7teS/ZWAjayvwnKdKyJKcyZOckkOwHJcKsL3lZbz9A9CsjgZ+ZE1zZfNSc9/0Up0Unhp7sTiZOK61vFqX6IpvSA7Xr43zk5PWPWt0HuvrBAs/T9tm8xl3sjMXL1BGWIQMv6QW8gzw7eqliZKkTnXb0WsUGhMNyAtR9E2xFu8ixjCZiDxAPwfciXyZSHORq5dKwzJT7rp3jbGHVoGKdL0bYi0m/6sE71tX4otiNJwX4oaZIZosv1+7cfIaRH0BTSU4nz6B7JNZFInNiH3DCWMlvyCVuSjwsIYs5yO2G6/FV2HuCdKVZ7NES2lElFjK+N8270wLtCyAxENSqx5N02Fuo2X/H+WxVCayvCWwRjO8lretu05QqkPa7sH+U1lhNTWI5tMBE8ScT1SL7Qn/9b2sn42J88rQsf97uSKWAFFcp3fXlqWI7viQ7aaz1YB/QNOGu4hC1vO+jfV5J94/tEw6+dV/v/c5u+fATEAP1SSU+JWoDnphf+wO30wmV0UErtUkgXyRGu2RgWE2vqWU+oUGDilXqFp2lxhrGPHLSpcx5CyQNS6WJxCFZv8pnld/4cW1P89pdr4Rxvq/5+ydInyu63sIoLqKI3/kkH0/hWrHECOV0r25idKapiKl8Nz2as7IqGAoi9OtyKdq1fVsiiF2+KdKV5SCFxE4Q90eqhV49vTU7mMeXDcdkDlSDS8LzJIvOruK1zzLJysEcEaVVk/4RNNONAYKbw4eCYUjkDEZwQKeevk9m0l57X1SjOrVHwWC9YqvFPFhDQsKa8gVrsfkFvyg7qFG715ysqVpPzAUSGx4A6wlP6fwftFJVlRNd0wLdtxPV/VdMO0bMf1/CCM4iTN8qKs6qbt+mGc5mXdbHf7w/F0vlxv98fztba+sbm1raV0IQ3Tsh3X84Mwncnmonhnd2//wDjQWUFVCVagDdMQRPiSepBcH752awAekxs6IIdh4GoQXT9+dJ8nvtpNL/rHo1005FFR2oZAcVvWnYlo4txxYLGxOWiW0fuRW0pTx6QCTtH3HcfbwAmn1HPp3HNZ+6ytAV4f1PFiEagH+gne0KYAqe5tnWHZhCuqA0dJ0n4lTRxUwjn2z6o6vVjqMDTEOO4oMPiGqnEL16Zt7thvkfJYUFKoQkw4I1YLIfAFbBAvzmIPWRoM98y6lkv3DdtTVmWyXJaroygaSFPV2k9wxmlqKQxazxfaYS70GeQm+vgdiUh1KCrMVBCtC5wA2+XKaoTJ8XCOSONMktBuKzeGnAa1hZzG/UBcoy4tVO1hPs2HFqw2rWEmhTNafG6K0NsTq3I7LTjKcaoddpYeXJzjfIfFTq3xOr2AvNanQx7Pgvd99I0OE4K4euzZZU6+B9otr5MzhIzJQjJgKiMGjZrGsCFzMck4400wtfk0J3M1tjXZRHMzZ1OaewcA);font-weight:400;font-style:normal}
