.nmt-calculator-section {
    background: linear-gradient(180deg, #f8f9f6 0%, #ffffff 100%);
    color: #2f2a1f;
}

.nmt-calculator-shell {
    border: 1px solid rgba(77, 70, 52, 0.14);
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(31, 29, 24, 0.1);
}

.nmt-calculator-head {
    display: grid;
    gap: 0.55rem;
    padding: clamp(1.35rem, 3vw, 2.25rem);
    border-bottom: 1px solid rgba(77, 70, 52, 0.12);
    background:
        linear-gradient(135deg, rgba(77, 70, 52, 0.95), rgba(45, 58, 72, 0.92)),
        url("../pic/main_wallpaper22.webp") center/cover;
    background-blend-mode: multiply;
    color: #ffffff;
}

.nmt-calculator-kicker {
    margin: 0;
    color: #f39200;
    font-family: 'UAFSans SemiBold', sans-serif;
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.nmt-calculator-head h2 {
    margin: 0;
    color: #ffffff;
}

.nmt-calculator-head p {
    max-width: 780px;
    margin: 0;
    color: rgba(255, 255, 255, 0.84);
    font-family: 'UAFSans Regular', sans-serif;
}

.nmt-calculator-head a {
    color: #ffd48a;
    font-family: 'UAFSans SemiBold', sans-serif;
}

.nmt-calculator-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(340px, 1.05fr);
    gap: clamp(1rem, 2vw, 1.4rem);
    padding: clamp(1rem, 2.8vw, 1.75rem);
}

.nmt-calculator-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    gap: 0.9rem;
}

.nmt-form-row {
    display: grid;
    gap: 0.35rem;
}

.nmt-form-row--wide,
.nmt-actions {
    grid-column: 1 / -1;
}

.nmt-form-row label {
    color: #4d4634;
    font-family: 'UAFSans SemiBold', sans-serif;
    font-size: 0.82rem;
}

.nmt-form-row input,
.nmt-form-row select {
    width: 100%;
    min-height: 46px;
    border: 1px solid rgba(77, 70, 52, 0.22);
    border-radius: 0;
    background: #fbfbf8;
    color: #25231d;
    font-family: 'UAFSans Regular', sans-serif;
    font-size: 1rem;
    padding: 0.6rem 0.75rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.nmt-form-row input:focus,
.nmt-form-row select:focus {
    border-color: rgba(243, 146, 0, 0.82);
    box-shadow: 0 0 0 0.2rem rgba(243, 146, 0, 0.16);
    background: #ffffff;
    outline: none;
}

.nmt-form-row input.is-invalid {
    border-color: #9b1c31;
    background: #fff7f7;
}

.nmt-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 0.25rem;
}

.nmt-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 44px;
    border: 1px solid rgba(77, 70, 52, 0.26);
    border-radius: 0;
    background: #ffffff;
    color: #4d4634;
    font-family: 'UAFSans SemiBold', sans-serif;
    font-size: 0.92rem;
    padding: 0.58rem 0.95rem;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.nmt-action:hover,
.nmt-action:focus-visible {
    border-color: #4d4634;
    background: #f7f4eb;
    color: #2f2a1f;
}

.nmt-action--primary {
    border-color: #f39200;
    background: #f39200;
    color: #231f18;
}

.nmt-action--primary:hover,
.nmt-action--primary:focus-visible {
    border-color: #d97f00;
    background: #ffac31;
    color: #231f18;
}

.nmt-results-panel {
    display: grid;
    align-content: start;
    gap: 0.9rem;
}

.nmt-results-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.nmt-results-summary > div {
    min-height: 92px;
    display: grid;
    align-content: center;
    gap: 0.25rem;
    border: 1px solid rgba(77, 70, 52, 0.14);
    background: #f8f9f6;
    padding: 1rem;
}

.nmt-results-summary span {
    color: #172f45;
    font-family: 'UAFSans Bold', sans-serif;
    font-size: clamp(1.7rem, 4vw, 2.35rem);
    line-height: 1;
}

.nmt-results-summary small {
    color: #69685c;
    font-family: 'UAFSans Regular', sans-serif;
}

.nmt-results-list {
    display: grid;
    gap: 0.65rem;
    max-height: 620px;
    overflow: auto;
    padding-right: 0.2rem;
}

.nmt-empty-state,
.nmt-result {
    border: 1px solid rgba(77, 70, 52, 0.14);
    background: #ffffff;
    padding: 0.9rem 1rem;
}

.nmt-empty-state {
    color: #69685c;
    font-family: 'UAFSans Regular', sans-serif;
}

.nmt-result {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: start;
    border-left: 4px solid #9b1c31;
}

.nmt-result.is-passed {
    border-left-color: #2f6f4e;
    background: linear-gradient(90deg, rgba(47, 111, 78, 0.08), #ffffff 34%);
}

.nmt-result h3 {
    margin: 0 0 0.2rem;
    color: #2f2a1f;
    font-family: 'UAFSans SemiBold', sans-serif;
    font-size: 1rem;
}

.nmt-result p {
    margin: 0;
    color: #69685c;
    font-family: 'UAFSans Regular', sans-serif;
    font-size: 0.86rem;
}

.nmt-result a {
    color: inherit;
    text-decoration: none;
}

.nmt-result a:hover {
    color: #172f45;
    text-decoration: underline;
}

.nmt-result-score {
    display: grid;
    justify-items: end;
    gap: 0.35rem;
    min-width: 86px;
}

.nmt-result-score strong {
    color: #172f45;
    font-family: 'UAFSans Bold', sans-serif;
    font-size: 1.28rem;
    line-height: 1;
}

.nmt-result-score span,
.nmt-result-badge {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    border: 1px solid rgba(77, 70, 52, 0.16);
    background: #f8f9f6;
    color: #4d4634;
    font-family: 'UAFSans SemiBold', sans-serif;
    font-size: 0.72rem;
    padding: 0.2rem 0.45rem;
}

.nmt-result.is-passed .nmt-result-score span {
    border-color: rgba(47, 111, 78, 0.28);
    background: rgba(47, 111, 78, 0.1);
    color: #24543c;
}

.nmt-result-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.55rem;
}

.nmt-result-badge--warning {
    border-color: rgba(243, 146, 0, 0.36);
    background: rgba(243, 146, 0, 0.12);
    color: #7a4d00;
}

.nmt-result-badge--muted {
    color: #5c5e66;
}

.nmt-calculator-note {
    margin: 0;
    color: #69685c;
    font-family: 'UAFSans Regular', sans-serif;
    font-size: 0.86rem;
}

@media (max-width: 991.98px) {
    .nmt-calculator-grid {
        grid-template-columns: 1fr;
    }

    .nmt-results-list {
        max-height: none;
    }
}

@media (max-width: 575.98px) {
    .nmt-calculator-form,
    .nmt-results-summary {
        grid-template-columns: 1fr;
    }

    .nmt-result {
        grid-template-columns: 1fr;
    }

    .nmt-result-score {
        justify-items: start;
        min-width: 0;
    }
}

