.spc-dashboard{flex-direction:column;gap:24px;display:flex}.spc-controls{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:16px;padding:16px;display:flex}.spc-controls .form-group{flex-direction:column;gap:4px;min-width:130px;display:flex}.spc-controls label{color:var(--text-muted);font-size:.8125rem;font-weight:500}.spc-capabilities{flex-wrap:wrap;gap:12px;display:flex}.capability-card{text-align:center;border:1px solid;border-radius:8px;flex:1;min-width:120px;padding:16px}.capability-card-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.75rem;font-weight:600}.capability-card-value{margin-bottom:4px;font-size:1.75rem;font-weight:700;line-height:1}.capability-card-status{font-size:.75rem;font-weight:500}.capability-card-info{background:var(--bg-secondary);border-color:var(--border-color)}.capability-card-info .capability-card-value{color:var(--text-primary);font-size:1.25rem}.spc-charts{flex-direction:column;gap:16px;display:flex}.spc-chart-container{border:1px solid var(--border-color);background:var(--bg-primary);border-radius:8px;padding:16px}.spc-chart-title{color:var(--text-secondary);margin-bottom:12px;font-size:.875rem;font-weight:600}.spc-chart-svg{width:100%;height:auto;display:block;overflow:visible}.spc-histogram-section{border:1px solid var(--border-color);background:var(--bg-primary);border-radius:8px;padding:16px}.spc-violations{background:var(--warning-bg);border:1px solid var(--warning);color:var(--text-primary);border-radius:8px;padding:16px}.spc-violations-title{color:var(--warning);margin-bottom:8px;font-size:.875rem;font-weight:600}.spc-violations-list{flex-direction:column;gap:4px;margin:0;padding-left:20px;display:flex}.spc-violations-list li{color:var(--text-secondary);font-size:.8125rem}.spc-no-data{text-align:center;color:var(--text-muted);background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:8px;padding:40px 24px;font-size:.875rem}.spc-loading{text-align:center;color:var(--text-muted);padding:40px;font-size:.875rem}.spc-mode-toggle{gap:8px;display:flex}.spc-mode-toggle .btn{font-size:.8125rem}.inspection-defect-count{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:16px;padding:16px}.inspection-defect-count .input{max-width:200px}.inspection-equipment-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:10px;margin-bottom:16px;padding:16px;display:flex}.inspection-equipment-section .input{max-width:400px}.inspection-equipment-info{align-items:center;gap:8px;font-size:.875rem;display:flex}.inspection-equipment-warning{border-radius:6px;align-items:center;gap:8px;padding:10px 14px;font-size:.825rem;line-height:1.4;display:flex}.inspection-equipment-overdue{color:var(--danger);background:#ef44441a;border:1px solid #ef44444d}.inspection-equipment-expiring{color:var(--warning,#f59e0b);background:#f59e0b1a;border:1px solid #f59e0b4d}@media (max-width:768px){.spc-controls{gap:12px}.spc-capabilities{gap:8px}.capability-card{min-width:90px;padding:12px 8px}.capability-card-value{font-size:1.375rem}.capability-card-info .capability-card-value{font-size:1rem}}.inspection-page{max-width:1200px;margin:0 auto;padding:24px}.inspection-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.inspection-page-header h1{margin:0;font-size:1.25rem}.inspection-page-actions{flex-wrap:wrap;gap:8px;display:flex}.inspection-meta{flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px;display:flex}.inspection-summary{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);flex-wrap:wrap;gap:24px;margin-bottom:24px;padding:20px;display:flex}.inspection-summary-stat{flex-direction:column;align-items:center;min-width:80px;display:flex}.inspection-summary-stat-value{font-size:1.5rem;font-weight:700}.inspection-summary-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.inspection-summary-stat-pass .inspection-summary-stat-value{color:var(--success,#22c55e)}.inspection-summary-stat-fail .inspection-summary-stat-value{color:var(--danger,#ef4444)}.measurement-table-wrapper{border:1px solid var(--border);border-radius:var(--radius-md);max-width:100%;overflow-x:auto}.measurement-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.875rem}.measurement-table th{text-align:left;background:var(--bg-secondary);border-bottom:2px solid var(--border);white-space:nowrap;padding:10px 12px;font-size:.8rem;font-weight:600}.measurement-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:8px 12px}.measurement-table th:first-child,.measurement-table td:first-child{z-index:2;background:var(--bg-secondary);position:sticky;left:0}.measurement-table td:first-child{background:var(--bg)}.measurement-table th:nth-child(2),.measurement-table td:nth-child(2){z-index:2;background:var(--bg-secondary);border-right:2px solid var(--border);position:sticky;left:60px}.measurement-table td:nth-child(2){background:var(--bg);border-right:2px solid var(--border)}.measurement-table tbody tr:hover td:first-child,.measurement-table tbody tr:hover td:nth-child(2),.measurement-table tbody tr:hover{background:var(--bg-secondary)}.measurement-row-critical{background:#ef44440a}.measurement-row-significant{background:#f59e0b0a}.measurement-input{border:2px solid var(--border);border-radius:var(--radius-sm);text-align:center;width:90px;padding:6px 8px;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.measurement-input:focus{border-color:var(--accent,#3b82f6);outline:none;box-shadow:0 0 0 3px #3b82f626}.measurement-input-pass{border-color:var(--success,#22c55e);background:#22c55e0f}.measurement-input-pass:focus{border-color:var(--success,#22c55e);box-shadow:0 0 0 3px #22c55e26}.measurement-input-fail{border-color:var(--danger,#ef4444);background:#ef44440f}.measurement-input-fail:focus{border-color:var(--danger,#ef4444);box-shadow:0 0 0 3px #ef444426}.measurement-deviation{font-size:.75rem;font-weight:500}.measurement-deviation-pass{color:var(--success,#22c55e)}.measurement-deviation-fail{color:var(--danger,#ef4444)}.measurement-characteristic-badge{border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:600;display:inline-block}.measurement-characteristic-critical{color:#dc2626;background:#ef44441f}.measurement-characteristic-significant{color:#d97706;background:#f59e0b1f}.inspection-dashboard{padding:24px}.inspection-dashboard-section{margin-bottom:32px}.inspection-dashboard-section h2{margin-bottom:16px;font-size:1.1rem}.failed-dimensions{margin-top:12px}.failed-dimension-item{align-items:center;gap:8px;padding:4px 0;font-size:.85rem;display:flex}.failed-dimension-item .dim-number-badge{background:var(--danger,#ef4444);color:#fff}@media (max-width:768px){.inspection-page{padding:12px}.inspection-summary{gap:16px;padding:16px}.measurement-input{width:70px;padding:10px 8px;font-size:1rem}.measurement-table th,.measurement-table td{padding:8px}.inspection-page-header{flex-direction:column}}
.fmea-worksheet-wrapper{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow-x:auto}.fmea-worksheet{border-collapse:collapse;width:100%;min-width:1400px;font-size:.8rem}.fmea-worksheet thead{background:var(--surface-elevated,var(--bg-secondary,#f5f5f5));z-index:2;position:sticky;top:0}.fmea-worksheet th{text-align:center;border-bottom:2px solid var(--border);white-space:nowrap;text-transform:uppercase;letter-spacing:.02em;padding:8px 6px;font-size:.75rem;font-weight:600}.fmea-worksheet td{border-bottom:1px solid var(--border);vertical-align:top;padding:4px}.fmea-worksheet tbody tr:hover{background:var(--surface-hover,#00000005)}.fmea-col-num{width:36px}.fmea-col-step,.fmea-col-fn{width:100px}.fmea-col-mode{width:130px}.fmea-col-effect,.fmea-col-cause{width:120px}.fmea-col-ctrl{width:110px}.fmea-col-rating{width:40px}.fmea-col-rpn{width:50px}.fmea-col-cls{width:42px}.fmea-col-actions{width:130px}.fmea-col-resp{width:90px}.fmea-col-date{width:100px}.fmea-col-act{width:80px}.fmea-input{border-radius:var(--radius-sm,4px);width:100%;min-width:60px;color:var(--text);resize:vertical;background:0 0;border:1px solid #0000;padding:4px 6px;font-family:inherit;font-size:.8rem;transition:border-color .15s}.fmea-input:hover:not(:disabled){border-color:var(--border)}.fmea-input:focus{border-color:var(--accent);background:var(--surface);outline:none}.fmea-input:disabled{opacity:.7;cursor:default}.fmea-input-required:invalid,.fmea-input-required:placeholder-shown{border-color:var(--border)}.fmea-select{border-radius:var(--radius-sm,4px);width:100%;color:var(--text);cursor:pointer;text-align:center;background:0 0;border:1px solid #0000;padding:4px 2px;font-family:inherit;font-size:.8rem}.fmea-select:hover:not(:disabled){border-color:var(--border)}.fmea-select:focus{border-color:var(--accent);outline:none}.fmea-select:disabled{opacity:.7;cursor:default}.fmea-select option{color:#000;background:#fff}.fmea-cell-num{text-align:center;color:var(--text-muted);font-weight:600}.fmea-cell-rpn{text-align:center;font-size:.85rem}.fmea-cell-cls{text-align:center}.fmea-cell-actions{justify-content:center;gap:2px;padding-top:6px;display:flex}.fmea-cls-cc{background:var(--error);color:#fff;border-radius:3px;padding:1px 5px;font-size:.7rem;font-weight:700;display:inline-block}.fmea-cls-sc{background:var(--warning,#e67e22);color:#fff;border-radius:3px;padding:1px 5px;font-size:.7rem;font-weight:700;display:inline-block}.fmea-row-high-rpn{background:#e74c3c0a}.fmea-row-high-rpn:hover{background:#e74c3c14!important}.fmea-summary-badge{background:var(--surface-elevated,var(--bg-secondary,#f5f5f5));border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;padding:4px 10px;font-size:.8rem;font-weight:500;display:inline-flex}.fmea-ap-badge{text-align:center;white-space:nowrap;letter-spacing:.03em;border-radius:3px;padding:2px 6px;font-size:.7rem;font-weight:700;display:inline-block}.fmea-ap-high{color:var(--error,#ef4444);background:#ef44441f;border:1px solid #ef44444d}.fmea-ap-medium{color:var(--warning,#d97706);background:#f59e0b1f;border:1px solid #f59e0b4d}.fmea-ap-low{color:var(--success,#22c55e);background:#22c55e1a;border:1px solid #22c55e4d}.fmea-worksheet-wrapper{position:relative}.fmea-worksheet-wrapper:after{content:"";pointer-events:none;border-radius:0 var(--radius-md) var(--radius-md) 0;opacity:1;background:linear-gradient(90deg,#0000,#0000000f);width:24px;transition:opacity .3s;position:absolute;top:0;bottom:0;right:0}.fmea-worksheet th:first-child,.fmea-worksheet td:first-child{z-index:3;background:var(--surface-elevated,var(--bg-secondary,#f5f5f5));position:sticky;left:0}.fmea-worksheet td:first-child{background:var(--surface,var(--bg,#fff));border-right:1px solid var(--border)}.fmea-worksheet tbody tr:hover td:first-child{background:var(--surface-hover,#00000005)}@media (max-width:768px){.fmea-worksheet{font-size:.75rem}.fmea-worksheet th{padding:6px 4px;font-size:.65rem}.fmea-worksheet td{padding:3px}.fmea-input{min-width:50px;padding:3px 4px;font-size:.75rem}.fmea-select{padding:3px 2px;font-size:.75rem}}@media (min-width:1400px){.fmea-worksheet-wrapper:after{display:none}}
.recent-customer-banner{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;font-size:.875rem;display:flex}.recent-customer-label{color:var(--text-muted);white-space:nowrap}.recent-customer-link{color:var(--primary);cursor:pointer;font-weight:600;font-size:inherit;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.recent-customer-link:hover{color:var(--primary-hover,var(--primary));opacity:.85}.recent-customer-meta{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:.8rem}.supplier-detail-header{margin-bottom:24px}.supplier-detail-header h2{margin:0;font-size:1.5rem}.supplier-info-grid{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-bottom:24px;padding:16px;font-size:.9rem;display:grid}.supplier-section{margin-bottom:24px}.supplier-section h3{margin:0 0 12px;font-size:1.1rem}.supplier-scores{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.score-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:16px}.score-label{color:var(--text-muted);margin-bottom:4px;font-size:.8rem}.score-value{font-size:1.5rem;font-weight:700}.supplier-form{max-width:800px}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:600px){.form-grid{grid-template-columns:1fr}.supplier-scores{grid-template-columns:repeat(2,1fr)}}.status-badge{white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.status-active{background:color-mix(in srgb, var(--success) 15%, transparent);color:var(--success)}.status-inactive{background:color-mix(in srgb, var(--text-muted) 15%, transparent);color:var(--text-muted)}.status-blocked{background:color-mix(in srgb, var(--error) 15%, transparent);color:var(--error)}.status-review{background:color-mix(in srgb, var(--warning) 15%, transparent);color:var(--warning)}.clickable-row{cursor:pointer}.clickable-row:hover{background:var(--surface-hover)}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable:hover{color:var(--accent)}.fixture-attachment-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.fixture-attachment-list li{padding:4px 0}.modal--audit{width:92%;max-width:720px;transition:max-width var(--transition-normal)}.modal--audit.is-expanded{max-width:1120px}.audit-form-wrap{align-items:flex-start;gap:20px;display:flex}.audit-form-main{flex-direction:column;flex:auto;gap:14px;min-width:0;display:flex}.audit-form-grid{grid-template-columns:1fr 1fr;align-items:end;gap:12px;display:grid}.audit-form-grid .span-2{grid-column:1/-1}.audit-findings-section{border-top:1px solid var(--border);padding-top:12px}.audit-findings-empty{color:var(--text-muted);margin:8px 0 0;font-size:.85rem}.audit-findings-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.audit-finding-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);align-items:center;gap:8px;padding:6px 8px 6px 10px;display:flex}.audit-finding-row.is-active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.audit-finding-row-main{cursor:pointer;text-align:left;min-width:0;color:inherit;font:inherit;background:0 0;border:none;flex:auto;align-items:center;gap:8px;padding:0;display:flex}.audit-finding-clause{color:var(--text-muted);flex-shrink:0;font-size:.8rem}.audit-finding-desc{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.audit-finding-row-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.audit-finding-panel{border-left:1px solid var(--border);animation:fadeIn var(--transition-fast);flex-direction:column;flex:0 0 380px;align-self:stretch;padding-left:20px;display:flex}.audit-finding-panel-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.audit-finding-panel-body{flex-direction:column;flex:auto;gap:12px;min-height:0;display:flex;overflow-y:auto}.audit-finding-panel-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;margin-top:14px;padding-top:12px;display:flex}@media (max-width:900px){.audit-form-wrap{flex-direction:column}.audit-finding-panel{border-left:none;border-top:1px solid var(--border);flex:auto;width:100%;padding-top:16px;padding-left:0}.modal--audit.is-expanded{max-width:720px}}
.defect-map-view{flex-direction:column;gap:20px;padding:24px;display:flex}.defect-map-view h2{margin:0;font-size:1.3rem;font-weight:600}.defect-map-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.defect-map-header select{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;transition:border-color var(--transition-fast);outline:none;padding:8px 12px;font-size:.85rem}.defect-map-header select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.defect-map-tabs{border-bottom:2px solid var(--border);gap:4px;margin-bottom:4px;display:flex}.defect-map-tab{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:8px 16px;font-size:.85rem;transition:color .15s,border-color .15s}.defect-map-tab:hover{color:var(--text)}.defect-map-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.defect-map-canvas-wrapper{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);justify-content:center;align-items:center;min-height:300px;display:flex;position:relative;overflow:hidden}.defect-map-canvas{cursor:crosshair;max-width:100%;display:block}.defect-map-canvas.readonly{cursor:default}.defect-map-no-drawing{text-align:center;width:100%;min-height:400px;color:var(--text-muted);background:var(--bg-secondary,#f5f5f5);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px;display:flex}.defect-map-no-drawing h4{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.defect-map-no-drawing p{max-width:400px;margin:0;font-size:.85rem;line-height:1.5}.defect-map-pin{cursor:pointer;z-index:2;border:2px solid #fff;border-radius:50%;width:16px;height:16px;transition:transform .1s;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0000004d}.defect-map-pin:hover{z-index:3;transform:translate(-50%,-50%)scale(1.3)}.defect-map-pin.selected{box-shadow:0 0 0 3px var(--primary), 0 1px 4px #0000004d}.defect-map-pin-popover{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg,0 4px 12px #00000026);min-width:200px;max-width:300px;padding:12px;font-size:.82rem;position:absolute}.defect-map-pin-popover h4{margin:0 0 6px;font-size:.85rem}.defect-map-pin-popover input,.defect-map-pin-popover textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);width:100%;color:var(--text-primary);transition:border-color var(--transition-fast);outline:none;padding:6px 10px;font-size:.82rem}.defect-map-pin-popover input:focus,.defect-map-pin-popover textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.defect-map-pin-popover textarea{resize:vertical;min-height:48px}.defect-map-pin-popover .pin-actions{gap:6px;margin-top:8px;display:flex}.defect-map-toolbar{background:var(--surface-elevated,var(--bg-secondary,#f8f8f8));border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.defect-map-toolbar label{color:var(--text-muted);font-size:.8rem;font-weight:500}.defect-map-toolbar select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);padding:4px 8px;font-size:.82rem}.defect-map-toolbar .pin-count{color:var(--text-muted);margin-left:auto;font-size:.8rem}.defect-map-session-list{flex-direction:column;gap:8px;display:flex}.defect-map-session-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;align-items:center;gap:12px;padding:12px 16px;transition:border-color .15s,background .15s;display:flex}.defect-map-session-card:hover{border-color:var(--primary);background:var(--surface-hover,#00000003)}.defect-map-session-card.active{border-color:var(--primary);background:var(--primary-bg,#3b82f60f)}.defect-map-session-card .session-info{flex:1;min-width:0}.defect-map-session-card .session-info h4{margin:0 0 2px;font-size:.85rem;font-weight:600}.defect-map-session-card .session-meta{color:var(--text-muted);flex-wrap:wrap;gap:12px;font-size:.75rem;display:flex}.defect-map-session-card .session-defect-count{white-space:nowrap;font-size:.9rem;font-weight:600}.defect-map-heatmap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);position:relative;overflow:hidden}.defect-map-heatmap-legend{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 12px;font-size:.78rem;display:flex}.defect-map-heatmap-legend .legend-item{align-items:center;gap:4px;display:flex}.defect-map-heatmap-legend .legend-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.defect-map-stats{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.defect-map-stats .stat-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:16px}.defect-map-stats .stat-card h4{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 12px;font-size:.85rem;font-weight:600}.defect-map-stats .stat-big{margin-bottom:4px;font-size:1.8rem;font-weight:700;line-height:1}.defect-map-stats .stat-label{color:var(--text-muted);font-size:.78rem}.defect-map-pareto{flex-direction:column;gap:6px;display:flex}.defect-map-pareto .pareto-row{align-items:center;gap:8px;font-size:.82rem;display:flex}.defect-map-pareto .pareto-bar-bg{background:var(--bg-secondary,#eee);border-radius:4px;flex:1;height:8px;overflow:hidden}.defect-map-pareto .pareto-bar{border-radius:4px;height:100%;transition:width .3s}.defect-map-pareto .pareto-label{white-space:nowrap;text-overflow:ellipsis;min-width:100px;overflow:hidden}.defect-map-pareto .pareto-count{text-align:right;min-width:40px;font-weight:600}.defect-map-trend{flex-direction:column;gap:4px;display:flex}.defect-map-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.defect-map-filters label{color:var(--text-secondary);font-size:.8rem;font-weight:500}.defect-map-filters select,.defect-map-filters input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);transition:border-color var(--transition-fast);outline:none;padding:6px 10px;font-size:.85rem}.defect-map-filters select:focus,.defect-map-filters input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.defect-category-manager{flex-direction:column;gap:12px;display:flex}.defect-category-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:10px;padding:8px 12px;display:flex}.defect-category-item.inactive{opacity:.5}.defect-category-item input:not([type=color]),.defect-category-item select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);transition:border-color var(--transition-fast);outline:none;padding:6px 10px;font-size:.85rem}.defect-category-item input:not([type=color]):focus,.defect-category-item select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.defect-category-item input[type=color]{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;padding:1px}.defect-category-badge{color:#fff;border-radius:12px;align-items:center;gap:6px;padding:2px 10px;font-size:.78rem;font-weight:500;display:inline-flex}.defect-severity-critical{background:#dc2626}.defect-severity-major{background:#f97316}.defect-severity-minor{color:#333;background:#eab308}.defect-severity-cosmetic{background:#6b7280}.defect-map-status{text-transform:uppercase;letter-spacing:.03em;border-radius:10px;align-items:center;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.defect-map-status.in-progress{color:#1d4ed8;background:#dbeafe}.defect-map-status.completed{color:#047857;background:#d1fae5}.defect-map-status.reviewed{color:#6d28d9;background:#ede9fe}.defect-map-form{flex-direction:column;gap:12px;display:flex}.defect-map-form .form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.defect-map-form .form-group{flex-direction:column;gap:4px;display:flex}.defect-map-form .form-group label{color:var(--text-muted);font-size:.8rem;font-weight:500}.defect-map-form .form-group input,.defect-map-form .form-group select,.defect-map-form .form-group textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);padding:6px 10px;font-size:.85rem}.defect-map-summary{background:var(--surface-elevated,var(--bg-secondary,#f8f8f8));border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:16px;padding:8px 12px;font-size:.82rem;display:flex}.defect-map-summary .summary-item{align-items:center;gap:4px;display:flex}.defect-map-summary .summary-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.defect-map-warning{border-radius:var(--radius-sm);color:#92400e;background:#fffbeb;border:1px solid #f59e0b;align-items:flex-start;gap:8px;padding:10px 14px;font-size:.82rem;line-height:1.45;display:flex}.defect-map-warning .warning-icon{flex-shrink:0;font-size:1rem;line-height:1}.defect-map-prerequisites{border-radius:var(--radius-md);color:#92400e;background:#fffbeb;border:1px solid #f59e0b;padding:14px 16px;font-size:.84rem;line-height:1.5}.defect-map-prerequisites .prerequisites-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.defect-map-prerequisites .prerequisites-header .warning-icon{font-size:1.1rem;line-height:1}.defect-map-prerequisites p{margin:0 0 8px}.defect-map-prerequisites .prerequisites-list{margin:0;padding-left:20px;list-style:outside}.defect-map-prerequisites .prerequisite-missing{margin-bottom:4px;font-weight:500}.defect-map-context-header{background:var(--surface-elevated,var(--bg-secondary,#f8f8f8));border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;font-size:.85rem;display:flex}.defect-map-context-header .context-label{color:var(--text-primary);font-weight:600}.defect-map-context-header .context-value{color:var(--text-muted)}.defect-map-context-header .context-separator{color:var(--border)}.defect-map-session-detail-header{flex-direction:column;gap:4px;display:flex}.defect-map-session-detail-header .session-detail-meta{color:var(--text-muted);flex-wrap:wrap;gap:12px;font-size:.8rem;display:flex}
.database-config-view{max-width:720px}.database-config-view h2{margin-bottom:.25rem}.database-config-view .section-description{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9rem}.database-status-cards{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.status-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.25rem;min-width:140px;padding:.75rem 1rem;display:flex}.status-card .status-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.status-card .status-badge{font-size:.9rem;font-weight:600}.status-card .status-value{font-size:.85rem}.database-config-view .error-banner{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger);border-radius:8px;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.9rem}.database-form{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.database-form .form-row{gap:1rem;display:flex}.database-form .form-group{flex-direction:column;gap:.25rem;display:flex}.database-form label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.database-form input,.database-form select{border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);border-radius:6px;padding:.5rem .75rem;font-size:.9rem}.database-form input:focus,.database-form select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light);outline:none}.database-actions{flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;display:flex}.test-result{border-radius:8px;flex-direction:column;gap:.25rem;margin-bottom:1.5rem;padding:1rem;font-size:.9rem;display:flex}.test-result.success{background:var(--success-bg);border:1px solid var(--success);color:var(--success)}.test-result.error{background:var(--danger-bg);border:1px solid var(--danger);color:var(--danger)}.ready-banner{background:var(--success-bg);color:var(--success);border:1px solid var(--success);border-radius:8px;margin-bottom:1.5rem;padding:1rem;font-weight:500}.database-help{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:1rem 1.5rem}.database-help h3{margin:0 0 .5rem;font-size:.95rem}.database-help ul{color:var(--text-secondary);margin:0;padding-left:1.25rem;font-size:.85rem}.database-help li{margin-bottom:.25rem}.guide-section{margin-top:1.25rem}.guide-section>h3{margin:0 0 .25rem;font-size:.95rem}.guide-intro{color:var(--text-secondary);margin:0 0 .75rem;font-size:.85rem}.guide-toggle{background:var(--bg-tertiary);border:1px solid var(--border);cursor:pointer;text-align:left;width:100%;color:var(--text-primary);border-radius:6px;align-items:center;gap:.5rem;margin-bottom:2px;padding:.75rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s;display:flex}.guide-toggle:hover{background:var(--bg-hover)}.guide-toggle-icon{color:var(--text-muted);flex-shrink:0;font-size:.65rem;transition:transform .2s}.guide-toggle-icon.open{transform:rotate(90deg)}.guide-toggle-label{flex:1}.guide-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;flex-shrink:0;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.guide-badge.recommended{background:var(--success-bg);color:var(--success);border:1px solid var(--success)}.guide-content{border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);border-top:none;border-radius:0 0 6px 6px;margin-bottom:.5rem;padding:1rem 1.25rem;font-size:.85rem;line-height:1.6}.guide-content h4{color:var(--text-primary);margin:1rem 0 .4rem;font-size:.875rem}.guide-content h4:first-child{margin-top:.25rem}.guide-content p{margin:0 0 .5rem}.guide-benefit{border-left:3px solid var(--accent);color:var(--text-secondary);background:#3b82f614;border-radius:0 4px 4px 0;padding:.5rem .75rem;margin-bottom:.75rem!important}.guide-code-block{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;margin:.5rem 0 .75rem;overflow:hidden}.guide-code-label{background:var(--bg-tertiary);color:var(--text-muted);border-bottom:1px solid var(--border);padding:.25rem .75rem;font-size:.75rem;font-weight:600}.guide-code-block pre{margin:0;padding:.75rem;overflow-x:auto}.guide-code-block code{font-family:var(--font-mono);white-space:pre;color:var(--text-primary);font-size:.8rem;line-height:1.5}.guide-steps{margin:.5rem 0;padding-left:1.25rem}.guide-steps li{margin-bottom:.35rem}.guide-table{border-collapse:collapse;width:100%;margin:.5rem 0 .75rem;font-size:.85rem}.guide-table td{border:1px solid var(--border);color:var(--text-primary);padding:.4rem .75rem}.guide-table td:first-child{background:var(--bg-tertiary);width:120px;font-weight:600}.guide-warning{background:var(--warning-bg);border:1px solid var(--warning);color:var(--warning);border-radius:6px;margin:.75rem 0 .25rem;padding:.6rem .75rem;font-size:.82rem}@media (max-width:600px){.database-form .form-row,.database-status-cards,.database-actions{flex-direction:column}.database-actions .btn{width:100%}}.backup-section{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.5rem}.backup-section h3{margin:0 0 .5rem;font-size:1.05rem}.backup-controls{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin:1rem 0 1.25rem;padding:.75rem 1rem;display:flex}.backup-storage-select{flex-direction:column;flex:260px;gap:.4rem;display:flex}.backup-storage-label{color:var(--text-primary);cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.backup-storage-label input[type=radio]{cursor:pointer}.pre-migration-backup-row{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;margin-top:1rem;padding:.75rem 1rem}.pre-migration-backup-label{color:var(--text-primary);cursor:pointer;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;display:flex}.pre-migration-backup-label input[type=checkbox]{cursor:pointer;width:16px;height:16px}.pre-migration-backup-hint{color:var(--text-muted);margin:.5rem 0 0 1.5rem;font-size:.8rem;line-height:1.4}.backup-list{border:1px solid var(--border);border-radius:8px;margin-top:1rem;overflow-x:auto}.backup-table{border-collapse:collapse;width:100%;font-size:.85rem}.backup-table thead{background:var(--bg-secondary)}.backup-table th{text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap;padding:.6rem .75rem;font-weight:600}.backup-table td{border-bottom:1px solid var(--border-light);vertical-align:middle;padding:.55rem .75rem}.backup-table tbody tr:last-child td{border-bottom:none}.backup-table tbody tr:hover{background:var(--bg-hover)}.backup-row--expired{opacity:.55}.backup-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:.15rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.backup-badge--queued{background:var(--bg-tertiary);color:var(--text-secondary)}.backup-badge--progress{background:var(--warning-bg);color:var(--warning)}.backup-badge--success{background:var(--success-bg);color:var(--success)}.backup-badge--error{background:var(--danger-bg);color:var(--danger)}.backup-badge--muted{background:var(--bg-secondary);color:var(--text-muted)}.backup-error-text{color:var(--danger);text-overflow:ellipsis;max-width:240px;margin-top:.25rem;font-size:.72rem;overflow:hidden}.backup-actions-cell{white-space:nowrap;gap:.4rem;display:flex}.backup-actions-cell .btn{padding:.25rem .6rem;font-size:.78rem}.backup-list-empty,.backup-list-loading{text-align:center;color:var(--text-muted);background:var(--bg-secondary);border:1px dashed var(--border);border-radius:8px;margin-top:.75rem;padding:1.25rem;font-size:.88rem}.backup-metrics{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;margin-top:1rem;padding:1rem 1.25rem}.backup-metrics-loading{color:var(--text-muted);padding:.75rem 1rem;font-size:.85rem;font-style:italic}.backup-metrics-header h4{color:var(--text-primary);margin:0 0 .75rem;font-size:.9rem;font-weight:600}.backup-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;display:grid}.backup-metric{background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;padding:.6rem .8rem}.backup-metric-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.2rem;font-size:.72rem}.backup-metric-value{color:var(--text-primary);font-size:1.25rem;font-weight:700;line-height:1.2}.backup-metric-value--ok{color:var(--success)}.backup-metric-value--warn{color:var(--warning)}.backup-metric-value--bad{color:var(--danger)}.backup-metric-sub{color:var(--text-muted);margin-top:.2rem;font-size:.72rem}.backup-metric-sub--warn{color:var(--warning)}.backup-metric-alert{border-radius:6px;margin-top:.85rem;padding:.65rem .9rem;font-size:.82rem;line-height:1.4}.backup-metric-alert code{background:var(--bg-primary);border-radius:3px;padding:.1rem .35rem;font-size:.82rem}.backup-metric-alert--warn{background:var(--warning-bg);border:1px solid var(--warning);color:var(--text-primary)}.restore-status-banner{border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.restore-status-banner--progress{background:var(--warning-bg);border-color:var(--warning);color:var(--text-primary)}.restore-status-banner--success{background:var(--success-bg);border-color:var(--success);color:var(--text-primary)}.restore-status-banner--error{background:var(--danger-bg);border-color:var(--danger);color:var(--text-primary)}.restore-status-banner__content{flex-direction:column;gap:.2rem;display:flex}.restore-status-banner__label{font-weight:600}.restore-status-banner__detail{color:var(--text-secondary);font-size:.78rem}.restore-status-banner__detail--error{color:var(--danger)}.restore-status-banner__close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;flex-shrink:0;padding:0;font-size:.9rem}.restore-status-banner__close:hover{color:var(--text-primary)}.restore-warning-box{background:var(--danger-bg);border:1px solid var(--danger);border-radius:6px;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.875rem}.restore-warning-box strong{color:var(--danger);margin-bottom:.4rem;display:block}.restore-warning-box p{color:var(--text-primary);margin:.3rem 0 0}.btn-warning{background:var(--warning);color:#fff;border:1px solid #0000}.btn-warning:hover:not(:disabled){opacity:.88}.btn-warning:disabled{opacity:.45;cursor:not-allowed}.modal--wide{max-width:520px}@media (max-width:768px){.backup-controls{flex-direction:column;align-items:stretch}.backup-controls .btn{width:100%}}.agent-token-box{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;margin-top:1.5rem;padding:1rem 1.25rem}.agent-token-box h4{margin:0 0 .5rem;font-size:.95rem}.agent-token-description{color:var(--text-secondary);margin:0 0 .75rem;font-size:.85rem}.agent-token-status{flex-direction:column;gap:.4rem;font-size:.85rem;display:flex}.agent-token-status>div:first-child{align-items:center;gap:.6rem;display:flex}.agent-token-label{color:var(--text-primary);font-weight:600}.agent-token-meta{color:var(--text-muted);font-size:.8rem}.agent-token-actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.token-warning{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning);border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem}.token-display{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;margin-bottom:.75rem;padding:.75rem 1rem;overflow-x:auto}.token-display code{color:var(--text-primary);word-break:break-all;-webkit-user-select:all;user-select:all;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.85rem}
.project-view{padding:24px}.project-view-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.project-view-header h2{margin:0;font-size:1.25rem}.project-view-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.project-cards{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:16px;transition:border-color .15s,box-shadow .15s}.project-card:hover{border-color:var(--accent);box-shadow:0 2px 8px #0000000f}.project-card-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.project-card-title h3{margin:0;font-size:1rem;font-weight:600;line-height:1.3}.project-card-number{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono)}.project-card-customer{color:var(--text-muted);margin-bottom:4px;font-size:.8rem}.project-card-description{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:4px 0 8px;font-size:.8rem;display:-webkit-box;overflow:hidden}.project-card-footer{color:var(--text-muted);border-top:1px solid var(--border);gap:12px;margin-top:8px;padding-top:8px;font-size:.75rem;display:flex}.project-card-meta{white-space:nowrap}.project-status-badge{white-space:nowrap;text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-block}.project-status-active{background:var(--success-bg,#dcfce7);color:var(--success-text,#166534)}.project-status-completed{background:var(--info-bg,#dbeafe);color:var(--info-text,#1e40af)}.project-status-archived{background:var(--neutral-bg,#f3f4f6);color:var(--neutral-text,#6b7280)}.project-status-on-hold{background:var(--warning-bg,#fef9c3);color:var(--warning-text,#854d0e)}.project-detail{padding:24px}.project-detail-header{margin-bottom:24px}.project-detail-nav{margin-bottom:8px}.project-detail-title-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.project-detail-title-row h2{margin:0 0 4px;font-size:1.25rem}.project-detail-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.project-detail-description{color:var(--text-secondary);max-width:600px;margin-top:8px;font-size:.85rem}.project-detail-actions{flex-shrink:0;gap:8px;display:flex}.project-products-section{margin-top:16px}.project-products-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.project-products-header h3{margin:0;font-size:1rem}.project-products-table{border-collapse:collapse;width:100%}.project-products-table th{text-align:left;text-transform:uppercase;color:var(--text-muted);border-bottom:2px solid var(--border);padding:8px 12px;font-size:.75rem;font-weight:600}.project-products-table td{border-bottom:1px solid var(--border);padding:10px 12px;font-size:.85rem}.project-product-row{cursor:pointer;transition:background .1s}.project-product-row:hover{background:var(--hover)}.add-product-list{border:1px solid var(--border);border-radius:var(--radius);max-height:300px;margin-top:8px;overflow-y:auto}.add-product-item{cursor:pointer;justify-content:space-between;align-items:center;padding:8px 12px;font-size:.85rem;transition:background .1s;display:flex}.add-product-item:hover{background:var(--hover)}.add-product-item+.add-product-item{border-top:1px solid var(--border)}.add-product-item-selected{background:var(--accent-bg,#eff6ff)}.product-check{color:var(--accent);flex-shrink:0;font-weight:600}.selected-products-chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.product-chip{background:var(--accent-bg,#eff6ff);border:1px solid var(--accent-border,#bfdbfe);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;font-weight:500;display:inline-flex}.product-chip-remove{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0 2px;font-size:.7rem;line-height:1}.product-chip-remove:hover{color:var(--danger,#dc2626)}.project-detail-name-cell{font-weight:500}.product-detail-view{padding:24px}.product-detail-view-header{margin-bottom:24px}.product-detail-view-header h2{margin:0;font-size:1.25rem;font-weight:600}.product-detail-view-id{color:var(--text-muted);font-size:1rem;font-weight:400}.product-detail-view-customer{color:var(--text-secondary);margin-top:4px;font-size:.85rem}.product-detail-view-section{margin-bottom:32px}.product-detail-view-section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.product-detail-view-section-header h3{margin:0;font-size:1rem;font-weight:600}.product-detail-view-empty{padding:16px 0;font-size:.85rem}.product-detail-view-table{border-collapse:collapse;width:100%}.product-detail-view-table th{text-align:left;text-transform:uppercase;color:var(--text-muted);border-bottom:2px solid var(--border);padding:8px 12px;font-size:.75rem;font-weight:600}.product-detail-view-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.product-detail-view-table th.sortable:hover{color:var(--text-primary)}.product-detail-view-table td{border-bottom:1px solid var(--border);padding:10px 12px;font-size:.85rem}.product-detail-view-row.clickable{cursor:pointer;transition:background .1s}.product-detail-view-row.clickable:hover{background:var(--hover)}.product-detail-view-details-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.detail-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;justify-content:space-between;align-items:center;padding:14px 16px;transition:border-color .15s,box-shadow .15s;display:flex}.detail-card:hover{border-color:var(--accent);box-shadow:0 2px 8px #0000000f}.detail-card-main{min-width:0}.detail-card-name{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.detail-card-id{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono);margin-top:2px}.detail-card-meta{color:var(--text-muted);white-space:nowrap;flex-shrink:0;margin-left:12px;font-size:.75rem}.product-id-number{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono)}
.complaint-status-badge{border-radius:var(--radius-sm);white-space:nowrap;border:1px solid #0000;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.complaint-status-badge[data-status=NEW]{color:var(--danger,#ef4444);border-color:var(--danger,#ef4444);background:#ef444414}.complaint-status-badge[data-status=IN_ANALYSIS]{color:#8b5cf6;background:#8b5cf614;border-color:#8b5cf6}.complaint-status-badge[data-status=CORRECTIVE_ACTION]{color:#3b82f6;background:#3b82f614;border-color:#3b82f6}.complaint-status-badge[data-status=CUSTOMER_RESPONSE]{color:#06b6d4;background:#06b6d414;border-color:#06b6d4}.complaint-status-badge[data-status=VERIFICATION]{color:var(--warning,#f59e0b);border-color:var(--warning,#f59e0b);background:#f59e0b14}.complaint-status-badge[data-status=CLOSED]{color:var(--success,#22c55e);border-color:var(--success,#22c55e);background:#22c55e14}.complaint-status-badge[data-status=REJECTED]{color:var(--text-muted);border-color:var(--border);background:var(--bg-secondary)}.complaint-priority{font-size:12px;font-weight:500}.complaint-priority[data-priority=CRITICAL]{color:var(--danger,#ef4444)}.complaint-priority[data-priority=HIGH]{color:var(--warning,#f59e0b)}.complaint-priority[data-priority=NORMAL]{color:var(--text-secondary)}.complaint-priority[data-priority=LOW]{color:var(--text-muted)}.complaint-type-pill{border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border);padding:1px 7px;font-size:11px;font-weight:500;display:inline-block}.complaint-sla{color:var(--text-secondary);font-size:13px}.complaint-sla--overdue{color:var(--danger,#ef4444);font-weight:500}.complaint-sla--overdue:after{content:" ⚠"}.complaint-detail{padding:16px 24px 32px}.complaint-detail-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;padding-bottom:12px;display:flex}.complaint-detail-title{margin:0 0 4px;font-size:20px;font-weight:600}.complaint-detail-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.complaint-info-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px 24px;display:grid}.complaint-progress{flex-wrap:wrap;align-items:center;gap:4px;margin:8px 0 16px;display:flex}.complaint-progress-step{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.complaint-progress-step.active{color:var(--accent);font-weight:500}.complaint-progress-dot{background:var(--border);border-radius:50%;width:10px;height:10px}.complaint-progress-step.active .complaint-progress-dot{background:var(--accent)}.complaint-progress-separator{background:var(--border);width:18px;height:1px}.complaint-batch-result{border-radius:var(--radius-sm);padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.complaint-batch-result[data-result=OK]{color:var(--success,#22c55e);background:#22c55e1a}.complaint-batch-result[data-result=NOK]{color:var(--danger,#ef4444);background:#ef44441a}.complaint-batch-result[data-result=PARTIAL]{color:var(--warning,#f59e0b);background:#f59e0b1a}.complaint-attachment-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.complaint-attachment-item+.complaint-attachment-item{margin-top:6px}.complaint-attachment-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.complaint-comments-container{flex-direction:column;gap:12px;width:100%;height:calc(100vh - 340px);min-height:420px;display:flex}.complaint-comments-actions{flex-shrink:0;justify-content:flex-end;gap:8px;display:flex}.complaint-comments-split{flex:1;gap:16px;min-height:0;display:flex}.complaint-comments-list-pane{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary,var(--bg-secondary));flex-direction:column;flex:0 0 35%;gap:8px;max-width:35%;padding:8px;display:flex;overflow-y:auto}.complaint-comments-preview-pane{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);flex:65%;min-width:0;padding:16px;overflow-y:auto}@media (max-width:900px){.complaint-comments-container{height:auto;min-height:0}.complaint-comments-split{flex-direction:column}.complaint-comments-list-pane,.complaint-comments-preview-pane{flex:auto;max-width:100%}.complaint-comments-list-pane{max-height:320px}}.comment-list-item{text-align:left;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;flex-shrink:0;align-items:stretch;gap:0;width:100%;padding:0;transition:border-color .15s,background .15s;display:flex;overflow:hidden}.comment-list-item:hover{border-color:var(--accent)}.comment-list-item.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light,#3b82f633)}.comment-list-item-bar{background:var(--comment-color,#9ca3af);flex-shrink:0;width:4px}.comment-list-item[data-color=gray]{--comment-color:#9ca3af}.comment-list-item[data-color=blue]{--comment-color:#3b82f6}.comment-list-item[data-color=green]{--comment-color:#22c55e}.comment-list-item[data-color=yellow]{--comment-color:#eab308}.comment-list-item[data-color=orange]{--comment-color:#f97316}.comment-list-item[data-color=red]{--comment-color:#ef4444}.comment-list-item-body{flex-direction:column;flex:1;gap:4px;min-width:0;padding:8px 12px;display:flex}.comment-list-item-preview{color:var(--text-primary);-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.comment-list-item-preview *{font-weight:inherit;font-style:inherit}.comment-list-item-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:flex}.comment-internal-dot{color:var(--warning,#f59e0b);border:1px solid var(--warning,#f59e0b);background:#f59e0b1f;border-radius:999px;padding:1px 6px;font-size:10px}.comment-preview{height:auto}.comment-preview-empty{justify-content:center;align-items:center;height:100%;display:flex}.comment-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;overflow:hidden}.comment-card-bar{background:var(--comment-color,#9ca3af);flex-shrink:0;width:4px}.comment-card[data-color=gray]{--comment-color:#9ca3af}.comment-card[data-color=blue]{--comment-color:#3b82f6}.comment-card[data-color=green]{--comment-color:#22c55e}.comment-card[data-color=yellow]{--comment-color:#eab308}.comment-card[data-color=orange]{--comment-color:#f97316}.comment-card[data-color=red]{--comment-color:#ef4444}.comment-card-body{flex:1;min-width:0;padding:10px 14px}.comment-card-header{flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-bottom:6px;display:flex}.comment-status-badge{background:var(--accent-light,#3b82f626);color:var(--accent);border:1px solid var(--accent);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px}.comment-internal-badge{color:var(--warning,#f59e0b);border:1px solid var(--warning,#f59e0b);white-space:nowrap;background:#f59e0b26;border-radius:999px;padding:2px 8px;font-size:11px}.comment-card-content{color:var(--text-primary);word-break:break-word;font-size:14px;line-height:1.5}.comment-card-content p{margin:0 0 6px}.comment-card-content p:last-child{margin-bottom:0}.comment-card-meta{color:var(--text-muted);margin-top:8px;font-size:12px}.mention{background:var(--accent-light,#3b82f626);color:var(--accent);white-space:nowrap;border-radius:4px;padding:0 4px;font-weight:500;display:inline-block}.comment-editor{flex-direction:column;gap:12px;display:flex}.comment-editor-toolbar{gap:4px;display:flex}.comment-format-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);width:32px;height:32px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;font-size:14px;transition:background .15s,border-color .15s;display:flex}.comment-format-btn:hover{background:var(--bg-tertiary,var(--bg-primary));border-color:var(--accent)}.comment-editor-area{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);min-height:120px;max-height:320px;color:var(--text-primary);outline:none;padding:10px 12px;font-size:14px;line-height:1.5;transition:border-color .15s,box-shadow .15s;overflow-y:auto}.comment-editor-area:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.comment-editor-area:empty:before{content:attr(data-placeholder);color:var(--text-muted)}.comment-editor-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.comment-color-palette{gap:8px;display:flex}.comment-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;padding:0;transition:transform .1s}.comment-color-swatch:hover{transform:scale(1.1)}.comment-color-swatch.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-primary), 0 0 0 4px var(--text-primary)}.comment-internal-toggle{color:var(--text-secondary,var(--text-primary));cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.complaint-status-pill{background:var(--accent-light,#3b82f626);color:var(--accent);border:1px solid var(--accent);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px}.mention-dropdown{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);z-index:1200;min-width:160px;max-height:220px;margin:0;padding:4px;list-style:none;overflow-y:auto;box-shadow:0 6px 20px #0000002e}.mention-option{border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;padding:6px 10px;font-size:13px}.mention-option.active,.mention-option:hover{background:var(--accent-light,#3b82f626);color:var(--accent)}.complaint-attachments-actions{justify-content:flex-end;margin-bottom:12px;display:flex}.complaint-attachment-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.complaint-attachment-row{border-bottom:1px solid var(--border);align-items:center;gap:14px;min-height:36px;padding:6px 10px;font-size:13px;display:flex}.complaint-attachment-row:hover{background:var(--bg-secondary)}.complaint-attachment-name{max-width:30%;color:var(--accent);white-space:nowrap;text-overflow:ellipsis;flex:none;font-weight:500;text-decoration:none;overflow:hidden}.complaint-attachment-name:hover{text-decoration:underline}.complaint-attachment-desc{min-width:0;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:auto;overflow:hidden}.complaint-attachment-desc-input{border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;color:var(--text-primary);background:0 0;flex:auto;padding:4px 8px;font-family:inherit;font-size:13px}.complaint-attachment-meta{color:var(--text-muted);white-space:nowrap;flex:none;font-size:12px}.complaint-attachment-row-actions{flex:none;align-items:center;gap:4px;display:flex}
.csv-import-modal .modal-body{max-height:calc(90vh - 160px);overflow-y:auto}.csv-import-stage{flex-direction:column;gap:16px;display:flex}.csv-import-stage p{margin:0;line-height:1.5}.csv-import-notice{background:var(--warning-bg,#eab30814);border:1px solid var(--warning-border,#eab3084d);border-radius:var(--radius-md);padding:12px 14px;font-size:13px;line-height:1.5}.csv-import-actions-row{flex-wrap:wrap;gap:10px;display:flex}.csv-import-dropzone{border:2px dashed var(--border);border-radius:var(--radius-lg);text-align:center;cursor:pointer;background:var(--bg-primary);padding:48px 16px;transition:border-color .15s,background .15s}.csv-import-dropzone:hover,.csv-import-dropzone--active{border-color:var(--accent);background:var(--accent-light,#3b82f614)}.csv-import-dropzone--has-file{border-style:solid;border-color:var(--accent)}.csv-import-dropzone-icon{opacity:.7;margin-bottom:8px;font-size:36px}.csv-import-file-name{margin-bottom:4px;font-weight:600}.csv-import-file-size{color:var(--text-muted);margin-bottom:12px;font-size:13px}.csv-import-summary-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}@media (max-width:640px){.csv-import-summary-grid{grid-template-columns:repeat(2,1fr)}}.csv-import-summary-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;padding:14px}.csv-import-summary-value{color:var(--text-primary);font-size:24px;font-weight:700;line-height:1.1}.csv-import-summary-sub{color:var(--text-muted);font-size:16px;font-weight:500}.csv-import-summary-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-top:4px;font-size:12px}.csv-import-errors,.csv-import-preview{flex-direction:column;gap:6px;display:flex}.csv-import-errors h4,.csv-import-preview h4{margin:0;font-size:14px}.csv-import-errors-table,.csv-import-preview-table{border:1px solid var(--border);border-radius:var(--radius-md);max-height:260px;overflow:auto}.csv-import-errors-table table,.csv-import-preview-table table{border-collapse:collapse;width:100%;font-size:12px}.csv-import-errors-table th,.csv-import-errors-table td,.csv-import-preview-table th,.csv-import-preview-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:6px 10px}.csv-import-errors-table th,.csv-import-preview-table th{background:var(--bg-primary);font-weight:600;position:sticky;top:0}.csv-import-errors-table tr:hover td{background:var(--danger-bg,#ef44440d)}.csv-import-applying{text-align:center;align-items:center;padding:32px 16px}.csv-import-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;margin:0 auto;animation:.8s linear infinite csv-import-spin}@keyframes csv-import-spin{to{transform:rotate(360deg)}}.csv-import-result-banner{border-radius:var(--radius-md);border:1px solid var(--border);padding:16px}.csv-import-result-banner h4{margin:0 0 4px}.csv-import-result-banner--success{background:var(--success-bg,#22c55e14);border-color:var(--success-border,#22c55e4d)}.csv-import-result-banner--error{background:var(--danger-bg,#ef444414);border-color:var(--danger-border,#ef44444d)}.csv-import-help{flex-direction:column;gap:16px;display:flex}.csv-import-help h4{margin:0;font-size:14px}.csv-import-help-table{border:1px solid var(--border);border-radius:var(--radius-md);max-height:360px;overflow:auto}.csv-import-help-table table{border-collapse:collapse;width:100%;font-size:12px}.csv-import-help-table th,.csv-import-help-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:6px 10px}.csv-import-help-table th{background:var(--bg-primary);font-weight:600;position:sticky;top:0}.csv-import-help code,.csv-import-help-table code{background:var(--bg-primary);border-radius:3px;padding:1px 5px;font-size:12px}
.sa-page-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.sa-page-title{margin:0;font-size:1.5rem;font-weight:700}.sa-page-subtitle{color:#6b7280;margin-top:4px;font-size:.875rem}.sa-company-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:32px;display:flex}.sa-grid-2{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;display:grid}.sa-section-gap{margin-top:24px}.sa-back-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:24px;padding:0;font-size:.875rem;display:flex}.sa-btn-primary{color:#fff;cursor:pointer;background-color:#d97706;border:none;border-radius:6px;width:100%;padding:10px;font-size:.875rem;font-weight:600}.sa-btn-cancel{color:#9ca3af;cursor:pointer;background-color:#0000;border:1px solid #374151;border-radius:6px;flex:1;padding:10px;font-size:.875rem}.sa-btn-secondary{color:#9ca3af;cursor:pointer;background-color:#0000;border:1px solid #2d2d44;border-radius:6px;padding:10px 16px;font-size:.875rem}.sa-btn-cancel-wide{color:#9ca3af;cursor:pointer;background-color:#0000;border:1px solid #2d2d44;border-radius:6px;padding:10px 20px;font-size:.875rem}.sa-btn-danger{color:#ef4444;cursor:pointer;background-color:#0000;border:1px solid #7f1d1d;border-radius:6px;padding:8px 16px;font-size:.875rem}.sa-btn-header-action{color:#f3f4f6;cursor:pointer;white-space:nowrap;background-color:#1a1a2e;border:1px solid #3b82f6;border-radius:6px;padding:10px 20px;font-size:.875rem;font-weight:600}.sa-btn-create{color:#fff;cursor:pointer;background-color:#d97706;border:none;border-radius:6px;padding:10px 18px;font-size:.9rem;font-weight:600}.sa-btn-mini{color:#9ca3af;cursor:pointer;background-color:#0000;border:1px solid #2d2d44;border-radius:4px;padding:2px 8px;font-size:.75rem}.sa-section{background-color:#1a1a2e;border:1px solid #2d2d44;border-radius:8px;padding:20px 24px}.sa-section-title{color:#9ca3af;text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px;font-size:.95rem;font-weight:700}.sa-field{margin-bottom:14px}.sa-field-label{color:#6b7280;margin-bottom:6px;font-size:.8rem;display:block}.sa-field-label-muted{color:#9ca3af;margin-bottom:6px;font-size:.8rem;display:block}.sa-input{color:#f3f4f6;box-sizing:border-box;background-color:#0f0f13;border:1px solid #374151;border-radius:6px;outline:none;width:100%;padding:9px 12px;font-size:.875rem}.sa-input-lg{padding:10px 12px;font-size:.9rem}.sa-input-search{color:#f3f4f6;background-color:#1a1a2e;border:1px solid #2d2d44;border-radius:6px;outline:none;width:100%;max-width:360px;padding:9px 12px;font-size:.9rem}.sa-input-full{color:#f3f4f6;background-color:#1a1a2e;border:1px solid #2d2d44;border-radius:6px;width:100%;padding:10px 12px;font-size:.875rem}.sa-field-error{color:#fca5a5;margin-top:4px;margin-bottom:0;font-size:.78rem}.sa-field-hint{color:#6b7280;margin-top:4px;font-size:.75rem}.sa-error-banner{color:#fca5a5;background-color:#451a1a;border:1px solid #7f1d1d;border-radius:6px;margin-bottom:16px;padding:10px 14px;font-family:monospace;font-size:.85rem}.sa-empty-state{text-align:center;color:#4b5563;border:1px dashed #2d2d44;border-radius:8px;padding:60px 20px}.sa-loading-text{color:#6b7280}.sa-company-row{cursor:pointer;background-color:#1a1a2e;border:1px solid #2d2d44;border-radius:8px;justify-content:space-between;align-items:center;padding:16px 20px;transition:border-color .15s;display:flex}.sa-company-row:hover{border-color:#d97706}.sa-company-row-name{color:#f3f4f6;margin-bottom:4px;font-size:1rem;font-weight:600}.sa-company-row-meta{color:#6b7280;font-size:.8rem}.sa-company-row-stats{align-items:center;gap:20px;display:flex}.sa-company-row-chevron{color:#4b5563;font-size:1.2rem}.sa-companies-grid{gap:12px;display:grid}.sa-stat{text-align:center;min-width:60px}.sa-stat-value{color:#f3f4f6;font-size:1.1rem;font-weight:700}.sa-stat-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.sa-pagination{color:#9ca3af;justify-content:space-between;align-items:center;margin-top:20px;font-size:.85rem;display:flex}.sa-pagination-buttons{gap:8px;display:flex}.sa-pagination-btn{color:#f3f4f6;cursor:pointer;background-color:#2d2d44;border:1px solid #2d2d44;border-radius:6px;padding:6px 14px;font-size:.85rem}.sa-pagination-btn:disabled{color:#4b5563;cursor:not-allowed;background-color:#1a1a2e}.sa-overlay{z-index:50;background-color:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sa-modal{background-color:#1a1a2e;border:1px solid #2d2d44;border-radius:8px;width:420px;max-width:90vw;padding:28px 32px}.sa-modal-wide{background-color:#1a1a2e;border:1px solid #2d2d44;border-radius:8px;width:480px;max-width:90vw;padding:28px 32px}.sa-create-modal{background-color:#1a1a2e;border:1px solid #2d2d44;border-radius:8px;width:440px;max-width:90vw;padding:32px}.sa-modal-title{margin-bottom:20px;font-size:1.15rem;font-weight:700}.sa-modal-subtitle{color:#9ca3af;margin-bottom:20px;font-size:.875rem}.sa-modal-footer{gap:10px;display:flex}.sa-password-box{background-color:#0f0f13;border:1px solid #d97706;border-radius:6px;margin-bottom:20px;padding:16px}.sa-password-label{color:#f59e0b;margin:0 0 8px;font-size:.75rem}.sa-password-row{align-items:center;gap:10px;display:flex}.sa-password-code{color:#f3f4f6;letter-spacing:.08em;flex:1;font-family:monospace;font-size:1.1rem}.sa-password-code-sm{letter-spacing:.08em;flex:1;font-family:monospace;font-size:1.05rem}.sa-inline-error{color:#fca5a5;background-color:#451a1a;border:1px solid #7f1d1d;border-radius:6px;margin-bottom:16px;padding:8px 12px;font-size:.85rem}.sa-table{border-collapse:collapse;width:100%;font-size:.875rem}.sa-th{text-align:left;color:#6b7280;border-bottom:1px solid #2d2d44;padding:8px 12px;font-weight:500}.sa-td{color:#e5e7eb;border-bottom:1px solid #1f2937;padding:10px 12px}.sa-td-muted{color:#6b7280;border-bottom:1px solid #1f2937;padding:10px 12px}.sa-badge-active{color:#22c55e;background:#22c55e26;border-radius:10px;padding:2px 8px;font-size:.75rem}.sa-badge-inactive{color:#9ca3af;background:#6b728033;border-radius:10px;padding:2px 8px;font-size:.75rem}.sa-table-add-row{justify-content:flex-end;margin-bottom:12px;display:flex}.sa-modules-desc{color:#6b7280;margin-bottom:16px;font-size:.8125rem}.sa-presets-grid{background-color:#0f0f13;border:1px solid #2d2d44;border-radius:8px;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px;padding:16px;display:grid}.sa-preset-btn{cursor:pointer;text-align:left;color:#f3f4f6;background-color:#1a1a2e;border:1px solid #2d2d44;border-radius:6px;padding:12px 14px;transition:all .15s}.sa-preset-btn-current{cursor:pointer;text-align:left;color:#f3f4f6;background-color:#1a2332;border:1px solid #3b82f6;border-radius:6px;padding:12px 14px;transition:all .15s}.sa-preset-btn-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.sa-preset-btn-name{font-size:.9375rem;font-weight:700}.sa-preset-current-badge{color:#3b82f6;background:#3b82f61a;border-radius:10px;padding:1px 6px;font-size:.6875rem;font-weight:600}.sa-preset-desc{color:#6b7280;margin:0 0 6px;font-size:.75rem;line-height:1.4}.sa-preset-count{color:#9ca3af;font-size:.75rem}.sa-warnings-list{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.sa-warning-item{color:#9ca3af;background:#f59e0b0f;border:1px solid #f59e0b40;border-radius:6px;padding:10px 14px;font-size:.8125rem}.sa-warning-strong{color:#f3f4f6}.sa-warning-link{color:#3b82f6;cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.sa-module-categories{flex-direction:column;gap:16px;display:flex}.sa-module-category{background-color:#0f0f13;border:1px solid #2d2d44;border-radius:8px;overflow:hidden}.sa-module-category-header{border-bottom:1px solid #2d2d44;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.sa-module-category-title{color:#e5e7eb;text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.875rem;font-weight:700}.sa-module-category-desc{color:#6b7280;margin:2px 0 0;font-size:.75rem}.sa-module-category-count{color:#6b7280;font-size:.8125rem;font-weight:600}.sa-module-grid-2{grid-template-columns:1fr 1fr;gap:0;display:grid}.sa-module-item{cursor:pointer;border-bottom:1px solid #1f2937;border-right:1px solid #1f2937;align-items:flex-start;gap:12px;padding:12px 16px;transition:background .15s;display:flex}.sa-module-checkbox{accent-color:#16a34a;width:18px;height:18px;margin-top:2px}.sa-module-item-name{color:#f3f4f6;font-size:.875rem;font-weight:600}.sa-module-item-desc{color:#6b7280;margin-top:2px;font-size:.72rem;line-height:1.4}.sa-module-item-deps{color:#3b82f6;margin-top:4px;font-size:.6875rem;font-style:italic}.sa-instr-modules-desc{color:#4b5563;margin-bottom:12px;font-size:.75rem}.sa-instr-modules-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.sa-instr-module-checkbox{accent-color:#16a34a;margin-top:2px}.sa-pdf-presets-desc{color:#4b5563;margin-bottom:12px;font-size:.75rem}.sa-pdf-presets-list{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.sa-pdf-preset-row{flex:1}.sa-pdf-preset-name-row{align-items:center;gap:8px;display:flex}.sa-pdf-preset-name{color:#f3f4f6;font-size:.875rem;font-weight:600}.sa-pdf-preset-badge-locked{color:#9ca3af;border:1px solid #4b5563;border-radius:4px;padding:1px 6px;font-size:.65rem}.sa-pdf-preset-badge-active{color:#16a34a;border:1px solid #166534;border-radius:4px;padding:1px 6px;font-size:.65rem}.sa-pdf-preset-key{color:#6b7280;margin-top:2px;font-size:.7rem}.sa-pdf-preset-desc{color:#9ca3af;margin-top:4px;font-size:.72rem;line-height:1.4}.sa-pdf-active-info{color:#6b7280;margin-bottom:12px;font-size:.75rem}.sa-pdf-active-info strong{color:#f3f4f6}.sa-pdf-error{color:#fca5a5;margin-bottom:12px;font-size:.8rem}.sa-danger-desc{color:#9ca3af;margin-bottom:16px;font-size:.875rem}.sa-force-label{color:#fbbf24;align-items:center;gap:8px;margin-bottom:12px;font-size:.8125rem;display:flex}.sa-perm-page{max-width:1600px;margin:0 auto;padding:32px}.sa-perm-page-wide{max-width:800px;margin:0 auto;padding:32px}.sa-perm-subtitle{color:#6b7280;margin-bottom:24px;font-size:.875rem}.sa-perm-toolbar{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.sa-perm-filter-wrap{flex:1;min-width:240px}.sa-perm-table-wrap{background-color:#0f0f13;border:1px solid #2d2d44;border-radius:8px;overflow-x:auto}.sa-perm-table{border-collapse:collapse;width:100%;font-size:.8125rem}.sa-perm-th-left{text-align:left;color:#9ca3af;border-bottom:1px solid #2d2d44;min-width:280px;padding:10px 12px;font-weight:500}.sa-perm-th-role{text-align:center;color:#f3f4f6;border-bottom:1px solid #2d2d44;min-width:140px;padding:10px 12px;font-weight:600}.sa-perm-th-role-name{margin-bottom:2px}.sa-perm-th-inactive{color:#6b7280;margin-left:6px;font-size:.6875rem}.sa-perm-th-role-label{color:#9ca3af;margin-bottom:4px;font-size:.6875rem;font-weight:400}.sa-perm-th-toggle-row{justify-content:center;gap:6px;display:flex}.sa-perm-td-label{color:#e5e7eb;border-bottom:1px solid #1f2937;padding:8px 12px}.sa-perm-td-check{text-align:center;border-bottom:1px solid #1f2937;padding:8px 12px}.sa-perm-td-code{color:#6b7280;font-family:monospace;font-size:.6875rem}.sa-perm-td-select-all{color:#6b7280;border-bottom:1px solid #1f2937;padding:8px 12px;font-size:.75rem;font-style:italic}.sa-perm-group-row{background-color:#181826;border-top:1px solid #2d2d44}.sa-perm-group-cell{padding:10px 12px}.sa-perm-group-btn{cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0;font-size:.875rem;font-weight:600;display:flex}.sa-perm-group-off-note{font-size:.6875rem;font-style:italic;font-weight:400}.sa-perm-footer{justify-content:flex-end;align-items:center;gap:12px;margin-top:16px;display:flex}.sa-saved-toast{color:#16a34a;margin-right:auto;font-size:.875rem}.sa-error-toast{color:#dc2626;margin-right:auto;font-size:.875rem}.sa-no-job-titles-box{color:#e5e7eb;background-color:#1a1a2e;border:1px solid #2d2d44;border-radius:8px;margin-top:24px;padding:20px}.sa-role-badge{border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:600}.sa-ip-toggle{cursor:pointer;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.sa-ip-toggle input{accent-color:#16a34a;flex-shrink:0;margin-top:2px}.sa-ip-toggle-text{color:#f3f4f6;font-size:.875rem;font-weight:600;display:block}.sa-ip-toggle-desc{color:#9ca3af;margin-top:6px;font-size:.8125rem;line-height:1.5;display:block}.sa-ip-add-row{gap:8px;margin-bottom:12px;display:flex}.sa-ip-add-row .sa-input{flex:1}.sa-ip-detected{color:#9ca3af;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;font-size:.8125rem;display:flex}.sa-ip-detected code{color:#e5e7eb;background-color:#0f0f13;border:1px solid #2d2d44;border-radius:4px;padding:2px 6px;font-size:.8125rem}.sa-ip-detected-add{color:#60a5fa;cursor:pointer;background:0 0;border:none;padding:0;font-size:.8125rem;text-decoration:underline}.sa-ip-detected-add:disabled{color:#4b5563;cursor:not-allowed;text-decoration:none}.sa-ip-chips{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.sa-ip-chip{color:#e5e7eb;background-color:#14291a;border:1px solid #16a34a;border-radius:6px;align-items:center;gap:8px;padding:4px 8px 4px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem;display:inline-flex}.sa-ip-chip-remove{color:#9ca3af;cursor:pointer;background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.sa-ip-chip-remove:hover{color:#ef4444}.sa-ip-empty{color:#6b7280;margin-bottom:12px;font-size:.8125rem}

