        /* ===== LOCAL CSS VARIABLES (not in styles-v2.css) ===== */
        :root {
            --color-cta:           #F97316;
            --color-cta-hover:     #EA580C;
            --color-success:       #16A34A;
            --color-success-bg:    #DCFCE7;
            --color-border-light:  #F1F5F9;
        }
        [data-theme="dark"] {
            --color-cta:           #FB923C;
            --color-cta-hover:     #F97316;
            --color-success:       #4ADE80;
            --color-success-bg:    rgba(22,163,74,0.08);
            --color-border-light:  #1E293B;
        }

        /* ===== VA DISABILITY CALCULATOR STYLES ===== */
        .calc-hero {
            background: var(--color-primary);
            color: #fff;
            padding: 2.5rem 1.5rem 2rem;
            text-align: center;
        }
        .calc-hero h1 {
            font-size: clamp(1.5rem, 4vw, 2.25rem);
            margin: 0 0 0.5rem;
            font-weight: 800;
        }
        .calc-hero p {
            opacity: 0.85;
            max-width: 600px;
            margin: 0 auto 1.25rem;
            font-size: 1rem;
            line-height: 1.6;
        }

        /* The "VA doesn't add ratings" callout */
        .hero-callout {
            display: inline-block;
            background: rgba(249,115,22,0.15);
            border: 1px solid rgba(249,115,22,0.4);
            border-radius: 10px;
            padding: 0.75rem 1.25rem;
            font-size: 0.9rem;
            line-height: 1.5;
            max-width: 560px;
            text-align: left;
        }
        .hero-callout strong {
            color: #FB923C;
            display: block;
            margin-bottom: 0.2rem;
            font-size: 0.95rem;
        }

        /* Main wrapper — single-column on mobile, two-col on desktop */
        .calc-wrapper {
            max-width: 960px;
            margin: 2rem auto;
            padding: 0 1.25rem 5rem;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.5rem;
            align-items: start;
        }

        /* ===== INPUT PANEL ===== */
        .calc-inputs {
            background: var(--color-card);
            border: 1px solid var(--color-border);
            border-radius: 14px;
            padding: 1.75rem;
        }
        .calc-inputs h2 {
            font-size: 1rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.06em;
            color: var(--color-text-light);
            margin: 0 0 1.25rem;
        }

        .section-divider {
            border: none;
            border-top: 1px solid var(--color-border);
            margin: 1.25rem 0;
        }
        .section-label {
            font-size: 0.78rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.07em;
            color: var(--color-text-light);
            margin: 0 0 0.85rem;
        }

        /* Conditions list */
        .conditions-list {
            display: flex;
            flex-direction: column;
            gap: 0.65rem;
            margin-bottom: 0.85rem;
        }

        .condition-row {
            display: grid;
            grid-template-columns: 1fr auto auto auto;
            gap: 0.5rem;
            align-items: center;
        }

        .condition-row input[type="text"] {
            width: 100%;
            font-size: 0.875rem;
            font-family: inherit;
            color: var(--color-text);
            background: var(--color-bg);
            border: 1px solid var(--color-border);
            border-radius: 8px;
            padding: 0.5rem 0.65rem;
            outline: none;
            transition: border-color 0.15s;
            min-width: 0; /* allow shrink in grid */
        }
        .condition-row input[type="text"]:focus {
            border-color: var(--color-accent);
        }
        .condition-row input[type="text"]::placeholder {
            color: var(--color-text-light);
            font-style: italic;
        }

        .condition-row select {
            font-size: 0.875rem;
            font-family: inherit;
            color: var(--color-text);
            background: var(--color-bg);
            border: 1px solid var(--color-border);
            border-radius: 8px;
            padding: 0.5rem 0.5rem;
            outline: none;
            transition: border-color 0.15s;
            cursor: pointer;
            width: 72px;
            flex-shrink: 0;
        }
        .condition-row select:focus {
            border-color: var(--color-accent);
        }

        /* Bilateral checkbox cell */
        .bilateral-cell {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 2px;
        }
        .bilateral-cell input[type="checkbox"] {
            width: 16px;
            height: 16px;
            accent-color: var(--color-accent);
            cursor: pointer;
        }
        .bilateral-cell .bilateral-label {
            font-size: 0.62rem;
            color: var(--color-text-light);
            text-align: center;
            line-height: 1.2;
            white-space: nowrap;
        }

        /* Remove row button */
        .btn-remove-row {
            background: none;
            border: none;
            color: var(--color-text-light);
            cursor: pointer;
            font-size: 1.1rem;
            line-height: 1;
            padding: 0.25rem;
            border-radius: 4px;
            transition: color 0.15s, background 0.15s;
            flex-shrink: 0;
        }
        .btn-remove-row:hover {
            color: #DC2626;
            background: rgba(220,38,38,0.08);
        }

        /* Add condition button */
        .btn-add-condition {
            display: flex;
            align-items: center;
            gap: 0.4rem;
            background: none;
            border: 1px dashed var(--color-border);
            border-radius: 8px;
            color: var(--color-accent);
            font-size: 0.875rem;
            font-weight: 600;
            font-family: inherit;
            padding: 0.55rem 0.9rem;
            cursor: pointer;
            transition: border-color 0.15s, background 0.15s;
            width: 100%;
            justify-content: center;
            margin-bottom: 0.75rem;
        }
        .btn-add-condition:hover {
            border-color: var(--color-accent);
            background: rgba(3,105,161,0.04);
        }
        .btn-add-condition:disabled {
            opacity: 0.4;
            cursor: not-allowed;
        }

        /* Dependents section */
        .radio-group {
            display: flex;
            flex-direction: column;
            gap: 0.45rem;
            margin-bottom: 0.85rem;
        }
        .radio-option {
            display: flex;
            align-items: center;
            gap: 0.55rem;
            cursor: pointer;
        }
        .radio-option input[type="radio"] {
            width: 16px;
            height: 16px;
            accent-color: var(--color-accent);
            cursor: pointer;
            flex-shrink: 0;
        }
        .radio-option span {
            font-size: 0.875rem;
            color: var(--color-text);
        }

        /* Aid & Attendance checkbox */
        .checkbox-field {
            display: flex;
            align-items: flex-start;
            gap: 0.6rem;
            margin-bottom: 1.1rem;
            padding: 0.75rem 1rem;
            background: var(--color-success-bg);
            border: 1px solid rgba(22,163,74,0.2);
            border-radius: 8px;
        }
        [data-theme="dark"] .checkbox-field {
            background: rgba(22,163,74,0.08);
            border-color: rgba(74,222,128,0.15);
        }
        .checkbox-field input[type="checkbox"] {
            width: 18px; height: 18px;
            margin-top: 1px;
            flex-shrink: 0;
            accent-color: var(--color-success);
            cursor: pointer;
        }
        .checkbox-field label {
            font-size: 0.875rem;
            font-weight: 600;
            color: var(--color-text);
            cursor: pointer;
            line-height: 1.4;
        }
        .checkbox-field .hint {
            font-size: 0.78rem;
            color: var(--color-text-light);
            font-weight: 400;
            display: block;
            margin-top: 2px;
        }

        /* Calculate button */
        .btn-calculate {
            width: 100%;
            background: var(--color-cta);
            color: #fff;
            border: none;
            border-radius: 10px;
            font-size: 1.05rem;
            font-weight: 700;
            font-family: inherit;
            padding: 0.9rem 1.5rem;
            cursor: pointer;
            transition: background 0.15s, transform 0.1s;
            letter-spacing: 0.01em;
        }
        .btn-calculate:hover {
            background: var(--color-cta-hover);
        }
        .btn-calculate:active {
            transform: scale(0.98);
        }

        /* ===== RESULTS PANEL ===== */
        .calc-results {
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }

        /* Empty state — shown before first calculation */
        .results-empty {
            background: var(--color-card);
            border: 1px solid var(--color-border);
            border-radius: 14px;
            padding: 2.5rem 1.75rem;
            text-align: center;
            color: var(--color-text-light);
        }
        .results-empty .empty-icon {
            font-size: 2.5rem;
            margin-bottom: 0.75rem;
        }
        .results-empty p {
            font-size: 0.95rem;
            line-height: 1.55;
            margin: 0;
        }

        /* Main result — combined rating */
        .result-main {
            background: var(--color-primary);
            color: #fff;
            border-radius: 14px;
            padding: 1.75rem;
            text-align: center;
            display: none; /* shown by JS */
        }
        .result-main__label {
            font-size: 0.78rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            opacity: 0.75;
            margin-bottom: 0.5rem;
        }
        .result-main__rating {
            font-size: 3.5rem;
            font-weight: 800;
            letter-spacing: -0.02em;
            line-height: 1;
        }
        .result-main__sub {
            font-size: 0.85rem;
            opacity: 0.75;
            margin-top: 0.5rem;
            line-height: 1.5;
        }
        .result-main__bilateral-note {
            margin-top: 0.65rem;
            display: inline-block;
            background: rgba(255,255,255,0.12);
            border-radius: 6px;
            padding: 0.3rem 0.75rem;
            font-size: 0.8rem;
            opacity: 0.9;
        }

        /* Compensation cards */
        .result-stats {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0.75rem;
            display: none; /* shown by JS */
        }
        .stat-card {
            background: var(--color-card);
            border: 1px solid var(--color-border);
            border-radius: 10px;
            padding: 1rem;
        }
        .stat-card__label {
            font-size: 0.72rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.06em;
            color: var(--color-text-light);
            margin-bottom: 0.35rem;
        }
        .stat-card__value {
            font-size: 1.35rem;
            font-weight: 800;
            color: var(--color-text);
            letter-spacing: -0.01em;
        }
        .stat-card__sub {
            font-size: 0.75rem;
            color: var(--color-text-light);
            margin-top: 2px;
        }
        .stat-card.accent {
            border-color: var(--color-cta);
        }
        .stat-card.accent .stat-card__value {
            color: var(--color-cta);
        }

        /* Breakdown table */
        .breakdown-panel {
            background: var(--color-card);
            border: 1px solid var(--color-border);
            border-radius: 10px;
            padding: 1rem 1.25rem;
            display: none; /* shown by JS */
        }
        .breakdown-panel__title {
            font-size: 0.78rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.06em;
            color: var(--color-text-light);
            margin-bottom: 0.75rem;
        }
        .breakdown-table {
            width: 100%;
            border-collapse: collapse;
            font-size: 0.825rem;
        }
        .breakdown-table th {
            font-size: 0.72rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: var(--color-text-light);
            font-weight: 700;
            text-align: left;
            padding: 0.3rem 0.5rem;
            border-bottom: 1px solid var(--color-border);
        }
        .breakdown-table td {
            padding: 0.4rem 0.5rem;
            border-bottom: 1px solid var(--color-border-light);
            color: var(--color-text);
            vertical-align: top;
        }
        .breakdown-table tr:last-child td {
            border-bottom: none;
            font-weight: 700;
            font-size: 0.9rem;
            color: var(--color-cta);
        }
        .breakdown-table td:nth-child(2) {
            text-align: center;
            font-weight: 600;
            white-space: nowrap;
        }
        /* VA Math column */
        .breakdown-table .math-col {
            font-size: 0.8rem;
        }
        .breakdown-table .math-col .math-eq {
            color: var(--color-text-light);
            margin: 0 0.15em;
        }
        /* Running Total column */
        .breakdown-table .total-col {
            text-align: right;
            white-space: nowrap;
            font-variant-numeric: tabular-nums;
        }
        @media (max-width: 500px) {
            .breakdown-table .math-col { font-size: 0.72rem; }
        }


        /* Bilateral block subtext in breakdown table */
        .bil-detail {
            font-size: 0.72rem;
            color: var(--color-text-light);
            font-style: normal;
        }
        /* Rate note */
        .rate-note {
            background: var(--color-card);
            border: 1px solid var(--color-border);
            border-left: 4px solid var(--color-cta);
            border-radius: 0 10px 10px 0;
            padding: 0.9rem 1.1rem;
            font-size: 0.85rem;
            color: var(--color-text-light);
            line-height: 1.55;
            display: none; /* shown by JS */
        }
        .rate-note strong {
            color: var(--color-text);
        }

        /* ===== FULL-WIDTH SECTIONS ===== */
        .full-width {
            grid-column: 1 / -1;
        }

        /* "What does this mean?" info cards */
        .info-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1rem;
        }
        .info-card {
            background: var(--color-card);
            border: 1px solid var(--color-border);
            border-radius: 12px;
            padding: 1.25rem;
        }
        .info-card h3 {
            font-size: 0.95rem;
            font-weight: 700;
            margin: 0 0 0.5rem;
            color: var(--color-text);
            display: flex;
            align-items: center;
            gap: 0.4rem;
        }
        .info-card h3 .badge {
            background: var(--color-accent);
            color: #fff;
            font-size: 0.65rem;
            font-weight: 700;
            padding: 0.15rem 0.45rem;
            border-radius: 4px;
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }
        [data-theme="dark"] .info-card h3 .badge {
            background: var(--color-primary-mid);
            color: var(--color-accent);
            border: 1px solid var(--color-accent);
        }
        .info-card p {
            font-size: 0.85rem;
            color: var(--color-text-light);
            line-height: 1.55;
            margin: 0 0 0.6rem;
        }
        .info-card a {
            font-size: 0.82rem;
            color: var(--color-accent);
            text-decoration: none;
            font-weight: 600;
        }
        .info-card a:hover {
            text-decoration: underline;
        }

        /* FAQ accordion */
        .faq-section {
            background: var(--color-card);
            border: 1px solid var(--color-border);
            border-radius: 14px;
            overflow: hidden;
        }
        .faq-section h2 {
            font-size: 1.1rem;
            font-weight: 700;
            margin: 0;
            padding: 1.5rem 1.75rem 0.75rem;
        }
        .faq-item {
            border-top: 1px solid var(--color-border);
        }
        .faq-item:first-of-type {
            border-top: none;
        }
        .faq-question {
            width: 100%;
            background: none;
            border: none;
            text-align: left;
            font-family: inherit;
            font-size: 0.95rem;
            font-weight: 600;
            color: var(--color-text);
            padding: 1rem 1.75rem;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 1rem;
            transition: background 0.15s;
        }
        .faq-question:hover {
            background: var(--color-bg);
        }
        .faq-question .faq-arrow {
            flex-shrink: 0;
            transition: transform 0.2s;
            color: var(--color-text-light);
            font-size: 0.85rem;
        }
        .faq-question[aria-expanded="true"] .faq-arrow {
            transform: rotate(180deg);
        }
        .faq-answer {
            padding: 0 1.75rem 1.1rem;
            font-size: 0.9rem;
            color: var(--color-text-light);
            line-height: 1.65;
            display: none;
        }
        .faq-answer.open {
            display: block;
        }

        /* Disclaimer */
        .calc-disclaimer {
            grid-column: 1 / -1;
            font-size: 0.78rem;
            color: var(--color-text-light);
            line-height: 1.55;
            text-align: center;
            padding-top: 0.5rem;
        }

        /* Section heading used for full-width panels */
        .panel-heading {
            font-size: 1.1rem;
            font-weight: 700;
            margin: 0 0 1rem;
            color: var(--color-text);
        }

        /* ===== RESPONSIVE ===== */
        @media (max-width: 700px) {
            .calc-wrapper {
                grid-template-columns: 1fr;
            }
            .result-stats {
                grid-template-columns: 1fr 1fr;
            }
            .info-grid {
                grid-template-columns: 1fr;
            }
        }
        @media (max-width: 420px) {
            .result-stats {
                grid-template-columns: 1fr;
            }
            .condition-row {
                grid-template-columns: 1fr auto auto auto;
            }
        }
