.rptc-calculators {
    --rptc-ink: #171717;
    --rptc-muted: #5f6368;
    --rptc-accent: #b31b1b;
    --rptc-line: #d8d8d8;
    display: grid;
    gap: 1.5rem;
    margin: 2rem 0;
}

.rptc-calculator-card {
    border: 1px solid var(--rptc-line);
    border-radius: 8px;
    padding: clamp(1rem, 3vw, 2rem);
    color: var(--rptc-ink);
    background: #fff;
}

.rptc-field-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
    margin: 1.25rem 0;
}

.rptc-field-grid label {
    display: grid;
    gap: .4rem;
    font-weight: 650;
}

.rptc-field-grid input,
.rptc-field-grid select {
    width: 100%;
    min-height: 44px;
    border: 1px solid #777;
    border-radius: 4px;
    padding: .6rem .7rem;
    font: inherit;
}

.rptc-button {
    min-height: 44px;
    border: 0;
    border-radius: 4px;
    padding: .7rem 1.1rem;
    background: var(--rptc-accent);
    color: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.rptc-button:hover,
.rptc-button:focus-visible {
    filter: brightness(.88);
}

.rptc-result {
    margin-top: 1.25rem;
}

.rptc-primary-result {
    font-size: 1.15rem;
}

.rptc-error {
    color: #8b0000;
    font-weight: 650;
}

.rptc-table-wrap {
    max-width: 100%;
    overflow-x: auto;
}

.rptc-table-wrap table {
    width: 100%;
    border-collapse: collapse;
}

.rptc-table-wrap caption {
    padding: .65rem 0;
    text-align: left;
    font-weight: 700;
}

.rptc-table-wrap th,
.rptc-table-wrap td {
    border: 1px solid var(--rptc-line);
    padding: .55rem .7rem;
    text-align: left;
}

.rptc-table-wrap tbody tr:nth-child(even) {
    background: #f6f6f6;
}

.rptc-disclaimer {
    margin: 0;
    color: var(--rptc-muted);
    font-size: .9rem;
}

