/* ARK Hub Login Shell v0.1.1 — submit visibility and legacy back-button containment. */
html.ark-hub-auth-html,
html.ark-hub-auth-html body,
body.ark-hub-auth {
    min-height: 100%;
    background: #07101f !important;
}

body.ark-hub-auth {
    margin: 0 !important;
    color: #eef4ff !important;
    font-family: "Nunito Sans", "Segoe UI", Arial, sans-serif !important;
    overflow-x: hidden;
}

body.ark-hub-auth::before,
body.ark-hub-auth::after {
    content: "";
    position: fixed;
    pointer-events: none;
    z-index: 0;
    border-radius: 999px;
    filter: blur(1px);
}

body.ark-hub-auth::before {
    width: min(78vw, 980px);
    height: min(78vw, 980px);
    left: -34vw;
    top: -44vw;
    background: radial-gradient(circle, rgba(79, 220, 208, .22) 0%, rgba(53, 143, 255, .11) 42%, transparent 72%);
}

body.ark-hub-auth::after {
    width: min(72vw, 920px);
    height: min(72vw, 920px);
    right: -38vw;
    bottom: -46vw;
    background: radial-gradient(circle, rgba(84, 158, 255, .22) 0%, rgba(57, 207, 220, .08) 45%, transparent 72%);
}

body.ark-hub-auth #wrapper,
body.ark-hub-auth .primary-content,
body.ark-hub-auth .center-container,
body.ark-hub-auth #main-body,
body.ark-hub-auth .main-content,
body.ark-hub-auth .content-padded,
body.ark-hub-auth .container,
body.ark-hub-auth .container-fluid {
    position: relative;
    z-index: 1;
    width: 100% !important;
    max-width: none !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.ark-hub-auth .primary-content.loginpage-with-sidebar {
    display: block !important;
}

body.ark-hub-auth .sidebar-container,
body.ark-hub-auth .loginpage-with-sidebar > .sidebar-container,
body.ark-hub-auth .page-sidebar,
body.ark-hub-auth .main-sidebar,
body.ark-hub-auth #sidebar,
body.ark-hub-auth .sidebar-left:not(.loginpage-with-sidebar),
body.ark-hub-auth .login-header,
body.ark-hub-auth .user_lock_icon {
    display: none !important;
}

body.ark-hub-auth .center-container {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
}

body.ark-hub-auth .ark-auth-container,
body.ark-hub-auth .login-container {
    box-sizing: border-box !important;
    width: min(100% - 32px, 700px) !important;
    max-width: 700px !important;
    margin: 0 auto !important;
    padding: clamp(24px, 5vw, 58px) 0 42px !important;
    position: relative;
    z-index: 2;
}

body.ark-hub-auth .ark-auth-hero {
    text-align: center;
    margin: 0 auto 22px;
    padding: 0 12px;
}

body.ark-hub-auth .ark-auth-logo-wrap {
    display: flex;
    justify-content: center;
    margin-bottom: 18px;
}

body.ark-hub-auth .ark-auth-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 132px;
    max-width: min(86vw, 430px);
    min-height: 72px;
    padding: 12px 24px;
    border-radius: 24px;
    border: 1px solid rgba(122, 221, 237, .30);
    background:
        linear-gradient(135deg, rgba(145, 228, 237, .98), rgba(100, 189, 241, .96));
    box-shadow: 0 20px 54px rgba(0, 0, 0, .25);
    color: #07111f;
    font-size: clamp(28px, 7vw, 54px);
    line-height: 1;
    font-weight: 900;
    letter-spacing: -.04em;
}

body.ark-hub-auth .ark-auth-logo img {
    display: block;
    max-width: min(74vw, 350px);
    max-height: 96px;
    width: auto;
    height: auto;
    object-fit: contain;
}

body.ark-hub-auth .ark-auth-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 9px;
    color: #79e2de;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
}

body.ark-hub-auth .ark-auth-kicker::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #62e0d8;
    box-shadow: 0 0 0 7px rgba(98, 224, 216, .11);
}

body.ark-hub-auth .ark-auth-title {
    margin: 0;
    color: #f7f9ff;
    font-size: clamp(34px, 7.4vw, 62px);
    line-height: .98;
    letter-spacing: -.045em;
    font-weight: 900;
    text-wrap: balance;
}

body.ark-hub-auth .ark-auth-subtitle {
    max-width: 610px;
    margin: 14px auto 0;
    color: rgba(232, 239, 253, .76);
    font-size: clamp(15px, 2.7vw, 19px);
    line-height: 1.48;
    font-weight: 650;
    text-wrap: balance;
}

body.ark-hub-auth .ark-auth-preview-badge {
    display: inline-flex;
    align-items: center;
    margin-top: 13px;
    padding: 6px 10px;
    border: 1px solid rgba(250, 204, 21, .32);
    border-radius: 999px;
    background: rgba(250, 204, 21, .10);
    color: #fde68a;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

body.ark-hub-auth .ark-auth-panel,
body.ark-hub-auth #login-box,
body.ark-hub-auth .login-box {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: clamp(22px, 4.4vw, 36px) !important;
    border: 1px solid rgba(106, 181, 255, .30) !important;
    border-radius: 26px !important;
    background:
        linear-gradient(145deg, rgba(24, 39, 69, .98), rgba(10, 20, 38, .985)) !important;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .42) !important;
    color: #eef4ff !important;
    overflow: visible !important;
}

body.ark-hub-auth .ark-auth-panel > h1,
body.ark-hub-auth .ark-auth-panel > h2,
body.ark-hub-auth #login-box > h1,
body.ark-hub-auth .login-box > h1,
body.ark-hub-auth #login-box > hr,
body.ark-hub-auth .login-box > hr,
body.ark-hub-auth .ark-auth-native-heading,
body.ark-hub-auth .ark-auth-native-intro {
    display: none !important;
}

body.ark-hub-auth .ark-auth-panel p,
body.ark-hub-auth #login-box p,
body.ark-hub-auth .login-box p,
body.ark-hub-auth .logincontainer,
body.ark-hub-auth .text-muted,
body.ark-hub-auth small {
    color: rgba(231, 239, 253, .76) !important;
}

body.ark-hub-auth form {
    color: #eef4ff;
}

body.ark-hub-auth .form-group {
    margin-bottom: 18px !important;
}

body.ark-hub-auth label,
body.ark-hub-auth .form-control-label,
body.ark-hub-auth .control-label,
body.ark-hub-auth .labels {
    color: #f1f5ff !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 850 !important;
}

body.ark-hub-auth input.form-control,
body.ark-hub-auth select.form-control,
body.ark-hub-auth textarea.form-control,
body.ark-hub-auth .form-control {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 54px !important;
    padding: 13px 15px !important;
    border: 1px solid rgba(148, 181, 230, .28) !important;
    border-radius: 14px !important;
    background: rgba(5, 13, 29, .72) !important;
    color: #f7f9ff !important;
    box-shadow: none !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    outline: none !important;
}

body.ark-hub-auth input.form-control::placeholder,
body.ark-hub-auth textarea.form-control::placeholder {
    color: rgba(206, 218, 241, .46) !important;
}

body.ark-hub-auth input.form-control:focus,
body.ark-hub-auth select.form-control:focus,
body.ark-hub-auth textarea.form-control:focus,
body.ark-hub-auth .form-control:focus {
    border-color: #64dcd7 !important;
    box-shadow: 0 0 0 4px rgba(100, 220, 215, .14) !important;
    background: rgba(5, 14, 31, .94) !important;
}

body.ark-hub-auth input[readonly].form-control,
body.ark-hub-auth input[readonly] {
    opacity: 1 !important;
    color: #e8f7ff !important;
    background: rgba(73, 147, 212, .13) !important;
}

body.ark-hub-auth .input-group,
body.ark-hub-auth .input-group-merge {
    display: flex !important;
    align-items: stretch !important;
    width: 100% !important;
}

body.ark-hub-auth .input-group > .form-control {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

body.ark-hub-auth .btn-block {
    display: block !important;
    width: 100% !important;
}

body.ark-hub-auth .input-group-append,
body.ark-hub-auth .input-group-prepend {
    display: flex !important;
}

body.ark-hub-auth .btn-reveal-pw,
body.ark-hub-auth .input-group-append .btn {
    min-width: 52px !important;
    border: 1px solid rgba(148, 181, 230, .28) !important;
    border-left: 0 !important;
    border-radius: 0 14px 14px 0 !important;
    background: rgba(44, 69, 108, .84) !important;
    color: #f2f7ff !important;
}

body.ark-hub-auth .btn,
body.ark-hub-auth button,
body.ark-hub-auth input[type="submit"] {
    border-radius: 13px !important;
    font-weight: 900 !important;
}

body.ark-hub-auth .btn-primary,
body.ark-hub-auth .btn-login,
body.ark-hub-auth #login,
body.ark-hub-auth button[type="submit"],
body.ark-hub-auth input[type="submit"].btn-primary {
    min-height: 54px !important;
    padding: 13px 18px !important;
    border: 0 !important;
    background: linear-gradient(135deg, #59dfd8, #5ca9f8) !important;
    color: #07111f !important;
    box-shadow: 0 14px 32px rgba(55, 164, 235, .22) !important;
    text-shadow: none !important;
}

body.ark-hub-auth .btn-primary:hover,
body.ark-hub-auth .btn-login:hover,
body.ark-hub-auth #login:hover,
body.ark-hub-auth button[type="submit"]:hover {
    filter: brightness(1.04);
    transform: translateY(-1px);
}

body.ark-hub-auth .btn-default,
body.ark-hub-auth input[type="reset"],
body.ark-hub-auth .panel-body a {
    border: 1px solid rgba(148, 181, 230, .28) !important;
    background: rgba(49, 76, 116, .50) !important;
    color: #edf5ff !important;
}

body.ark-hub-auth a {
    color: #75c9ff !important;
    font-weight: 800;
}

body.ark-hub-auth a:hover {
    color: #9ce9e4 !important;
}

body.ark-hub-auth .footer-warp {
    margin-top: 8px;
}

body.ark-hub-auth .footer-warp > label,
body.ark-hub-auth .form-check,
body.ark-hub-auth .checkbox {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    margin-bottom: 14px !important;
}

body.ark-hub-auth input[type="checkbox"],
body.ark-hub-auth input[type="radio"] {
    accent-color: #5edfd8;
}

body.ark-hub-auth .alert,
body.ark-hub-auth .alert-lg,
body.ark-hub-auth .panel,
body.ark-hub-auth .card,
body.ark-hub-auth .TM-card {
    border-radius: 16px !important;
    border: 1px solid rgba(148, 181, 230, .24) !important;
    background: rgba(12, 25, 47, .80) !important;
    color: #eef4ff !important;
    box-shadow: none !important;
}

body.ark-hub-auth .alert-danger,
body.ark-hub-auth .alert-error,
body.ark-hub-auth .alert.alert-danger {
    border-color: rgba(248, 113, 113, .40) !important;
    background: rgba(127, 29, 29, .28) !important;
    color: #fecaca !important;
}

body.ark-hub-auth .alert-success {
    border-color: rgba(74, 222, 128, .36) !important;
    background: rgba(20, 83, 45, .30) !important;
    color: #bbf7d0 !important;
}

body.ark-hub-auth .alert-warning,
body.ark-hub-auth .panel-info {
    border-color: rgba(250, 204, 21, .30) !important;
    background: rgba(113, 63, 18, .22) !important;
    color: #fef3c7 !important;
}

body.ark-hub-auth .panel-heading,
body.ark-hub-auth .panel-body,
body.ark-hub-auth .card-body {
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
}

body.ark-hub-auth .panel-title,
body.ark-hub-auth .card-title {
    color: #f5f8ff !important;
    font-weight: 900 !important;
}

body.ark-hub-auth .social-or-login {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 22px 0 14px;
    color: rgba(232, 239, 253, .62) !important;
}

body.ark-hub-auth .social-or-login::before,
body.ark-hub-auth .social-or-login::after {
    content: "";
    flex: 1;
    height: 1px;
    background: rgba(148, 181, 230, .18);
}

body.ark-hub-auth .login-container-register,
body.ark-hub-auth .lang-btn {
    margin-top: 16px !important;
    color: rgba(232, 239, 253, .68) !important;
    text-align: center !important;
}

body.ark-hub-auth .ark-auth-footer {
    margin: 18px auto 0;
    color: rgba(216, 228, 249, .52);
    text-align: center;
    font-size: 12px;
    line-height: 1.5;
}

body.ark-hub-auth .ark-auth-footer strong {
    color: rgba(232, 240, 255, .76);
}

body.ark-hub-auth .ark-auth-panel .ark-email-transition-card {
    margin: 0 0 22px !important;
    border-radius: 20px !important;
    background: linear-gradient(145deg, rgba(31, 48, 82, .98), rgba(13, 25, 47, .98)) !important;
}

body.ark-hub-auth.ark-email-transition-active #login-box,
body.ark-hub-auth.ark-email-transition-active .login-box {
    width: 100% !important;
    max-width: none !important;
}

body.ark-hub-auth .margin-bottom > iframe,
body.ark-hub-auth .margin-bottom > div,
body.ark-hub-auth .g-recaptcha,
body.ark-hub-auth .h-captcha {
    max-width: 100% !important;
}

body.ark-hub-auth .select-account {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
}

body.ark-hub-auth .select-account .TM-card {
    display: block !important;
    padding: 17px !important;
    text-decoration: none !important;
}

body.ark-hub-auth .select-account .TM-card:hover {
    border-color: rgba(94, 223, 216, .48) !important;
    background: rgba(26, 52, 88, .92) !important;
}

body.ark-hub-auth .user-list-name,
body.ark-hub-auth .user-list-email,
body.ark-hub-auth .user-info {
    color: #eef4ff !important;
}

@media (max-width: 680px) {
    body.ark-hub-auth .ark-auth-container,
    body.ark-hub-auth .login-container {
        width: min(100% - 22px, 700px) !important;
        padding-top: 18px !important;
    }

    body.ark-hub-auth .ark-auth-logo {
        min-height: 58px;
        padding: 10px 18px;
        border-radius: 18px;
    }

    body.ark-hub-auth .ark-auth-panel,
    body.ark-hub-auth #login-box,
    body.ark-hub-auth .login-box {
        padding: 20px !important;
        border-radius: 22px !important;
    }

    body.ark-hub-auth .ark-auth-title {
        font-size: clamp(31px, 11vw, 48px);
    }
}

@media (max-width: 380px) {
    body.ark-hub-auth .ark-auth-container,
    body.ark-hub-auth .login-container {
        width: calc(100% - 14px) !important;
    }

    body.ark-hub-auth .ark-auth-panel,
    body.ark-hub-auth #login-box,
    body.ark-hub-auth .login-box {
        padding: 17px !important;
    }

    body.ark-hub-auth .ark-auth-subtitle {
        font-size: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.ark-hub-auth *,
    body.ark-hub-auth *::before,
    body.ark-hub-auth *::after {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
    }
}

/* v0.1.1: the older global Hub back-button helper can attach itself to the
   generated authentication heading. Keep the node hidden so that helper stops
   retrying, and neutralize its flex wrapper without touching normal Hub pages. */
body.ark-hub-auth #arkviceBackBtn,
body.ark-hub-auth .arkvice-backbtn,
body.ark-hub-auth [data-ark-auth-legacy-back="1"] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

body.ark-hub-auth .ark-auth-hero .arkvice-titleline,
body.ark-hub-auth .ark-auth-hero .ark-auth-legacy-titleline {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    align-items: initial !important;
    justify-content: initial !important;
    flex-wrap: nowrap !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Make the real native submit control unmistakable. The element, form action,
   method, hidden inputs and WHMCS controller remain unchanged. */
body.ark-hub-auth .ark-auth-native-form .ark-auth-submit,
body.ark-hub-auth .ark-auth-native-form input[type="submit"],
body.ark-hub-auth .ark-auth-native-form button[type="submit"] {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 54px !important;
    margin: 14px 0 0 !important;
    clear: both !important;
    float: none !important;
    position: relative !important;
    z-index: 2 !important;
}

/* The runtime adds this class only when the real native submit control would
   otherwise begin below the first desktop/TV viewport. */
body.ark-hub-auth.ark-hub-auth--compact .ark-auth-container,
body.ark-hub-auth.ark-hub-auth--compact .login-container {
    width: min(100% - 24px, 780px) !important;
    max-width: 780px !important;
    padding-top: 12px !important;
    padding-bottom: 24px !important;
}

body.ark-hub-auth.ark-hub-auth--compact .ark-auth-hero {
    margin-bottom: 12px !important;
}

body.ark-hub-auth.ark-hub-auth--compact .ark-auth-logo-wrap {
    margin-bottom: 9px !important;
}

body.ark-hub-auth.ark-hub-auth--compact .ark-auth-logo {
    min-height: 48px !important;
    max-width: min(76vw, 360px) !important;
    padding: 8px 16px !important;
    border-radius: 18px !important;
}

body.ark-hub-auth.ark-hub-auth--compact .ark-auth-logo img {
    max-width: min(68vw, 310px) !important;
    max-height: 62px !important;
}

body.ark-hub-auth.ark-hub-auth--compact .ark-auth-kicker {
    margin-bottom: 5px !important;
    font-size: 11px !important;
}

body.ark-hub-auth.ark-hub-auth--compact .ark-auth-title {
    font-size: clamp(34px, 5vw, 48px) !important;
    line-height: 1 !important;
}

body.ark-hub-auth.ark-hub-auth--compact .ark-auth-subtitle {
    margin-top: 8px !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
}

body.ark-hub-auth.ark-hub-auth--compact .ark-auth-preview-badge {
    margin-top: 8px !important;
    padding: 5px 9px !important;
}

body.ark-hub-auth.ark-hub-auth--compact .ark-auth-panel,
body.ark-hub-auth.ark-hub-auth--compact #login-box,
body.ark-hub-auth.ark-hub-auth--compact .login-box {
    padding: 23px !important;
    border-radius: 22px !important;
}

body.ark-hub-auth.ark-hub-auth--compact .form-group {
    margin-bottom: 12px !important;
}

body.ark-hub-auth.ark-hub-auth--compact input.form-control,
body.ark-hub-auth.ark-hub-auth--compact select.form-control,
body.ark-hub-auth.ark-hub-auth--compact textarea.form-control,
body.ark-hub-auth.ark-hub-auth--compact .form-control {
    min-height: 48px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* Second compact pass for browser zoom, TV webviews and short desktop windows. */
body.ark-hub-auth.ark-hub-auth--very-compact .ark-auth-container,
body.ark-hub-auth.ark-hub-auth--very-compact .login-container {
    padding-top: 7px !important;
    padding-bottom: 16px !important;
}

body.ark-hub-auth.ark-hub-auth--very-compact .ark-auth-hero {
    margin-bottom: 8px !important;
}

body.ark-hub-auth.ark-hub-auth--very-compact .ark-auth-logo-wrap {
    margin-bottom: 5px !important;
}

body.ark-hub-auth.ark-hub-auth--very-compact .ark-auth-logo {
    min-height: 38px !important;
    max-width: min(66vw, 285px) !important;
    padding: 5px 11px !important;
    border-radius: 15px !important;
}

body.ark-hub-auth.ark-hub-auth--very-compact .ark-auth-logo img {
    max-width: min(60vw, 250px) !important;
    max-height: 44px !important;
}

body.ark-hub-auth.ark-hub-auth--very-compact .ark-auth-kicker {
    margin-bottom: 3px !important;
    font-size: 10px !important;
}

body.ark-hub-auth.ark-hub-auth--very-compact .ark-auth-title {
    font-size: clamp(31px, 4.2vw, 40px) !important;
}

body.ark-hub-auth.ark-hub-auth--very-compact .ark-auth-subtitle {
    margin-top: 5px !important;
    font-size: 13px !important;
}

body.ark-hub-auth.ark-hub-auth--very-compact .ark-auth-preview-badge {
    display: none !important;
}

body.ark-hub-auth.ark-hub-auth--very-compact .ark-auth-panel,
body.ark-hub-auth.ark-hub-auth--very-compact #login-box,
body.ark-hub-auth.ark-hub-auth--very-compact .login-box {
    padding: 18px 20px !important;
}

body.ark-hub-auth.ark-hub-auth--very-compact .form-group {
    margin-bottom: 9px !important;
}

/* Static fallback: begin compact on short desktop/TV viewports even before JS
   measures the live Croster form. */
@media (min-width: 681px) and (max-height: 900px) {
    body.ark-hub-auth .ark-auth-container,
    body.ark-hub-auth .login-container {
        padding-top: 12px !important;
        padding-bottom: 24px !important;
    }

    body.ark-hub-auth .ark-auth-hero {
        margin-bottom: 12px !important;
    }

    body.ark-hub-auth .ark-auth-logo-wrap {
        margin-bottom: 9px !important;
    }

    body.ark-hub-auth .ark-auth-logo {
        min-height: 48px !important;
        max-width: min(76vw, 360px) !important;
        padding: 8px 16px !important;
        border-radius: 18px !important;
    }

    body.ark-hub-auth .ark-auth-logo img {
        max-width: min(68vw, 310px) !important;
        max-height: 62px !important;
    }

    body.ark-hub-auth .ark-auth-title {
        font-size: clamp(34px, 5vw, 48px) !important;
    }

    body.ark-hub-auth .ark-auth-subtitle {
        margin-top: 8px !important;
        font-size: 15px !important;
    }

    body.ark-hub-auth .ark-auth-preview-badge {
        margin-top: 8px !important;
    }
}

