.visibility-matrix[data-v-feb7cf7a]{padding:2rem;max-width:100%;margin:0 auto}.matrix-header[data-v-feb7cf7a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.matrix-header h1[data-v-feb7cf7a]{font-size:2rem;color:#2c3e50;margin:0}.header-controls[data-v-feb7cf7a]{display:flex;gap:1rem}.btn[data-v-feb7cf7a]{padding:.75rem 1.5rem;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s;text-decoration:none;display:inline-block}.btn-primary[data-v-feb7cf7a]{background:#3498db;color:#fff}.btn-secondary[data-v-feb7cf7a]{background:#95a5a6;color:#fff}.btn-outline[data-v-feb7cf7a]{background:#fff;color:#3498db;border:2px solid #3498db}.btn[data-v-feb7cf7a]:hover:not(:disabled){opacity:.9;transform:translateY(-2px)}.btn[data-v-feb7cf7a]:disabled{opacity:.6;cursor:not-allowed}.matrix-legend[data-v-feb7cf7a]{display:flex;gap:2rem;margin-bottom:1.5rem;padding:1rem;background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.legend-item[data-v-feb7cf7a]{display:flex;align-items:center;gap:.5rem}.legend-box[data-v-feb7cf7a]{width:30px;height:30px;border-radius:4px;border:1px solid #ddd}.legend-box.covered[data-v-feb7cf7a]{background:#27ae60}.legend-box.detectable[data-v-feb7cf7a]{background:#f39c12}.legend-box.not-applicable[data-v-feb7cf7a]{background:#bdc3c7}.error-state[data-v-feb7cf7a],.loading-state[data-v-feb7cf7a]{text-align:center;padding:4rem 2rem}.loader[data-v-feb7cf7a]{border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;width:50px;height:50px;-webkit-animation:spin-data-v-feb7cf7a 1s linear infinite;animation:spin-data-v-feb7cf7a 1s linear infinite;margin:0 auto 1rem}@-webkit-keyframes spin-data-v-feb7cf7a{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin-data-v-feb7cf7a{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.matrix-content[data-v-feb7cf7a]{background:#fff;border-radius:12px;padding:1rem;box-shadow:0 2px 8px rgba(0,0,0,.1)}.matrix-scroll-container[data-v-feb7cf7a]{overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 300px)}.matrix-table[data-v-feb7cf7a]{width:100%;border-collapse:separate;border-spacing:2px;min-width:1200px}.matrix-table thead[data-v-feb7cf7a]{position:sticky;top:0;background:#fff;z-index:10}.technique-header[data-v-feb7cf7a]{position:sticky;left:0;background:#34495e;color:#fff;padding:1rem;font-weight:700;text-align:left;min-width:120px;z-index:11}.tactic-header[data-v-feb7cf7a]{background:#2c3e50;color:#fff;padding:1rem;text-align:center;min-width:100px;max-width:120px}.tactic-name[data-v-feb7cf7a]{font-weight:700;font-size:.9rem;margin-bottom:.25rem}.tactic-coverage[data-v-feb7cf7a]{font-size:.85rem;opacity:.8}.technique-cell[data-v-feb7cf7a]{position:sticky;left:0;background:#ecf0f1;padding:.75rem;font-weight:600;color:#2c3e50;border-right:2px solid #bdc3c7;z-index:1}.technique-id[data-v-feb7cf7a]{font-family:monospace;font-size:.9rem}.coverage-cell[data-v-feb7cf7a]{padding:0;text-align:center;cursor:pointer;transition:all .2s;min-width:60px;height:60px}.coverage-cell[data-v-feb7cf7a]:hover{transform:scale(1.1);z-index:5;box-shadow:0 4px 12px rgba(0,0,0,.2)}.coverage-cell.covered[data-v-feb7cf7a]{background:#27ae60}.coverage-cell.detectable[data-v-feb7cf7a]{background:#f39c12}.coverage-cell.not_applicable[data-v-feb7cf7a]{background:#bdc3c7}.coverage-cell.empty[data-v-feb7cf7a]{background:#f8f9fa}.cell-content[data-v-feb7cf7a]{display:flex;align-items:center;justify-content:center;height:100%;padding:.5rem}.quality-indicator[data-v-feb7cf7a]{font-size:.75rem;font-weight:700;color:#fff}.modal-overlay[data-v-feb7cf7a]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-feb7cf7a]{background:#fff;border-radius:12px;padding:2rem;max-width:600px;width:90%;max-height:80vh;overflow-y:auto}.modal-header[data-v-feb7cf7a]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.modal-header h2[data-v-feb7cf7a]{font-size:1.5rem;color:#2c3e50;margin:0;flex:1}.close-btn[data-v-feb7cf7a]{background:none;border:none;font-size:2rem;cursor:pointer;color:#7f8c8d;padding:0;width:40px;height:40px;line-height:1}.close-btn[data-v-feb7cf7a]:hover{color:#2c3e50}.modal-body[data-v-feb7cf7a]{display:flex;flex-direction:column;gap:1.5rem}.status-badge[data-v-feb7cf7a]{display:inline-block;padding:.5rem 1rem;border-radius:20px;font-weight:600;color:#fff}.status-badge.covered[data-v-feb7cf7a]{background:#27ae60}.status-badge.detectable[data-v-feb7cf7a]{background:#f39c12}.status-badge.not_applicable[data-v-feb7cf7a]{background:#95a5a6}.detail-section h3[data-v-feb7cf7a]{font-size:1.1rem;color:#2c3e50;margin-bottom:.5rem}.quality-badge[data-v-feb7cf7a]{display:inline-block;padding:.5rem 1rem;border-radius:20px;font-weight:600;color:#fff}.quality-badge.full[data-v-feb7cf7a]{background:#27ae60}.quality-badge.partial[data-v-feb7cf7a]{background:#f39c12}.quality-badge.minimal[data-v-feb7cf7a]{background:#e74c3c}.modal-actions[data-v-feb7cf7a]{display:flex;gap:1rem;margin-top:1rem}@media (max-width:768px){.matrix-legend[data-v-feb7cf7a]{flex-direction:column;gap:.5rem}.header-controls[data-v-feb7cf7a]{flex-direction:column}}