/* Applicant referee recommendation form */
.referee-recommendation-page {
    margin: 18px auto 80px;
    max-width: 1180px;
    padding: 0 12px;
    width: 100%;
}

.referee-recommendation-card {
    background: #fff;
    border: 1px solid #d8e2ea;
    border-radius: 6px;
    box-shadow: 0 10px 26px rgba(15, 44, 71, 0.12);
    display: block;
    overflow: hidden;
}

.referee-recommendation-hero {
    align-items: center;
    background: #203746;
    border-bottom: 4px solid #f4b642;
    color: #fff;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    padding: 20px 22px;
}

.referee-recommendation-title {
    align-items: center;
    display: flex;
    gap: 14px;
    min-width: 0;
}

.referee-recommendation-icon {
    align-items: center;
    background: #f4b642;
    border-radius: 5px;
    color: #1d2c36;
    display: flex;
    flex: 0 0 46px;
    font-size: 19px;
    height: 46px;
    justify-content: center;
    width: 46px;
}

.referee-recommendation-title span:not(.referee-recommendation-icon) {
    color: #f4b642;
    display: block;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 4px;
    text-transform: uppercase;
}

.referee-recommendation-title h2 {
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.22;
    margin: 0 0 4px;
}

.referee-recommendation-title p {
    color: rgba(255, 255, 255, 0.74);
    font-size: 13px;
    line-height: 1.4;
    margin: 0;
}

.referee-recommendation-status {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 4px;
    color: #fff;
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 700;
    padding: 8px 11px;
    text-transform: uppercase;
}

.referee-recommendation-body {
    display: grid;
    gap: 0;
}

.referee-recommendation-section {
    border-bottom: 1px solid #e4ebf0;
    padding: 22px;
}

.referee-section-heading {
    margin-bottom: 16px;
}

.referee-section-heading h3 {
    color: #203746;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 4px;
}

.referee-section-heading p {
    color: #607282;
    font-size: 13px;
    line-height: 1.4;
    margin: 0;
}

.referee-summary-grid,
.referee-form-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.referee-summary-item {
    background: #f7fafc;
    border: 1px solid #dfe6ec;
    border-left: 4px solid #0c426f;
    border-radius: 5px;
    padding: 13px 14px;
}

.referee-summary-item span,
.referee-field label {
    color: #607282;
    display: block;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 7px;
    text-transform: uppercase;
}

.referee-summary-item strong {
    color: #203746;
    display: block;
    font-size: 15px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.referee-form-grid-single {
    grid-template-columns: 1fr;
}

.referee-field {
    min-width: 0;
}

.referee-field .form-control,
.referee-field select {
    border: 1px solid #cfdbe4;
    border-radius: 5px;
    box-shadow: none;
    color: #203746;
    min-height: 40px;
    width: 100% !important;
}

.referee-field .form-control:focus,
.referee-field select:focus {
    border-color: #0c426f;
    box-shadow: 0 0 0 2px rgba(12, 66, 111, 0.10);
}

.referee-duration-field {
    margin-bottom: 16px;
    max-width: 480px;
}

.referee-duration-input {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.referee-duration-input span {
    color: #344b5c;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.referee-rating-wrap {
    border: 1px solid #dfe6ec;
    border-radius: 6px;
    overflow-x: auto;
}

.referee-rating-table {
    margin: 0;
    min-width: 720px;
}

.referee-rating-table thead th {
    background: #f4f8fb;
    border-bottom: 1px solid #dfe6ec !important;
    color: #344b5c;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    vertical-align: middle !important;
}

.referee-rating-table thead th:first-child,
.referee-rating-table tbody td:first-child {
    text-align: left;
    width: 32%;
}

.referee-rating-table tbody td {
    border-top: 1px solid #edf2f5 !important;
    color: #203746;
    font-size: 13px;
    font-weight: 600;
    text-align: center;
    vertical-align: middle !important;
}

.referee-rating-table tbody tr:hover td {
    background: #fbfdfe;
}

.referee-radio {
    align-items: center;
    cursor: pointer;
    display: inline-flex;
    height: 28px;
    justify-content: center;
    margin: 0;
    width: 28px;
}

.referee-radio input {
    height: 1px;
    opacity: 0;
    position: absolute;
    width: 1px;
}

.referee-radio span {
    border: 2px solid #b8c8d4;
    border-radius: 50%;
    display: block;
    height: 18px;
    position: relative;
    width: 18px;
}

.referee-radio input:checked + span {
    border-color: #126557;
}

.referee-radio input:checked + span:after {
    background: #126557;
    border-radius: 50%;
    content: "";
    height: 8px;
    left: 3px;
    position: absolute;
    top: 3px;
    width: 8px;
}

.referee-radio input:focus + span {
    box-shadow: 0 0 0 3px rgba(18, 101, 87, 0.15);
}

.referee-recommendation-actions {
    align-items: center;
    background: #f7fafc;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    padding: 16px 22px;
}

.referee-btn {
    align-items: center;
    border: 0;
    border-radius: 5px;
    display: inline-flex;
    font-weight: 700;
    gap: 8px;
    justify-content: center;
    min-height: 42px;
    padding: 10px 16px;
}

.referee-btn-primary {
    background: #0c426f;
    color: #fff;
}

.referee-btn-primary:hover,
.referee-btn-primary:focus {
    background: #083457;
    color: #fff;
}

.referee-btn-secondary {
    background: #fff;
    border: 1px solid #cfdbe4;
    color: #344b5c;
}

.referee-btn-secondary:hover,
.referee-btn-secondary:focus {
    background: #edf4f8;
    color: #203746;
}

.referee-submitted-message {
    align-items: center;
    background: #edf8f3;
    border: 1px solid #b8ddcd;
    border-radius: 5px;
    color: #126557;
    display: flex;
    font-weight: 700;
    gap: 8px;
    padding: 12px 14px;
    width: 100%;
}

.referee-recommendation-page .alert {
    border-radius: 5px;
}

@media (max-width: 767px) {
    .referee-recommendation-page {
        margin-top: 12px;
        padding: 0;
    }

    .referee-recommendation-hero,
    .referee-recommendation-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .referee-recommendation-title h2 {
        font-size: 19px;
    }

    .referee-recommendation-status,
    .referee-btn {
        width: 100%;
    }

    .referee-summary-grid,
    .referee-form-grid,
    .referee-duration-input {
        grid-template-columns: 1fr;
    }

    .referee-recommendation-section,
    .referee-recommendation-hero,
    .referee-recommendation-actions {
        padding-left: 16px;
        padding-right: 16px;
    }
}

/* Public guest layout */
    html,
    body {
        min-height: 100%;
    }

    body {
        background: #eef3f6;
        color: #253746;
        font-family: Arial, Helvetica, sans-serif;
    }

    .uas-public-page {
        background: #eef3f6;
        min-height: 100vh;
        padding-bottom: 0;
    }

    .uas-public-header {
        background: #0c426f;
        border-bottom: 4px solid #f4b642;
        box-shadow: 0 8px 20px rgba(12, 66, 111, 0.18);
        color: #fff;
    }

    .uas-public-header-inner {
        align-items: center;
        display: flex;
        gap: 16px;
        min-height: 92px;
        padding: 14px 24px;
    }

    .uas-brand-logo {
        background: #fff;
        border-radius: 6px;
        height: 66px;
        padding: 6px;
        width: 66px;
    }

    .uas-brand-logo img {
        display: block;
        height: 100%;
        object-fit: contain;
        width: 100%;
    }

    .uas-brand-text {
        flex: 1;
        min-width: 0;
    }

    .uas-brand-text h1 {
        font-size: 25px;
        font-weight: 700;
        line-height: 1.2;
        margin: 0 0 4px;
    }

    .uas-brand-text p {
        color: rgba(255, 255, 255, 0.84);
        font-size: 15px;
        margin: 0;
    }

    .uas-header-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

    .uas-header-actions .btn {
        align-items: center;
        border: 0;
        border-radius: 4px;
        display: inline-flex;
        font-weight: 700;
        gap: 7px;
        justify-content: center;
        min-height: 40px;
        padding: 10px 14px;
        text-align: center;
        white-space: nowrap;
    }

    .uas-header-actions .btn i {
        flex: 0 0 auto;
    }

    .uas-header-actions .btn-primary-action {
        background: #f4b642;
        color: #1d2c36;
    }

    .uas-header-actions .btn-secondary-action {
        background: rgba(255, 255, 255, 0.15);
        color: #fff;
        outline: 1px solid rgba(255, 255, 255, 0.48);
    }

    .uas-public-main {
        box-sizing: border-box;
        padding: 22px 24px 34px;
        width: 100%;
    }

    .uas-public-container {
        box-sizing: border-box;
        margin: 0 auto;
        max-width: 1180px;
        width: 100%;
    }

    .welcome-layout {
        align-items: start;
        display: grid;
        gap: 18px;
        grid-template-columns: minmax(300px, 340px) minmax(0, 1fr);
        width: 100%;
    }

    .welcome-panel,
    .welcome-news {
        background: #fff;
        border: 1px solid #dfe6ec;
        border-radius: 6px;
        box-shadow: 0 8px 22px rgba(15, 44, 71, 0.12);
        overflow: hidden;
    }

    .welcome-news-header {
        align-items: center;
        background: #0c426f;
        border-bottom: 4px solid #f4b642;
        color: #fff;
        display: flex;
        gap: 12px;
        padding: 15px 16px;
    }

    .welcome-news-icon {
        align-items: center;
        background: #f4b642;
        border-radius: 4px;
        color: #1d2c36;
        display: flex;
        flex: 0 0 38px;
        height: 38px;
        justify-content: center;
        width: 38px;
    }

    .welcome-news-title {
        color: #fff;
        font-size: 17px;
        font-weight: 700;
        line-height: 1.25;
        margin: 0 0 3px;
    }

    .welcome-news-header p {
        color: rgba(255, 255, 255, 0.78);
        font-size: 13px;
        line-height: 1.35;
        margin: 0;
    }

    .welcome-news-body {
        padding: 14px;
    }

    .welcome-news .important_news,
    .welcome-news .news_block {
        margin: 0;
    }

    .welcome-news .important_news_header {
        display: none;
    }

    .welcome-news .news_block h3 {
        color: #0c426f !important;
        font-size: 14px;
        font-weight: 700;
        margin: 0 0 10px;
    }

    .welcome-news .table-responsive {
        border: 0;
        margin: 0;
    }

    .welcome-news .table {
        font-size: 13px;
        margin-bottom: 0;
    }

    .welcome-news .table>tbody>tr>td {
        border-top: 1px solid #e7edf2;
        line-height: 1.35;
        padding: 9px 8px;
        vertical-align: middle;
    }

    .welcome-news .table>tbody>tr:first-child>td {
        border-top: 0;
    }

    .welcome-news .table>tbody>tr>td:first-child {
        color: #253746;
        font-weight: 700;
        width: 58%;
    }

    .welcome-news .table>tbody>tr>td:last-child {
        text-align: right;
        white-space: nowrap;
    }

    .welcome-news .table>tbody>tr.success>td {
        background: #edf7f1;
        color: #126557;
    }

    .welcome-news .table>tbody>tr.danger>td {
        background: #fff1f0;
        color: #a94442;
    }

    .welcome-hero {
        background: linear-gradient(135deg, #0c426f 0%, #126557 62%, #f4b642 100%);
        color: #fff;
        min-height: 310px;
        padding: 36px 36px 30px;
        position: relative;
    }

    .welcome-hero:after {
        background: url("../../images/mwecau_logo_opacity_10.png") no-repeat right 18px bottom 8px;
        background-size: 235px auto;
        bottom: 0;
        content: "";
        left: 0;
        opacity: 0.3;
        position: absolute;
        right: 0;
        top: 0;
    }

    .welcome-hero-content {
        max-width: 730px;
        position: relative;
        z-index: 1;
    }

    .welcome-kicker {
        border: 1px solid rgba(255, 255, 255, 0.45);
        border-radius: 4px;
        display: inline-block;
        font-size: 13px;
        font-weight: 700;
        margin-bottom: 18px;
        padding: 7px 11px;
        text-transform: uppercase;
    }

    .welcome-title {
        font-size: 36px;
        font-weight: 700;
        line-height: 1.16;
        margin: 0 0 14px;
    }

    .welcome-subtitle {
        color: rgba(255, 255, 255, 0.92);
        font-size: 17px;
        line-height: 1.6;
        margin: 0 0 24px;
        max-width: 680px;
    }

    .welcome-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        padding: 18px 28px 0;
    }

    .welcome-actions .btn {
        align-items: center;
        border: 0;
        border-radius: 4px;
        display: inline-flex;
        font-size: 15px;
        font-weight: 700;
        gap: 8px;
        justify-content: center;
        min-height: 48px;
        min-width: 215px;
        padding: 13px 18px;
        text-align: center;
        white-space: normal;
    }

    .welcome-actions .btn i {
        flex: 0 0 auto;
    }

    .btn-apply {
        background: #f4b642;
        color: #1d2c36;
    }

    .btn-apply:hover,
    .btn-apply:focus {
        background: #e8a92d;
        color: #1d2c36;
    }

    .btn-login-outline {
        background: #fff;
        color: #0c426f;
        outline: 1px solid #0c426f;
    }

    .btn-login-outline:hover,
    .btn-login-outline:focus {
        background: #0c426f;
        color: #fff;
    }

    .welcome-content {
        padding: 24px 28px 28px;
    }

    .welcome-status {
        background: #f4f8fb;
        border-left: 4px solid #126557;
        margin-bottom: 22px;
        padding: 14px 16px;
    }

    .welcome-status strong {
        color: #0c426f;
        display: block;
        font-size: 16px;
        margin-bottom: 4px;
    }

    .welcome-status span {
        color: #465a69;
    }

    .welcome-steps {
        display: grid;
        gap: 14px;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .welcome-step {
        border: 1px solid #e4ebf0;
        border-radius: 5px;
        min-height: 138px;
        padding: 17px 16px;
    }

    .welcome-step i {
        color: #126557;
        font-size: 24px;
        margin-bottom: 10px;
    }

    .welcome-step h4 {
        color: #203746;
        font-size: 16px;
        font-weight: 700;
        margin: 0 0 8px;
    }

    .welcome-step p {
        color: #596b77;
        line-height: 1.55;
        margin: 0;
    }

    .welcome-alert {
        margin-top: 18px;
    }


    .login-layout {
        align-items: start;
        display: grid;
        gap: 18px;
        grid-template-columns: minmax(300px, 340px) minmax(0, 1fr);
        width: 100%;
    }

    .login-panel {
        background: #fff;
        border: 1px solid #dfe6ec;
        border-radius: 6px;
        box-shadow: 0 8px 22px rgba(15, 44, 71, 0.12);
        overflow: hidden;
    }

    .login-panel-header {
        align-items: center;
        background: #0c426f;
        border-bottom: 4px solid #f4b642;
        color: #fff;
        display: flex;
        gap: 13px;
        padding: 18px 20px;
    }

    .login-panel-icon {
        align-items: center;
        background: #f4b642;
        border-radius: 4px;
        color: #1d2c36;
        display: flex;
        flex: 0 0 42px;
        font-size: 18px;
        height: 42px;
        justify-content: center;
        width: 42px;
    }

    .login-panel-header h2 {
        color: #fff;
        font-size: 22px;
        font-weight: 700;
        line-height: 1.2;
        margin: 0 0 4px;
    }

    .login-panel-header p {
        color: rgba(255, 255, 255, 0.78);
        font-size: 13px;
        line-height: 1.35;
        margin: 0;
    }

    .login-panel-body {
        padding: 24px 28px 28px;
    }

    .login-alerts .alert {
        border-radius: 4px;
        margin-bottom: 16px;
    }

    .login-form {
        display: grid;
        gap: 16px;
        max-width: 620px;
    }

    .login-field label {
        color: #203746;
        display: block;
        font-size: 13px;
        font-weight: 700;
        margin: 0 0 7px;
    }

    .login-input-wrap {
        position: relative;
    }

    .login-input-icon {
        align-items: center;
        color: #126557;
        display: flex;
        height: 100%;
        justify-content: center;
        left: 0;
        pointer-events: none;
        position: absolute;
        top: 0;
        width: 44px;
        z-index: 2;
    }

    .login-input-wrap .form-control {
        border: 1px solid #cfd9e2;
        border-radius: 4px;
        box-shadow: none;
        font-size: 15px;
        height: 46px;
        padding-left: 43px;
    }

    .login-input-wrap .form-control:focus {
        border-color: #0c426f;
        box-shadow: 0 0 0 2px rgba(12, 66, 111, 0.12);
    }

    .login-error {
        background: #fff1f0;
        border-left: 4px solid #a94442;
        color: #a94442;
        font-size: 13px;
        margin-top: 8px;
        padding: 8px 10px;
    }

    .login-form-actions {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin-top: 2px;
    }

    .btn-login-submit,
    .btn-login-register,
    .btn-login-home {
        align-items: center;
        border: 0;
        border-radius: 4px;
        display: inline-flex;
        font-weight: 700;
        gap: 8px;
        justify-content: center;
        min-height: 44px;
        padding: 11px 16px;
        text-align: center;
        text-decoration: none;
    }

    .btn-login-submit {
        background: #f4b642;
        color: #1d2c36;
        min-width: 130px;
    }

    .btn-login-submit:hover,
    .btn-login-submit:focus {
        background: #e8a92d;
        color: #1d2c36;
    }

    .login-forgot-link {
        color: #0c426f;
        font-weight: 700;
    }

    .login-secondary-actions {
        border-top: 1px solid #e4ebf0;
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 24px;
        padding-top: 18px;
    }

    .btn-login-register {
        background: #0c426f;
        color: #fff;
    }

    .btn-login-register:hover,
    .btn-login-register:focus {
        background: #083457;
        color: #fff;
    }

    .btn-login-home {
        background: #fff;
        color: #0c426f;
        outline: 1px solid #0c426f;
    }

    .btn-login-home:hover,
    .btn-login-home:focus {
        background: #0c426f;
        color: #fff;
    }


    .helpdesk-contact-card {
        background: #fff;
        border: 1px solid #dfe6ec;
        border-radius: 6px;
        box-shadow: 0 8px 22px rgba(15, 44, 71, 0.12);
        overflow: hidden;
    }

    .helpdesk-contact-header {
        align-items: center;
        background: #0c426f;
        border-bottom: 4px solid #f4b642;
        color: #fff;
        display: flex;
        gap: 12px;
        padding: 15px 16px;
    }

    .helpdesk-contact-icon {
        align-items: center;
        background: #f4b642;
        border-radius: 4px;
        color: #1d2c36;
        display: flex;
        flex: 0 0 38px;
        height: 38px;
        justify-content: center;
        width: 38px;
    }

    .helpdesk-contact-header h3 {
        color: #fff;
        font-size: 17px;
        font-weight: 700;
        line-height: 1.25;
        margin: 0 0 3px;
    }

    .helpdesk-contact-header p {
        color: rgba(255, 255, 255, 0.78);
        font-size: 13px;
        line-height: 1.35;
        margin: 0;
    }

    .helpdesk-contact-table-wrap {
        overflow-x: auto;
        padding: 14px;
    }

    .helpdesk-contact-table {
        border-collapse: separate;
        border-spacing: 0;
        color: #253746;
        font-size: 13px;
        min-width: 520px;
        width: 100%;
    }

    .helpdesk-contact-table th,
    .helpdesk-contact-table td {
        border-bottom: 1px solid #e4ebf0;
        line-height: 1.35;
        padding: 10px 11px;
        text-align: left;
        vertical-align: middle;
    }

    .helpdesk-contact-table th {
        background: #f4f8fb;
        color: #0c426f;
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
    }

    .helpdesk-contact-table th:first-child,
    .helpdesk-contact-table td:first-child {
        text-align: center;
        width: 44px;
    }

    .helpdesk-contact-table tbody tr:hover td {
        background: #f7fafc;
    }

    .helpdesk-contact-phone {
        color: #0c426f;
        font-weight: 700;
        overflow-wrap: anywhere;
        text-decoration: none;
        white-space: nowrap;
    }

    .helpdesk-contact-phone:hover,
    .helpdesk-contact-phone:focus {
        color: #126557;
        text-decoration: none;
    }

    .helpdesk-contact-phone i {
        color: #126557;
        margin-right: 5px;
    }

    .helpdesk-contact-role {
        color: #596b77;
        font-size: 12px;
        font-weight: 700;
    }

    .helpdesk-contact-badge {
        background: #fff4d8;
        border: 1px solid #f4b642;
        border-radius: 4px;
        color: #6b4a08;
        flex: 0 0 auto;
        font-size: 11px;
        font-weight: 700;
        padding: 4px 6px;
        text-transform: uppercase;
    }

    .helpdesk-contact-empty {
        align-items: center;
        background: #f7fafc;
        border: 1px dashed #c8d5de;
        border-radius: 5px;
        color: #596b77;
        display: flex;
        gap: 9px;
        padding: 13px;
    }

    .helpdesk-contact-inline {
        display: inline;
    }

    .helpdesk-contact-number {
        color: inherit;
        font-weight: 700;
        white-space: nowrap;
    }

    .helpdesk-contact-separator {
        color: rgba(255, 255, 255, 0.55);
        margin: 0 6px;
    }

    .helpdesk-contact-muted {
        color: rgba(255, 255, 255, 0.72);
        font-weight: 400;
    }

    .uas-public-footer {
        background: #203746;
        border-top: 4px solid #f4b642;
        color: #fff;
        padding: 18px 24px;
    }

    .uas-public-footer-inner {
        align-items: center;
        display: flex;
        gap: 18px;
        justify-content: space-between;
        margin: 0 auto;
        max-width: 1180px;
        width: 100%;
    }

    .uas-footer-help {
        align-items: center;
        display: flex;
        gap: 12px;
        min-width: 0;
    }

    .uas-footer-icon {
        align-items: center;
        background: #f4b642;
        border-radius: 4px;
        color: #1d2c36;
        display: flex;
        flex: 0 0 36px;
        height: 36px;
        justify-content: center;
        width: 36px;
    }

    .uas-footer-help-text {
        display: grid;
        gap: 2px;
        min-width: 0;
    }

    .uas-footer-label {
        color: rgba(255, 255, 255, 0.68);
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
    }

    .uas-footer-contact {
        color: #fff;
        font-size: 15px;
        font-weight: 700;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    .uas-footer-meta {
        align-items: flex-end;
        color: rgba(255, 255, 255, 0.76);
        display: flex;
        flex-direction: column;
        flex-shrink: 0;
        font-size: 12px;
        gap: 3px;
        text-align: right;
    }

    .uas-footer-version {
        color: #fff;
    }

    @media (max-width: 900px) {

        .uas-public-header-inner {
            align-items: center;
            flex-direction: row;
            flex-wrap: wrap;
        }

        .uas-brand-text {
            flex: 1 1 calc(100% - 82px);
        }

        .uas-brand-text h1 {
            overflow-wrap: anywhere;
        }

        .uas-header-actions {
            display: grid;
            flex: 1 0 100%;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            width: 100%;
        }

        .uas-header-actions .btn {
            min-width: 0;
            text-align: center;
            width: 100%;
        }

        .uas-public-main {
            padding: 18px 18px 28px;
        }

        .uas-public-footer {
            padding: 16px 18px;
        }

        .uas-public-footer-inner {
            align-items: flex-start;
            flex-direction: column;
        }

        .uas-footer-meta {
            align-items: flex-start;
            text-align: left;
        }

        .welcome-layout,
        .login-layout {
            gap: 16px;
            grid-template-columns: 1fr;
        }
    }

    @media (max-width: 767px) {
        .uas-public-main {
            padding: 12px 10px 22px;
        }

        .uas-public-header-inner {
            gap: 10px;
            padding: 12px;
        }

        .uas-brand-logo {
            flex: 0 0 52px;
            height: 52px;
            width: 52px;
        }

        .uas-brand-text {
            flex-basis: calc(100% - 62px);
        }

        .uas-brand-text h1 {
            font-size: 18px;
            line-height: 1.18;
            margin-bottom: 3px;
        }

        .uas-brand-text p {
            font-size: 12px;
            line-height: 1.25;
        }

        .welcome-hero {
            min-height: 0;
            padding: 26px 20px 24px;
        }

        .welcome-title {
            font-size: 27px;
        }

        .welcome-subtitle {
            font-size: 15px;
        }

        .welcome-layout,
        .login-layout {
            gap: 12px;
        }

        .login-panel-body {
            padding: 20px;
        }

        .login-form-actions,
        .login-secondary-actions {
            align-items: stretch;
            flex-direction: column;
        }

        .btn-login-submit,
        .btn-login-register,
        .btn-login-home {
            width: 100%;
        }

        .welcome-actions {
            flex-direction: column;
            gap: 10px;
            padding: 14px 20px 0;
        }

        .welcome-actions .btn {
            font-size: 14px;
            min-height: 46px;
            min-width: 0;
            padding: 12px 14px;
            width: 100%;
        }

        .welcome-content {
            padding: 20px;
        }

        .welcome-steps {
            grid-template-columns: 1fr;
        }

        .welcome-step {
            min-height: 0;
        }

        .uas-public-footer {
            padding: 14px 12px;
        }

        .uas-footer-help {
            align-items: flex-start;
        }

        .uas-footer-contact {
            font-size: 14px;
        }
    }
    @media (max-width: 420px) {
        .uas-public-header-inner {
            gap: 8px;
            padding: 10px;
        }

        .uas-brand-logo {
            flex-basis: 46px;
            height: 46px;
            padding: 5px;
            width: 46px;
        }

        .uas-brand-text {
            flex-basis: calc(100% - 54px);
        }

        .uas-brand-text h1 {
            font-size: 16px;
        }

        .uas-brand-text p {
            font-size: 11px;
        }

        .uas-public-footer {
            padding: 12px 10px;
        }

        .uas-footer-icon {
            flex-basis: 32px;
            height: 32px;
            width: 32px;
        }

        .uas-footer-contact {
            font-size: 13px;
        }

        .uas-header-actions {
            gap: 8px;
        }

        .uas-header-actions .btn {
            font-size: 13px;
            min-height: 38px;
            padding: 9px 12px;
        }

        .uas-public-main {
            padding: 8px 8px 18px;
        }

        .welcome-layout,
        .login-layout {
            gap: 10px;
        }

        .login-panel-header {
            padding: 14px;
        }

        .login-panel-header h2 {
            font-size: 18px;
        }

        .login-panel-body {
            padding: 16px 14px;
        }

        .login-input-wrap .form-control {
            font-size: 14px;
            height: 44px;
        }

        .welcome-actions {
            padding: 12px 14px 0;
        }

        .welcome-actions .btn {
            font-size: 13px;
            gap: 7px;
            line-height: 1.25;
            min-height: 44px;
            padding: 10px 12px;
        }
    }

    @media (max-width: 340px) {
        .uas-header-actions {
            grid-template-columns: 1fr;
        }
    }
