
:root{
  color-scheme:dark;
  --bg:#080b12;
  --bg2:#0d111b;
  --surface:#111724;
  --surface2:#161e2d;
  --surface3:#1b2536;
  --line:#273348;
  --line-soft:rgba(255,255,255,.06);
  --text:#f4f7fb;
  --muted:#92a0b5;
  --purple:#bd28ff;
  --purple2:#8c38ff;
  --cyan:#00e7ff;
  --cyan2:#6af5ff;
  --green:#55d694;
  --yellow:#efbc61;
  --red:#ff6d7c;
  --radius:18px;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{min-width:320px;background:var(--bg)}
body{
  margin:0;min-height:100vh;color:var(--text);line-height:1.45;
  background:
    radial-gradient(700px 380px at 0% 0%,rgba(189,40,255,.14),transparent 66%),
    radial-gradient(680px 360px at 100% 0%,rgba(0,231,255,.09),transparent 62%),
    linear-gradient(180deg,#080b12 0%,#0b0f17 60%,#080b12 100%);
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.08;letter-spacing:-.035em}
h2{font-size:clamp(1.12rem,2vw,1.42rem);letter-spacing:-.02em}
h3{line-height:1.25}
.muted{color:var(--muted)}
.small{font-size:.82rem}

/* HEADER */
.nv-topbar{
  height:72px;min-height:72px;max-height:72px;width:100%;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:8px 24px;position:sticky;top:0;z-index:100;overflow:hidden;
  background:rgba(7,10,16,.90);
  border-bottom:1px solid rgba(159,69,242,.28);
  backdrop-filter:blur(18px);
  box-shadow:0 8px 30px rgba(0,0,0,.18);
}
.nv-brand{display:flex;align-items:center;width:150px;height:56px;flex:0 0 150px;overflow:hidden}
.nv-logo{display:block;width:146px;height:54px;object-fit:contain;object-position:left center}
.nv-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px}
.nv-user{font-size:.84rem;color:#dce3ed;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.025)}
.nv-nav-btn{
  min-height:38px;display:inline-flex;align-items:center;justify-content:center;
  padding:8px 12px;border:1px solid var(--line);border-radius:10px;
  background:#171f2d;color:#f1f5fb;font-size:.82rem;font-weight:750
}
.nv-nav-btn:hover{border-color:rgba(0,231,255,.36);background:rgba(0,231,255,.055)}

/* LAYOUT */
.container{width:min(1220px,calc(100% - 36px));margin:26px auto 56px}
.dashboard-hero{
  position:relative;overflow:hidden;
  display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
  padding:25px 26px;margin-bottom:16px;
  border:1px solid rgba(151,64,239,.30);border-radius:21px;
  background:
    radial-gradient(360px 220px at 92% 12%,rgba(0,231,255,.11),transparent 70%),
    linear-gradient(120deg,rgba(189,40,255,.15),rgba(18,25,37,.97) 42%,rgba(0,231,255,.035));
  box-shadow:0 18px 45px rgba(0,0,0,.14);
}
.dashboard-hero::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,var(--purple),var(--cyan))
}
.dashboard-hero h1{margin:5px 0 8px;background:linear-gradient(90deg,#fff,#f0dcff 48%,#c9fbff);-webkit-background-clip:text;background-clip:text;color:transparent}
.dashboard-hero p{margin:0;color:#a9b4c4}
.eyebrow,.section-kicker{
  display:block;margin-bottom:5px;color:var(--cyan);
  font-size:.68rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase
}

/* BUTTONS / FIELDS */
button,.button,.btn,.btn-primary{
  min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  border:0;border-radius:11px;padding:10px 14px;cursor:pointer;
  font:inherit;font-weight:800;transition:.16s ease
}
button:not(.secondary),.button:not(.secondary),.btn-primary,.primary-cta{
  color:#fff;background:linear-gradient(135deg,var(--purple),#8f4dff 55%,var(--cyan));
  box-shadow:0 8px 24px rgba(141,62,255,.18)
}
button:hover,.button:hover,.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
button.secondary,.button.secondary,.btn.secondary{
  color:var(--text);background:#182131;border:1px solid var(--line)
}
input,textarea,select{
  width:100%;min-height:44px;padding:11px 12px;border-radius:11px;
  border:1px solid #2b374b;background:#0d131d;color:var(--text);
  outline:none;font:inherit;transition:.16s ease
}
textarea{min-height:110px;resize:vertical}
input:focus,textarea:focus,select:focus{
  border-color:rgba(0,231,255,.62);
  box-shadow:0 0 0 3px rgba(0,231,255,.075),0 0 20px rgba(189,40,255,.035)
}

/* PANELS */
.panel,.call-carlos{
  position:relative;background:linear-gradient(180deg,rgba(22,30,44,.96),rgba(16,22,33,.98));
  border:1px solid rgba(128,83,198,.25);border-radius:var(--radius);
  padding:21px;margin-bottom:16px;box-shadow:0 14px 34px rgba(0,0,0,.10)
}
.panel::before{
  content:"";position:absolute;left:18px;right:18px;top:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(189,40,255,.55),rgba(0,231,255,.40),transparent);
  opacity:.55
}
.panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px}
.panel-title h2{margin-bottom:4px}.panel-title p{margin:0}
.finance-panel{background:linear-gradient(135deg,rgba(189,40,255,.05),transparent 35%),linear-gradient(180deg,#151d2a,#101722)}
.renewals-panel{background:linear-gradient(135deg,rgba(0,231,255,.025),transparent 38%),linear-gradient(180deg,#151d2a,#101722)}
.finance-panel canvas{max-height:310px}

/* METRICS */
.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-bottom:16px}
.metric-card{
  position:relative;overflow:hidden;min-height:105px;display:flex;align-items:center;gap:12px;
  padding:15px;border:1px solid rgba(125,85,190,.24);border-radius:15px;
  background:linear-gradient(180deg,#151d2a,#111823)
}
.metric-card::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--purple)}
.metric-card:nth-child(even)::after{background:var(--cyan)}
.metric-card span{display:block;color:var(--muted);font-size:.75rem;margin-bottom:5px}
.metric-card strong{font-size:1.42rem;line-height:1.05}
.metric-icon{
  width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;
  border-radius:11px;background:rgba(189,40,255,.09);border:1px solid rgba(189,40,255,.20);color:#e5b0ff;font-weight:900
}
.metric-icon.success,.metric-icon.info,.metric-icon.money{background:rgba(0,231,255,.07);border-color:rgba(0,231,255,.17);color:var(--cyan)}
.metric-icon.warning{color:var(--yellow)}

/* DASHBOARD CONTROLS */
.panel-actions{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:8px;width:min(520px,100%);margin-left:auto}
.panel-actions input{min-width:0}
.inline-action-form{display:flex;margin:0}

/* CLIENT CARDS */
.client-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.client-card{
  min-height:242px;display:flex;flex-direction:column;overflow:hidden;
  padding:15px;border:1px solid rgba(125,84,190,.25);border-radius:15px;
  background:linear-gradient(180deg,#192230,#141c28);transition:.18s ease
}
.client-card:hover{transform:translateY(-3px);border-color:rgba(0,231,255,.38);box-shadow:0 14px 30px rgba(0,0,0,.18),0 0 25px rgba(0,231,255,.035)}
.client-head{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;min-height:46px}
.client-title-wrap{min-width:0;display:flex;align-items:flex-start;gap:8px}
.client-title-wrap h3{margin:2px 0 11px;font-size:1rem;overflow-wrap:anywhere}
.client-avatar{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:9px;background:#202b3c;border:1px solid #2d3a4f;font-size:.8rem}
.client-card dl{flex:1;margin:0}
.client-card dl div,.details div{display:flex;justify-content:space-between;gap:13px;padding:7px 0;border-top:1px solid var(--line-soft)}
dt{color:var(--muted)}dd{margin:0;text-align:right;font-weight:650;overflow-wrap:anywhere}
.client-card-footer{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin:12px -15px -15px;padding:10px 15px;border-top:1px solid var(--line);
  color:#c8f9ff;background:linear-gradient(90deg,rgba(189,40,255,.055),rgba(0,231,255,.025));font-size:.8rem;font-weight:800
}
.badge{
  display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:999px;
  border:1px solid var(--line);background:rgba(255,255,255,.018);font-size:.69rem;white-space:nowrap
}
.badge.ativo{color:var(--green);border-color:rgba(85,214,148,.20)}
.badge.urgente,.badge.vencido{color:var(--red)}
.badge.atencao{color:var(--yellow)}
.badge.teste{color:#cdb5ff}
.badge.proximo_renovacao{color:#e9cf6f}

/* CLIENT DETAIL */
.client-hero,.editor-hero{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:22px;margin-bottom:16px;border:1px solid rgba(145,69,226,.29);border-radius:19px;
  background:linear-gradient(120deg,rgba(189,40,255,.11),rgba(21,28,40,.97) 45%,rgba(0,231,255,.05))
}
.client-hero-main{display:flex;align-items:center;gap:14px;min-width:0}
.client-hero-avatar{width:54px;height:54px;flex:0 0 54px;display:grid;place-items:center;border-radius:15px;background:#202b3c;border:1px solid #31415a;font-size:1.25rem}
.client-hero h1,.editor-hero h1{margin:4px 0 6px}
.client-hero-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:.8rem}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.details{margin:0}.details dt{flex:0 0 42%}.details dd{max-width:58%}
.renew-form{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;align-items:end}
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.gallery img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:11px;border:1px solid var(--line)}
.messages{display:grid;gap:8px}
.message{background:#141c28;border:1px solid var(--line);border-radius:11px;padding:12px 13px}
.message p{margin:8px 0 0}.message-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.78rem}

/* FORMS */
.client-edit-form{padding:0;overflow:hidden}
.form-section{padding:21px;border-bottom:1px solid var(--line)}
.form-section:last-of-type{border-bottom:0}
.form-section-title{margin-bottom:14px}.form-section-title h2{margin-bottom:4px}.form-section-title p{margin:0;font-size:.83rem}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
.form-grid label,.full-label{margin:0;color:#b8c3d2;font-size:.83rem;font-weight:650}
.form-grid input,.form-grid select,.full-label textarea{margin-top:6px}
.span-2{grid-column:1/-1}
.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:15px 21px;background:rgba(255,255,255,.014);border-top:1px solid var(--line)}
.field-hint{margin-top:5px;color:var(--muted);font-size:.72rem}

/* FABIO */
.call-carlos{display:grid;grid-template-columns:1fr 1.35fr;gap:19px}
.call-form{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.call-form textarea{grid-column:1/-1}

/* ALERTS */
.alert{padding:11px 13px;border-radius:10px;margin-bottom:13px}
.alert.error{background:rgba(255,109,124,.09);border:1px solid rgba(255,109,124,.24)}
.alert.success{background:rgba(85,214,148,.09);border:1px solid rgba(85,214,148,.24);color:#b7f0d0}

/* LOGIN */
.login-body{
  min-height:100vh;display:grid;place-items:center;padding:20px;
  background:
    radial-gradient(600px 400px at 15% 20%,rgba(189,40,255,.18),transparent 70%),
    radial-gradient(600px 400px at 90% 80%,rgba(0,231,255,.10),transparent 70%),
    #080b12
}
.login-shell{width:min(900px,100%);display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;border:1px solid rgba(143,72,226,.27);border-radius:22px;background:#111722;box-shadow:0 26px 70px rgba(0,0,0,.28)}
.login-brand-panel{padding:38px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,rgba(189,40,255,.11),rgba(15,21,32,.98) 55%,rgba(0,231,255,.055))}
.login-brand-logo{display:block;width:min(330px,92%);height:auto;object-fit:contain;margin:0 0 20px}
.login-mobile-logo{display:none}
.login-card{padding:38px;background:#111722}.login-card button{width:100%}

/* RESPONSIVE */
@media(max-width:950px){
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .metric-card:last-child{grid-column:span 2}
  .client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .detail-grid,.call-carlos{grid-template-columns:1fr}
  .panel-title{flex-direction:column;align-items:stretch}
  .panel-actions{width:100%;margin-left:0}
  .login-shell{grid-template-columns:1fr}.login-brand-panel{display:none}.login-mobile-logo{display:block;width:min(230px,75%);margin:0 auto 17px}
}
@media(max-width:620px){
  .nv-topbar{height:64px;min-height:64px;max-height:64px;padding:6px 12px}
  .nv-brand{width:104px;height:52px;flex-basis:104px}.nv-logo{width:101px;height:50px}
  .nv-user{display:none}.nv-top-actions{gap:6px}.nv-nav-btn{min-height:35px;padding:7px 9px;font-size:.76rem}
  .container{width:min(100% - 16px,1220px);margin:14px auto 34px}
  .dashboard-hero{align-items:stretch;flex-direction:column;padding:18px 16px;border-radius:16px}
  .dashboard-hero h1{font-size:1.58rem}.dashboard-hero .primary-cta{width:100%}
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:11px}
  .metric-card{min-height:82px;padding:11px;gap:8px}.metric-card:last-child{grid-column:1/-1}.metric-card strong{font-size:1.18rem}.metric-card span{font-size:.70rem}
  .panel,.call-carlos{padding:13px;margin-bottom:11px;border-radius:14px;box-shadow:none}
  .panel-title{gap:9px;margin-bottom:11px}
  .panel-actions{grid-template-columns:1fr;gap:7px}.inline-action-form,.inline-action-form .button{width:100%}
  .client-grid{grid-template-columns:1fr;gap:8px}.client-card{min-height:auto;padding:13px;border-radius:13px}.client-card:hover{transform:none}.client-card-footer{margin:10px -13px -13px;padding:9px 13px}
  .call-form{grid-template-columns:1fr}.call-form textarea{grid-column:auto}
  .client-hero,.editor-hero{align-items:stretch;flex-direction:column;padding:15px;border-radius:14px}.client-hero-avatar{width:44px;height:44px;flex-basis:44px}.client-hero .primary-cta{width:100%}
  .details div{align-items:flex-start;gap:9px}.details dt{flex-basis:44%;font-size:.82rem}.details dd{max-width:56%;font-size:.86rem}
  .renew-form{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.message-meta{flex-direction:column;gap:3px}
  .form-section{padding:14px}.form-grid{grid-template-columns:1fr;gap:9px}.span-2{grid-column:auto}.form-actions{padding:12px 14px;flex-direction:column-reverse}.form-actions .button,.form-actions button{width:100%}
  .login-body{padding:11px}.login-shell{border-radius:16px}.login-card{padding:23px 17px}
}
@media(max-width:390px){
  .metrics{grid-template-columns:1fr}.metric-card:last-child{grid-column:auto}.gallery{grid-template-columns:1fr}
  .details div{flex-direction:column;gap:3px}.details dt,.details dd{max-width:none;width:100%;text-align:left}
}

.badge.inativo{color:var(--red);border-color:rgba(255,109,124,.22);background:rgba(255,109,124,.045)}
.badge.renovar{color:var(--yellow);border-color:rgba(239,188,97,.22);background:rgba(239,188,97,.045)}
.badge.sem_data{color:#b8c3d2}


/* PAYMENT HISTORY */
.payment-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:14px}
.payment-heading h2{margin-bottom:4px}
.payment-heading p{margin:0}
.payment-db-warning,.empty-payment-state{
  padding:14px;border-radius:11px;border:1px dashed rgba(189,40,255,.28);
  background:rgba(189,40,255,.035);color:var(--muted)
}
.payment-form{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;
  padding:13px;margin-bottom:15px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.015)
}
.payment-form label{color:#b8c3d2;font-size:.79rem;font-weight:650}
.payment-form input,.payment-form select{margin-top:5px}
.payment-form .payment-observation{grid-column:1/-2}
.payment-form button{align-self:end}
.payment-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px}
.payment-table{width:100%;border-collapse:collapse;min-width:760px}
.payment-table th,.payment-table td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--line-soft);font-size:.81rem}
.payment-table th{color:#b7c6d9;background:rgba(255,255,255,.025);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}
.payment-table td{color:#eef3f9}
.payment-table tbody tr:last-child td{border-bottom:0}
.finance-mini-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:16px}
.finance-mini-metrics article{padding:13px 14px;border:1px solid rgba(0,231,255,.14);border-radius:13px;background:linear-gradient(135deg,rgba(0,231,255,.035),rgba(189,40,255,.025))}
.finance-mini-metrics span{display:block;color:var(--muted);font-size:.72rem;margin-bottom:4px}
.finance-mini-metrics strong{font-size:1.05rem}
@media(max-width:900px){
  .payment-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .payment-form .payment-observation{grid-column:1/-1}
  .payment-form button{grid-column:1/-1}
  .finance-mini-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .payment-form{grid-template-columns:1fr;padding:10px}
  .payment-form .payment-observation,.payment-form button{grid-column:auto}
  .finance-mini-metrics{grid-template-columns:1fr 1fr;gap:7px}
}


/* PAGAMENTOS + DISCORD SYNC */
.payment-history-panel{
  background:
    radial-gradient(450px 220px at 100% 0%,rgba(0,231,255,.035),transparent 75%),
    linear-gradient(180deg,rgba(22,30,44,.97),rgba(16,22,33,.99));
}
.payment-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}
.payment-heading h2{margin-bottom:4px}.payment-heading p{margin:0}
.payment-count{padding:6px 9px;border:1px solid rgba(0,231,255,.18);border-radius:999px;background:rgba(0,231,255,.045);color:#c9f9ff;font-size:.71rem;font-weight:800;white-space:nowrap}
.new-payment-box{margin-bottom:14px;border:1px solid rgba(138,83,215,.24);border-radius:13px;background:rgba(255,255,255,.012);overflow:hidden}
.new-payment-box summary{padding:12px 14px;cursor:pointer;color:#eadbff;font-size:.83rem;font-weight:800;list-style:none}
.new-payment-box summary::-webkit-details-marker{display:none}
.new-payment-box .payment-form{margin:0;border:0;border-top:1px solid var(--line);border-radius:0}
.payment-editor{margin-bottom:14px;border:1px solid rgba(189,40,255,.30);border-radius:14px;overflow:hidden;background:linear-gradient(135deg,rgba(189,40,255,.055),rgba(0,231,255,.02))}
.payment-editor-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border-bottom:1px solid var(--line)}
.payment-editor-title h3{margin:0}
.edit-payment-form{margin:0;border:0;border-radius:0;background:transparent}
.payment-list{display:grid;gap:9px}
.payment-item{display:grid;grid-template-columns:120px 1fr auto;gap:14px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(180deg,#151d2a,#111823);transition:.15s ease}
.payment-item:hover{border-color:rgba(0,231,255,.24)}
.payment-date span,.payment-main span{display:block;color:var(--muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.045em;margin-bottom:3px}
.payment-date strong{font-size:.91rem}
.payment-main{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.payment-main strong{display:block;font-size:.85rem;overflow-wrap:anywhere}
.payment-value{color:#d5fbff}
.payment-note{grid-column:2/3;padding-top:7px;margin-top:-2px;border-top:1px solid var(--line-soft);color:#aeb9c9;font-size:.77rem}
.payment-actions{grid-column:3;grid-row:1/3}
.payment-edit-btn{min-height:35px;display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border:1px solid rgba(189,40,255,.24);border-radius:9px;background:rgba(189,40,255,.045);color:#ead7ff;font-size:.76rem;font-weight:800;white-space:nowrap}
.payment-edit-btn:hover{border-color:rgba(0,231,255,.32);background:rgba(0,231,255,.05);color:#c8fbff}
@media(max-width:900px){
  .payment-item{grid-template-columns:105px 1fr auto}
  .payment-main{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .payment-heading{align-items:flex-start;flex-direction:column}
  .payment-item{grid-template-columns:1fr auto;gap:10px}
  .payment-date{grid-column:1}.payment-main{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr));padding-top:8px;border-top:1px solid var(--line-soft)}
  .payment-note{grid-column:1/-1;grid-row:3;margin:0}
  .payment-actions{grid-column:2;grid-row:1}
}


/* DASHBOARD FINANCEIRO — CORREÇÃO V4 */
.finance-mini-metrics{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
  margin:0 0 16px !important;
  padding:0 !important;
}
.finance-mini-card{
  min-height:82px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  padding:13px 15px !important;
  margin:0 !important;
  border:1px solid rgba(0,231,255,.16) !important;
  border-radius:14px !important;
  background:
    linear-gradient(135deg,rgba(0,231,255,.045),rgba(189,40,255,.035)),
    #121925 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018) !important;
}
.finance-mini-card:nth-child(even){
  border-color:rgba(189,40,255,.18) !important;
}
.finance-mini-card span{
  display:block !important;
  margin:0 0 5px !important;
  color:var(--muted) !important;
  font-size:.72rem !important;
  line-height:1.2 !important;
}
.finance-mini-card strong{
  display:block !important;
  margin:0 !important;
  color:var(--text) !important;
  font-size:1.08rem !important;
  line-height:1.15 !important;
}
@media(max-width:850px){
  .finance-mini-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:430px){
  .finance-mini-metrics{
    grid-template-columns:1fr 1fr !important;
    gap:7px !important;
  }
  .finance-mini-card{
    min-height:76px !important;
    padding:11px 12px !important;
  }
  .finance-mini-card strong{
    font-size:.98rem !important;
  }
}


/* =========================================================
   HISTÓRICO FINANCEIRO V4 — acabamento + cache refresh
   ========================================================= */
#historico-pagamentos.payment-history-panel{
  padding:22px !important;
  overflow:hidden !important;
}
#historico-pagamentos .payment-heading{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  margin:0 0 16px !important;
}
#historico-pagamentos .payment-heading h2{
  margin:0 0 5px !important;
}
#historico-pagamentos .payment-heading p{
  margin:0 !important;
  color:var(--muted) !important;
}
#historico-pagamentos .payment-count{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:30px !important;
  padding:5px 10px !important;
  border-radius:999px !important;
  border:1px solid rgba(0,231,255,.18) !important;
  background:rgba(0,231,255,.045) !important;
  color:#c9faff !important;
  font-size:.73rem !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}

#historico-pagamentos .new-payment-box{
  display:block !important;
  margin:0 0 15px !important;
  border:1px solid rgba(157,75,237,.25) !important;
  border-radius:13px !important;
  background:linear-gradient(135deg,rgba(189,40,255,.045),rgba(0,231,255,.018)) !important;
  overflow:hidden !important;
}
#historico-pagamentos .new-payment-box > summary{
  display:flex !important;
  align-items:center !important;
  min-height:44px !important;
  padding:10px 14px !important;
  list-style:none !important;
  cursor:pointer !important;
  color:#f0e4ff !important;
  font-size:.84rem !important;
  font-weight:800 !important;
}
#historico-pagamentos .new-payment-box > summary::-webkit-details-marker{
  display:none !important;
}
#historico-pagamentos .new-payment-box > summary::before{
  content:"＋" !important;
  display:inline-grid !important;
  place-items:center !important;
  width:24px !important;
  height:24px !important;
  margin-right:9px !important;
  border-radius:7px !important;
  background:linear-gradient(135deg,rgba(189,40,255,.18),rgba(0,231,255,.10)) !important;
  color:var(--cyan) !important;
  font-size:.9rem !important;
}
#historico-pagamentos .new-payment-box[open] > summary::before{
  content:"−" !important;
}

#historico-pagamentos .payment-list{
  display:grid !important;
  gap:10px !important;
  margin:0 !important;
}
#historico-pagamentos .payment-item{
  position:relative !important;
  display:grid !important;
  grid-template-columns:128px minmax(0,1fr) auto !important;
  grid-template-rows:auto auto !important;
  gap:10px 16px !important;
  align-items:center !important;
  padding:15px 16px !important;
  margin:0 !important;
  border:1px solid rgba(130,89,192,.25) !important;
  border-radius:14px !important;
  background:
    radial-gradient(220px 100px at 100% 0%,rgba(0,231,255,.025),transparent 75%),
    linear-gradient(180deg,#161f2d,#111824) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018) !important;
}
#historico-pagamentos .payment-item::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:12px !important;
  bottom:12px !important;
  width:3px !important;
  border-radius:0 4px 4px 0 !important;
  background:linear-gradient(180deg,var(--purple),var(--cyan)) !important;
}
#historico-pagamentos .payment-item:hover{
  border-color:rgba(0,231,255,.26) !important;
}
#historico-pagamentos .payment-date{
  padding-left:5px !important;
}
#historico-pagamentos .payment-date span,
#historico-pagamentos .payment-main span{
  display:block !important;
  margin:0 0 4px !important;
  color:#7f90a8 !important;
  font-size:.66rem !important;
  font-weight:700 !important;
  line-height:1.15 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
}
#historico-pagamentos .payment-date strong{
  display:block !important;
  color:#fff !important;
  font-size:.95rem !important;
}
#historico-pagamentos .payment-main{
  display:grid !important;
  grid-template-columns:1.05fr .9fr 1fr .9fr !important;
  gap:10px 18px !important;
  min-width:0 !important;
}
#historico-pagamentos .payment-main > div{
  min-width:0 !important;
}
#historico-pagamentos .payment-main strong{
  display:block !important;
  margin:0 !important;
  color:#eef3fa !important;
  font-size:.87rem !important;
  line-height:1.25 !important;
  overflow-wrap:anywhere !important;
}
#historico-pagamentos .payment-main .payment-value{
  color:#bff9ff !important;
  font-size:.94rem !important;
}
#historico-pagamentos .payment-note{
  grid-column:2/3 !important;
  grid-row:2 !important;
  margin:0 !important;
  padding:9px 0 0 !important;
  border-top:1px solid var(--line-soft) !important;
  color:#aab7c8 !important;
  font-size:.78rem !important;
}
#historico-pagamentos .payment-actions{
  grid-column:3 !important;
  grid-row:1/3 !important;
  align-self:center !important;
}
#historico-pagamentos .payment-edit-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:36px !important;
  padding:7px 11px !important;
  border:1px solid rgba(189,40,255,.25) !important;
  border-radius:9px !important;
  background:rgba(189,40,255,.055) !important;
  color:#ead9ff !important;
  font-size:.77rem !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}
#historico-pagamentos .payment-edit-btn:hover{
  border-color:rgba(0,231,255,.36) !important;
  background:rgba(0,231,255,.06) !important;
  color:#cbfbff !important;
}

@media(max-width:850px){
  #historico-pagamentos .payment-item{
    grid-template-columns:110px minmax(0,1fr) auto !important;
  }
  #historico-pagamentos .payment-main{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:620px){
  #historico-pagamentos.payment-history-panel{
    padding:15px !important;
  }
  #historico-pagamentos .payment-heading{
    align-items:flex-start !important;
    flex-direction:column !important;
    gap:8px !important;
  }
  #historico-pagamentos .payment-item{
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-rows:auto auto auto !important;
    gap:10px !important;
    padding:14px !important;
  }
  #historico-pagamentos .payment-date{
    grid-column:1 !important;
    grid-row:1 !important;
  }
  #historico-pagamentos .payment-actions{
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:start !important;
  }
  #historico-pagamentos .payment-main{
    grid-column:1/-1 !important;
    grid-row:2 !important;
    padding-top:10px !important;
    border-top:1px solid var(--line-soft) !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  #historico-pagamentos .payment-note{
    grid-column:1/-1 !important;
    grid-row:3 !important;
  }
}


/* PAGAMENTOS V5 — ações */
#historico-pagamentos .payment-actions{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:7px !important;
}
#historico-pagamentos .payment-delete-form{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}
#historico-pagamentos .payment-delete-btn{
  width:100% !important;
  min-height:35px !important;
  padding:7px 10px !important;
  border:1px solid rgba(255,109,124,.23) !important;
  border-radius:9px !important;
  background:rgba(255,109,124,.045) !important;
  color:#ffb6bf !important;
  box-shadow:none !important;
  font-size:.76rem !important;
  font-weight:800 !important;
}
#historico-pagamentos .payment-delete-btn:hover{
  border-color:rgba(255,109,124,.42) !important;
  background:rgba(255,109,124,.08) !important;
  filter:none !important;
}


/* RESULTADO / DIVISÃO FINANCEIRA */
.nv-profit-summary{
  margin:0 0 16px;
  padding:19px 20px;
  border:1px solid rgba(139,84,212,.25);
  border-radius:17px;
  background:
    radial-gradient(430px 180px at 100% 0%,rgba(0,231,255,.05),transparent 72%),
    linear-gradient(135deg,rgba(189,40,255,.055),rgba(17,24,36,.98) 42%);
}
.nv-profit-heading{margin-bottom:13px}
.nv-profit-heading h2{margin:2px 0 5px}
.nv-profit-heading p{margin:0;color:var(--muted);font-size:.79rem}
.nv-profit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.nv-profit-card{
  position:relative;overflow:hidden;min-height:82px;padding:13px 14px;
  border:1px solid var(--line);border-radius:13px;background:#131b28
}
.nv-profit-card::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--purple)
}
.nv-profit-card.available::before,.nv-profit-card.partner::before{background:var(--cyan)}
.nv-profit-card span{display:block;color:var(--muted);font-size:.71rem;margin-bottom:5px}
.nv-profit-card strong{display:block;font-size:1.08rem}
.nv-profit-card.reserve strong{color:#e8c0ff}
.nv-profit-card.partner strong{color:#c8fbff}
.nv-profit-note{
  margin:10px 0 0;padding:8px 10px;border-radius:9px;
  border:1px solid rgba(239,188,97,.17);background:rgba(239,188,97,.035);
  color:#d8c8a8;font-size:.74rem
}
@media(max-width:800px){
  .nv-profit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:430px){
  .nv-profit-summary{padding:14px}
  .nv-profit-grid{gap:7px}
  .nv-profit-card{min-height:76px;padding:11px 12px}
}


/* =========================================================
   RESUMO FINANCEIRO V11 — correção definitiva de layout
   ========================================================= */
main.container > .nv-finance-kpis,
.nv-finance-kpis{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
  width:100% !important;
  margin:0 0 16px !important;
  padding:0 !important;
  list-style:none !important;
}

.nv-finance-kpis > .nv-finance-kpi{
  position:relative !important;
  min-width:0 !important;
  min-height:86px !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  padding:14px 15px !important;
  margin:0 !important;
  border:1px solid rgba(139,84,212,.24) !important;
  border-radius:14px !important;
  background:
    linear-gradient(135deg,rgba(189,40,255,.045),rgba(0,231,255,.025)),
    #121925 !important;
  overflow:hidden !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018) !important;
}

.nv-finance-kpis > .nv-finance-kpi::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  bottom:0 !important;
  width:3px !important;
  background:var(--purple) !important;
}

.nv-finance-kpis > .nv-finance-kpi:nth-child(even)::before{
  background:var(--cyan) !important;
}

.nv-finance-kpi > .nv-finance-kpi-icon{
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  min-height:36px !important;
  flex:0 0 36px !important;
  display:grid !important;
  place-items:center !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid rgba(189,40,255,.20) !important;
  border-radius:11px !important;
  background:rgba(189,40,255,.08) !important;
  color:#e6b5ff !important;
  font-size:.78rem !important;
  font-weight:900 !important;
  line-height:1 !important;
}

.nv-finance-kpi > .nv-finance-kpi-icon.cyan{
  border-color:rgba(0,231,255,.18) !important;
  background:rgba(0,231,255,.065) !important;
  color:var(--cyan) !important;
}

.nv-finance-kpi > .nv-finance-kpi-content{
  min-width:0 !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}

.nv-finance-kpi-content > span{
  display:block !important;
  margin:0 0 5px !important;
  padding:0 !important;
  color:var(--muted) !important;
  font-size:.72rem !important;
  font-weight:500 !important;
  line-height:1.2 !important;
}

.nv-finance-kpi-content > strong{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--text) !important;
  font-size:1.08rem !important;
  font-weight:800 !important;
  line-height:1.12 !important;
  white-space:nowrap !important;
}

@media(max-width:850px){
  main.container > .nv-finance-kpis,
  .nv-finance-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:430px){
  .nv-finance-kpis{
    gap:7px !important;
  }
  .nv-finance-kpis > .nv-finance-kpi{
    min-height:78px !important;
    padding:11px 12px !important;
    gap:9px !important;
  }
  .nv-finance-kpi > .nv-finance-kpi-icon{
    width:31px !important;
    height:31px !important;
    min-width:31px !important;
    min-height:31px !important;
    flex-basis:31px !important;
  }
  .nv-finance-kpi-content > strong{
    font-size:.96rem !important;
  }
}


/* DASHBOARD V13 — Inativos */
.metrics{
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
}
.metric-icon.inactive{
  background:rgba(255,109,124,.075) !important;
  border-color:rgba(255,109,124,.20) !important;
  color:#ff8e9a !important;
}
.metric-card.inactive-card::after{
  background:#ff6d7c !important;
}
@media(max-width:1100px){
  .metrics{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .metric-card:last-child{
    grid-column:auto !important;
  }
}
@media(max-width:620px){
  .metrics{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .metric-card:last-child{
    grid-column:auto !important;
  }
}


/* =========================================================
   LOGIN V14 — logo preenchendo painel + mobile estável
   ========================================================= */
html{
  min-height:100%;
  overflow-x:hidden;
}
body{
  min-height:100%;
  overflow-x:hidden;
}
body.login-body{
  min-height:100dvh !important;
  margin:0 !important;
  padding:max(18px, env(safe-area-inset-top))
          max(18px, env(safe-area-inset-right))
          max(18px, env(safe-area-inset-bottom))
          max(18px, env(safe-area-inset-left)) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow-x:hidden !important;
  overscroll-behavior-y:none;
  background:
    radial-gradient(700px 440px at 8% 15%,rgba(189,40,255,.17),transparent 68%),
    radial-gradient(680px 430px at 92% 86%,rgba(0,231,255,.09),transparent 70%),
    #080b12 !important;
}

.login-shell-v14{
  width:min(980px,100%) !important;
  min-height:570px !important;
  display:grid !important;
  grid-template-columns:1.05fr .95fr !important;
  overflow:hidden !important;
  border:1px solid rgba(143,72,226,.30) !important;
  border-radius:22px !important;
  background:#101722 !important;
  box-shadow:0 28px 80px rgba(0,0,0,.32) !important;
}

.login-visual-v14{
  position:relative !important;
  min-width:0 !important;
  min-height:570px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:28px !important;
  overflow:hidden !important;
  background:
    radial-gradient(430px 270px at 48% 45%,rgba(189,40,255,.14),transparent 72%),
    linear-gradient(145deg,#111724,#0b111b) !important;
  border-right:1px solid rgba(255,255,255,.045) !important;
}

.login-visual-v14::after{
  content:"" !important;
  position:absolute !important;
  inset:auto 12% 7% 12% !important;
  height:1px !important;
  background:linear-gradient(90deg,transparent,var(--purple),var(--cyan),transparent) !important;
  opacity:.45 !important;
}

.login-visual-logo-v14{
  display:block !important;
  width:min(430px,96%) !important;
  height:auto !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  margin:0 !important;
  padding:0 !important;
  filter:
    drop-shadow(0 0 18px rgba(189,40,255,.19))
    drop-shadow(0 0 12px rgba(0,231,255,.08)) !important;
}

.login-content-v14{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:28px !important;
  padding:42px !important;
  background:
    radial-gradient(360px 220px at 100% 0%,rgba(0,231,255,.045),transparent 72%),
    linear-gradient(160deg,rgba(189,40,255,.055),#111722 38%) !important;
}

.login-intro-v14 h1{
  margin:5px 0 12px !important;
  font-size:clamp(2rem,4vw,2.65rem) !important;
}
.login-intro-v14 p{
  margin:0 !important;
  color:#c2ccda !important;
  max-width:36ch !important;
  line-height:1.55 !important;
}

.login-form-card-v14{
  padding-top:22px !important;
  border-top:1px solid rgba(255,255,255,.075) !important;
}
.login-form-card-v14 h2{
  margin:0 0 5px !important;
}
.login-form-card-v14 > p{
  margin:0 0 17px !important;
}
.login-form-card-v14 form{
  display:grid !important;
  gap:13px !important;
}
.login-form-card-v14 label{
  display:grid !important;
  gap:6px !important;
  color:#dbe3ee !important;
  font-size:.82rem !important;
  font-weight:700 !important;
}
.login-form-card-v14 button{
  width:100% !important;
  margin-top:2px !important;
}

/* remove qualquer vestígio do layout antigo */
.login-shell-v14 .login-logo,
.login-shell-v14 .login-brand-logo,
.login-shell-v14 .login-mobile-logo,
.login-shell-v14 .login-brand-panel,
.login-shell-v14 .login-card{
  display:none !important;
}

@media(max-width:760px){
  body.login-body{
    min-height:100dvh !important;
    padding:
      max(10px, env(safe-area-inset-top))
      max(10px, env(safe-area-inset-right))
      max(10px, env(safe-area-inset-bottom))
      max(10px, env(safe-area-inset-left)) !important;
    align-items:flex-start !important;
  }

  .login-shell-v14{
    width:100% !important;
    min-height:auto !important;
    grid-template-columns:1fr !important;
    border-radius:18px !important;
    margin:0 !important;
  }

  .login-visual-v14{
    min-height:210px !important;
    height:210px !important;
    padding:18px 22px !important;
    border-right:0 !important;
    border-bottom:1px solid rgba(255,255,255,.05) !important;
  }

  .login-visual-logo-v14{
    width:min(340px,88%) !important;
    max-height:175px !important;
  }

  .login-content-v14{
    gap:23px !important;
    padding:26px 20px calc(26px + env(safe-area-inset-bottom)) !important;
  }

  .login-intro-v14 h1{
    font-size:2rem !important;
  }

  .login-intro-v14 p{
    max-width:none !important;
  }
}

@media(max-width:420px){
  .login-visual-v14{
    min-height:180px !important;
    height:180px !important;
    padding:14px 18px !important;
  }

  .login-visual-logo-v14{
    width:min(300px,92%) !important;
    max-height:150px !important;
  }

  .login-content-v14{
    padding:22px 16px calc(22px + env(safe-area-inset-bottom)) !important;
  }
}

/* Evita a faixa/overflow inferior ao rolar em navegadores mobile */
@supports (height: 100dvh){
  body.login-body{
    min-height:100dvh !important;
  }
}


/* LOGIN V15 — integração da LogoHeader.png com o fundo */
.login-visual-v14{
  background:#0d0d14 !important;
}

/*
  A própria LogoHeader.png possui um fundo quase preto.
  O fade nas bordas elimina a percepção do retângulo sem alterar a arte.
*/
.login-visual-logo-v14{
  -webkit-mask-image:radial-gradient(
    ellipse 88% 82% at center,
    #000 0%,
    #000 66%,
    rgba(0,0,0,.96) 74%,
    rgba(0,0,0,.65) 86%,
    transparent 100%
  ) !important;
  mask-image:radial-gradient(
    ellipse 88% 82% at center,
    #000 0%,
    #000 66%,
    rgba(0,0,0,.96) 74%,
    rgba(0,0,0,.65) 86%,
    transparent 100%
  ) !important;
}

/* Mantém a integração também no celular */
@media(max-width:760px){
  .login-visual-v14{
    background:#0d0d14 !important;
  }
}


/* =========================================================
   V21 — EXATAMENTE O FUNDO DO PAINEL "CLIENTES / RENOVAÇÕES"
   Não altera body, página, gráfico ou os cards dos clientes.
   ========================================================= */
section.panel.renewals-panel{
  background:#05080d !important;
}

/* Mantém os cards internos exatamente no visual existente. */
section.panel.renewals-panel > .client-grid > .client-card{
  background:linear-gradient(180deg,#192230,#141c28) !important;
}


/* =========================================================
   V22 — HIERARQUIA VISUAL NEOVISIONPLAY
   #05080d é usado somente como tom de profundidade.
   Cards e elementos de conteúdo continuam mais claros.
   ========================================================= */

/* Renovações: mantém o resultado aprovado */
section.panel.renewals-panel{
  background:#05080d !important;
}

/* Financeiro: área de visualização/gráfico funciona como plano de fundo
   para o conteúdo, portanto recebe o mesmo tom de profundidade. */
section.panel.finance-panel{
  background:#05080d !important;
}

/* Áreas internas que agrupam conteúdo sem serem o conteúdo em si */
section.panel.renewals-panel .renewals-toolbar,
section.panel.finance-panel .chart-wrap{
  background:rgba(9,13,20,.72);
}

/* Preserva os cards individuais em um nível visual acima */
section.panel.renewals-panel .client-card{
  background:linear-gradient(180deg,#192230,#141c28) !important;
}

/* Inputs/botões de ferramenta permanecem legíveis sobre os fundos profundos */
section.panel.renewals-panel .search-input,
section.panel.renewals-panel input[type="search"]{
  background:#0b111a !important;
}


/* =========================================================
   V23 — INTERCALAÇÃO DOS BLOCOS DO DASHBOARD
   ========================================================= */

/* Renovações continua usando o tom de profundidade aprovado */
section.panel.renewals-panel{
  background:#05080d !important;
}

/* Resultado do mês, que fica imediatamente acima do gráfico */
section.nv-profit-summary{
  background:#05080d !important;
}

/* O gráfico volta ao visual anterior, mais claro */
section.panel.finance-panel{
  background:
    linear-gradient(135deg,rgba(189,40,255,.05),transparent 35%),
    linear-gradient(180deg,#151d2a,#101722) !important;
}

/* Preserva os cards dos clientes */
section.panel.renewals-panel .client-card{
  background:linear-gradient(180deg,#192230,#141c28) !important;
}


/* =========================================================
   V25 — GRUPOS E FILTROS DE CLIENTES
   ========================================================= */
.client-filterbar{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 18px;
  padding:10px;
  border:1px solid rgba(125,84,190,.18);
  border-radius:13px;
  background:rgba(255,255,255,.018);
}

.client-filter{
  min-height:34px !important;
  padding:7px 11px !important;
  border:1px solid #29364a !important;
  border-radius:9px !important;
  background:#0d131d !important;
  color:#9eacc0 !important;
  box-shadow:none !important;
  font-size:.74rem !important;
  font-weight:800 !important;
}

.client-filter:hover{
  transform:none !important;
  border-color:rgba(0,231,255,.28) !important;
  color:#d8fbff !important;
}

.client-filter.active{
  border-color:rgba(0,231,255,.38) !important;
  background:linear-gradient(135deg,rgba(189,40,255,.11),rgba(0,231,255,.08)) !important;
  color:#fff !important;
}

.client-status-group{
  margin:0 0 20px;
}

.client-status-group:last-of-type{
  margin-bottom:0;
}

.client-group-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin:0 2px 10px;
  padding:0 2px 9px;
  border-bottom:1px solid rgba(255,255,255,.065);
}

.client-group-heading h3{
  margin:2px 0 3px;
  font-size:.96rem;
}

.client-group-heading p{
  margin:0;
  color:var(--muted);
  font-size:.72rem;
}

.client-group-kicker{
  color:var(--cyan);
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.12em;
}

.client-status-group[data-client-group="inactive"] .client-group-kicker{
  color:#ff8e9a;
}

.client-status-group[data-client-group="test"] .client-group-kicker{
  color:#d0b6ff;
}

.client-group-count{
  min-width:29px;
  height:29px;
  display:grid;
  place-items:center;
  padding:0 8px;
  border:1px solid rgba(0,231,255,.17);
  border-radius:999px;
  background:rgba(0,231,255,.04);
  color:#c6faff;
  font-size:.72rem;
  font-weight:900;
}

.client-status-group[data-client-group="inactive"] .client-group-count{
  border-color:rgba(255,109,124,.18);
  background:rgba(255,109,124,.04);
  color:#ffb4bc;
}

.client-empty-filter{
  padding:24px 16px;
  text-align:center;
  border:1px dashed rgba(125,84,190,.24);
  border-radius:12px;
  color:var(--muted);
  font-size:.82rem;
}

@media(max-width:620px){
  .client-filterbar{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
    padding:8px;
    margin-bottom:14px;
  }

  .client-filter{
    width:100% !important;
  }

  .client-filter:first-child{
    grid-column:1/-1;
  }

  .client-group-heading{
    align-items:center;
  }

  .client-group-heading p{
    display:none;
  }
}


/* =========================================================
   V26 — ESTOQUE / RESERVA DE PONTOS
   ========================================================= */
.nv-points-panel{
  margin:18px 0;
  padding:20px;
  border:1px solid rgba(0,231,255,.10);
  border-radius:16px;
  background:#05080d;
}

.nv-points-heading{
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-bottom:15px;
}

.nv-points-heading h2{
  margin:3px 0 5px;
}

.nv-points-heading p{
  margin:0;
  color:var(--muted);
  font-size:.78rem;
}

.nv-points-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.nv-points-card{
  padding:14px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:12px;
  background:linear-gradient(180deg,#182130,#121925);
}

.nv-points-card.primary{
  border-color:rgba(0,231,255,.18);
}

.nv-points-card.forecast{
  border-color:rgba(189,40,255,.18);
}

.nv-points-card span,
.nv-points-card small{
  display:block;
  color:var(--muted);
}

.nv-points-card span{
  font-size:.68rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.nv-points-card strong{
  display:block;
  margin:6px 0 4px;
  font-size:1.15rem;
}

.nv-points-card small{
  font-size:.68rem;
  line-height:1.35;
}

.nv-points-forecast{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:11px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:12px;
  background:rgba(255,255,255,.018);
}

.nv-points-forecast > div:not(.nv-points-recommendation){
  display:flex;
  flex-direction:column;
  gap:2px;
}

.nv-points-forecast span{
  color:var(--muted);
  font-size:.67rem;
}

.nv-points-forecast strong{
  font-size:.96rem;
}

.nv-points-forecast .ok strong{color:#76e4a9}
.nv-points-forecast .danger strong{color:#ff8895}
.nv-points-arrow{opacity:.35}

.nv-points-recommendation{
  margin-left:auto;
  padding:8px 10px;
  border:1px solid rgba(255,188,97,.18);
  border-radius:9px;
  color:#ffd18b;
  font-size:.72rem;
  font-weight:800;
}

.nv-points-actions{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:10px;
  margin-top:11px;
}

.nv-points-action-card{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:12px;
  background:#101722;
}

.nv-points-action-card > div{
  margin-right:auto;
}

.nv-points-action-card strong,
.nv-points-action-card span{
  display:block;
}

.nv-points-action-card span{
  margin-top:2px;
  color:var(--muted);
  font-size:.68rem;
}

.nv-points-action-card.adjust{
  display:grid;
  grid-template-columns:1fr 100px 130px auto;
}

.nv-points-action-card label span{
  margin:0 0 4px;
}

.nv-points-action-card input{
  width:100%;
  min-width:0;
}

.nv-points-action-card button:disabled{
  opacity:.4;
  cursor:not-allowed;
}

.nv-points-history{
  margin-top:11px;
  border-top:1px solid rgba(255,255,255,.06);
  padding-top:10px;
}

.nv-points-history summary{
  cursor:pointer;
  color:#b8c4d6;
  font-size:.75rem;
  font-weight:800;
}

.nv-points-history-list{
  display:grid;
  gap:6px;
  margin-top:9px;
}

.nv-points-history-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:8px 10px;
  border-radius:8px;
  background:rgba(255,255,255,.018);
}

.nv-points-history-row strong,
.nv-points-history-row span{
  display:block;
}

.nv-points-history-row span{
  color:var(--muted);
  font-size:.67rem;
}

.nv-points-history-values{
  text-align:right;
  white-space:nowrap;
}

@media(max-width:900px){
  .nv-points-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nv-points-actions{grid-template-columns:1fr}
  .nv-points-action-card.adjust{grid-template-columns:1fr 1fr}
  .nv-points-action-card.adjust > div{grid-column:1/-1}
  .nv-points-action-card.adjust button{grid-column:1/-1}
}

@media(max-width:560px){
  .nv-points-panel{padding:14px}
  .nv-points-grid{grid-template-columns:1fr 1fr}
  .nv-points-forecast{align-items:stretch;flex-wrap:wrap}
  .nv-points-arrow{display:none}
  .nv-points-recommendation{width:100%;margin-left:0}
  .nv-points-action-card{align-items:stretch;flex-direction:column}
  .nv-points-action-card.adjust{display:grid;grid-template-columns:1fr 1fr}
}


/* =========================================================
   V27 — PONTOS PRIVADOS/COLAPSÁVEIS + GRÁFICO MULTIPERÍODO
   ========================================================= */

/* Pontos: versão compacta e recolhível */
.nv-points-collapsible{
  padding:0 !important;
  overflow:hidden;
}

.nv-points-collapsible > summary{
  list-style:none;
}

.nv-points-collapsible > summary::-webkit-details-marker{
  display:none;
}

.nv-points-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 17px;
  cursor:pointer;
  user-select:none;
}

.nv-points-summary > div{
  min-width:0;
}

.nv-points-summary strong{
  display:block;
  margin:2px 0;
  font-size:1rem;
}

.nv-points-summary small{
  display:block;
  color:var(--muted);
  font-size:.72rem;
}

.nv-points-toggle-text{
  display:flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
  color:#aeb9c9;
  font-size:.72rem;
  font-weight:800;
}

.nv-points-collapsible .when-open{display:none}
.nv-points-collapsible[open] .when-closed{display:none}
.nv-points-collapsible[open] .when-open{display:inline}

.nv-points-chevron{
  display:inline-block;
  transition:transform .18s ease;
  font-size:1rem;
}

.nv-points-collapsible[open] .nv-points-chevron{
  transform:rotate(180deg);
}

.nv-points-body{
  padding:2px 20px 20px;
  border-top:1px solid rgba(255,255,255,.055);
}

.nv-points-collapsible:not([open]){
  margin-top:12px;
  margin-bottom:12px;
}

.nv-points-collapsible:not([open]) .nv-points-body{
  display:none;
}

/* Gráfico financeiro */
.finance-panel-title{
  align-items:flex-start;
}

.finance-range-switcher{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  justify-content:flex-end;
}

.finance-range-btn{
  min-height:32px !important;
  padding:6px 10px !important;
  border:1px solid #29364a !important;
  border-radius:8px !important;
  background:#0d131d !important;
  color:#96a5ba !important;
  font-size:.70rem !important;
  font-weight:800 !important;
  box-shadow:none !important;
}

.finance-range-btn:hover{
  transform:none !important;
  color:#eafcff !important;
  border-color:rgba(0,231,255,.30) !important;
}

.finance-range-btn.active{
  color:#fff !important;
  border-color:rgba(0,231,255,.36) !important;
  background:linear-gradient(135deg,rgba(189,40,255,.12),rgba(0,231,255,.08)) !important;
}

.finance-chart-wrap{
  position:relative;
  width:100%;
  height:300px;
  margin-top:4px;
}

@media(max-width:700px){
  .finance-panel-title{
    flex-direction:column;
  }

  .finance-range-switcher{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .finance-range-btn{
    width:100% !important;
  }

  .finance-chart-wrap{
    height:250px;
  }

  .nv-points-summary{
    padding:12px 13px;
  }

  .nv-points-summary small{
    white-space:normal;
  }

  .nv-points-toggle-text .when-closed,
  .nv-points-toggle-text .when-open{
    display:none !important;
  }

  .nv-points-body{
    padding:2px 14px 14px;
  }
}


/* =========================================================
   V28 — BOTÃO "OLHA O ZAP CARLOS"
   Exclusivo do atalho do Fabio.
   ========================================================= */
.call-form .whatsapp-carlos-btn{
  color:#f4fff8 !important;
  background:
    linear-gradient(135deg,#128c4a 0%,#18b65e 48%,#25d366 100%) !important;
  border:1px solid rgba(78,255,150,.30) !important;
  box-shadow:
    0 8px 22px rgba(18,140,74,.20),
    inset 0 1px 0 rgba(255,255,255,.12) !important;
}

.call-form .whatsapp-carlos-btn:hover{
  color:#fff !important;
  background:
    linear-gradient(135deg,#159d53 0%,#20c96a 50%,#2ee878 100%) !important;
  border-color:rgba(115,255,173,.45) !important;
  box-shadow:
    0 10px 26px rgba(18,140,74,.28),
    0 0 20px rgba(37,211,102,.08) !important;
  filter:none !important;
}
