:root{
  --bg:#05070b;
  --side:#010302;
  --panel:#111720;
  --panel2:#090d15;
  --line:#252d39;
  --line2:#303946;
  --text:#f6f7fb;
  --muted:#7d8797;
  --green:#00ff88;
  --green2:#00c76a;
  --danger:#ff4d5b;
  --warn:#f5a524;
}

*{box-sizing:border-box}
html,body{min-height:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;
  font-size:13px;
}
button,input,select,textarea{font:inherit}
svg{width:15px;height:15px;fill:currentColor}

.client-shell{display:flex;min-height:100vh}
.side{
  width:168px;
  min-width:168px;
  background:#010302;
  border-right:1px solid #121812;
  padding:14px 8px;
  position:sticky;
  top:0;
  height:100vh;
  display:flex;
  flex-direction:column;
}
.brand-mini{
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 4px 14px;
  border-bottom:1px solid #141a14;
  margin-bottom:14px;
}
.brand-symbol{
  width:25px;height:25px;border:1px solid var(--green2);
  background:#0a160f;color:var(--green);
  border-radius:5px;display:grid;place-items:center;
  font-weight:900;font-size:0;
  box-shadow:0 0 16px rgba(0,255,136,.12);
}
.brand-symbol:before{
  content:"";
  width:11px;height:11px;border-radius:2px;border:2px solid var(--green);display:block;
}
.brand-mini strong{display:block;font-size:11px;line-height:1.1;letter-spacing:.06em}
.brand-mini span{display:block;font-size:8px;color:var(--green);letter-spacing:.12em;margin-top:1px}
.side-title{
  color:#5f6875;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:8px;
  font-weight:800;
  margin:0 4px 8px;
}
.nav{display:flex;flex-direction:column;gap:5px}
.nav button{
  width:100%;
  height:32px;
  display:flex;
  align-items:center;
  gap:7px;
  border:1px solid transparent;
  border-radius:4px;
  background:transparent;
  color:#a8b1c0;
  cursor:pointer;
  padding:0 7px;
  font-size:10.5px;
  font-weight:750;
  text-align:left;
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease;
}
.nav button i{width:15px;height:15px;display:grid;place-items:center;color:#758092}
.nav button:hover{background:#0b100d;color:#fff;transform:translateX(4px);border-color:rgba(0,255,136,.28)}
.nav button.active{
  background:rgba(0,255,136,.09);
  border-color:rgba(0,255,136,.45);
  color:var(--green);
  box-shadow:inset 2px 0 0 var(--green),0 0 18px rgba(0,255,136,.08);
}
.nav button.active i{color:var(--green)}
.side-spacer{flex:1}

.client-box{
  border:1px solid #1d2731;
  border-radius:5px;
  padding:6px;
  display:flex;
  align-items:center;
  gap:5px;
  background:#080c11;
}
.avatar{
  width:24px;height:24px;border-radius:4px;
  background:#0d2116;color:var(--green);display:grid;place-items:center;
  font-weight:900;font-size:11px;border:1px solid rgba(0,255,136,.25);
  overflow:hidden;
}
.profile-menu-photo{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}
.client-box strong{display:block;font-size:9px}
.client-box span{display:block;color:#667282;font-size:8px;width:82px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.client-box button{
  margin-left:auto;width:20px;height:20px;border:1px solid #28313d;background:#090f16;
  color:#8c98aa;border-radius:3px;cursor:pointer;font-size:10px;
}

.main-dark{flex:1;min-width:0}
.top-dark{
  height:40px;
  border-bottom:1px solid #161c25;
  background:#070a10;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 14px 0 18px;
  box-shadow:0 1px 0 rgba(0,255,136,.08);
}
.top-dark span{display:block;color:#6b7280;font-size:9px;margin-bottom:2px}
.top-dark h2{margin:0;font-size:15px;line-height:1}
.client-pill{
  white-space:nowrap;
  border:1px solid rgba(0,255,136,.32);
  background:rgba(0,255,136,.09);
  color:var(--green);
  border-radius:999px;
  padding:5px 10px;
  font-size:9px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.screen{width:100%;margin:0;padding:16px 18px 42px 18px}

.page-sub{
  display:block;
  color:var(--green);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:8.5px;
  font-weight:900;
}
.dim{color:#7d8797;font-size:10px}
.neon-btn,.btn{
  height:32px;
  border:0;
  background:var(--green);
  color:#031009;
  font-weight:900;
  border-radius:5px;
  padding:0 12px;
  font-size:10px;
  cursor:pointer;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
}
.neon-btn:hover,.btn:hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 0 18px rgba(0,255,136,.12)}
.tiny-btn{
  height:24px;border:1px solid #333d4c;background:#0c1118;color:#cdd5e1;
  border-radius:3px;padding:0 8px;font-size:8.5px;cursor:pointer;font-weight:800;
}
.alert{border-radius:4px;padding:10px;margin:8px 0;font-size:10px}
.alert.ok{background:rgba(0,255,136,.12);color:var(--green);border:1px solid rgba(0,255,136,.25)}
.alert.err{background:rgba(255,77,91,.12);color:#ffb3ba;border:1px solid rgba(255,77,91,.35)}

.field{margin:10px 0}
.field label{display:block;font-size:9.5px;font-weight:800;color:#aeb7c5;margin-bottom:4px}
.field input,.field select,.field textarea{
  width:100%;
  height:30px;
  background:#080d13;
  border:1px solid #303946;
  border-radius:4px;
  color:#fff;
  padding:0 8px;
  font-size:11px;
  outline:none;
}
.field textarea{height:80px;padding:8px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(0,255,136,.08)}

.client-login-page{
  min-height:100vh;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:center;
  gap:40px;
  padding:42px;
  background:
    radial-gradient(circle at 18% 24%, rgba(0,255,136,.18), transparent 28%),
    radial-gradient(circle at 92% 10%, rgba(0,255,136,.10), transparent 26%),
    #05070b;
}
.client-login-brand{max-width:520px}
.client-logo-mark{
  width:72px;height:72px;display:grid;place-items:center;border-radius:16px;
  background:rgba(0,255,136,.10);border:1px solid rgba(0,255,136,.40);
  color:var(--green);font-size:26px;font-weight:950;
  box-shadow:0 0 34px rgba(0,255,136,.18);margin-bottom:22px;
}
.client-login-brand h1{margin:0;font-size:42px;letter-spacing:-.05em}
.client-login-brand strong{
  display:block;color:var(--green);font-size:18px;letter-spacing:.12em;
  text-transform:uppercase;margin:8px 0 18px;
}
.client-login-brand p{margin:0;color:#9ba6b8;font-size:15px;line-height:1.6}
.client-login-card{
  width:100%;max-width:430px;justify-self:end;background:#111720;
  border:1px solid #252d39;border-radius:12px;padding:24px;
  box-shadow:0 24px 70px rgba(0,0,0,.38);
}
.login-card-head span{display:block;color:var(--green);text-transform:uppercase;letter-spacing:.12em;font-size:9px;font-weight:950}
.login-card-head h2{margin:7px 0 5px;font-size:24px}
.login-card-head p{margin:0 0 18px;color:#7d8797;font-size:11px}
.client-login-btn{width:100%;margin-top:8px}
.client-login-card small{display:block;margin-top:14px;color:#6f7b8d;text-align:center;font-size:10px}

.login-hint{
  min-height:100vh;
  display:grid;
  place-items:center;
  text-align:center;
  padding:22px;
}
.login-hint h1{margin:0 0 8px}
.login-hint button{
  display:inline-flex;margin-top:12px;background:var(--green);color:#031009;
  border:0;padding:9px 14px;border-radius:5px;font-weight:900;cursor:pointer;
}

.client-dashboard,.profile-page,.plan-page,.client-section-head,.integration-box,.renewal-box,.client-loading,.client-error-panel{
  max-width:1120px;
  margin-left:0;
}
.client-hero{
  position:relative;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  background:#111720;
  border:1px solid #252d39;
  border-radius:8px;
  padding:16px;
  margin:6px 0 14px;
  overflow:hidden;
}
.client-hero:before{
  content:"";
  position:absolute;
  inset:-1px;
  background:radial-gradient(circle at 70% -15%,rgba(0,255,136,.16),transparent 34%);
  pointer-events:none;
}
.client-hero h3{margin:4px 0 6px;font-size:20px}
.client-hero p{margin:0;color:#7d8797;font-size:10.5px}
.status-orb{
  position:relative;z-index:1;min-width:180px;border:1px solid rgba(0,255,136,.28);
  background:rgba(0,255,136,.08);border-radius:8px;padding:12px;text-align:center;
}
.status-orb span{
  display:block;width:34px;height:34px;border-radius:50%;background:var(--green);
  margin:0 auto 8px;box-shadow:0 0 24px rgba(0,255,136,.25);
}
.status-orb.warn{border-color:rgba(245,165,36,.35);background:rgba(245,165,36,.09)}
.status-orb.warn span{background:#f5a524;box-shadow:0 0 24px rgba(245,165,36,.25)}
.status-orb strong{display:block;font-size:11px}
.status-orb small{color:#7d8797;font-size:9px}

.mini-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px;max-width:1120px}
.mini-card{
  min-height:86px;background:linear-gradient(180deg,#171c26,#111720);
  border:1px solid #242b36;border-radius:5px;padding:9px 10px;
  border-bottom-color:rgba(0,255,136,.55);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.mini-card:hover{transform:translateY(-4px);border-color:rgba(0,255,136,.95);box-shadow:0 12px 34px rgba(0,255,136,.10),0 18px 38px rgba(0,0,0,.28)}
.mini-top{display:flex;align-items:center;justify-content:space-between;color:#7e8799}
.mini-top span{font-size:9px;font-weight:800}
.mini-top i{width:17px;height:17px;border-radius:3px;background:#242b36;color:#7e8799;display:grid;place-items:center}
.mini-card strong{display:block;font-size:21px;margin-top:16px;letter-spacing:-.04em}
.mini-card small{display:block;color:var(--green);font-size:8.5px;font-weight:800;margin-top:6px}

.renewal-box{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  background:rgba(245,165,36,.10);border:1px solid rgba(245,165,36,.30);
  color:#f8d99b;border-radius:8px;padding:12px;margin:6px 0 12px;
}
.renewal-box strong{display:block;font-size:12px}
.renewal-box span{display:block;font-size:10px;color:#d9b56b;margin-top:2px}

.client-quick-grid{
  max-width:1120px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
.quick-card{
  background:#111720;border:1px solid #252d39;border-radius:8px;padding:14px;cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.quick-card:hover{transform:translateY(-3px);border-color:rgba(0,255,136,.55);box-shadow:0 14px 34px rgba(0,255,136,.07),0 18px 38px rgba(0,0,0,.26)}
.quick-card strong{display:block;color:#fff;font-size:12px;margin-bottom:4px}
.quick-card span{color:#7d8797;font-size:10px}

.client-loading{
  border:1px solid #252d39;background:#111720;color:#9ba6b8;border-radius:8px;
  padding:16px;margin:6px 0;font-size:12px;
}
.client-error-panel{
  border:1px solid rgba(255,77,91,.35);
  background:rgba(255,77,91,.08);
  color:#ffb3ba;border-radius:8px;padding:16px;margin:6px 0;
}
.client-error-panel strong{display:block;color:#fff;font-size:14px;margin-bottom:6px}
.client-error-panel p{margin:0 0 12px;color:#ffb3ba;font-size:11px}

.pricing-card{
  position:relative;
  min-height:500px;
  max-width:390px;
  background:#090d15;
  border:1px solid #242b36;
  border-radius:9px;
  padding:22px;
  overflow:hidden;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.pricing-card.active{border-top:3px solid var(--green)}
.pricing-card.expired{border-color:rgba(245,165,36,.45);border-top:3px solid #f5a524}
.pricing-title h4{margin:0 0 12px;font-size:20px;line-height:1.1}
.pricing-title p{min-height:48px;margin:0;color:#7d8797;font-size:12px;line-height:1.55}
.price-box{margin:42px 0 12px;padding:18px 16px;border:1px solid #252d39;border-radius:8px;background:#080c13}
.price-box strong{display:block;font-size:34px;line-height:1;color:#fff}
.price-box span{display:block;margin-top:7px;color:var(--green);font-size:10px;font-weight:950}
.trial-box{
  display:flex;align-items:center;min-height:40px;margin-bottom:18px;padding:0 14px;
  border-radius:8px;background:rgba(0,255,136,.10);border:1px solid rgba(0,255,136,.20);
  color:#9cffc9;font-weight:950;font-size:12px;
}
.benefit-list{list-style:none;padding:0;margin:0 0 22px;display:flex;flex-direction:column;gap:10px}
.benefit-list li{position:relative;padding-left:14px;color:#e6edf6;font-size:12px;line-height:1.35}
.benefit-list li:before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 10px rgba(0,255,136,.55)}
.choose-plan-btn{
  position:absolute;left:22px;right:22px;bottom:22px;height:38px;border:0;border-radius:7px;
  background:var(--green);color:#02110a;font-weight:950;cursor:pointer;
}

.client-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin:6px 0 12px}
.client-section-head h3{margin:4px 0;font-size:18px}
.client-section-head p{margin:0}
.integration-box{
  background:#111720;border:1px solid #252d39;border-radius:8px;padding:12px;margin-bottom:12px;
}
.integration-box strong{display:block;margin-bottom:7px;font-size:11px}
.integration-box small{display:block;color:#7d8797;margin-top:6px;font-size:9px}
.codebox{
  background:#080d13;border:1px solid #303946;border-radius:4px;padding:8px;
  color:var(--green);font-size:10px;word-break:break-all;white-space:pre-wrap;
}

.table-wrap{overflow:auto;border:1px solid #252d39;border-radius:5px;background:#090e15;max-width:1120px}
table{width:100%;border-collapse:collapse;min-width:760px}
th,td{padding:9px 10px;border-bottom:1px solid #202834;text-align:left;font-size:10px}
th{color:var(--green);background:#070b11;font-size:9px}
tbody tr:hover{background:rgba(0,255,136,.055)}
.badge{display:inline-flex;border-radius:999px;background:#202834;color:#c8d0dc;padding:3px 7px;font-size:8.5px;font-weight:800}
.badge.ok{background:rgba(0,255,136,.12);color:var(--green)}
.badge.warn{background:rgba(245,165,36,.14);color:#f5a524}

.profile-page{max-width:1120px;margin-left:0}
.profile-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:6px 0 16px}
.profile-head h3{margin:4px 0 4px;font-size:20px}
.profile-head p{margin:0;color:#7d8797;font-size:10.5px;max-width:720px;line-height:1.45}
.profile-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}
.profile-card-main{
  background:#111720;border:1px solid #252d39;border-radius:8px;padding:14px;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.profile-card-main:hover{transform:translateY(-2px);border-color:rgba(0,255,136,.45);box-shadow:0 12px 32px rgba(0,255,136,.06),0 18px 38px rgba(0,0,0,.25)}
.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.panel-title strong{font-size:10px}
.profile-photo-area{
  display:flex;align-items:center;gap:14px;border:1px solid #303946;background:#080d13;
  border-radius:7px;padding:12px;margin-bottom:14px;
}
.profile-photo-preview{
  width:78px;height:78px;min-width:78px;border-radius:12px;display:grid;place-items:center;
  background:rgba(0,255,136,.09);border:1px solid rgba(0,255,136,.28);color:var(--green);overflow:hidden;
}
.profile-photo-preview img{width:100%;height:100%;object-fit:cover}
.profile-photo-preview span{font-size:28px;font-weight:950}
.profile-photo-area strong{display:block;font-size:14px;margin-bottom:3px}
.profile-photo-area small{display:block;color:#7d8797;font-size:10px;margin-bottom:9px}
.profile-photo-area input[type="file"]{display:block;max-width:260px;font-size:10px;color:#94a3b8;margin-bottom:8px}
.grid{display:grid;gap:8px}
.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.profile-security-box{
  margin-top:10px;border:1px solid rgba(0,255,136,.22);background:rgba(0,255,136,.07);
  border-radius:7px;padding:12px;
}
.profile-security-box strong{display:block;color:var(--green);font-size:11px;margin-bottom:4px}
.profile-security-box span{display:block;color:#9ba6b8;font-size:10px;line-height:1.45}

@media(max-width:900px){
  .client-shell{display:block}
  .side{width:100%;min-width:0;height:auto;position:relative}
  .screen{padding:14px}
  .client-login-page{grid-template-columns:1fr;padding:22px}
  .client-login-card{justify-self:stretch;max-width:none}
  .client-login-brand h1{font-size:34px}
  .client-hero,.renewal-box,.client-section-head,.profile-head{display:block}
  .status-orb{margin-top:12px}
  .mini-stats,.client-quick-grid,.profile-grid,.grid.cols-2{grid-template-columns:1fr}
  .pricing-card{max-width:none}
}


/* Cliente - Tokens API V11 */
.token-overview-grid{
  max-width:1120px;
  display:grid;
  grid-template-columns:1.4fr .8fr .9fr;
  gap:12px;
  margin:6px 0 14px;
}

.token-card{
  background:#111720;
  border:1px solid #252d39;
  border-radius:8px;
  padding:14px;
  min-height:94px;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.token-card:hover{
  transform:translateY(-3px);
  border-color:rgba(0,255,136,.50);
  box-shadow:0 14px 34px rgba(0,255,136,.07),0 18px 38px rgba(0,0,0,.26);
}

.token-card span{
  display:block;
  color:#7d8797;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.10em;
  font-weight:900;
  margin-bottom:8px;
}

.token-card strong{
  display:block;
  font-size:14px;
  word-break:break-all;
  margin-bottom:9px;
}

.token-card small{
  display:block;
  color:var(--green);
  font-size:9px;
  font-weight:800;
}

.token-create-box{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.token-create-box small{
  display:block;
  color:#7d8797;
  margin-top:5px;
  font-size:9px;
}

.token-create-form{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
}

.token-create-form input{
  height:32px;
  background:#080d13;
  border:1px solid #303946;
  border-radius:4px;
  color:#fff;
  padding:0 9px;
  font-size:11px;
  outline:none;
}

.token-create-form input:focus{
  border-color:var(--green);
  box-shadow:0 0 0 3px rgba(0,255,136,.08);
}

.token-created{
  border:1px solid rgba(0,255,136,.30);
  background:rgba(0,255,136,.06);
  border-radius:7px;
  padding:12px;
}

.token-created strong{
  display:block;
  color:var(--green);
  margin-bottom:4px;
  font-size:12px;
}

.token-created p{
  margin:0 0 10px;
  color:#9ba6b8;
  font-size:10px;
}

.token-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
}

.integration-examples{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:8px;
}

.integration-examples div{
  display:grid;
  grid-template-columns:130px 1fr auto;
  gap:8px;
  align-items:center;
  border:1px solid #303946;
  background:#080d13;
  border-radius:5px;
  padding:8px;
}

.integration-examples span{
  color:#9ba6b8;
  font-size:9px;
  font-weight:900;
}

.integration-examples code{
  color:var(--green);
  font-size:10px;
  word-break:break-all;
}

.danger-tiny{
  border-color:rgba(255,77,91,.40)!important;
  color:#ffb3ba!important;
}

@media(max-width:900px){
  .token-overview-grid,
  .token-create-form,
  .integration-examples div{
    grid-template-columns:1fr;
  }
}


/* Tokens visíveis V12 */
.token-table-wrap table{
  min-width:1050px;
}

.visible-token-box{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:center;
  max-width:520px;
}

.visible-token-box code{
  display:block;
  background:#080d13;
  border:1px solid #303946;
  color:var(--green);
  border-radius:5px;
  padding:8px;
  font-size:9px;
  line-height:1.35;
  word-break:break-all;
  white-space:normal;
}

.muted-token{
  color:#7d8797;
  font-size:9px;
  display:block;
  max-width:320px;
  line-height:1.4;
}

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


/* Cliente - Conexões WhatsApp V13 */
.connection-overview-grid{
  max-width:1120px;
  display:grid;
  grid-template-columns:.8fr 1.3fr .9fr;
  gap:12px;
  margin:6px 0 14px;
}

.connection-card{
  background:#111720;
  border:1px solid #252d39;
  border-radius:8px;
  padding:14px;
  min-height:94px;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.connection-card:hover{
  transform:translateY(-3px);
  border-color:rgba(0,255,136,.50);
  box-shadow:0 14px 34px rgba(0,255,136,.07),0 18px 38px rgba(0,0,0,.26);
}

.connection-card span{
  display:block;
  color:#7d8797;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.10em;
  font-weight:900;
  margin-bottom:8px;
}

.connection-card strong{
  display:block;
  font-size:14px;
  word-break:break-all;
  margin-bottom:9px;
}

.connection-card small{
  display:block;
  color:var(--green);
  font-size:9px;
  font-weight:800;
}

.connection-create-box{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.connection-create-box small{
  display:block;
  color:#7d8797;
  margin-top:5px;
  font-size:9px;
}

.connection-table-wrap table{
  min-width:980px;
}

.connection-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.client-modal-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.72);
  display:grid;
  place-items:center;
  z-index:9999;
  padding:18px;
}

.client-modal{
  width:min(720px,96vw);
  max-height:92vh;
  overflow:auto;
  background:#111720;
  border:1px solid #303946;
  border-radius:10px;
  box-shadow:0 30px 80px rgba(0,0,0,.55);
}

.client-modal-head{
  height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid #252d39;
  padding:0 14px;
}

.client-modal-head strong{
  font-size:14px;
}

.client-modal-head button{
  width:28px;
  height:28px;
  border:1px solid #303946;
  background:#080d13;
  color:#fff;
  border-radius:5px;
  cursor:pointer;
  font-size:18px;
  line-height:1;
}

.client-modal-body{
  padding:14px;
}

.qr-instructions{
  border:1px solid rgba(0,255,136,.25);
  background:rgba(0,255,136,.06);
  border-radius:8px;
  padding:12px;
  margin-bottom:12px;
}

.qr-instructions strong{
  display:block;
  color:var(--green);
  font-size:12px;
  margin-bottom:4px;
}

.qr-instructions span{
  display:block;
  color:#aab4c3;
  font-size:10px;
  line-height:1.45;
}

.qr-box{
  display:grid;
  place-items:center;
  background:#fff;
  border-radius:10px;
  padding:16px;
  width:max-content;
  max-width:100%;
  margin:0 auto 12px;
}

.qr-box img{
  width:300px;
  height:300px;
  max-width:72vw;
  max-height:72vw;
  object-fit:contain;
  display:block;
}

.qr-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.pairing-code-box{
  border:1px solid #303946;
  background:#080d13;
  border-radius:8px;
  padding:14px;
  text-align:center;
}

.pairing-code-box span{
  color:#7d8797;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:9px;
  font-weight:900;
}

.pairing-code-box strong{
  display:block;
  color:var(--green);
  font-size:28px;
  letter-spacing:.12em;
  margin:8px 0 12px;
}

.status-result{
  border:1px solid rgba(0,255,136,.28);
  background:rgba(0,255,136,.07);
  border-radius:8px;
  padding:16px;
  margin-bottom:12px;
  text-align:center;
}

.status-result span{
  display:block;
  color:#7d8797;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.10em;
  font-weight:900;
}

.status-result strong{
  display:block;
  color:var(--green);
  font-size:22px;
  margin-top:6px;
}

.debug-details{
  margin-top:12px;
  border:1px solid #303946;
  background:#080d13;
  border-radius:8px;
  padding:10px;
}

.debug-details summary{
  cursor:pointer;
  color:#9ba6b8;
  font-size:10px;
  font-weight:800;
}

.debug-details pre{
  white-space:pre-wrap;
  word-break:break-word;
  color:#9cffc9;
  font-size:9px;
  margin:10px 0 0;
}

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

  .connection-actions,
  .qr-actions{
    flex-direction:column;
  }

  .connection-actions button,
  .qr-actions button{
    width:100%;
  }
}


/* Cliente - Meu Plano / Renovação V14 */
.plan-summary-grid{
  max-width:1120px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:6px 0 14px;
}

.plan-summary-card{
  background:#111720;
  border:1px solid #252d39;
  border-radius:8px;
  padding:14px;
  min-height:96px;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.plan-summary-card:hover{
  transform:translateY(-3px);
  border-color:rgba(0,255,136,.45);
  box-shadow:0 14px 34px rgba(0,255,136,.07),0 18px 38px rgba(0,0,0,.26);
}

.plan-summary-card.ok{
  border-color:rgba(0,255,136,.35);
}

.plan-summary-card.warn{
  border-color:rgba(245,165,36,.40);
}

.plan-summary-card span{
  display:block;
  color:#7d8797;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.10em;
  font-weight:900;
  margin-bottom:8px;
}

.plan-summary-card strong{
  display:block;
  font-size:16px;
  margin-bottom:8px;
}

.plan-summary-card small{
  display:block;
  color:var(--green);
  font-size:9px;
  font-weight:800;
}

.current-plan-panel{
  max-width:1120px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  background:#111720;
  border:1px solid #252d39;
  border-radius:8px;
  padding:16px;
  margin-bottom:14px;
}

.current-plan-panel h4{
  margin:4px 0 6px;
  font-size:20px;
}

.current-plan-panel p{
  margin:0;
  color:#7d8797;
  font-size:11px;
  line-height:1.5;
}

.current-limits{
  display:grid;
  grid-template-columns:repeat(3,90px);
  gap:8px;
}

.current-limits div{
  border:1px solid #303946;
  background:#080d13;
  border-radius:7px;
  padding:10px;
  text-align:center;
}

.current-limits strong{
  display:block;
  font-size:18px;
  color:var(--green);
}

.current-limits span{
  display:block;
  color:#9ba6b8;
  font-size:9px;
  margin-top:4px;
}

.pending-payments-box{
  max-width:1120px;
  background:rgba(245,165,36,.08);
  border:1px solid rgba(245,165,36,.28);
  border-radius:8px;
  padding:12px;
  margin-bottom:14px;
}

.pending-payments-box > strong{
  display:block;
  color:#f8d99b;
  font-size:12px;
  margin-bottom:8px;
}

.pending-payment-line{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  padding:8px;
  border:1px solid rgba(245,165,36,.20);
  background:rgba(0,0,0,.18);
  border-radius:5px;
  margin-top:6px;
}

.pending-payment-line span{
  color:#f8d99b;
  font-size:10px;
}

.pending-payment-line small{
  color:#d9b56b;
  font-size:9px;
}

.available-plans-head{
  max-width:1120px;
  display:flex;
  align-items:end;
  justify-content:space-between;
  margin:18px 0 10px;
}

.available-plans-head h3{
  margin:4px 0 0;
  font-size:18px;
}

.client-pricing-grid{
  max-width:1120px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.client-pricing-card{
  position:relative;
  min-height:500px;
  background:#090d15;
  border:1px solid #242b36;
  border-radius:9px;
  padding:22px;
  overflow:hidden;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

.client-pricing-card:hover{
  transform:translateY(-6px);
  border-color:rgba(0,255,136,.55);
  box-shadow:0 18px 46px rgba(0,255,136,.08),0 24px 48px rgba(0,0,0,.30);
}

.client-pricing-card.current{
  border-top:3px solid var(--green);
}

.current-badge{
  position:absolute;
  top:14px;
  right:14px;
  background:rgba(0,255,136,.12);
  border:1px solid rgba(0,255,136,.28);
  color:var(--green);
  border-radius:999px;
  padding:4px 8px;
  font-size:8px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.renewal-created-box{
  max-width:1120px;
  background:rgba(0,255,136,.08);
  border:1px solid rgba(0,255,136,.28);
  border-radius:8px;
  padding:14px;
  margin-top:14px;
}

.renewal-created-box strong{
  display:block;
  color:var(--green);
  font-size:13px;
  margin-bottom:6px;
}

.renewal-created-box p{
  margin:0 0 10px;
  color:#9ba6b8;
  font-size:11px;
}

.connection-create-box.limit-reached{
  opacity:.72;
  border-color:rgba(245,165,36,.35);
}

.connection-create-box button[disabled],
.connection-create-box input[disabled]{
  cursor:not-allowed;
  opacity:.65;
}

@media(max-width:980px){
  .plan-summary-grid,
  .client-pricing-grid,
  .current-plan-panel{
    grid-template-columns:1fr;
  }

  .current-limits{
    grid-template-columns:repeat(3,1fr);
  }
}

@media(max-width:620px){
  .current-limits{
    grid-template-columns:1fr;
  }

  .pending-payment-line{
    display:block;
  }

  .pending-payment-line button,
  .pending-payment-line small{
    margin-top:8px;
  }
}


/* Checkout Mercado Pago V16 */
.payment-return-notice{
  max-width:1120px;
  border:1px solid rgba(0,255,136,.28);
  background:rgba(0,255,136,.07);
  border-radius:8px;
  padding:12px;
  margin:6px 0 14px;
}

.payment-return-notice strong{
  display:block;
  color:var(--green);
  font-size:13px;
  margin-bottom:4px;
}

.payment-return-notice span{
  display:block;
  color:#9ba6b8;
  font-size:10px;
}

.checkout-main-btn{
  min-width:150px;
  margin-right:8px;
}


/* Financeiro completo cliente V18 */
.client-payment-summary-grid{
  max-width:1120px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:6px 0 14px;
}

.payment-mini-card{
  background:#111720;
  border:1px solid #252d39;
  border-radius:8px;
  padding:14px;
  min-height:90px;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.payment-mini-card:hover{
  transform:translateY(-3px);
  border-color:rgba(0,255,136,.50);
  box-shadow:0 14px 34px rgba(0,255,136,.07),0 18px 38px rgba(0,0,0,.26);
}

.payment-mini-card span{
  display:block;
  color:#7d8797;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.10em;
  font-weight:900;
  margin-bottom:8px;
}

.payment-mini-card strong{
  display:block;
  font-size:24px;
  margin-bottom:7px;
}

.payment-mini-card small{
  display:block;
  color:var(--green);
  font-size:9px;
  font-weight:800;
}

.client-payments-list{
  max-width:1120px;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.client-payment-card{
  background:#111720;
  border:1px solid #252d39;
  border-radius:8px;
  padding:14px;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.client-payment-card:hover{
  transform:translateY(-2px);
  border-color:rgba(0,255,136,.38);
  box-shadow:0 14px 34px rgba(0,255,136,.05),0 18px 38px rgba(0,0,0,.22);
}

.client-payment-main{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}

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

.client-payment-title strong{
  font-size:13px;
}

.client-payment-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:8px;
}

.client-payment-meta span{
  color:#8f9aab;
  font-size:10px;
}

.client-payment-amount{
  text-align:right;
  min-width:140px;
}

.client-payment-amount strong{
  display:block;
  font-size:20px;
}

.client-payment-amount span{
  display:block;
  color:#7d8797;
  font-size:9px;
  margin-top:4px;
}

.client-payment-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  border-top:1px solid #252d39;
  padding-top:12px;
  margin-top:12px;
}

.client-empty-panel{
  background:#111720;
  border:1px solid #252d39;
  border-radius:8px;
  padding:18px;
  color:#7d8797;
  font-size:12px;
}

.payment-status-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:12px 0;
}

.payment-status-grid div{
  background:#080d13;
  border:1px solid #303946;
  border-radius:6px;
  padding:9px;
}

.payment-status-grid span{
  display:block;
  color:#7d8797;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:4px;
}

.payment-status-grid strong{
  display:block;
  color:#fff;
  font-size:10px;
  word-break:break-word;
}

.client-receipt-box{
  background:#fff;
  color:#111;
  border-radius:8px;
  padding:18px;
  margin-bottom:12px;
}

.receipt-document h2,
.receipt-document h3{
  margin:0 0 8px;
  color:#111;
}

.receipt-document p{
  color:#111;
  margin:6px 0;
  font-size:12px;
}

.badge.danger{
  background:rgba(255,77,91,.14);
  color:#ff8892;
}

@media(max-width:900px){
  .client-payment-summary-grid,
  .payment-status-grid{
    grid-template-columns:1fr;
  }

  .client-payment-main{
    display:block;
  }

  .client-payment-amount{
    text-align:left;
    margin-top:12px;
  }
}


/* Planos, limites e teste grátis V19 */
.subscription-warning{
  max-width:1120px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  border-radius:8px;
  padding:13px;
  margin:6px 0 14px;
  border:1px solid rgba(245,165,36,.35);
  background:rgba(245,165,36,.10);
}

.subscription-warning.danger{
  border-color:rgba(255,77,91,.38);
  background:rgba(255,77,91,.10);
}

.subscription-warning strong{
  display:block;
  color:#fff;
  font-size:13px;
  margin-bottom:4px;
}

.subscription-warning.warn strong{
  color:#f8d99b;
}

.subscription-warning.danger strong{
  color:#ffb3ba;
}

.subscription-warning span{
  display:block;
  color:#c9d1dd;
  font-size:10.5px;
  line-height:1.45;
}

.token-create-box.limit-reached,
.connection-create-box.limit-reached{
  opacity:.72;
  border-color:rgba(245,165,36,.35);
}

.token-create-box button[disabled],
.token-create-box input[disabled],
.connection-create-box button[disabled],
.connection-create-box input[disabled]{
  cursor:not-allowed;
  opacity:.65;
}

@media(max-width:900px){
  .subscription-warning{
    display:block;
  }

  .subscription-warning button{
    margin-top:10px;
    width:100%;
  }
}


/* Painel Cliente completo V20 */
.usage-summary-grid{
  max-width:1120px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:6px 0 14px;
}

.usage-card,
.guide-card{
  background:#111720;
  border:1px solid #252d39;
  border-radius:8px;
  padding:14px;
  min-height:92px;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.usage-card:hover,
.guide-card:hover{
  transform:translateY(-3px);
  border-color:rgba(0,255,136,.50);
  box-shadow:0 14px 34px rgba(0,255,136,.07),0 18px 38px rgba(0,0,0,.26);
}

.usage-card span,
.guide-card span{
  display:block;
  color:#7d8797;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.10em;
  font-weight:900;
  margin-bottom:8px;
}

.usage-card strong,
.guide-card strong{
  display:block;
  font-size:20px;
  margin-bottom:7px;
  word-break:break-all;
}

.usage-card small{
  display:block;
  color:var(--green);
  font-size:9px;
  font-weight:800;
}

.usage-progress-box{
  max-width:1120px;
  background:#111720;
  border:1px solid #252d39;
  border-radius:8px;
  padding:12px;
  margin-bottom:14px;
}

.usage-progress-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:8px;
}

.usage-progress-head strong{
  font-size:11px;
}

.usage-progress-head span{
  color:var(--green);
  font-size:10px;
  font-weight:900;
}

.usage-progress{
  height:10px;
  background:#080d13;
  border:1px solid #303946;
  border-radius:999px;
  overflow:hidden;
}

.usage-progress i{
  display:block;
  height:100%;
  background:var(--green);
  box-shadow:0 0 18px rgba(0,255,136,.30);
}

.usage-grid{
  max-width:1120px;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:12px;
  margin-bottom:16px;
}

.usage-panel{
  background:#111720;
  border:1px solid #252d39;
  border-radius:8px;
  padding:12px;
}

.usage-bars{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.usage-bar-row{
  display:grid;
  grid-template-columns:52px 1fr 52px;
  gap:8px;
  align-items:center;
}

.usage-bar-row span,
.usage-bar-row strong{
  font-size:10px;
  color:#cbd5e1;
}

.usage-bar-row strong{
  text-align:right;
}

.usage-bar-row div{
  height:9px;
  border-radius:999px;
  background:#080d13;
  border:1px solid #303946;
  overflow:hidden;
}

.usage-bar-row div i{
  display:block;
  height:100%;
  background:var(--green);
}

.endpoint-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.endpoint-list div{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:center;
  border:1px solid #303946;
  background:#080d13;
  border-radius:6px;
  padding:8px;
}

.endpoint-list code{
  color:#9cffc9;
  font-size:9px;
  word-break:break-all;
}

.endpoint-list strong{
  color:var(--green);
  font-size:11px;
}

.usage-log-table table{
  min-width:1100px;
}

.client-section-head.compact{
  margin-top:6px;
}

.guide-grid{
  max-width:1120px;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:12px;
  margin:6px 0 14px;
}

.examples-grid{
  max-width:1120px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:14px 0;
}

.example-box{
  background:#111720;
  border:1px solid #252d39;
  border-radius:8px;
  overflow:hidden;
}

.example-head{
  height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:0 12px;
  border-bottom:1px solid #252d39;
}

.example-head strong{
  font-size:11px;
}

.example-box pre{
  margin:0;
  padding:12px;
  background:#080d13;
  color:#9cffc9;
  font-size:10px;
  line-height:1.5;
  white-space:pre-wrap;
  word-break:break-word;
  max-height:340px;
  overflow:auto;
}

.guide-steps{
  margin:10px 0 0;
  padding-left:18px;
  color:#cbd5e1;
  font-size:11px;
  line-height:1.8;
}

.live-status-toolbar{
  max-width:1120px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  border:1px solid rgba(0,255,136,.22);
  background:rgba(0,255,136,.055);
  border-radius:8px;
  padding:10px 12px;
  margin:0 0 10px;
}

.live-status-toolbar strong{
  display:block;
  color:var(--green);
  font-size:11px;
}

.live-status-toolbar span{
  display:block;
  color:#8f9aab;
  font-size:9px;
  margin-top:2px;
}

@media(max-width:980px){
  .usage-summary-grid,
  .usage-grid,
  .guide-grid,
  .examples-grid{
    grid-template-columns:1fr;
  }

  .live-status-toolbar{
    display:block;
  }

  .live-status-toolbar button{
    margin-top:8px;
    width:100%;
  }
}


/* Ajuda e integração profissional V24 */
.integration-hero{
  max-width:1120px;
  min-height:118px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:20px;
  margin:4px 0 14px;
  border:1px solid rgba(0,255,136,.22);
  border-radius:12px;
  background:
    radial-gradient(circle at top left,rgba(0,255,136,.13),transparent 38%),
    linear-gradient(135deg,#111720,#090d15);
  box-shadow:0 18px 42px rgba(0,0,0,.26);
}

.integration-hero h3{
  margin:4px 0 6px;
  font-size:24px;
}

.integration-hero p{
  margin:0;
  max-width:650px;
  color:#9ba6b8;
  font-size:12px;
  line-height:1.5;
}

.integration-quick-grid{
  max-width:1120px;
  display:grid;
  grid-template-columns:1fr 1.2fr 1fr;
  gap:12px;
  margin-bottom:14px;
}

.integration-info-card{
  min-width:0;
  background:#111720;
  border:1px solid #252d39;
  border-radius:10px;
  padding:13px;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.integration-info-card:hover{
  transform:translateY(-3px);
  border-color:rgba(0,255,136,.45);
  box-shadow:0 14px 34px rgba(0,255,136,.07),0 18px 38px rgba(0,0,0,.26);
}

.integration-info-card > span{
  display:block;
  color:#7d8797;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:950;
  margin-bottom:8px;
}

.copy-line{
  min-width:0;
  background:#070c12;
  border:1px solid #303946;
  border-radius:7px;
  padding:9px 10px;
  overflow:hidden;
}

.copy-line code{
  display:block;
  color:var(--green);
  font-size:10px;
  line-height:1.5;
  white-space:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
  max-width:100%;
}

.copy-line.compact{
  margin-bottom:9px;
}

.integration-endpoint-panel{
  max-width:1120px;
  background:#111720;
  border:1px solid #252d39;
  border-radius:10px;
  padding:14px;
  margin-bottom:14px;
}

.endpoint-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.endpoint-head span,
.example-viewer-head span{
  display:block;
  color:#7d8797;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:950;
  margin-bottom:4px;
}

.endpoint-head strong,
.example-viewer-head strong{
  display:block;
  font-size:13px;
}

.header-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

.integration-workspace{
  max-width:1120px;
  display:grid;
  grid-template-columns:220px 1fr;
  gap:12px;
  margin-bottom:14px;
}

.example-tabs{
  background:#111720;
  border:1px solid #252d39;
  border-radius:10px;
  padding:10px;
  display:flex;
  flex-direction:column;
  gap:8px;
  height:max-content;
}

.example-tabs button{
  height:38px;
  text-align:left;
  padding:0 12px;
  border-radius:7px;
  border:1px solid #303946;
  background:#080d13;
  color:#cbd5e1;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
  transition:.16s ease;
}

.example-tabs button:hover,
.example-tabs button.active{
  color:var(--green);
  border-color:rgba(0,255,136,.40);
  background:rgba(0,255,136,.08);
}

.example-viewer{
  min-width:0;
  background:#111720;
  border:1px solid #252d39;
  border-radius:10px;
  overflow:hidden;
}

.example-viewer-head{
  min-height:54px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  border-bottom:1px solid #252d39;
  padding:11px 13px;
}

.example-viewer pre{
  margin:0;
  min-height:315px;
  max-height:440px;
  overflow:auto;
  background:#070c12;
  color:#9cffc9;
  font-size:11px;
  line-height:1.62;
  white-space:pre;
  padding:15px;
  tab-size:2;
}

.integration-steps-grid{
  max-width:1120px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.step-card{
  background:#111720;
  border:1px solid #252d39;
  border-radius:10px;
  padding:14px;
}

.step-card b{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(0,255,136,.12);
  color:var(--green);
  border:1px solid rgba(0,255,136,.30);
  font-size:11px;
  margin-bottom:10px;
}

.step-card strong{
  display:block;
  font-size:12px;
  margin-bottom:5px;
}

.step-card span{
  display:block;
  color:#8f9aab;
  font-size:10px;
  line-height:1.45;
}

@media(max-width:980px){
  .integration-hero,
  .endpoint-head,
  .example-viewer-head{
    display:block;
  }

  .integration-hero .neon-btn,
  .endpoint-head .tiny-btn,
  .example-viewer-head .tiny-btn{
    margin-top:10px;
  }

  .integration-quick-grid,
  .integration-workspace,
  .integration-steps-grid{
    grid-template-columns:1fr;
  }

  .example-tabs{
    flex-direction:row;
    overflow-x:auto;
  }

  .example-tabs button{
    min-width:120px;
    text-align:center;
  }
}


/* Dashboard Cliente Pro V56 */
.client-pro-dashboard{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding-bottom:40px;
}

.client-pro-hero{
  position:relative;
  overflow:hidden;
  min-height:174px;
  display:grid;
  grid-template-columns:1fr 300px;
  gap:18px;
  align-items:center;
  border:1px solid rgba(0,255,136,.20);
  border-radius:16px;
  padding:24px;
  background:
    radial-gradient(circle at 12% 0%,rgba(0,255,136,.16),transparent 34%),
    radial-gradient(circle at 90% 10%,rgba(0,255,136,.08),transparent 26%),
    linear-gradient(135deg,#121923,#090e15);
  box-shadow:0 22px 70px rgba(0,0,0,.30);
}

.client-pro-hero:after{
  content:"";
  position:absolute;
  right:-64px;
  bottom:-74px;
  width:270px;
  height:170px;
  border:3px solid rgba(0,255,136,.42);
  border-radius:50%;
  filter:drop-shadow(0 0 26px rgba(0,255,136,.16));
}

.client-pro-hero.danger{
  border-color:rgba(255,181,71,.34);
  background:
    radial-gradient(circle at 12% 0%,rgba(255,181,71,.13),transparent 34%),
    linear-gradient(135deg,#161923,#090e15);
}

.client-pro-copy{
  position:relative;
  z-index:2;
}

.client-pro-copy h3{
  margin:8px 0 8px;
  font-size:30px;
  line-height:1.08;
  letter-spacing:-.04em;
}

.client-pro-copy p{
  max-width:620px;
  margin:0;
  color:#94a0b2;
  font-size:13px;
  line-height:1.55;
}

.client-pro-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:18px;
}

.ghost-btn{
  min-height:36px;
  border:1px solid #303946;
  border-radius:9px;
  background:#080d13;
  color:#e8eef7;
  font-size:11px;
  font-weight:950;
  padding:0 13px;
  cursor:pointer;
  transition:.16s ease;
}

.ghost-btn:hover{
  border-color:rgba(0,255,136,.42);
  color:var(--green);
  transform:translateY(-2px);
}

.client-plan-orb{
  position:relative;
  z-index:2;
  min-height:132px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid rgba(0,255,136,.28);
  background:rgba(0,255,136,.06);
  border-radius:15px;
  padding:18px;
  text-align:center;
}

.client-plan-orb > span{
  width:34px;
  height:34px;
  border-radius:50%;
  margin:0 auto 11px;
  background:var(--green);
  box-shadow:0 0 28px rgba(0,255,136,.45);
}

.client-plan-orb > span.warn{
  background:#ffb547;
  box-shadow:0 0 28px rgba(255,181,71,.42);
}

.client-plan-orb strong{
  font-size:13px;
  font-weight:950;
}

.client-plan-orb b{
  display:block;
  margin-top:5px;
  font-size:15px;
}

.client-plan-orb small{
  margin-top:6px;
  color:#9aa6b8;
  font-size:10px;
  font-weight:850;
}

.client-pro-kpis{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
}

.client-pro-kpi{
  position:relative;
  overflow:hidden;
  min-height:104px;
  border:1px solid #252d39;
  border-radius:13px;
  background:linear-gradient(180deg,#141b26,#101721);
  padding:13px;
  transition:.16s ease;
}

.client-pro-kpi:after{
  content:"";
  position:absolute;
  right:-40px;
  bottom:-50px;
  width:110px;
  height:110px;
  border-radius:50%;
  background:rgba(0,255,136,.08);
}

.client-pro-kpi.orange:after{
  background:rgba(255,181,71,.10);
}

.client-pro-kpi:hover{
  transform:translateY(-3px);
  border-color:rgba(0,255,136,.42);
}

.client-pro-kpi div{
  display:flex;
  justify-content:space-between;
  gap:8px;
  color:#7e8799;
  margin-bottom:12px;
}

.client-pro-kpi div span{
  font-size:9px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.client-pro-kpi i{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:7px;
  background:#202838;
  color:#8d98aa;
}

.client-pro-kpi strong{
  display:block;
  font-size:24px;
  line-height:1;
  letter-spacing:-.04em;
  word-break:break-word;
}

.client-pro-kpi small{
  display:block;
  margin-top:8px;
  color:var(--green);
  font-size:9px;
  font-weight:900;
}

.client-pro-kpi.orange small{
  color:#ffb547;
}

.client-pro-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

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

.client-pro-grid.three{
  grid-template-columns:repeat(3,1fr);
}

.client-pro-panel{
  border:1px solid #252d39;
  border-radius:14px;
  background:#111720;
  padding:15px;
}

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

.client-panel-head span{
  display:block;
  color:var(--green);
  font-size:9px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:5px;
}

.client-panel-head strong{
  font-size:14px;
}

.integration-list-pro{
  display:flex;
  flex-direction:column;
  gap:9px;
}

.integration-line-pro{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  border:1px solid #2b3544;
  border-radius:11px;
  background:#080d13;
  padding:11px;
}

.integration-line-pro span{
  display:block;
  color:#7f8ba0;
  font-size:9px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.integration-line-pro strong{
  display:block;
  margin-top:5px;
  color:#e8eef8;
  font-size:11px;
  word-break:break-all;
}

.usage-ring-box{
  min-height:154px;
  display:grid;
  grid-template-columns:118px 1fr;
  gap:18px;
  align-items:center;
}

.usage-ring{
  width:112px;
  height:112px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:
    radial-gradient(circle at center,#111720 0 56%,transparent 57%),
    conic-gradient(var(--green) calc(var(--p) * 1%), #253040 0);
}

.usage-ring strong{
  grid-area:1/1;
  font-size:24px;
}

.usage-ring span{
  grid-area:1/1;
  align-self:end;
  margin-bottom:22px;
  color:#8792a4;
  font-size:9px;
  font-weight:900;
}

.usage-ring-box b{
  display:block;
  font-size:26px;
}

.usage-ring-box small{
  display:block;
  margin-top:6px;
  color:#8e99aa;
  font-size:11px;
  line-height:1.4;
}

.usage-bar-pro{
  height:9px;
  overflow:hidden;
  margin-top:14px;
  border-radius:999px;
  background:#222b39;
}

.usage-bar-pro i{
  display:block;
  height:100%;
  width:0;
  border-radius:999px;
  background:linear-gradient(90deg,var(--green),#80ffbd);
}

.client-list-pro{
  display:flex;
  flex-direction:column;
  gap:9px;
}

.client-row-pro{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  border:1px solid #2b3544;
  border-radius:11px;
  background:#080d13;
  padding:11px;
}

.client-row-pro strong{
  display:block;
  font-size:12px;
}

.client-row-pro small{
  display:block;
  margin-top:4px;
  color:#8792a4;
  font-size:10px;
}

.status-pill-client{
  display:inline-flex;
  border-radius:999px;
  padding:5px 8px;
  background:rgba(255,181,71,.13);
  color:#ffb547;
  font-size:8px;
  font-weight:950;
  text-transform:uppercase;
}

.status-pill-client.on{
  background:rgba(0,255,136,.12);
  color:var(--green);
}

.client-empty-pro{
  min-height:150px;
  display:grid;
  place-items:center;
  text-align:center;
  border:1px dashed #303946;
  border-radius:12px;
  padding:18px;
  color:#94a0b2;
}

.client-empty-pro strong{
  display:block;
  color:#fff;
  margin-bottom:5px;
}

.client-empty-pro span{
  display:block;
  margin-bottom:13px;
  font-size:12px;
}

.client-step-list{
  display:flex;
  flex-direction:column;
  gap:9px;
}

.client-step-item{
  width:100%;
  display:flex;
  gap:11px;
  text-align:left;
  align-items:flex-start;
  border:1px solid #2b3544;
  border-radius:11px;
  background:#080d13;
  color:#fff;
  padding:11px;
  cursor:pointer;
  transition:.16s ease;
}

.client-step-item:hover{
  border-color:rgba(0,255,136,.42);
  transform:translateY(-2px);
}

.client-step-item b{
  width:24px;
  height:24px;
  min-width:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,181,71,.14);
  color:#ffb547;
  font-size:10px;
}

.client-step-item.done b{
  background:rgba(0,255,136,.14);
  color:var(--green);
}

.client-step-item strong{
  display:block;
  font-size:12px;
}

.client-step-item small{
  display:block;
  margin-top:4px;
  color:#8792a4;
  line-height:1.35;
}

.client-action-card{
  min-height:104px;
  text-align:left;
  border:1px solid #252d39;
  border-radius:14px;
  background:linear-gradient(180deg,#111720,#090e15);
  color:#fff;
  padding:15px;
  cursor:pointer;
  transition:.16s ease;
}

.client-action-card:hover{
  transform:translateY(-3px);
  border-color:rgba(0,255,136,.42);
}

.client-action-card i{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#202838;
  color:var(--green);
  margin-bottom:12px;
}

.client-action-card strong{
  display:block;
  font-size:13px;
}

.client-action-card span{
  display:block;
  margin-top:6px;
  color:#8f9aab;
  font-size:11px;
  line-height:1.35;
}

@media(max-width:1180px){
  .client-pro-kpis{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:860px){
  .client-pro-hero,
  .client-pro-grid,
  .client-pro-grid.two,
  .client-pro-grid.three{
    grid-template-columns:1fr;
  }

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

  .client-pro-hero{
    padding:18px;
  }

  .client-pro-copy h3{
    font-size:26px;
  }

  .client-pro-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .usage-ring-box{
    grid-template-columns:1fr;
  }
}

@media(max-width:520px){
  .client-pro-kpis{
    grid-template-columns:1fr;
  }

  .client-panel-head,
  .integration-line-pro,
  .client-row-pro{
    grid-template-columns:1fr;
  }
}


/* Fix helpers Dashboard Cliente Pro V57 */
.client-warning-box,
.client-renewal-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:1px solid rgba(255,181,71,.36);
  background:rgba(255,181,71,.10);
  color:#ffd89a;
  border-radius:14px;
  padding:14px;
  margin-bottom:14px;
}

.client-warning-box strong,
.client-renewal-box strong{
  display:block;
  color:#fff;
  font-size:14px;
  margin-bottom:4px;
}

.client-warning-box span,
.client-renewal-box span{
  display:block;
  font-size:12px;
  line-height:1.45;
}

@media(max-width:760px){
  .client-warning-box,
  .client-renewal-box{
    display:block;
  }

  .client-warning-box .neon-btn,
  .client-renewal-box .neon-btn{
    width:100%;
    margin-top:12px;
  }
}


/* Fix tela branca painel cliente V58 */
.client-login-page{
  min-height:100vh;
}


/* Ajuste visual aviso plano cliente V63 */
.client-warning-box,
.client-renewal-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.client-warning-box > div,
.client-renewal-box > div{
  min-width:0;
}

.client-warning-box span,
.client-renewal-box span{
  word-break:break-word;
}


/* V64: aviso de assinatura só aparece quando realmente necessário */
.client-warning-box:empty{
  display:none!important;
}


/* Foto Perfil Cliente V65 */
.profile-photo-preview img,
.profile-menu-photo{
  background:#08100d;
}

.profile-photo-area input[type="file"]{
  cursor:pointer;
}

.profile-photo-area input[type="file"]::file-selector-button{
  border:1px solid rgba(0,255,136,.35);
  background:rgba(0,255,136,.10);
  color:var(--green);
  border-radius:6px;
  padding:6px 9px;
  font-weight:900;
  cursor:pointer;
  margin-right:8px;
}


/* Menu hambúrguer mobile Painel Cliente V66 */
.client-mobile-menu-toggle,
.client-mobile-menu-title,
.client-mobile-menu-close,
.client-mobile-menu-overlay{
  display:none;
}

@media(max-width:860px){
  html,
  body{
    height:auto!important;
    min-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }

  body{
    background:#05080d!important;
  }

  .admin-shell,
  .client-shell,
  .app-shell{
    display:block!important;
    height:auto!important;
    min-height:100vh!important;
    overflow:visible!important;
  }

  .client-mobile-menu-toggle{
    position:fixed!important;
    top:12px!important;
    left:12px!important;
    z-index:3000!important;
    width:44px!important;
    height:44px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    gap:5px!important;
    border:1px solid rgba(0,255,136,.42)!important;
    border-radius:12px!important;
    background:#07100d!important;
    box-shadow:0 12px 36px rgba(0,0,0,.42)!important;
    cursor:pointer!important;
  }

  .client-mobile-menu-toggle span{
    width:20px!important;
    height:2px!important;
    border-radius:999px!important;
    background:var(--green)!important;
    display:block!important;
  }

  .client-mobile-menu-title{
    position:fixed!important;
    top:22px!important;
    left:66px!important;
    z-index:2999!important;
    display:block!important;
    color:#f5f7fb!important;
    font-size:13px!important;
    font-weight:950!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
  }

  .client-mobile-menu-overlay{
    position:fixed!important;
    inset:0!important;
    z-index:2500!important;
    display:block!important;
    opacity:0!important;
    pointer-events:none!important;
    background:rgba(0,0,0,.68)!important;
    backdrop-filter:blur(2px)!important;
    transition:.18s ease!important;
  }

  body.client-mobile-menu-open{
    overflow:hidden!important;
    touch-action:none;
  }

  body.client-mobile-menu-open .client-mobile-menu-overlay{
    opacity:1!important;
    pointer-events:auto!important;
  }

  body.client-mobile-menu-open .client-mobile-menu-toggle,
  body.client-mobile-menu-open .client-mobile-menu-title{
    opacity:0!important;
    pointer-events:none!important;
  }

  .side{
    position:fixed!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    z-index:2600!important;
    width:286px!important;
    min-width:286px!important;
    max-width:86vw!important;
    height:100vh!important;
    min-height:100vh!important;
    max-height:100vh!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    padding:16px 12px 12px!important;
    border-right:1px solid #1c2634!important;
    border-bottom:0!important;
    background:#05080d!important;
    box-shadow:28px 0 80px rgba(0,0,0,.55)!important;
    transform:translateX(-105%)!important;
    transition:transform .22s ease!important;
    will-change:transform;
  }

  body.client-mobile-menu-open .side{
    transform:translateX(0)!important;
  }

  .client-mobile-menu-close{
    position:absolute!important;
    top:12px!important;
    right:12px!important;
    z-index:2700!important;
    width:34px!important;
    height:34px!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid #263143!important;
    border-radius:10px!important;
    background:#0b1119!important;
    color:#fff!important;
    font-size:24px!important;
    line-height:1!important;
    cursor:pointer!important;
  }

  .brand-mini{
    width:100%!important;
    min-height:54px!important;
    margin:0 0 14px!important;
    padding:0 44px 12px 0!important;
    border-bottom:1px solid #141d29!important;
    display:flex!important;
    align-items:center!important;
    flex:0 0 auto!important;
  }

  .side-title{
    display:block!important;
    flex:0 0 auto!important;
    margin:0 6px 10px!important;
  }

  .nav{
    flex:1 1 auto!important;
    min-height:0!important;
    width:100%!important;
    max-width:100%!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
    padding:0 0 14px!important;
    margin:0!important;
    scrollbar-width:thin!important;
    scrollbar-color:#273140 transparent!important;
    -webkit-overflow-scrolling:touch!important;
  }

  .nav::-webkit-scrollbar{
    width:6px!important;
    height:6px!important;
  }

  .nav::-webkit-scrollbar-thumb{
    background:#273140!important;
    border-radius:999px!important;
  }

  .nav button,
  .nav .nav-btn{
    flex:0 0 auto!important;
    width:100%!important;
    min-width:0!important;
    height:42px!important;
    min-height:42px!important;
    justify-content:flex-start!important;
    padding:0 12px!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    border-radius:10px!important;
    font-size:13px!important;
    white-space:nowrap!important;
  }

  .nav button svg,
  .nav .nav-btn svg{
    width:17px!important;
    height:17px!important;
    flex:0 0 auto!important;
  }

  .side-spacer{
    display:none!important;
  }

  .client-box,
  .master-box{
    flex:0 0 auto!important;
    display:flex!important;
    margin-top:10px!important;
    position:relative!important;
    bottom:auto!important;
    z-index:5!important;
  }

  .main-dark,
  .content,
  main{
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:100vh!important;
    overflow:visible!important;
    display:block!important;
    padding-top:64px!important;
  }

  .top-dark{
    position:sticky!important;
    top:0!important;
    z-index:1000!important;
    min-height:64px!important;
    height:auto!important;
    padding:12px 10px 10px 66px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    border-bottom:1px solid #151e29!important;
    background:rgba(5,8,13,.96)!important;
    backdrop-filter:blur(14px)!important;
  }

  .top-dark .crumb,
  .top-dark .breadcrumb{
    font-size:10px!important;
  }

  .top-dark h1,
  .top-dark h2,
  .top-dark .page-title{
    font-size:20px!important;
    line-height:1.1!important;
    margin:0!important;
  }

  .screen,
  .page,
  .view{
    width:100%!important;
    max-width:none!important;
    padding:12px 10px 72px!important;
    margin:0!important;
    overflow:visible!important;
  }

  body.client-mobile-menu-open .main-dark,
  body.client-mobile-menu-open .content,
  body.client-mobile-menu-open main{
    pointer-events:none!important;
  }

  body.client-mobile-menu-open .side,
  body.client-mobile-menu-open .client-mobile-menu-overlay{
    pointer-events:auto!important;
  }

  /* Painel cliente responsivo */
  .client-pro-hero,
  .client-pro-grid,
  .client-pro-grid.two,
  .client-pro-grid.three,
  .profile-grid,
  .plan-grid,
  .plans-grid,
  .instances-grid,
  .tokens-grid{
    grid-template-columns:1fr!important;
  }

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

  .client-pro-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
}

@media(max-width:520px){
  .side{
    width:284px!important;
    max-width:88vw!important;
  }

  .screen,
  .page,
  .view{
    padding-left:8px!important;
    padding-right:8px!important;
  }

  .client-pro-kpis,
  .cards-grid,
  .kpi-grid{
    grid-template-columns:1fr!important;
  }

  .client-pro-copy h3{
    font-size:26px!important;
  }
}
