.foundenza-calculator {
    --fz-primary: #0B1F3A;
    --fz-blue: #2563EB;
    --fz-accent: #1D4ED8;
    --fz-background: #F8FAFC;
    --fz-surface: #FFFFFF;
    --fz-border: #E2E8F0;
    --fz-text: #334155;
    --fz-muted: #64748B;
    --fz-success: #22C55E;
    --fz-warning: #F59E0B;
    --fz-error: #EF4444;
    --fz-radius: 12px;
    --fz-field-height: 48px;
    width: 100%;
    color: var(--fz-text);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.6;
}


.foundenza-calculator,
.foundenza-calculator * {
    box-sizing: border-box;
}

.foundenza-calculator .fz-header {
    margin-bottom: 24px;
}

.foundenza-calculator .fz-header h2 {
    margin: 4px 0 8px;
    color: var(--fz-primary);
    font-size: clamp(1.6rem, 5vw, 2.25rem);
    line-height: 1.2;
}

.foundenza-calculator .fz-header p,
.foundenza-calculator .fz-section-copy {
    margin: 0;
    color: var(--fz-muted);
}

.foundenza-calculator .fz-eyebrow {
    margin: 0;
    color: var(--fz-blue);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.foundenza-calculator .fz-form,
.foundenza-calculator .fz-results {
    padding: 20px;
    border: 1px solid var(--fz-border);
    border-radius: var(--fz-radius);
    background: var(--fz-surface);
}

.foundenza-calculator .fz-fieldset {
    min-width: 0;
    margin: 0 0 22px;
    padding: 0;
    border: 0;
}

.foundenza-calculator .fz-fieldset legend,
.foundenza-calculator .fz-field > label {
    display: block;
    margin-bottom: 7px;
    color: var(--fz-primary);
    font-size: 0.9rem;
    font-weight: 700;
}

.foundenza-calculator .fz-unit-switch {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    max-width: 430px;
    padding: 5px;
    border: 1px solid var(--fz-border);
    border-radius: 10px;
    background: var(--fz-background);
}

.foundenza-calculator .fz-unit-switch label {
    cursor: pointer;
}

.foundenza-calculator .fz-unit-switch input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

.foundenza-calculator .fz-unit-switch span {
    display: flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
    border: 2px solid transparent;
    border-radius: 8px;
    color: var(--fz-muted);
    font-size: 0.9rem;
    font-weight: 700;
    text-align: center;
}

.foundenza-calculator .fz-unit-switch input:checked + span {
    border-color: var(--fz-blue);
    background: var(--fz-surface);
    color: var(--fz-blue);
}

.foundenza-calculator .fz-unit-switch input:focus-visible + span {
    outline: 3px solid rgba(37, 99, 235, 0.25);
    outline-offset: 2px;
}

.foundenza-calculator .fz-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}

.foundenza-calculator .fz-field {
    min-width: 0;
}

.foundenza-calculator .fz-field input,
.foundenza-calculator .fz-field select {
    min-width: 0;
    height: var(--fz-field-height);
    border: 1px solid #CBD5E1;
    background: var(--fz-surface);
    color: var(--fz-primary);
    font: inherit;
    font-size: 16px;
}

.foundenza-calculator .fz-field > input {
    width: 100%;
    padding: 0 14px;
    border-radius: 9px;
}

.foundenza-calculator .fz-input-group {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 88px;
}

.foundenza-calculator .fz-input-group input {
    width: 100%;
    padding: 0 14px;
    border-radius: 9px 0 0 9px;
}

.foundenza-calculator .fz-input-group select,
.foundenza-calculator .fz-input-group > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0 10px;
    border: 1px solid #CBD5E1;
    border-left: 0;
    border-radius: 0 9px 9px 0;
    background: var(--fz-background);
    color: var(--fz-primary);
    font-weight: 700;
}

.foundenza-calculator .fz-input-group--suffix {
    grid-template-columns: minmax(0, 1fr) 56px;
}

.foundenza-calculator .fz-field input:focus,
.foundenza-calculator .fz-field select:focus {
    z-index: 1;
    border-color: var(--fz-blue);
    outline: 3px solid rgba(37, 99, 235, 0.18);
}

.foundenza-calculator .fz-field input[aria-invalid="true"],
.foundenza-calculator .fz-field select[aria-invalid="true"] {
    border-color: var(--fz-error);
}

.foundenza-calculator .fz-field small {
    display: block;
    margin-top: 6px;
    color: var(--fz-muted);
    font-size: 0.78rem;
    line-height: 1.45;
}

.foundenza-calculator .fz-errors {
    margin-top: 20px;
    padding: 13px 15px;
    border: 1px solid #FCA5A5;
    border-left: 4px solid var(--fz-error);
    border-radius: 8px;
    background: #FEF2F2;
    color: #991B1B;
    font-size: 0.9rem;
}

.foundenza-calculator .fz-errors ul {
    margin: 6px 0 0;
    padding-left: 20px;
}

.foundenza-calculator .fz-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 24px;
}

.foundenza-calculator .fz-button {
    min-height: 48px;
    padding: 11px 16px;
    border: 1px solid transparent;
    border-radius: 9px;
    cursor: pointer;
    font: inherit;
    font-size: 0.9rem;
    font-weight: 700;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.1s ease;
}

.foundenza-calculator .fz-button:active:not(:disabled) {
    transform: translateY(1px);
}

.foundenza-calculator .fz-button:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.28);
    outline-offset: 2px;
}

.foundenza-calculator .fz-button--primary {
    border-color: var(--fz-blue);
    background: var(--fz-blue);
    color: #FFFFFF;
}

.foundenza-calculator .fz-button--primary:hover {
    border-color: var(--fz-accent);
    background: var(--fz-accent);
}

.foundenza-calculator .fz-button--secondary {
    border-color: var(--fz-blue);
    background: #FFFFFF;
    color: var(--fz-blue);
}

.foundenza-calculator .fz-button--secondary:hover:not(:disabled) {
    background: #EFF6FF;
}

.foundenza-calculator .fz-button--ghost {
    border-color: var(--fz-border);
    background: var(--fz-background);
    color: var(--fz-text);
}

.foundenza-calculator .fz-button:disabled {
    cursor: not-allowed;
    opacity: 0.5;
}

.foundenza-calculator .fz-pdf-note {
    margin: 10px 0 0;
    color: var(--fz-muted);
    font-size: 0.78rem;
    text-align: center;
}

.foundenza-calculator .fz-stale-notice {
    margin-top: 16px;
    padding: 12px 15px;
    border: 1px solid #FCD34D;
    border-radius: 9px;
    background: #FFFBEB;
    color: #92400E;
    font-size: 0.9rem;
    font-weight: 600;
}

.foundenza-calculator .fz-results {
    margin-top: 22px;
}

.foundenza-calculator .fz-result-heading {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--fz-border);
}

.foundenza-calculator .fz-result-heading h3 {
    margin: 4px 0 0;
    color: var(--fz-primary);
    font-size: clamp(1.6rem, 6vw, 2.35rem);
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.foundenza-calculator .fz-status {
    align-self: flex-start;
    padding: 5px 10px;
    border-radius: 999px;
    background: #DCFCE7;
    color: #166534;
    font-size: 0.75rem;
    font-weight: 700;
}

.foundenza-calculator .fz-summary-grid,
.foundenza-calculator .fz-info-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

.foundenza-calculator .fz-summary-card,
.foundenza-calculator .fz-info-card {
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--fz-border);
    border-radius: 10px;
    background: var(--fz-background);
}

.foundenza-calculator .fz-summary-card span,
.foundenza-calculator .fz-summary-card small {
    display: block;
    color: var(--fz-muted);
}

.foundenza-calculator .fz-summary-card strong {
    display: block;
    margin: 5px 0;
    color: var(--fz-primary);
    font-size: 1.25rem;
    overflow-wrap: anywhere;
}

.foundenza-calculator .fz-result-section {
    margin-top: 24px;
}

.foundenza-calculator .fz-result-section h3,
.foundenza-calculator .fz-info-card h3 {
    margin: 0 0 10px;
    color: var(--fz-primary);
    font-size: 1.08rem;
}

.foundenza-calculator .fz-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid var(--fz-border);
    border-radius: 9px;
}

.foundenza-calculator .fz-table-wrap table {
    width: 100%;
    min-width: 520px;
    border-collapse: collapse;
    background: #FFFFFF;
}

.foundenza-calculator .fz-table-wrap th,
.foundenza-calculator .fz-table-wrap td {
    padding: 11px 13px;
    border-bottom: 1px solid var(--fz-border);
    text-align: left;
    overflow-wrap: anywhere;
}

.foundenza-calculator .fz-table-wrap thead th {
    background: var(--fz-background);
    color: var(--fz-primary);
    font-size: 0.8rem;
}

.foundenza-calculator .fz-table-wrap tbody th {
    color: var(--fz-primary);
    font-size: 0.85rem;
}

.foundenza-calculator .fz-table-wrap tbody tr:last-child th,
.foundenza-calculator .fz-table-wrap tbody tr:last-child td {
    border-bottom: 0;
}

.foundenza-calculator .fz-breakdown {
    display: grid;
    grid-template-columns: 1fr;
    margin: 0;
    border: 1px solid var(--fz-border);
    border-radius: 9px;
    overflow: hidden;
}

.foundenza-calculator .fz-breakdown div {
    display: grid;
    grid-template-columns: minmax(115px, 0.8fr) minmax(0, 1.2fr);
    gap: 12px;
    padding: 11px 13px;
    border-bottom: 1px solid var(--fz-border);
}

.foundenza-calculator .fz-breakdown div:last-child {
    border-bottom: 0;
}

.foundenza-calculator .fz-breakdown dt {
    color: var(--fz-muted);
    font-weight: 600;
}

.foundenza-calculator .fz-breakdown dd {
    margin: 0;
    color: var(--fz-primary);
    font-weight: 700;
    overflow-wrap: anywhere;
}

.foundenza-calculator .fz-info-grid {
    margin-top: 24px;
}

.foundenza-calculator .fz-info-card p {
    margin: 0;
}

.foundenza-calculator .fz-disclaimer {
    margin-top: 18px;
    padding: 14px 16px;
    border-left: 4px solid var(--fz-warning);
    border-radius: 8px;
    background: #FFFBEB;
    color: #78350F;
    font-size: 0.85rem;
}

@media (min-width: 640px) {
    .foundenza-calculator .fz-form,
    .foundenza-calculator .fz-results {
        padding: 26px;
    }

    .foundenza-calculator .fz-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .foundenza-calculator .fz-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .foundenza-calculator .fz-result-heading {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .foundenza-calculator .fz-summary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .foundenza-calculator .fz-info-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 900px) {
    .foundenza-calculator .fz-actions {
        grid-template-columns: 1.35fr 1fr 1fr 0.75fr;
    }
}
/* Shared Foundenza calculator panel layout */
.foundenza-calculator { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; align-items:start; }
.foundenza-calculator .fz-form { position:relative; min-width:0; margin:0; padding:64px 20px 20px !important; }
.foundenza-calculator .fz-results { position:relative; min-width:0; margin:0; padding:76px 20px 20px !important; }
.foundenza-calculator .fz-panel-header { position:absolute; inset:0 0 auto; display:flex; min-height:49px; align-items:center; justify-content:space-between; gap:12px; padding:8px 14px 8px 18px; border-bottom:1px solid var(--fz-border); }
.foundenza-calculator .fz-panel-header h2 { margin:0; color:var(--fz-primary); font-size:1.05rem; font-weight:800; }
.foundenza-calculator .fz-panel-action { min-height:32px; padding:5px 10px; border:1px solid var(--fz-border); border-radius:6px; background:#fff; color:var(--fz-blue); cursor:pointer; font:inherit; font-size:.75rem; font-weight:700; }
.foundenza-calculator .fz-panel-action--reset { border-color:#FCA5A5; color:#DC2626; }
.foundenza-calculator .fz-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
.foundenza-calculator .fz-field > small { display:none; }
.foundenza-calculator .fz-unit-switch { max-width:none; }
.foundenza-calculator .fz-actions { grid-template-columns:minmax(0,1fr); margin-top:18px; }
.foundenza-calculator .fz-button--primary { background:#16A34A; border-color:#16A34A; }
.foundenza-calculator .fz-button--primary:hover { background:#15803D; border-color:#15803D; }
.foundenza-calculator .fz-results[hidden] { display:block; }
.foundenza-calculator .fz-result-heading { position:relative !important; min-height:66px; margin:0 0 18px !important; padding:0 0 14px !important; }
.foundenza-calculator .fz-result-heading h3 { position:static !important; margin:6px 0 0 !important; line-height:1.2 !important; }
.foundenza-calculator .fz-summary-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:0; border-top:1px solid var(--fz-border); }
.foundenza-calculator .fz-summary-card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; min-height:68px; padding:11px 8px; border:0; border-bottom:1px solid var(--fz-border); border-radius:0; background:#fff; }
.foundenza-calculator .fz-summary-card span,
.foundenza-calculator .fz-summary-card small { grid-column:1; }
.foundenza-calculator .fz-summary-card strong { grid-column:2; grid-row:1 / span 2; margin:0 0 0 14px; color:var(--fz-blue); font-size:1.15rem; text-align:right; }
.foundenza-calculator .fz-result-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:16px; }
.foundenza-calculator .fz-result-actions .fz-button { min-height:40px; padding:8px 10px; font-size:.78rem; }
.foundenza-calculator .fz-pdf-note { display:none; }

@media (min-width:900px) {
    .foundenza-calculator { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
    .foundenza-calculator > .fz-form { grid-column:1; }
    .foundenza-calculator > .fz-results { grid-column:2; }
    .foundenza-calculator > .fz-stale-notice { grid-column:1 / -1; }
}

@media (max-width:520px) {
    .foundenza-calculator .fz-form { padding:62px 14px 16px; }
    .foundenza-calculator .fz-results { padding:74px 14px 16px !important; }
    .foundenza-calculator .fz-result-actions { grid-template-columns:minmax(0,1fr); }
}