/* *****************************************************

    ** DATA.host — Tema do Cliente (WHMCS 9.0 / base Nexus) **

    Rebrand token-driven: o tema Nexus consome estas variáveis
    (--primary, --info, --rounding, etc.). Definindo a paleta da
    marca aqui, todo o Client Area assume a identidade DATA.host.

    Marca: azul #1062fe.

***************************************************** */

:root {
    --white: #fff;

    /* Neutral shades */
    --neutral-50: #f6f8fc;
    --neutral-100: #f1f5fe;   /* fundo suave da marca */
    --neutral-200: #e6e8ec;   /* bordas da marca */
    --neutral-300: #d0d5dd;
    --neutral-400: #9ca3af;
    --neutral-500: #6b7280;
    --neutral-600: #4b5563;
    --neutral-700: #374151;
    --neutral-800: #1f2937;
    --neutral-900: #0f172a;
    --neutral-950: #030712;

    /* ===== Paleta da marca DATA.host (azul #1062fe) ===== */
    --primary-50:  #eef4ff;
    --primary-100: #dbe7ff;
    --primary-200: #bfd5ff;
    --primary-300: #93b8ff;
    --primary-400: #6090ff;
    --primary-500: #3a6ffe;
    --primary-600: #1062fe;   /* cor principal da marca */
    --primary-700: #0b4fd6;
    --primary-800: #1041ac;
    --primary-900: #143a87;
    --primary-950: #0f2552;

    /* Primary colors -> apontam para o azul da marca */
    --primary: var(--primary-600);
    --primary-lifted: var(--primary-700);
    --primary-accented: var(--primary-800);

    /* Secondary colors */
    --secondary: var(--neutral-500);
    --secondary-lifted: var(--neutral-600);
    --secondary-accented: var(--neutral-700);

    /* Success colors */
    --success: #00a63e;
    --success-lifted: #008236;
    --success-accented: #016630;

    /* Info colors -> alinhado ao azul da marca */
    --info: var(--primary-600);
    --info-lifted: var(--primary-700);
    --info-accented: var(--primary-800);

    /* Notice colors */
    --notice: #7f22fe;
    --notice-lifted: #7008e7;
    --notice-accented: #5d0ec0;

    /* Warning colors */
    --warning: #f54a00;
    --warning-lifted: #ca3500;
    --warning-accented: #9f2d00;

    /* Error colors */
    --error: #e7000b;
    --error-lifted: #c10007;
    --error-accented: #9f0712;

    /* Grayscale colors */
    --grayscale: var(--neutral-900);
    --grayscale-lifted: var(--neutral-800);
    --grayscale-accented: var(--neutral-700);

    /* Neutral colors */
    --neutral: var(--neutral-500);
    --neutral-lifted: var(--neutral-600);
    --neutral-accented: var(--neutral-700);

    /* Text neutral colors */
    --text-inverted: var(--white);
    --text-muted: var(--neutral-400);
    --text-lifted: var(--neutral-500);
    --text-accented: var(--neutral-600);
    --text: var(--neutral-900);

    /* Border neutral colors */
    --border-muted: var(--neutral-200);
    --border: var(--neutral-300);
    --border-lifted: var(--neutral-400);
    --border-accented: var(--neutral-600);

    /* Background neutral colors */
    --bg: var(--white);
    --bg-muted: var(--neutral-50);
    --bg-lifted: var(--neutral-100);
    --bg-accented: var(--neutral-200);
    --bg-inverted: var(--neutral-900);

    /* Additional colors */
    --yellow-200: #fff085;
    --yellow-300: #ffdf20;
    --teal-300: #46edd5;
    --teal-400: #00d5be;
    --emerald-300: #5ee9b5;
    --pink-400: #fb64b6;

    /* Font sizes */
    --text-xs: 0.625rem;
    --text-sm: 0.75rem;
    --text-md: 0.875rem;
    --text-lg: 1rem;

    /* Spacing */
    --outline-sm: 1px;
    --outline-md: 2px;
    --outline-lg: 3px;

    /* Rounding — levemente mais suave (moderno) */
    --rounding-sm: 0.375rem;
    --rounding-md: 0.625rem;
    --rounding-lg: 0.875rem;

    /* Other */
    --letter-spacing: 0em;
    --disabled-opacity: 25%;
}

/* ===== Polimento leve (não intrusivo) ===== */
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
::selection { background: var(--primary-200); color: var(--primary-900); }

/* Foco acessível na cor da marca */
a:focus-visible,
button:focus-visible,
.btn:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: var(--outline-md) solid var(--primary-300);
    outline-offset: 1px;
}

/* ===== Overrides de componente para a marca =====
   O nexus é monocromático: usa --bg-inverted/--grayscale nos botões "primary".
   Aqui trazemos o azul da marca para as ações principais. */

/* Botão primário -> azul DATA.host */
.btn-primary {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: #fff !important;
}
.btn-primary:hover {
    background: var(--primary-lifted) !important;
    border-color: var(--primary-lifted) !important;
}
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active {
    background: var(--primary-accented) !important;
    border-color: var(--primary-accented) !important;
    box-shadow: 0 0 0 3px rgba(16, 98, 254, .25) !important;
}

/* Links na cor da marca */
a { color: var(--primary); }
a:hover { color: var(--primary-lifted); }

/* Item de navegação/menu ativo e destaque */
.nav-link.active,
.nav-link:hover,
.list-group-item.active {
    color: var(--primary);
}
.list-group-item.active {
    background-color: var(--primary);
    border-color: var(--primary);
    color: #fff;
}

/* Badge do carrinho / destaques */
.badge-primary,
.cart-btn .badge {
    background-color: var(--primary);
    color: #fff;
}

/* Foco de inputs na cor da marca */
.form-control:focus,
input:focus,
select:focus,
textarea:focus {
    border-color: var(--primary-300);
    box-shadow: 0 0 0 3px rgba(16, 98, 254, .15);
}

/* =====================================================================
   CAMADA GLOBAL — aplica a TODAS as páginas (área do cliente, loja, etc.)
   Tipografia premium + polimento de componentes compartilhados do Nexus.
   ===================================================================== */
body, .body, p, .btn, input, select, textarea, table, .card, .panel {
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .card-title, .panel-title,
.navbar-brand, .page-header, .section-title {
    font-family: "Plus Jakarta Sans", "Inter", sans-serif !important;
    letter-spacing: -.015em;
}

/* Cards / painéis com respiro e sombra suave */
.card, .panel {
    border-radius: var(--rounding-lg) !important;
    border-color: var(--border-muted) !important;
    box-shadow: 0 4px 16px rgba(16,40,120,.05);
}
.card:hover { box-shadow: 0 12px 30px rgba(16,40,120,.09); }
.card-header, .panel-heading { border-bottom-color: var(--border-muted) !important; }

/* Botões: raio + peso premium (herda a cor da marca já definida acima) */
.btn { border-radius: var(--rounding-md) !important; font-family: "Plus Jakarta Sans"; font-weight: 700; }

/* Tabelas: cabeçalho discreto e linhas com respiro */
.table thead th {
    text-transform: uppercase; font-size: .74rem; letter-spacing: .04em;
    color: var(--text-lifted); border-bottom: 2px solid var(--border-muted); font-weight: 700;
}
.table td, .table th { border-top-color: var(--border-muted); }
.table-hover tbody tr:hover { background: rgba(16,98,254,.035); }

/* Sidebar da área do cliente */
.sidebar .list-group-item, .list-group-item { border-color: var(--border-muted); }
.sidebar .list-group-item.active, .list-group-item.active {
    background: var(--primary); border-color: var(--primary);
}

/* Rodapé */
footer, .footer { border-top: 1px solid var(--border-muted); }

/* Badges de status (serviços/faturas) mais suaves */
.label, .badge { border-radius: 999px; font-weight: 700; letter-spacing: .01em; }

/* =====================================================================
   HEADER / NAVBAR — visual limpo e moderno (todas as páginas)
   ===================================================================== */
.header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.88);
    backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--border-muted); }
.header .navbar { padding: 0; margin: 0 !important; box-shadow: none; background: transparent; }
.header .navbar-light + .navbar-light, .main-navbar-wrapper { border-top: 0; }
.navbar-brand .logo-img { height: 34px; width: auto; }
.header .search .form-control { border-radius: 999px; background: #f2f6ff; border-color: transparent; }
.header .search .btn { border-radius: 999px; }
.main-navbar-wrapper .nav-link { font-weight: 600; color: var(--text-lifted); padding: .5rem .9rem; border-radius: 8px; }
.main-navbar-wrapper .nav-link:hover, .main-navbar-wrapper .nav-item.active .nav-link { color: var(--primary); background: var(--primary-50); }
.cart-btn .badge { background: var(--primary) !important; color: #fff; }
/* botões de login/registro do menu secundário com cara de CTA */
.navbar-nav.ml-auto .nav-link[href*="register"], .navbar-nav.ml-auto .nav-link[href*="cart.php"] {
    background: var(--grad, linear-gradient(115deg,#12b39b,#1062fe 50%,#8a1fe0)); color: #fff !important; border-radius: 10px; padding: .5rem 1.1rem; }

/* =====================================================================
   HOMEPAGE — full-bleed + remoção do chrome do Nexus (só na home)
   ===================================================================== */
body.dh-homepage { overflow-x: hidden; }
body.dh-homepage .master-breadcrumb { display: none; }          /* sem breadcrumb */
body.dh-homepage .home-domain-search { display: none; }         /* busca duplicada do Nexus escondida (o hero já tem) */
body.dh-homepage #main-body { padding: 0; margin: 0; }
body.dh-homepage #main-body > .row, body.dh-homepage #main-body .row { margin: 0; }
body.dh-homepage #main-body .primary-content { padding: 0 !important; }
body.dh-homepage #main-body .col-12 { padding: 0 !important; }
/* Full-bleed: cada seção rompe o container e ocupa a viewport inteira.
   O .wrap interno (max-width:1180px) mantém o conteúdo centralizado. */
body.dh-homepage .dh-home > section,
body.dh-homepage .dh-home > .dh-strip {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* =====================================================================
   ÁREA DO CLIENTE + LOGIN — design DATA.host (todas as páginas internas)
   ===================================================================== */
:root{ --dh-teal:#12b39b; --dh-violet:#8a1fe0; --grad:linear-gradient(115deg,#12b39b 0%,#1062fe 50%,#8a1fe0 100%); }

/* Fundo suave nas páginas internas (a home tem o seu próprio) */
body:not(.dh-homepage){ background:#f4f7ff; }

/* ---------- LOGIN / REGISTRO ---------- */
.card.mw-540{ border:0; border-radius:20px; box-shadow:0 24px 60px rgba(16,40,120,.14); overflow:hidden; }
.card.mw-540::before{ content:""; display:block; height:5px; background:var(--grad); }
.login-form label{ font-weight:600; color:var(--heading,#0f172a); }
.login-form .btn-primary, #frmCheckout .btn-primary{ padding:.7rem 1.2rem; }
/* fundo com leve mesh atrás do card de login */
body:not(.dh-homepage) #main-body{ position:relative; }

/* ---------- DASHBOARD: tiles de estatística ---------- */
.tiles .tile{
    background:#fff; border:1px solid var(--border-muted,#e6e8ec); border-radius:16px !important;
    padding:1.4rem; text-align:center; transition:transform .15s, box-shadow .15s; overflow:hidden; position:relative;
}
.tiles .row.no-gutters > [class*="col-"]{ padding:.5rem !important; }
.tiles .tile:hover{ transform:translateY(-4px); box-shadow:0 14px 30px rgba(16,98,254,.12); }
.tiles .tile > i{ font-size:1.6rem; color:var(--primary); margin-bottom:.4rem; }
.tiles .tile .stat{ font-family:"Plus Jakarta Sans"; font-weight:800; font-size:2rem; line-height:1; }
.tiles .tile .title{ color:var(--text-lifted,#6b7280); font-weight:600; font-size:.9rem; margin-top:.2rem; }
.tiles .tile .highlight{ position:absolute; left:0; right:0; bottom:0; height:4px; }
.bg-color-blue{ background:var(--primary) !important; } .bg-color-green{ background:var(--dh-teal) !important; }
.bg-color-orange{ background:#f5b301 !important; } .bg-color-red{ background:var(--dh-violet) !important; }

/* ---------- DASHBOARD: cards de conteúdo ---------- */
.client-home-cards .card{ border-radius:16px; border-color:var(--border-muted); box-shadow:0 4px 16px rgba(16,40,120,.05); transition:transform .15s, box-shadow .15s; }
.client-home-cards .card:hover{ transform:translateY(-3px); box-shadow:0 14px 30px rgba(16,40,120,.10); }
.card-accent-blue{ border-top:3px solid var(--primary) !important; }
.card-accent-green{ border-top:3px solid var(--dh-teal) !important; }
.card-accent-orange{ border-top:3px solid #f5b301 !important; }
.card-accent-red{ border-top:3px solid var(--dh-violet) !important; }

/* ---------- SIDEBAR ---------- */
.sidebar .card{ border-radius:16px; box-shadow:0 4px 16px rgba(16,40,120,.05); }
.sidebar .card-header{ font-family:"Plus Jakarta Sans"; font-weight:700; }
.sidebar-menu-item-icon,.sidebar .list-group-item i{ color:var(--primary); }
.list-group-item.active .sidebar-menu-item-icon{ color:#fff; }
.list-group-item{ border-color:var(--border-muted); transition:background .12s; }
.list-group-item:hover:not(.active){ background:var(--primary-50); }

/* ---------- TABELAS (serviços, faturas, domínios) ---------- */
.table{ background:#fff; }
.table thead th{ text-transform:uppercase; font-size:.74rem; letter-spacing:.04em; color:var(--text-lifted); border-bottom:2px solid var(--border-muted); font-weight:700; }
.table-hover tbody tr:hover{ background:rgba(16,98,254,.035); }
.card > .table, .card .table{ margin:0; }

/* ---------- CARRINHO / ORDER FORM ---------- */
.order-summary, .cart-items, #orderSummary .panel, .summary-container{ border-radius:16px; }
.product-info-boxout, .cart-product-group{ border-radius:16px; border-color:var(--border-muted); }
.btn-checkout, #btnCompleteOrder{ background:var(--grad) !important; border:0 !important; }

/* ---------- ALERTAS / STATUS ---------- */
.alert{ border-radius:12px; border:1px solid transparent; }
.alert-success{ background:#eafaf0; color:#15803d; border-color:#c8f0d6; }
.alert-info{ background:#eaf3ff; color:#0a47bb; border-color:#cfe2ff; }
.alert-warning{ background:#fff7ea; color:#b45309; border-color:#ffe6bf; }
.alert-danger{ background:#fdecec; color:#b91c1c; border-color:#f8cccc; }
.label-success,.badge-success{ background:var(--dh-teal) !important; }
.status-active,.label.active{ color:var(--dh-teal); }

/* ---------- FORMULÁRIOS ---------- */
.form-control, .custom-select{ border-radius:10px; border-color:var(--border-muted); }
.form-control:focus{ border-color:var(--primary-300); box-shadow:0 0 0 3px rgba(16,98,254,.15); }

/* ---------- PAGE HEADER / TÍTULOS ---------- */
.page-header h1, #main-body h1, .clientareacontainer h1{ font-family:"Plus Jakarta Sans"; font-weight:800; }

/* Botão de alternar tema */
.dh-theme-toggle{ border:0; background:transparent; color:var(--text-lifted); font-size:1.05rem; }
.dh-theme-toggle:hover{ color:var(--primary); }

/* =====================================================================
   TEMA ESCURO — html[data-theme="dark"]  (toggle no header)
   Flipa os tokens semânticos + superfícies principais. Refino depois.
   ===================================================================== */
html[data-theme="dark"]{
    --bg:#111a2e; --bg-muted:#0d1526; --bg-lifted:#182240; --bg-accented:#25304d;
    --text:#e6ebf5; --text-lifted:#9aa7c2; --text-accented:#c3cde3; --text-muted:#6b7690;
    --border:#2a3654; --border-muted:#25304d; --border-lifted:#33405f;
    --neutral-50:#0d1526; --neutral-100:#131d33; --neutral-200:#25304d;
    --grad:linear-gradient(115deg,#12b39b 0%,#3a86ff 50%,#8a1fe0 100%);
}
html[data-theme="dark"] body,
html[data-theme="dark"] body:not(.dh-homepage){ background:#0b1120; color:#e6ebf5; }
html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3,
html[data-theme="dark"] h4,html[data-theme="dark"] h5{ color:#fff; }
html[data-theme="dark"] .header{ background:rgba(13,18,32,.9); border-bottom-color:#25304d; }
html[data-theme="dark"] .navbar, html[data-theme="dark"] .main-navbar-wrapper{ background:transparent; }
html[data-theme="dark"] .main-navbar-wrapper .nav-link{ color:#c3cde3; }
html[data-theme="dark"] .header .search .form-control{ background:#182240; color:#e6ebf5; }
html[data-theme="dark"] .master-breadcrumb{ background:transparent; }
html[data-theme="dark"] .card,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .tiles .tile,
html[data-theme="dark"] .well,
html[data-theme="dark"] .list-group,
html[data-theme="dark"] .sidebar .card{ background:#151d33 !important; border-color:#25304d !important; color:#e6ebf5 !important; }
html[data-theme="dark"] .card *,html[data-theme="dark"] .panel *{ border-color:#25304d; }
html[data-theme="dark"] .text-muted,html[data-theme="dark"] .text-dark,html[data-theme="dark"] small{ color:#9aa7c2 !important; }
html[data-theme="dark"] body,html[data-theme="dark"] #main-body{ background:#0b1120 !important; }
html[data-theme="dark"] .master-breadcrumb{ background:transparent; color:#9aa7c2; }
html[data-theme="dark"] .card-header,html[data-theme="dark"] .panel-heading{ background:transparent; border-bottom-color:#25304d; color:#fff; }
html[data-theme="dark"] .card-footer{ background:transparent; border-top-color:#25304d; }
html[data-theme="dark"] .table{ background:transparent; color:#e6ebf5; }
html[data-theme="dark"] .table td,html[data-theme="dark"] .table th{ border-color:#25304d; }
html[data-theme="dark"] .table thead th{ color:#9aa7c2; border-bottom-color:#33405f; }
html[data-theme="dark"] .table-hover tbody tr:hover{ background:rgba(58,134,255,.08); }
html[data-theme="dark"] .list-group-item{ background:#151d33; border-color:#25304d; color:#e6ebf5; }
html[data-theme="dark"] .list-group-item:hover:not(.active){ background:#182240; }
html[data-theme="dark"] .form-control,html[data-theme="dark"] .custom-select{ background:#182240; border-color:#33405f; color:#e6ebf5; }
html[data-theme="dark"] .form-control::placeholder{ color:#6b7690; }
html[data-theme="dark"] footer{ background:#080d18; border-top-color:#25304d; }
html[data-theme="dark"] .btn-ghost,html[data-theme="dark"] .btn-default{ background:#182240; color:#e6ebf5; border-color:#33405f; }
html[data-theme="dark"] a{ color:#6fa2ff; }

/* Homepage no escuro: adapta as vars locais do .dh-home */
html[data-theme="dark"] .dh-home{ --ink:#e6ebf5; --slate:#9aa7c2; --line:#25304d; color:#e6ebf5; }
html[data-theme="dark"] .dh-home .dh-panel,
html[data-theme="dark"] .dh-home .dh-plan,
html[data-theme="dark"] .dh-home .dh-feat,
html[data-theme="dark"] .dh-home .dh-tcard,
html[data-theme="dark"] .dh-home .dh-mock,
html[data-theme="dark"] .dh-home .dh-mig,
html[data-theme="dark"] .dh-home .dh-faq details{ background:#151d33; border-color:#25304d; color:#e6ebf5; }
html[data-theme="dark"] .dh-home .dh-strip{ background:#0d1526; }
html[data-theme="dark"] .dh-home .dh-sec[style*="background:#fff"]{ background:#0d1526 !important; }
html[data-theme="dark"] .dh-home h1,html[data-theme="dark"] .dh-home h2,
html[data-theme="dark"] .dh-home h3,html[data-theme="dark"] .dh-home h4{ color:#fff; }
html[data-theme="dark"] .dh-home .dh-hero::before{
    background:
      radial-gradient(820px 480px at 82% 6%,rgba(138,31,224,.35),transparent 60%),
      radial-gradient(720px 520px at 60% 30%,rgba(16,98,254,.28),transparent 55%),
      radial-gradient(680px 480px at 8% 24%,rgba(18,179,155,.22),transparent 55%); }
html[data-theme="dark"] .dh-home .dh-hero-curve path,
html[data-theme="dark"] .dh-home .dh-curve-top path{ fill:#0d1526; }

/* =====================================================================
   AUTH (login/registro) — split-screen full-page
   ===================================================================== */
body.dh-authpage .master-breadcrumb,
body.dh-authpage .navbar-light,
body.dh-authpage .main-navbar-wrapper,
body.dh-authpage .topbar,
body.dh-authpage footer,
body.dh-authpage #main-body .alert-info { display:none; }
body.dh-authpage .header{ position:static; background:transparent; border:0; height:0; }
body.dh-authpage #main-body{ padding:0; margin:0; }
body.dh-authpage #main-body > .row, body.dh-authpage #main-body .row{ margin:0; }
body.dh-authpage #main-body .primary-content, body.dh-authpage #main-body .col-12{ padding:0 !important; }
/* quebra o .container do WHMCS para o login ocupar 100% da viewport */
body.dh-authpage #main-body .container{ max-width:none !important; width:100% !important; padding:0 !important; margin:0 !important; }
body.dh-authpage #main-body{ width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); }
body.dh-authpage{ overflow-x:hidden; }

.dh-auth{ display:grid; grid-template-columns:1.05fr 1fr; min-height:100vh; width:100%; }
.dh-auth-brand{ position:relative; overflow:hidden; color:#fff; padding:3rem 3.5rem; display:flex; flex-direction:column;
    background:radial-gradient(700px 400px at 18% 8%, rgba(255,255,255,.14), transparent 60%), linear-gradient(150deg,#12b39b 0%,#1062fe 55%,#8a1fe0 100%); }
.dh-auth-logo{ font-family:"Plus Jakarta Sans"; font-weight:800; font-size:1.7rem; color:#fff; letter-spacing:-.02em; }
.dh-auth-logo span{ opacity:.85; }
.dh-auth-brand-body{ margin:auto 0; }
.dh-auth-brand-body h2{ color:#fff; font-size:clamp(1.8rem,3vw,2.7rem); font-weight:800; margin-bottom:1rem; letter-spacing:-.02em; }
.dh-auth-brand-body p{ color:#eaf1ff; font-size:1.12rem; max-width:440px; }
.dh-auth-list{ list-style:none; padding:0; margin:1.8rem 0 0; display:grid; gap:.85rem; }
.dh-auth-list li{ display:flex; gap:.65rem; align-items:center; font-weight:600; }
.dh-auth-list svg{ width:24px; height:24px; stroke:#fff; stroke-width:2.5; fill:none; stroke-linecap:round; stroke-linejoin:round; background:rgba(255,255,255,.18); border-radius:7px; padding:3px; flex:none; }
.dh-auth-brand-foot{ color:rgba(255,255,255,.7); font-size:.85rem; }
.dh-auth-panel{ display:flex; flex-direction:column; justify-content:center; align-items:center; padding:3rem 2rem; background:var(--bg,#f4f7ff); }
.dh-auth-card{ width:100%; max-width:420px; background:transparent; border:0; box-shadow:none; }
.dh-auth-title{ font-family:"Plus Jakarta Sans"; font-weight:800; font-size:2rem; margin-bottom:.2rem; }
.dh-auth-remember{ display:block; margin-top:1rem; color:var(--text-lifted); font-weight:600; }
.dh-auth-foot{ max-width:420px; width:100%; margin-top:1.5rem; text-align:center; color:var(--text-lifted); }
.dh-authpage .card.mw-540::before{ display:none; }
@media(max-width:820px){ .dh-auth{ grid-template-columns:1fr; } .dh-auth-brand{ min-height:200px; padding:2rem; } .dh-auth-brand-body h2{ font-size:1.6rem; } .dh-auth-list{ display:none; } }

/* =====================================================================
   RAIL lateral (dashboard logado) — barra de ícones à esquerda
   ===================================================================== */
.dh-rail{ display:none; }
body.dh-loggedin{ padding-left:92px; }
body.dh-loggedin .dh-rail{ display:flex; position:fixed; top:0; left:0; bottom:0; width:92px; z-index:1050;
    flex-direction:column; align-items:center; padding:1.1rem .5rem; gap:.35rem; overflow-y:auto;
    background:#fff; border-right:1px solid var(--border-muted); }
.dh-rail-logo{ margin-bottom:1rem; } .dh-rail-logo img{ width:40px; height:40px; object-fit:contain; }
.dh-rail-nav{ display:flex; flex-direction:column; gap:.3rem; width:100%; align-items:center; flex:1; }
.dh-rail a{ display:flex; flex-direction:column; align-items:center; gap:.3rem; width:76px; padding:.6rem .2rem;
    border-radius:14px; color:var(--text-lifted); font-size:.66rem; font-weight:700; text-align:center; transition:.15s; }
.dh-rail a i{ font-size:1.3rem; }
.dh-rail a:hover{ background:var(--primary-50); color:var(--primary); }
.dh-rail a.active{ background:var(--grad); color:#fff; box-shadow:0 8px 18px rgba(16,98,254,.3); }
.dh-rail-logout{ color:#b91c1c !important; margin-top:auto; } .dh-rail-logout:hover{ background:#fdecec !important; }
body.dh-loggedin .main-navbar-wrapper{ display:none; }
html[data-theme="dark"] .dh-rail{ background:#0d1526; border-right-color:#25304d; }
html[data-theme="dark"] .dh-rail a:hover{ background:#182240; }
@media(max-width:820px){ body.dh-loggedin{ padding-left:0; } body.dh-loggedin .dh-rail{ display:none; } body.dh-loggedin .main-navbar-wrapper{ display:block; } }

/* Auth (login) legível no tema escuro */
html[data-theme="dark"] .dh-auth-panel{ background:#0b1120; }
html[data-theme="dark"] .dh-auth-panel label,
html[data-theme="dark"] .dh-auth-title,
html[data-theme="dark"] .dh-auth-panel p,
html[data-theme="dark"] .dh-auth-panel .form-control-label{ color:#e6ebf5 !important; }
html[data-theme="dark"] .dh-auth-panel .input-group-text{ background:#182240; border-color:#33405f; color:#9aa7c2; }
html[data-theme="dark"] .dh-auth-foot,html[data-theme="dark"] .dh-auth-remember{ color:#9aa7c2; }
/* Logo no rail/brand do auth: fundo claro p/ o wordmark colorido aparecer */
.dh-rail-logo img{ background:#fff; border-radius:10px; padding:4px; }
