/*
 * AZ-Techno UserStats skin 1.8
 * Base: stock Ubilling Paper skin
 * Goal: preserve Paper layout/behavior and only adapt visual system to AZ-Techno.
 */

:root {
    --az-navy: #102f49;
    --az-navy-2: #173f5b;
    --az-teal: #0fa7ad;
    --az-teal-dark: #0b8990;
    --az-cyan-soft: #e9f8f8;
    --az-bg: #f3f7f8;
    --az-card: #ffffff;
    --az-line: #dce7eb;
    --az-line-2: #edf2f4;
    --az-text: #18344b;
    --az-muted: #6d8290;
    --az-danger: #d84e4e;
    --az-radius: 14px;
    --az-shadow: 0 8px 28px rgba(16, 47, 73, .08);
}

html, body {
    background: var(--az-bg);
    color: var(--az-text);
    font-family: "Segoe UI", Arial, Helvetica, sans-serif !important;
    font-size: 14px;
}

body { overflow-x: hidden; }
a { color: var(--az-teal-dark); }
a:hover, a:focus { color: var(--az-teal); }

/* --- Paper shell, kept recognizable but AZ-Techno compact --- */
.sidebar,
.off-canvas-sidebar {
    width: 236px;
    border-right: 1px solid var(--az-line);
    box-shadow: 4px 0 24px rgba(16, 47, 73, .05);
}

.sidebar .sidebar-wrapper,
.off-canvas-sidebar .sidebar-wrapper {
    width: 236px;
    height: calc(100vh - 82px);
    padding: 8px 8px 90px;
}

.sidebar[data-color="white"]:after,
.off-canvas-sidebar[data-color="white"]:after {
    background: #fff;
}

/* AZ-Techno vector brand: same geometry as the main website, without hidden bitmap padding */
.sidebar .logo,
.off-canvas-sidebar .logo {
    min-height: 104px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow: visible;
}

.sidebar .logo:after,
.off-canvas-sidebar .logo:after {
    right: 14px;
    width: calc(100% - 28px);
    background: var(--az-line);
    opacity: 1;
}

.az-sidebar-brand {
    display: inline-flex;
    width: 100%;
    align-items: center;
    gap: 9px;
    color: var(--az-navy) !important;
    text-decoration: none !important;
    white-space: nowrap;
    line-height: 1;
}

.az-logo-mark {
    display: block;
    width: 49px;
    height: 49px;
    flex: 0 0 49px;
    filter: drop-shadow(0 5px 10px rgba(16,42,67,.10));
}
.az-logo-mark svg { display:block; width:100%; height:100%; overflow:visible; }
.az-logo-tile { fill:#f5fbfc; stroke:#cde9eb; stroke-width:1.4; }
.az-logo-a,.az-logo-z,.az-logo-cross { fill:none; stroke:url(#azCabLogoStroke); stroke-linecap:round; stroke-linejoin:round; }
.az-logo-a { stroke-width:6.2; }
.az-logo-z { stroke-width:5.8; }
.az-logo-cross { stroke-width:4.6; }
.az-logo-fiber { fill:none; stroke:url(#azCabLogoGlow); stroke-width:2.4; stroke-linecap:round; opacity:.88; }

.az-logo-copy { display:grid; gap:4px; min-width:0; }
.az-logo-word {
    display:flex;
    align-items:baseline;
    color:var(--az-navy);
    font-size:20px;
    font-weight:900;
    letter-spacing:-.045em;
}
.az-logo-word strong { font:inherit; color:var(--az-navy); }
.az-logo-word i { margin:0 1px; color:#72909d; font-style:normal; font-weight:700; }
.az-logo-word b { font:inherit; color:var(--az-teal-dark); }
.az-logo-tagline {
    color:#718693;
    font-size:7.5px;
    font-weight:900;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.sidebar .nav,
.off-canvas-sidebar .nav { margin-top: 6px; }

.sidebar .nav li>a,
.off-canvas-sidebar .nav li>a {
    margin: 4px 5px 0;
    padding: 8px 10px;
    min-height: 46px;
    display: flex;
    align-items: center;
    border-radius: 10px;
    color: #4e6676 !important;
    font-size: 12px;
    line-height: 1.25;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    opacity: 1 !important;
    transition: background .16s ease, color .16s ease, transform .16s ease;
}

.sidebar .nav li>a img,
.off-canvas-sidebar .nav li>a img {
    width: 28px !important;
    height: 28px !important;
    object-fit: contain;
    margin-right: 10px !important;
    flex: 0 0 28px;
}

.sidebar .nav li>a i,
.off-canvas-sidebar .nav li>a i {
    color: #7e929e !important;
    font-size: 22px;
    width: 30px;
    margin-right: 10px;
}

.sidebar[data-color="white"] .nav li:hover:not(.active)>a,
.sidebar[data-color="white"] .nav li:focus:not(.active)>a,
.off-canvas-sidebar[data-color="white"] .nav li:hover:not(.active)>a,
.off-canvas-sidebar[data-color="white"] .nav li:focus:not(.active)>a {
    background: #f1f8f9;
    color: var(--az-navy) !important;
}

.sidebar[data-color="white"] .nav li.active>a,
.sidebar[data-color="white"] .nav li.active>a i,
.off-canvas-sidebar[data-color="white"] .nav li.active>a,
.off-canvas-sidebar[data-color="white"] .nav li.active>a i {
    color: var(--az-teal-dark) !important;
    opacity: 1 !important;
}
.sidebar[data-color="white"] .nav li.active>a {
    background: var(--az-cyan-soft);
    box-shadow: inset 3px 0 0 var(--az-teal);
    font-weight: 700;
}

.main-panel {
    width: calc(100% - 236px);
    background: var(--az-bg);
}

.navbar.navbar-absolute {
    min-height: 64px;
    padding: 8px 24px;
    background: rgba(255,255,255,.96) !important;
    border-bottom: 1px solid var(--az-line);
    box-shadow: 0 4px 20px rgba(16,47,73,.04);
    backdrop-filter: blur(8px);
}

.navbar .navbar-brand {
    color: var(--az-navy) !important;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.2;
    margin-left: 0;
}

.az-top-logout form { margin: 0; }
.az-top-logout input[type="submit"] {
    margin: 0 !important;
    min-width: 76px;
}

.main-panel>.content {
    margin-top: 78px;
    padding: 0 24px 26px;
    min-height: calc(100vh - 144px);
}

.content > .row { margin-left: -8px; margin-right: -8px; }
.content > .row > [class*="col-"] { padding-left: 8px; padding-right: 8px; }

.card {
    margin-bottom: 18px;
    border: 1px solid var(--az-line);
    border-radius: var(--az-radius);
    background: var(--az-card);
    box-shadow: var(--az-shadow);
}

.card .table {
    padding: 20px 22px;
    margin-bottom: 0;
    overflow: visible;
}

/* Headings generated by UserStats */
.card h1, .card h2, .card h3, .card h4,
.content h1, .content h2, .content h3, .content h4 {
    color: var(--az-navy);
    font-weight: 700;
    letter-spacing: -.015em;
}
.content h1 { font-size: 27px; }
.content h2 { font-size: 23px; }
.content h3 { font-size: 20px; }

/* --- Native UserStats tables: readable without DOM rewriting --- */
.content table {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
    background: #fff;
}

.content table th {
    padding: 10px 12px;
    border-bottom: 2px solid #cfe2e6;
    background: #f3f9fa;
    color: var(--az-navy);
    font-size: 12px;
    font-weight: 700;
    text-align: left;
}

.content table td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--az-line-2);
    color: #3f596b;
    vertical-align: middle;
    line-height: 1.45;
}

.content table tr:last-child td { border-bottom: 0; }
.content table tr:hover td { background: #fbfdfd; }
.content table td strong,
.content table td b { color: var(--az-navy); }

/* Two-column profile/details tables get clear label/value contrast */
.content table tr > td:first-child:nth-last-child(2) {
    width: 38%;
    color: #617887;
    font-weight: 600;
}
.content table tr > td:nth-child(2):last-child {
    color: var(--az-navy);
    font-weight: 600;
}

/* --- Forms --- */
input[type="text"], input[type="password"], input[type="email"], input[type="number"],
input[type="tel"], input[type="date"], select, textarea,
.form-control {
    min-height: 38px;
    border: 1px solid #cbdbe0 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--az-text) !important;
    box-shadow: none !important;
    padding: 8px 10px !important;
}
input:focus, select:focus, textarea:focus, .form-control:focus {
    border-color: var(--az-teal) !important;
    box-shadow: 0 0 0 3px rgba(15,167,173,.12) !important;
    outline: none !important;
}

input[type="submit"], input[type="button"], button,
.btn, a.btn {
    border: 0 !important;
    border-radius: 8px !important;
    background: var(--az-teal) !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 9px 14px !important;
    box-shadow: 0 5px 12px rgba(15,167,173,.16) !important;
    transition: background .16s ease, transform .16s ease, box-shadow .16s ease;
}
input[type="submit"]:hover, input[type="button"]:hover, button:hover,
.btn:hover, a.btn:hover {
    background: var(--az-teal-dark) !important;
    transform: translateY(-1px);
    box-shadow: 0 7px 16px rgba(15,167,173,.20) !important;
}

/* Preserve destructive red controls when explicitly styled */
.btn-danger, input.btn-danger { background: var(--az-danger) !important; }

/* Login window */
.loginform {
    border: 1px solid var(--az-line) !important;
    border-radius: 14px !important;
    box-shadow: var(--az-shadow) !important;
    background-color: #fff !important;
}

/* --- Referral card harmonization; inline module CSS is overridden intentionally --- */
.azref-launch {
    margin: 16px 0 4px !important;
    border: 1px solid #cfe5e7 !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg,#f8fdfd,#edf9f9) !important;
    box-shadow: none !important;
    font-family: "Segoe UI", Arial, Helvetica, sans-serif !important;
}
.azref-launch__title { color: var(--az-navy) !important; }
.azref-launch__bonus { color: var(--az-teal-dark) !important; }
.azref-open, .azref-copy { background: var(--az-teal) !important; }
.azref-open:hover, .azref-copy:hover { background: var(--az-teal-dark) !important; }
.azref-modal, .azref-modal * { font-family: "Segoe UI", Arial, Helvetica, sans-serif !important; }

/* --- Footer: language stays down here, as requested --- */
.footer {
    padding: 12px 24px 16px;
    border-top: 1px solid var(--az-line);
    background: transparent;
    color: var(--az-muted);
}
.footer .row { align-items: center; }
.footer-nav form { margin: 0; }
.az-lang-selector select { min-width: 130px; margin: 0; }
.footer .copyright { color: #80929c; font-size: 11px; }

/* Smaller helper windows / alerts */
.alert { border-radius: 10px; }
.ui-widget, .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button {
    font-family: "Segoe UI", Arial, Helvetica, sans-serif !important;
}

@media (max-width: 991px) {
    .main-panel { width: 100%; }
    .main-panel>.content { padding: 0 14px 20px; margin-top: 68px; }
    .navbar.navbar-absolute { min-height: 58px; padding: 7px 14px; }
    .navbar .navbar-brand { font-size: 17px; }
    .sidebar, .off-canvas-sidebar { width: 250px; }
    .sidebar .sidebar-wrapper, .off-canvas-sidebar .sidebar-wrapper { width: 250px; }
    .az-top-logout { display: none; }
    .card .table { padding: 16px 14px; overflow-x: auto; }
}

@media (max-width: 600px) {
    html, body { font-size: 13px; }
    .content h1 { font-size: 23px; }
    .content h2 { font-size: 20px; }
    .content table th, .content table td { padding: 9px 8px; }
    .content table tr > td:first-child:nth-last-child(2) { width: 46%; }
    .footer { padding-left: 14px; padding-right: 14px; }
    .footer .credits { display: none; }
    .az-lang-selector { width: 100%; }
    .az-lang-selector form, .az-lang-selector select { width: 100%; }
}

/* v1.4: Referral launcher sits above the page title. */
.content .card .table > .azref-launch {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
}
.content .card .table > .azref-launch + h1,
.content .card .table > .azref-launch + h2,
.content .card .table > .azref-launch + h3,
.content .card .table > .azref-launch + h4 {
    margin-top: 0 !important;
}


/* v1.5: mobile header/menu clarity fix. */
@media (max-width: 991px) {
    .navbar .container-fluid {
        display: flex;
        align-items: center;
        min-height: 58px;
    }

    .navbar .navbar-wrapper {
        display: flex;
        align-items: center;
        gap: 14px;
        min-width: 0;
    }

    /* Do not let the global AZ button style turn the Paper hamburger into a teal block. */
    .navbar .navbar-wrapper .navbar-toggle .navbar-toggler,
    .navbar .navbar-toggler {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        padding: 9px !important;
        margin: 0 !important;
        display: inline-flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        border: 1px solid #cfe0e5 !important;
        border-radius: 10px !important;
        background: #ffffff !important;
        color: var(--az-navy) !important;
        box-shadow: 0 3px 10px rgba(16,47,73,.07) !important;
        transform: none !important;
    }

    .navbar .navbar-wrapper .navbar-toggle .navbar-toggler:hover,
    .navbar .navbar-toggler:hover,
    .navbar .navbar-toggler:focus {
        background: #f4fbfb !important;
        border-color: #a9dadd !important;
        box-shadow: 0 3px 10px rgba(16,47,73,.09) !important;
        transform: none !important;
        outline: none !important;
    }

    .navbar .navbar-toggler .navbar-toggler-bar {
        display: block !important;
        position: static !important;
        width: 22px !important;
        height: 2px !important;
        margin: 0 !important;
        border-radius: 2px !important;
        background: var(--az-navy) !important;
        opacity: 1 !important;
    }

    .navbar .navbar-toggler .navbar-toggler-bar + .navbar-toggler-bar {
        margin-top: 5px !important;
    }

    .navbar .navbar-toggler .navbar-toggler-bar.bar2 {
        width: 22px !important;
    }

    .navbar .navbar-brand {
        margin: 0 !important;
        padding: 0 !important;
        font-size: 19px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        white-space: nowrap;
    }
}

@media (max-width: 420px) {
    .navbar .navbar-wrapper { gap: 12px; }
    .navbar .navbar-brand { font-size: 18px !important; }
}

/* v1.6: collapsible Referral launcher. When collapsed, keep only the configured title. */
.azref-launch {
    position: relative !important;
    transition: padding .18s ease, min-height .18s ease, background .18s ease, box-shadow .18s ease !important;
}

.azref-collapse-toggle {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #c7e1e3 !important;
    border-radius: 9px !important;
    background: rgba(255,255,255,.9) !important;
    color: var(--az-teal-dark) !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transform: none !important;
    z-index: 3;
}
.azref-collapse-toggle:hover,
.azref-collapse-toggle:focus {
    background: #ffffff !important;
    border-color: #9fd2d6 !important;
    color: var(--az-navy) !important;
    box-shadow: 0 2px 8px rgba(16,47,73,.08) !important;
    transform: none !important;
    outline: none !important;
}
.azref-collapse-toggle span {
    display: block;
    font-size: 21px;
    line-height: 1;
    font-weight: 800;
    margin-top: -1px;
}

.azref-launch:not(.azref-is-collapsed) {
    padding-right: 56px !important;
}

.azref-launch.azref-is-collapsed {
    min-height: 54px !important;
    padding: 12px 56px 12px 16px !important;
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    cursor: pointer;
    background: linear-gradient(135deg,#f8fdfd,#edf9f9) !important;
}
.azref-launch.azref-is-collapsed .azref-logo,
.azref-launch.azref-is-collapsed .azref-launch__bonus,
.azref-launch.azref-is-collapsed .azref-launch__text,
.azref-launch.azref-is-collapsed .azref-open {
    display: none !important;
}
.azref-launch.azref-is-collapsed .azref-launch__content {
    min-width: 0 !important;
    flex: 1 1 auto !important;
    margin: 0 !important;
}
.azref-launch.azref-is-collapsed .azref-launch__title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--az-navy) !important;
    font-size: 17px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.azref-launch.azref-is-collapsed .azref-collapse-toggle {
    top: 9px !important;
}

@media (max-width: 720px) {
    .azref-launch:not(.azref-is-collapsed) {
        padding-right: 50px !important;
    }
    .azref-collapse-toggle {
        top: 9px !important;
        right: 9px !important;
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
    }
    .azref-launch.azref-is-collapsed {
        min-height: 50px !important;
        padding: 11px 50px 11px 13px !important;
        flex-wrap: nowrap !important;
    }
    .azref-launch.azref-is-collapsed .azref-launch__title {
        font-size: 16px !important;
    }
}


/* --------------------------------------------------------------------------
 * v1.9 — mobile footer logout
 * On phones, keep the language selector where it already was at the bottom
 * of the page and place an explicit logout button directly below it.
 * Desktop keeps the existing logout button in the top navbar.
 * -------------------------------------------------------------------------- */
.az-footer-mobile-logout {
    display: none;
}

@media (max-width: 991px) {
    .footer .row {
        justify-content: center;
    }

    .footer .az-footer-controls {
        display: grid;
        gap: 10px;
        width: min(196px, 100%);
        margin: 0 auto;
    }

    .footer .az-lang-selector,
    .footer .az-lang-selector form,
    .footer .az-lang-selector select,
    .footer .az-footer-mobile-logout,
    .footer .az-footer-mobile-logout form,
    .footer .az-footer-mobile-logout input[type="submit"],
    .footer .az-footer-mobile-logout button {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .footer .az-lang-selector form,
    .footer .az-footer-mobile-logout form {
        margin: 0 !important;
    }

    .footer .az-lang-selector select {
        min-height: 46px !important;
        margin: 0 !important;
        border-radius: 9px !important;
    }

    .footer .az-footer-mobile-logout {
        display: block;
    }

    .footer .az-footer-mobile-logout input[type="submit"],
    .footer .az-footer-mobile-logout button {
        min-height: 46px !important;
        margin: 0 !important;
        border-radius: 9px !important;
        background: #f7eeee !important;
        color: #a64040 !important;
        border: 1px solid #efd1d1 !important;
        box-shadow: none !important;
        transform: none !important;
        font-weight: 700 !important;
    }

    .footer .az-footer-mobile-logout input[type="submit"]:hover,
    .footer .az-footer-mobile-logout input[type="submit"]:focus,
    .footer .az-footer-mobile-logout button:hover,
    .footer .az-footer-mobile-logout button:focus {
        background: #f3e3e3 !important;
        color: #8f3232 !important;
        border-color: #e9bbbb !important;
        box-shadow: none !important;
        transform: none !important;
    }
}

/* --------------------------------------------------------------------------
 * v1.7 — dedicated pre-auth login screen
 * The native UserStats auth form is reused; only its presentation changes.
 * -------------------------------------------------------------------------- */
body.az-login-page {
    min-height: 100vh;
    margin: 0;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 12% 14%, rgba(15,167,173,.10), transparent 28%),
        radial-gradient(circle at 88% 84%, rgba(35,87,165,.08), transparent 30%),
        #f4f8f9;
}

.az-login-shell {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px 18px;
}

.az-login-panel {
    width: min(100%, 430px);
    padding: 34px 34px 30px;
    border: 1px solid #d7e6e9;
    border-radius: 22px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 18px 55px rgba(16,47,73,.12);
}

.az-login-brand {
    width: fit-content;
    max-width: 100%;
    margin: 0 auto 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: var(--az-navy) !important;
    text-decoration: none !important;
}

.az-login-logo-mark {
    width: 62px;
    height: 62px;
    flex: 0 0 62px;
    filter: drop-shadow(0 7px 15px rgba(16,42,67,.10));
}
.az-login-logo-mark svg { width: 100%; height: 100%; display: block; }
.az-login-logo-a,.az-login-logo-z,.az-login-logo-cross {
    fill: none;
    stroke: url(#azLoginLogoStroke);
    stroke-linecap: round;
    stroke-linejoin: round;
}
.az-login-logo-a { stroke-width: 6.2; }
.az-login-logo-z { stroke-width: 5.8; }
.az-login-logo-cross { stroke-width: 4.6; }
.az-login-logo-fiber {
    fill: none;
    stroke: url(#azLoginLogoGlow);
    stroke-width: 2.4;
    stroke-linecap: round;
    opacity: .88;
}
.az-login-logo-copy { gap: 5px; }
.az-login-logo-word { font-size: 27px; }
.az-login-logo-tagline { font-size: 8.5px; letter-spacing: .16em; }

.az-login-heading {
    margin: 0 0 23px;
    text-align: center;
}
.az-login-heading h1 {
    margin: 0;
    color: var(--az-navy);
    font-size: 25px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -.025em;
}
.az-login-heading p {
    margin: 8px 0 0;
    color: var(--az-muted);
    font-size: 13px;
    line-height: 1.45;
}

#az-login-source[hidden] { display: none !important; }

.az-login-form {
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.az-login-field {
    display: block;
    margin: 0 0 15px;
    color: var(--az-navy);
    font-size: 13px;
    font-weight: 700;
}
.az-login-field > span {
    display: block;
    margin: 0 0 7px;
}
.az-login-form input[name="ulogin"],
.az-login-form input[name="upassword"] {
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 11px 13px !important;
    border: 1px solid #c9dce1 !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: var(--az-text) !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    box-sizing: border-box !important;
}
.az-login-form input[name="ulogin"]:focus,
.az-login-form input[name="upassword"]:focus {
    border-color: var(--az-teal) !important;
    box-shadow: 0 0 0 3px rgba(15,167,173,.12) !important;
}

.az-login-submit,
.az-login-form input[type="submit"] {
    width: 100% !important;
    min-height: 48px !important;
    margin: 4px 0 0 !important;
    border-radius: 11px !important;
    background: linear-gradient(135deg,#0fa7ad,#0b8990) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    box-shadow: 0 8px 20px rgba(15,167,173,.20) !important;
}
.az-login-submit:hover,
.az-login-form input[type="submit"]:hover {
    background: linear-gradient(135deg,#0d979d,#087a80) !important;
}

.az-login-recovery {
    margin-top: 22px;
    padding-top: 19px;
    border-top: 1px solid #e3edef;
    display: grid;
    justify-items: center;
    gap: 6px;
    text-align: center;
}
.az-login-recovery span {
    color: #718691;
    font-size: 12.5px;
    line-height: 1.35;
}
.az-login-recovery a {
    color: var(--az-teal-dark) !important;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 800;
    text-decoration: none !important;
    letter-spacing: .01em;
}
.az-login-recovery a:hover { color: var(--az-navy) !important; }

.az-login-notices {
    margin: 0 0 15px;
}
.az-login-notices .alert,
.az-login-notices .error,
.az-login-notices .ui-state-error,
.az-login-notices .ui-state-highlight,
.az-login-notices .notice {
    margin: 0 0 10px !important;
    border-radius: 10px !important;
}

@media (max-width: 520px) {
    .az-login-shell { padding: 18px 13px; align-items: center; }
    .az-login-panel {
        width: 100%;
        padding: 27px 20px 24px;
        border-radius: 18px;
    }
    .az-login-brand { margin-bottom: 23px; gap: 10px; }
    .az-login-logo-mark { width: 55px; height: 55px; flex-basis: 55px; }
    .az-login-logo-word { font-size: 24px; }
    .az-login-logo-tagline { font-size: 7.5px; }
    .az-login-heading { margin-bottom: 20px; }
    .az-login-heading h1 { font-size: 23px; }
    .az-login-form input[name="ulogin"],
    .az-login-form input[name="upassword"],
    .az-login-submit,
    .az-login-form input[type="submit"] { min-height: 47px !important; }
}

/* --------------------------------------------------------------------------
 * v1.10 — compact mobile footer controls on one row
 * Language selector is aligned to the left; logout stays at the far right.
 * -------------------------------------------------------------------------- */
@media (max-width: 991px) {
    .footer .row {
        justify-content: flex-start !important;
    }

    .footer .az-footer-controls {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .footer .az-lang-selector {
        flex: 0 1 176px !important;
        width: 176px !important;
        max-width: 176px !important;
        margin: 0 !important;
    }

    .footer .az-lang-selector form,
    .footer .az-lang-selector select {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .footer .az-footer-mobile-logout {
        display: block !important;
        flex: 0 0 auto !important;
        width: auto !important;
        margin: 0 0 0 auto !important;
    }

    .footer .az-footer-mobile-logout form {
        width: auto !important;
        margin: 0 !important;
    }

    .footer .az-footer-mobile-logout input[type="submit"],
    .footer .az-footer-mobile-logout button {
        width: auto !important;
        min-width: 88px !important;
        min-height: 46px !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        margin: 0 !important;
    }
}

@media (max-width: 420px) {
    .footer .az-lang-selector {
        flex-basis: 165px !important;
        width: 165px !important;
        max-width: 165px !important;
    }

    .footer .az-footer-mobile-logout input[type="submit"],
    .footer .az-footer-mobile-logout button {
        min-width: 82px !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}
