
:root{
  --bg:#07090d;
  --bg2:#110406;
  --card:#101319;
  --card2:#0e1218;
  --text:#ffffff;
  --muted:#b7c0cf;
  --soft:#dbe5f7;
  --line:rgba(255,255,255,.10);
  --line-2:rgba(255,255,255,.06);
  --shadow:0 20px 50px rgba(0,0,0,.28);
  --shadow-soft:0 10px 30px rgba(0,0,0,.22);
  --radius:22px;
  --radius-sm:16px;
  --red1:#ff2020;
  --red2:#ff4d35;
  }
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Inter,Arial,Helvetica,sans-serif;
background:
  radial-gradient(circle at left top,#f2f4f7 0,#e9edf2 35%,transparent 60%),
  radial-gradient(circle at right top,rgba(180,180,180,.25) 0,transparent 30%),
  linear-gradient(180deg,#f8fafc 0,#eef2f6 60%,#e5e9ef 100%);

color: var(--text);
min-height: 100vh;
}

a{text-decoration:none;color:inherit}
.container{width:min(1180px,calc(100% - 32px));margin:0 auto}
.header{padding:28px 0 12px}
.brand{display:flex;gap:14px;align-items:center}
.logo-box{
  width:70px;
  height:70px;

  background-image:url("img/logo.png");
  background-size:contain;
  background-position:center;
  background-repeat:no-repeat;

  box-shadow:
  0 22px 40px rgba(255,32,32,.22),
  inset 0 1px 0 rgba(255,255,255,.18);
}
.brand h1,.brand h2{
  margin:0;
  font-size:32px;
  line-height:1.05;
  font-weight:800;
  letter-spacing:-.02em;
  color:#374151; /* cinza escuro moderno */
}
.subtitle{margin:5px 0 0;color:#808080;font-size:15px}
.card{
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.022));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  backdrop-filter:blur(8px);
}
.panel{padding:26px}
.form-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:22px;align-items:start}
@media (max-width:900px){.form-grid{grid-template-columns:1fr}}

label{
  display:inline-block;
  margin:0 0 8px;
  padding:6px 14px;

  background:linear-gradient(180deg,#374151,#1f2937); /* mesma cor admin */
  border:1px solid rgba(0,0,0,.25);

  color:#FFFFFF; /* Branco */

  font-size:14px;
  font-weight:700;
  letter-spacing:.04em;

  border-radius:999px;

  box-shadow:0 4px 10px rgba(0,0,0,.25);

  transition:.25s;
}

label:hover{
  background:#1f2937;
}

input,select,textarea{
  width:100%;padding:14px 15px;border-radius:16px;background:#0f1319;
  border:1px solid rgba(255,255,255,.09);color:#fff;outline:none;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
input:hover,select:hover,textarea:hover{border-color:rgba(255,255,255,.14)}
input:focus,select:focus,textarea:focus{border-color:rgba(255,80,80,.8);box-shadow:0 0 0 4px rgba(255,60,60,.12)}
textarea{min-height:108px;resize:vertical}
code{background:#0f1318;border:1px solid var(--line-2);padding:2px 7px;border-radius:9px;color:#f4f8ff}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.1);
  background:#151922;color:#fff;cursor:pointer;font-weight:800;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft);border-color:rgba(255,255,255,.18)}
.btn-primary{background:linear-gradient(135deg,var(--red1),var(--red2));border-color:transparent;box-shadow:0 18px 30px rgba(255,31,31,.20)}
.btn-ghost{background:rgba(255,255,255,.02)}
.btn-ghost{  padding:11px 18px;  border-radius:999px;  background:linear-gradient(180deg,#374151,#1f2937);  border:1px solid rgba(0,0,0,.25);
  color:#ffffff;  font-weight:700;  text-decoration:none;  box-shadow:0 6px 14px rgba(0,0,0,.25);  transition:all .25s ease;}
.btn-ghost:hover{  transform:translateY(-1px);  background:#1f2937;  box-shadow:0 10px 20px rgba(0,0,0,.35);}
.btn-small{padding:8px 12px;font-size:13px;border-radius:12px}
.btn-danger{background:linear-gradient(135deg,#b30018,#ff233f);border-color:transparent}
.note{
  color:#374151; /* cinza mais escuro */
  font-size:14px;
  line-height:1.6;
}
.flash{padding:14px 16px;border-radius:15px;margin:0 0 18px;border:1px solid rgba(255,255,255,.08)}
.flash.success{background:rgba(15,150,80,.16);color:#d8ffe8}
.flash.error{background:rgba(180,20,45,.18);color:#ffe0e5}
.grid-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:18px}


.bank-btn{
  position:relative;
  isolation:isolate;

  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;

  height:84px;
  padding:0 18px;

  border-radius:999px;
  text-decoration:none;

  background:var(--card);
  border:1px solid rgba(255,255,255,.06);
  color:var(--text);

  overflow:hidden;

  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease;

  box-shadow:0 10px 24px rgba(0,0,0,.25);
}

.bank-btn__label{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

.bank-btn strong{
  font-size:18px;
  letter-spacing:.2px;
}

.bank-btn small{
  color:var(--muted);
}

.bank-btn:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.14);
}

/* Pulse ring */
.bank-btn.pulse .bank-btn__ring{
  position:absolute;
  inset:0;
  border-radius:inherit;
  z-index:-1;

  background:radial-gradient(
    60% 60% at 50% 50%,
    var(--ring, #22d3ee) 0%,
    transparent 70%
  );

  opacity:0;
  transform:scale(.9);
  transition:opacity .25s ease, transform .25s ease;
  filter:blur(12px);
}

.bank-btn.pulse::after,
.bank-btn.pulse::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:inherit;
  z-index:-2;

  background:conic-gradient(
    from 180deg,
    transparent,
    var(--ring, #22d3ee),
    transparent 60%
  );

  opacity:0;
  transform:rotate(0deg);
  transition:opacity .25s ease;
}

.bank-btn.pulse:hover .bank-btn__ring{
  opacity:.8;
  transform:scale(1);
}

.bank-btn.pulse:hover::after{
  animation:spin 1.8s linear infinite;
  opacity:.25;
}

.bank-btn.pulse:hover::before{
  animation:spin 2.4s linear infinite reverse;
  opacity:.15;
}

@keyframes spin{
  to{
    transform:rotate(360deg);
  }
}



.footer{padding:34px 0 40px;text-align:center;color:#b4becc}
.table-wrap{overflow:auto;border-radius:18px;border:1px solid var(--line-2);background:#000000;}
table{width:100%;border-collapse:collapse;min-width:820px}
th,td{padding:16px 14px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;vertical-align:top}
th{color:#eef4ff;font-size:12px;text-transform:uppercase;letter-spacing:.08em;background:rgba(255,255,255,.02);position:sticky;top:0}
tr:hover td{background:rgba(255,255,255,.015)}
.badge{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:700;background:#121926;border:1px solid rgba(255,255,255,.09);color:#eef4ff}
.badge input{width:auto;margin:0;accent-color:#ff4646}
.badge.public{background:rgba(0,110,255,.14)}
.badge.private{background:rgba(255,255,255,.06)}
.badge.on{background:rgba(17,154,87,.17)}
.badge.off{background:rgba(185,25,58,.17)}
.login-box{width:min(560px,calc(100% - 32px));margin:72px auto}
.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px;flex-wrap:wrap}
.muted{color:var(--muted)}
.copy-input{white-space:nowrap;overflow:auto;padding:12px 14px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#0c1016;color:#fff;max-width:260px}
.empty{padding:26px;text-align:center;color:#c8d1dd}

/* refinamentos do painel admin */
main.container{padding-bottom:46px}

.card.panel h2{
  font-size:30px;
  line-height:1.1;
  letter-spacing:-.02em;
  color:#374151; /* cinza escuro moderno */
}

.card.panel > .note:first-of-type{margin-top:-4px;margin-bottom:18px}
form .form-grid{margin-top:0}
input[type="date"]{min-height:49px}

/* index */
.header-actions{margin-left:auto;display:flex;align-items:center;gap:12px}

.admin-link{
  padding:11px 18px;
  border-radius:999px;

  background:linear-gradient(180deg,#374151,#1f2937);
  border:1px solid rgba(0,0,0,.25);

  color:#fff;
  font-weight:700;

  box-shadow:0 6px 14px rgba(0,0,0,.25);

  transition:.25s;
}

.admin-link:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(0,0,0,.35);
}


/* pague.php */
.hero-grid{display:grid;grid-template-columns:1fr 410px;gap:22px;align-items:start}
@media (max-width:980px){.hero-grid{grid-template-columns:1fr}}
.qr-box{display:flex;align-items:center;justify-content:center;padding:24px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid var(--line-2)}
.qr-box img{max-width:100%;height:auto;border-radius:14px;background:#fff;padding:10px}
.section-title{font-size:24px;font-weight:800;letter-spacing:-.02em;margin:0 0 14px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:640px){.field-row{grid-template-columns:1fr}}

/* pequenos ajustes responsivos */
@media (max-width:700px){
  .panel{padding:20px}
  .brand h1,.brand h2{font-size:27px}
  .grid-links{grid-template-columns:1fr}
  .copy-input{max-width:100%}
}


/* admin.php organizado: nova cobrança em cima, links gerados embaixo */
main.container > .form-grid{
  grid-template-columns:1fr !important;
  gap:26px;
}
main.container > .form-grid > section.card.panel{
  width:100%;
}
main.container > .form-grid > section.card.panel:first-child{
  order:1;
}
main.container > .form-grid > section.card.panel:last-child{
  order:2;
}
main.container > .form-grid > section.card.panel:first-child .actions{
  align-items:center;
}
main.container > .form-grid > section.card.panel:last-child{
  margin-top:2px;
}
main.container > .form-grid > section.card.panel:last-child h2{
  margin-bottom:8px;
}
main.container > .form-grid > section.card.panel:last-child .note{
  margin-bottom:18px;
}

