:root{
  --bg:#0a0a14; --bg2:#0f1020; --card:#15162a; --line:#242545;
  --cyan:#22e0e0; --purple:#8a5cff; --txt:#eef0ff; --mut:#9aa0c8;
  --ok:#25d07a; --warn:#ffb020; --danger:#ff5470;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:
  radial-gradient(1200px 600px at 80% -10%,rgba(138,92,255,.18),transparent),
  radial-gradient(1000px 500px at -10% 20%,rgba(34,224,224,.12),transparent),var(--bg);
  color:var(--txt);min-height:100vh}
a{color:var(--cyan);text-decoration:none}
.logo{font-weight:800;font-size:26px;letter-spacing:1px;color:#fff}
.logo span{color:var(--cyan)}

/* ---------- site do cliente ---------- */
.hero{max-width:520px;margin:0 auto;padding:48px 20px 20px;text-align:center}
.hero .logo{font-size:44px;filter:drop-shadow(0 0 18px rgba(34,224,224,.5))}
.hero .logo-img{width:200px;max-width:66%;margin:0 auto;display:block;filter:drop-shadow(0 6px 24px rgba(138,92,255,.35))}
.login-box .logo-img{width:170px;margin:0 auto 6px;display:block}
.topbar .logo-img{height:40px;display:block}
.hero p.sub{color:var(--mut);margin:6px 0 28px;font-size:15px}
.box{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;
  box-shadow:0 20px 60px rgba(0,0,0,.4);text-align:left}
.box h2{margin:0 0 4px;font-size:19px}
.box .hint{color:var(--mut);font-size:13px;margin:0 0 18px}
label{display:block;font-size:13px;color:var(--mut);margin:14px 0 6px}
input,select{width:100%;padding:13px 14px;border-radius:11px;border:1px solid var(--line);
  background:var(--bg2);color:var(--txt);font-size:15px;outline:none}
input:focus,select:focus{border-color:var(--cyan)}
.code-input{text-align:center;font-size:26px;letter-spacing:4px;font-weight:700;text-transform:uppercase}
button{cursor:pointer;border:0;border-radius:11px;padding:14px 18px;font-size:15px;font-weight:700;
  color:#04121a;background:linear-gradient(90deg,var(--cyan),#54f0c8);width:100%;margin-top:18px;
  box-shadow:0 8px 24px rgba(34,224,224,.25)}
button.alt{background:linear-gradient(90deg,var(--purple),#b98bff);color:#fff}
button:disabled{opacity:.5;cursor:default}
.err{color:var(--danger);font-size:14px;margin:10px 0 0}
.ok-msg{color:var(--ok);font-size:14px;margin:10px 0 0}
.pill{display:inline-block;padding:5px 12px;border-radius:999px;font-size:13px;font-weight:700}
.pill.trial{background:rgba(255,176,32,.15);color:var(--warn)}
.pill.active{background:rgba(37,208,122,.15);color:var(--ok)}
.pill.expired{background:rgba(255,84,112,.15);color:var(--danger)}
.tabs{display:flex;gap:8px;margin:8px 0 4px}
.tabs button{margin:0;padding:10px;font-size:14px;background:var(--bg2);color:var(--mut);
  border:1px solid var(--line);box-shadow:none}
.tabs button.on{background:var(--cyan);color:#04121a;border-color:var(--cyan)}
.qr-wrap{text-align:center}
.qr-wrap img{width:260px;max-width:80%;background:#fff;border-radius:14px;padding:10px}
.copia{word-break:break-all;background:var(--bg2);border:1px dashed var(--line);border-radius:10px;
  padding:12px;font-size:12px;color:var(--mut);margin-top:12px}
.price{font-size:34px;font-weight:800;color:#fff;text-align:center;margin:6px 0}
.price small{font-size:14px;color:var(--mut);font-weight:500}
.hide{display:none}
.foot{text-align:center;color:var(--mut);font-size:12px;padding:26px}

/* ============ PAINEL ADMIN — redesign claro/profissional ============ */
body.admin{
  background:#f4f5fb;color:#1c2033;
  font-family:'Inter',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
body.admin a{color:#6b4eff}

/* topo escuro da marca */
body.admin .topbar{
  display:flex;justify-content:space-between;align-items:center;
  background:linear-gradient(90deg,#111124,#1a1b38);border-bottom:1px solid #23244a;
  padding:12px 26px;position:sticky;top:0;z-index:30;
}
body.admin .topbar .logo-img{height:42px;display:block}
body.admin .topbar .logout{color:#cdd0ee;font-weight:600;font-size:13.5px;padding:8px 14px;border-radius:9px;transition:background .12s}
body.admin .topbar .logout:hover{background:rgba(255,255,255,.09);color:#fff}

body.admin .wrap{max-width:1180px;margin:0 auto;padding:30px 24px 70px}

/* KPI cards */
body.admin .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:16px;margin-bottom:26px}
body.admin .cards .card{background:#fff;border:1px solid #e8eaf3;border-radius:16px;padding:20px;text-align:left;box-shadow:0 1px 2px rgba(20,23,40,.05)}
body.admin .cards .card b{display:block;font-size:33px;font-weight:800;color:#14162e;letter-spacing:-.02em;line-height:1.05}
body.admin .cards .card span{display:block;margin-top:5px;font-size:12.5px;font-weight:600;color:#8b91ae}
body.admin .cards .card.ok b{color:#0ca66e}
body.admin .cards .card.warn b{color:#e0603a}
body.admin .cards .card.live{border-color:#ffd3db}
body.admin .cards .card.live b{color:#f2385a}
body.admin .cards a.card{text-decoration:none;transition:transform .12s,box-shadow .12s,border-color .12s}
body.admin .cards a.card:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(124,92,255,.16);border-color:#cdbcff}

/* painéis */
body.admin .panel{background:#fff;border:1px solid #e8eaf3;border-radius:16px;padding:22px 24px;margin-bottom:20px;box-shadow:0 1px 2px rgba(20,23,40,.05)}
body.admin .panel h3{margin:0 0 16px;font-size:16.5px;font-weight:700;color:#181b30;letter-spacing:-.01em}
body.admin .panel h3 small{font-weight:500;color:#9096b2;font-size:13px}

/* tabelas */
body.admin table{width:100%;border-collapse:collapse;font-size:13.5px}
body.admin th{text-align:left;padding:11px 12px;color:#8a90ad;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #eceef6}
body.admin td{padding:13px 12px;border-bottom:1px solid #f1f2f8;color:#2b2f48;vertical-align:middle}
body.admin tbody tr{transition:background .1s}
body.admin tbody tr:hover{background:#faf9ff}
body.admin td.mono,body.admin .mono{font-family:ui-monospace,"SF Mono",Menlo,monospace;font-weight:600;font-size:12.5px;color:#3a3f5c}
body.admin small{color:#9096b2}

/* filtros */
body.admin .filt{padding:8px 15px;border-radius:10px;text-decoration:none;font-weight:600;font-size:13px;background:#eef0f8;color:#5a6080;border:1px solid #e4e6f1;transition:all .12s}
body.admin .filt:hover{background:#e6e8f4}
body.admin .filt.on{background:#7c5cff;color:#fff;border-color:#7c5cff;box-shadow:0 4px 12px rgba(124,92,255,.25)}
body.admin .filt b{font-weight:700;opacity:.8}

/* badges */
body.admin .badge{padding:5px 11px;border-radius:999px;font-size:11.5px;font-weight:700;display:inline-block}
body.admin .badge.trial{background:#fff3db;color:#b7791f}
body.admin .badge.active{background:#daf6e6;color:#0a9d67}
body.admin .badge.expired,body.admin .badge.blocked{background:#ffe3e8;color:#d43a56}
body.admin .badge.new{background:#eef0f7;color:#727a9c}

/* ações */
body.admin .acts{display:flex;gap:6px}
body.admin .acts form{margin:0}
body.admin button.mini{width:auto;margin:0;padding:7px 11px;font-size:13.5px;line-height:1;cursor:pointer;background:#f5f6fb;color:#4a4f6b;border:1px solid #e3e6f1;border-radius:9px;box-shadow:none;font-weight:600;transition:all .12s}
body.admin button.mini:hover{background:#fff;border-color:#c9cde0;transform:translateY(-1px)}
body.admin button.mini.ok:hover{border-color:#0ca66e;color:#0ca66e;background:#f2fbf6}
body.admin button.mini.danger:hover{border-color:#e5486a;color:#e5486a;background:#fff5f7}

/* formulários */
body.admin label{display:block;font-size:12.5px;font-weight:600;color:#6b7192;margin:14px 0 6px}
body.admin input,body.admin select{padding:11px 13px;border-radius:10px;border:1px solid #dde0ec;background:#fff;color:#1c2033;font-size:14px}
body.admin input:focus,body.admin select:focus{border-color:#7c5cff;outline:none;box-shadow:0 0 0 3px rgba(124,92,255,.13)}
body.admin .settings{display:flex;gap:16px;align-items:end;flex-wrap:wrap}
body.admin .settings label{margin:0}
body.admin .settings input{width:130px}
body.admin .settings .chk{display:flex;align-items:center;gap:8px;color:#2b2f48;font-size:14px;font-weight:500}
body.admin .settings .chk input{width:auto}
body.admin .panel button:not(.mini){width:auto;margin:0;color:#fff;background:linear-gradient(90deg,#7c5cff,#9a78ff);box-shadow:0 6px 18px rgba(124,92,255,.28);border-radius:10px;padding:11px 20px;font-weight:700;font-size:14px}
body.admin .panel button:not(.mini):hover{filter:brightness(1.06)}

/* login */
body.admin .login-box{max-width:390px;margin:9vh auto;background:#fff;border:1px solid #e8eaf3;border-radius:20px;padding:38px 34px;text-align:center;box-shadow:0 24px 70px rgba(20,23,40,.12)}
body.admin .login-box .logo-img{width:150px;margin:0 auto 16px;background:#111124;padding:16px 20px;border-radius:16px;filter:none}
body.admin .login-box h2{font-weight:600;font-size:15px;color:#8a90ad;margin:8px 0 22px}
body.admin .login-box input{width:100%}
body.admin .login-box button{width:100%;margin-top:18px;color:#fff;background:linear-gradient(90deg,#7c5cff,#9a78ff);box-shadow:0 6px 18px rgba(124,92,255,.28);border-radius:11px;padding:14px;font-weight:700}
body.admin .err{color:#d43a56}

/* layout com menu lateral */
body.admin .adm{display:flex;min-height:100vh;align-items:stretch}
body.admin .sidebar{width:236px;flex:0 0 236px;background:linear-gradient(180deg,#111124,#171834);display:flex;flex-direction:column;padding:22px 16px;position:sticky;top:0;height:100vh}
body.admin .sidebar .logo-img{height:52px;width:auto;margin:2px auto 22px;display:block}
body.admin .sidebar nav{display:flex;flex-direction:column;gap:4px;flex:1}
body.admin .nav{display:block;color:#b9bce0;text-decoration:none;font-weight:600;font-size:14px;padding:11px 14px;border-radius:10px;transition:all .12s}
body.admin .nav:hover{background:rgba(255,255,255,.06);color:#fff}
body.admin .nav.on{background:linear-gradient(90deg,#7c5cff,#9a78ff);color:#fff;box-shadow:0 6px 16px rgba(124,92,255,.35)}
body.admin .nav.sair{color:#8489b0;margin-top:8px}
body.admin .nav.sair:hover{color:#ff8098;background:rgba(255,84,112,.1)}
body.admin .content{flex:1;min-width:0;padding:28px 34px 60px;max-width:1140px}
body.admin .pgtitle{font-size:24px;font-weight:800;color:#14162e;letter-spacing:-.02em;margin:0 0 22px}
body.admin .pgtitle small{font-size:15px;font-weight:500;color:#9096b2}
body.admin .pgtitle a{font-size:14px}
body.admin .filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}

@media(max-width:820px){
  body.admin .adm{flex-direction:column}
  body.admin .sidebar{width:auto;flex:none;height:auto;position:sticky;top:0;z-index:30;flex-direction:row;align-items:center;padding:10px 14px;overflow-x:auto}
  body.admin .sidebar .logo-img{height:34px;margin:0 12px 0 0}
  body.admin .sidebar nav{flex-direction:row;gap:4px}
  body.admin .nav{white-space:nowrap;padding:9px 12px;font-size:13px}
  body.admin .nav.sair{margin-top:0}
  body.admin .content{padding:20px 16px 50px}
  body.admin .cards{grid-template-columns:repeat(2,1fr)}
}
