:root {
    --mv-primary: #073b4b;
    --mv-primary-light: #0d6676;
    --mv-secondary: #15a8b6;
    --mv-action: #e93655;
    --mv-page: #f3f7f9;
    --mv-surface: #ffffff;
    --mv-text: #1d2939;
    --mv-muted: #667085;
    --mv-border: #d6e0e5;
    --mv-success: #18864b;
    --mv-danger: #c62e45;
    --mv-radius: 16px;
    --mv-control-radius: 10px;
    --mv-shadow: 0 18px 46px rgba(7, 59, 75, .13);
}

html {
    min-height: 100%;
    background: var(--mv-page);
}

body.medvex-new-design {
    min-height: 100%;
    height: auto;
    overflow-x: hidden;
    color: var(--mv-text);
    background: var(--mv-page);
    font-family: Tahoma, Arial, sans-serif;
}

body.medvex-new-design[dir="ltr"] {
    direction: ltr;
    text-align: left;
    font-family: Arial, Tahoma, sans-serif;
}

body.medvex-new-design[dir="rtl"] {
    direction: rtl;
    text-align: right;
}

/* The legacy IRANSans utility classes render Latin digits as Persian glyphs.
   Keep their layout behavior, but inherit the new language-safe portal font. */
body.medvex-new-design .FSans,
body.medvex-new-design .FSans-10 {
    font-family: Tahoma, Arial, sans-serif !important;
}

body.medvex-new-design[dir="ltr"] .FSans,
body.medvex-new-design[dir="ltr"] .FSans-10 {
    font-family: Arial, Tahoma, sans-serif !important;
}

.mv-language-switcher {
    position: fixed;
    top: 14px;
    inset-inline-end: 18px;
    z-index: 10020;
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 6px 10px;
    color: var(--mv-primary);
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(7, 59, 75, .14);
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(7, 59, 75, .12);
    backdrop-filter: blur(10px);
}

.mv-platform-brand {
    position: fixed;
    top: 14px;
    inset-inline-start: 18px;
    z-index: 10020;
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    min-height: 42px;
    padding: 8px 14px;
    color: #fff;
    background: linear-gradient(120deg, var(--mv-primary), var(--mv-primary-light));
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(7,59,75,.16);
    text-decoration: none;
}

.mv-platform-brand:hover,
.mv-platform-brand:focus {
    color: #fff;
    text-decoration: none;
}

.mv-platform-name {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .02em;
}

.mv-platform-by {
    color: rgba(255,255,255,.75);
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.mv-language-switcher label {
    margin: 0;
    font-size: .78rem;
    font-weight: 600;
}

.mv-language-switcher select {
    min-width: 118px;
    height: 30px;
    padding: 2px 8px;
    color: var(--mv-text);
    background: var(--mv-surface);
    border: 1px solid var(--mv-border);
    border-radius: 8px;
    font-family: inherit;
    font-size: .78rem;
}

.medvex-new-design .login,
.medvex-new-design .moraje,
.medvex-new-design .dashboard,
.medvex-new-design .answer {
    min-height: 100vh;
    min-height: 100svh;
    height: auto;
    padding-top: 72px !important;
    background-attachment: scroll;
}

.medvex-new-design .login {
    position: relative;
    isolation: isolate;
    background-color: #edf8fa;
    background-image:
        radial-gradient(circle at 12% 18%, rgba(21,168,182,.18) 0 8%, transparent 8.4%),
        radial-gradient(circle at 88% 78%, rgba(7,59,75,.12) 0 14%, transparent 14.4%),
        linear-gradient(135deg, #f8fcfd 0%, #e7f5f7 48%, #d9eef2 100%);
}

.medvex-new-design .moraje,
.medvex-new-design .dashboard,
.medvex-new-design .answer {
    background-color: var(--mv-page);
    background-image:
        radial-gradient(circle at 8% 14%, rgba(21,168,182,.12) 0 7%, transparent 7.3%),
        radial-gradient(circle at 93% 82%, rgba(7,59,75,.09) 0 13%, transparent 13.3%),
        linear-gradient(145deg, #f8fbfc 0%, #edf6f8 52%, #e4f1f4 100%);
}

.medvex-new-design .login::before,
.medvex-new-design .login::after {
    content: "";
    position: fixed;
    z-index: -1;
    pointer-events: none;
}

.medvex-new-design .login::before {
    width: 420px;
    height: 420px;
    inset-inline-start: -170px;
    bottom: -170px;
    border: 1px solid rgba(21,168,182,.22);
    border-radius: 50%;
    box-shadow:
        0 0 0 46px rgba(21,168,182,.045),
        0 0 0 92px rgba(21,168,182,.025);
}

.medvex-new-design .login::after {
    width: 330px;
    height: 330px;
    inset-inline-end: -120px;
    top: -120px;
    background:
        linear-gradient(30deg, transparent 47%, rgba(7,59,75,.12) 48% 52%, transparent 53%),
        linear-gradient(90deg, transparent 47%, rgba(21,168,182,.12) 48% 52%, transparent 53%),
        linear-gradient(150deg, transparent 47%, rgba(7,59,75,.12) 48% 52%, transparent 53%);
    border: 1px solid rgba(7,59,75,.13);
    border-radius: 50%;
}

.medvex-new-design .container {
    width: min(1180px, calc(100% - 32px));
    max-width: 1180px;
}

.medvex-new-design .main-box {
    position: relative;
    isolation: isolate;
    width: min(820px, 100%);
    min-height: 500px;
    height: auto;
    padding: 34px;
    overflow: hidden;
    border: 0;
    border-radius: 28px;
    box-shadow: var(--mv-shadow);
    background:
        radial-gradient(circle at 78% 28%, rgba(84,223,228,.32) 0 5%, transparent 5.4%),
        radial-gradient(circle at 86% 43%, rgba(84,223,228,.22) 0 3%, transparent 3.4%),
        linear-gradient(135deg, #073b4b 0%, #07596a 52%, #0f8591 100%);
}

.medvex-new-design .main-box::before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 350px;
    height: 350px;
    inset-inline-end: -70px;
    top: 34px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 50%;
    box-shadow:
        0 0 0 34px rgba(255,255,255,.035),
        0 0 0 68px rgba(255,255,255,.02);
}

.medvex-new-design .main-box::after {
    content: "";
    position: absolute;
    z-index: -1;
    width: 220px;
    height: 220px;
    inset-inline-start: -65px;
    bottom: -80px;
    transform: rotate(18deg);
    background:
        linear-gradient(90deg, transparent 46%, rgba(255,255,255,.13) 47% 53%, transparent 54%),
        linear-gradient(30deg, transparent 46%, rgba(255,255,255,.1) 47% 53%, transparent 54%),
        linear-gradient(150deg, transparent 46%, rgba(255,255,255,.1) 47% 53%, transparent 54%);
    border-radius: 50%;
}

.medvex-new-design .main-box > .col-12 {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 432px;
    padding: 0;
}

.medvex-new-design .main-box .logo[hidden] {
    display: block !important;
    width: auto;
    max-width: 190px;
    height: auto;
    max-height: 90px;
    margin: 0 auto 18px;
    padding: 9px 14px;
    object-fit: contain;
    background: rgba(255,255,255,.94);
    border-radius: 14px;
}

.medvex-new-design .main-box > .col-12::before {
    content: "Secure digital laboratory portal";
    display: block;
    max-width: 420px;
    margin: 0 auto 24px;
    color: #fff;
    font-size: clamp(1.35rem, 2.6vw, 2rem);
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
}

html[lang="ar"] .medvex-new-design .main-box > .col-12::before {
    content: "بوابتك الآمنة لنتائج المختبر";
}

html[lang="ku-Arab"] .medvex-new-design .main-box > .col-12::before {
    content: "پۆرتالا تە یا پاراستی بۆ ئەنجامێن تاقیکرنێ";
}

.medvex-new-design .main-box form {
    width: min(510px, 100%);
    margin-inline: auto;
    padding: 16px;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(255,255,255,.5);
    border-radius: 18px;
    box-shadow: 0 16px 36px rgba(0,33,44,.2);
    backdrop-filter: blur(10px);
}

.medvex-new-design .main-box p {
    max-width: 540px;
    margin-inline: auto;
    padding: 14px;
    color: rgba(255,255,255,.86);
    background: transparent;
    border-radius: 0;
    text-align: center;
}

.medvex-new-design .form-box,
.medvex-new-design .answer-box {
    color: var(--mv-text);
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(7,59,75,.1);
    border-radius: 22px;
    box-shadow: 0 22px 60px rgba(7,59,75,.14);
    backdrop-filter: blur(14px);
}

.medvex-new-design .form-box {
    width: min(520px, 100%);
    padding: 34px;
}

.medvex-new-design .answer-box {
    width: 100%;
    overflow: hidden;
}

.medvex-new-design .login .logo {
    width: auto;
    max-width: 180px;
    height: auto;
    max-height: 92px;
    object-fit: contain;
}

.medvex-new-design .title {
    color: var(--mv-primary);
    font-size: 1.35rem;
    font-weight: 700;
}

.medvex-new-design .form-group {
    margin-bottom: 14px;
}

.medvex-new-design .form-group .form-control,
.medvex-new-design .form-control {
    min-height: 48px;
    height: auto;
    color: var(--mv-text);
    background: #fff;
    border: 1px solid var(--mv-border);
    border-radius: var(--mv-control-radius);
    font-family: inherit;
    font-size: .88rem;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.medvex-new-design .form-group .form-control:focus,
.medvex-new-design .form-control:focus {
    border-color: var(--mv-secondary);
    box-shadow: 0 0 0 3px rgba(21,168,182,.16);
}

.medvex-new-design .form-group-readonly .form-control {
    color: #fff;
    background: var(--mv-primary-light);
    border-color: var(--mv-primary-light);
}

.medvex-new-design .btn {
    min-height: 46px;
    width: auto;
    padding: 10px 22px;
    color: #fff;
    background: var(--mv-primary);
    border: 1px solid var(--mv-primary);
    border-radius: 999px;
    font-family: inherit;
    font-weight: 600;
    line-height: 1.25;
    transition: transform .16s ease, background .16s ease, box-shadow .16s ease;
}

.medvex-new-design .btn:hover,
.medvex-new-design .btn:focus {
    color: var(--mv-primary);
    background: #fff;
    border-color: var(--mv-primary);
    box-shadow: 0 7px 20px rgba(7,59,75,.16);
    transform: translateY(-1px);
}

.medvex-new-design .btn-color {
    color: #fff;
    background: var(--mv-action);
    border-color: var(--mv-action);
}

.medvex-new-design .btn-color:hover,
.medvex-new-design .btn-color:focus {
    color: var(--mv-action);
    background: #fff;
    border-color: var(--mv-action);
}

.medvex-new-design .form-row .btn,
.medvex-new-design .btn-inline .btn,
.medvex-new-design .dashboard ul li a {
    width: 100%;
}

.medvex-new-design .back {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
}

.medvex-new-design .back-btn {
    min-height: 40px;
    padding: 8px 16px;
    background: rgba(255,255,255,.94);
    border-color: var(--mv-border);
    color: var(--mv-primary);
}

.medvex-new-design .yasan {
    margin: 20px 0 24px;
    opacity: .82;
}

.medvex-new-design .dashboard .form-box {
    width: min(560px, 100%);
}

.medvex-new-design .dashboard ul {
    display: grid;
    gap: 12px;
}

.medvex-new-design .dashboard ul li a {
    min-height: 52px;
    margin: 0;
    padding: 13px 20px;
    color: var(--mv-primary);
    background: #e8f4f6;
    border: 1px solid #bee2e7;
    border-radius: 12px;
    line-height: 1.35;
}

.medvex-new-design .dashboard ul li a:hover {
    color: #fff;
    background: var(--mv-primary-light);
    border-color: var(--mv-primary-light);
}

.medvex-new-design .dashboard ul li:last-child a {
    width: 100%;
    color: #fff;
    background: var(--mv-primary);
    border-color: var(--mv-primary);
}

.medvex-new-design .answer-box .header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 76px;
    padding: 10px 18px;
    background:
        radial-gradient(circle at 88% 18%, rgba(255,255,255,.15) 0 9%, transparent 9.4%),
        linear-gradient(120deg, var(--mv-primary), #0f7b88);
}

.medvex-new-design .answer-box .header > a {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin: 0;
    padding: 0;
    color: var(--mv-primary);
    background: #fff;
    border-radius: 50%;
    font-size: 26px;
}

.medvex-new-design .answer-box .header img {
    width: auto;
    max-width: 155px;
    max-height: 58px;
    object-fit: contain;
}

.medvex-new-design .main-body {
    padding: 22px !important;
}

.medvex-new-design .headerBar {
    align-items: center;
    gap: 12px;
}

.medvex-new-design .headerBar h3 {
    color: var(--mv-primary);
    font-size: 1.2rem;
    font-weight: 700;
}

.medvex-new-design .search .form-control,
.medvex-new-design .search .form-select select {
    min-height: 46px;
    color: var(--mv-text);
    background: #fff;
    border: 1px solid var(--mv-border);
    border-radius: var(--mv-control-radius);
}

.medvex-new-design .answer-table .table {
    margin-bottom: 0;
    color: var(--mv-text);
    border-collapse: separate;
    border-spacing: 0 7px;
}

.medvex-new-design .answer-table thead {
    color: var(--mv-muted);
    font-size: .76rem;
}

.medvex-new-design .answer-table thead th {
    padding: 10px 9px;
    border: 0;
    white-space: nowrap;
}

.medvex-new-design .answer-table tbody tr td,
.medvex-new-design .answer-table tbody tr th {
    padding: 11px 9px;
    color: var(--mv-text);
    background: #f7fafb;
    border-top: 1px solid #edf1f3;
    border-bottom: 1px solid #edf1f3;
    vertical-align: middle;
}

.medvex-new-design .answer-table tbody tr:hover td,
.medvex-new-design .answer-table tbody tr:hover th {
    color: var(--mv-text);
    background: #eef7f8;
}

.medvex-new-design .answer-table tbody tr th:first-child {
    border-start-start-radius: 10px;
    border-end-start-radius: 10px;
}

.medvex-new-design .answer-table tbody tr td:last-child {
    width: auto;
    min-width: 108px;
    border-start-end-radius: 10px;
    border-end-end-radius: 10px;
}

.medvex-new-design .answer-table tbody tr a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: auto;
    min-width: 92px;
    height: 38px;
    padding: 6px 13px;
    color: #fff;
    background: var(--mv-primary);
    border-radius: 999px;
}

.medvex-new-design .answer-table tbody tr a.active {
    color: #fff;
    background: var(--mv-action);
}

.medvex-new-design .answer-table tbody tr a i {
    display: none;
}

.medvex-new-design .answer-table tbody tr a span {
    float: none;
    margin: 0;
}

.medvex-new-design .paging {
    margin-top: 18px;
}

.medvex-new-design .paging .page-item .page-link {
    color: var(--mv-primary);
    border-color: var(--mv-border);
}

.medvex-new-design .paging .page-item.active .page-link {
    color: #fff;
    background: var(--mv-primary);
    border-color: var(--mv-primary);
}

.medvex-new-design .modal-content {
    border: 0;
    border-radius: var(--mv-radius);
    box-shadow: var(--mv-shadow);
}

.medvex-new-design .modal-header {
    background: #e8f4f6;
    border-bottom-color: #bee2e7;
}

@media (max-width: 991px) {
    .medvex-new-design .answer-box {
        overflow: visible;
    }

    .medvex-new-design .answer-table .table-responsive {
        overflow: visible;
    }

    .medvex-new-design .answer-table table,
    .medvex-new-design .answer-table thead,
    .medvex-new-design .answer-table tbody,
    .medvex-new-design .answer-table tr,
    .medvex-new-design .answer-table th,
    .medvex-new-design .answer-table td {
        display: block;
        width: 100% !important;
    }

    .medvex-new-design .answer-table thead {
        position: absolute;
        width: 1px !important;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
    }

    .medvex-new-design .answer-table tbody tr {
        margin-bottom: 14px;
        padding: 14px;
        background: #fff;
        border: 1px solid var(--mv-border);
        border-radius: 14px;
        box-shadow: 0 8px 24px rgba(7,59,75,.08);
    }

    .medvex-new-design .answer-table tbody tr th,
    .medvex-new-design .answer-table tbody tr td {
        display: flex !important;
        align-items: flex-start;
        justify-content: space-between;
        gap: 14px;
        min-width: 0;
        padding: 8px 0;
        background: transparent !important;
        border: 0;
        border-bottom: 1px solid #edf1f3;
        border-radius: 0 !important;
        white-space: normal;
        text-align: end;
    }

    .medvex-new-design .answer-table tbody tr th::before,
    .medvex-new-design .answer-table tbody tr td::before {
        content: attr(data-mv-label);
        color: var(--mv-muted);
        font-weight: 500;
        text-align: start;
    }

    .medvex-new-design .answer-table tbody tr td:last-child {
        padding-top: 12px;
        border-bottom: 0;
    }

    .medvex-new-design .answer-table tbody tr td:last-child::before {
        display: none;
    }

    .medvex-new-design .answer-table tbody tr a {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .mv-language-switcher {
        position: absolute;
        top: 10px;
        inset-inline-end: 12px;
        inset-inline-start: auto;
    }

    .mv-platform-brand {
        position: absolute;
        top: 10px;
        inset-inline-start: 12px;
        min-height: 42px;
        padding: 8px 11px;
    }

    .medvex-new-design .login,
    .medvex-new-design .moraje,
    .medvex-new-design .dashboard,
    .medvex-new-design .answer {
        padding-top: 76px !important;
        background-position: 45% center;
    }

    .medvex-new-design .container {
        width: min(100% - 24px, 580px);
        padding: 0;
    }

    .medvex-new-design .main-box {
        min-height: 520px;
        height: auto;
        padding: 16px;
        background-position: 72% center;
    }

    .medvex-new-design .main-box > .col-12 {
        min-height: 486px;
    }

    .medvex-new-design .main-box .form-row {
        gap: 10px;
    }

    .medvex-new-design .main-box .form-row > div {
        flex: 0 0 100%;
        max-width: 100%;
        padding: 0;
    }

    .medvex-new-design .form-box {
        padding: 22px 18px;
    }

    .medvex-new-design .main-body {
        padding: 16px !important;
    }

    .medvex-new-design .headerBar {
        display: block !important;
    }

    .medvex-new-design .nemodar-search,
    .medvex-new-design .nemodar-btn {
        display: block !important;
        width: 100%;
    }

    .medvex-new-design .search .form-select,
    .medvex-new-design .search .form-select select,
    .medvex-new-design .search .form-select table,
    .medvex-new-design .nemodar-search .btn {
        width: 100% !important;
        margin: 0 0 10px !important;
    }

    .medvex-new-design .answer-box .header {
        min-height: 66px;
        padding: 8px 12px;
    }

    .medvex-new-design .answer-box .header img {
        max-width: 125px;
        max-height: 48px;
    }

    .medvex-new-design .yasan {
        margin-bottom: 18px;
    }
}

@media (max-width: 380px) {
    .mv-language-switcher label {
        display: none;
    }

    .mv-language-switcher select {
        min-width: 118px;
    }

    .mv-platform-by {
        display: none;
    }

    .medvex-new-design .form-box {
        padding: 20px 14px;
    }
}
