:root{
--blue:#0ea5ff;
--cyan:#00d4ff;
--pink:#ff3ea5;
--orange:#ff8a00;
--green:#00c978;
--purple:#7c3aed;
--bg:#f8faff;
--text:#101827;
--muted:#6b7280;
--card:#ffffff;
--red:#ff4d67;
--line:#e9ecf7;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{text-decoration:none;color:inherit}
.top{height:74px;background:#ffffffee;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:0 26px;box-shadow:0 4px 20px #00000008;position:sticky;top:0;z-index:10}
.brand{display:flex;align-items:center;gap:12px;font-weight:950;font-size:24px}
.logo{width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,var(--pink),var(--orange),var(--cyan));display:grid;place-items:center;color:#fff;font-size:24px;box-shadow:0 12px 25px #ff3ea540}
.brand span{background:linear-gradient(90deg,var(--pink),var(--orange),var(--cyan));-webkit-background-clip:text;color:transparent}
.nav{display:flex;gap:12px;align-items:center}
.btn{border:0;border-radius:18px;background:linear-gradient(135deg,var(--pink),var(--orange),var(--cyan));color:#fff;padding:15px 24px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.25s;box-shadow:0 15px 30px #ff3ea530}
.btn:hover{transform:translateY(-3px) scale(1.02)}
.btn.white{background:#fff;color:var(--text);border:1px solid var(--line);box-shadow:0 4px 14px #00000008}
.btn.green{background:linear-gradient(135deg,#00c978,#00e08f)}
.btn.red{background:linear-gradient(135deg,#ff4d67,#ff6b81)}
.btn.blue{background:linear-gradient(135deg,var(--blue),var(--purple))}
.wrap{max-width:1120px;margin:0 auto;padding:36px 20px}
.hero{text-align:center;padding:92px 14px 72px;background:radial-gradient(circle at 10% 20%,#ffe0f2 0,#ffffff00 28%),radial-gradient(circle at 85% 10%,#dff8ff 0,#ffffff00 30%),radial-gradient(circle at 50% 90%,#fff0d6 0,#ffffff00 32%),radial-gradient(circle at 70% 60%,#ede9ff 0,#ffffff00 30%),#fff;border-bottom-left-radius:44px;border-bottom-right-radius:44px}
.pill{display:inline-flex;gap:8px;align-items:center;background:#fff;border-radius:999px;padding:10px 18px;font-weight:900;color:#777;box-shadow:0 10px 25px #00000008}
.dot{width:12px;height:12px;background:#00c978;border-radius:50%;box-shadow:0 0 0 5px #dcfce7}
.hero h1{font-size:68px;line-height:1.08;margin:30px 0 18px;font-weight:950}
.grad{background:linear-gradient(90deg,var(--pink),var(--orange),var(--cyan),var(--purple));-webkit-background-clip:text;color:transparent}
.hero p{font-size:22px;line-height:1.7;max-width:800px;margin:0 auto 36px;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border:1px solid #fff;border-radius:32px;padding:28px;box-shadow:0 15px 40px #00000008,0 5px 18px #7c3aed10;transition:.25s}
.card:hover{transform:translateY(-5px)}
.center{text-align:center}
.muted{color:var(--muted)}
.form{max-width:700px;margin:50px auto}
.field{margin:18px 0}
.field label{display:block;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;color:#7a7d8d}
.input,select,textarea{width:100%;border:2px solid transparent;background:#fff;border-radius:20px;padding:18px;font-size:17px;outline:none;box-shadow:0 5px 16px #00000008;transition:.25s}
.input:focus,select:focus,textarea:focus{border-color:#c084fc;box-shadow:0 0 0 5px #c084fc20}
textarea{min-height:110px}
.banner{background:linear-gradient(90deg,var(--pink),var(--orange),var(--cyan),var(--purple));border-radius:28px;padding:28px;color:#fff;font-weight:900;box-shadow:0 18px 35px #7c3aed30}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.price{font-size:34px;font-weight:950;background:linear-gradient(90deg,var(--pink),var(--orange),var(--cyan));-webkit-background-clip:text;color:transparent}
.status{display:inline-flex;border-radius:999px;padding:8px 15px;font-weight:900;font-size:13px}
.processing{background:#fff7ed;color:#f97316}
.done{background:#dcfce7;color:#16c784}
.refunded{background:#f1f5f9;color:#64748b}
.app{display:grid;grid-template-columns:280px 1fr;min-height:calc(100vh - 74px)}
.side{background:#fff;border-right:1px solid var(--line);padding:24px;position:sticky;top:74px;height:calc(100vh - 74px);box-shadow:0 0 35px #00000005}
.userbox{display:flex;gap:12px;align-items:center;margin-bottom:24px}
.avatar{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,var(--pink),var(--orange),var(--cyan));color:#fff;display:grid;place-items:center;font-weight:900;font-size:24px;box-shadow:0 14px 30px #ff3ea535}
.money{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}
.money div{border-radius:20px;padding:14px;text-align:center;font-weight:900;background:#fff;box-shadow:0 5px 18px #00000008}
.money small{display:block;font-size:11px;text-transform:uppercase;color:#888}
.menu a{display:flex;gap:12px;align-items:center;padding:16px;border-radius:18px;margin:8px 0;font-weight:800;color:#7d8193;transition:.25s}
.menu a.active,.menu a:hover{background:linear-gradient(135deg,#f3e8ff,#ffe4f1,#e0f7ff);color:#7c3aed}
.content{padding:32px}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 10px 30px #00000008}
th,td{padding:16px;border-bottom:1px solid var(--line);text-align:left}
th{background:#fafbff;font-size:12px;text-transform:uppercase;color:#7d8193}
.alert{padding:14px 18px;border-radius:18px;margin:14px 0;font-weight:800}
.alert.ok{background:#dcfce7;color:#15803d}
.alert.err{background:#fee2e2;color:#b91c1c}
.mobilebar{display:none}
@media(max-width:760px){
.top{padding:0 14px;height:66px}
.brand{font-size:18px}.brand .hideMob,.nav .hideMob{display:none}
.logo{width:42px;height:42px;border-radius:14px}
.hero{padding:70px 18px}.hero h1{font-size:42px}.hero p{font-size:17px}
.grid{grid-template-columns:1fr}.app{display:block}.side{position:static;height:auto;border-right:0}.content{padding:22px 14px 90px}
.cards{grid-template-columns:1fr}.card{border-radius:26px}.wrap{padding:25px 14px}
.mobilebar{display:flex;position:fixed;bottom:0;left:0;right:0;height:74px;background:#fff;justify-content:space-around;align-items:center;box-shadow:0 -5px 25px #00000010;z-index:30}
.mobilebar a{font-size:12px;text-align:center;font-weight:800;color:#777}.mobilebar b{font-size:22px;display:block}
}


/* ADMIN MOBILE PREMIUM */
.admin-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:14px;
margin-bottom:18px
}
.admin-stat{
background:#fff;
border-radius:24px;
padding:18px;
box-shadow:0 10px 28px #00000008;
border:1px solid #ffffff
}
.admin-stat b{
display:block;
font-size:18px
}
.admin-stat span{
display:block;
color:var(--muted);
font-size:13px;
margin-top:5px
}
.admin-users{
display:grid;
grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
gap:14px;
margin:16px 0 22px
}
.admin-user-card{
background:#fff;
border-radius:24px;
padding:18px;
box-shadow:0 10px 28px #00000008;
display:grid;
gap:12px
}
.admin-user-card small{
display:block;
color:var(--muted);
margin:4px 0 8px;
word-break:break-all
}
.admin-balance{
font-size:28px;
font-weight:950;
background:linear-gradient(90deg,var(--pink),var(--orange),var(--cyan));
-webkit-background-clip:text;
color:transparent
}
.balance-form{
display:grid;
grid-template-columns:1fr 1fr auto;
gap:8px;
align-items:center
}
.balance-form select,
.balance-form .input{
padding:12px;
border-radius:14px
}
.balance-form .btn{
padding:12px 14px
}

@media(max-width:760px){
.admin-grid{
grid-template-columns:1fr;
gap:10px
}
.admin-stat{
padding:16px;
border-radius:20px
}
.admin-users{
grid-template-columns:1fr
}
.admin-user-card{
border-radius:20px;
padding:16px
}
.admin-balance{
font-size:25px
}
.balance-form{
grid-template-columns:1fr;
}
.balance-form .btn{
width:100%
}

/* tabelas viram cards no celular */
.content table,
.content thead,
.content tbody,
.content th,
.content td,
.content tr{
display:block;
width:100%
}
.content table{
background:transparent;
box-shadow:none;
border-radius:0
}
.content tr{
background:#fff;
border-radius:22px;
padding:14px;
margin:14px 0;
box-shadow:0 8px 24px #00000008
}
.content th{
display:none
}
.content td{
border:0;
padding:8px 0;
font-size:14px;
word-break:break-word
}
.content td:before{
content:"";
display:block;
font-size:11px;
font-weight:900;
color:#8b8d98;
text-transform:uppercase;
margin-bottom:3px
}
.content td:nth-child(1):before{content:"ID"}
.content td:nth-child(2):before{content:"Cliente / Tipo"}
.content td:nth-child(3):before{content:"Nome / Valor / Número"}
.content td:nth-child(4):before{content:"Operadora / Status"}
.content td:nth-child(5):before{content:"Dias / Plano"}
.content td:nth-child(6):before{content:"Preço / Código"}
.content td:nth-child(7):before{content:"Descrição / Status"}
.content td:nth-child(8):before{content:"Ativo / Ação"}
.content td:nth-child(9):before{content:"Ação"}
.content form{
max-width:100%
}
.content table .input,
.content table select{
width:100%!important;
min-width:0!important;
padding:12px;
border-radius:14px
}
.content table .btn{
width:100%;
margin-top:6px;
padding:12px
}
}

.qrbox{
display:flex;
justify-content:center;
align-items:center;
background:#fff;
border-radius:22px;
padding:16px;
margin:12px 0;
box-shadow:0 8px 24px #00000008
}
.qrbox img{
max-width:220px;
width:100%;
height:auto;
border-radius:14px
}


/* GERENCIAR CLIENTES E REVENDAS */
.search-row{
display:grid;
grid-template-columns:1fr auto auto;
gap:10px;
align-items:center
}
.manage-list{
display:grid;
grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
gap:16px
}
.manage-card{
background:#fff;
border-radius:26px;
padding:18px;
box-shadow:0 10px 28px #00000008;
display:grid;
gap:12px
}
.manage-head{
display:flex;
justify-content:space-between;
gap:12px;
align-items:flex-start
}
.manage-head small{
display:block;
color:var(--muted);
margin-top:4px;
word-break:break-all
}
.manage-form{
display:grid;
grid-template-columns:1fr 1fr 150px auto;
gap:10px;
align-items:end
}
.manage-form .field{
margin:0
}
.pagination{
display:flex;
align-items:center;
justify-content:center;
gap:12px;
margin:22px 0;
font-weight:900
}

@media(max-width:760px){
.search-row{
grid-template-columns:1fr
}
.manage-list{
grid-template-columns:1fr
}
.manage-card{
border-radius:22px;
padding:16px
}
.manage-head{
display:grid;
grid-template-columns:1fr;
gap:8px
}
.manage-form{
grid-template-columns:1fr
}
.pagination{
flex-wrap:wrap
}
}

/* WALLET PLANO + QR */
.plan-preview{background:linear-gradient(135deg,#f3e8ff,#e0f7ff);border-radius:20px;padding:16px;display:grid;gap:4px;font-weight:900;margin-top:12px}
.plan-preview span{color:var(--muted);font-weight:700}
@media(max-width:760px){.top .nav{max-width:60%;overflow-x:auto;padding-bottom:4px}.top .btn{white-space:nowrap;padding:12px 14px}}

/* TERMOS E ABAS ADMIN */
.terms-card{line-height:1.7;font-size:16px}
.terms-card h3{margin-top:22px}
.admin-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 18px}
.admin-tabs a{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 16px;font-weight:900;box-shadow:0 6px 18px #00000006}
.admin-tabs a.active{background:linear-gradient(135deg,#f3e8ff,#ffe4f1,#e0f7ff);color:#7c3aed}
@media(max-width:760px){.admin-tabs{display:grid;grid-template-columns:1fr}}

/* SUPORTE E REVENDA */
@media(max-width:760px){
.top .nav a.btn.green{font-size:0;padding:12px;min-width:46px}
.top .nav a.btn.green:before{content:"💬";font-size:18px}
}

.refunded_timeout{background:#fef2f2;color:#b91c1c}
