:root{
  --bg-1:#0b1020;
  --bg-2:#121a30;
  --bg-3:#1b2440;
  --card:rgba(17,24,39,.72);
  --card-2:rgba(15,23,42,.88);
  --stroke:rgba(255,255,255,.10);
  --text:#eef4ff;
  --muted:#94a3b8;
  --primary:#7c3aed;
  --primary-2:#22c55e;
  --accent:#38bdf8;
  --danger:#ef4444;
  --success:#22c55e;
  --warning:#f59e0b;
  --shadow:0 20px 60px rgba(2,6,23,.38);
}

*{box-sizing:border-box}

html,body{min-height:100%}

body{
  margin:0;
  font-family:Inter,Segoe UI,Arial,Helvetica,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(124,58,237,.28), transparent 32%),
    radial-gradient(circle at top right, rgba(56,189,248,.18), transparent 28%),
    linear-gradient(135deg,var(--bg-1),var(--bg-2) 42%, var(--bg-3));
}

a{
  text-decoration:none;
  color:inherit;
}

.wrap{
  max-width:1180px;
  margin:0 auto;
  padding:0 18px;
}

.topbar{
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(7,10,20,.74);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.06);
}

.topbar .inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 0;
  flex-wrap:wrap;
}

.logo{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:18px;
  font-weight:800;
  letter-spacing:.02em;
}

.logo::before{
  content:"N";
  width:38px;
  height:38px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff;
  box-shadow:0 10px 24px rgba(124,58,237,.35);
}

.nav{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.nav a{
  color:#dbe7ff;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid transparent;
  font-weight:600;
}

.nav a.active,
.nav a:hover{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.08);
}

.page{
  padding:34px 0 70px;
}

.flash{
  padding:14px 16px;
  border-radius:14px;
  margin-bottom:18px;
  border:1px solid var(--stroke);
  box-shadow:var(--shadow);
}

.flash.success{
  background:rgba(34,197,94,.12);
  border-color:rgba(34,197,94,.22);
}

.flash.error{
  background:rgba(239,68,68,.12);
  border-color:rgba(239,68,68,.22);
}

.panel,
.auth-box,
.index-plan-card,
.plan-card,
.card-table,
.tile{
  background:var(--card);
  border:1px solid var(--stroke);
  box-shadow:var(--shadow);
  backdrop-filter:blur(16px);
}

.panel{
  border-radius:22px;
  padding:24px;
}

.panel h2,
.panel h3{
  margin-top:0;
}

.auth-box{
  max-width:470px;
  margin:48px auto 0;
  border-radius:26px;
  padding:30px;
}

.auth-box h1{
  margin:0 0 8px;
  font-size:32px;
}

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

label{
  display:block;
  font-size:14px;
  margin-bottom:14px;
  color:#d8e3ff;
}

input,
select,
textarea{
  width:100%;
  margin-top:7px;
  padding:14px 15px;
  background:rgba(248,250,252,.94);
  color:#111827;
  border:1px solid rgba(15,23,42,.08);
  border-radius:14px;
  outline:none;
}

input:focus,
select:focus,
textarea:focus{
  border-color:rgba(124,58,237,.45);
  box-shadow:0 0 0 4px rgba(124,58,237,.12);
}

textarea{
  min-height:110px;
  resize:vertical;
}

input[type=text],
input[type=email],
input[type=password],
input[type=number],
textarea,
select{
  width:100%;
  padding:13px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:var(--text);
  outline:none;
}

input::placeholder,
textarea::placeholder{
  color:#98a6c6;
}

.btn,
.copy-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:46px;
  padding:12px 18px;
  border-radius:14px;
  border:none;
  cursor:pointer;
  background:linear-gradient(135deg,var(--primary),#5b21b6);
  color:#fff;
  font-weight:800;
  box-shadow:0 10px 24px rgba(124,58,237,.30);
}

.btn:hover,
.copy-btn:hover{
  filter:brightness(1.06);
}

.btn-red{
  background:linear-gradient(135deg,#dc2626,#991b1b);
}

.btn-soft{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:none;
}

.toolbar,
.table-actions,
.copy-row{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}

.toolbar{
  justify-content:space-between;
  margin:18px 0;
}

.link-box{
  flex:1 1 320px;
  min-width:0;
  padding:14px 16px;
  border-radius:16px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  word-break:break-all;
}

.copy-input{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:13px;
}

.hero-block{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:26px;
  align-items:stretch;
  margin-bottom:28px;
}

.hero-intro,
.hero-actions{
  background:var(--card);
  border:1px solid var(--stroke);
  border-radius:28px;
  box-shadow:var(--shadow);
  padding:28px;
}

.hero-title{
  font-size:38px;
  line-height:1.08;
  font-weight:900;
  max-width:540px;
}

.hero-subtitle{
  margin-top:12px;
  color:#c7d4ea;
  max-width:620px;
  line-height:1.6;
}

.hero-kpis{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
}

.kpi{
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  min-width:140px;
}

.kpi strong{
  display:block;
  font-size:20px;
  margin-top:3px;
}

.hero-actions h3{
  margin:0 0 16px;
}

.tiles{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.tile{
  min-height:120px;
  border-radius:22px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  padding:20px;
  position:relative;
  overflow:hidden;
}

.tile::before{
  content:"";
  position:absolute;
  inset:auto -30px -30px auto;
  width:120px;
  height:120px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(56,189,248,.34), transparent 65%);
}

.tile strong{
  font-size:18px;
}

.tile span{
  color:#c4d2e8;
  font-size:13px;
  margin-top:6px;
}

.hero-plans-title{
  font-size:28px;
  font-weight:900;
  text-align:left;
  margin:28px 0 18px;
}

.index-plan-grid,
.plan-grid,
.home-plan-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
}

.index-plan-card,
.plan-card{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  padding:26px;
  display:flex;
  flex-direction:column;
}

.index-plan-card::before,
.plan-card::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:5px;
  background:linear-gradient(90deg,var(--accent),var(--primary));
}

.index-plan-card.featured,
.plan-card.featured{
  border-color:rgba(124,58,237,.36);
  transform:translateY(-4px);
}

.index-badge,
.plan-badge{
  align-self:flex-start;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#e8eeff;
  margin-bottom:16px;
}

.index-plan-title,
.plan-card h2{
  font-size:34px;
  line-height:1.08;
  margin:0 0 10px;
}

.index-plan-subtitle,
.plan-subtitle{
  color:#c9d6eb;
  min-height:46px;
}

.index-price,
.plan-price{
  margin:18px 0 16px;
  display:flex;
  align-items:flex-end;
  gap:8px;
}

.index-price .rs,
.plan-price .currency{
  font-size:20px;
  font-weight:800;
}

.index-price .num,
.plan-price .amount{
  font-size:44px;
  font-weight:900;
  letter-spacing:-.03em;
}

.index-features,
.plan-feature-list{
  display:grid;
  gap:10px;
  margin:8px 0 22px;
}

.index-feature,
.plan-feature{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:#e8f0ff;
}

.dot,
.icon{
  width:10px;
  height:10px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--accent),var(--primary));
  margin-top:6px;
  flex:0 0 auto;
}

.index-cta,
.plan-btn{
  width:100%;
  margin-top:auto;
}

.card-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border-radius:22px;
}

.card-table thead th{
  background:rgba(15,23,42,.92);
  color:#eef4ff;
  font-size:14px;
  text-transform:none;
  padding:18px 14px;
  text-align:left;
  border-bottom:1px solid rgba(255,255,255,.06);
}

.card-table tbody td{
  background:rgba(255,255,255,.88);
  color:#0f172a;
  padding:16px 14px;
  border-bottom:1px solid rgba(15,23,42,.06);
}

.card-table tbody tr:last-child td{
  border-bottom:none;
}

.badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:6px 11px;
  font-size:12px;
  font-weight:800;
  background:rgba(100,116,139,.14);
  color:#0f172a;
}

.badge.success{
  background:rgba(34,197,94,.18);
  color:#166534;
}

.form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}

pre{
  white-space:pre-wrap;
  word-break:break-word;
  background:rgba(255,255,255,.06);
  padding:16px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
}

.searchbar{
  display:flex;
  gap:10px;
  align-items:center;
  max-width:400px;
  width:100%;
}

.searchbar input{
  margin-top:0;
}

.payment-card{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:20px;
  align-items:center;
}

.payment-qr{
  background:#fff;
  border-radius:18px;
  padding:12px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.payment-qr img{
  max-width:100%;
  height:auto;
}

.section-title{
  font-size:26px;
  font-weight:900;
  margin:0 0 16px;
}

.notice-list{
  display:grid;
  gap:14px;
}

.notice-item{
  background:var(--card);
  border:1px solid var(--stroke);
  border-radius:18px;
  padding:18px;
  box-shadow:var(--shadow);
}

.home-hero-banner{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:var(--shadow);
  background:linear-gradient(135deg, rgba(12,16,34,.95), rgba(18,26,48,.95));
  margin-bottom:18px;
}

.home-hero-banner .seg{
  min-height:240px;
  position:relative;
  overflow:hidden;
  border-right:1px solid rgba(255,255,255,.06);
  background-size:cover !important;
  background-position:center !important;
  transition:transform .22s ease, filter .22s ease, box-shadow .22s ease;
  isolation:isolate;
}

.home-hero-banner .seg:last-child{
  border-right:none;
}

.home-hero-banner .seg::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(0,0,0,.22)),
    radial-gradient(circle at top, rgba(124,58,237,.25), transparent 42%);
}

.home-hero-banner .seg::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(2,6,23,.12) 45%, rgba(2,6,23,.38));
  z-index:0;
}

.home-hero-banner .seg:hover{
  transform:translateY(-4px);
  filter:brightness(1.05);
  box-shadow:0 18px 40px rgba(2,6,23,.28);
}

.home-hero-banner .seg.sports{background-image:url('../img/home-esportes.svg') !important}
.home-hero-banner .seg.open{background-image:url('../img/home-tv.svg') !important}
.home-hero-banner .seg.movies{background-image:url('../img/home-canais24.svg') !important}
.home-hero-banner .seg.series{background-image:url('../img/home-streaming.svg') !important}
.home-hero-banner .seg.kids{background-image:url('../img/home-kids.svg') !important}

.home-hero-banner .seg .label{
  position:absolute;
  left:18px;
  bottom:18px;
  z-index:2;
  font-size:15px;
  font-weight:800;
  letter-spacing:.02em;
  padding:10px 14px;
  border-radius:14px;
  background:rgba(9,12,24,.62);
  border:1px solid rgba(255,255,255,.08);
}

.category-row{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  margin-bottom:22px;
}

.category-chip{
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  box-shadow:var(--shadow);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.category-chip:hover{
  transform:translateY(-3px);
  border-color:rgba(124,58,237,.35);
  box-shadow:0 14px 32px rgba(2,6,23,.22);
}

.category-chip .emoji{
  width:40px;
  height:40px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, rgba(56,189,248,.22), rgba(124,58,237,.22));
  font-size:20px;
}

.category-chip .meta strong{
  display:block;
  font-size:15px;
}

.category-chip .meta span{
  display:block;
  font-size:12px;
  color:#b9c7de;
  margin-top:4px;
}

.home-plan-card{
  position:relative;
  border-radius:28px;
  padding:28px;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:var(--shadow);
  overflow:hidden;
  min-height:420px;
  transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
}

.home-plan-card:hover{
  transform:translateY(-4px);
  filter:brightness(1.03);
  box-shadow:0 24px 52px rgba(2,6,23,.30);
}

.home-plan-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0));
  pointer-events:none;
}

.home-plan-card.c1{background:linear-gradient(135deg,#0d2740,#114666 56%, #0e2442)}
.home-plan-card.c2{background:linear-gradient(135deg,#31134a,#6420b2 56%, #31124f)}
.home-plan-card.c3{background:linear-gradient(135deg,#4c1d11,#a84b14 60%, #f59e0b)}

.home-plan-card h3{
  margin:0 0 12px;
  font-size:30px;
  line-height:1.05;
}

.home-plan-card .sub{
  color:#e3ebff;
  opacity:.9;
  min-height:40px;
}

.home-plan-card ul{
  margin:18px 0 18px;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}

.home-plan-card li{
  position:relative;
  padding-left:22px;
  color:#eef4ff;
}

.home-plan-card li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  font-weight:900;
}

.home-plan-card .price{
  margin-top:auto;
  font-size:26px;
  font-weight:900;
}

.home-plan-card .price strong{
  font-size:54px;
  letter-spacing:-.03em;
}

.home-plan-card .cta{
  width:100%;
  margin-top:18px;
  border-radius:16px;
  min-height:50px;
}

.admin-stat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-bottom:22px;
}

.admin-stat-card{
  background:var(--card);
  border:1px solid var(--stroke);
  border-radius:22px;
  padding:22px;
  box-shadow:var(--shadow);
  backdrop-filter:blur(16px);
}

.admin-stat-label{
  color:#c9d6eb;
  font-size:14px;
  margin-bottom:8px;
}

.admin-stat-value{
  font-size:34px;
  font-weight:900;
  letter-spacing:-.03em;
}

.admin-table-wrap{
  background:transparent;
}

.admin-empty{
  text-align:center;
  color:var(--muted);
  padding:28px 12px;
}

.action-icons,
.action-icons.premium{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}

.icon-btn{
  width:36px;
  height:36px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  background:rgba(255,255,255,.06);
  color:#fff;
  text-decoration:none;
  cursor:pointer;
  transition:.18s ease;
}

.icon-btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.08);
}

.icon-btn.red{
  background:rgba(239,68,68,.15);
  border-color:rgba(239,68,68,.22);
}

.icon-btn.green{
  background:rgba(34,197,94,.15);
  border-color:rgba(34,197,94,.22);
}

.icon-btn.blue{
  background:rgba(56,189,248,.16);
  border-color:rgba(56,189,248,.22);
}

.icon-btn.purple{
  background:rgba(124,58,237,.18);
  border-color:rgba(124,58,237,.24);
}

.admin-v2-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:24px;
}

.admin-v2-stats{
  display:grid;
  grid-template-columns:repeat(5, minmax(160px, 1fr));
  gap:16px;
  flex:1;
}

.admin-v2-stat{
  background:rgba(8,16,38,.72);
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  padding:22px;
  box-shadow:0 16px 42px rgba(2,6,23,.18);
}

.admin-v2-stat span{
  display:block;
  color:#b8c6e2;
  font-size:14px;
  margin-bottom:10px;
}

.admin-v2-stat strong{
  display:block;
  color:#f5f7ff;
  font-size:42px;
  line-height:1;
  font-weight:800;
}

.admin-v2-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.admin-v2-toolbar{
  margin-bottom:22px;
}

.admin-v2-search{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

.admin-v2-search input{
  min-width:360px;
}

.admin-v2-search select{
  min-width:180px;
}

.admin-v2-list{
  display:grid;
  gap:14px;
}

.admin-v2-order{
  display:flex;
  justify-content:space-between;
  gap:18px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  padding:18px;
  box-shadow:0 14px 34px rgba(2,6,23,.14);
  align-items:center;
}

.admin-v2-order-main{
  display:flex;
  gap:18px;
  align-items:flex-start;
  flex:1;
  min-width:0;
}

.admin-v2-status{
  min-width:92px;
}

.admin-v2-info{
  display:grid;
  grid-template-columns:1.1fr 1fr 1fr 1.1fr .8fr 1.5fr;
  gap:16px;
  width:100%;
  align-items:start;
}

.admin-v2-block{
  min-width:0;
}

.admin-v2-block .label{
  color:#8ea1c7;
  font-size:12px;
  margin-bottom:6px;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.admin-v2-block .value{
  color:#eef4ff;
  font-size:15px;
  font-weight:700;
  line-height:1.35;
  word-break:break-word;
}

.admin-v2-block .sub{
  color:#97a8c9;
  font-size:13px;
  margin-top:4px;
  line-height:1.3;
  word-break:break-word;
}

.admin-v2-block.obs .value{
  font-weight:500;
  color:#d4ddef;
  font-size:13px;
}

.obs-text{
  line-height:1.4;
}

.admin-v2-order-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
  min-width:170px;
}

.admin-v2-order-actions form{
  margin:0;
}

.admin-v2-empty{
  padding:24px;
  border-radius:22px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  color:#dce6ff;
}

@media (max-width:1300px){
  .admin-v2-stats{
    grid-template-columns:repeat(3, minmax(160px, 1fr));
  }

  .admin-v2-info{
    grid-template-columns:1fr 1fr 1fr;
  }

  .admin-v2-order{
    flex-direction:column;
    align-items:flex-start;
  }

  .admin-v2-order-actions{
    justify-content:flex-start;
    min-width:unset;
  }
}

@media (max-width:1100px){
  .home-plan-grid,
  .plan-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:980px){
  .hero-block{
    grid-template-columns:1fr;
  }

  .index-plan-grid,
  .plan-grid,
  .form-grid{
    grid-template-columns:1fr;
  }

  .home-hero-banner{
    grid-template-columns:1fr 1fr;
  }

  .category-row{
    grid-template-columns:1fr 1fr;
  }

  .admin-stat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:900px){
  .admin-v2-stats{
    grid-template-columns:repeat(2, minmax(140px, 1fr));
  }

  .admin-v2-search{
    width:100%;
  }

  .admin-v2-search input,
  .admin-v2-search select{
    min-width:100%;
    width:100%;
  }

  .admin-v2-info{
    grid-template-columns:1fr;
  }
}

@media (max-width:720px){
  .hero-title{
    font-size:30px;
  }

  .tiles{
    grid-template-columns:1fr;
  }

  .topbar .inner{
    align-items:flex-start;
  }

  .nav{
    gap:8px;
  }

  .nav a{
    padding:9px 12px;
  }

  .card-table{
    display:block;
    overflow:auto;
  }

  .payment-card{
    grid-template-columns:1fr;
  }

  .home-plan-grid,
  .plan-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  .home-hero-banner{
    grid-template-columns:1fr;
  }

  .category-row{
    grid-template-columns:1fr;
  }

  .home-hero-banner .seg{
    min-height:160px;
  }

  .admin-stat-grid{
    grid-template-columns:1fr;
  }
}
.admin-v2-search-grid{
  display:grid;
  grid-template-columns:minmax(280px, 1.3fr) 240px auto;
  gap:12px;
  align-items:center;
}

.search-field,
.filter-field,
.filter-actions{
  min-width:0;
}

.filter-actions{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-start;
}

.link-mini{
  margin-top:8px;
  padding:0;
  border:none;
  background:none;
  color:#9ec7ff;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}

.link-mini:hover{
  color:#c7ddff;
}

.obs-expand{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  color:#d9e4f8;
  font-size:13px;
  line-height:1.45;
}

.icon-btn svg{
  width:16px;
  height:16px;
  display:block;
}

.admin-v2-order-actions .icon-btn{
  width:38px;
  height:38px;
}

@media (max-width: 980px){
  .admin-v2-search-grid{
    grid-template-columns:1fr;
  }

  .filter-actions{
    flex-wrap:wrap;
  }
}
.admin-v2-top-compact{
  margin-bottom:18px;
}

.admin-v2-toolbar-inline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:22px;
}

.admin-v2-search-grid.compact{
  display:grid;
  grid-template-columns:minmax(260px, 520px) 240px auto;
  gap:12px;
  align-items:center;
  flex:1;
}

.admin-v2-inline-actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

.admin-v2-search-grid.compact .search-field input{
  max-width:520px;
}

.admin-v2-search-grid.compact .filter-field select{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(124,58,237,.45);
  color:#eef4ff;
  box-shadow:0 0 0 3px rgba(124,58,237,.08);
}

.admin-v2-search-grid.compact .filter-field select option{
  color:#111827;
  background:#ffffff;
}

.admin-v2-order{
  border-radius:26px;
  background:linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.05));
}

.admin-v2-order:hover{
  border-color:rgba(124,58,237,.24);
  box-shadow:0 20px 40px rgba(2,6,23,.18);
}

.admin-v2-info{
  grid-template-columns:1.15fr .9fr .95fr 1fr .7fr 1.2fr;
}

.admin-v2-block .label{
  color:#9fb4d9;
  font-size:11px;
  font-weight:700;
}

.admin-v2-block .value{
  font-size:15px;
}

.admin-v2-block.obs .value{
  font-size:13px;
  line-height:1.45;
  color:#dce7fb;
}

.admin-v2-order-actions{
  min-width:220px;
}

.admin-v2-order-actions .icon-btn{
  width:40px;
  height:40px;
  border-radius:14px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}

.badge{
  min-width:78px;
  padding:7px 12px;
  font-size:12px;
  font-weight:800;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(100,116,139,.18);
  color:#e5e7eb;
}

.badge.success{
  background:rgba(34,197,94,.20);
  color:#d1fae5;
  border-color:rgba(34,197,94,.25);
}

.badge.pendente,
.badge.pending,
.badge.under_review{
  background:rgba(245,158,11,.18);
  color:#fde68a;
  border-color:rgba(245,158,11,.26);
}

.badge.ativo{
  background:rgba(34,197,94,.18);
  color:#dcfce7;
  border-color:rgba(34,197,94,.25);
}

.badge.cancelled,
.badge.expired{
  background:rgba(239,68,68,.18);
  color:#fecaca;
  border-color:rgba(239,68,68,.25);
}

@media (max-width: 1180px){
  .admin-v2-toolbar-inline{
    align-items:stretch;
  }

  .admin-v2-search-grid.compact{
    grid-template-columns:1fr;
  }

  .admin-v2-inline-actions{
    justify-content:flex-start;
  }
}
.users-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:18px;
}

.users-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.user-card-pro{
  background:linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  padding:18px;
  box-shadow:var(--shadow);
}

.user-card-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:14px;
}

.user-name{
  font-size:18px;
  font-weight:800;
  color:#f3f6ff;
}

.user-email{
  color:#9bb0d4;
  font-size:13px;
  margin-top:4px;
  word-break:break-word;
}

.user-card-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:16px;
}

.user-card-meta span{
  display:block;
  color:#8ea1c7;
  font-size:11px;
  text-transform:uppercase;
  margin-bottom:4px;
}

.user-card-meta strong{
  color:#eef4ff;
  font-size:14px;
}

.user-card-actions{
  display:flex;
  gap:10px;
  align-items:center;
}

.pagination{
  margin-top:20px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}

@media (max-width: 900px){
  .users-grid{
    grid-template-columns:1fr;
  }

  .user-card-meta{
    grid-template-columns:1fr;
  }
}
.plan-admin-layout{
  display:grid;
  grid-template-columns:420px 1fr;
  gap:24px;
  align-items:start;
}

.plan-admin-form{
  display:grid;
  gap:14px;
}

.form-grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.plan-list-admin{
  display:grid;
  gap:14px;
}

.plan-admin-card{
  background:linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  padding:18px;
  box-shadow:var(--shadow);
}

.plan-admin-card-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:14px;
}

.plan-admin-title{
  font-size:20px;
  font-weight:800;
  color:#f3f6ff;
  line-height:1.2;
}

.plan-admin-meta{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:16px;
}

.plan-admin-meta span{
  display:block;
  color:#8ea1c7;
  font-size:11px;
  text-transform:uppercase;
  margin-bottom:4px;
}

.plan-admin-meta strong{
  color:#eef4ff;
  font-size:15px;
}

.plan-admin-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

@media (max-width:1100px){
  .plan-admin-layout{
    grid-template-columns:1fr;
  }
}

@media (max-width:700px){
  .form-grid-2,
  .plan-admin-meta{
    grid-template-columns:1fr;
  }
}
.plan-admin-layout{
  display:grid;
  grid-template-columns:420px 1fr;
  gap:24px;
  align-items:start;
}

.plan-admin-form{
  display:grid;
  gap:14px;
}

.form-grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.plans-admin-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:16px;
}

.plan-list-admin{
  display:grid;
  gap:16px;
}

.plan-admin-card{
  background:linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  padding:18px;
  box-shadow:var(--shadow);
}

.plan-admin-card-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:14px;
}

.plan-admin-title{
  font-size:20px;
  font-weight:800;
  color:#f3f6ff;
  line-height:1.2;
}

.plan-admin-meta{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:16px;
}

.plan-admin-meta span{
  display:block;
  color:#8ea1c7;
  font-size:11px;
  text-transform:uppercase;
  margin-bottom:4px;
}

.plan-admin-meta strong{
  color:#eef4ff;
  font-size:15px;
}

.plan-admin-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.plan-admin-actions form{
  margin:0;
}

@media (max-width:1100px){
  .plan-admin-layout{
    grid-template-columns:1fr;
  }
}

@media (max-width:700px){
  .form-grid-2,
  .plan-admin-meta{
    grid-template-columns:1fr;
  }
}
/* ===== Cliente UI v2 ===== */

.client-shell{
  display:grid;
  gap:22px;
}

.client-hero{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  flex-wrap:wrap;
  padding:26px 28px;
  border-radius:28px;
  background:
    linear-gradient(135deg, rgba(12,18,40,.92), rgba(18,30,66,.88)),
    radial-gradient(circle at top right, rgba(124,58,237,.18), transparent 28%);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:var(--shadow);
}

.client-hero-title{
  margin:0;
  font-size:34px;
  line-height:1.05;
  font-weight:900;
}

.client-hero-subtitle{
  margin-top:10px;
  color:#c6d3ea;
  max-width:720px;
  line-height:1.6;
}

.client-hero-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.client-grid-2{
  display:grid;
  grid-template-columns:1.25fr .95fr;
  gap:22px;
}

.client-panel{
  border-radius:26px;
  padding:24px;
  background:
    linear-gradient(180deg, rgba(9,20,54,.95), rgba(9,18,40,.92));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 20px 40px rgba(0,0,0,.18);
}

.client-panel.light{
  background:linear-gradient(180deg, rgba(12,20,48,.88), rgba(10,16,34,.92));
}

.client-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
  flex-wrap:wrap;
}

.client-panel-head h2,
.client-panel-head h3{
  margin:0;
}

.client-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(111,76,255,.18);
  color:#d7c8ff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.client-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.client-kpi{
  padding:16px 16px 14px;
  border-radius:18px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.06);
}

.client-kpi .label{
  color:#9ca8c7;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.03em;
  margin-bottom:6px;
}

.client-kpi .value{
  font-size:22px;
  font-weight:900;
  line-height:1.2;
  word-break:break-word;
}

.client-main-grid{
  display:grid;
  grid-template-columns:1.6fr .9fr;
  gap:18px;
}

.client-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(180px,1fr));
  gap:12px;
  margin-top:14px;
}

.client-info-item{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.05);
  border-radius:16px;
  padding:12px 14px;
}

.client-info-item .label{
  color:#9ca8c7;
  font-size:12px;
  margin-bottom:6px;
  text-transform:uppercase;
  letter-spacing:.03em;
}

.client-info-item .value{
  font-size:16px;
  font-weight:800;
  word-break:break-word;
}

.client-side-actions{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.client-side-actions .btn,
.client-side-actions .btn-soft{
  width:100%;
  justify-content:center;
}

.client-link-stack{
  display:grid;
  gap:10px;
}

.client-copy-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
}

.client-copy-row .link-box{
  min-width:0;
}

.client-history{
  padding:22px 24px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(9,20,54,.95), rgba(9,18,40,.92));
}

.client-history-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
  flex-wrap:wrap;
}

.client-access-list{
  display:grid;
  gap:14px;
}

.client-access-card{
  border-radius:20px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
  overflow:hidden;
  transition:.22s ease;
}

.client-access-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 36px rgba(0,0,0,.18);
}

.client-access-card.main{
  border-color:rgba(108,241,181,.28);
  box-shadow:inset 0 0 0 1px rgba(108,241,181,.08);
}

.client-access-top{
  display:grid;
  grid-template-columns:1.15fr 1fr 1fr auto;
  gap:14px;
  align-items:center;
  padding:16px 18px;
}

.client-access-col .label{
  color:#9ca8c7;
  font-size:12px;
  margin-bottom:4px;
  text-transform:uppercase;
  letter-spacing:.03em;
}

.client-access-col .value{
  font-size:18px;
  font-weight:800;
  line-height:1.2;
}

.client-access-col .sub{
  margin-top:4px;
  color:#aeb9d2;
  font-size:13px;
}

.client-access-badges{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}

.client-mini-badge{
  display:inline-flex;
  align-items:center;
  padding:4px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#c8d2ea;
  font-size:12px;
  font-weight:600;
}

.client-access-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.client-access-links{
  display:none;
  padding:14px 18px 18px;
  border-top:1px solid rgba(255,255,255,.06);
  background:rgba(0,0,0,.08);
}

.client-access-links.open{
  display:block;
}

.client-stat-empty{
  padding:18px;
  border-radius:18px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  color:#dce6ff;
}

.client-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}

.client-form-card{
  border-radius:24px;
  padding:24px;
  background:linear-gradient(180deg, rgba(9,20,54,.95), rgba(9,18,40,.92));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:var(--shadow);
}

.client-empty-state{
  padding:24px;
  border-radius:20px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  color:#dce6ff;
}

.client-table-wrap{
  overflow:auto;
  border-radius:22px;
}

.client-table-wrap .card-table{
  min-width:860px;
}

.client-plan-shell{
  display:grid;
  gap:22px;
}

.client-plan-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
}

.client-plan-card{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  padding:26px;
  display:flex;
  flex-direction:column;
  background:var(--card);
  border:1px solid var(--stroke);
  box-shadow:var(--shadow);
  backdrop-filter:blur(16px);
}

.client-plan-card::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:5px;
  background:linear-gradient(90deg,var(--accent),var(--primary));
}

.client-plan-card.featured{
  border-color:rgba(124,58,237,.36);
  transform:translateY(-4px);
}

.client-plan-badge{
  align-self:flex-start;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#e8eeff;
  margin-bottom:16px;
}

.client-plan-title{
  font-size:34px;
  line-height:1.08;
  margin:0 0 10px;
}

.client-plan-subtitle{
  color:#c9d6eb;
  min-height:46px;
}

.client-plan-price{
  margin:18px 0 16px;
  display:flex;
  align-items:flex-end;
  gap:8px;
}

.client-plan-price .currency{
  font-size:20px;
  font-weight:800;
}

.client-plan-price .amount{
  font-size:44px;
  font-weight:900;
  letter-spacing:-.03em;
}

.client-plan-features{
  display:grid;
  gap:10px;
  margin:8px 0 22px;
}

.client-plan-feature{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:#e8f0ff;
}

.client-plan-feature .icon{
  width:10px;
  height:10px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--accent),var(--primary));
  margin-top:6px;
  flex:0 0 auto;
}

.client-plan-form{
  margin-top:auto;
}

.client-note{
  color:#b8c6e2;
  font-size:13px;
  line-height:1.5;
  margin:2px 0 10px;
}

@media (max-width:1100px){
  .client-plan-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .client-grid-2,
  .client-main-grid{
    grid-template-columns:1fr;
  }

  .client-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:900px){
  .client-access-top{
    grid-template-columns:1fr;
  }

  .client-access-actions{
    justify-content:flex-start;
  }

  .client-form-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:720px){
  .client-kpi-grid,
  .client-info-grid{
    grid-template-columns:1fr;
  }

  .client-plan-grid{
    grid-template-columns:1fr;
  }

  .client-copy-row{
    grid-template-columns:1fr;
  }

  .client-hero-title{
    font-size:28px;
  }

  .client-plan-title{
    font-size:28px;
  }
}
/* ===== Header premium ===== */

.brand-link{
  display:flex;
  align-items:center;
  gap:12px;
  color:#fff;
}

.brand-mark{
  width:38px;
  height:38px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff;
  font-weight:900;
  box-shadow:0 10px 24px rgba(124,58,237,.35);
  flex:0 0 38px;
}

.brand-text{
  font-size:18px;
  font-weight:800;
  letter-spacing:.01em;
  color:#f5f7ff;
}

.topbar{
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(7,10,20,.74);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.06);
}

.topbar .inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 0;
  flex-wrap:wrap;
}

.nav{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.nav a{
  color:#dbe7ff;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid transparent;
  font-weight:700;
  transition:.18s ease;
}

.nav a.active,
.nav a:hover{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.08);
}

@media (max-width: 720px){
  .topbar .inner{
    align-items:flex-start;
  }

  .nav{
    gap:8px;
  }

  .nav a{
    padding:9px 12px;
    font-size:14px;
  }

  .brand-text{
    font-size:16px;
  }
}
.dashboard-container {
  padding: 20px;
}

.dashboard-hero {
  margin-bottom: 20px;
}

.dashboard-hero h1 {
  font-size: 26px;
  margin-bottom: 4px;
}

.dashboard-hero p {
  color: #9ca3af;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 16px;
}

.card {
  background: #111827;
  border-radius: 14px;
  padding: 16px;
  box-shadow: 0 4px 20px rgba(0,0,0,.3);
}

.card-title {
  font-size: 14px;
  color: #9ca3af;
  margin-bottom: 10px;
}

.card-info div {
  margin-top: 6px;
  font-size: 14px;
}

.btn.full {
  width: 100%;
  margin-top: 10px;
}

.btn.secondary {
  background: #1f2937;
}

.link-box {
  background: #000;
  padding: 10px;
  border-radius: 8px;
  font-size: 12px;
  word-break: break-all;
  margin-bottom: 10px;
}

/* BADGES */
.badge {
  padding: 6px 10px;
  border-radius: 8px;
  display: inline-block;
  font-size: 13px;
}

.badge.success {
  background: #16a34a;
}

.badge.warning {
  background: #f59e0b;
}

.badge.danger {
  background: #dc2626;
}