/* static/css/style.css */.review-item-meta .rule-source-tag {    display: none;}:root {    /* Enhanced Color Palette with better contrast */    --bg: hsl(220, 20%, 97%);    --primary: hsl(231, 48%, 54%);    --primary-fg: hsl(0, 0%, 100%);    --primary-hover: hsl(231, 48%, 48%);    --card-bg: hsl(0, 0%, 100%);    --card-fg: hsl(220, 15%, 15%);    --text-muted: hsl(220, 12%, 50%);    --accent: hsl(174, 100%, 32%);    --border: hsl(220, 15%, 90%);    --input-focus-ring: hsla(231, 48%, 54%, 0.15);    --status-compliant: hsl(145, 63%, 42%);    --status-compliant-bg: hsl(145, 60%, 97%);    --status-non-compliant: hsl(0, 72%, 51%);    --status-non-compliant-bg: hsl(0, 85%, 97%);    --status-partial: hsl(38, 92%, 50%);    --status-partial-bg: hsl(45, 100%, 97%);    --font-headline: 'Space Grotesk', sans-serif;    --font-body: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);    --shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -2px rgba(0, 0, 0, 0.05);    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.05);    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.08), 0 10px 10px -5px rgba(0, 0, 0, 0.04);    --border-radius: 0.75rem;    --transition-speed: 0.2s ease-in-out;}* {     box-sizing: border-box;     margin: 0;     padding: 0; }body {     font-family: var(--font-body);     background-color: var(--bg);    background-image: radial-gradient(circle at 1px 1px, rgba(100, 116, 139, 0.03) 1px, transparent 0);    background-size: 40px 40px;    color: var(--card-fg);     line-height: 1.6;    -webkit-font-smoothing: antialiased;    -moz-osx-font-smoothing: grayscale;}.container {     max-width: 68rem;     margin: 2.5rem auto;     padding: 0 1.5rem; }/* --- Header Improvements --- */header {     display: flex;     align-items: center;     gap: 1.25rem;     margin-bottom: 2.5rem;    animation: slideDown 0.5s ease-out;}@keyframes slideDown {    from { opacity: 0; transform: translateY(-20px); }    to { opacity: 1; transform: translateY(0); }}.logo {     font-family: var(--font-headline);     font-size: 1.5rem;     font-weight: 700;    color: var(--primary);     padding: 0.625rem 1.25rem;    border: 2px solid var(--primary);    border-radius: var(--border-radius);    background: linear-gradient(135deg, rgba(79, 70, 229, 0.05), rgba(79, 70, 229, 0.02));    transition: all var(--transition-speed);}.logo:hover {    transform: translateY(-2px);    box-shadow: 0 4px 12px rgba(79, 70, 229, 0.15);}.header-text h1 {     font-family: var(--font-headline);     font-size: 2.5rem;    font-weight: 700;    letter-spacing: -0.02em;    background: linear-gradient(135deg, var(--card-fg), var(--text-muted));    -webkit-background-clip: text;    -webkit-text-fill-color: transparent;    background-clip: text;}.header-text p {     font-size: 1.125rem;     color: var(--text-muted);    margin-top: 0.25rem;}/* --- Enhanced Card Component --- */.card {    background-color: var(--card-bg);    border-radius: var(--border-radius);    box-shadow: var(--shadow-lg);    padding: 2.5rem;    border: 1px solid var(--border);    position: relative;    transition: all var(--transition-speed);    animation: fadeIn 0.4s ease-out;}@keyframes fadeIn {    from { opacity: 0; transform: scale(0.98); }    to { opacity: 1; transform: scale(1); }}.card:hover {    box-shadow: var(--shadow-xl);}/* --- Form Components with Better Visual Hierarchy --- */.section-header {     display: flex;     align-items: center;     gap: 0.875rem;     margin-bottom: 1.75rem;    padding-bottom: 0.75rem;    border-bottom: 2px solid var(--border);}.section-header i {     color: var(--accent);    font-size: 1.5rem;}h2 {     font-family: var(--font-headline);     font-size: 1.75rem;    font-weight: 700;    letter-spacing: -0.01em;}h3 {     font-family: var(--font-headline);     margin-bottom: 1.25rem;     font-size: 1.25rem;    font-weight: 600;    color: var(--card-fg);}.form-group {     margin-bottom: 1.5rem; }label {     font-weight: 600;    font-size: 0.925rem;    display: block;     margin-bottom: 0.625rem;    color: var(--card-fg);}input[type="text"], textarea, select {     width: 100%;     padding: 0.875rem 1rem;    border: 1.5px solid var(--border);    border-radius: 0.5rem;    font-size: 1rem;    font-family: var(--font-body);    background-color: var(--card-bg);    color: var(--card-fg);    transition: all var(--transition-speed);}input[type="text"]:hover,textarea:hover,select:hover {    border-color: hsl(220, 15%, 75%);}input:focus, textarea:focus, select:focus {     outline: none;     border-color: var(--primary);    box-shadow: 0 0 0 4px var(--input-focus-ring);    transform: translateY(-1px);}.select-wrapper {     position: relative; }select {     appearance: none;     -webkit-appearance: none;     background-color: var(--card-bg);    padding-right: 3rem;    cursor: pointer;}.select-wrapper::after {     content: '\25BC';     position: absolute;     top: 50%;     right: 1rem;     transform: translateY(-50%);    pointer-events: none;    color: var(--text-muted);    font-size: 0.75rem;}/* --- Enhanced Tabs --- */.tabs {     display: flex;    gap: 0.5rem;    border-bottom: 2px solid var(--border);    margin-bottom: 1.5rem;}.tab-btn {     padding: 0.75rem 1.5rem;    background: transparent;    border: none;    cursor: pointer;    font-weight: 600;    font-size: 0.925rem;    color: var(--text-muted);    border-bottom: 2px solid transparent;    margin-bottom: -2px;    transition: all var(--transition-speed);    position: relative;}.tab-btn:hover {    color: var(--card-fg);    background-color: hsla(220, 15%, 90%, 0.3);    border-radius: 0.5rem 0.5rem 0 0;}.tab-btn.active {     border-color: var(--primary);    color: var(--primary);    background-color: transparent;}.tab-content {     display: none;     margin-top: 1.5rem;    animation: fadeIn 0.3s ease-out;}.tab-content.active {     display: block; }/* --- Enhanced File Upload --- */.file-label {     display: flex;     flex-direction: column;     align-items: center;     gap: 0.75rem;    border: 2px dashed var(--border);    padding: 2.5rem;    text-align: center;    cursor: pointer;    border-radius: var(--border-radius);    transition: all var(--transition-speed);    background: linear-gradient(135deg, rgba(79, 70, 229, 0.02), transparent);}.file-label:hover {     border-color: var(--primary);    background: linear-gradient(135deg, rgba(79, 70, 229, 0.05), rgba(79, 70, 229, 0.02));    transform: translateY(-2px);    box-shadow: var(--shadow);}input[type="file"] {     display: none; }.file-info {     margin-top: 1rem;     color: var(--text-muted);    font-size: 0.925rem;}.context-grid {     display: grid;     grid-template-columns: 1fr 1fr;     gap: 1.5rem; }.full-width {     grid-column: 1 / -1; }.radio-group {     display: flex;     gap: 1.5rem; }.separator {     border: none;     border-top: 1px solid var(--border);    margin: 2.5rem 0;    opacity: 0.5;}.form-actions {     display: flex;     justify-content: flex-end;     margin-top: 1.5rem;    gap: 1rem;}/* --- Enhanced Button Styles --- */button {     display: inline-flex;     align-items: center;     gap: 0.625rem;    padding: 0.875rem 1.75rem;    background: var(--primary);    color: var(--primary-fg);    border: none;    border-radius: 0.5rem;    cursor: pointer;    font-weight: 600;    font-size: 1rem;    font-family: var(--font-body);    transition: all var(--transition-speed);    box-shadow: 0 2px 4px rgba(79, 70, 229, 0.2);}button:hover {     background: var(--primary-hover);    transform: translateY(-2px);    box-shadow: 0 4px 12px rgba(79, 70, 229, 0.3);}button:active {    transform: translateY(0);    box-shadow: 0 1px 2px rgba(79, 70, 229, 0.2);}/* --- Enhanced Results Section --- */.results-header {     display: flex;     justify-content: space-between;     align-items: center;     margin-bottom: 2rem;}.summary-grid {     display: grid;     grid-template-columns: repeat(3, 1fr);     gap: 1.5rem;    margin-bottom: 2rem;}.summary-item {     text-align: center;     padding: 2rem 1.5rem;    border: 1px solid var(--border);    border-radius: var(--border-radius);    background: var(--card-bg);    transition: all var(--transition-speed);}.summary-item:hover {    transform: translateY(-4px);    box-shadow: var(--shadow-lg);}.summary-item .icon {     margin-bottom: 1rem;    font-size: 2rem;}.summary-item .count {     font-size: 2.75rem;    font-weight: 700;    font-family: var(--font-headline);    line-height: 1;    margin-bottom: 0.5rem;}.summary-item .label {     font-weight: 600;    font-size: 0.925rem;    color: var(--text-muted);    text-transform: uppercase;    letter-spacing: 0.05em;}.summary-item.compliant {    background: linear-gradient(135deg, var(--status-compliant-bg), transparent);    border-left: 4px solid var(--status-compliant);}.summary-item.compliant .icon, .summary-item.compliant .count {     color: var(--status-compliant); }.summary-item.non-compliant {    background: linear-gradient(135deg, var(--status-non-compliant-bg), transparent);    border-left: 4px solid var(--status-non-compliant);}.summary-item.non-compliant .icon, .summary-item.non-compliant .count {     color: var(--status-non-compliant); }.summary-item.partial {    background: linear-gradient(135deg, var(--status-partial-bg), transparent);    border-left: 4px solid var(--status-partial);}.summary-item.partial .icon, .summary-item.partial .count {     color: var(--status-partial); }.summary-item.non-covered {    background: linear-gradient(135deg, #f8fafc, transparent);    border-left: 4px solid #64748b;}.summary-item.non-covered .icon {    color: #64748b;}#results-list {     display: flex;     flex-direction: column;     gap: 1.25rem; }/* --- Enhanced Report Items --- */.report-item {     border: 1px solid var(--border);    border-radius: var(--border-radius);    overflow: hidden;    background: var(--card-bg);    transition: all var(--transition-speed);}.report-item:hover {    box-shadow: var(--shadow);    transform: translateX(4px);}.report-item-header {     display: flex;    justify-content: space-between;    align-items: flex-start;    padding: 1.25rem 1.5rem;    background: linear-gradient(135deg, #f9fafb, #ffffff);    border-bottom: 1px solid var(--border);    gap: 1rem;}.report-item-header p {     font-weight: 600;    font-size: 1rem;    line-height: 1.6;}.requirement-text {    flex-grow: 1;}.requirement-text .ref-control {    display: inline-block;    font-size: 0.75rem;    font-weight: 700;    color: #475569;    background-color: #e2e8f0;    padding: 0.25rem 0.625rem;    border-radius: 9999px;    margin-bottom: 0.625rem;    letter-spacing: 0.5px;    text-transform: uppercase;}/* --- Enhanced Status Badges --- */.status-badge {     display: inline-flex;     align-items: center;     gap: 0.5rem;    padding: 0.375rem 0.875rem;    border-radius: 9999px;    font-size: 0.875rem;    font-weight: 600;    flex-shrink: 0;    box-shadow: var(--shadow-sm);}.status-badge.compliant {     background-color: var(--status-compliant-bg);    color: var(--status-compliant);    border: 1px solid hsla(145, 63%, 42%, 0.2);}.status-badge.non-compliant {     background-color: var(--status-non-compliant-bg);    color: var(--status-non-compliant);    border: 1px solid hsla(0, 72%, 51%, 0.2);}.status-badge.partial-unclear {     background-color: var(--status-partial-bg);    color: var(--status-partial);    border: 1px solid hsla(38, 92%, 50%, 0.2);}.status-badge.non-covered {    background-color: #f1f5f9;    color: #475569;    border: 1px solid #e2e8f0;}.report-item-content {     padding: 1.5rem; }/* --- Enhanced Accordion --- */.accordion-header {     display: flex;     justify-content: space-between;     align-items: center;     padding: 1rem 0;    cursor: pointer;    font-weight: 600;    color: var(--card-fg);    transition: color var(--transition-speed);}.accordion-header:hover {    color: var(--primary);}.accordion-content {     max-height: 0;     overflow: hidden;     transition: max-height 0.3s ease-out; }.accordion-content .content-inner {     padding: 0.75rem 0 1.25rem 1.25rem;    border-left: 3px solid var(--primary);    color: var(--text-muted);    background: linear-gradient(90deg, rgba(79, 70, 229, 0.03), transparent);}.accordion-item.active .accordion-content {     max-height: 200px;     overflow-y: auto; }.accordion-header .chevron {     transition: transform 0.3s ease;    color: var(--primary);}.accordion-item.active .chevron {     transform: rotate(180deg); }/* --- Loading States --- */.hidden {    display: none !important;}#loading {    position: absolute;    top: 0;    left: 0;    right: 0;    bottom: 0;    background: hsla(0, 0%, 100%, 0.95);    z-index: 10;    display: flex;    flex-direction: column;    align-items: center;    justify-content: center;    backdrop-filter: blur(8px);    border-radius: var(--border-radius);}.spinner {     border: 4px solid rgba(79, 70, 229, 0.1);    border-top: 4px solid var(--primary);    border-radius: 50%;    width: 50px;    height: 50px;    animation: spin 0.8s linear infinite;    margin-bottom: 1rem;}@keyframes spin {     0% { transform: rotate(0deg); }     100% { transform: rotate(360deg); } }/* --- Enhanced Error Styling --- */#error-container {     background: var(--status-non-compliant-bg);    color: var(--status-non-compliant);    padding: 1.25rem 1.5rem;    border-radius: var(--border-radius);    margin: 1rem 0;    border-left: 4px solid var(--status-non-compliant);}.error-alert {    display: flex;    align-items: flex-start;    gap: 1rem;    background-color: #fef2f2;    color: #b91c1c;    border: 1px solid #fecaca;    border-left: 5px solid #ef4444;    border-radius: var(--border-radius);    padding: 1.5rem;    margin-top: 1.5rem;}.error-alert.hidden {    display: none;}.error-icon {    flex-shrink: 0;    color: #ef4444;}.error-icon i {    width: 24px;    height: 24px;}.error-content h4 {    margin: 0 0 0.5rem 0;    font-size: 1rem;    font-weight: 600;}.error-content p {    margin: 0;    font-size: 0.875rem;    line-height: 1.5;}footer {     text-align: center;     margin-top: 4rem;     padding: 2rem;    color: var(--text-muted);    font-size: 0.9rem;}/* --- Chart Container --- */.chart-container {    position: relative;    width: 100%;    max-height: 400px;    margin-bottom: 2rem;}/* --- Show All Button --- */.show-all-btn {    display: flex;    align-items: center;    gap: 0.625rem;    padding: 0.75rem 1.5rem;    font-size: 0.925rem;    font-weight: 600;    color: var(--primary);    background-color: rgba(79, 70, 229, 0.05);    border: 1px solid rgba(79, 70, 229, 0.2);    border-radius: 0.5rem;    cursor: pointer;    margin-bottom: 1.5rem;    transition: all var(--transition-speed);}.show-all-btn:hover {    background-color: rgba(79, 70, 229, 0.1);    transform: translateY(-2px);    box-shadow: 0 4px 8px rgba(79, 70, 229, 0.15);}/* --- Review Screen Styles --- */.section-subheader {    font-size: 0.925rem;    color: var(--text-muted);    margin-top: -0.75rem;    margin-bottom: 1.5rem;    max-width: 60ch;    line-height: 1.6;}.review-container {    display: flex;    flex-direction: column;    gap: 0.875rem;    max-height: 400px;    overflow-y: auto;    border: 1px solid var(--border);    border-radius: var(--border-radius);    padding: 1rem;    background-color: #f8fafc;}/* Custom Scrollbar */.review-container::-webkit-scrollbar {    width: 8px;}.review-container::-webkit-scrollbar-track {    background: transparent;}.review-container::-webkit-scrollbar-thumb {    background-color: var(--border);    border-radius: 10px;}.review-container::-webkit-scrollbar-thumb:hover {    background-color: #94a3b8;}.review-item {    display: flex;    align-items: flex-start;    gap: 0.875rem;    padding: 0.5rem;    border-left: 4px solid var(--source-color, var(--border));    padding-left: 1rem;    transition: all var(--transition-speed);}.review-item:hover {    background-color: rgba(255, 255, 255, 0.7);    border-radius: 0.5rem;}.review-item .rule-id {    font-weight: 600;    color: #64748b;    padding-top: 0.75rem;    flex-shrink: 0;    min-width: 2rem;}.review-item .editable-rule {    flex-grow: 1;    width: 100%;    padding: 0.75rem 1rem;    border-radius: 0.5rem;    border: 1.5px solid #cbd5e1;    font-family: var(--font-body);    font-size: 0.925rem;    resize: vertical;    min-height: 60px;    transition: all var(--transition-speed);    background-color: white;}.review-item .editable-rule:focus {    outline: none;    border-color: var(--primary);    box-shadow: 0 0 0 3px var(--input-focus-ring);    transform: translateY(-1px);}.review-item .delete-btn {    background: none;    border: none;    cursor: pointer;    color: #cbd5e1;    padding: 0.75rem;    border-radius: 50%;    display: flex;    align-items: center;    justify-content: center;    transition: all var(--transition-speed);}.review-item .delete-btn:hover {    color: #ef4444;    background-color: #fee2e2;    transform: rotate(90deg);}.add-rule-button {    margin-top: 1rem;    font-size: 0.925rem;    font-weight: 600;    color: var(--primary);    background: none;    border: none;    cursor: pointer;    display: flex;    align-items: center;    gap: 0.625rem;    padding: 0.75rem;    border-radius: 0.5rem;    transition: all var(--transition-speed);}.add-rule-button:hover {    background-color: rgba(79, 70, 229, 0.05);}/* --- Document Workbench Styles --- */.sources-container {    display: flex;    flex-wrap: wrap;    gap: 0.75rem;    margin-bottom: 1rem;}.source-tag {    display: flex;    align-items: center;    gap: 0.5rem;    font-size: 0.875rem;    padding: 0.375rem 0.875rem;    border-radius: 9999px;    border: 1px solid;    font-weight: 500;    transition: all var(--transition-speed);}.add-source-button {    font-size: 0.875rem;    font-weight: 600;    color: var(--primary);    background: none;    border: none;    cursor: pointer;    display: flex;    align-items: center;    gap: 0.5rem;    padding: 0.375rem 0.75rem;    border-radius: 0.5rem;    transition: all var(--transition-speed);}.add-source-button:hover {    background-color: rgba(79, 70, 229, 0.05);}.review-item-meta {    position: absolute;    left: 0;    top: 0.75rem;    display: flex;    align-items: center;    gap: 0.5rem;}.rule-source-tag {    font-size: 0.75rem;    font-weight: 600;    padding: 0.2rem 0.5rem;    border-radius: 4px;    color: white;}/* --- Tabbed Workbench Styles --- */.tab-bar {    display: flex;    flex-wrap: wrap;    gap: 0.5rem;    border-bottom: 2px solid var(--border);    margin-bottom: 1.5rem;}.tab-item {    display: flex;    align-items: center;    gap: 0.625rem;    padding: 0.875rem 1.5rem;    font-size: 0.925rem;    font-weight: 600;    color: var(--text-muted);    border: none;    background: none;    cursor: pointer;    border-bottom: 2px solid transparent;    margin-bottom: -2px;    transition: all var(--transition-speed);    border-radius: 0.5rem 0.5rem 0 0;}.tab-item:hover {    color: var(--card-fg);    background-color: rgba(79, 70, 229, 0.05);}.tab-item.active {    color: var(--primary);    border-bottom-color: var(--primary);    background-color: transparent;}.delete-source-btn {    display: flex;    align-items: center;    justify-content: center;    width: 18px;    height: 18px;    border-radius: 50%;    color: #cbd5e1;    transition: all var(--transition-speed);}.delete-source-btn:hover {    color: #ffffff;    background-color: #ef4444;    transform: scale(1.1);}.delete-source-btn svg {    width: 14px;    height: 14px;}/* --- Button Group in Results Header --- */.button-group {    display: flex;    gap: 0.75rem;    flex-wrap: wrap;}.button-group button {    font-size: 0.875rem;    padding: 0.75rem 1.25rem;}/* --- Terms Modal Styles --- */.terms-overlay {    position: fixed;    top: 0;    left: 0;    right: 0;    bottom: 0;    background-color: rgba(15, 23, 42, 0.7);    display: flex;    align-items: center;    justify-content: center;    z-index: 9999;    backdrop-filter: blur(8px);    -webkit-backdrop-filter: blur(8px);    animation: fadeIn 0.3s ease-out;}.terms-modal {    background-color: var(--card-bg);    padding: 2.5rem;    border-radius: var(--border-radius);    box-shadow: var(--shadow-xl);    width: 90%;    max-width: 800px;    display: flex;    flex-direction: column;    gap: 1.5rem;}.terms-modal h2 {    margin: 0;    font-family: var(--font-headline);    font-size: 1.75rem;    color: var(--card-fg);    letter-spacing: -0.02em;}.terms-content {    max-height: 60vh;    overflow-y: auto;    padding-right: 1.5rem;    font-family: var(--font-body);    font-size: 1rem;    line-height: 1.7;    color: var(--text-muted);}.terms-content::-webkit-scrollbar {    width: 8px;}.terms-content::-webkit-scrollbar-track {    background: transparent;}.terms-content::-webkit-scrollbar-thumb {    background-color: var(--border);    border-radius: 10px;    border: 2px solid var(--card-bg);}.terms-content::-webkit-scrollbar-thumb:hover {    background-color: #a0aec0;}.terms-content h4 {    font-family: var(--font-headline);    color: var(--card-fg);    font-weight: 600;    margin-top: 2rem;    margin-bottom: 0.5rem;}.terms-content ul {    padding-left: 1.25rem;    list-style: none;}.terms-content li {    margin-bottom: 1rem;    padding-left: 1.25rem;    position: relative;}.terms-content li::before {    content: '"';    color: var(--primary);    font-weight: bold;    display: inline-block;    position: absolute;    left: 0;    font-size: 1.2em;}.terms-content p > strong {    color: var(--card-fg);    font-weight: 600;}.terms-actions {    display: flex;    justify-content: flex-end;    gap: 1rem;    padding-top: 1rem;    border-top: 1px solid var(--border);}.terms-actions button {    font-family: var(--font-body);    font-weight: 600;    font-size: 0.95rem;    padding: 0.75rem 1.5rem;    border-radius: 0.5rem;    border: 1px solid transparent;    cursor: pointer;    transition: all var(--transition-speed);}.terms-actions button:focus-visible {    outline: 2px solid var(--primary);    outline-offset: 2px;}#terms-agree {    background-color: var(--primary);    color: var(--primary-fg);}#terms-agree:hover {    background-color: var(--primary-hover);    transform: translateY(-2px);    box-shadow: 0 4px 12px rgba(0, 82, 204, 0.2);}.secondary-btn {    background-color: transparent;    color: var(--text-muted);    border-color: var(--border);}.secondary-btn:hover {    background-color: rgba(79, 70, 229, 0.05);    border-color: #cbd5e1;    color: var(--card-fg);}/* --- Modal Overlay Styles --- */.modal-overlay {    position: fixed;    top: 0;    left: 0;    right: 0;    bottom: 0;    background-color: rgba(15, 23, 42, 0.6);    display: flex;    align-items: center;    justify-content: center;    z-index: 1000;    backdrop-filter: blur(4px);}.modal-overlay.hidden {    display: none;}.modal-content {    background-color: var(--card-bg);    padding: 2rem;    border-radius: var(--border-radius);    box-shadow: var(--shadow-xl);    width: 90%;    max-width: 600px;    position: relative;    animation: fadeIn 0.3s ease-out;}.modal-close-btn {    position: absolute;    top: 1rem;    right: 1rem;    background: none;    border: none;    cursor: pointer;    color: #94a3b8;    padding: 0.5rem;    border-radius: 50%;    display: flex;    align-items: center;    justify-content: center;    transition: all var(--transition-speed);}.modal-close-btn:hover {    color: var(--card-fg);    background-color: rgba(79, 70, 229, 0.1);}.add-tab-btn {    padding: 0.5rem;    width: 36px;    height: 36px;    border-radius: 0.5rem;    display: flex;    align-items: center;    justify-content: center;    margin-left: 0.5rem;    margin-bottom: 4px;    background: none;    color: var(--primary);    transition: all var(--transition-speed);}.add-tab-btn:hover {    background-color: rgba(79, 70, 229, 0.1);    transform: scale(1.05);}/* --- Cascading Dropdown Wrapper --- */.cascading-dropdown-wrapper {    display: flex;    flex-direction: column;    gap: 1rem;}/* --- Empty State Styling --- */.empty-state {    text-align: center;    color: var(--text-muted);    padding: 2rem;    font-style: italic;}/* --- Responsive Design Improvements --- */@media (max-width: 768px) {    .container {        padding: 0 1rem;        margin: 1.5rem auto;    }        header {        flex-direction: column;        text-align: center;        gap: 1rem;    }        .header-text h1 {        font-size: 2rem;    }        .summary-grid {        grid-template-columns: 1fr;    }        .context-grid {        grid-template-columns: 1fr;    }        .button-group {        flex-direction: column;    }        .button-group button {        width: 100%;    }        .results-header {        flex-direction: column;        align-items: flex-start;        gap: 1rem;    }        .tab-bar {        overflow-x: auto;        flex-wrap: nowrap;    }}.review-grid {    display: grid;    grid-template-columns: 1fr 2fr 1.5fr;    gap: 20px;    padding: 20px;    border: 1px solid #e5e7eb;    background: white;    border-radius: 10px;    margin-bottom: 20px;}.col-title {    font-weight: 700;    margin-bottom: 8px;}.col-text {    font-size: 14px;    line-height: 1.4;}.evidence-box {    width: 100%;    height: 120px;    resize: vertical;    padding: 10px;    border: 1px solid #d1d5db;    border-radius: 6px;    background: #f9fafb;}/* --- Review Tabs Patch (Multi-file Tab Bar) --- */.review-tabs {    display: flex;    border-bottom: 1px solid #ddd;    margin-bottom: 1rem;    padding-bottom: 0.3rem;    gap: 0.3rem;}.review-tab {    padding: 0.5rem 1rem;    background: #f3f3f3;    border-radius: 6px 6px 0 0;    cursor: pointer;    font-size: 0.9rem;}.review-tab.active {    background: #ffffff;    border-bottom: 2px solid white;    font-weight: 600;}.review-tab.plus {    font-weight: bold;    background: #e8e8e8;}