/* RPay Minimal 2026
   Visual-only layer: premium graphite surfaces + emerald/teal accent.
   This file intentionally does not change application logic or layout behavior. */

:root{
  --rp-bg:#071310;
  --rp-bg-soft:#0b1915;
  --rp-sidebar:#091612;
  --rp-surface:#0f1f1a;
  --rp-surface-2:#132720;
  --rp-surface-3:#183229;
  --rp-line:rgba(153,246,228,.09);
  --rp-line-strong:rgba(94,234,212,.19);
  --rp-text:#f3fbf8;
  --rp-muted:#9db6ad;
  --rp-muted-2:#718e84;
  --rp-primary:#14b8a6;
  --rp-primary-2:#5eead4;
  --rp-cyan:#5eead4;
  --rp-green:#22c55e;
  --rp-yellow:#f59e0b;
  --rp-red:#ef4444;
  --rp-purple:#8b5cf6;
  --rp-radius:14px;
  --rp-radius-sm:10px;
  --rp-shadow:0 18px 42px rgba(0,0,0,.22);
  --rp-shadow-soft:0 8px 24px rgba(0,0,0,.14);

  --u40-bg:#071310;
  --u40-side:#091612;
  --u40-card:#0f1f1a;
  --u40-card2:#0b1915;
  --u40-line:rgba(153,246,228,.09);
  --u40-text:#f3fbf8;
  --u40-muted:#9db6ad;
  --u40-blue:#14b8a6;
  --u40-cyan:#5eead4;
  --u40-green:#22c55e;
  --u40-red:#ef4444;

  --bo-bg:#071310;
  --bo-side:#091612;
  --bo-card:#0f1f1a;
  --bo-card-2:#0b1915;
  --bo-line:rgba(153,246,228,.09);
  --bo-line-strong:rgba(20,184,166,.42);
  --bo-text:#f3fbf8;
  --bo-muted:#9db6ad;
  --bo-blue:#14b8a6;
  --bo-cyan:#5eead4;
  --bo-green:#22c55e;
  --bo-red:#ef4444;
  --bo-amber:#f59e0b;

  /* pages that use short variable names */
  --bg:#071310;
  --side:#091612;
  --card:#0f1f1a;
  --line:rgba(153,246,228,.09);
  --text:#f3fbf8;
  --muted:#9db6ad;
  --blue:#14b8a6;
  --green:#22c55e;
  --red:#ef4444;
}

html[data-theme-mode="light"],
body.rpay-auth:not(.dark-mode),
body:not(.dark):not(.dark-mode).minimal-light{
  --rp-bg:#f4faf7;
  --rp-bg-soft:#edf6f2;
  --rp-sidebar:#ffffff;
  --rp-surface:#ffffff;
  --rp-surface-2:#f4faf7;
  --rp-surface-3:#edf6f2;
  --rp-line:rgba(15,23,42,.08);
  --rp-line-strong:rgba(15,23,42,.14);
  --rp-text:#10211c;
  --rp-muted:#607a70;
  --rp-muted-2:#8ba39a;
  --rp-shadow:0 16px 38px rgba(15,23,42,.08);
  --rp-shadow-soft:0 7px 20px rgba(15,23,42,.06);
}

body{
  background:var(--rp-bg)!important;
  color:var(--rp-text)!important;
}
body::before{
  opacity:0!important;
  background:none!important;
}

/* ---------- Main dashboard / admin shell ---------- */
.dashboard-sidebar{
  background:var(--rp-sidebar)!important;
  border-color:var(--rp-line)!important;
}
.sidebar-menu .menu-item,
.sidebar-menu .submenu-item{
  border-radius:9px!important;
  color:var(--rp-muted)!important;
}
.sidebar-menu .menu-item:hover,
.sidebar-menu .submenu-item:hover{
  background:var(--rp-surface-2)!important;
  border-color:transparent!important;
}
.sidebar-menu .menu-item.active,
.sidebar-menu .submenu-item.active,
.sidebar-menu a[data-rpay-active="1"]{
  background:var(--rp-primary)!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
.dashboard-title::before{color:var(--rp-primary-2)!important}
.floating-header{
  background:color-mix(in srgb,var(--rp-surface) 96%,transparent)!important;
  border-color:var(--rp-line)!important;
  border-radius:12px!important;
  box-shadow:0 6px 22px rgba(0,0,0,.10)!important;
}

/* cards, panels and tables used throughout RPay */
.card,
.dashboard-card,
.balance-card,
.transaction-card,
.pix-card,
.withdraw-card,
.settings-card,
.profile-card,
.payment-card,
.provider-card,
.webhook-card,
.stat-card,
.stats-card,
.content-card,
.panel{
  background:var(--rp-surface)!important;
  border-color:var(--rp-line)!important;
  box-shadow:none!important;
}

[class*="card"]:not(.register-card):not(.login-card){
  border-color:var(--rp-line);
}

/* remove decorative gradients from the core interface */
.balance-card,
.dashboard-card,
.provider-card,
.webhook-card,
.u40-card,
.u40-feature,
.bo-top,
.bo-side,
.u40-side{
  background-image:none!important;
}

/* buttons */
.btn-primary,
.primary-btn,
.action-primary,
.bo-btn,
.u40-btn.primary,
button.primary,
a.primary{
  background:var(--rp-primary)!important;
  border-color:var(--rp-primary)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.btn-primary:hover,
.primary-btn:hover,
.action-primary:hover,
.bo-btn:hover,
.u40-btn.primary:hover,
button.primary:hover,
a.primary:hover{
  background:#0f766e!important;
  border-color:#0f766e!important;
  filter:none!important;
  transform:translateY(-1px);
}
.btn-secondary,
.secondary-btn,
.bo-btn.secondary,
.u40-btn{
  background:var(--rp-surface-2)!important;
  border:1px solid var(--rp-line)!important;
  color:var(--rp-text)!important;
  box-shadow:none!important;
}

/* inputs */
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea,
.form-control,
.provider-input{
  background:var(--rp-surface-2)!important;
  border-color:var(--rp-line)!important;
  color:var(--rp-text)!important;
  box-shadow:none!important;
}
input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.provider-input:focus{
  border-color:rgba(20,184,166,.72)!important;
  box-shadow:0 0 0 3px rgba(20,184,166,.12)!important;
  outline:none!important;
}
input::placeholder,textarea::placeholder{color:var(--rp-muted-2)!important}

/* status pills */
.badge,
.status-badge,
.provider-badge,
.u40-status,
.bo-active{
  box-shadow:none!important;
}

/* ---------- Legacy user settings ---------- */
.u40-side{background:var(--u40-side)!important}
.u40-nav a:hover,.u40-nav a.active{
  background:rgba(20,184,166,.14)!important;
  color:#fff!important;
}
.u40-card{background:var(--u40-card)!important}
.u40-icon{
  background:var(--u40-card2)!important;
  color:#99f6e4!important;
}
.u40-avatar{
  background:var(--u40-blue)!important;
}
.u40-btn{background:var(--u40-card2)!important}
.u40-api-box{background:var(--u40-card2)!important}
.u40-method{background:rgba(20,184,166,.14)!important;color:#99f6e4!important}
.u40-mobile{background:var(--u40-card)!important}

/* ---------- Backoffice pages ---------- */
.bo-side{background:var(--bo-side)!important}
.bo-nav a:hover,.bo-nav a.active{
  background:rgba(20,184,166,.14)!important;
  color:#fff!important;
}
.bo-top,
.provider-card,
.webhook-card{background:var(--bo-card)!important}
.provider-logo{background:var(--bo-card-2)!important;color:#99f6e4!important}
.provider-card.active{border-color:rgba(20,184,166,.55)!important;box-shadow:none!important}
.provider-input,.webhook-item code{background:var(--bo-card-2)!important}
.bo-mobile-toggle{background:var(--bo-card)!important}

/* ---------- Authentication ---------- */
body.rpay-auth{
  background:#f7f7f8!important;
}
body.rpay-auth.dark-mode{
  background:#0a0a0b!important;
}
.login-container,
.register-container{
  border:1px solid rgba(15,23,42,.08)!important;
  box-shadow:0 24px 70px rgba(15,23,42,.10)!important;
}
body.rpay-auth.dark-mode .login-container,
body.rpay-auth.dark-mode .register-container{
  border-color:rgba(255,255,255,.08)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.28)!important;
}
.login-container::before,
.register-container::before,
body.rpay-register .register-showcase{
  background:#111827!important;
  background-image:none!important;
}
.login-card,
.register-card,
body.rpay-register .register-card{
  background:#fff!important;
  box-shadow:none!important;
}
body.rpay-auth.dark-mode .login-card,
body.rpay-auth.dark-mode .register-card,
body.rpay-register.dark-mode .register-card{
  background:#111113!important;
}
.btn-login,
.btn-register,
body.rpay-register .btn-register{
  background:#14b8a6!important;
  border-color:#14b8a6!important;
  box-shadow:none!important;
}
.btn-login:hover,
.btn-register:hover,
body.rpay-register .btn-register:hover{background:#0f766e!important}
body.rpay-register{background:#f7f7f8!important}
body.rpay-register.dark-mode{background:#0a0a0b!important}
body.rpay-register .register-container{border-radius:20px!important;box-shadow:0 22px 64px rgba(15,23,42,.10)!important}
body.rpay-register.dark-mode .register-container{background:#111113!important}
body.rpay-register .register-showcase::before{display:none!important}
body.rpay-register .register-showcase-media{background:#0f172a!important;border-color:rgba(255,255,255,.08)!important}
body.rpay-register .register-consent-input:checked + .register-consent-box{background:#14b8a6!important;border-color:#14b8a6!important;box-shadow:0 0 0 3px rgba(20,184,166,.12)!important}

/* ---------- Biometric / one-off pages using short vars ---------- */
.shell .side,
aside.side{background:var(--side)!important;border-color:var(--line)!important}
.shell .card,
.shell .stat,
.shell .panel,
.wrap .card,
.wrap .panel{background:var(--card)!important;border-color:var(--line)!important;box-shadow:none!important}
.nav a.active,.nav a:hover{background:rgba(20,184,166,.14)!important}
.eyebrow{color:#5eead4!important}
.filters a.active{background:#14b8a6!important}
.photo,.check,.review input,.code{background:#111113!important}

/* landing/public sections: keep structure, simplify surfaces */
body .dashboard-card,
body .feature-card,
body .pricing-card,
body .faq-item{
  box-shadow:none!important;
}

/* Tables */
table,
.table{--bs-table-bg:transparent!important;--bs-table-color:var(--rp-text)!important}
thead th{
  color:var(--rp-muted)!important;
  border-color:var(--rp-line)!important;
}
tbody td{border-color:var(--rp-line)!important}
tbody tr:hover{background:rgba(255,255,255,.025)!important}

/* Scrollbar */
*{scrollbar-color:#3f3f46 transparent;scrollbar-width:thin}
*::-webkit-scrollbar{width:8px;height:8px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:#3f3f46;border-radius:999px}

/* Light theme refinements */
html[data-theme-mode="light"] .dashboard-sidebar{
  background:#fff!important;
}
html[data-theme-mode="light"] .sidebar-menu .menu-item.active,
html[data-theme-mode="light"] .sidebar-menu .submenu-item.active,
html[data-theme-mode="light"] .sidebar-menu a[data-rpay-active="1"]{color:#fff!important}
html[data-theme-mode="light"] .card,
html[data-theme-mode="light"] .dashboard-card,
html[data-theme-mode="light"] .panel{background:#fff!important}
html[data-theme-mode="light"] input:not([type="checkbox"]):not([type="radio"]),
html[data-theme-mode="light"] select,
html[data-theme-mode="light"] textarea,
html[data-theme-mode="light"] .form-control{background:#f8fafc!important;color:#0f172a!important}

@media(max-width:760px){
  .floating-header{border-radius:10px!important}
  .dashboard-sidebar,.bo-side,.u40-side{box-shadow:14px 0 38px rgba(0,0,0,.22)!important}
}

/* V7.2.2 - Admin login proportions */
@media (min-width: 901px) {
  body.rpay-admin-login {
    padding: 24px !important;
  }

  body.rpay-admin-login .login-container:has(.login-step) {
    width: min(calc(100% - 48px), 1080px) !important;
    max-width: 1080px !important;
    min-height: min(680px, calc(100vh - 48px)) !important;
    grid-template-columns: minmax(380px, .94fr) minmax(470px, 1.06fr) !important;
    grid-template-rows: auto 1fr !important;
    border-radius: 22px !important;
  }

  body.rpay-admin-login .login-container:has(.login-step)::before {
    content: "Infraestrutura de pagamentos\Apara uma operação mais simples,\Arápida e segura." !important;
    padding: 44px 46px !important;
    font-size: clamp(23px, 2vw, 27px) !important;
    line-height: 1.18 !important;
    letter-spacing: -.035em !important;
    font-weight: 730 !important;
    text-wrap: balance;
  }

  body.rpay-admin-login .login-container:has(.login-step)::after {
    left: 46px !important;
    top: 44px !important;
    font-size: 9px !important;
    letter-spacing: .16em !important;
  }

  body.rpay-admin-login .admin-login-hero-logo {
    top: 25% !important;
    width: 47% !important;
    height: 26% !important;
    padding: 18px 48px !important;
  }

  body.rpay-admin-login .admin-login-hero-logo img {
    width: min(66%, 230px) !important;
    max-width: 230px !important;
    max-height: 108px !important;
    filter: drop-shadow(0 14px 28px rgba(0,0,0,.20)) !important;
  }

  body.rpay-admin-login .login-container:has(.login-step) .login-header,
  body.rpay-admin-login .login-container:has(.login-step) .login-step {
    width: min(100%, 460px) !important;
    justify-self: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.rpay-admin-login .login-container:has(.login-step) .login-header {
    align-self: end !important;
    padding-top: 88px !important;
    padding-bottom: 18px !important;
  }

  body.rpay-admin-login .login-container:has(.login-step) .login-step {
    align-self: start !important;
    padding-top: 0 !important;
    padding-bottom: 72px !important;
  }

  body.rpay-admin-login .login-header .logo {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 128px !important;
    max-height: 34px !important;
    margin: 0 0 20px 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  body.rpay-admin-login .login-title {
    font-size: 23px !important;
    line-height: 1.18 !important;
    font-weight: 720 !important;
    letter-spacing: -.03em !important;
    margin: 0 0 7px !important;
  }

  body.rpay-admin-login .login-subtitle {
    max-width: 430px !important;
    font-size: 12.5px !important;
    line-height: 1.5 !important;
    margin: 0 !important;
  }

  body.rpay-admin-login .form-group {
    margin-bottom: 15px !important;
  }

  body.rpay-admin-login .form-label {
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    margin-bottom: 7px !important;
  }

  body.rpay-admin-login .form-input {
    height: 44px !important;
    padding: 0 13px !important;
    border-radius: 9px !important;
    font-size: 13px !important;
  }

  body.rpay-admin-login .login-button {
    height: 44px !important;
    margin-top: 7px !important;
    border-radius: 9px !important;
    font-size: 12.5px !important;
  }
}

@media (max-width: 900px) {
  body.rpay-admin-login .login-title {
    font-size: 22px !important;
    line-height: 1.2 !important;
  }

  body.rpay-admin-login .login-subtitle {
    font-size: 12.5px !important;
    line-height: 1.5 !important;
  }

  body.rpay-admin-login .login-header .logo {
    width: auto !important;
    height: auto !important;
    max-width: 126px !important;
    max-height: 34px !important;
    margin: 0 0 18px 0 !important;
    object-position: left center !important;
  }
}


/* V7.3.2 - Admin login: cards Pix / Segurança / API sem texto cortado */
body.rpay-admin-login .admin-login-trust{
  display:none;
}
@media (min-width:901px){
  body.rpay-admin-login .admin-login-trust{
    position:absolute!important;
    z-index:5!important;
    left:38px!important;
    bottom:154px!important;
    width:calc(47% - 64px)!important;
    max-width:none!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
    pointer-events:none!important;
  }
  body.rpay-admin-login .admin-login-trust-item{
    min-width:0!important;
    min-height:68px!important;
    padding:10px 11px!important;
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    overflow:visible!important;
    border:1px solid rgba(94,234,212,.22)!important;
    border-radius:12px!important;
    background:rgba(5,18,36,.34)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 8px 22px rgba(0,0,0,.10)!important;
    backdrop-filter:blur(7px)!important;
    -webkit-backdrop-filter:blur(7px)!important;
  }
  body.rpay-admin-login .admin-login-trust-icon{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    border-radius:8px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:#99f6e4!important;
    background:rgba(20,184,166,.16)!important;
    border:1px solid rgba(153,246,228,.16)!important;
    font-size:12px!important;
  }
  body.rpay-admin-login .admin-login-trust-item>span:last-child{
    min-width:0!important;
    flex:1 1 auto!important;
    display:flex!important;
    flex-direction:column!important;
    gap:3px!important;
    overflow:visible!important;
  }
  body.rpay-admin-login .admin-login-trust-item strong{
    color:#fff!important;
    font-size:11px!important;
    line-height:1.15!important;
    font-weight:750!important;
    letter-spacing:-.01em!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  body.rpay-admin-login .admin-login-trust-item small{
    display:block!important;
    color:rgba(226,232,240,.72)!important;
    font-size:8.5px!important;
    line-height:1.25!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
  }
}
@media (min-width:901px) and (max-width:1040px){
  body.rpay-admin-login .admin-login-trust{
    left:28px!important;
    width:calc(47% - 48px)!important;
    gap:6px!important;
  }
  body.rpay-admin-login .admin-login-trust-item{
    min-height:62px!important;
    padding:8px 7px!important;
    gap:6px!important;
  }
  body.rpay-admin-login .admin-login-trust-icon{
    width:25px!important;
    height:25px!important;
    min-width:25px!important;
  }
  body.rpay-admin-login .admin-login-trust-item strong{font-size:9.5px!important}
  body.rpay-admin-login .admin-login-trust-item small{font-size:7.5px!important; line-height:1.15!important}
}


/* V7.4.0 — identidade premium grafite + esmeralda */
:root{
  --dashboard-blue:#14b8a6;
  --dashboard-cyan:#2dd4bf;
  --primary-rgb:20,184,166;
  --secondary-rgb:45,212,191;
}
html[data-theme-mode="dark"]{
  --bg-primary:#071310;
  --bg-secondary:#0b1915;
  --bg-card:#0f1f1a;
  --text-primary:#f3fbf8;
  --text-muted:#9db6ad;
  --border-color:rgba(153,246,228,.10);
}
html[data-theme-mode="light"]{
  --bg-primary:#f4faf7;
  --bg-secondary:rgba(255,255,255,.96);
  --bg-card:#ffffff;
  --text-primary:#10211c;
  --text-muted:#607a70;
  --border-color:rgba(15,118,110,.12);
}
body.rpay-auth{--primary:#14b8a6;--primary-2:#2dd4bf;--primary-soft:#e6fffb;}
body.rpay-auth.dark-mode{
  --bg:#071310;--surface:#0e201a;--surface-2:#132821;--text:#f3fbf8;--muted:#9db6ad;--line:#214238;--field:#0b1c17;--primary-soft:#11362f;
}
body.rpay-auth:not(.dark-mode){--bg:#f4faf7;--surface:#fff;--surface-2:#f1f8f5;--text:#10211c;--muted:#607a70;--line:#d8e8e1;--field:#f5faf8;}
body.rpay-auth .submit-btn,
body.rpay-register .btn-register,
body.rpay-admin-login .login-button{
  background:linear-gradient(135deg,#14b8a6,#0f766e)!important;
  box-shadow:0 12px 28px rgba(20,184,166,.22)!important;
}
body.rpay-auth .input-shell:focus-within,
body.rpay-admin-login .form-input:focus{
  border-color:rgba(20,184,166,.78)!important;
  box-shadow:0 0 0 4px rgba(20,184,166,.11)!important;
}
body.rpay-admin-login .theme-toggle:hover{background:linear-gradient(135deg,#14b8a6,#2dd4bf)!important;}
body.rpay-admin-login .admin-login-trust-item{border-color:rgba(94,234,212,.18)!important;background:rgba(20,184,166,.065)!important;}
body.rpay-admin-login .admin-login-trust-icon{background:linear-gradient(135deg,rgba(20,184,166,.23),rgba(45,212,191,.12))!important;color:#99f6e4!important;}
body.rpay-register .register-showcase-feature{border-color:rgba(94,234,212,.15)!important;background:rgba(9,30,25,.62)!important;}
body.rpay-register .register-showcase-feature-icon{background:rgba(20,184,166,.14)!important;color:#99f6e4!important;border-color:rgba(94,234,212,.18)!important;}
.dashboard-sidebar .sidebar-menu .menu-item.active,
.dashboard-sidebar .sidebar-menu .submenu-item.active,
.sidebar-menu .menu-item.active,
.sidebar-menu .submenu-item.active{box-shadow:0 8px 20px rgba(20,184,166,.16)!important;}
.floating-header{box-shadow:0 8px 28px rgba(4,22,17,.18)!important;}
.card,.dashboard-card,.balance-card,.transaction-card,.pix-card,.withdraw-card,.settings-card,.profile-card,.payment-card,.provider-card,.webhook-card,.stat-card,.stats-card,.content-card,.panel{border-color:rgba(153,246,228,.09)!important;}
