:root {
    --public-ink: #07111f;
    --public-panel: #0e1d31;
    --public-panel-2: #13243a;
    --public-accent: #f4dd22;
    --public-copy: #eef3f7;
    --public-muted: #96a4b5;
    --public-line: rgba(255, 255, 255, .12);
}

body.auth-page,
body.legal-page {
    min-height: 100vh;
    color: var(--public-copy);
    background: var(--public-ink) !important;
    font-family: "Poppins", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

body.auth-page::before,
body.legal-page::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(circle at 78% 10%, rgba(244, 221, 34, .09), transparent 30%),
        linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px);
    background-size: auto, 70px 70px, 70px 70px;
}

body.auth-page .preloader,
body.legal-page .preloader,
body.auth-page .banner_effect,
body.legal-page .banner_effect,
body.auth-page .rounded_shape,
body.legal-page .rounded_shape { display: none !important; }

body.auth-page .header_wrap,
body.legal-page .header_wrap {
    position: relative !important;
    top: auto;
    min-height: 82px;
    border-bottom: 1px solid var(--public-line);
    background: rgba(7, 17, 31, .92) !important;
    box-shadow: none !important;
}

body.auth-page .header_wrap .navbar,
body.legal-page .header_wrap .navbar { min-height: 82px; padding: 12px 0; }
body.auth-page .navbar-brand img,
body.legal-page .navbar-brand img { width: 155px !important; height: auto; }
body.auth-page .logo_dark,
body.legal-page .logo_dark { display: none !important; }

body.auth-page > section:not(.section_gradiant_dark) {
    min-height: calc(100vh - 176px);
    padding: 62px 0 80px !important;
    background: transparent !important;
}

body.auth-page > section .container { width: min(100% - 32px, 620px); }
body.signup-page > section .container { width: min(100% - 32px, 700px); }
body.auth-page > section .row { margin: 0; }
body.auth-page > section .col-lg-12 { width: 100%; padding: 0; }
body.auth-page .section_gradiant_dark { padding: 30px 0 0 !important; background: transparent !important; }
body.login-page .section_gradiant_dark,
body.signup-page .section_gradiant_dark { display: none; }
body.auth-page .banner_text h1 { color: var(--public-copy) !important; font-size: 40px; font-weight: 700; }
body.auth-page .banner_text h1 span { color: var(--public-accent) !important; }

body.auth-page .authorize_box {
    max-width: 580px;
    margin: 0 auto;
    padding: 38px !important;
    border: 1px solid var(--public-line);
    border-radius: 22px;
    background: linear-gradient(155deg, rgba(20,39,63,.97), rgba(10,25,43,.98)) !important;
    box-shadow: 0 35px 90px rgba(0,0,0,.35);
}
body.signup-page .authorize_box { max-width: 660px; }
body.auth-page .authorize_box .navbar-brand { display: inline-block; margin: 0 0 12px; }
body.auth-page .authorize_box .navbar-brand img { width: 170px !important; margin: 0 auto; }
body.auth-page .authorize_box select[onchange] {
    width: 100% !important;
    height: 46px;
    margin-top: 12px;
    padding: 0 14px;
    border: 1px solid var(--public-line) !important;
    border-radius: 9px;
    color: var(--public-muted) !important;
    background: #0a1728 !important;
}
body.auth-page .title_light h2 {
    margin: 0 0 12px;
    color: var(--public-copy) !important;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: -.02em;
}
body.login-page .title_light::after { content: "Welcome back. Enter your details to access your account."; display: block; margin: 4px auto 26px; color: var(--public-muted); font-size: 13px; }
body.signup-page .title_light::after { content: "Create your Dophinegroup account to continue."; display: block; margin: 4px auto 26px; color: var(--public-muted); font-size: 13px; }
body.lost-password-page .title_light::after { content: "We will send recovery instructions to your registered email."; display: block; margin: 4px auto 26px; color: var(--public-muted); font-size: 13px; }

body.auth-page .authorize_form .form-group { position: relative; margin-bottom: 16px; }
body.auth-page .authorize_form input:not([type="checkbox"]),
body.auth-page .authorize_form select {
    width: 100%;
    height: 54px;
    padding: 0 16px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 10px;
    outline: 0;
    color: var(--public-copy);
    background: #091725;
    box-shadow: none;
    transition: border-color .2s, box-shadow .2s;
}
body.auth-page .authorize_form input::placeholder { color: #66758a; opacity: 1; }
body.auth-page .authorize_form input:focus,
body.auth-page .authorize_form select:focus { border-color: rgba(244,221,34,.7); box-shadow: 0 0 0 4px rgba(244,221,34,.08); }
body.auth-page .authorize_form select { color: #9aa7b7; }
body.auth-page .authorize_form option { color: #1a2430; background: white; }
body.auth-page .toggle-password { position: absolute; top: 17px; right: 16px; color: var(--public-muted) !important; cursor: pointer; }
body.auth-page .authorize_form a { color: var(--public-accent) !important; }
body.auth-page .authorize_form span { color: var(--public-muted); font-size: 13px; }
body.auth-page .checkbox_field { display: flex !important; align-items: flex-start; gap: 10px; text-align: left; }
body.auth-page .checkbox_field input { margin-top: 5px; accent-color: var(--public-accent); }
body.auth-page .checkbox_field label { margin: 0; color: var(--public-muted); }
body.auth-page .authorize_form .btn-default {
    min-width: 170px;
    min-height: 52px;
    padding: 0 24px;
    border: 1px solid var(--public-accent) !important;
    border-radius: 10px;
    color: var(--public-ink) !important;
    background: var(--public-accent) !important;
    box-shadow: 0 12px 28px rgba(244,221,34,.14);
    font-weight: 700;
    text-transform: none;
    transition: transform .2s, background .2s;
}
body.auth-page .authorize_form .btn-default:hover { transform: translateY(-2px); background: #ffe831 !important; }
body.auth-page .loginMsg,
body.auth-page .signup_msg-container,
body.auth-page .reset-msg { margin-bottom: 14px; color: #ff8c8c !important; font-size: 13px; }

body.auth-page footer,
body.legal-page footer { border-top: 1px solid var(--public-line); background: #050c16 !important; }
body.auth-page footer .top_footer,
body.legal-page footer .top_footer { display: none; }
body.auth-page .bottom_footer,
body.legal-page .bottom_footer { padding: 24px 0; background: transparent !important; }
body.auth-page .copyright,
body.legal-page .copyright { margin: 0; color: #718095 !important; font-size: 12px; }
body.auth-page .footer_menu a,
body.legal-page .footer_menu a { color: #a5b0bd !important; font-size: 12px; }

body.legal-page .section_gradiant_dark { padding: 70px 0 44px !important; background: transparent !important; }
body.legal-page .banner_text h1 { max-width: 900px; margin: 0 auto; color: var(--public-accent) !important; font-size: clamp(34px, 5vw, 56px); font-weight: 700; line-height: 1.12; letter-spacing: -.035em; text-transform: none; }
body.legal-page > section:not(.section_gradiant_dark) { padding: 0 0 90px !important; background: transparent !important; }
body.legal-page > section:not(.section_gradiant_dark) > .container { width: min(100% - 36px, 980px) !important; max-width: 980px; }
body.legal-page > section:not(.section_gradiant_dark) > .container > .row { justify-content: center; }
body.legal-page > section:not(.section_gradiant_dark) .col-lg-8 { flex: 0 0 100%; max-width: 100%; }
body.legal-page .post-details,
body.legal-page .blog_content_detail {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}
body.legal-page .blog_content_detail > section,
body.legal-page .blog_content_detail {
    color: var(--public-muted);
}
body.legal-page .blog_content_detail p,
body.legal-page .blog_content_detail li {
    color: #aab5c2 !important;
    font-size: 14px;
    line-height: 1.85;
}
body.legal-page .blog_content_detail h5,
body.legal-page .blog_content_detail .p1 strong {
    color: var(--public-copy) !important;
}
body.legal-page .blog_content_detail h5 { margin-top: 42px; padding-top: 26px; border-top: 1px solid var(--public-line); font-size: 18px; }
body.legal-page table { display: block; width: 100%; overflow-x: auto; border-collapse: collapse; }
body.legal-page td { min-width: 160px; padding: 12px; border: 1px solid var(--public-line); color: #aab5c2; }
body.legal-page .btn-default { border-color: var(--public-accent) !important; color: var(--public-ink) !important; background: var(--public-accent) !important; }

@media (max-width: 767px) {
    body.auth-page .header_wrap .navbar,
    body.legal-page .header_wrap .navbar { min-height: 72px; }
    body.auth-page > section:not(.section_gradiant_dark) { padding-top: 36px !important; }
    body.auth-page .authorize_box { padding: 26px 18px !important; border-radius: 16px; }
    body.auth-page .authorize_box select[onchange] { font-size: 12px; }
    body.auth-page .title_light h2 { font-size: 26px; }
    body.auth-page .bottom_footer .row,
    body.legal-page .bottom_footer .row { gap: 12px; text-align: center; }
    body.auth-page .footer_menu,
    body.legal-page .footer_menu { justify-content: center; }
    body.legal-page .section_gradiant_dark { padding: 50px 0 32px !important; }
}
