.app-booting .sidebar,.app-booting .main-content,.app-booting .floating-logout,.app-booting .top-user-widget,.app-loading .top-user-widget{visibility:hidden!important;opacity:0!important;pointer-events:none!important}.app-booting{background:#000!important}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;backdrop-filter:blur(12px);transition:.25s}.card:hover{border-color:rgba(0,87,178,.42);box-shadow:0 12px 32px rgba(0,87,178,.12)}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-full{grid-column:1/-1}.form-input{width:100%;background:var(--panel-2);border:1px solid rgba(75,85,99,.55);border-radius:13px;padding:11px 13px;color:var(--text);outline:none}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,87,178,.16)}label{display:block;font-size:13px;margin-bottom:7px;color:#d1d5db;font-weight:600}.btn{border:0;border-radius:14px;padding:11px 16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{color:white;background:linear-gradient(135deg,var(--primary),var(--secondary))}.btn-ghost{background:rgba(0,87,178,.08);border:1px solid rgba(0,87,178,.25);color:#d8ecff}.btn-danger{background:rgba(239,68,68,.14);border:1px solid rgba(239,68,68,.25);color:#fecaca}.icon-button{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:12px;background:rgba(255,255,255,.05);color:var(--text)}.metric{font-size:35px;font-weight:800;line-height:1.1;background:linear-gradient(135deg,#e6f2ff,#66b2ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.muted{color:var(--muted)}.tiny{font-size:12px;color:var(--soft)}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;background:rgba(0,87,178,.16);color:#d8ecff}.list{display:grid;gap:12px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.toast{position:fixed;right:22px;bottom:22px;background:linear-gradient(135deg,#059669,#10b981);color:white;padding:13px 18px;border-radius:14px;box-shadow:0 8px 24px rgba(5,150,105,.3);transform:translateY(100px);opacity:0;transition:.35s;z-index:50;font-weight:700}.toast.show{transform:translateY(0);opacity:1}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.35);border-top-color:white;border-radius:50%;animation:spin .65s linear infinite}.notice{border:1px dashed rgba(0,87,178,.35);background:rgba(0,87,178,.07);border-radius:16px;padding:14px;color:#d8ecff}.danger-zone{border-color:rgba(239,68,68,.25);background:rgba(239,68,68,.06)}.copy-code{font-family:ui-monospace,monospace;font-size:12px;color:#9bd0ff;word-break:break-all}.file-box{border:2px dashed rgba(0,87,178,.4);background:rgba(0,87,178,.05);border-radius:15px;padding:16px;text-align:center;cursor:pointer;color:#d8ecff}

.btn-small{padding:8px 11px;font-size:12px}.access-modal{position:fixed;inset:0;background:radial-gradient(circle at top,rgba(0,87,178,.22),rgba(0,0,0,.94) 42%,#000 100%);display:none;align-items:center;justify-content:center;padding:22px;z-index:200}.access-modal.show{display:flex}.access-card{width:min(440px,100%);background:rgba(5,5,12,.92);border:1px solid rgba(0,87,178,.24);box-shadow:0 24px 80px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.04) inset;border-radius:28px;padding:30px;backdrop-filter:blur(18px);animation:fadeSlideUp .35s ease}.access-logo{width:74px;height:74px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 18px 45px rgba(0,87,178,.28);margin-bottom:18px}.access-card h1{font-size:25px;margin:0 0 6px}.access-card p{color:var(--muted);margin:0 0 20px}.access-form{display:grid;gap:12px}.password-field{position:relative}.password-field .form-input{padding-right:48px}.password-field button{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:11px;background:rgba(0,87,178,.12);color:#d8ecff;display:grid;place-items:center}.inline-password button{top:50%}.access-options{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.check-row{display:flex;align-items:center;gap:8px;margin:0;color:#d1d5db}.check-row input{accent-color:var(--primary)}.access-submit{width:100%;margin-top:4px}.access-hint{font-size:12px!important;color:var(--soft)!important;text-align:center;margin:4px 0 0!important}.is-locked .sidebar,.is-locked .main-content,.is-locked .floating-logout,.is-locked .top-user-widget{visibility:hidden;opacity:0;pointer-events:none;user-select:none}.floating-logout{position:fixed;right:20px;bottom:20px;top:auto;z-index:90;width:42px;height:42px;border-radius:14px;border:1px solid rgba(0,87,178,.28);background:rgba(0,0,0,.76);color:#d8ecff;display:grid;place-items:center;backdrop-filter:blur(12px);box-shadow:0 14px 34px rgba(0,0,0,.42);transition:.22s}.floating-logout:hover{transform:translateY(-2px);border-color:rgba(0,87,178,.5);background:rgba(0,87,178,.16)}

.access-error{display:none;color:#fca5a5;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.25);padding:10px 12px;border-radius:12px;font-size:13px}.access-error.show{display:block}

.logo-preview-area{display:block}.logo-current-box{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:4px}.logo-png-preview{width:150px;max-height:90px;object-fit:contain;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}.muted-small{font-size:12px;color:var(--muted);margin:8px 0 0}.btn-danger{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.32);color:#fecaca}.btn-danger:hover{background:rgba(239,68,68,.2);color:#fff}

.access-logo.has-logo{background:transparent!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important}
.access-logo-png{width:118px;max-height:86px;object-fit:contain;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}


/* Ajuste solicitado: centralização completa do modal de acesso */
.access-card{
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.access-card .access-logo{
  margin-left:auto;
  margin-right:auto;
}
.access-form{
  width:100%;
  max-width:360px;
  margin:0 auto;
  justify-items:center;
}
.access-form label:not(.check-row){
  width:100%;
  text-align:center;
}
.access-form .form-input{
  text-align:center;
}
.access-form .password-field{
  width:100%;
}
.access-options{
  width:100%;
  justify-content:center;
  text-align:center;
}
.check-row{
  justify-content:center;
}
.access-submit{
  justify-content:center;
}
.access-error{
  width:100%;
  text-align:center;
}


/* Convite e painel por usuário */
.invite-modal{position:fixed;inset:0;background:radial-gradient(circle at top,rgba(0,87,178,.24),rgba(0,0,0,.94) 42%,#000 100%);display:none;align-items:center;justify-content:center;padding:22px;z-index:210}.invite-modal.show{display:flex}.invite-card{max-width:460px}.invite-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.owner-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 10px;background:rgba(0,87,178,.14);color:#d8ecff;font-size:12px;font-weight:800}.copy-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.copy-row .copy-code{flex:1;min-width:220px}.user-scope-banner{margin-bottom:16px;border:1px solid rgba(0,87,178,.28);background:rgba(0,87,178,.08);border-radius:16px;padding:12px 14px;color:#d8ecff;font-size:13px}.admin-only-note{font-size:12px;color:#9bd0ff;margin-top:10px}.link-invite-box{border:1px dashed rgba(0,87,178,.45);background:rgba(0,87,178,.07);border-radius:18px;padding:16px;margin-top:16px}.link-invite-box h3{margin-bottom:8px}

.btn-small{padding:7px 10px;border-radius:10px;font-size:12px;line-height:1;white-space:nowrap}.compact-copy{margin-top:8px;gap:8px}.compact-copy .copy-code{flex:initial;min-width:0}.compact-copy p.copy-code{margin:0}.compact-copy .tiny{margin:0;white-space:nowrap}


/* Modal seguro da aba Comunidade */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.72);display:none;align-items:center;justify-content:center;padding:22px;z-index:220;backdrop-filter:blur(10px)}
.modal-overlay.show{display:flex}
.modal-card{width:min(560px,100%);background:rgba(5,5,12,.96);border:1px solid rgba(0,87,178,.28);box-shadow:0 24px 80px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.04) inset;border-radius:24px;padding:24px}
.small-modal{max-width:540px}
.modal-header{align-items:flex-start;margin-bottom:16px}
.commission-row{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.network-node-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* Filtros da Vitrine no painel admin */
.showcase-filter-card{margin-bottom:16px}
.showcase-product-card{display:flex;flex-direction:column}
.showcase-product-card .btn{margin-top:auto}

/* Vitrine pública por slug: /nome e /nome/produto */
.public-store-mode{background:#000!important;color:var(--text)}
.public-store-mode .sidebar,.public-store-mode .sidebar-overlay,.public-store-mode .mobile-header,.public-store-mode .floating-logout{display:none!important}
.public-store-mode .main-content{margin-left:0!important;min-height:100vh;visibility:visible!important;pointer-events:auto!important;user-select:auto!important}
.public-store-mode .app-main{width:min(1180px,100%);margin:0 auto;padding:24px}
.public-hero{position:relative;overflow:hidden;border:1px solid rgba(0,87,178,.28);border-radius:28px;background:linear-gradient(135deg,rgba(0,87,178,.22),rgba(0,0,0,.92));min-height:260px;display:flex;align-items:flex-end;margin-bottom:20px;box-shadow:0 20px 60px rgba(0,87,178,.12)}
.public-hero-banner{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42;filter:saturate(1.08)}
.public-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.85))}
.public-hero-content{position:relative;z-index:1;padding:28px;max-width:760px}
.public-hero h1{font-size:clamp(30px,5vw,58px);line-height:1;margin:12px 0;color:#fff}
.public-hero p{font-size:17px;color:#dbeafe;margin:0 0 16px}
.public-category-filter{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.public-category-filter .active{background:var(--primary);border-color:var(--primary);color:#fff}
.public-products-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.public-product-card{background:var(--panel);border:1px solid var(--line);border-radius:24px;overflow:hidden;display:flex;flex-direction:column}.public-product-card:hover{border-color:rgba(0,87,178,.45);box-shadow:0 18px 44px rgba(0,87,178,.13)}.public-product-image{width:100%;height:220px;object-fit:cover}.public-product-body{padding:20px;display:flex;flex-direction:column;gap:12px;flex:1}.public-product-body h2{margin:0;font-size:22px}.public-price{display:flex;align-items:baseline;gap:10px;margin-top:auto}.public-price span{font-size:26px;font-weight:900;color:#d8ecff}.public-price small{text-decoration:line-through;color:var(--muted)}.public-benefits{margin:0;padding-left:18px;color:#d1d5db}.public-benefits li{margin:5px 0}.public-product-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:1000px;margin:0 auto}.public-product-detail .public-product-image{height:100%;min-height:420px}.store-banner-preview{width:260px;max-height:120px;object-fit:cover;border-radius:16px;border:1px solid rgba(0,87,178,.25)}
@media(max-width:900px){.public-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-product-detail{grid-template-columns:1fr}.public-product-detail .public-product-image{height:280px;min-height:0}}
@media(max-width:640px){.public-store-mode .app-main{padding:14px}.public-products-grid{grid-template-columns:1fr}.public-hero{min-height:220px;border-radius:22px}.public-hero-content{padding:22px}.public-product-image{height:200px}}

.username-suggestion{margin:-6px 0 2px!important;text-align:left!important;color:#9bd0ff!important;font-size:11px!important}

/* Afiliados: ações administrativas */
.affiliate-card{display:grid;gap:12px}.affiliate-card-head{align-items:flex-start}.affiliate-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:2px}.btn-danger{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:#fecaca}.btn-danger:hover{background:rgba(239,68,68,.2);border-color:rgba(239,68,68,.55);color:#fff}.copy-code{word-break:break-all}

/* Compras */
.purchase-summary{align-items:flex-start;gap:14px}.purchase-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.purchase-actions{margin-top:12px}.purchase-details{margin-top:14px;padding-top:14px;border-top:1px solid rgba(0,87,178,.18)}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.purchase-admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.badge-success{background:rgba(16,185,129,.14);color:#86efac}.badge-warning{background:rgba(245,158,11,.14);color:#fcd34d}.badge-danger{background:rgba(239,68,68,.14);color:#fca5a5}.small-metric{font-size:1.45rem}@media(max-width:700px){.detail-grid{grid-template-columns:1fr}.purchase-right{justify-content:flex-start}}

.btn-danger{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:#fecaca}
.btn-danger:hover{background:rgba(239,68,68,.2);border-color:rgba(239,68,68,.55)}
.form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.hidden{display:none!important}

/* Modal de compra pública */
.purchase-modal{position:fixed;inset:0;background:rgba(0,0,0,.78);display:none;align-items:center;justify-content:center;padding:22px;z-index:230;backdrop-filter:blur(12px)}
.purchase-modal.show{display:flex}.purchase-modal .modal-card{max-width:560px}.public-product-body .buy-product-btn{width:100%;margin-top:10px}

/* Checkout moderno e intuitivo */
.checkout-card{width:min(920px,100%);max-width:920px!important;padding:0!important;overflow:hidden;border-radius:28px!important;background:linear-gradient(180deg,rgba(7,12,24,.98),rgba(2,6,14,.98))!important}
.checkout-topbar{display:flex;align-items:center;gap:10px;padding:18px 22px;border-bottom:1px solid rgba(0,87,178,.18);background:rgba(0,87,178,.06)}
.checkout-step{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}.checkout-step span{width:26px;height:26px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:#cbd5e1}.checkout-step.active span{background:var(--primary);border-color:var(--primary);color:#fff}.checkout-step.active{color:#d8ecff}.checkout-line{height:1px;flex:1;background:linear-gradient(90deg,rgba(0,87,178,.35),rgba(0,87,178,.08))}
.checkout-header{padding:22px 24px 10px;margin:0!important}.checkout-header h2{margin:8px 0 4px;font-size:28px}.checkout-badge{background:rgba(16,185,129,.14);color:#86efac}
.checkout-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:0;padding:0 24px 24px}.checkout-summary{border:1px solid rgba(0,87,178,.22);background:linear-gradient(180deg,rgba(0,87,178,.13),rgba(0,0,0,.28));border-radius:22px;padding:18px;display:flex;flex-direction:column;gap:14px;align-self:start}.checkout-product-thumb{height:190px;border-radius:18px;background:rgba(0,87,178,.12);border:1px solid rgba(0,87,178,.22);display:grid;place-items:center;overflow:hidden;color:#9bd0ff}.checkout-product-thumb img{width:100%;height:100%;object-fit:cover}.checkout-product-thumb svg{width:48px;height:48px}.checkout-summary h3{margin:2px 0 4px;font-size:20px}.checkout-total-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(0,87,178,.18);padding-top:14px}.checkout-total-row strong{font-size:25px;color:#d8ecff}.checkout-secure-note{display:flex;gap:10px;align-items:flex-start;background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.18);border-radius:15px;padding:12px;color:#bbf7d0;font-size:12px;line-height:1.35}.checkout-secure-note svg{width:18px;height:18px;flex-shrink:0}.checkout-form{padding:0 0 0 22px}.checkout-section-title{display:flex;align-items:center;gap:8px;margin:2px 0 14px;color:#d8ecff}.checkout-fields{gap:14px}.checkout-confirm{margin:14px 0!important;align-items:flex-start!important;justify-content:flex-start!important;text-align:left!important;font-size:12px!important;color:#cbd5e1!important}.checkout-actions{justify-content:flex-end;margin-top:10px}.checkout-submit{min-width:190px;box-shadow:0 15px 35px rgba(0,87,178,.25)}
@media(max-width:820px){.checkout-card{max-height:92vh;overflow:auto}.checkout-layout{grid-template-columns:1fr;padding:0 18px 18px}.checkout-form{padding:18px 0 0}.checkout-product-thumb{height:150px}.checkout-topbar{padding:14px 16px}.checkout-step small{display:none}.checkout-header{padding:18px 18px 8px}.checkout-header h2{font-size:24px}.checkout-actions{justify-content:stretch}.checkout-actions .btn{width:100%}}


/* UX/UI premium refinements */

.card-glass,.panel-card,.dashboard-card,.product-card,.purchase-card{border-radius:22px!important;background:linear-gradient(180deg,rgba(8,14,28,.94),rgba(3,7,18,.92))!important;border:1px solid rgba(0,87,178,.20)!important;box-shadow:0 18px 44px rgba(0,0,0,.22);backdrop-filter:blur(16px)}
.card-glass:hover,.product-card:hover{transform:translateY(-2px);border-color:rgba(0,87,178,.40)!important;box-shadow:0 22px 54px rgba(0,87,178,.10)}
.btn-primary,.primary-btn,button[type="submit"]{border-radius:14px!important;background:linear-gradient(135deg,#0057b2,#0876e4)!important;box-shadow:0 12px 26px rgba(0,87,178,.25);min-height:42px;align-items:center;justify-content:center}
.btn-primary:hover,.primary-btn:hover{filter:brightness(1.07);transform:translateY(-1px)}
.form-input,input,select,textarea{border-radius:14px!important;background:rgba(5,11,24,.84)!important;border-color:rgba(148,163,184,.20)!important;min-height:42px}
.form-input:focus,input:focus,select:focus,textarea:focus{border-color:#0057b2!important;box-shadow:0 0 0 4px rgba(0,87,178,.18)!important}
.sidebar-link{border-radius:14px!important;margin:.16rem .7rem!important;min-height:42px}.sidebar-link.active{background:rgba(0,87,178,.18)!important;color:#dbeafe!important}.sidebar-link:hover{background:rgba(0,87,178,.11)!important;color:#eff6ff!important}
.badge{border-radius:999px!important;background:rgba(0,87,178,.14)!important;color:#b9dcff!important;border:1px solid rgba(0,87,178,.22)}
.grid,.cards-grid{gap:clamp(12px,1.6vw,20px)!important}.modal,.access-card,.checkout-modal{border-radius:28px!important;box-shadow:0 30px 90px rgba(0,0,0,.42)}
#showcase-grid,#product-list,.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}.stat-item{border-radius:16px!important;background:rgba(5,11,24,.64)!important}

/* Black premium seguro sem ocultar conteúdo */
body{background:#000!important;color:var(--text)!important;}
.card,.access-card,.modal-card,.public-product-card{background:linear-gradient(180deg,rgba(10,10,12,.98),rgba(3,3,5,.98))!important;border-color:rgba(255,255,255,.08)!important;}
.sidebar{background:#000!important;border-right-color:rgba(255,255,255,.07)!important;}
.btn-primary,.brand-mark,.loading-logo,.access-logo{background:linear-gradient(135deg,#0057b2,#003f82)!important;}
.form-input,input,select,textarea{background:rgba(0,0,0,.88)!important;color:#fff!important;border-color:rgba(255,255,255,.10)!important;}

/* Espaçamento padrão consistente entre cards e blocos dentro das abas */
:root{--card-gap:clamp(14px,1.8vw,22px);--section-gap:clamp(18px,2.4vw,30px)}
#app-main{display:grid!important;gap:var(--section-gap)!important;align-content:start!important}
#app-main > section,#app-main > .tab-panel{display:grid!important;gap:var(--section-gap)!important;align-content:start!important;width:100%!important}
.tab-panel .grid,.tab-panel .cards-grid,.tab-panel .dashboard-grid,.tab-panel .public-products-grid,.tab-panel .form-grid,#product-list,#affiliate-list,#links-list,#network-view,#cashback-list,#withdrawals-list,#purchases-list,#gains-list,#showcase-grid{gap:var(--card-gap)!important}
.tab-panel .list,.tab-panel [class*="list"],.tab-panel .space-y-3,.tab-panel .space-y-4{display:grid!important;gap:var(--card-gap)!important}
.tab-panel .card,.tab-panel .card-glass,.tab-panel .panel-card,.tab-panel .dashboard-card,.tab-panel .product-card,.tab-panel .purchase-card,.tab-panel .affiliate-card,.tab-panel .public-product-card{margin:0!important}
.tab-panel .card + .card,.tab-panel .card-glass + .card-glass,.tab-panel .panel-card + .panel-card{margin-top:var(--card-gap)!important}
.tab-panel .page-header,.tab-panel .page-head,.tab-panel .section-head{margin-bottom:var(--card-gap)!important}
@media(max-width:768px){:root{--card-gap:14px;--section-gap:20px}.tab-panel .card,.tab-panel .card-glass,.tab-panel .panel-card{padding:16px!important}}

/* Espaçamento global entre cards, campos e grupos dentro das abas */
:root{
  --ui-card-gap: clamp(16px, 2vw, 24px);
  --ui-field-gap: 14px;
  --ui-group-gap: clamp(18px, 2.2vw, 28px);
}

#app-main,
#app-main > section,
#app-main > .tab-panel{
  gap: var(--ui-group-gap) !important;
}

.tab-panel,
.tab-panel .card,
.tab-panel .panel-card,
.tab-panel .card-glass,
.tab-panel .modal-card,
.tab-panel form,
.tab-panel .form-grid,
.tab-panel .list,
.tab-panel .grid,
.tab-panel .dashboard-grid,
.tab-panel .cards-grid,
.tab-panel .public-products-grid,
.tab-panel .checkout-grid,
.tab-panel .settings-grid{
  gap: var(--ui-card-gap) !important;
}

.tab-panel form,
.tab-panel .form-grid,
.tab-panel .form-row,
.tab-panel .field-group,
.tab-panel .input-group,
.tab-panel .filter-row,
.tab-panel .actions-row,
.modal-card form,
.access-form,
.checkout-form{
  display: grid;
  gap: var(--ui-field-gap) !important;
}

.tab-panel label,
.modal-card label,
.access-form label,
.checkout-form label{
  margin-bottom: 8px !important;
}

.tab-panel input,
.tab-panel select,
.tab-panel textarea,
.tab-panel .form-input,
.modal-card input,
.modal-card select,
.modal-card textarea,
.access-form .form-input,
.checkout-form .form-input{
  margin-bottom: 2px !important;
}

.tab-panel .btn,
.tab-panel button,
.modal-card .btn,
.checkout-form .btn{
  margin-top: 4px;
}

.tab-panel .row,
.tab-panel .copy-row,
.tab-panel .network-node-head,
.tab-panel .commission-row,
.tab-panel .invite-actions,
.tab-panel .product-actions,
.tab-panel .purchase-actions{
  gap: 12px !important;
}

.tab-panel .card > * + *,
.tab-panel .panel-card > * + *,
.tab-panel .card-glass > * + *,
.tab-panel .modal-card > * + *{
  margin-top: 12px;
}

.tab-panel .page-header,
.tab-panel .page-head,
.tab-panel .section-head,
.tab-panel .app-page-head{
  margin-bottom: var(--ui-card-gap) !important;
}

.tab-panel .notice,
.tab-panel .danger-zone,
.tab-panel .link-invite-box,
.tab-panel .showcase-filter-card,
.tab-panel .user-scope-banner{
  margin: 0 0 var(--ui-card-gap) 0 !important;
}

@media(max-width:768px){
  :root{--ui-card-gap:14px;--ui-field-gap:12px;--ui-group-gap:18px}
  .tab-panel .card,
  .tab-panel .panel-card,
  .tab-panel .card-glass,
  .modal-card{padding:16px!important}
}

/* Dashboard admin premium */
.admin-dashboard-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:28px;
  background:linear-gradient(135deg, rgba(0,87,178,.22), rgba(0,0,0,.92) 58%, rgba(255,255,255,.035));
  border:1px solid rgba(0,87,178,.28);
}
.admin-dashboard-hero h2{margin:10px 0 8px;font-size:clamp(1.45rem,2vw,2rem);letter-spacing:-.04em}
.hero-kpi{min-width:220px;text-align:right;padding:18px;border-radius:22px;background:rgba(0,0,0,.48);border:1px solid rgba(255,255,255,.08)}
.hero-kpi small{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.hero-kpi strong{font-size:1.75rem;color:#fff;letter-spacing:-.04em}
.dashboard-kpis{margin-top:18px}
.kpi-card{position:relative;overflow:hidden;min-height:132px}
.kpi-card::after{content:"";position:absolute;right:-35px;top:-35px;width:96px;height:96px;border-radius:50%;background:rgba(0,87,178,.18);filter:blur(2px)}
.kpi-card small{display:block;color:var(--muted);margin-top:8px;font-size:.78rem}
.small-metric{font-size:clamp(1.45rem,2vw,2rem)!important}
.dashboard-analytics{margin-top:18px}
.dashboard-chart-card{overflow:hidden}
.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.section-title-row h3{margin:0 0 4px}
.dashboard-chart{width:100%;height:auto;display:block;margin-top:8px;background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0));border-radius:18px}
.chart-axis{stroke:rgba(255,255,255,.12);stroke-width:1}
.chart-bar{fill:#0057b2;filter:drop-shadow(0 8px 18px rgba(0,87,178,.32));transition:opacity .2s ease, transform .2s ease;transform-origin:bottom}
.chart-bar-group:hover .chart-bar{opacity:.82;transform:scaleY(1.04)}
.chart-label{fill:rgba(255,255,255,.55);font-size:10px;text-transform:uppercase}
.chart-value{fill:#fff;font-size:10px;font-weight:700}
.chart-legend{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.78rem;margin-top:8px;flex-wrap:wrap}
.chart-legend i{display:inline-block;width:10px;height:10px;border-radius:999px;background:#0057b2;margin-right:6px;box-shadow:0 0 18px rgba(0,87,178,.65)}
.stacked-progress{height:18px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.06);display:flex;margin:18px 0;border:1px solid rgba(255,255,255,.06)}
.stacked-progress span{height:100%;display:block;min-width:0;transition:width .25s ease}
.progress-paid{background:#0057b2}
.progress-pending{background:rgba(0,87,178,.45)}
.progress-cancelled{background:rgba(255,255,255,.18)}
.status-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.status-breakdown div{padding:14px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);text-align:center}
.status-breakdown strong{display:block;font-size:1.35rem;color:#fff}
.status-breakdown span{display:block;color:var(--muted);font-size:.78rem;margin-top:4px}
.compact-list .row{align-items:flex-start;gap:14px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.compact-list .row:last-child{border-bottom:0}
.ranking-row span{display:flex;flex-direction:column;gap:3px}
.ranking-row b{color:#fff;margin-right:8px}
.compact-list small,.commission-rule-list small{display:block;color:var(--muted);font-size:.75rem;margin-top:3px}
.commission-rule-list .row{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.commission-rule-list .row:last-child{border-bottom:0}
.badge-info{background:rgba(0,87,178,.18);color:#7db7ff;border:1px solid rgba(0,87,178,.32)}
.section-title-row .badge,
.section-title-row .badge-info{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.15!important;
  min-height:48px;
  padding:8px 14px!important;
  white-space:normal;
}
@media (max-width: 760px){
  .admin-dashboard-hero{flex-direction:column;align-items:stretch;padding:20px}
  .hero-kpi{text-align:left;min-width:0}
  .section-title-row{flex-direction:column}
  .status-breakdown{grid-template-columns:1fr}
}

/* Dashboard: cards padronizados, sem efeito circular decorativo */
.kpi-card,
.dashboard-card,
.dashboard-kpis .card{
  min-height:132px!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  overflow:hidden!important;
}
.kpi-card::before,
.kpi-card::after,
.dashboard-card::before,
.dashboard-card::after,
.dashboard-kpis .card::before,
.dashboard-kpis .card::after{
  content:none!important;
  display:none!important;
  background:none!important;
  filter:none!important;
  box-shadow:none!important;
}
.dashboard-kpis{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  gap:var(--ui-card-gap,18px)!important;
  align-items:stretch!important;
}
.dashboard-kpis .metric,
.dashboard-kpis .small-metric{
  min-height:40px!important;
  display:flex!important;
  align-items:center!important;
}

/* Padronização final dos cards do Dashboard */
.dashboard-kpis,
.dashboard-user-kpis{
  align-items:stretch!important;
  grid-auto-rows:1fr!important;
}
.dashboard-kpis .card,
.dashboard-user-kpis .card,
.kpi-card,
.user-kpi-card{
  min-height:148px!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:12px!important;
  padding:22px!important;
  text-align:left!important;
}
.dashboard-kpis .card > p,
.dashboard-user-kpis .card > p,
.kpi-card > p,
.user-kpi-card > p{
  min-height:20px!important;
  margin:0!important;
  line-height:1.25!important;
}
.dashboard-kpis .metric,
.dashboard-user-kpis .metric,
.kpi-card .metric,
.user-kpi-card .metric{
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  margin:2px 0!important;
  font-size:clamp(28px,3vw,36px)!important;
  line-height:1!important;
  word-break:break-word!important;
}
.dashboard-kpis .small-metric,
.dashboard-user-kpis .small-metric,
.kpi-card .small-metric,
.user-kpi-card .small-metric{
  font-size:clamp(22px,2.3vw,30px)!important;
}
.dashboard-kpis small,
.dashboard-user-kpis small,
.kpi-card small,
.user-kpi-card small,
.dashboard-kpis .tiny,
.dashboard-user-kpis .tiny,
.kpi-card .tiny,
.user-kpi-card .tiny{
  min-height:32px!important;
  display:flex!important;
  align-items:flex-end!important;
  color:var(--soft)!important;
  line-height:1.35!important;
  margin:0!important;
}
.dashboard-analytics{
  align-items:stretch!important;
}
.dashboard-analytics > .card,
.dashboard-analytics .card{
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
}
.dashboard-analytics .list,
.dashboard-analytics .compact-list{
  flex:1!important;
}
.admin-dashboard-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:20px!important;
  min-height:132px!important;
}
.admin-dashboard-hero h2,
.admin-dashboard-hero p{
  margin-left:0!important;
  margin-right:0!important;
}
.hero-kpi{
  min-width:210px!important;
  min-height:86px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-end!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:18px!important;
  padding:16px!important;
  background:rgba(255,255,255,.03)!important;
}
.hero-kpi small{color:var(--muted)!important}
.hero-kpi strong{font-size:clamp(24px,3vw,36px)!important;line-height:1!important}
@media(max-width:980px){
  .dashboard-kpis.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dashboard-user-kpis.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .admin-dashboard-hero{grid-template-columns:1fr!important}
  .hero-kpi{align-items:flex-start!important;min-width:0!important;width:100%!important}
}
@media(max-width:620px){
  .dashboard-kpis.grid-4,
  .dashboard-user-kpis.grid-3,
  .dashboard-analytics.grid-2{grid-template-columns:1fr!important}
  .dashboard-kpis .card,
  .dashboard-user-kpis .card,
  .kpi-card,
  .user-kpi-card{min-height:132px!important;padding:18px!important}
}

/* Correção final: alinhamento horizontal dos cards do dashboard */
.dashboard-kpis-main{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:22px!important;
  align-items:stretch!important;
  grid-auto-rows:1fr!important;
  margin-top:22px!important;
}
.dashboard-kpis-main .kpi-card{
  width:100%!important;
  min-width:0!important;
  min-height:184px!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  padding:24px!important;
  box-sizing:border-box!important;
}
.dashboard-kpis-main .kpi-card .metric{
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
}
@media(max-width:1180px){
  .dashboard-kpis-main{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:720px){
  .dashboard-kpis-main{grid-template-columns:1fr!important;gap:16px!important;}
  .dashboard-kpis-main .kpi-card{min-height:150px!important;}
}

/* FIX DEFINITIVO: dashboard com cards 100% alinhados.
   Remove margens automáticas entre .card + .card dentro de grids, que deslocavam
   os cards seguintes para baixo e quebravam o alinhamento horizontal. */
#app-main .dashboard-kpis-main,
#app-main .dashboard-kpis,
#app-main .dashboard-user-kpis{
  display:grid!important;
  align-items:stretch!important;
  grid-auto-rows:1fr!important;
  gap:22px!important;
  margin-top:22px!important;
}
#app-main .dashboard-kpis-main.dashboard-kpis.grid-4,
#app-main .dashboard-kpis.grid-4{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
#app-main .dashboard-user-kpis.grid-3{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
#app-main .dashboard-kpis-main > .card,
#app-main .dashboard-kpis > .card,
#app-main .dashboard-user-kpis > .card,
#app-main .dashboard-kpis-main > .card + .card,
#app-main .dashboard-kpis > .card + .card,
#app-main .dashboard-user-kpis > .card + .card{
  margin:0!important;
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  min-height:176px!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  align-self:stretch!important;
  padding:24px!important;
  transform:none!important;
}
#app-main .dashboard-kpis-main > .card:hover,
#app-main .dashboard-kpis > .card:hover,
#app-main .dashboard-user-kpis > .card:hover{
  transform:none!important;
}
#app-main .dashboard-kpis-main > .card::before,
#app-main .dashboard-kpis-main > .card::after,
#app-main .dashboard-kpis > .card::before,
#app-main .dashboard-kpis > .card::after,
#app-main .dashboard-user-kpis > .card::before,
#app-main .dashboard-user-kpis > .card::after{
  content:none!important;
  display:none!important;
}
#app-main .dashboard-kpis-main .metric,
#app-main .dashboard-kpis .metric,
#app-main .dashboard-user-kpis .metric{
  margin:0!important;
  min-height:52px!important;
  display:flex!important;
  align-items:center!important;
}
#app-main .dashboard-kpis-main small,
#app-main .dashboard-kpis small,
#app-main .dashboard-user-kpis small,
#app-main .dashboard-user-kpis .tiny{
  margin:0!important;
  min-height:32px!important;
  display:flex!important;
  align-items:flex-end!important;
}
@media(max-width:1180px){
  #app-main .dashboard-kpis-main.dashboard-kpis.grid-4,
  #app-main .dashboard-kpis.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  #app-main .dashboard-kpis-main.dashboard-kpis.grid-4,
  #app-main .dashboard-kpis.grid-4,
  #app-main .dashboard-user-kpis.grid-3{grid-template-columns:1fr!important;}
  #app-main .dashboard-kpis-main > .card,
  #app-main .dashboard-kpis > .card,
  #app-main .dashboard-user-kpis > .card{min-height:148px!important;padding:18px!important;}
}


/* DASHBOARD ALIGN FIX - regra final e isolada
   O dashboard não usa mais alinhamento herdado de .grid/.card + .card.
   Todos os cards de métricas ficam dentro de uma única grade fixa no desktop,
   com margens zeradas, mesma altura e mesma largura. */
#app-main .dashboard-metrics-grid,
#app-main .dashboard-user-metrics-grid{
  display:grid!important;
  width:100%!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:22px!important;
  align-items:stretch!important;
  grid-auto-flow:row!important;
  grid-auto-rows:minmax(176px,auto)!important;
  margin:22px 0 0!important;
  padding:0!important;
}
#app-main .dashboard-user-metrics-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
#app-main .dashboard-user-kpis-secondary{
  margin-top:22px!important;
}
#app-main .dashboard-metrics-grid > .dashboard-metric-card,
#app-main .dashboard-user-metrics-grid > .dashboard-metric-card,
#app-main .dashboard-metrics-grid > .dashboard-metric-card + .dashboard-metric-card,
#app-main .dashboard-user-metrics-grid > .dashboard-metric-card + .dashboard-metric-card{
  margin:0!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:176px!important;
  height:100%!important;
  align-self:stretch!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-rows:auto 1fr auto!important;
  gap:14px!important;
  padding:24px!important;
  transform:none!important;
  overflow:hidden!important;
}
#app-main .dashboard-metrics-grid > .dashboard-metric-card:hover,
#app-main .dashboard-user-metrics-grid > .dashboard-metric-card:hover{
  transform:none!important;
}
#app-main .dashboard-metric-card > p,
#app-main .dashboard-metric-card > small,
#app-main .dashboard-metric-card > .tiny,
#app-main .dashboard-metric-card > .metric{
  margin:0!important;
}
#app-main .dashboard-metric-card > p{
  min-height:24px!important;
  display:flex!important;
  align-items:flex-start!important;
}
#app-main .dashboard-metric-card > .metric{
  min-height:58px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  line-height:1!important;
}
#app-main .dashboard-metric-card > small,
#app-main .dashboard-metric-card > .tiny{
  min-height:34px!important;
  display:flex!important;
  align-items:flex-end!important;
  line-height:1.35!important;
}
#app-main .dashboard-metrics-grid + .dashboard-analytics,
#app-main .dashboard-user-metrics-grid + .dashboard-user-metrics-grid,
#app-main .dashboard-user-metrics-grid + .grid{
  margin-top:22px!important;
}
#app-main .dashboard-analytics > .card,
#app-main .dashboard-analytics > .card + .card{
  margin:0!important;
  align-self:stretch!important;
}
@media(max-width:1180px){
  #app-main .dashboard-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #app-main .dashboard-user-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  #app-main .dashboard-metrics-grid,
  #app-main .dashboard-user-metrics-grid{grid-template-columns:1fr!important;gap:16px!important;grid-auto-rows:minmax(148px,auto)!important;}
  #app-main .dashboard-metrics-grid > .dashboard-metric-card,
  #app-main .dashboard-user-metrics-grid > .dashboard-metric-card{min-height:148px!important;padding:18px!important;}
}

/* =========================================================
   ALINHAMENTO GLOBAL DEFINITIVO DOS CARDS EM TODAS AS ABAS
   Mantém todos os cards alinhados, com altura/largura consistentes
   dentro de grids, listas e seções internas do painel.
   ========================================================= */
#app-main .tab-panel .grid,
#app-main .tab-panel .grid-2,
#app-main .tab-panel .grid-3,
#app-main .tab-panel .grid-4,
#app-main .tab-panel .public-products-grid,
#app-main .tab-panel .dashboard-analytics,
#app-main .tab-panel .showcase-grid,
#app-main .tab-panel .products-grid,
#app-main .tab-panel .purchase-summary,
#app-main .tab-panel .gains-summary,
#app-main .tab-panel .cards-grid{
  display:grid!important;
  align-items:stretch!important;
  grid-auto-flow:row!important;
  grid-auto-rows:minmax(0,auto)!important;
  gap:22px!important;
  width:100%!important;
}

#app-main .tab-panel .grid-2,
#app-main .tab-panel .dashboard-analytics{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
#app-main .tab-panel .grid-3,
#app-main .tab-panel .purchase-summary,
#app-main .tab-panel .gains-summary{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
#app-main .tab-panel .grid-4{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

#app-main .tab-panel .grid > .card,
#app-main .tab-panel .grid-2 > .card,
#app-main .tab-panel .grid-3 > .card,
#app-main .tab-panel .grid-4 > .card,
#app-main .tab-panel .public-products-grid > .card,
#app-main .tab-panel .dashboard-analytics > .card,
#app-main .tab-panel .showcase-grid > .card,
#app-main .tab-panel .products-grid > .card,
#app-main .tab-panel .purchase-summary > .card,
#app-main .tab-panel .gains-summary > .card,
#app-main .tab-panel .cards-grid > .card{
  margin:0!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:100%!important;
  min-height:158px!important;
  align-self:stretch!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
}

#app-main .tab-panel .list{
  display:grid!important;
  gap:18px!important;
  align-items:stretch!important;
  width:100%!important;
}
#app-main .tab-panel .list > .card,
#app-main .tab-panel .list > .card + .card{
  margin:0!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  align-self:stretch!important;
}

#app-main .tab-panel .product-card,
#app-main .tab-panel .showcase-product-card,
#app-main .tab-panel .affiliate-card,
#app-main .tab-panel .purchase-card,
#app-main .tab-panel .panel-card{
  margin:0!important;
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  box-sizing:border-box!important;
  align-self:stretch!important;
}

#app-main .tab-panel .card .row{
  width:100%;
}
#app-main .tab-panel .card h3,
#app-main .tab-panel .card p,
#app-main .tab-panel .card .metric,
#app-main .tab-panel .card small{
  margin-left:0!important;
  margin-right:0!important;
}

@media(max-width:1180px){
  #app-main .tab-panel .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #app-main .tab-panel .grid-3,
  #app-main .tab-panel .purchase-summary,
  #app-main .tab-panel .gains-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  #app-main .tab-panel .grid,
  #app-main .tab-panel .grid-2,
  #app-main .tab-panel .grid-3,
  #app-main .tab-panel .grid-4,
  #app-main .tab-panel .public-products-grid,
  #app-main .tab-panel .dashboard-analytics,
  #app-main .tab-panel .showcase-grid,
  #app-main .tab-panel .products-grid,
  #app-main .tab-panel .purchase-summary,
  #app-main .tab-panel .gains-summary,
  #app-main .tab-panel .cards-grid{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  #app-main .tab-panel .grid > .card,
  #app-main .tab-panel .grid-2 > .card,
  #app-main .tab-panel .grid-3 > .card,
  #app-main .tab-panel .grid-4 > .card,
  #app-main .tab-panel .public-products-grid > .card,
  #app-main .tab-panel .dashboard-analytics > .card,
  #app-main .tab-panel .showcase-grid > .card,
  #app-main .tab-panel .products-grid > .card,
  #app-main .tab-panel .purchase-summary > .card,
  #app-main .tab-panel .gains-summary > .card,
  #app-main .tab-panel .cards-grid > .card{
    min-height:unset!important;
  }
}

/* Cadastro/login: modal compacto, responsivo e sem corte visual */
.access-modal,
.invite-modal{
  align-items:center !important;
  justify-content:center !important;
  padding:clamp(12px,2.4vw,24px) !important;
  overflow:hidden !important;
}
.access-card,
.invite-card{
  width:min(460px,calc(100vw - 24px)) !important;
  max-height:calc(100dvh - 24px) !important;
  padding:clamp(18px,2.8vw,26px) !important;
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  overflow:hidden !important;
}
.invite-card .access-logo,
.access-card .access-logo{
  width:52px !important;
  height:52px !important;
  min-height:52px !important;
  margin:0 auto 4px !important;
}
.access-card h1{
  text-align:center !important;
  font-size:clamp(20px,3vw,24px) !important;
  line-height:1.08 !important;
  margin:0 !important;
}
.access-card > p{
  text-align:center !important;
  margin:0 0 6px !important;
  font-size:13px !important;
  line-height:1.35 !important;
}
.access-form{
  gap:9px !important;
  min-height:0 !important;
}
.invite-card .access-form{
  overflow:visible !important;
}
.access-form label:not(.check-row){
  margin:0 !important;
  font-size:12px !important;
  line-height:1.1 !important;
}
.access-form .form-input{
  min-height:42px !important;
  height:42px !important;
  padding:10px 13px !important;
  font-size:14px !important;
  margin:0 !important;
}
.access-form .password-field button{
  width:32px !important;
  height:32px !important;
  right:6px !important;
}
.access-hint,
.username-suggestion{
  margin:0 !important;
  font-size:11.5px !important;
  line-height:1.25 !important;
}
.access-options,.check-row{
  min-height:28px !important;
}
.btn-google{
  background:#fff !important;
  color:#111827 !important;
  border:1px solid rgba(255,255,255,.2) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.22) !important;
  font-weight:800 !important;
}
.btn-google:hover{transform:translateY(-1px);filter:brightness(.98)}
.invite-card .access-submit{
  min-height:42px !important;
  margin-top:0 !important;
}
.invite-card .access-error{
  margin:0 !important;
  padding:8px 10px !important;
  font-size:12px !important;
}
@media (max-height:740px){
  .invite-card{padding:14px !important;gap:7px !important;}
  .invite-card .access-logo{display:none !important;}
  .access-card h1{font-size:20px !important;}
  .access-card > p{display:none !important;}
  .access-form{gap:7px !important;}
  .access-form .form-input{height:38px !important;min-height:38px !important;padding:8px 12px !important;}
  .invite-card .access-submit{min-height:38px !important;}
}
@media (max-width:420px){
  .access-modal,.invite-modal{padding:10px !important;}
  .access-card,.invite-card{width:calc(100vw - 20px) !important;border-radius:22px !important;}
}

/* Perfil do usuário no topo do menu + logo fixo do sistema */
.user-brand-row{
  align-items:center;
  gap:12px;
  padding:18px 16px;
}
.user-photo-upload{
  width:46px;
  height:46px;
  border-radius:999px;
  border:1px solid rgba(0,87,178,.35);
  background:rgba(255,255,255,.04);
  color:#d8ecff;
  display:grid;
  place-items:center;
  cursor:pointer;
  overflow:hidden;
  flex:0 0 auto;
  transition:.2s ease;
}
.user-photo-upload:hover{border-color:rgba(0,87,178,.85);transform:translateY(-1px);background:rgba(0,87,178,.12)}
.user-photo-upload img{width:100%;height:100%;object-fit:cover;display:block}
.user-brand-info{min-width:0;display:flex;flex-direction:column;gap:2px;line-height:1.15}
.user-brand-info strong{font-size:.95rem;color:#f4f8ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:155px}
.user-brand-info span{font-size:.76rem;color:rgba(216,236,255,.68);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:155px}
.user-fixed-system-logo{
  position:fixed;
  top:16px;
  right:18px;
  z-index:35;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  color:#fff;
  background:transparent;
  border:0;
  pointer-events:none;
}
.user-fixed-system-logo:not(.has-logo){
  border-radius:14px;
  background:linear-gradient(135deg,var(--primary),var(--secondary));
  box-shadow:0 12px 30px rgba(0,87,178,.22);
}
.user-fixed-logo-png{width:100%;height:100%;object-fit:contain;background:transparent;border:0;box-shadow:none}
@media(max-width:768px){
  .user-fixed-system-logo{top:12px;right:72px;width:34px;height:34px}
  .user-brand-info strong,.user-brand-info span{max-width:190px}
}

/* Produto: imagens sempre em proporção 1:1 */
.product-image,
.product-card img,
.showcase-product-card img,
.public-product-image,
.checkout-product-thumb,
#purchase-product-thumb,
.product-preview,
.product-preview img,
#product-image-preview,
#preview-product-image,
#prod-image-preview,
.upload-preview.product-preview,
[data-product-image],
.product-thumb{
  aspect-ratio: 1 / 1 !important;
}

.product-image,
.product-card img,
.showcase-product-card img,
.public-product-image,
.product-preview img,
#product-image-preview,
#preview-product-image,
#prod-image-preview,
[data-product-image],
.product-thumb img{
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  display: block !important;
}

.public-product-image,
.product-card img,
.showcase-product-card img,
.product-image,
.product-thumb img{
  height: auto !important;
}

.checkout-product-thumb,
#purchase-product-thumb{
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}

.checkout-product-thumb img,
#purchase-product-thumb img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

.public-product-detail .public-product-image{
  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
}

@media(max-width:640px){
  .public-product-image,
  .checkout-product-thumb,
  #purchase-product-thumb{
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
  }
}


/* Configurações admin: cards compactos e sem espaços em branco excessivos */
.settings-compact-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:16px!important;
  align-items:start;
}
.settings-compact-grid>.settings-card{
  grid-column:span 6;
  padding:16px!important;
  display:flex!important;
  flex-direction:column;
  gap:12px!important;
  min-height:0!important;
}
.settings-compact-grid>.settings-commission-card,
.settings-compact-grid>.settings-asaas-card{
  grid-column:span 6;
}
.settings-compact-grid>.settings-list-card,
.settings-compact-grid>.settings-backup-card{
  grid-column:span 4;
}
.settings-card h3{
  margin:0!important;
  font-size:16px!important;
  line-height:1.2!important;
}
.settings-card p{
  margin:0!important;
}
.settings-card .muted{
  font-size:13px!important;
  line-height:1.35!important;
}
.settings-card .tiny{
  margin-top:0!important;
  line-height:1.35!important;
}
.settings-card .form-grid{
  gap:10px!important;
  align-items:end!important;
}
.settings-card label{
  margin-bottom:5px!important;
  font-size:12px!important;
}
.settings-card .form-input,
.settings-card input,
.settings-card select{
  min-height:38px!important;
  padding:9px 11px!important;
}
.settings-card .btn{
  min-height:38px!important;
  padding:9px 13px!important;
  margin-top:0!important;
}
.settings-card .notice{
  padding:10px 12px!important;
  border-radius:13px!important;
}
.settings-card .list{
  gap:8px!important;
  max-height:260px;
  overflow:auto;
  padding-right:2px;
}
.settings-commission-card .list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px!important;
  max-height:none;
  overflow:visible;
}
.settings-commission-card .notice strong{font-size:13px!important}
.settings-commission-card .notice .tiny{font-size:11px!important}
.settings-backup-card{
  gap:10px!important;
}
.settings-backup-card .btn{
  width:100%;
}
.settings-backup-card .danger-zone{
  margin-top:0!important;
  padding:10px!important;
}
@media(max-width:1000px){
  .settings-compact-grid>.settings-card{grid-column:span 12;}
  .settings-commission-card .list{grid-template-columns:1fr;}
}

/* Alinhamento horizontal global definitivo para cards dentro das abas */
#app-main .tab-panel{
  --cards-gap:18px;
}
#app-main .tab-panel .grid,
#app-main .tab-panel .cards-grid,
#app-main .tab-panel .dashboard-kpis,
#app-main .tab-panel .dashboard-metrics-grid,
#app-main .tab-panel .dashboard-user-kpis,
#app-main .tab-panel .dashboard-user-metrics-grid,
#app-main .tab-panel .settings-grid,
#app-main .tab-panel .public-products-grid,
#app-main .tab-panel .products-grid,
#app-main .tab-panel .showcase-grid,
#app-main .tab-panel .purchase-grid,
#app-main .tab-panel .gains-grid,
#app-main .tab-panel .npoints-grid,
#app-main .tab-panel .affiliates-grid{
  display:grid!important;
  gap:var(--cards-gap)!important;
  align-items:stretch!important;
  grid-auto-flow:row!important;
}
#app-main .tab-panel .grid-2,
#app-main .tab-panel .settings-grid,
#app-main .tab-panel .purchase-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
#app-main .tab-panel .grid-3,
#app-main .tab-panel .dashboard-user-kpis,
#app-main .tab-panel .dashboard-user-metrics-grid,
#app-main .tab-panel .products-grid,
#app-main .tab-panel .public-products-grid,
#app-main .tab-panel .showcase-grid,
#app-main .tab-panel .gains-grid,
#app-main .tab-panel .npoints-grid,
#app-main .tab-panel .affiliates-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
#app-main .tab-panel .grid-4,
#app-main .tab-panel .dashboard-kpis,
#app-main .tab-panel .dashboard-metrics-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
#app-main .tab-panel .card,
#app-main .tab-panel .panel-card,
#app-main .tab-panel .metric-card,
#app-main .tab-panel .kpi-card,
#app-main .tab-panel .product-card,
#app-main .tab-panel .showcase-product-card,
#app-main .tab-panel .public-product-card,
#app-main .tab-panel .affiliate-card,
#app-main .tab-panel .purchase-card,
#app-main .tab-panel .gain-card,
#app-main .tab-panel .npoint-card{
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  box-sizing:border-box!important;
}
#app-main .tab-panel .card > .row:first-child,
#app-main .tab-panel .panel-card > .row:first-child,
#app-main .tab-panel .metric-card > .row:first-child,
#app-main .tab-panel .kpi-card > .row:first-child{
  width:100%;
  align-items:flex-start!important;
}
#app-main .tab-panel .card .btn:last-child,
#app-main .tab-panel .panel-card .btn:last-child,
#app-main .tab-panel .product-card .btn:last-child,
#app-main .tab-panel .showcase-product-card .btn:last-child,
#app-main .tab-panel .public-product-card .btn:last-child{
  margin-top:auto!important;
}
#app-main .tab-panel .card + .card,
#app-main .tab-panel .panel-card + .panel-card,
#app-main .tab-panel .product-card + .product-card,
#app-main .tab-panel .showcase-product-card + .showcase-product-card,
#app-main .tab-panel .public-product-card + .public-product-card{
  margin-top:0!important;
}
@media(max-width:1180px){
  #app-main .tab-panel .grid-4,
  #app-main .tab-panel .dashboard-kpis,
  #app-main .tab-panel .dashboard-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #app-main .tab-panel .grid-3,
  #app-main .tab-panel .dashboard-user-kpis,
  #app-main .tab-panel .dashboard-user-metrics-grid,
  #app-main .tab-panel .products-grid,
  #app-main .tab-panel .public-products-grid,
  #app-main .tab-panel .showcase-grid,
  #app-main .tab-panel .gains-grid,
  #app-main .tab-panel .npoints-grid,
  #app-main .tab-panel .affiliates-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:720px){
  #app-main .tab-panel .grid,
  #app-main .tab-panel .grid-2,
  #app-main .tab-panel .grid-3,
  #app-main .tab-panel .grid-4,
  #app-main .tab-panel .cards-grid,
  #app-main .tab-panel .dashboard-kpis,
  #app-main .tab-panel .dashboard-metrics-grid,
  #app-main .tab-panel .dashboard-user-kpis,
  #app-main .tab-panel .dashboard-user-metrics-grid,
  #app-main .tab-panel .settings-grid,
  #app-main .tab-panel .public-products-grid,
  #app-main .tab-panel .products-grid,
  #app-main .tab-panel .showcase-grid,
  #app-main .tab-panel .purchase-grid,
  #app-main .tab-panel .gains-grid,
  #app-main .tab-panel .npoints-grid,
  #app-main .tab-panel .affiliates-grid{grid-template-columns:1fr!important;}
}


/* Ajuste solicitado: Google visual + ícone de senha sem moldura */
.btn-google{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.btn-google .google-icon{
  width:20px;
  height:20px;
  display:block;
  flex:0 0 20px;
}
.password-field button,
.access-form .password-field button,
.inline-password button{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
  width:38px;
  height:38px;
  border-radius:0!important;
  color:#d8ecff;
}
.password-field button:hover,
.access-form .password-field button:hover,
.inline-password button:hover{
  background:transparent!important;
  color:#ffffff;
}
.password-field button::before,
.password-field button::after{
  display:none!important;
}


/* Correção definitiva: logo Google pequeno nos modais de acesso/convite */
.btn-google,
.access-card .btn-google,
.invite-card .btn-google{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
}
.btn-google .google-icon,
.access-card .btn-google .google-icon,
.invite-card .btn-google .google-icon,
button.btn-google svg.google-icon{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  min-height:18px!important;
  max-height:18px!important;
  flex:0 0 18px!important;
  display:inline-block!important;
  object-fit:contain!important;
}
/* Visualizar senha sem moldura/fundo */
.password-field button,
.access-form .password-field button,
.inline-password button{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* Comissão dinâmica e split múltiplo */
.commission-generation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}
.commission-generation-line{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.025)}
.commission-generation-line label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;color:var(--muted)}
.commission-rules-list{gap:12px}
.commission-rule-item .row{justify-content:space-between;gap:10px;align-items:center}
.compact-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.split-members-list{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.split-member-row{display:grid;grid-template-columns:1.2fr 1.6fr .7fr auto;gap:10px;align-items:end;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.025)}
@media(max-width:900px){.commission-generation-grid{grid-template-columns:1fr}.split-member-row{grid-template-columns:1fr}.commission-generation-line{grid-template-columns:1fr}}


/* E-mails em massa */
.massmail-grid{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(280px,.85fr);
  gap:var(--ui-card-gap,18px);
  align-items:start;
}
.massmail-compose-card{min-height:100%;}
.massmail-side-card,.massmail-history-card{display:flex;flex-direction:column;gap:14px;}
.massmail-history-card{grid-column:1 / -1;}
.massmail-form textarea{min-height:180px;resize:vertical;}
.massmail-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.compact-notice{padding:12px 14px!important;min-height:auto!important;}
.metric-stack{display:grid;grid-template-columns:1fr;gap:12px;}
.bulk-history-item{min-height:auto!important;}
@media (max-width: 980px){.massmail-grid{grid-template-columns:1fr}.massmail-actions .btn{width:100%;justify-content:center}}

/* Vitrine pública: topo limpo com logo/nome da plataforma e banner global */
.public-store-mode .sidebar,
.public-store-mode .sidebar-overlay,
.public-store-mode .mobile-header,
.public-store-mode .floating-logout{
  display:none!important;
}
.public-store-mode .main-content{
  margin-left:0!important;
  min-height:100vh!important;
}
.public-store-topbar{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 0 18px;
}
.public-store-brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:#fff;
  font-weight:800;
  letter-spacing:-.02em;
}
.public-store-logo{
  width:42px;
  height:42px;
  object-fit:contain;
  display:block;
}
.public-store-icon{
  width:42px;
  height:42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#0057b2,#003f82);
  color:#fff;
}
.public-hero-banner-only{
  min-height:0!important;
  height:auto!important;
  display:block!important;
  padding:0!important;
  border-radius:26px!important;
  background:#050505!important;
  margin-bottom:22px!important;
}
.public-hero-banner-only::after{display:none!important;content:none!important;}
.public-hero-banner-only .public-hero-banner{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  max-height:360px!important;
  object-fit:cover!important;
  opacity:1!important;
  filter:none!important;
  display:block!important;
}
.admin-store-banner-preview{
  width:min(100%,520px)!important;
  height:auto!important;
  max-height:180px!important;
  object-fit:cover!important;
}
@media(max-width:640px){
  .public-store-topbar{padding:4px 0 14px;}
  .public-store-logo,.public-store-icon{width:34px;height:34px;}
  .public-hero-banner-only{border-radius:18px!important;margin-bottom:16px!important;}
  .public-hero-banner-only .public-hero-banner{max-height:220px!important;}
}


/* Checkout compacto e intuitivo: reduz rolagem e melhora leitura */
.purchase-modal{padding:14px!important;align-items:center!important}
.purchase-modal.show{display:flex!important}
.purchase-modal .modal-card.checkout-card{
  width:min(860px,calc(100vw - 28px))!important;
  max-height:calc(100vh - 28px)!important;
  overflow:auto!important;
  padding-bottom:10px!important;
}
.checkout-topbar{padding:12px 18px!important}
.checkout-step span{width:22px!important;height:22px!important;font-size:12px!important}
.checkout-header{padding:14px 18px 8px!important}
.checkout-header h2{font-size:22px!important;line-height:1.05!important;margin:5px 0 3px!important}
.checkout-header .muted{font-size:12px!important;line-height:1.3!important;max-width:620px!important}
.checkout-layout{grid-template-columns:250px minmax(0,1fr)!important;padding:0 18px 30px!important;gap:14px!important;align-items:start!important}
.checkout-summary{padding:14px!important;border-radius:18px!important;gap:10px!important}
.checkout-product-thumb{height:auto!important;aspect-ratio:1/1!important;max-height:170px!important;border-radius:15px!important}
.checkout-summary h3{font-size:17px!important;line-height:1.15!important;margin:0!important}
.checkout-summary .muted{font-size:12px!important;line-height:1.3!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.checkout-total-row{padding-top:10px!important}
.checkout-total-row strong{font-size:21px!important}
.checkout-secure-note{padding:10px!important;font-size:11px!important;line-height:1.25!important}
.checkout-form{padding:0!important;gap:10px!important}
.checkout-section-title{margin:0 0 8px!important;font-size:14px!important}
.checkout-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.checkout-fields .form-full{grid-column:span 2!important}
.checkout-fields label{font-size:11px!important;margin-bottom:5px!important}
.checkout-fields .form-input{min-height:38px!important;padding:9px 11px!important;font-size:13px!important}
#purchase-note{min-height:60px!important;max-height:72px!important;resize:vertical!important}
.checkout-confirm{margin:8px 0!important;font-size:11px!important;line-height:1.3!important}
.checkout-actions{margin-top:12px!important;gap:10px!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;padding-bottom:6px!important}
.checkout-actions .btn{min-height:44px!important;padding:10px 16px!important;white-space:nowrap!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1.1!important}
.checkout-submit{min-width:220px!important;flex:0 1 260px!important}
#purchase-cancel{flex:0 1 220px!important}
@media(max-width:820px){
  .purchase-modal{align-items:flex-start!important;padding:10px!important}
  .purchase-modal .modal-card.checkout-card{width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)!important;overflow:auto!important}
  .checkout-topbar{display:none!important}
  .checkout-header{padding:14px 14px 6px!important}
  .checkout-layout{grid-template-columns:1fr!important;padding:0 14px 14px!important;gap:12px!important}
  .checkout-summary{display:grid!important;grid-template-columns:92px 1fr!important;gap:10px!important;align-items:center!important}
  .checkout-product-thumb{max-height:92px!important}
  .checkout-total-row,.checkout-secure-note{grid-column:1/-1!important}
  .checkout-fields{grid-template-columns:1fr!important;gap:9px!important}
  .checkout-fields .form-full{grid-column:auto!important}
  #purchase-note{min-height:50px!important}
  .checkout-actions{display:grid!important;grid-template-columns:1fr!important}
  .checkout-actions .btn{width:100%!important}
}

.favicon-png-preview{width:48px;height:48px;object-fit:contain;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:6px}

/* Banner global da vitrine pública: sempre visível quando cadastrado pelo admin, mesmo sem produtos */
.public-store-mode .public-hero-banner-only{
  display:block!important;
  width:100%!important;
  min-height:clamp(180px,28vw,360px)!important;
  margin:0 0 22px!important;
  padding:0!important;
  background:#050505!important;
  border:1px solid rgba(255,255,255,.08)!important;
  overflow:hidden!important;
}
.public-store-mode .public-hero-banner-only .public-hero-banner{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:clamp(180px,28vw,360px)!important;
  max-height:420px!important;
  object-fit:cover!important;
  opacity:1!important;
  filter:none!important;
}
.public-store-mode .public-products-grid.is-empty{
  grid-template-columns:1fr!important;
}
.public-store-mode .public-empty-store{
  max-width:680px;
  margin:0 auto;
  text-align:center;
}


/* Correção definitiva: logo do sistema sempre visível no modal de convite/cadastro */
.invite-card .access-logo,
#invite-modal .access-logo{
  display:grid !important;
  width:auto !important;
  min-width:64px !important;
  max-width:180px !important;
  height:auto !important;
  min-height:48px !important;
  margin:0 auto 8px !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  overflow:visible !important;
}
#invite-modal .access-logo:not(.has-logo){
  width:56px !important;
  height:56px !important;
  border-radius:18px !important;
  background:linear-gradient(135deg,#0057b2,#003f82) !important;
  box-shadow:0 12px 28px rgba(0,87,178,.24) !important;
}
#invite-modal .access-logo-png{
  display:block !important;
  width:auto !important;
  max-width:160px !important;
  max-height:62px !important;
  object-fit:contain !important;
}
@media (max-height:740px){
  .invite-card .access-logo,#invite-modal .access-logo{display:grid !important; min-height:38px !important; margin-bottom:4px !important;}
  #invite-modal .access-logo-png{max-height:46px !important;}
}


/* FIX VITRINE PÚBLICA: remover completamente o menu lateral no link do usuário */
body.public-store-mode #sidebar,
body.public-store-mode .sidebar,
body.public-store-mode #sidebar-nav,
body.public-store-mode .sidebar-overlay,
body.public-store-mode .mobile-header,
body.public-store-mode #logout-button,
body.public-store-mode .floating-logout{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
body.public-store-mode .main-content{
  margin-left:0!important;
  width:100%!important;
  max-width:none!important;
}
body.public-store-mode .app-main,
body.public-store-mode #app-main{
  margin:0 auto!important;
  width:min(1180px,100%)!important;
}

/* Widget de conta no canto superior direito */
body.public-store-mode .top-user-widget,
body.checkout-modal-open .top-user-widget{display:none!important;visibility:hidden!important;pointer-events:none!important}
.top-user-widget{
  position:fixed!important;top:18px;right:18px;z-index:260;
  display:inline-flex;align-items:center;gap:10px;
  min-height:42px;max-width:min(260px,calc(100vw - 36px));
  padding:6px 12px 6px 6px;border-radius:999px;
  border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.72);
  color:#f8fafc;box-shadow:0 18px 50px rgba(0,0,0,.36);
  backdrop-filter:blur(16px);cursor:pointer;transition:.2s ease;
}
.top-user-widget:hover{transform:translateY(-1px);border-color:rgba(0,87,178,.55);background:rgba(0,20,42,.82)}
.top-user-avatar{width:32px;height:32px;border-radius:999px;display:grid;place-items:center;overflow:hidden;background:rgba(0,87,178,.20);color:#d8ecff;flex:0 0 auto}
.top-user-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.top-user-name{font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
.account-modal{z-index:270!important}.account-card{max-width:560px}.account-head{display:flex;align-items:center;gap:12px}.account-avatar{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;overflow:hidden;background:rgba(0,87,178,.16);color:#d8ecff;flex:0 0 auto}.account-avatar img{width:100%;height:100%;object-fit:cover;display:block}.account-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.account-mini-card{min-height:94px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.035);padding:14px;display:flex;flex-direction:column;justify-content:center;gap:5px}.account-mini-card span{font-size:12px;color:#9ca3af;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.account-mini-card strong{font-size:20px;color:#fff}.account-mini-card small{font-size:11px;color:#8abfff}.account-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.hidden{display:none!important}
@media(max-width:700px){.top-user-widget{top:12px;right:12px;padding-right:9px}.top-user-name{max-width:112px}.account-summary-grid{grid-template-columns:1fr}.account-card{padding:18px!important}}

/* Modal Minha Conta: layout compacto sem barra de rolagem interna */
.account-modal.show{display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;overflow:hidden!important}
.account-card{width:min(860px,calc(100vw - 36px))!important;max-height:none!important;overflow:visible!important;padding:20px!important;border-radius:24px!important}
.account-card .modal-header{margin-bottom:10px!important}
.account-head{gap:14px!important}
.account-avatar{width:58px!important;height:58px!important;border-radius:18px!important;position:relative}
.account-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.account-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin-top:10px!important}
.account-mini-card{min-height:72px!important;padding:10px 12px!important;border-radius:16px!important;gap:2px!important}
.account-mini-card span{font-size:10px!important}
.account-mini-card strong{font-size:16px!important;line-height:1.15!important}
.account-mini-card small{font-size:10px!important;line-height:1.15!important}
.account-photo-area{margin-top:10px;border:1px dashed rgba(0,87,178,.36);background:rgba(0,87,178,.06);border-radius:16px;padding:10px 12px;display:flex;align-items:center;gap:10px;flex-wrap:nowrap}
.account-photo-area .btn{min-height:40px!important;padding:9px 13px!important;white-space:nowrap}
.account-photo-area .tiny{margin:0;flex:1;min-width:0;font-size:11px;line-height:1.35;color:#9ca3af}
.account-profile-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;margin-top:12px}
.account-profile-form label{display:block;margin:0 0 5px;color:#d1d5db;font-weight:800;font-size:12px}
.account-profile-form .form-full{grid-column:1/-1}
.account-profile-form .form-input{min-height:40px!important;padding:9px 12px!important;border-radius:13px!important;font-size:14px!important}
.account-profile-form textarea.form-input{min-height:58px!important;max-height:72px!important;resize:none;line-height:1.35!important}
.account-profile-form .account-actions{margin-top:0;display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.account-profile-form .account-actions .btn{min-height:40px!important;padding:9px 14px!important}
@media(max-width:900px){.account-card{width:min(760px,calc(100vw - 24px))!important;padding:18px!important}.account-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.account-profile-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.account-modal.show{align-items:flex-start!important;padding:10px!important;overflow:auto!important}.account-card{width:calc(100vw - 20px)!important;max-height:none!important;padding:16px!important}.account-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.account-profile-form{grid-template-columns:1fr}.account-photo-area{align-items:flex-start;flex-wrap:wrap}.account-photo-area .btn{width:100%}.account-profile-form textarea.form-input{min-height:54px!important}.account-profile-form .account-actions .btn{width:100%}}
@media(max-height:760px) and (min-width:701px){.account-card{width:min(920px,calc(100vw - 36px))!important;padding:16px!important}.account-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.account-mini-card{min-height:62px!important}.account-photo-area{padding:8px 10px}.account-profile-form{gap:8px 10px;margin-top:10px}.account-profile-form label{font-size:11px;margin-bottom:4px}.account-profile-form .form-input{min-height:36px!important;padding:7px 10px!important}.account-profile-form textarea.form-input{min-height:48px!important;max-height:52px!important}.account-profile-form .account-actions .btn,.account-photo-area .btn{min-height:36px!important;padding:7px 12px!important}}

/* Correção: toasts sempre acima dos modais, inclusive modal de perfil/Administrador */
.toast{
  z-index:9999!important;
  pointer-events:none;
}
.toast.show{
  z-index:9999!important;
}
.account-modal.show ~ .toast,
.modal-overlay.show ~ .toast,
.access-modal.show ~ .toast,
.invite-modal.show ~ .toast,
.purchase-modal.show ~ .toast{
  z-index:9999!important;
}

/* Apps via Webhook - Configurações */
.webhook-apps-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.webhook-app-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 14px;
  padding:14px;
  border:1px solid var(--border, rgba(255,255,255,.12));
  border-radius:18px;
  background:rgba(255,255,255,.025);
}
.webhook-app-row .form-full,
.webhook-row-actions{
  grid-column:1 / -1;
}
.webhook-row-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.webhook-status{
  color:var(--muted, #9aa4b2);
}
@media (max-width: 760px){
  .webhook-app-row{grid-template-columns:1fr;}
}
.webhook-received-box{
  padding:12px 14px;
  border:1px solid rgba(34,197,94,.25);
  border-radius:16px;
  background:rgba(34,197,94,.06);
}
.webhook-received-box strong{
  display:block;
  margin-bottom:8px;
  color:#dcfce7;
}
.webhook-received-box pre{
  margin:0;
  white-space:pre-wrap;
  word-break:break-word;
  font-size:12px;
  line-height:1.5;
  color:#e5e7eb;
}

/* Configurações admin: exibição em coluna única */
.settings-compact-grid{
  grid-template-columns:1fr!important;
}
.settings-compact-grid>.settings-card,
.settings-compact-grid>.settings-commission-card,
.settings-compact-grid>.settings-asaas-card,
.settings-compact-grid>.settings-list-card,
.settings-compact-grid>.settings-backup-card{
  grid-column:1 / -1!important;
  width:100%!important;
}
.settings-compact-grid .form-grid{
  grid-template-columns:1fr!important;
}
.settings-commission-card .list{
  grid-template-columns:1fr!important;
}

/* Dashboard do usuário: cards principais e pontuação total */
#app-main .dashboard-points-highlight{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-bottom:18px!important;
  background:linear-gradient(135deg,var(--primary),#0b6bdc)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 18px 42px rgba(0,87,178,.28)!important;
}
#app-main .dashboard-points-highlight .muted,
#app-main .dashboard-points-highlight .tiny{color:rgba(255,255,255,.82)!important;}
#app-main .dashboard-points-highlight .metric{color:#fff!important;font-size:clamp(2rem,4vw,3rem)!important;line-height:1!important;}
#app-main .dashboard-points-highlight .btn-light{background:#fff!important;color:var(--primary)!important;border-color:#fff!important;white-space:nowrap!important;}
#app-main .dashboard-user-kpis-mainline{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
#app-main .dashboard-user-kpis-mainline > .dashboard-metric-card{min-height:156px!important;}
@media (max-width:1100px){#app-main .dashboard-user-kpis-mainline{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media (max-width:720px){
  #app-main .dashboard-points-highlight{flex-direction:column!important;align-items:stretch!important;}
  #app-main .dashboard-points-highlight .btn-light{width:100%!important;}
  #app-main .dashboard-user-kpis-mainline{grid-template-columns:1fr!important;}
}

/* Ajustes finais dashboard usuário: Carteira N por comissão, pontuação em card padrão e saque separado */
#app-main .dashboard-user-metrics-grid > .dashboard-points-card{
  background:linear-gradient(135deg,rgba(0,87,178,.96),rgba(24,120,255,.90))!important;
  border-color:rgba(126,190,255,.45)!important;
  color:#fff!important;
}
#app-main .dashboard-user-metrics-grid > .dashboard-points-card .muted,
#app-main .dashboard-user-metrics-grid > .dashboard-points-card .tiny,
#app-main .dashboard-user-metrics-grid > .dashboard-points-card .metric{
  color:#fff!important;
}
#app-main .dashboard-user-metrics-grid > .dashboard-withdraw-card{
  gap:12px!important;
}
#app-main .dashboard-user-metrics-grid > .dashboard-withdraw-card .btn{
  width:100%!important;
  justify-content:center!important;
  margin-top:4px!important;
}

/* Dashboard do usuário: visual moderno e coerente dos cards */
#app-main .dashboard-user-cards-modern{
  align-items:stretch!important;
  gap:16px!important;
}
#app-main .dashboard-user-cards-modern .dashboard-metric-card{
  position:relative!important;
  overflow:hidden!important;
  min-height:168px!important;
  padding:18px!important;
  border-radius:24px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  background:
    radial-gradient(circle at 100% 0%, rgba(0,87,178,.16), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.025))!important;
  box-shadow:0 18px 42px rgba(0,0,0,.18)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  gap:10px!important;
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease!important;
}
#app-main .dashboard-user-cards-modern .dashboard-metric-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg, rgba(0,87,178,1), rgba(70,160,255,.55));
  opacity:.9;
}
#app-main .dashboard-user-cards-modern .dashboard-metric-card::after{
  content:"";
  position:absolute;
  right:-34px;
  bottom:-42px;
  width:112px;
  height:112px;
  border-radius:999px;
  background:rgba(255,255,255,.045);
  pointer-events:none;
}
#app-main .dashboard-user-cards-modern .dashboard-metric-card:hover{
  transform:translateY(-3px)!important;
  border-color:rgba(0,87,178,.48)!important;
  box-shadow:0 24px 58px rgba(0,87,178,.16)!important;
}
#app-main .dashboard-user-cards-modern .kpi-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:38px!important;
}
#app-main .dashboard-user-cards-modern .kpi-head .muted{
  margin:0!important;
  color:#d8e7f8!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.25!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
}
#app-main .dashboard-user-cards-modern .kpi-icon{
  order:2;
  width:38px!important;
  height:38px!important;
  border-radius:15px!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 auto!important;
  color:#fff!important;
  font-weight:950!important;
  font-size:16px!important;
  background:linear-gradient(135deg, rgba(0,87,178,.95), rgba(56,145,255,.78))!important;
  box-shadow:0 12px 28px rgba(0,87,178,.22)!important;
}
#app-main .dashboard-user-cards-modern .metric{
  color:#fff!important;
  font-size:clamp(1.85rem,3vw,2.45rem)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
  margin-top:2px!important;
  word-break:break-word!important;
}
#app-main .dashboard-user-cards-modern .small-metric{
  font-size:clamp(1.45rem,2.4vw,2.05rem)!important;
}
#app-main .dashboard-user-cards-modern .tiny{
  color:#9fb0c7!important;
  line-height:1.42!important;
  margin:0!important;
  max-width:96%!important;
}
#app-main .dashboard-user-cards-modern .dashboard-points-card{
  background:
    radial-gradient(circle at 100% 0%, rgba(255,255,255,.20), transparent 36%),
    linear-gradient(135deg, rgba(0,87,178,.98), rgba(16,108,231,.92))!important;
  border-color:rgba(155,209,255,.42)!important;
  box-shadow:0 20px 48px rgba(0,87,178,.30)!important;
}
#app-main .dashboard-user-cards-modern .dashboard-points-card::before{
  background:rgba(255,255,255,.82)!important;
}
#app-main .dashboard-user-cards-modern .dashboard-points-card .kpi-icon{
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.18)!important;
}
#app-main .dashboard-user-cards-modern .dashboard-points-card .tiny,
#app-main .dashboard-user-cards-modern .dashboard-points-card .muted{
  color:rgba(255,255,255,.86)!important;
}
#app-main .dashboard-user-cards-modern .dashboard-withdraw-card .btn{
  border-radius:14px!important;
  min-height:42px!important;
  font-weight:900!important;
  box-shadow:0 12px 28px rgba(0,87,178,.20)!important;
}
@media (max-width:720px){
  #app-main .dashboard-user-cards-modern{gap:12px!important;}
  #app-main .dashboard-user-cards-modern .dashboard-metric-card{min-height:150px!important;padding:16px!important;border-radius:20px!important;}
  #app-main .dashboard-user-cards-modern .metric{font-size:2rem!important;}
  #app-main .dashboard-user-cards-modern .small-metric{font-size:1.65rem!important;}
}

/* =========================================================
   Dashboard do usuário - redesign radical, clean e funcional
   Mantém as mesmas informações, mas reorganiza leitura e hierarquia.
   ========================================================= */
#app-main .user-dashboard-redesign{
  display:flex!important;
  flex-direction:column!important;
  gap:22px!important;
  width:100%!important;
}
#app-main .user-dashboard-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(260px,360px)!important;
  gap:22px!important;
  align-items:stretch!important;
  min-height:170px!important;
  padding:28px!important;
  border-radius:28px!important;
  background:linear-gradient(135deg,rgba(0,87,178,.24),rgba(8,14,28,.96) 58%,rgba(3,7,18,.96))!important;
  border:1px solid rgba(118,181,255,.22)!important;
  box-shadow:0 22px 58px rgba(0,0,0,.28)!important;
  overflow:hidden!important;
}
#app-main .user-dashboard-hero h2{
  margin:14px 0 8px!important;
  font-size:clamp(1.55rem,2.4vw,2.35rem)!important;
  letter-spacing:-.045em!important;
  line-height:1.05!important;
}
#app-main .user-dashboard-hero-copy,
#app-main .user-dashboard-hero-balance{
  min-width:0!important;
}
#app-main .user-dashboard-hero-balance{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:8px!important;
  padding:22px!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.06)!important;
  border:1px solid rgba(255,255,255,.10)!important;
}
#app-main .user-dashboard-hero-balance small,
#app-main .user-dashboard-hero-balance span{
  color:var(--muted)!important;
  line-height:1.35!important;
}
#app-main .user-dashboard-hero-balance strong{
  color:#fff!important;
  font-size:clamp(1.85rem,3vw,3rem)!important;
  line-height:1!important;
  letter-spacing:-.055em!important;
}
#app-main .user-dashboard-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
  grid-auto-rows:1fr!important;
  width:100%!important;
  margin:0!important;
}
#app-main .user-dashboard-card,
#app-main .user-dashboard-grid > .user-dashboard-card,
#app-main .user-dashboard-grid > .user-dashboard-card + .user-dashboard-card{
  margin:0!important;
  min-width:0!important;
  min-height:178px!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:22px!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,rgba(9,16,31,.98),rgba(4,8,18,.96))!important;
  border:1px solid rgba(255,255,255,.075)!important;
  box-shadow:0 14px 38px rgba(0,0,0,.18)!important;
  transform:none!important;
  overflow:hidden!important;
  position:relative!important;
}
#app-main .user-dashboard-card::before{
  content:""!important;
  position:absolute!important;
  inset:0 auto auto 0!important;
  width:100%!important;
  height:4px!important;
  display:block!important;
  background:linear-gradient(90deg,rgba(0,87,178,.95),rgba(85,170,255,.38),transparent)!important;
}
#app-main .user-dashboard-card::after{
  content:none!important;
  display:none!important;
}
#app-main .user-dashboard-card:hover{
  border-color:rgba(118,181,255,.28)!important;
  box-shadow:0 18px 46px rgba(0,87,178,.12)!important;
  transform:translateY(-2px)!important;
}
#app-main .user-dashboard-card-top{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  width:100%!important;
}
#app-main .user-dashboard-card-top p{
  margin:0!important;
  color:#e5edf7!important;
  font-size:.94rem!important;
  font-weight:800!important;
  letter-spacing:-.01em!important;
  line-height:1.2!important;
}
#app-main .user-dashboard-icon{
  order:2!important;
  min-width:40px!important;
  height:40px!important;
  padding:0 10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:14px!important;
  background:rgba(0,87,178,.16)!important;
  border:1px solid rgba(118,181,255,.18)!important;
  color:#bfe0ff!important;
  font-weight:900!important;
  font-size:.82rem!important;
  letter-spacing:-.02em!important;
}
#app-main .user-dashboard-card .metric{
  margin:0!important;
  min-height:54px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  font-size:clamp(2rem,3.6vw,3rem)!important;
  line-height:1!important;
  letter-spacing:-.06em!important;
  background:linear-gradient(135deg,#ffffff,#9bd0ff)!important;
  -webkit-background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
}
#app-main .user-dashboard-card .small-metric{
  font-size:clamp(1.55rem,2.6vw,2.35rem)!important;
}
#app-main .user-dashboard-card .tiny{
  margin:0!important;
  min-height:38px!important;
  display:flex!important;
  align-items:flex-end!important;
  color:var(--soft)!important;
  line-height:1.35!important;
}
#app-main .user-dashboard-card-primary{
  background:linear-gradient(135deg,rgba(0,87,178,.24),rgba(7,13,27,.98) 58%)!important;
  border-color:rgba(118,181,255,.24)!important;
}
#app-main .user-dashboard-card-blue{
  background:linear-gradient(135deg,rgba(0,87,178,.92),rgba(0,58,135,.88))!important;
  border-color:rgba(194,225,255,.30)!important;
  box-shadow:0 20px 48px rgba(0,87,178,.24)!important;
}
#app-main .user-dashboard-card-blue .metric{
  background:linear-gradient(135deg,#fff,#d8ecff)!important;
  -webkit-background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
}
#app-main .user-dashboard-card-blue .user-dashboard-icon{
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.24)!important;
}
#app-main .user-dashboard-card-blue .tiny,
#app-main .user-dashboard-card-blue .user-dashboard-card-top p{
  color:#f0f8ff!important;
}
#app-main .user-dashboard-section-title{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:4px 0 -4px!important;
  padding:0 2px!important;
}
#app-main .user-dashboard-section-title span{
  color:#fff!important;
  font-weight:900!important;
  font-size:1.05rem!important;
  letter-spacing:-.025em!important;
}
#app-main .user-dashboard-section-title small{
  color:var(--muted)!important;
  text-align:right!important;
}
#app-main .user-dashboard-withdraw-card .btn{
  width:100%!important;
  margin-top:2px!important;
  min-height:44px!important;
}
@media(max-width:1100px){
  #app-main .user-dashboard-hero{grid-template-columns:1fr!important;}
  #app-main .user-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:720px){
  #app-main .user-dashboard-hero{padding:22px!important;border-radius:24px!important;}
  #app-main .user-dashboard-grid{grid-template-columns:1fr!important;gap:16px!important;}
  #app-main .user-dashboard-card{min-height:154px!important;padding:19px!important;}
  #app-main .user-dashboard-section-title{align-items:flex-start!important;flex-direction:column!important;gap:4px!important;}
  #app-main .user-dashboard-section-title small{text-align:left!important;}
}

/* Dashboard usuário: ícones SVG de cor única no lugar das iniciais */
#app-main .user-dashboard-icon{
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  padding:0!important;
  color:var(--dashboard-icon-color,#bfe0ff)!important;
}
#app-main .user-dashboard-icon svg{
  width:21px!important;
  height:21px!important;
  display:block!important;
  stroke:currentColor!important;
  fill:none!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
#app-main .kpi-gains{--dashboard-icon-color:#bfe0ff;}
#app-main .kpi-wallet{--dashboard-icon-color:#c7d2fe;}
#app-main .kpi-points{--dashboard-icon-color:#ffffff;}
#app-main .kpi-direct{--dashboard-icon-color:#bfdbfe;}
#app-main .kpi-indirect{--dashboard-icon-color:#d8b4fe;}
#app-main .kpi-sales{--dashboard-icon-color:#bae6fd;}
#app-main .kpi-products{--dashboard-icon-color:#bbf7d0;}
#app-main .kpi-showcase{--dashboard-icon-color:#fde68a;}
#app-main .kpi-withdraw{--dashboard-icon-color:#a7f3d0;}

/* Dashboard usuário: hover em todos os cards, ícones/molduras padronizados e sem textos inferiores */
#app-main .user-dashboard-card,
#app-main .user-dashboard-grid > .user-dashboard-card,
#app-main .user-dashboard-grid > .user-dashboard-card + .user-dashboard-card{
  border:1px solid rgba(0,87,178,.22)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.16)!important;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease!important;
}
#app-main .user-dashboard-card:hover,
#app-main .user-dashboard-grid > .user-dashboard-card:hover,
#app-main .user-dashboard-grid > .user-dashboard-card + .user-dashboard-card:hover{
  transform:translateY(-5px)!important;
  border-color:rgba(0,87,178,.62)!important;
  box-shadow:0 22px 52px rgba(0,87,178,.22),0 12px 28px rgba(0,0,0,.22)!important;
}
#app-main .user-dashboard-card::before{
  height:3px!important;
  background:linear-gradient(90deg,rgba(0,87,178,.95),rgba(0,87,178,.32))!important;
}
#app-main .user-dashboard-card-blue{
  background:linear-gradient(135deg,rgba(0,87,178,.92),rgba(0,58,135,.88))!important;
  border-color:rgba(0,87,178,.62)!important;
}
#app-main .user-dashboard-icon,
#app-main .user-dashboard-card-blue .user-dashboard-icon{
  background:rgba(0,87,178,.13)!important;
  border:1px solid rgba(0,87,178,.30)!important;
  color:#0057b2!important;
  box-shadow:0 10px 24px rgba(0,87,178,.12)!important;
}
#app-main .user-dashboard-card-blue .user-dashboard-icon{
  background:rgba(255,255,255,.16)!important;
  border-color:rgba(255,255,255,.32)!important;
  color:#fff!important;
}
#app-main .kpi-gains,
#app-main .kpi-wallet,
#app-main .kpi-points,
#app-main .kpi-direct,
#app-main .kpi-indirect,
#app-main .kpi-sales,
#app-main .kpi-products,
#app-main .kpi-showcase,
#app-main .kpi-withdraw{
  --dashboard-icon-color:#0057b2!important;
}
#app-main .user-dashboard-card .tiny{
  display:none!important;
  min-height:0!important;
  margin:0!important;
}
#app-main .user-dashboard-card{
  justify-content:center!important;
  min-height:148px!important;
}
#app-main .user-dashboard-withdraw-card{
  justify-content:space-between!important;
}

/* Mapa da comunidade: visual em rede, neutro e intuitivo */
.community-map-shell{
  --community-gap:20px;
  --community-card-padding:18px;
  display:grid;
  gap:var(--community-gap);
  background:linear-gradient(180deg,rgba(8,14,28,.96),rgba(3,7,18,.98));
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  padding:24px;
  box-shadow:0 22px 60px rgba(0,0,0,.28);
}
.community-map-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  border-bottom:1px solid rgba(255,255,255,.07);
  padding-bottom:18px;
  margin-bottom:2px;
}
.community-map-header h3{margin:6px 0 8px;font-size:clamp(22px,2.6vw,32px)}
.community-map-header p{margin:0;max-width:760px;line-height:1.55}
.community-eyebrow{display:inline-flex;align-items:center;border:1px solid rgba(0,87,178,.28);background:rgba(0,87,178,.12);color:#b9dcff;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.community-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:2px}
.community-summary-card{display:grid;gap:10px;align-content:start;min-height:122px;border:1px solid rgba(0,87,178,.18);background:linear-gradient(180deg,rgba(0,87,178,.10),rgba(255,255,255,.025));border-radius:20px;padding:var(--community-card-padding);transition:.22s ease}
.community-summary-card:hover{transform:translateY(-3px);border-color:rgba(0,87,178,.42);box-shadow:0 18px 40px rgba(0,87,178,.12)}
.community-summary-card svg{width:24px;height:24px;color:#7fc2ff}.community-summary-card strong{font-size:30px;line-height:1;color:#f8fbff}.community-summary-card small{color:#94a3b8;font-weight:800;line-height:1.35}
.community-rule-strip{display:flex;gap:10px 12px;flex-wrap:wrap;margin-top:2px}.community-rule-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(0,87,178,.24);background:rgba(0,87,178,.10);color:#d8ecff;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;line-height:1.25}.community-rule-pill strong{width:20px;height:20px;border-radius:999px;display:grid;place-items:center;background:#0057b2;color:#fff;font-size:11px;flex:0 0 20px}
.community-map-canvas{position:relative;display:grid;gap:18px;overflow:auto;max-height:min(72vh,760px);padding:12px 8px 8px;scrollbar-gutter:stable}.community-map-canvas::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 10%,rgba(0,87,178,.12),transparent 28%),radial-gradient(circle at 80% 18%,rgba(8,118,228,.10),transparent 24%);pointer-events:none}
.community-node{position:relative;display:grid;gap:14px;z-index:1}.community-node-main{display:flex;align-items:center;gap:14px;min-width:280px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.42);border-radius:18px;padding:14px;transition:.22s ease;box-shadow:0 12px 28px rgba(0,0,0,.18)}
.community-node-main:hover{transform:translateY(-2px);border-color:rgba(0,87,178,.44);background:rgba(0,87,178,.10)}
.community-avatar{width:44px;height:44px;flex:0 0 44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#0057b2,#003f82);color:#fff;font-weight:900;font-size:13px;border:1px solid rgba(255,255,255,.14)}
.community-node-info{display:grid;gap:5px;min-width:0;flex:1}.community-node-info strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}.community-node-info span{font-size:12px;color:#94a3b8;font-weight:700;line-height:1.35}.community-status{display:inline-flex;max-width:260px;border:1px solid rgba(0,87,178,.22);background:rgba(0,87,178,.10);color:#b9dcff;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}
.community-children{display:grid;gap:14px;margin-left:30px;padding-left:22px;padding-top:2px;border-left:1px solid rgba(0,87,178,.28)}.community-children>.community-node::before{content:"";position:absolute;left:-22px;top:25px;width:22px;height:1px;background:rgba(0,87,178,.32)}
.community-depth-2 .community-node-main{margin-left:6px}.community-depth-3 .community-node-main{margin-left:12px}.community-depth-4 .community-node-main{margin-left:18px}.community-empty{border:1px dashed rgba(0,87,178,.28);background:rgba(0,87,178,.06);border-radius:20px;padding:24px;text-align:center;display:grid;gap:8px}

@media(max-width:900px){.community-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.community-status{max-width:180px}.community-map-header{flex-direction:column}.community-map-header .icon-button{align-self:flex-end}}
@media(max-width:620px){.community-map-shell{padding:16px;border-radius:22px}.community-summary-grid{grid-template-columns:1fr}.community-node-main{min-width:0;align-items:flex-start}.community-status{max-width:100%;white-space:normal}.community-children{margin-left:10px;padding-left:12px}.community-children>.community-node::before{left:-12px;width:12px}.community-avatar{width:38px;height:38px;flex-basis:38px}}


.purchase-validated-overlay{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(15,23,42,.46);
  backdrop-filter:blur(8px);
}
.purchase-validated-card{
  width:min(520px,100%);
  border-radius:28px;
  padding:28px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 28px 80px rgba(15,23,42,.22);
  text-align:center;
}
.purchase-validated-icon{
  width:62px;
  height:62px;
  margin:0 auto 16px;
  border-radius:22px;
  display:grid;
  place-items:center;
  background:rgba(0,87,178,.1);
  color:#0057b2;
}
.purchase-validated-icon svg{width:30px;height:30px;stroke:currentColor;}
.purchase-validated-card h2{margin:0 0 10px;font-size:24px;line-height:1.15;color:#0f172a;}
.purchase-validated-card p{margin:0;color:#475569;line-height:1.6;font-size:15px;}
.purchase-validated-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px;}
@media(max-width:640px){.purchase-validated-card{padding:24px 18px;border-radius:22px}.purchase-validated-actions .btn{width:100%;justify-content:center}}

/* Ajuste solicitado: mapa da comunidade com 4 itens por linha e espaçamento padrão */
.community-map-shell{
  --community-section-gap:24px;
  --community-inner-gap:18px;
}

.community-map-header{
  margin-bottom:var(--community-section-gap);
  padding-bottom:0;
}

.community-summary-grid{
  gap:var(--community-inner-gap) !important;
  margin:0 0 var(--community-section-gap) !important;
}

.community-rule-strip{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--community-inner-gap) !important;
  margin:0 0 var(--community-section-gap) !important;
  width:100%;
}

.community-rule-pill{
  width:100%;
  justify-content:flex-start;
  min-height:46px;
  box-sizing:border-box;
}

.community-map-canvas{
  margin-top:0 !important;
  padding:16px 10px 10px !important;
  gap:var(--community-section-gap) !important;
}

.community-empty{
  padding:32px 24px !important;
  gap:14px !important;
}

@media(max-width:980px){
  .community-rule-strip{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:620px){
  .community-rule-strip{grid-template-columns:1fr;}
}

/* Mapa da comunidade do usuário no mesmo padrão visual do admin */
.community-map-user .community-map-header,
.community-map-admin .community-map-header{
  align-items:flex-start;
}
.community-map-user .community-summary-grid,
.community-map-admin .community-summary-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
.community-map-user .community-rule-strip,
.community-map-admin .community-rule-strip{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
.community-map-user .community-map-canvas,
.community-map-admin .community-map-canvas{
  border-radius:22px;
  background:rgba(0,87,178,.035);
  border:1px solid rgba(0,87,178,.08);
}
.community-map-user .community-node-main,
.community-map-admin .community-node-main{
  width:100%;
  box-sizing:border-box;
}
@media(max-width:980px){
  .community-map-user .community-summary-grid,
  .community-map-admin .community-summary-grid,
  .community-map-user .community-rule-strip,
  .community-map-admin .community-rule-strip{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:620px){
  .community-map-user .community-summary-grid,
  .community-map-admin .community-summary-grid,
  .community-map-user .community-rule-strip,
  .community-map-admin .community-rule-strip{grid-template-columns:1fr !important;}
}

/* Suporte interno */
.support-admin-panel,
.support-ticket-list,
.support-user-history{
  display:grid;
  gap:18px;
}
.support-admin-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.support-summary-card{
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items:flex-start;
  min-height:130px;
  border:1px solid rgba(0,87,178,.14);
}
.support-summary-card [data-icon]{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(0,87,178,.1);
  color:var(--primary,#0057b2);
}
.support-summary-card strong{font-size:2rem;line-height:1;color:var(--text,#111827)}
.support-summary-card p{margin:0;color:var(--muted,#64748b)}
.support-clean-card{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  border:1px solid rgba(239,68,68,.18);
}
.support-ticket-card,
.support-user-ticket{
  background:var(--card,#fff);
  border:1px solid rgba(15,23,42,.08);
  border-radius:22px;
  padding:20px;
  box-shadow:0 16px 36px rgba(15,23,42,.06);
  display:grid;
  gap:16px;
}
.support-ticket-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
}
.support-ticket-head h3,
.support-ticket-head h4{margin:8px 0 4px;font-size:1.05rem}
.support-ticket-head p,
.support-ticket-text{margin:0;color:var(--muted,#64748b)}
.support-status{
  display:inline-flex;
  align-items:center;
  width:max-content;
  border-radius:999px;
  padding:5px 10px;
  font-size:.75rem;
  font-weight:700;
}
.support-status-open{background:rgba(245,158,11,.12);color:#a16207}
.support-status-progress{background:rgba(0,87,178,.12);color:var(--primary,#0057b2)}
.support-status-closed{background:rgba(34,197,94,.12);color:#15803d}
.support-files{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:12px;
}
.support-file{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:10px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:14px;
  color:inherit;
  text-decoration:none;
  background:rgba(248,250,252,.78);
  overflow:hidden;
}
.support-file img,
.support-file video{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  border-radius:10px;
  background:#f1f5f9;
}
.support-file audio{width:100%}
.support-file span{font-size:.78rem;color:var(--muted,#64748b);word-break:break-word}
.support-thread{
  display:grid;
  gap:12px;
  padding-top:4px;
}
.support-message{
  border-radius:16px;
  padding:14px;
  display:grid;
  gap:8px;
  background:rgba(248,250,252,.9);
  border:1px solid rgba(15,23,42,.06);
}
.support-message.is-admin{
  background:rgba(0,87,178,.08);
  border-color:rgba(0,87,178,.16);
}
.support-message-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:.82rem;
}
.support-message-head span{color:var(--muted,#64748b)}
.support-message p{margin:0;white-space:pre-wrap}
.support-admin-actions{
  display:grid;
  grid-template-columns:180px 1fr auto;
  gap:12px;
  align-items:end;
}
.support-rating-view,
.support-rate-box{
  background:rgba(0,87,178,.06);
  border:1px solid rgba(0,87,178,.14);
  border-radius:16px;
  padding:12px;
  display:grid;
  gap:10px;
}
.support-user-modal.show{display:flex!important}
.support-user-card{max-width:920px;width:min(920px,calc(100vw - 28px));max-height:92vh;overflow:auto}
.support-user-form{display:grid;gap:16px;margin-bottom:18px}
.support-audio-recorder{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.user-dashboard-support-card .support-metric{font-size:1.05rem;font-weight:800;color:var(--primary,#0057b2)}
@media (max-width: 820px){
  .support-admin-summary{grid-template-columns:1fr}
  .support-clean-card{align-items:flex-start;flex-direction:column}
  .support-admin-actions{grid-template-columns:1fr}
}

/* Ajustes visuais do suporte: contraste, previews, áudio e botão flutuante */
.support-admin-panel,
.support-ticket-list,
.support-user-history{
  color:var(--text,#111827);
}
.support-ticket-card,
.support-user-ticket,
.support-ratings-card{
  border-color:rgba(15,23,42,.12);
  box-shadow:0 18px 42px rgba(15,23,42,.08);
}
.support-ticket-head h3,
.support-ticket-head h4,
.support-clean-card h3,
.support-section-title h3,
.support-message-head strong,
.support-rate-box label{
  color:var(--text,#111827);
}
.support-ticket-head p,
.support-ticket-text,
.support-clean-card .muted,
.support-empty-text,
.support-helper-text,
.support-section-title p{
  color:#475569 !important;
}
.support-message p,
.support-user-ticket > p{
  color:#1f2937;
  line-height:1.55;
}
.support-files{
  grid-template-columns:repeat(auto-fill,minmax(104px,1fr));
  gap:14px;
}
.support-file{
  min-height:112px;
  border-color:rgba(15,23,42,.14);
  background:#fff;
  color:#111827;
  cursor:default;
}
.support-file-image{
  border:1px solid rgba(0,87,178,.16);
  cursor:zoom-in;
  text-align:left;
  appearance:none;
  -webkit-appearance:none;
  font:inherit;
}
.support-file img{
  aspect-ratio:1/1;
  border-radius:12px;
  transition:transform .18s ease, box-shadow .18s ease;
}
.support-file-image:hover img{
  transform:scale(1.03);
  box-shadow:0 12px 24px rgba(15,23,42,.14);
}
.support-file video{
  aspect-ratio:16/10;
}
.support-file-audio{
  grid-column:span 2;
  min-height:auto;
}
.support-file span{
  color:#334155;
  font-weight:600;
}
.support-image-viewer{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:rgba(2,6,23,.78);
  backdrop-filter:blur(8px);
}
.support-image-viewer.show{display:flex}
.support-image-viewer img{
  max-width:min(980px,94vw);
  max-height:82vh;
  border-radius:20px;
  object-fit:contain;
  background:#fff;
  box-shadow:0 30px 80px rgba(0,0,0,.35);
}
.support-image-viewer p{
  position:absolute;
  bottom:20px;
  margin:0;
  color:#fff;
  font-weight:700;
}
.support-image-viewer-close{
  position:absolute;
  top:18px;
  right:18px;
  width:44px;
  height:44px;
  border:0;
  border-radius:999px;
  background:#fff;
  color:#0f172a;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 12px 30px rgba(0,0,0,.24);
}
.support-audio-recorder{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:12px 14px;
  padding:14px;
  border:1px solid rgba(0,87,178,.16);
  border-radius:18px;
  background:rgba(0,87,178,.05);
}
.support-audio-recorder strong{
  display:block;
  color:#0f172a;
  margin-bottom:2px;
}
.support-audio-recorder span:not([data-icon]){
  display:block;
  color:#475569;
  font-size:.86rem;
}
.support-audio-recorder audio{
  grid-column:1/-1;
  width:100%;
}
.support-mic-button{
  width:54px;
  height:54px;
  border:0;
  border-radius:999px;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(135deg,var(--primary,#0057b2),#003f86);
  box-shadow:0 14px 28px rgba(0,87,178,.28);
  cursor:pointer;
}
.support-mic-button svg,
.support-mic-button [data-icon]{width:24px;height:24px}
.support-mic-button.is-recording{
  background:linear-gradient(135deg,#ef4444,#b91c1c);
  animation:supportPulse 1s infinite;
}
@keyframes supportPulse{
  0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(239,68,68,.34)}
  50%{transform:scale(1.05);box-shadow:0 0 0 10px rgba(239,68,68,0)}
}
.support-section-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.support-section-title h3{margin:0 0 4px}
.support-section-title p{margin:0}
.support-section-title strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:76px;
  padding:10px 12px;
  border-radius:999px;
  background:rgba(245,158,11,.14);
  color:#92400e;
}
.support-ratings-list{
  display:grid;
  gap:10px;
}
.support-ratings-list article{
  display:grid;
  gap:6px;
  padding:12px;
  border:1px solid rgba(15,23,42,.1);
  border-radius:14px;
  background:#f8fafc;
}
.support-ratings-list article > div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.support-ratings-list strong{color:#111827}
.support-ratings-list span{color:#64748b;font-size:.78rem}
.support-ratings-list p{margin:0;color:#f59e0b;font-weight:900;letter-spacing:.04em}
.support-ratings-list small{color:#334155;line-height:1.45}
.support-floating-button{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:9990;
  display:inline-flex;
  align-items:center;
  gap:10px;
  border:0;
  border-radius:999px;
  padding:14px 18px;
  color:#fff;
  background:linear-gradient(135deg,var(--primary,#0057b2),#003f86);
  box-shadow:0 18px 38px rgba(0,87,178,.32);
  font-weight:900;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease;
}
.support-floating-button:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 46px rgba(0,87,178,.42);
}
.support-floating-button svg,
.support-floating-button [data-icon]{width:21px;height:21px}
.support-user-card{
  border:1px solid rgba(15,23,42,.12);
  box-shadow:0 28px 70px rgba(15,23,42,.22);
}
.support-user-card .modal-header .muted{color:#475569!important}
@media(max-width:620px){
  .support-floating-button{right:16px;bottom:16px;padding:13px 15px}
  .support-floating-button span:last-child{display:none}
  .support-files{grid-template-columns:repeat(2,minmax(0,1fr))}
  .support-file-audio{grid-column:1/-1}
  .support-section-title{flex-direction:column}
}

/* Suporte 100% dark theme - override final */
.support-admin-panel,
.support-ticket-list,
.support-user-history,
.support-user-card,
.support-ratings-card{
  color:#e5efff !important;
}
.support-admin-panel .card,
.support-summary-card,
.support-clean-card,
.support-ticket-card,
.support-user-ticket,
.support-ratings-card,
.support-user-card{
  background:linear-gradient(180deg,#101827 0%,#0b1220 100%) !important;
  border-color:rgba(96,165,250,.22) !important;
  box-shadow:0 22px 48px rgba(0,0,0,.38) !important;
}
.support-admin-summary .support-summary-card [data-icon],
.support-summary-card [data-icon]{
  background:rgba(59,130,246,.14) !important;
  color:#60a5fa !important;
}
.support-summary-card strong,
.support-ticket-head h3,
.support-ticket-head h4,
.support-clean-card h3,
.support-section-title h3,
.support-message-head strong,
.support-rate-box label,
.support-ratings-list strong,
.support-audio-recorder strong,
.support-user-card .modal-header h2,
.support-user-history h3{
  color:#f8fbff !important;
}
.support-summary-card p,
.support-ticket-head p,
.support-ticket-text,
.support-clean-card .muted,
.support-empty-text,
.support-helper-text,
.support-section-title p,
.support-message-head span,
.support-user-card .modal-header .muted,
.support-audio-recorder span:not([data-icon]),
.support-file span,
.support-ratings-list span,
.support-ratings-list small,
.support-user-ticket > p{
  color:#b6c6da !important;
}
.support-message p{
  color:#e5efff !important;
}
.support-file,
.support-message,
.support-rate-box,
.support-rating-view,
.support-audio-recorder,
.support-ratings-list article{
  background:#111c2d !important;
  border-color:rgba(148,163,184,.18) !important;
  color:#e5efff !important;
}
.support-message.is-admin{
  background:rgba(37,99,235,.16) !important;
  border-color:rgba(96,165,250,.28) !important;
}
.support-file img,
.support-file video{
  background:#020617 !important;
  border:1px solid rgba(148,163,184,.16);
}
.support-file-image:hover img{
  box-shadow:0 12px 28px rgba(96,165,250,.22) !important;
}
.support-user-card input,
.support-user-card textarea,
.support-user-card select,
.support-admin-panel input,
.support-admin-panel textarea,
.support-admin-panel select,
.support-ticket-card input,
.support-ticket-card textarea,
.support-ticket-card select,
.support-rate-box textarea,
.support-rate-box select{
  background:#08111f !important;
  border-color:rgba(148,163,184,.22) !important;
  color:#f8fbff !important;
}
.support-user-card input::placeholder,
.support-user-card textarea::placeholder,
.support-admin-panel input::placeholder,
.support-admin-panel textarea::placeholder,
.support-ticket-card textarea::placeholder{
  color:#71839b !important;
}
.support-status-open{background:rgba(245,158,11,.16)!important;color:#fbbf24!important;border:1px solid rgba(251,191,36,.22)}
.support-status-progress{background:rgba(59,130,246,.16)!important;color:#93c5fd!important;border:1px solid rgba(147,197,253,.22)}
.support-status-closed{background:rgba(34,197,94,.16)!important;color:#86efac!important;border:1px solid rgba(134,239,172,.22)}
.support-section-title strong{
  background:rgba(245,158,11,.16) !important;
  color:#fbbf24 !important;
  border:1px solid rgba(251,191,36,.2);
}
.support-mic-button,
.support-floating-button{
  background:linear-gradient(135deg,#2563eb,#1d4ed8) !important;
  box-shadow:0 18px 40px rgba(37,99,235,.38) !important;
}
.support-mic-button.is-recording{
  background:linear-gradient(135deg,#ef4444,#991b1b) !important;
}
.support-image-viewer{
  background:rgba(2,6,23,.88) !important;
}
.support-image-viewer img{
  background:#0b1220 !important;
  border:1px solid rgba(148,163,184,.22);
}
.support-image-viewer-close{
  background:#111c2d !important;
  color:#fff !important;
  border:1px solid rgba(148,163,184,.22);
}

/* Ajustes de permissão de áudio do suporte */
.support-audio-permission{
  display:block;
  margin-top:6px;
  color:#9fb3cc !important;
  font-size:.78rem;
  line-height:1.35;
}
.support-mic-button:disabled{
  opacity:.72;
  cursor:wait;
  transform:none !important;
}
.support-mic-button:focus-visible{
  outline:3px solid rgba(96,165,250,.45);
  outline-offset:3px;
}


/* Logout dentro do modal de perfil e suporte flutuante no antigo lugar do logout */
.account-logout-button{
  border-color:rgba(239,68,68,.28)!important;
  color:#fecaca!important;
  background:rgba(127,29,29,.18)!important;
}
.account-logout-button:hover{
  border-color:rgba(239,68,68,.48)!important;
  background:rgba(185,28,28,.28)!important;
  transform:translateY(-1px);
}
.global-support-button.support-floating-button{
  position:fixed!important;
  right:20px!important;
  bottom:20px!important;
  z-index:110!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  min-height:48px!important;
  padding:0!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  gap:0!important;
  border:1px solid rgba(96,165,250,.35)!important;
  background:linear-gradient(135deg,#2563eb,#0f4fa8)!important;
  color:#fff!important;
  box-shadow:0 18px 42px rgba(37,99,235,.38),0 0 0 1px rgba(255,255,255,.04) inset!important;
}
.global-support-button.support-floating-button:hover{
  transform:translateY(-3px) scale(1.03)!important;
  box-shadow:0 24px 52px rgba(37,99,235,.48)!important;
}
.global-support-button.support-floating-button svg,
.global-support-button.support-floating-button [data-icon]{width:22px!important;height:22px!important}
.is-locked .global-support-button,
.app-booting .global-support-button,
.public-store-mode .global-support-button{
  display:none!important;
}
@media(max-width:620px){
  .global-support-button.support-floating-button{right:16px!important;bottom:16px!important;width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important}
}

/* UX aprimorada do suporte - admin e usuário */
.support-toolbar{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(280px,1.4fr);
  gap:18px;
  align-items:center;
}
.support-toolbar-title{display:grid;gap:4px}
.support-toolbar-title strong{color:#f8fbff;font-size:1.02rem;font-weight:900}
.support-toolbar-title span{color:#b6c6da;font-size:.9rem;line-height:1.45}
.support-toolbar-controls{display:grid;grid-template-columns:minmax(180px,1fr) 190px;gap:12px}
.support-ticket-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:-4px;
}
.support-ticket-meta span{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(96,165,250,.18);
  background:rgba(59,130,246,.08);
  color:#b6c6da;
  border-radius:999px;
  padding:6px 9px;
  font-size:.76rem;
  font-weight:700;
}
.support-ticket-card,
.support-user-ticket{
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.support-ticket-card:hover,
.support-user-ticket:hover{
  transform:translateY(-2px);
  border-color:rgba(96,165,250,.38)!important;
  box-shadow:0 26px 56px rgba(0,0,0,.46)!important;
}
.support-admin-actions{
  background:rgba(2,6,23,.22);
  border:1px solid rgba(148,163,184,.12);
  border-radius:18px;
  padding:12px;
}
.support-user-welcome{
  display:grid;
  gap:5px;
  margin:0 0 16px;
  padding:14px 16px;
  border:1px solid rgba(96,165,250,.22);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(37,99,235,.14),rgba(8,17,31,.78));
}
.support-user-welcome strong{color:#f8fbff;font-weight:900;font-size:1rem}
.support-user-welcome span{color:#b6c6da;line-height:1.45;font-size:.9rem}
.support-user-history-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:6px;
}
.support-user-history-head h3{margin:0;color:#f8fbff!important}
.support-user-history-head p{margin:4px 0 0;color:#9fb3cc;font-size:.86rem}
.support-user-empty,
.support-filter-empty{
  display:grid;
  place-items:center;
  gap:6px;
  text-align:center;
  padding:24px;
  border:1px dashed rgba(96,165,250,.28)!important;
  border-radius:18px;
  background:rgba(59,130,246,.06)!important;
}
.support-user-empty strong{color:#f8fbff;font-weight:900}
.support-user-empty span{color:#b6c6da}
.support-user-card .form-grid{gap:14px 16px}
.support-user-card .form-actions{
  position:sticky;
  bottom:0;
  z-index:2;
  padding-top:10px;
  background:linear-gradient(180deg,rgba(11,18,32,0),#0b1220 35%);
}
.support-rate-box{
  border-color:rgba(251,191,36,.24)!important;
  background:rgba(245,158,11,.08)!important;
}
.support-user-ticket .support-thread:empty{display:none}
.support-message{
  max-width:92%;
}
.support-message.is-admin{margin-left:auto}
.support-message.is-user{margin-right:auto}
@media(max-width:820px){
  .support-toolbar{grid-template-columns:1fr}
  .support-toolbar-controls{grid-template-columns:1fr}
  .support-message{max-width:100%}
}

/* Suporte em layout estilo WhatsApp - admin e usuário */
.support-whatsapp-modal.show{display:flex!important;align-items:flex-end;justify-content:flex-end;padding:22px;background:rgba(2,6,23,.54)!important;backdrop-filter:blur(8px)}
.support-whatsapp-card{
  width:min(440px,calc(100vw - 28px))!important;
  height:min(720px,calc(100vh - 44px))!important;
  max-width:440px!important;
  max-height:720px!important;
  padding:0!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:auto 1fr auto!important;
  border-radius:28px!important;
  background:#08111f!important;
  border:1px solid rgba(96,165,250,.24)!important;
  box-shadow:0 28px 80px rgba(0,0,0,.48)!important;
}
.support-wa-header{
  display:flex;align-items:center;gap:12px;padding:16px 16px 14px;
  background:linear-gradient(135deg,#075e54,#0b806f)!important;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.support-wa-avatar{width:44px;height:44px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.16);color:#fff;flex:0 0 auto}
.support-wa-avatar [data-icon],.support-wa-avatar svg{width:22px;height:22px}
.support-wa-title{min-width:0;flex:1}.support-wa-title h2{margin:0!important;font-size:1.05rem!important;color:#fff!important}.support-wa-title p{margin:2px 0 0!important;color:rgba(255,255,255,.82)!important;font-size:.82rem!important}
.support-wa-close{background:rgba(255,255,255,.14)!important;color:#fff!important;border:0!important}
.support-wa-body{
  min-height:0;overflow:auto;padding:18px 14px 16px!important;display:flex!important;flex-direction:column!important;gap:14px!important;
  background:
    radial-gradient(circle at 20% 10%,rgba(37,99,235,.10),transparent 24%),
    linear-gradient(rgba(2,6,23,.88),rgba(2,6,23,.88)),
    repeating-linear-gradient(45deg,rgba(255,255,255,.025) 0 1px,transparent 1px 12px)!important;
}
.support-wa-body .support-user-history-head{display:none!important}
.support-wa-composer{
  display:grid!important;grid-template-columns:1fr 42px 42px 46px;gap:8px;align-items:end;
  padding:10px 12px 12px!important;background:#07101e!important;border-top:1px solid rgba(148,163,184,.14)!important;
}
.support-wa-fields{display:grid;gap:7px;min-width:0}.support-wa-fields .form-input{border-radius:18px!important;background:#111c2d!important;border-color:rgba(148,163,184,.18)!important;color:#f8fbff!important;min-height:42px!important}.support-wa-subject{font-size:.82rem!important;padding:9px 13px!important}.support-wa-message{resize:none!important;max-height:100px!important;padding:11px 13px!important}
.support-wa-attach,.support-wa-send,.support-wa-mic{width:42px!important;height:42px!important;min-width:42px!important;border-radius:999px!important;display:grid!important;place-items:center!important;border:0!important;cursor:pointer!important;color:#dbeafe!important;background:#111c2d!important;box-shadow:none!important;padding:0!important}
.support-wa-attach input{display:none!important}.support-wa-attach:hover,.support-wa-mic:hover{background:#18263a!important;color:#fff!important}.support-wa-send{width:46px!important;height:46px!important;background:#25d366!important;color:#062014!important}.support-wa-send [data-icon],.support-wa-attach [data-icon],.support-wa-send svg,.support-wa-attach svg{width:20px;height:20px}.support-wa-mic svg{width:22px;height:22px}.support-wa-mic.is-recording{background:#ef4444!important;color:#fff!important;box-shadow:0 0 0 6px rgba(239,68,68,.18)!important}
.support-wa-audio-state{grid-column:1/-1;display:grid;gap:4px;padding:0 4px;color:#9fb3cc;font-size:.75rem}.support-wa-audio-state audio{width:100%;margin-top:4px}.support-wa-audio-state .support-audio-permission{margin:0!important;font-size:.72rem!important;color:#71839b!important}
.support-user-ticket{
  width:min(86%,620px)!important;align-self:flex-start!important;border-radius:18px 18px 18px 4px!important;padding:12px 14px!important;gap:10px!important;background:#111c2d!important;border-color:rgba(148,163,184,.16)!important;box-shadow:0 10px 26px rgba(0,0,0,.18)!important;
}
.support-user-ticket .support-ticket-head{display:block!important}.support-user-ticket .support-ticket-head h4{margin:6px 0 2px!important;color:#fff!important}.support-user-ticket .support-ticket-head p{font-size:.72rem!important;color:#8fa3bc!important}.support-user-ticket>p{margin:0!important;color:#e5efff!important}.support-user-empty{align-self:center;text-align:center;margin:auto;padding:24px;border:1px dashed rgba(96,165,250,.26);border-radius:20px;background:rgba(17,28,45,.68);display:grid;gap:6px;color:#e5efff}.support-user-empty span{color:#9fb3cc}
.support-thread{display:flex!important;flex-direction:column!important;gap:9px!important}.support-message{width:min(86%,620px)!important;border:0!important;border-radius:16px 16px 16px 4px!important;padding:10px 12px!important;box-shadow:0 8px 18px rgba(0,0,0,.12)!important}.support-message.is-admin{align-self:flex-end!important;border-radius:16px 16px 4px 16px!important;background:#075e54!important}.support-message.is-user{align-self:flex-start!important;background:#111c2d!important}.support-message-head{font-size:.72rem!important}.support-message-head strong{color:#fff!important}.support-message-head span{color:#9fb3cc!important}.support-message p{font-size:.92rem!important;line-height:1.45!important}
.support-rate-box,.support-rating-view{border-radius:16px!important;background:rgba(37,99,235,.14)!important;border-color:rgba(96,165,250,.24)!important}
.support-files{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))!important;gap:8px!important}.support-file{border-radius:14px!important;padding:7px!important;min-height:auto!important;background:#07101e!important}.support-file span{font-size:.7rem!important}.support-file img{border-radius:10px!important}
.support-admin-panel{gap:16px!important}.support-admin-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}.support-toolbar{display:grid!important;grid-template-columns:1fr auto!important;gap:14px!important;align-items:end!important;border-radius:24px!important}.support-ticket-list{display:grid!important;gap:18px!important}.support-ticket-card{
  display:grid!important;grid-template-columns:minmax(220px,300px) 1fr!important;gap:0!important;padding:0!important;overflow:hidden!important;border-radius:26px!important;background:#08111f!important;border-color:rgba(96,165,250,.24)!important;
}
.support-ticket-card>.support-ticket-head,.support-ticket-card>.support-ticket-meta,.support-ticket-card>.support-ticket-text,.support-ticket-card>.support-files,.support-ticket-card>.support-rating-view{grid-column:1;background:#0b1628!important;border-right:1px solid rgba(148,163,184,.14);padding-left:18px!important;padding-right:18px!important}.support-ticket-card>.support-ticket-head{padding-top:18px!important}.support-ticket-card>.support-ticket-meta{display:grid!important;gap:8px!important;font-size:.76rem;color:#9fb3cc}.support-ticket-card>.support-ticket-text{padding-bottom:12px!important;color:#dbeafe!important}.support-ticket-card>.support-thread{grid-column:2;grid-row:1 / span 5;min-height:280px;max-height:440px;overflow:auto;padding:18px!important;background:linear-gradient(rgba(2,6,23,.82),rgba(2,6,23,.82)),repeating-linear-gradient(45deg,rgba(255,255,255,.025) 0 1px,transparent 1px 12px)!important}.support-admin-actions{grid-column:1/-1;display:grid!important;grid-template-columns:180px 1fr auto!important;gap:10px!important;padding:12px!important;background:#07101e!important;border-top:1px solid rgba(148,163,184,.14)}.support-reply-input{border-radius:18px!important}.support-reply-btn{border-radius:999px!important}.support-status-select{border-radius:999px!important}
@media(max-width:900px){.support-admin-summary{grid-template-columns:1fr!important}.support-toolbar{grid-template-columns:1fr!important}.support-ticket-card{grid-template-columns:1fr!important}.support-ticket-card>.support-ticket-head,.support-ticket-card>.support-ticket-meta,.support-ticket-card>.support-ticket-text,.support-ticket-card>.support-files,.support-ticket-card>.support-rating-view{grid-column:1;border-right:0}.support-ticket-card>.support-thread{grid-column:1;grid-row:auto;max-height:none}.support-admin-actions{grid-template-columns:1fr!important}}
@media(max-width:620px){.support-whatsapp-modal{padding:0!important;align-items:stretch!important;justify-content:stretch!important}.support-whatsapp-card{width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;border-radius:0!important}.support-wa-composer{grid-template-columns:1fr 40px 40px 44px!important;padding-bottom:calc(12px + env(safe-area-inset-bottom))!important}.support-user-ticket,.support-message{width:92%!important}}

/* Suporte em tempo real: notificações visuais e aviso dentro do chat */
.global-support-button.support-floating-button.has-support-alert{
  animation:supportFloatPulse 1.35s ease-in-out infinite!important;
  border-color:rgba(34,197,94,.7)!important;
  box-shadow:0 0 0 0 rgba(34,197,94,.42),0 18px 42px rgba(37,99,235,.38)!important;
}
.global-support-button.support-floating-button.has-support-alert::after{
  content:attr(data-support-unread);
  position:absolute;
  top:-6px;
  right:-6px;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#22c55e;
  color:#04130a;
  border:2px solid #020617;
  font-size:11px;
  font-weight:1000;
  line-height:1;
}
.global-support-button.support-floating-button[data-support-unread="0"]::after{
  display:none;
}
.global-support-button.support-floating-button.support-alert-pop{
  animation:supportAlertPop .82s cubic-bezier(.2,.9,.2,1)!important;
}
.support-live-notice{
  position:sticky;
  top:8px;
  z-index:8;
  align-self:center;
  display:none;
  border:1px solid rgba(34,197,94,.28);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(34,197,94,.95),rgba(21,128,61,.95));
  color:#052e16;
  padding:8px 12px;
  font-size:.78rem;
  font-weight:900;
  box-shadow:0 14px 32px rgba(34,197,94,.24);
  cursor:pointer;
}
.support-live-notice.show{display:inline-flex;align-items:center;gap:8px;animation:supportNoticeDrop .28s ease both}
.support-live-notice.show::before{content:'●';font-size:.7rem;color:#052e16;animation:supportDotBlink 1s ease-in-out infinite}
@keyframes supportFloatPulse{
  0%{transform:translateY(0) scale(1);box-shadow:0 0 0 0 rgba(34,197,94,.42),0 18px 42px rgba(37,99,235,.38)}
  60%{transform:translateY(-2px) scale(1.04);box-shadow:0 0 0 13px rgba(34,197,94,0),0 24px 52px rgba(37,99,235,.48)}
  100%{transform:translateY(0) scale(1);box-shadow:0 0 0 0 rgba(34,197,94,0),0 18px 42px rgba(37,99,235,.38)}
}
@keyframes supportAlertPop{
  0%{transform:scale(1)}
  35%{transform:scale(1.18) rotate(-6deg)}
  70%{transform:scale(.96) rotate(3deg)}
  100%{transform:scale(1) rotate(0)}
}
@keyframes supportNoticeDrop{
  from{opacity:0;transform:translateY(-8px) scale(.96)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes supportDotBlink{
  0%,100%{opacity:1}
  50%{opacity:.3}
}

/* Melhoria visual das informações do chamado para o admin */
.support-ticket-card.support-admin-ticket{
  grid-template-columns:minmax(280px,380px) 1fr!important;
}
.support-admin-ticket .support-ticket-info{
  grid-column:1;
  display:flex;
  flex-direction:column;
  gap:16px;
  padding:20px!important;
  background:linear-gradient(180deg,#0b1628 0%,#08111f 100%)!important;
  border-right:1px solid rgba(96,165,250,.16);
}
.support-admin-ticket .support-ticket-info-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.support-admin-ticket .support-ticket-info-top > strong{
  color:#dbeafe!important;
  font-size:.98rem;
  letter-spacing:.05em;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(96,165,250,.10);
  border:1px solid rgba(96,165,250,.18);
}
.support-ticket-user-row{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.support-ticket-avatar{
  width:48px;
  height:48px;
  border-radius:16px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:linear-gradient(135deg,#2563eb,#0f4fa8);
  color:#fff;
  font-weight:1000;
  box-shadow:0 14px 30px rgba(37,99,235,.28);
}
.support-ticket-user-row h3{
  margin:0 0 3px!important;
  color:#fff!important;
  font-size:1.08rem!important;
  line-height:1.2;
}
.support-ticket-user-row p,
.support-ticket-user-row small{
  display:block;
  margin:0!important;
  color:#b6c6da!important;
  line-height:1.35;
  word-break:break-word;
}
.support-ticket-user-row small{font-size:.78rem;color:#8fa3bc!important}
.support-ticket-info-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.support-ticket-info-grid span,
.support-ticket-last{
  display:grid;
  gap:4px;
  padding:11px 12px;
  border-radius:16px;
  background:rgba(59,130,246,.08);
  border:1px solid rgba(96,165,250,.16);
  color:#cfe1f7;
  font-size:.79rem;
  line-height:1.35;
}
.support-ticket-info-grid b,
.support-ticket-last b{
  color:#93c5fd;
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.support-admin-ticket .support-ticket-text{
  margin:0!important;
  padding:14px;
  border-radius:18px;
  background:rgba(2,6,23,.26);
  border:1px solid rgba(148,163,184,.12);
  color:#e5efff!important;
  line-height:1.5;
}
.support-admin-ticket .support-admin-files{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.support-admin-ticket > .support-thread{
  grid-column:2!important;
  grid-row:1!important;
}
.support-admin-ticket > .support-admin-actions{
  grid-column:1/-1!important;
}
.support-admin-ticket > .support-ticket-head,
.support-admin-ticket > .support-ticket-meta,
.support-admin-ticket > .support-ticket-text,
.support-admin-ticket > .support-files,
.support-admin-ticket > .support-rating-view{
  display:none!important;
}
@media(max-width:900px){
  .support-ticket-card.support-admin-ticket{grid-template-columns:1fr!important}
  .support-admin-ticket .support-ticket-info{grid-column:1!important;border-right:0;border-bottom:1px solid rgba(96,165,250,.16)}
  .support-admin-ticket > .support-thread{grid-column:1!important;grid-row:auto!important}
  .support-ticket-info-grid{grid-template-columns:1fr}
}

/* support refinements */
body.admin #global-support-button{display:none!important;}
.support-wa-attach,.support-wa-mic,.support-wa-send{display:flex;align-items:center;justify-content:center}
.support-wa-attach svg,.support-wa-mic svg,.support-wa-send svg{width:22px;height:22px}
.has-ticket #support-subject,.support-ticket-active #support-subject{display:none!important;}
#global-support-button.has-support-alert::after{
content:attr(data-support-unread);position:absolute;top:-4px;right:-4px;background:#ff3b30;color:#fff;
min-width:20px;height:20px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}

/* Correção definitiva: botões do chat do suporte alinhados e ícones SVG sempre visíveis */
.support-whatsapp-card .support-wa-composer{
  grid-template-columns:minmax(0,1fr) 48px 48px 52px!important;
  align-items:center!important;
  gap:10px!important;
}
.support-whatsapp-card .support-wa-fields{
  min-width:0!important;
  display:grid!important;
  gap:8px!important;
}
.support-whatsapp-card.support-ticket-active .support-wa-subject,
.support-user-modal.support-ticket-active .support-wa-subject{
  display:none!important;
}
.support-whatsapp-card .support-wa-message{
  min-height:52px!important;
  height:52px!important;
  line-height:1.35!important;
  display:block!important;
}
.support-wa-attach,
.support-wa-mic,
.support-wa-send{
  position:relative!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  min-height:48px!important;
  max-width:48px!important;
  max-height:48px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  padding:0!important;
  margin:0!important;
  border-radius:999px!important;
  line-height:1!important;
  overflow:hidden!important;
  flex:0 0 48px!important;
}
.support-wa-send{
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  min-height:52px!important;
  max-width:52px!important;
  max-height:52px!important;
  flex-basis:52px!important;
  background:linear-gradient(135deg,#0877d8,#0057b2)!important;
  color:#fff!important;
}
.support-wa-attach input[type="file"]{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  opacity:0!important;
  cursor:pointer!important;
}
.support-button-svg,
.support-mic-svg,
.support-wa-attach svg,
.support-wa-mic svg,
.support-wa-send svg,
.support-wa-close svg,
.support-wa-avatar svg{
  display:block!important;
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  min-height:22px!important;
  color:currentColor!important;
  stroke:currentColor!important;
  fill:none;
  pointer-events:none!important;
  flex:0 0 auto!important;
}
.support-wa-send svg{width:24px!important;height:24px!important;transform:translateX(1px)}
.support-wa-mic .support-mic-svg{width:24px!important;height:24px!important;}
.support-wa-audio-state{
  grid-column:1/-1!important;
  margin-top:0!important;
  padding:2px 4px 0!important;
}
body.is-admin .global-support-button,
body.admin .global-support-button,
body[data-role="admin"] .global-support-button,
.app-admin .global-support-button{
  display:none!important;
}
@media(max-width:620px){
  .support-whatsapp-card .support-wa-composer{grid-template-columns:minmax(0,1fr) 44px 44px 48px!important;gap:8px!important}
  .support-wa-attach,.support-wa-mic{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;flex-basis:44px!important}
  .support-wa-send{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;flex-basis:48px!important}
}

/* Ajuste final do chat de suporte: assunto, ícones, notificação e admin */
.support-user-modal.support-ticket-active .support-wa-subject-wrap,
.support-user-modal.support-ticket-active #support-subject,
.support-whatsapp-card.support-ticket-active .support-wa-subject-wrap,
.support-whatsapp-card.support-ticket-active #support-subject,
.support-wa-subject-wrap.is-hidden{
  display:none!important;
}
.support-whatsapp-card .support-wa-composer{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 48px 48px 52px!important;
  align-items:end!important;
  gap:10px!important;
}
.support-whatsapp-card .support-wa-fields{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  min-width:0!important;
  align-self:stretch!important;
}
.support-whatsapp-card .support-wa-message,
.support-whatsapp-card .support-wa-subject{
  width:100%!important;
  min-width:0!important;
}
.support-wa-attach,
.support-wa-mic,
.support-wa-send{
  box-sizing:border-box!important;
  display:grid!important;
  place-items:center!important;
  align-self:end!important;
  justify-self:center!important;
  padding:0!important;
  margin:0!important;
  line-height:0!important;
  text-indent:0!important;
}
.support-wa-attach{cursor:pointer!important;}
.support-wa-attach svg,
.support-wa-mic svg,
.support-wa-send svg,
.support-floating-button svg{
  display:block!important;
  color:currentColor!important;
  stroke:currentColor!important;
  fill:none!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:none!important;
}
.support-wa-attach svg,
.support-wa-mic svg{width:22px!important;height:22px!important;}
.support-wa-send svg{width:24px!important;height:24px!important;transform:translateX(1px)!important;}
.support-wa-audio-state{
  grid-column:1/-1!important;
  padding:0 4px!important;
}
#global-support-button.global-support-button{
  overflow:visible!important;
}
#global-support-button.global-support-button .support-button-svg{
  width:24px!important;
  height:24px!important;
}
#global-support-button.global-support-button.has-support-alert{
  animation:supportFloatPulse 1.25s ease-in-out infinite!important;
  box-shadow:0 0 0 0 rgba(34,197,94,.45),0 18px 42px rgba(37,99,235,.42)!important;
}
#global-support-button.global-support-button.has-support-alert::before{
  content:'';
  position:absolute;
  top:8px;
  right:8px;
  width:10px;
  height:10px;
  border-radius:999px;
  background:#22c55e;
  border:2px solid #07111f;
  box-shadow:0 0 0 4px rgba(34,197,94,.18);
}
#global-support-button.global-support-button.has-support-alert::after{
  content:attr(data-support-unread)!important;
  position:absolute!important;
  top:-7px!important;
  right:-7px!important;
  min-width:22px!important;
  height:22px!important;
  padding:0 6px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#ef4444,#b91c1c)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1!important;
  border:2px solid #07111f!important;
  box-shadow:0 10px 22px rgba(239,68,68,.45)!important;
}
#global-support-button.global-support-button[data-support-unread="0"]::before,
#global-support-button.global-support-button[data-support-unread="0"]::after{
  display:none!important;
}
body.admin #global-support-button,
body.is-admin #global-support-button,
body[data-role="admin"] #global-support-button{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
@keyframes supportFloatPulse{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-2px) scale(1.05)}
}
@media(max-width:620px){
  .support-whatsapp-card .support-wa-composer{grid-template-columns:minmax(0,1fr) 44px 44px 48px!important;gap:8px!important;}
  .support-wa-attach,.support-wa-mic{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;}
  .support-wa-send{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;}
}

/* Ajuste: campo de resposta do suporte admin na mesma altura dos botões */
.support-admin-actions{
  align-items:center!important;
}
.support-admin-actions .support-status-select,
.support-admin-actions .support-reply-input,
.support-admin-actions .support-reply-btn{
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  box-sizing:border-box!important;
}
.support-admin-actions .support-reply-input{
  resize:none!important;
  overflow:auto!important;
  padding:16px 18px!important;
  line-height:1.35!important;
  display:block!important;
  align-self:center!important;
}
.support-admin-actions .support-status-select,
.support-admin-actions .support-reply-btn{
  align-self:center!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
}
.support-admin-actions .support-reply-btn svg,
.support-admin-actions .support-reply-btn [data-icon]{
  width:22px!important;
  height:22px!important;
  flex:0 0 auto!important;
}
@media(max-width:900px){
  .support-admin-actions .support-status-select,
  .support-admin-actions .support-reply-input,
  .support-admin-actions .support-reply-btn{
    width:100%!important;
  }
}

/* Suporte: cabeçalho resumido do chamado do usuário, sem duplicar mensagem inicial */
.support-user-ticket .support-ticket-head-compact{
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(148, 163, 184, .14);
}
.support-user-ticket .support-ticket-head-compact > div{
  display: grid;
  gap: 6px;
}
.support-user-ticket .support-ticket-head-compact h4{
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.25;
  color: #f8fafc;
}
.support-user-ticket .support-ticket-head-compact p{
  margin: 0;
  font-size: .82rem;
  color: #94a3b8;
}
.support-user-ticket > p.support-ticket-text,
.support-user-ticket > p:not([class]){
  display: none !important;
}
.support-user-ticket .support-initial-files{
  margin: 8px 0 14px;
}

/* Correção: modal de suporte sempre acima do botão de usuário/perfil */
.support-whatsapp-modal,
.support-user-modal{
  z-index: 340 !important;
}
.support-whatsapp-modal.show,
.support-user-modal.show{
  z-index: 340 !important;
}
.support-whatsapp-card,
.support-user-card{
  position: relative;
  z-index: 341 !important;
}
.top-user-widget{
  z-index: 260 !important;
}

/* Ajuste UX áudio suporte: botões alinhados, envio sem texto e prévia compacta */
.support-whatsapp-card .support-wa-composer{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 54px 54px 58px!important;
  align-items:center!important;
  gap:10px!important;
  padding:12px 18px 16px!important;
}
.support-whatsapp-card .support-wa-fields{align-self:center!important;min-width:0!important;display:grid!important;gap:8px!important;}
.support-whatsapp-card .support-wa-message{
  min-height:58px!important;height:58px!important;max-height:58px!important;
  resize:none!important;overflow:auto!important;padding:16px 18px!important;
  border-radius:22px!important;line-height:1.35!important;box-sizing:border-box!important;
}
.support-wa-attach,.support-wa-mic,.support-wa-send{
  width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important;
  max-width:54px!important;max-height:54px!important;align-self:center!important;justify-self:center!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  padding:0!important;margin:0!important;border-radius:999px!important;line-height:0!important;box-sizing:border-box!important;
}
.support-wa-send{width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;max-width:58px!important;max-height:58px!important;}
.support-wa-attach svg,.support-wa-mic svg,.support-wa-send svg,.support-button-svg,.support-mic-svg{
  display:block!important;visibility:visible!important;opacity:1!important;color:currentColor!important;stroke:currentColor!important;fill:none!important;
}
.support-wa-attach svg,.support-wa-mic svg{width:23px!important;height:23px!important;}
.support-wa-send svg{width:26px!important;height:26px!important;transform:translateX(1px)!important;}
.support-wa-audio-state{
  grid-column:1/-1!important;display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;
  padding:0 4px!important;margin-top:0!important;color:#9fb3cc!important;font-size:.82rem!important;
}
.support-wa-audio-state small{display:none!important;}
.support-wa-audio-state audio{width:100%!important;max-height:42px!important;margin-top:2px!important;filter:invert(1) hue-rotate(180deg) saturate(.85)!important;}
.support-wa-audio-state.has-audio-ready{color:#bbf7d0!important;}
.support-wa-audio-state.has-audio-ready::before{content:'Áudio pronto';font-weight:800;color:#22c55e;}
.support-wa-audio-state.is-recording{color:#fecaca!important;}
.support-wa-audio-state.is-recording::before{content:'● Gravando';font-weight:900;color:#ef4444;animation:supportRecordingPulse 1s ease-in-out infinite;}
.support-wa-mic.is-recording{background:#ef4444!important;color:#fff!important;box-shadow:0 0 0 6px rgba(239,68,68,.16)!important;}
@keyframes supportRecordingPulse{0%,100%{opacity:1}50%{opacity:.45}}
@media(max-width:620px){
  .support-whatsapp-card .support-wa-composer{grid-template-columns:minmax(0,1fr) 50px 50px 54px!important;gap:8px!important;padding:10px 14px 14px!important;}
  .support-whatsapp-card .support-wa-message{min-height:54px!important;height:54px!important;max-height:54px!important;}
  .support-wa-attach,.support-wa-mic{width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;}
  .support-wa-send{width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important;}
}

/* Suporte: áudio compacto sem duplicidade de player nativo */
.support-file-audio.support-audio-play,
.support-record-play.support-audio-play{
  width:min(100%,420px)!important;
  max-width:420px!important;
  min-width:280px!important;
  min-height:48px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  padding:10px 14px!important;
  border-radius:16px!important;
  border:1px solid rgba(96,165,250,.24)!important;
  background:rgba(15,23,42,.78)!important;
  color:#e5f2ff!important;
  cursor:pointer!important;
  text-align:left!important;
  box-shadow:0 10px 24px rgba(0,0,0,.14)!important;
}
.support-file-audio.support-audio-play:hover,
.support-record-play.support-audio-play:hover,
.support-file-audio.support-audio-play.is-playing,
.support-record-play.support-audio-play.is-playing{
  border-color:rgba(37,211,102,.5)!important;
  background:rgba(7,94,84,.72)!important;
  transform:translateY(-1px)!important;
}
.support-audio-play-icon{
  width:28px!important;
  height:28px!important;
  border-radius:999px!important;
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 28px!important;
  background:#25d366!important;
  color:#062014!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
}
.support-file-audio.support-audio-play span:last-child,
.support-record-play.support-audio-play span:last-child{
  min-width:0!important;
  max-width:330px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#dbeafe!important;
  font-size:.82rem!important;
  font-weight:800!important;
}
.support-wa-audio-state audio{display:none!important;}
.support-record-play[hidden]{display:none!important;}
.support-initial-files:empty{display:none!important;}

/* Correção final: notificação do suporte do usuário apenas por cor verde, sem ícone/badge/número */
#global-support-button.global-support-button.has-support-alert,
.global-support-button.support-floating-button.has-support-alert{
  background:linear-gradient(135deg,#16a34a,#22c55e)!important;
  border-color:rgba(34,197,94,.85)!important;
  color:#fff!important;
  box-shadow:0 0 0 0 rgba(34,197,94,.35),0 18px 42px rgba(34,197,94,.28)!important;
  animation:supportFloatPulse 1.35s ease-in-out infinite!important;
}
#global-support-button.global-support-button.has-support-alert::before,
#global-support-button.global-support-button.has-support-alert::after,
.global-support-button.support-floating-button.has-support-alert::before,
.global-support-button.support-floating-button.has-support-alert::after{
  content:none!important;
  display:none!important;
}
#global-support-button.global-support-button.has-support-alert svg,
.global-support-button.support-floating-button.has-support-alert svg,
#global-support-button.global-support-button.has-support-alert [data-icon],
.global-support-button.support-floating-button.has-support-alert [data-icon]{
  display:none!important;
}
#global-support-button.global-support-button:not(.has-support-alert) svg,
.global-support-button.support-floating-button:not(.has-support-alert) svg{
  display:block!important;
}
body.admin #global-support-button,
body.is-admin #global-support-button,
body[data-role="admin"] #global-support-button{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}


/* Suporte: cards de áudio mais compridos no chat do usuário e no admin */
.support-chat-bubble .support-file-audio.support-audio-play,
.support-ticket-card .support-file-audio.support-audio-play,
.support-admin-chat .support-file-audio.support-audio-play,
.support-message .support-file-audio.support-audio-play{
  width:min(100%,420px)!important;
  max-width:420px!important;
  min-width:280px!important;
}
.support-chat-bubble .support-file-audio.support-audio-play span:last-child,
.support-ticket-card .support-file-audio.support-audio-play span:last-child,
.support-admin-chat .support-file-audio.support-audio-play span:last-child,
.support-message .support-file-audio.support-audio-play span:last-child{
  max-width:330px!important;
}
@media(max-width:520px){
  .support-file-audio.support-audio-play,
  .support-record-play.support-audio-play,
  .support-chat-bubble .support-file-audio.support-audio-play,
  .support-ticket-card .support-file-audio.support-audio-play,
  .support-admin-chat .support-file-audio.support-audio-play,
  .support-message .support-file-audio.support-audio-play{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
}

/* Ajuste final: áudio estilo WhatsApp mais comprido e notificação mantendo o ícone */
.support-file-audio.support-audio-play,
.support-record-play.support-audio-play,
.support-chat-bubble .support-file-audio.support-audio-play,
.support-ticket-card .support-file-audio.support-audio-play,
.support-admin-chat .support-file-audio.support-audio-play,
.support-message .support-file-audio.support-audio-play{
  width:min(100%,560px)!important;
  max-width:560px!important;
  min-width:360px!important;
  min-height:58px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  padding:12px 16px!important;
  border-radius:18px!important;
  background:rgba(15,23,42,.82)!important;
  border:1px solid rgba(96,165,250,.28)!important;
}
.support-file-audio.support-audio-play::after,
.support-record-play.support-audio-play::after{
  content:''!important;
  display:block!important;
  height:4px!important;
  flex:1 1 auto!important;
  min-width:120px!important;
  max-width:100%!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,rgba(191,219,254,.9),rgba(96,165,250,.45),rgba(191,219,254,.24))!important;
  opacity:.95!important;
}
.support-file-audio.support-audio-play .support-audio-play-icon,
.support-record-play.support-audio-play .support-audio-play-icon{
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
  font-size:14px!important;
}
.support-file-audio.support-audio-play span:last-child,
.support-record-play.support-audio-play span:last-child{
  flex:0 1 auto!important;
  max-width:170px!important;
  color:#dbeafe!important;
}
.support-chat-bubble .support-file-audio.support-audio-play span:last-child,
.support-ticket-card .support-file-audio.support-audio-play span:last-child,
.support-admin-chat .support-file-audio.support-audio-play span:last-child,
.support-message .support-file-audio.support-audio-play span:last-child{
  max-width:170px!important;
}
@media(max-width:620px){
  .support-file-audio.support-audio-play,
  .support-record-play.support-audio-play,
  .support-chat-bubble .support-file-audio.support-audio-play,
  .support-ticket-card .support-file-audio.support-audio-play,
  .support-admin-chat .support-file-audio.support-audio-play,
  .support-message .support-file-audio.support-audio-play{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .support-file-audio.support-audio-play::after,
  .support-record-play.support-audio-play::after{
    min-width:70px!important;
  }
}

#global-support-button.global-support-button.has-support-alert svg,
.global-support-button.support-floating-button.has-support-alert svg,
#global-support-button.global-support-button.has-support-alert [data-icon],
.global-support-button.support-floating-button.has-support-alert [data-icon]{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
#global-support-button.global-support-button.has-support-alert .support-button-svg,
.global-support-button.support-floating-button.has-support-alert .support-button-svg{
  color:#fff!important;
}

/* Refinamento do campo de resposta do suporte: mais limpo, largo e alinhado */
.support-whatsapp-card .support-wa-composer{
  grid-template-columns:minmax(0,1fr) 56px 56px 62px!important;
  gap:12px!important;
  align-items:center!important;
  padding:14px 18px 18px!important;
}
.support-whatsapp-card .support-wa-fields{
  width:100%!important;
  min-width:0!important;
  align-self:center!important;
}
.support-whatsapp-card .support-wa-subject-wrap{
  display:none!important;
}
.support-whatsapp-card .support-wa-message{
  width:100%!important;
  min-width:0!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  overflow:hidden!important;
  resize:none!important;
  white-space:nowrap!important;
  padding:17px 18px!important;
  border-radius:24px!important;
  line-height:24px!important;
  background:rgba(15,23,42,.96)!important;
  border:1px solid rgba(96,165,250,.32)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 10px 24px rgba(2,6,23,.18)!important;
}
.support-whatsapp-card .support-wa-message:focus{
  border-color:rgba(96,165,250,.78)!important;
  box-shadow:0 0 0 4px rgba(37,99,235,.16),inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.support-wa-attach,.support-wa-mic,.support-wa-send{
  align-self:center!important;
  justify-self:center!important;
  margin:0!important;
  transform:none!important;
}
.support-wa-attach,.support-wa-mic{
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
  min-height:56px!important;
  background:rgba(15,23,42,.96)!important;
  border:1px solid rgba(148,163,184,.14)!important;
}
.support-wa-send{
  width:62px!important;
  height:62px!important;
  min-width:62px!important;
  min-height:62px!important;
}
.support-wa-audio-state{
  grid-column:1/-1!important;
  margin-top:2px!important;
  padding-left:4px!important;
}
@media(max-width:620px){
  .support-whatsapp-card .support-wa-composer{
    grid-template-columns:minmax(0,1fr) 48px 48px 54px!important;
    gap:8px!important;
    padding:12px 14px 14px!important;
  }
  .support-whatsapp-card .support-wa-message{
    height:54px!important;
    min-height:54px!important;
    max-height:54px!important;
    padding:15px 16px!important;
    border-radius:22px!important;
  }
  .support-wa-attach,.support-wa-mic{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
  }
  .support-wa-send{
    width:54px!important;
    height:54px!important;
    min-width:54px!important;
    min-height:54px!important;
  }
}

/* Suporte: exibir o card/prévia de áudio somente quando houver áudio gravado */
.support-whatsapp-card .support-wa-audio-state{
  display:none!important;
}
.support-whatsapp-card .support-wa-audio-state.has-audio-ready,
.support-whatsapp-card .support-wa-audio-state.is-recording{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  width:100%!important;
  margin-top:6px!important;
  padding:10px 12px!important;
  border:1px solid rgba(96,165,250,.24)!important;
  border-radius:18px!important;
  background:rgba(15,23,42,.86)!important;
}
.support-whatsapp-card .support-wa-audio-state:not(.has-audio-ready) .support-record-play{
  display:none!important;
}
.support-whatsapp-card .support-wa-audio-state.has-audio-ready .support-record-play{
  display:flex!important;
}


/* Correção: exibir assunto apenas antes do primeiro chamado ativo */
.support-whatsapp-card:not(.support-ticket-active) .support-wa-subject-wrap,
.support-user-modal:not(.support-ticket-active) .support-wa-subject-wrap{
  display:block!important;
  width:100%!important;
}
.support-whatsapp-card:not(.support-ticket-active) #support-subject,
.support-user-modal:not(.support-ticket-active) #support-subject{
  display:block!important;
  width:100%!important;
  height:48px!important;
  min-height:48px!important;
  border-radius:18px!important;
  box-sizing:border-box!important;
}
.support-whatsapp-card.support-ticket-active .support-wa-subject-wrap,
.support-user-modal.support-ticket-active .support-wa-subject-wrap,
.support-wa-subject-wrap.is-hidden{
  display:none!important;
}

/* Suporte: áudio em card horizontal estilo conversa e envio de áudio pelo admin */
.support-file-audio.support-audio-play,
.support-record-play.support-audio-play,
.support-audio-whatsapp{
  width: min(100%, 520px) !important;
  min-width: min(360px, 100%) !important;
  max-width: 520px !important;
  min-height: 64px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px 14px !important;
  border-radius: 18px !important;
  background: rgba(15, 23, 42, .92) !important;
  border: 1px solid rgba(96, 165, 250, .32) !important;
  color: #eaf3ff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 14px 34px rgba(2,8,23,.22) !important;
  grid-column: 1 / -1 !important;
}
.support-file-audio.support-audio-play::after,
.support-record-play.support-audio-play::after{
  display: none !important;
  content: none !important;
}
.support-audio-play-icon{
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #0b74de !important;
  color: #fff !important;
  font-size: 15px !important;
  line-height: 1 !important;
  box-shadow: 0 10px 22px rgba(11,116,222,.28) !important;
}
.support-audio-whatsapp.is-playing .support-audio-play-icon,
.support-file-audio.support-audio-play.is-playing .support-audio-play-icon{
  background: #22c55e !important;
}
.support-audio-wave{
  flex: 1 1 auto !important;
  min-width: 120px !important;
  height: 30px !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  overflow: hidden !important;
}
.support-audio-wave i{
  display: block !important;
  width: 4px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg,#dbeafe,#60a5fa) !important;
  opacity: .92 !important;
}
.support-audio-wave i:nth-child(1){height: 10px}.support-audio-wave i:nth-child(2){height: 18px}.support-audio-wave i:nth-child(3){height: 14px}.support-audio-wave i:nth-child(4){height: 26px}.support-audio-wave i:nth-child(5){height: 20px}.support-audio-wave i:nth-child(6){height: 12px}.support-audio-wave i:nth-child(7){height: 24px}.support-audio-wave i:nth-child(8){height: 16px}.support-audio-wave i:nth-child(9){height: 21px}.support-audio-wave i:nth-child(10){height: 11px}
.support-audio-label{
  flex: 0 0 auto !important;
  max-width: 130px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: #bfdbfe !important;
  font-size: .86rem !important;
  font-weight: 800 !important;
}
.support-admin-audio-tools{
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 56px !important;
}
.support-admin-attach,
.support-admin-record-audio{
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(96,165,250,.22) !important;
  background: rgba(15,23,42,.82) !important;
  color: #dbeafe !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
}
.support-admin-attach input{display:none!important;}
.support-admin-record-audio.is-recording{background:#ef4444!important;color:#fff!important;animation:supportRecordingPulse 1s ease-in-out infinite;}
.support-admin-record-audio.has-audio-ready{background:#16a34a!important;color:#fff!important;}
.support-admin-record-status{color:#9fb3cc!important;font-weight:700!important;font-size:.86rem!important;}
@media(max-width:640px){
  .support-file-audio.support-audio-play,
  .support-record-play.support-audio-play,
  .support-audio-whatsapp{min-width:0!important;width:100%!important;}
  .support-audio-label{display:none!important;}
}

/* Refinamento solicitado: áudio somente play/pause, sem texto opcional, botões alinhados */
.support-audio-only-control,
.support-file-audio.support-audio-only-control,
.support-record-play.support-audio-only-control,
.support-audio-whatsapp.support-audio-only-control{
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
  max-width:56px!important;
  min-height:56px!important;
  max-height:56px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:rgba(15,23,42,.94)!important;
  border:1px solid rgba(96,165,250,.32)!important;
  box-shadow:0 10px 26px rgba(2,8,23,.22)!important;
  grid-column:auto!important;
  gap:0!important;
}
.support-audio-only-control::after,
.support-file-audio.support-audio-only-control::after,
.support-record-play.support-audio-only-control::after{content:none!important;display:none!important;}
.support-audio-only-control .support-audio-wave,
.support-audio-only-control .support-audio-label,
.support-audio-only-control span:not(.support-audio-play-icon){display:none!important;}
.support-audio-only-control .support-audio-play-icon{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  flex:0 0 38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:#0b74de!important;
  color:#fff!important;
  font-size:15px!important;
  line-height:1!important;
  margin:0!important;
}
.support-audio-only-control.is-playing .support-audio-play-icon{background:#16a34a!important;}
.support-admin-record-status:empty{display:none!important;}
.support-admin-record-status{display:none!important;}
.support-admin-actions{
  grid-template-columns:minmax(150px,220px) minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:12px!important;
}
.support-admin-actions .support-reply-input{
  min-height:58px!important;
  height:58px!important;
  max-height:58px!important;
  padding:16px 18px!important;
  line-height:24px!important;
  resize:none!important;
  overflow:hidden!important;
  align-self:center!important;
}
.support-admin-audio-tools{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-height:58px!important;
  align-self:center!important;
  margin:0!important;
}
.support-admin-attach,
.support-admin-record-audio,
.support-admin-actions .support-reply-btn{
  align-self:center!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.support-admin-attach,
.support-admin-record-audio{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  min-height:54px!important;
  padding:0!important;
}
.support-admin-actions .support-reply-btn{
  min-height:58px!important;
  height:58px!important;
  padding:0 24px!important;
  gap:10px!important;
  border-radius:20px!important;
}
.support-admin-actions .support-reply-btn svg,
.support-admin-actions .support-reply-btn [data-icon]{width:22px!important;height:22px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
.support-whatsapp-card .support-wa-composer{
  grid-template-columns:minmax(0,1fr) 56px 56px 62px!important;
  align-items:center!important;
  gap:12px!important;
}
.support-wa-attach,.support-wa-mic,.support-wa-send{
  align-self:center!important;
  justify-self:center!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
}
.support-wa-audio-state.has-audio-ready{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:auto!important;
  max-width:90px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  grid-column:1/-1!important;
}
.support-wa-audio-state.has-audio-ready::before{content:none!important;display:none!important;}
.support-wa-audio-state.is-recording{display:flex!important;align-items:center!important;}
@media(max-width:760px){
  .support-admin-actions{grid-template-columns:1fr!important;}
  .support-admin-audio-tools{justify-content:flex-start!important;}
  .support-admin-actions .support-reply-btn{width:100%!important;}
}

/* Ajuste final: áudio enviado em estilo Telegram e notificação mantendo o ícone */
.support-message .support-file-audio.support-audio-play,
.support-chat-bubble .support-file-audio.support-audio-play,
.support-ticket-card .support-file-audio.support-audio-play,
.support-admin-chat .support-file-audio.support-audio-play,
.support-file-audio.support-audio-telegram{
  width:min(100%,520px)!important;
  max-width:520px!important;
  min-width:min(360px,100%)!important;
  min-height:66px!important;
  height:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:14px!important;
  padding:12px 16px!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,rgba(15,23,42,.98),rgba(18,33,54,.94))!important;
  border:1px solid rgba(96,165,250,.28)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 12px 28px rgba(2,8,23,.22)!important;
  color:#eaf3ff!important;
  grid-column:1/-1!important;
}
.support-message .support-file-audio.support-audio-play::after,
.support-chat-bubble .support-file-audio.support-audio-play::after,
.support-ticket-card .support-file-audio.support-audio-play::after,
.support-admin-chat .support-file-audio.support-audio-play::after,
.support-file-audio.support-audio-telegram::after{
  content:none!important;
  display:none!important;
}
.support-file-audio.support-audio-telegram .support-audio-play-icon,
.support-file-audio.support-audio-play .support-audio-play-icon{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  flex:0 0 44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:#0b74de!important;
  color:#fff!important;
  font-size:16px!important;
  line-height:1!important;
  box-shadow:0 10px 22px rgba(11,116,222,.28)!important;
}
.support-file-audio.support-audio-play.is-playing .support-audio-play-icon,
.support-file-audio.support-audio-telegram.is-playing .support-audio-play-icon{
  background:#16a34a!important;
}
.support-audio-telegram-wave{
  flex:1 1 auto!important;
  min-width:120px!important;
  height:34px!important;
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
  overflow:hidden!important;
}
.support-audio-telegram-wave i{
  width:3px!important;
  min-width:3px!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#dbeafe,#60a5fa)!important;
  opacity:.92!important;
}
.support-audio-telegram-wave i:nth-child(1){height:12px}.support-audio-telegram-wave i:nth-child(2){height:18px}.support-audio-telegram-wave i:nth-child(3){height:10px}.support-audio-telegram-wave i:nth-child(4){height:26px}.support-audio-telegram-wave i:nth-child(5){height:20px}.support-audio-telegram-wave i:nth-child(6){height:14px}.support-audio-telegram-wave i:nth-child(7){height:30px}.support-audio-telegram-wave i:nth-child(8){height:16px}.support-audio-telegram-wave i:nth-child(9){height:24px}.support-audio-telegram-wave i:nth-child(10){height:12px}.support-audio-telegram-wave i:nth-child(11){height:28px}.support-audio-telegram-wave i:nth-child(12){height:18px}.support-audio-telegram-wave i:nth-child(13){height:22px}.support-audio-telegram-wave i:nth-child(14){height:11px}.support-audio-telegram-wave i:nth-child(15){height:20px}.support-audio-telegram-wave i:nth-child(16){height:15px}
.support-file-audio.support-audio-play.is-playing .support-audio-telegram-wave i,
.support-file-audio.support-audio-telegram.is-playing .support-audio-telegram-wave i{
  animation:supportAudioWave 1s ease-in-out infinite alternate;
}
.support-file-audio.support-audio-play.is-playing .support-audio-telegram-wave i:nth-child(2n),
.support-file-audio.support-audio-telegram.is-playing .support-audio-telegram-wave i:nth-child(2n){animation-delay:.18s;}
.support-file-audio.support-audio-play.is-playing .support-audio-telegram-wave i:nth-child(3n),
.support-file-audio.support-audio-telegram.is-playing .support-audio-telegram-wave i:nth-child(3n){animation-delay:.32s;}
@keyframes supportAudioWave{from{transform:scaleY(.65);opacity:.6}to{transform:scaleY(1.08);opacity:1}}
.support-audio-duration{
  flex:0 0 auto!important;
  min-width:46px!important;
  text-align:right!important;
  color:#bfdbfe!important;
  font-size:.78rem!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
@media(max-width:620px){
  .support-message .support-file-audio.support-audio-play,
  .support-chat-bubble .support-file-audio.support-audio-play,
  .support-ticket-card .support-file-audio.support-audio-play,
  .support-admin-chat .support-file-audio.support-audio-play,
  .support-file-audio.support-audio-telegram{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    gap:10px!important;
    padding:11px 12px!important;
  }
  .support-audio-duration{display:none!important;}
  .support-audio-telegram-wave{min-width:80px!important;}
}
#global-support-button.global-support-button.has-support-alert,
.global-support-button.support-floating-button.has-support-alert{
  background:linear-gradient(135deg,#16a34a,#22c55e)!important;
  border-color:rgba(34,197,94,.85)!important;
  color:#fff!important;
}
#global-support-button.global-support-button.has-support-alert::before,
#global-support-button.global-support-button.has-support-alert::after,
.global-support-button.support-floating-button.has-support-alert::before,
.global-support-button.support-floating-button.has-support-alert::after{
  content:none!important;
  display:none!important;
}
#global-support-button.global-support-button.has-support-alert svg,
.global-support-button.support-floating-button.has-support-alert svg,
#global-support-button.global-support-button.has-support-alert [data-icon],
.global-support-button.support-floating-button.has-support-alert [data-icon]{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  color:#fff!important;
}


/* Correção final: prévia de áudio mais clara e botões do composer alinhados */
.support-whatsapp-card .support-wa-composer{
  align-items:center!important;
  grid-template-columns:minmax(0,1fr) 54px 54px 58px!important;
  column-gap:10px!important;
  row-gap:10px!important;
}
.support-whatsapp-card .support-wa-fields{
  align-self:center!important;
}
.support-whatsapp-card .support-wa-attach,
.support-whatsapp-card .support-wa-mic,
.support-whatsapp-card .support-wa-send{
  align-self:center!important;
  justify-self:center!important;
  margin:0!important;
  transform:none!important;
  line-height:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.support-whatsapp-card .support-wa-attach svg,
.support-whatsapp-card .support-wa-mic svg,
.support-whatsapp-card .support-wa-send svg{
  display:block!important;
  margin:0!important;
}
.support-whatsapp-card .support-wa-audio-state{
  display:none!important;
}
.support-whatsapp-card .support-wa-audio-state.is-recording,
.support-whatsapp-card .support-wa-audio-state.has-audio-ready{
  grid-column:1 / -1!important;
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  max-width:100%!important;
  min-height:72px!important;
  margin:2px 0 0!important;
  padding:12px 14px!important;
  border-radius:22px!important;
  border:1px solid rgba(96,165,250,.30)!important;
  background:linear-gradient(135deg,rgba(15,23,42,.96),rgba(16,32,54,.92))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 12px 28px rgba(2,8,23,.22)!important;
  color:#dbeafe!important;
}
.support-whatsapp-card .support-wa-audio-state.has-audio-ready::before,
.support-whatsapp-card .support-wa-audio-state.is-recording::before{
  content:none!important;
  display:none!important;
}
.support-whatsapp-card .support-wa-audio-state #support-record-status{
  grid-column:2!important;
  grid-row:1!important;
  display:block!important;
  min-width:0!important;
  color:#dbeafe!important;
  font-size:.94rem!important;
  font-weight:800!important;
  line-height:1.25!important;
  white-space:normal!important;
}
.support-whatsapp-card .support-wa-audio-state .support-audio-permission{
  grid-column:2!important;
  display:block!important;
  margin:2px 0 0!important;
  color:#8fa3bc!important;
  font-size:.78rem!important;
  line-height:1.25!important;
}
.support-whatsapp-card .support-wa-audio-state.has-audio-ready .support-audio-permission{
  display:none!important;
}
.support-whatsapp-card .support-wa-audio-state .support-record-play{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  display:none!important;
  width:50px!important;
  height:50px!important;
  min-width:50px!important;
  max-width:50px!important;
  min-height:50px!important;
  max-height:50px!important;
  padding:0!important;
  border-radius:999px!important;
  background:#0b74de!important;
  border:1px solid rgba(96,165,250,.35)!important;
  box-shadow:0 10px 22px rgba(11,116,222,.25)!important;
}
.support-whatsapp-card .support-wa-audio-state.has-audio-ready .support-record-play{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.support-whatsapp-card .support-wa-audio-state .support-record-play .support-audio-play-icon{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  flex:0 0 auto!important;
  background:transparent!important;
  color:#fff!important;
  box-shadow:none!important;
  margin:0!important;
  font-size:18px!important;
}
.support-whatsapp-card .support-wa-audio-state .support-record-play.is-playing{
  background:#16a34a!important;
}
.support-whatsapp-card .support-wa-audio-state audio{
  display:none!important;
}
@media(max-width:620px){
  .support-whatsapp-card .support-wa-composer{
    grid-template-columns:minmax(0,1fr) 50px 50px 54px!important;
    gap:8px!important;
  }
  .support-whatsapp-card .support-wa-audio-state.is-recording,
  .support-whatsapp-card .support-wa-audio-state.has-audio-ready{
    grid-template-columns:50px minmax(0,1fr)!important;
    min-height:68px!important;
    padding:10px 12px!important;
  }
}


/* UX final: gravação/envio de áudio mais limpo e spinner único no envio */
.support-whatsapp-card .support-wa-composer{
  align-items:center!important;
  grid-template-columns:minmax(0,1fr) 54px 54px 58px!important;
  gap:10px!important;
}
.support-whatsapp-card .support-wa-fields,
.support-whatsapp-card .support-wa-message{
  min-height:58px!important;
}
.support-whatsapp-card .support-wa-attach,
.support-whatsapp-card .support-wa-mic,
.support-whatsapp-card .support-wa-send{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  min-height:54px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
}
.support-whatsapp-card .support-wa-send.is-sending{
  pointer-events:none!important;
  opacity:.92!important;
}
.support-whatsapp-card .support-wa-send.is-sending svg,
.support-whatsapp-card .support-wa-send.is-sending .support-send-icon{
  display:none!important;
}
.support-whatsapp-card .support-wa-send.is-sending .spinner{
  width:22px!important;
  height:22px!important;
  border-width:3px!important;
  margin:0!important;
}
.support-whatsapp-card .support-wa-audio-state.is-recording,
.support-whatsapp-card .support-wa-audio-state.has-audio-ready{
  grid-column:1 / -1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  width:100%!important;
  min-height:64px!important;
  padding:12px 14px!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,rgba(15,23,42,.98),rgba(18,39,66,.94))!important;
  border:1px solid rgba(96,165,250,.30)!important;
  box-shadow:0 14px 30px rgba(2,8,23,.22), inset 0 1px 0 rgba(255,255,255,.04)!important;
}
.support-whatsapp-card .support-wa-audio-state #support-record-status{
  flex:1 1 auto!important;
  min-width:0!important;
  font-size:.94rem!important;
  line-height:1.25!important;
  font-weight:800!important;
  color:#dbeafe!important;
}
.support-whatsapp-card .support-wa-audio-state .support-audio-permission{
  display:none!important;
}
.support-whatsapp-card .support-wa-audio-state.is-recording::after{
  content:''!important;
  width:20px!important;
  height:20px!important;
  border:3px solid rgba(96,165,250,.24)!important;
  border-top-color:#60a5fa!important;
  border-radius:999px!important;
  animation:spin .75s linear infinite!important;
  flex:0 0 auto!important;
}
.support-whatsapp-card .support-wa-audio-state.has-audio-ready::after{
  content:'Pronto'!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:30px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:rgba(34,197,94,.16)!important;
  color:#bbf7d0!important;
  font-size:.78rem!important;
  font-weight:900!important;
  border:1px solid rgba(34,197,94,.28)!important;
  flex:0 0 auto!important;
}
.support-whatsapp-card .support-wa-audio-state .support-record-play{
  order:-1!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  border-radius:999px!important;
}
@media(max-width:620px){
  .support-whatsapp-card .support-wa-composer{
    grid-template-columns:minmax(0,1fr) 50px 50px 54px!important;
    gap:8px!important;
  }
  .support-whatsapp-card .support-wa-attach,
  .support-whatsapp-card .support-wa-mic,
  .support-whatsapp-card .support-wa-send{
    width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;
  }
}


/* Personalização: ícone do app instalado no Windows/PWA */
.pwa-icon-preview{
  width:72px;
  height:72px;
  border-radius:18px;
  object-fit:cover;
  border:1px solid rgba(0,87,178,.45);
  background:#07111f;
  box-shadow:0 12px 30px rgba(0,0,0,.28);
}

/* Admin dashboard - mesmo padrão visual do painel do usuário */
#app-main .admin-dashboard-redesign{
  gap:24px!important;
}
#app-main .admin-dashboard-clean-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(260px,380px)!important;
  gap:20px!important;
  align-items:stretch!important;
  width:100%!important;
}
#app-main .admin-dashboard-clean-head > div:first-child{
  min-height:178px!important;
  padding:28px!important;
  border-radius:28px!important;
  background:linear-gradient(135deg,rgba(0,87,178,.18),rgba(8,14,28,.98) 58%,rgba(3,7,18,.98))!important;
  border:1px solid rgba(118,181,255,.20)!important;
  box-shadow:0 22px 58px rgba(0,0,0,.24)!important;
}
#app-main .admin-dashboard-clean-head h2{
  margin:14px 0 8px!important;
  font-size:clamp(1.6rem,2.4vw,2.35rem)!important;
  letter-spacing:-.045em!important;
  line-height:1.05!important;
  color:#fff!important;
}
#app-main .admin-dashboard-clean-head p{
  max-width:760px!important;
  font-size:1rem!important;
  line-height:1.55!important;
}
#app-main .admin-dashboard-total-card{
  margin:0!important;
  min-height:178px!important;
}
#app-main .admin-dashboard-kpi-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
#app-main .admin-dashboard-kpi-grid .user-dashboard-card{
  min-height:168px!important;
}
#app-main .admin-dashboard-kpi-grid .user-dashboard-card .metric{
  min-height:48px!important;
}
#app-main .admin-dashboard-analytics-modern{
  gap:18px!important;
  align-items:stretch!important;
}
#app-main .admin-dashboard-analytics-modern > .card,
#app-main .admin-dashboard-list-card,
#app-main .dashboard-chart-card{
  border-radius:24px!important;
  background:linear-gradient(180deg,rgba(9,16,31,.98),rgba(4,8,18,.96))!important;
  border:1px solid rgba(118,181,255,.14)!important;
  box-shadow:0 14px 38px rgba(0,0,0,.18)!important;
  overflow:hidden!important;
}
#app-main .admin-dashboard-analytics-modern > .card h3,
#app-main .admin-dashboard-list-card h3,
#app-main .dashboard-chart-card h3{
  color:#f3f7ff!important;
  letter-spacing:-.025em!important;
}
#app-main .admin-dashboard-list-card .row,
#app-main .admin-dashboard-analytics-modern .row{
  border-radius:16px!important;
  background:rgba(255,255,255,.035)!important;
  border:1px solid rgba(255,255,255,.06)!important;
  padding:13px 14px!important;
}
#app-main .admin-dashboard-list-card .row + .row,
#app-main .admin-dashboard-analytics-modern .row + .row{
  margin-top:10px!important;
}
#app-main .admin-dashboard-kpi-grid .user-dashboard-icon svg,
#app-main .admin-dashboard-total-card .user-dashboard-icon svg{
  width:22px!important;
  height:22px!important;
}
@media (max-width:1100px){
  #app-main .admin-dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #app-main .admin-dashboard-clean-head{grid-template-columns:1fr!important;}
}
@media (max-width:720px){
  #app-main .admin-dashboard-kpi-grid{grid-template-columns:1fr!important;}
  #app-main .admin-dashboard-clean-head > div:first-child{padding:22px!important;border-radius:24px!important;}
}

/* Dashboard: valores da Carteira N e Pontuação em duas linhas */
#app-main .user-dashboard-card .metric.metric-split{
  min-height:84px!important;
  align-items:center!important;
  justify-content:flex-start!important;
  background:none!important;
  -webkit-text-fill-color:initial!important;
}
#app-main .user-dashboard-card .dashboard-split-metric{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:8px!important;
  line-height:1!important;
}
#app-main .user-dashboard-card .dashboard-split-metric strong{
  display:block!important;
  margin:0!important;
  font-size:clamp(2.5rem,4.2vw,4rem)!important;
  line-height:.9!important;
  font-weight:950!important;
  letter-spacing:-.08em!important;
  color:#f7fbff!important;
  background:linear-gradient(135deg,#ffffff,#9bd0ff)!important;
  -webkit-background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
}
#app-main .user-dashboard-card .dashboard-split-metric small{
  display:block!important;
  margin:0!important;
  font-size:clamp(1.15rem,2vw,1.85rem)!important;
  line-height:.95!important;
  font-weight:900!important;
  letter-spacing:-.045em!important;
  color:#d9ecff!important;
  text-transform:none!important;
}
#app-main .user-dashboard-card-blue .dashboard-split-metric strong,
#app-main .user-dashboard-card-blue .dashboard-split-metric small{
  background:linear-gradient(135deg,#ffffff,#d8ecff)!important;
  -webkit-background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
}
@media (max-width:700px){
  #app-main .user-dashboard-card .metric.metric-split{min-height:70px!important;}
  #app-main .user-dashboard-card .dashboard-split-metric{gap:6px!important;}
}

/* Mobile: o botão de sair deve ficar apenas dentro do modal do usuário */
#logout-button-mobile{display:none!important;}
.mobile-header{justify-content:space-between;}
.mobile-header strong{margin-left:auto;margin-right:auto;}

/* Mobile: cabeçalho fixo */
@media (max-width: 900px){
  .mobile-header{
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 70 !important;
    background: rgba(0,0,0,.96) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.35) !important;
  }
  .main-content{
    overflow: visible !important;
  }
  body:not(.public-store-mode) .app-main{
    padding-top: 18px !important;
  }
  .modal-backdrop,
  .support-wa-shell,
  .support-wa-panel,
  .support-floating-modal{
    z-index: 90 !important;
  }
  .toast-container,
  .toast{
    z-index: 120 !important;
  }
}

/* Correção final: evita corte nos números dos cards Carteira N e Pontuação */
#app-main .user-dashboard-card .metric.metric-split,
#app-main .admin-dashboard-kpi-grid .user-dashboard-card .metric.metric-split,
#app-main .dashboard-user-metrics-grid .dashboard-metric-card .metric.metric-split,
#app-main .dashboard-metrics-grid .dashboard-metric-card .metric.metric-split{
  min-height:104px!important;
  height:auto!important;
  padding-top:8px!important;
  padding-bottom:4px!important;
  overflow:visible!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  line-height:1!important;
}
#app-main .user-dashboard-card .dashboard-split-metric,
#app-main .admin-dashboard-kpi-grid .user-dashboard-card .dashboard-split-metric,
#app-main .dashboard-user-metrics-grid .dashboard-metric-card .dashboard-split-metric,
#app-main .dashboard-metrics-grid .dashboard-metric-card .dashboard-split-metric{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:7px!important;
  overflow:visible!important;
  line-height:1!important;
}
#app-main .user-dashboard-card .dashboard-split-metric strong,
#app-main .admin-dashboard-kpi-grid .user-dashboard-card .dashboard-split-metric strong,
#app-main .dashboard-user-metrics-grid .dashboard-metric-card .dashboard-split-metric strong,
#app-main .dashboard-metrics-grid .dashboard-metric-card .dashboard-split-metric strong{
  display:block!important;
  overflow:visible!important;
  line-height:1.12!important;
  padding-top:.08em!important;
  padding-bottom:.02em!important;
  margin:0!important;
  transform:none!important;
}
#app-main .user-dashboard-card .dashboard-split-metric small,
#app-main .admin-dashboard-kpi-grid .user-dashboard-card .dashboard-split-metric small,
#app-main .dashboard-user-metrics-grid .dashboard-metric-card .dashboard-split-metric small,
#app-main .dashboard-metrics-grid .dashboard-metric-card .dashboard-split-metric small{
  display:block!important;
  line-height:1.12!important;
  margin:0!important;
  overflow:visible!important;
}
@media(max-width:700px){
  #app-main .user-dashboard-card .metric.metric-split,
  #app-main .admin-dashboard-kpi-grid .user-dashboard-card .metric.metric-split,
  #app-main .dashboard-user-metrics-grid .dashboard-metric-card .metric.metric-split,
  #app-main .dashboard-metrics-grid .dashboard-metric-card .metric.metric-split{
    min-height:96px!important;
    padding-top:6px!important;
  }
}

/* Dashboard: botões discretos de navegação nos cards */
#app-main .dashboard-card-action{
  width:max-content!important;
  max-width:100%!important;
  min-height:34px!important;
  margin-top:auto!important;
  padding:8px 13px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  border-radius:999px!important;
  border:1px solid rgba(118,181,255,.18)!important;
  background:rgba(0,87,178,.10)!important;
  color:#bfe0ff!important;
  font-size:.78rem!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.01em!important;
  cursor:pointer!important;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease!important;
}
#app-main .dashboard-card-action:hover,
#app-main .dashboard-card-action:focus-visible{
  background:rgba(0,113,235,.20)!important;
  border-color:rgba(118,181,255,.36)!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
  outline:none!important;
}
#app-main .user-dashboard-card-blue .dashboard-card-action,
#app-main .user-dashboard-card-primary .dashboard-card-action{
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(255,255,255,.22)!important;
  color:#f5fbff!important;
}
#app-main .user-dashboard-card-blue .dashboard-card-action:hover,
#app-main .user-dashboard-card-primary .dashboard-card-action:hover,
#app-main .user-dashboard-card-blue .dashboard-card-action:focus-visible,
#app-main .user-dashboard-card-primary .dashboard-card-action:focus-visible{
  background:rgba(255,255,255,.20)!important;
  border-color:rgba(255,255,255,.36)!important;
}
#app-main .user-dashboard-withdraw-card .btn.btn-primary{
  min-height:42px!important;
  border-radius:16px!important;
}
@media(max-width:700px){
  #app-main .dashboard-card-action{min-height:32px!important;padding:7px 12px!important;font-size:.74rem!important;}
}

/* Correção definitiva: impede corte vertical dos números em Carteira N e Pontuação */
#app-main .user-dashboard-card .metric.metric-split,
#app-main .admin-dashboard-kpi-grid .user-dashboard-card .metric.metric-split,
#app-main .dashboard-user-metrics-grid .dashboard-metric-card .metric.metric-split,
#app-main .dashboard-metrics-grid .dashboard-metric-card .metric.metric-split{
  min-height:128px!important;
  height:auto!important;
  padding:18px 0 8px!important;
  margin:8px 0 0!important;
  overflow:visible!important;
  contain:none!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
}
#app-main .user-dashboard-card .dashboard-split-metric,
#app-main .admin-dashboard-kpi-grid .user-dashboard-card .dashboard-split-metric,
#app-main .dashboard-user-metrics-grid .dashboard-metric-card .dashboard-split-metric,
#app-main .dashboard-metrics-grid .dashboard-metric-card .dashboard-split-metric{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:10px!important;
  overflow:visible!important;
  contain:none!important;
}
#app-main .user-dashboard-card .dashboard-split-metric strong,
#app-main .admin-dashboard-kpi-grid .user-dashboard-card .dashboard-split-metric strong,
#app-main .dashboard-user-metrics-grid .dashboard-metric-card .dashboard-split-metric strong,
#app-main .dashboard-metrics-grid .dashboard-metric-card .dashboard-split-metric strong{
  display:block!important;
  font-size:clamp(2.7rem,4.4vw,4rem)!important;
  line-height:1.28!important;
  padding:.08em 0 .04em!important;
  margin:0!important;
  overflow:visible!important;
  contain:none!important;
  transform:none!important;
  letter-spacing:-.06em!important;
}
#app-main .user-dashboard-card .dashboard-split-metric small,
#app-main .admin-dashboard-kpi-grid .user-dashboard-card .dashboard-split-metric small,
#app-main .dashboard-user-metrics-grid .dashboard-metric-card .dashboard-split-metric small,
#app-main .dashboard-metrics-grid .dashboard-metric-card .dashboard-split-metric small{
  display:block!important;
  font-size:clamp(1.2rem,2vw,1.7rem)!important;
  line-height:1.18!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
}
@media(max-width:700px){
  #app-main .user-dashboard-card .metric.metric-split,
  #app-main .admin-dashboard-kpi-grid .user-dashboard-card .metric.metric-split,
  #app-main .dashboard-user-metrics-grid .dashboard-metric-card .metric.metric-split,
  #app-main .dashboard-metrics-grid .dashboard-metric-card .metric.metric-split{
    min-height:116px!important;
    padding-top:14px!important;
  }
  #app-main .user-dashboard-card .dashboard-split-metric strong,
  #app-main .admin-dashboard-kpi-grid .user-dashboard-card .dashboard-split-metric strong,
  #app-main .dashboard-user-metrics-grid .dashboard-metric-card .dashboard-split-metric strong,
  #app-main .dashboard-metrics-grid .dashboard-metric-card .dashboard-split-metric strong{
    font-size:3rem!important;
    line-height:1.28!important;
  }
}

/* Correção definitiva: cabeçalho fixo no mobile */
@media (max-width: 900px){
  body:not(.public-store-mode) .mobile-header{
    display:flex!important;
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:64px!important;
    min-height:64px!important;
    z-index:120!important;
    background:rgba(0,0,0,.96)!important;
    border-bottom:1px solid rgba(0,87,178,.18)!important;
    box-shadow:0 12px 28px rgba(0,0,0,.42)!important;
    backdrop-filter:blur(16px)!important;
    -webkit-backdrop-filter:blur(16px)!important;
  }
  body:not(.public-store-mode) .main-content{
    padding-top:64px!important;
    margin-left:0!important;
  }
  body:not(.public-store-mode) .app-main{
    padding-top:18px!important;
  }
  body:not(.public-store-mode) .sidebar{
    z-index:130!important;
  }
  body:not(.public-store-mode) .sidebar-overlay.show{
    z-index:125!important;
  }
  body.public-store-mode .mobile-header{
    display:none!important;
  }
}

/* Correção final: padroniza botões dos cards do dashboard em admin/usuário e mantém visíveis no mobile */
#app-main .dashboard-card-action,
#app-main .user-dashboard-card-blue .dashboard-card-action,
#app-main .user-dashboard-card-primary .dashboard-card-action,
#app-main .admin-dashboard-total-card .dashboard-card-action,
#app-main .admin-dashboard-kpi-grid .dashboard-card-action,
#app-main .user-dashboard-grid .dashboard-card-action{
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:36px!important;
  margin-top:auto!important;
  padding:8px 14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  border-radius:999px!important;
  border:1px solid rgba(118,181,255,.22)!important;
  background:rgba(0,87,178,.12)!important;
  color:#bfe0ff!important;
  font-size:.78rem!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.01em!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  box-shadow:none!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
}
#app-main .dashboard-card-action:hover,
#app-main .dashboard-card-action:focus-visible,
#app-main .user-dashboard-card-blue .dashboard-card-action:hover,
#app-main .user-dashboard-card-primary .dashboard-card-action:hover,
#app-main .admin-dashboard-total-card .dashboard-card-action:hover,
#app-main .admin-dashboard-kpi-grid .dashboard-card-action:hover,
#app-main .user-dashboard-grid .dashboard-card-action:hover{
  background:rgba(0,113,235,.22)!important;
  border-color:rgba(118,181,255,.42)!important;
  color:#fff!important;
  outline:none!important;
  transform:translateY(-1px)!important;
}
@media(max-width:720px){
  #app-main .dashboard-card-action,
  #app-main .user-dashboard-card-blue .dashboard-card-action,
  #app-main .user-dashboard-card-primary .dashboard-card-action,
  #app-main .admin-dashboard-total-card .dashboard-card-action,
  #app-main .admin-dashboard-kpi-grid .dashboard-card-action,
  #app-main .user-dashboard-grid .dashboard-card-action{
    display:flex!important;
    width:100%!important;
    min-height:40px!important;
    margin-top:auto!important;
    padding:10px 12px!important;
    font-size:.8rem!important;
  }
  #app-main .user-dashboard-card,
  #app-main .admin-dashboard-kpi-grid .user-dashboard-card{
    gap:12px!important;
  }
}

/* Ajuste definitivo: título do cabeçalho alinhado à esquerda no mobile, ao lado do menu */
@media (max-width: 900px){
  body:not(.public-store-mode) .mobile-header{
    justify-content:flex-start!important;
    align-items:center!important;
    gap:10px!important;
    padding:0 14px!important;
  }
  body:not(.public-store-mode) .mobile-header .icon-button,
  body:not(.public-store-mode) .mobile-header #menu-toggle{
    flex:0 0 42px!important;
    width:42px!important;
    height:42px!important;
    margin:0!important;
  }
  body:not(.public-store-mode) .mobile-header strong{
    margin:0!important;
    flex:1 1 auto!important;
    text-align:left!important;
    justify-self:flex-start!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-width:calc(100vw - 84px)!important;
  }
}

/* Ajuste final: cards do dashboard mais baixos e Carteira N/Pontuação alinhados */
#app-main .user-dashboard-card,
#app-main .admin-dashboard-kpi-grid .user-dashboard-card,
#app-main .admin-dashboard-total-card{
  min-height:145px!important;
  padding:20px 22px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  gap:12px!important;
  overflow:visible!important;
}
#app-main .admin-dashboard-kpi-grid .user-dashboard-card{
  min-height:145px!important;
}
#app-main .user-dashboard-card-top{
  margin-bottom:0!important;
  min-height:42px!important;
  align-items:flex-start!important;
}
#app-main .user-dashboard-card .metric,
#app-main .admin-dashboard-kpi-grid .user-dashboard-card .metric,
#app-main .admin-dashboard-total-card .metric{
  margin:0!important;
  min-height:auto!important;
  height:auto!important;
  line-height:1.08!important;
  overflow:visible!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  padding:0!important;
}
#app-main .user-dashboard-card .metric:not(.metric-split),
#app-main .admin-dashboard-kpi-grid .user-dashboard-card .metric:not(.metric-split),
#app-main .admin-dashboard-total-card .metric:not(.metric-split){
  font-size:clamp(2.35rem,3.7vw,3.55rem)!important;
  line-height:1.08!important;
}
#app-main .user-dashboard-card .metric.small-metric,
#app-main .admin-dashboard-kpi-grid .user-dashboard-card .metric.small-metric,
#app-main .admin-dashboard-total-card .metric.small-metric{
  font-size:clamp(2rem,3.2vw,3rem)!important;
  line-height:1.08!important;
}
#app-main .user-dashboard-card .metric.metric-split,
#app-main .admin-dashboard-kpi-grid .user-dashboard-card .metric.metric-split,
#app-main .dashboard-user-metrics-grid .dashboard-metric-card .metric.metric-split,
#app-main .dashboard-metrics-grid .dashboard-metric-card .metric.metric-split{
  min-height:auto!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  overflow:visible!important;
}
#app-main .user-dashboard-card .dashboard-split-metric,
#app-main .admin-dashboard-kpi-grid .user-dashboard-card .dashboard-split-metric,
#app-main .dashboard-user-metrics-grid .dashboard-metric-card .dashboard-split-metric,
#app-main .dashboard-metrics-grid .dashboard-metric-card .dashboard-split-metric{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:4px!important;
  line-height:1!important;
  overflow:visible!important;
}
#app-main .user-dashboard-card .dashboard-split-metric strong,
#app-main .admin-dashboard-kpi-grid .user-dashboard-card .dashboard-split-metric strong,
#app-main .dashboard-user-metrics-grid .dashboard-metric-card .dashboard-split-metric strong,
#app-main .dashboard-metrics-grid .dashboard-metric-card .dashboard-split-metric strong{
  display:block!important;
  font-size:clamp(2.35rem,3.7vw,3.55rem)!important;
  line-height:1.08!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
  letter-spacing:-.06em!important;
}
#app-main .user-dashboard-card .dashboard-split-metric small,
#app-main .admin-dashboard-kpi-grid .user-dashboard-card .dashboard-split-metric small,
#app-main .dashboard-user-metrics-grid .dashboard-metric-card .dashboard-split-metric small,
#app-main .dashboard-metrics-grid .dashboard-metric-card .dashboard-split-metric small{
  display:block!important;
  font-size:clamp(1rem,1.45vw,1.35rem)!important;
  line-height:1.05!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
}
#app-main .dashboard-card-action{
  margin-top:8px!important;
}
@media(max-width:900px){
  #app-main .user-dashboard-card,
  #app-main .admin-dashboard-kpi-grid .user-dashboard-card,
  #app-main .admin-dashboard-total-card{
    min-height:136px!important;
    padding:18px 20px!important;
  }
}
@media(max-width:720px){
  #app-main .user-dashboard-card,
  #app-main .admin-dashboard-kpi-grid .user-dashboard-card,
  #app-main .admin-dashboard-total-card{
    min-height:132px!important;
    padding:17px 18px!important;
  }
  #app-main .user-dashboard-card .metric:not(.metric-split),
  #app-main .admin-dashboard-kpi-grid .user-dashboard-card .metric:not(.metric-split),
  #app-main .admin-dashboard-total-card .metric:not(.metric-split),
  #app-main .user-dashboard-card .dashboard-split-metric strong,
  #app-main .admin-dashboard-kpi-grid .user-dashboard-card .dashboard-split-metric strong{
    font-size:2.65rem!important;
    line-height:1.08!important;
  }
}

/* Correção: impede a faixa superior dos cards de vazar para fora do raio/borda sem cortar números */
#app-main .user-dashboard-card,
#app-main .user-dashboard-grid > .user-dashboard-card,
#app-main .user-dashboard-grid > .user-dashboard-card + .user-dashboard-card,
#app-main .admin-dashboard-kpi-grid .user-dashboard-card,
#app-main .admin-dashboard-total-card{
  overflow:hidden!important;
  contain:paint!important;
}
#app-main .user-dashboard-card::before,
#app-main .admin-dashboard-kpi-grid .user-dashboard-card::before,
#app-main .admin-dashboard-total-card::before{
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  border-radius:24px 24px 0 0!important;
  pointer-events:none!important;
}
#app-main .user-dashboard-card .metric,
#app-main .admin-dashboard-kpi-grid .user-dashboard-card .metric,
#app-main .admin-dashboard-total-card .metric,
#app-main .user-dashboard-card .dashboard-split-metric,
#app-main .admin-dashboard-kpi-grid .user-dashboard-card .dashboard-split-metric,
#app-main .admin-dashboard-total-card .dashboard-split-metric{
  position:relative!important;
  z-index:1!important;
  overflow:visible!important;
  transform:none!important;
}
#app-main .user-dashboard-card .metric:not(.metric-split),
#app-main .admin-dashboard-kpi-grid .user-dashboard-card .metric:not(.metric-split),
#app-main .admin-dashboard-total-card .metric:not(.metric-split),
#app-main .user-dashboard-card .dashboard-split-metric strong,
#app-main .admin-dashboard-kpi-grid .user-dashboard-card .dashboard-split-metric strong,
#app-main .admin-dashboard-total-card .dashboard-split-metric strong{
  line-height:1.12!important;
  padding-top:2px!important;
  padding-bottom:2px!important;
  overflow:visible!important;
}

/* Dashboard de PINs da comunidade */
#app-main .dashboard-pins-wide-card{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)!important;
  gap:clamp(16px,2vw,26px)!important;
  align-items:center!important;
  padding:clamp(20px,2.4vw,30px)!important;
  border-radius:28px!important;
  overflow:hidden!important;
  position:relative!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:linear-gradient(135deg,rgba(0,87,178,.22),rgba(4,8,18,.98) 54%,rgba(255,255,255,.04))!important;
}
#app-main .dashboard-pins-wide-card::before{content:"";position:absolute;inset:-60px auto auto -40px;width:180px;height:180px;border-radius:999px;background:rgba(255,255,255,.08);filter:blur(8px);pointer-events:none}
#app-main .dashboard-pins-wide-main{display:flex;align-items:center;gap:16px;min-width:0;position:relative;z-index:1}
#app-main .dashboard-pin-medal{width:68px;height:68px;display:grid;place-items:center;border-radius:22px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 40px rgba(0,0,0,.24);flex:0 0 auto}
#app-main .dashboard-pin-medal svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.9;color:#fff}
#app-main .dashboard-pin-eyebrow{display:inline-flex;margin-bottom:6px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em;color:#9bd0ff}
#app-main .dashboard-pins-wide-main h3{font-size:clamp(1.45rem,2.5vw,2.4rem);line-height:1.02;margin:0 0 8px;color:#fff!important}
#app-main .dashboard-pins-wide-main p{margin:0;color:rgba(255,255,255,.76);font-size:.95rem;line-height:1.45}
#app-main .dashboard-pin-progress-wrap{position:relative;z-index:1;display:grid;gap:9px;min-width:0}
#app-main .dashboard-pin-metrics{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;color:rgba(255,255,255,.78);font-size:.82rem}
#app-main .dashboard-pin-metrics strong{color:#fff;font-size:1.05rem}
#app-main .dashboard-pin-track{height:12px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);overflow:hidden}
#app-main .dashboard-pin-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#38bdf8,#22c55e);box-shadow:0 0 22px rgba(56,189,248,.36)}
#app-main .dashboard-pin-progress-wrap small{color:rgba(255,255,255,.68);font-weight:700;line-height:1.4}
#app-main .dashboard-pin-list{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:9px;position:relative;z-index:1}
#app-main .dashboard-pin-chip,.community-pin-rules-help .dashboard-pin-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:8px 11px;font-size:.76rem;font-weight:900;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.07);color:rgba(255,255,255,.74);white-space:nowrap}
#app-main .dashboard-pin-chip small{font-size:.68rem;opacity:.72;font-weight:800}
#app-main .dashboard-pin-chip b{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.12)}
#app-main .dashboard-pin-chip.is-locked{opacity:.48;filter:saturate(.45)}
#app-main .dashboard-pin-chip.is-unlocked{color:#fff;border-color:rgba(255,255,255,.22);box-shadow:0 10px 24px rgba(0,0,0,.18)}
#app-main .pin-color-cyan{--pin:#38bdf8}.pin-color-blue{--pin:#60a5fa}.pin-color-violet{--pin:#a78bfa}.pin-color-pink{--pin:#f472b6}.pin-color-amber{--pin:#f59e0b}.pin-color-emerald{--pin:#34d399}.pin-color-orange{--pin:#fb923c}.pin-color-gold{--pin:#facc15}
#app-main .dashboard-pin-chip[class*="pin-color-"],.community-admin-pin-check[class*="pin-color-"] span{background:linear-gradient(135deg,color-mix(in srgb,var(--pin) 30%,transparent),rgba(255,255,255,.05));border-color:color-mix(in srgb,var(--pin) 42%,rgba(255,255,255,.12));}
#app-main .dashboard-pins-wide-card[class*="pin-color-"] .dashboard-pin-medal{color:var(--pin);box-shadow:0 20px 44px color-mix(in srgb,var(--pin) 20%,transparent)}
#app-main .dashboard-pins-wide-card[class*="pin-color-"] .dashboard-pin-track span{background:linear-gradient(90deg,var(--pin),#ffffff)}

/* Admin: atribuição manual de PINs na Comunidade */
#app-main .community-admin-pins-card{display:grid!important;gap:18px!important;padding:22px!important;border-radius:26px!important}
#app-main .community-pin-rules-help{display:flex;flex-wrap:wrap;gap:9px;padding:12px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
#app-main .community-admin-pins-list{display:grid;gap:12px;max-height:520px;overflow:auto;padding-right:4px}
#app-main .community-admin-pin-row{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(0,1fr);gap:14px;align-items:start;padding:14px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}
#app-main .community-admin-pin-row strong{display:block;color:var(--text,#fff);font-weight:900}.community-admin-pin-row small{display:block;color:var(--muted,#94a3b8);font-size:.76rem;margin-top:3px}
#app-main .community-admin-pin-options{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
#app-main .community-admin-pin-check{cursor:pointer;user-select:none;display:inline-flex;align-items:center;gap:6px}
#app-main .community-admin-pin-check input{width:16px!important;height:16px!important;min-height:16px!important;margin:0!important;accent-color:#0057b2}
#app-main .community-admin-pin-check span{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;font-size:.74rem;font-weight:900;color:#fff;border:1px solid rgba(255,255,255,.12)}
@media(max-width:900px){#app-main .dashboard-pins-wide-card{grid-template-columns:1fr!important}#app-main .community-admin-pin-row{grid-template-columns:1fr}#app-main .community-admin-pin-options{justify-content:flex-start}}

/* Ajuste solicitado: PINs do admin em linha única e card do usuário mais simples */
#app-main .dashboard-pins-wide-card.dashboard-pin-simple{
  grid-template-columns:minmax(0,1fr) minmax(260px,.62fr)!important;
  padding:clamp(18px,2vw,24px)!important;
  border-color:color-mix(in srgb,var(--pin) 58%,rgba(255,255,255,.12))!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--pin) 16%,rgba(2,6,23,.98)),rgba(3,7,18,.98) 58%,rgba(255,255,255,.035))!important;
}
#app-main .dashboard-pins-wide-card.dashboard-pin-simple::before{display:none!important}
#app-main .dashboard-pin-simple .dashboard-pin-medal{
  width:58px!important;
  height:58px!important;
  border-radius:20px!important;
  color:var(--pin)!important;
  background:color-mix(in srgb,var(--pin) 10%,rgba(255,255,255,.06))!important;
  border:2px solid color-mix(in srgb,var(--pin) 68%,rgba(255,255,255,.18))!important;
  box-shadow:0 14px 34px color-mix(in srgb,var(--pin) 22%,transparent)!important;
}
#app-main .dashboard-pin-simple .dashboard-pin-medal svg{
  width:30px!important;
  height:30px!important;
  fill:color-mix(in srgb,var(--pin) 92%,#ffffff)!important;
  stroke:color-mix(in srgb,var(--pin) 55%,#ffffff)!important;
  stroke-width:1.4!important;
}
#app-main .dashboard-pin-simple .dashboard-pin-eyebrow{color:color-mix(in srgb,var(--pin) 70%,#ffffff)!important}
#app-main .dashboard-pin-simple .dashboard-pins-wide-main h3{font-size:clamp(1.28rem,2vw,1.85rem)!important;margin-bottom:6px!important}
#app-main .dashboard-pin-simple .dashboard-pins-wide-main p{font-size:.9rem!important;color:rgba(255,255,255,.72)!important}
#app-main .dashboard-pin-simple .dashboard-pin-progress-wrap{gap:8px!important}
#app-main .dashboard-pin-simple .dashboard-pin-list{display:none!important}
#app-main .community-pin-rules-help{
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:thin;
  padding-bottom:10px!important;
}
#app-main .community-pin-rules-help .dashboard-pin-chip{flex:0 0 auto!important}
#app-main .community-admin-pin-options{
  display:flex!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  justify-content:flex-start!important;
  gap:10px!important;
  padding:4px 2px 8px!important;
  scrollbar-width:thin;
}
#app-main .community-admin-pin-check{flex:0 0 auto!important;white-space:nowrap!important}
#app-main .community-admin-pin-check input{flex:0 0 auto!important}
#app-main .community-admin-pin-row{grid-template-columns:minmax(220px,.30fr) minmax(0,1fr)!important;align-items:center!important}
@media(max-width:900px){
  #app-main .dashboard-pins-wide-card.dashboard-pin-simple{grid-template-columns:1fr!important}
  #app-main .community-admin-pin-row{grid-template-columns:1fr!important;align-items:start!important}
}

/* Correção: aba Comunidade não pode vazar/cortar a tela */
#app-main .community-map-shell,
#app-main .community-admin-pins-card,
#app-main .community-admin-pins-list,
#app-main .community-admin-pin-row,
#app-main .community-admin-pin-options,
#app-main .community-pin-rules-help,
#app-main .community-map-canvas{
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
#app-main .community-map-shell{
  overflow:hidden!important;
}
#app-main .community-admin-pins-card{
  overflow:hidden!important;
}
#app-main .community-admin-pin-row{
  width:100%!important;
  overflow:hidden!important;
}
#app-main .community-admin-pin-row > div{
  min-width:0!important;
}
#app-main .community-admin-pin-options,
#app-main .community-pin-rules-help{
  width:100%!important;
  max-width:100%!important;
  -webkit-overflow-scrolling:touch;
}
#app-main .community-admin-pin-options::-webkit-scrollbar,
#app-main .community-pin-rules-help::-webkit-scrollbar{
  height:6px;
}
#app-main .community-admin-pin-options::-webkit-scrollbar-thumb,
#app-main .community-pin-rules-help::-webkit-scrollbar-thumb{
  background:rgba(96,165,250,.45);
  border-radius:999px;
}
#app-main .community-map-header{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
#app-main .community-map-header > div{
  min-width:0!important;
}
#app-main .community-map-header h3,
#app-main .community-map-header p{
  max-width:100%!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:1200px){
  #app-main .community-admin-pin-row{
    grid-template-columns:1fr!important;
    align-items:start!important;
  }
  #app-main .community-admin-pin-options{
    padding-top:2px!important;
  }
}
@media(max-width:760px){
  #app-main .community-map-header{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  #app-main .community-map-header .btn,
  #app-main #community-pins-save{
    width:100%!important;
    justify-content:center!important;
  }
  #app-main .community-admin-pins-card{
    padding:16px!important;
    border-radius:20px!important;
  }
}

/* Melhoria UX: escolha de PINs sem rolagem horizontal */
#app-main .community-admin-pins-card{
  gap:20px!important;
}
#app-main .community-pin-rules-help{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(185px,1fr))!important;
  gap:10px!important;
  overflow:visible!important;
  padding:14px!important;
  align-items:stretch!important;
}
#app-main .community-pin-rules-help .dashboard-pin-chip{
  width:100%!important;
  min-width:0!important;
  flex:initial!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:normal!important;
  line-height:1.25!important;
}
#app-main .community-admin-pins-list{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  padding-right:2px!important;
}
#app-main .community-admin-pin-row{
  grid-template-columns:minmax(190px,.28fr) minmax(0,1fr)!important;
  align-items:start!important;
  gap:16px!important;
  padding:16px!important;
  border-radius:20px!important;
}
#app-main .community-admin-pin-row > div:first-child{
  padding-top:6px!important;
}
#app-main .community-admin-pin-options{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(138px,1fr))!important;
  gap:10px!important;
  overflow:visible!important;
  padding:0!important;
  width:100%!important;
  max-width:100%!important;
}
#app-main .community-admin-pin-check{
  position:relative!important;
  min-width:0!important;
  width:100%!important;
  flex:initial!important;
  white-space:normal!important;
  display:block!important;
}
#app-main .community-admin-pin-check input{
  position:absolute!important;
  inset:0!important;
  opacity:0!important;
  width:100%!important;
  height:100%!important;
  cursor:pointer!important;
  z-index:2!important;
}
#app-main .community-admin-pin-check span{
  width:100%!important;
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:10px 12px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid color-mix(in srgb,var(--pin,#60a5fa) 42%,rgba(255,255,255,.14))!important;
  color:rgba(255,255,255,.76)!important;
  box-shadow:none!important;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease!important;
}
#app-main .community-admin-pin-check:hover span{
  transform:translateY(-1px)!important;
  color:#fff!important;
  background:color-mix(in srgb,var(--pin,#60a5fa) 10%,rgba(255,255,255,.06))!important;
}
#app-main .community-admin-pin-check input:checked + span{
  color:#fff!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--pin,#60a5fa) 34%,rgba(255,255,255,.08)),rgba(255,255,255,.06))!important;
  border-color:color-mix(in srgb,var(--pin,#60a5fa) 76%,#ffffff)!important;
  box-shadow:0 10px 26px color-mix(in srgb,var(--pin,#60a5fa) 22%,transparent)!important;
}
#app-main .community-admin-pin-check input:checked + span::before{
  content:"✓";
  display:inline-grid;
  place-items:center;
  width:18px;
  height:18px;
  margin-right:7px;
  border-radius:999px;
  background:color-mix(in srgb,var(--pin,#60a5fa) 72%,#fff);
  color:#020617;
  font-size:.72rem;
  font-weight:1000;
}
@media(max-width:1100px){
  #app-main .community-admin-pin-row{
    grid-template-columns:1fr!important;
  }
  #app-main .community-admin-pin-options{
    grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important;
  }
}
@media(max-width:560px){
  #app-main .community-pin-rules-help,
  #app-main .community-admin-pin-options{
    grid-template-columns:1fr!important;
  }
  #app-main .community-admin-pin-row{
    padding:14px!important;
  }
}


/* Remover linha abaixo do texto da área de PINs */
#app-main .community-admin-pins-card .community-map-header{
    border-bottom:none !important;
    box-shadow:none !important;
}
#app-main .community-admin-pins-card .community-map-header::after{
    display:none !important;
    content:none !important;
}


/* PINs em linha única */
.pin-card-title,
.pin-name,
.pin-level{
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: .92rem !important;
}

.pin-card-subtitle,
.pin-requirements{
    white-space: nowrap !important;
    font-size: .82rem !important;
}

.pin-card{
    min-width: 0 !important;
}


/* Ajuste final: todos os PINs manuais na mesma linha, sem barra horizontal */
.community-admin-pins-card .manual-pins-grid,
.community-admin-pins-card .pins-manual-grid,
.community-admin-pins-card .pin-options,
.community-admin-pins-card .member-pins,
.community-admin-pins-card .manual-pin-options,
.community-admin-pins-card .pins-user-list,
.community-admin-pins-card .member-pin-list,
.community-admin-pins-card [class*="pin-options"],
.community-admin-pins-card [class*="manual-pins"],
.community-admin-pins-card [class*="member-pins"]{
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:8px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:hidden !important;
}

.community-admin-pins-card .pin-option,
.community-admin-pins-card .manual-pin-option,
.community-admin-pins-card .pin-checkbox,
.community-admin-pins-card label[class*="pin"],
.community-admin-pins-card [class*="pin-option"]{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
    flex:0 1 auto !important;
    min-width:0 !important;
    max-width:max-content !important;
    white-space:nowrap !important;
}

.community-admin-pins-card input[type="checkbox"]{
    width:15px !important;
    height:15px !important;
    min-width:15px !important;
    margin:0 3px 0 0 !important;
    flex:0 0 15px !important;
}

.community-admin-pins-card .pin-badge,
.community-admin-pins-card .pin-chip,
.community-admin-pins-card .pin-card,
.community-admin-pins-card .pin-pill,
.community-admin-pins-card .pin-item,
.community-admin-pins-card span[class*="pin"]{
    min-width:auto !important;
    max-width:none !important;
    width:auto !important;
    height:auto !important;
    padding:7px 12px !important;
    font-size:.82rem !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
    flex:0 0 auto !important;
}

.community-admin-pins-card .pin-name,
.community-admin-pins-card .pin-level,
.community-admin-pins-card .pin-card-title{
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
    font-size:.82rem !important;
    line-height:1 !important;
}

@media (max-width: 1280px){
    .community-admin-pins-card .manual-pins-grid,
    .community-admin-pins-card .pins-manual-grid,
    .community-admin-pins-card .pin-options,
    .community-admin-pins-card .member-pins,
    .community-admin-pins-card .manual-pin-options,
    .community-admin-pins-card .pins-user-list,
    .community-admin-pins-card .member-pin-list,
    .community-admin-pins-card [class*="pin-options"],
    .community-admin-pins-card [class*="manual-pins"],
    .community-admin-pins-card [class*="member-pins"]{
        gap:6px !important;
    }

    .community-admin-pins-card input[type="checkbox"]{
        width:13px !important;
        height:13px !important;
        min-width:13px !important;
        flex-basis:13px !important;
    }

    .community-admin-pins-card .pin-badge,
    .community-admin-pins-card .pin-chip,
    .community-admin-pins-card .pin-card,
    .community-admin-pins-card .pin-pill,
    .community-admin-pins-card .pin-item,
    .community-admin-pins-card span[class*="pin"]{
        padding:6px 9px !important;
        font-size:.75rem !important;
    }
}


/* Dashboard PINs */
.pin-source,
.pin-type,
.pin-manual-auto,
.pin-origin{
    display:none !important;
}

/* Próximo PIN sempre em uma linha */
.next-pin-text,
.next-pin-label,
.pin-next-progress,
.pin-progress-text,
[class*="next-pin"]{
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display:block !important;
    width:100% !important;
}


/* Remover título Comunidade Network do cabeçalho no mobile */
@media (max-width: 768px){
    .app-header-logo,
    .header-logo,
    .header-brand,
    .mobile-header-title,
    .mobile-brand,
    .sidebar-brand-mobile,
    .topbar-title,
    .navbar-brand,
    [class*="brand"],
    [class*="logo-text"]{
        display:none !important;
    }

    .app-header,
    .mobile-header{
        justify-content:space-between !important;
    }
}


/* Correção precisa: esconder somente o título do cabeçalho superior no mobile */
@media (max-width: 900px){
  .main-content > .mobile-header > strong,
  .main-content > header.mobile-header > strong,
  header.mobile-header strong:not(#app-title){
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    max-width: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .main-content > .mobile-header{
    justify-content: space-between !important;
    gap: 10px !important;
  }
}


/* Manter logo e título dentro do menu lateral mobile */
@media (max-width:900px){
  #sidebar .brand-row,
  .sidebar .brand-row,
  #sidebar #app-title,
  .sidebar #app-title,
  #sidebar .brand-mark,
  .sidebar .brand-mark{
      display:flex !important;
      visibility:visible !important;
      opacity:1 !important;
  }

  #sidebar #app-title{
      width:auto !important;
      max-width:none !important;
      overflow:visible !important;
  }
}


/* Aba Usuário/Admin - layout limpo e padronizado */
.admin-users-page{gap:18px!important}
.admin-users-hero{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  flex-wrap:wrap!important;
}
.admin-users-hero h2{margin:10px 0 6px!important}
.admin-users-hero-copy{max-width:720px}
.admin-users-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.admin-users-list-head{justify-content:space-between!important;align-items:flex-start!important;margin-bottom:16px!important}
.admin-users-list{display:grid!important;gap:12px!important}
.admin-user-item{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:14px!important;
  padding:14px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.025)!important;
}
.admin-user-avatar{
  width:46px!important;
  height:46px!important;
  border-radius:16px!important;
  display:grid!important;
  place-items:center!important;
  font-weight:900!important;
  color:#d8ecff!important;
  background:linear-gradient(135deg,rgba(0,87,178,.9),rgba(117,73,255,.75))!important;
  box-shadow:0 14px 28px rgba(0,87,178,.20)!important;
}
.admin-user-main{display:grid!important;gap:3px!important;min-width:0!important}
.admin-user-main strong,
.admin-user-main span,
.admin-user-main small{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.admin-user-main span{color:var(--muted)!important}
.admin-user-main small{color:var(--soft)!important;font-size:12px!important}
.admin-user-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important}
.admin-user-actions .danger-action{color:#ffb4b4!important;border-color:rgba(255,94,94,.22)!important}
.admin-user-actions .danger-action:disabled{opacity:.45!important;cursor:not-allowed!important}
.admin-user-modal-card{width:min(760px,100%)!important;max-height:92vh!important;overflow:auto!important}
.admin-user-modal-actions{justify-content:flex-start!important;gap:10px!important;flex-wrap:wrap!important}
.empty-state{
  padding:22px!important;
  border:1px dashed rgba(255,255,255,.12)!important;
  border-radius:18px!important;
  text-align:center!important;
  background:rgba(255,255,255,.025)!important;
}
@media (max-width:900px){
  .admin-users-stats{grid-template-columns:1fr!important}
  .admin-user-item{grid-template-columns:auto minmax(0,1fr)!important}
  .admin-user-item .owner-pill{justify-self:start!important;grid-column:2!important}
  .admin-user-actions{grid-column:1 / -1!important;justify-content:flex-start!important}
  .admin-users-hero .btn{width:100%!important;justify-content:center!important}
}


/* Centralizar título Dashboard no mobile */
@media (max-width: 768px){
  .dashboard-header,
  .dashboard-hero,
  .dashboard-title-wrap,
  .dashboard-top{
    text-align:center !important;
    justify-content:center !important;
    align-items:center !important;
  }

  .dashboard-header h1,
  .dashboard-header h2,
  .dashboard-hero h1,
  .dashboard-hero h2{
    text-align:center !important;
    width:100% !important;
  }

  .dashboard-header p,
  .dashboard-hero p,
  .dashboard-subtitle{
    text-align:center !important;
    width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}


/* Centralização específica do título Dashboard e subtítulo no mobile */
@media (max-width: 768px){
  h1, h2 {
    text-align:center;
  }

  .page-header,
  .dashboard-header,
  .dashboard-intro,
  .dashboard-hero-content{
    width:100%;
    text-align:center !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .page-header .muted,
  .dashboard-header .muted,
  .dashboard-intro .muted{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}


/* Aba Usuário/Admin - 4 cards alinhados */
.admin-users-stats{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
@media (max-width:1200px){
  .admin-users-stats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:700px){
  .admin-users-stats{
    grid-template-columns:1fr!important;
  }
}


/* Modal perfil: botão sair somente ícone ao lado de usar pontos */
.account-actions{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}
.account-actions #account-use-points{
  order:2 !important;
}
.account-actions .account-logout-icon-only,
.account-actions #logout-button.account-logout-icon-only{
  order:3 !important;
  width:54px !important;
  min-width:54px !important;
  height:54px !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:16px !important;
  font-size:0 !important;
}
.account-actions .account-logout-icon-only svg,
.account-actions #logout-button.account-logout-icon-only svg,
.account-actions .account-logout-icon-only [data-icon],
.account-actions #logout-button.account-logout-icon-only [data-icon]{
  font-size:22px !important;
  width:22px !important;
  height:22px !important;
  margin:0 !important;
}
@media (max-width:700px){
  .account-actions{
    display:grid !important;
    grid-template-columns:1fr auto !important;
  }
  .account-actions button[type="submit"]{
    grid-column:1 / -1 !important;
  }
  .account-actions #account-use-points{
    width:100% !important;
  }
}

/* Loja pública: 1 ou 2 produtos continuam ocupando a grade visual de 3 colunas. */
.public-store-mode .public-products-grid.is-count-1,
.public-store-mode .public-products-grid.is-count-2{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.public-store-mode .public-products-grid.is-count-1 > .public-product-card{
  grid-column:2 / 3;
}
.public-store-mode .public-products-grid.is-count-2 > .public-product-card:first-child{
  grid-column:1 / 2;
}
.public-store-mode .public-products-grid.is-count-2 > .public-product-card:nth-child(2){
  grid-column:2 / 3;
}
@media(max-width:900px){
  .public-store-mode .public-products-grid.is-count-1,
  .public-store-mode .public-products-grid.is-count-2{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .public-store-mode .public-products-grid.is-count-1 > .public-product-card{
    grid-column:1 / -1;
    width:min(380px,100%);
    justify-self:center;
  }
  .public-store-mode .public-products-grid.is-count-2 > .public-product-card:first-child,
  .public-store-mode .public-products-grid.is-count-2 > .public-product-card:nth-child(2){
    grid-column:auto;
  }
}
@media(max-width:640px){
  .public-store-mode .public-products-grid.is-count-1,
  .public-store-mode .public-products-grid.is-count-2{
    grid-template-columns:1fr!important;
  }
  .public-store-mode .public-products-grid.is-count-1 > .public-product-card{
    grid-column:auto;
    width:100%;
  }
}

/* Ajuste: PIN manual agora usa droptool por usuário no admin. */
#app-main .community-admin-pin-select-wrap{
  display:grid!important;
  gap:8px!important;
  justify-self:end!important;
  width:min(100%,320px)!important;
}
#app-main .community-admin-pin-select-wrap span{
  color:var(--muted,#94a3b8)!important;
  font-size:.72rem!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
}
#app-main .community-admin-pin-select{
  width:100%!important;
  min-height:46px!important;
  border-radius:14px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  background:#05070b!important;
  color:var(--text,#fff)!important;
  padding:0 42px 0 14px!important;
  font-weight:850!important;
  outline:none!important;
  appearance:auto!important;
}
#app-main .community-admin-pin-select:focus{
  border-color:rgba(0,123,255,.65)!important;
  box-shadow:0 0 0 3px rgba(0,123,255,.18)!important;
}
#app-main .community-admin-pin-options,
#app-main .community-admin-pin-check{
  display:none!important;
}
@media(max-width:900px){
  #app-main .community-admin-pin-select-wrap{
    justify-self:stretch!important;
    width:100%!important;
  }
}

/* Visual da Comunidade: braços dinâmicos, sem aparência de pirâmide */
.community-map-canvas{
  display:grid !important;
  gap:26px !important;
  overflow:auto;
  max-height:min(74vh,780px);
}
.community-arms-group{
  display:grid;
  grid-template-columns:minmax(260px,320px) minmax(520px,1fr);
  gap:22px;
  align-items:start;
  min-width:860px;
}
.community-hub-card{
  position:sticky;
  left:0;
  z-index:3;
  display:grid;
  gap:16px;
  align-content:start;
  min-height:220px;
  padding:20px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(0,87,178,.16),rgba(255,255,255,.035));
  box-shadow:0 18px 44px rgba(0,0,0,.22);
}
.community-hub-avatar{
  width:58px !important;
  height:58px !important;
  border-radius:18px !important;
  font-size:16px !important;
}
.community-hub-info h4{
  margin:8px 0 8px;
  color:#f8fbff;
  font-size:22px;
  line-height:1.15;
}
.community-hub-info p{
  margin:0;
  color:#9fb0c8;
  font-weight:800;
  line-height:1.5;
}
.community-arms-board{
  display:grid;
  grid-template-columns:repeat(3,minmax(220px,1fr));
  gap:16px;
  align-items:start;
}
.community-arm-lane{
  position:relative;
  display:grid;
  gap:12px;
  min-height:180px;
  padding:14px;
  border:1px solid rgba(0,87,178,.14);
  border-radius:22px;
  background:rgba(255,255,255,.025);
}
.community-arm-lane::before{
  content:"";
  position:absolute;
  left:-22px;
  top:34px;
  width:22px;
  height:1px;
  background:linear-gradient(90deg,rgba(0,87,178,.12),rgba(0,87,178,.48));
}
.community-arm-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:34px;
}
.community-arm-title span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:64px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(0,87,178,.14);
  border:1px solid rgba(0,87,178,.24);
  color:#b9dcff;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.community-arm-title strong{
  min-width:0;
  color:#fff;
  font-size:13px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.community-branch-member{
  display:grid;
  gap:10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:12px;
  background:rgba(0,0,0,.34);
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.community-branch-member:hover{
  transform:translateY(-2px);
  border-color:rgba(0,87,178,.38);
  background:rgba(0,87,178,.08);
}
.community-branch-member-head{
  display:flex;
  gap:10px;
  align-items:center;
  min-width:0;
}
.community-branch-member-head .community-avatar{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:13px;
}
.community-branch-member-head div:last-child{
  min-width:0;
  display:grid;
  gap:4px;
}
.community-branch-member-head strong{
  color:#fff;
  font-size:13px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.community-branch-member-head span{
  color:#94a3b8;
  font-size:11px;
  font-weight:800;
  line-height:1.35;
}
.community-branch-mini-list{
  display:grid;
  gap:8px;
  padding-left:12px;
  border-left:1px dashed rgba(0,87,178,.34);
}
.community-branch-mini-list .community-branch-member{
  background:rgba(255,255,255,.02);
  border-radius:16px;
  padding:10px;
}
.community-branch-mini-list .depth-3 .community-avatar,
.community-branch-mini-list .depth-4 .community-avatar{
  width:32px;
  height:32px;
  flex-basis:32px;
  font-size:11px;
}
.community-branch-more{
  border:1px dashed rgba(0,87,178,.32);
  border-radius:14px;
  padding:10px;
  color:#b9dcff;
  background:rgba(0,87,178,.06);
  font-size:12px;
  font-weight:900;
  text-align:center;
}
@media(max-width:1100px){
  .community-arms-group{grid-template-columns:1fr;min-width:0;}
  .community-hub-card{position:relative;left:auto;}
  .community-arms-board{grid-template-columns:repeat(2,minmax(0,1fr));}
  .community-arm-lane::before{display:none;}
}
@media(max-width:700px){
  .community-arms-board{grid-template-columns:1fr;}
  .community-hub-card{min-height:auto;padding:16px;border-radius:20px;}
  .community-arm-lane{border-radius:18px;}
}

/* Rede: foto do usuário e tooltip de WhatsApp sem mensagem pré-configurada. */
.community-member-avatar{
  position:relative!important;
  overflow:visible!important;
  isolation:isolate;
}
.community-member-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:inherit;
}
.community-member-tooltip{
  position:absolute;
  left:50%;
  bottom:calc(100% + 10px);
  transform:translateX(-50%) translateY(6px);
  min-width:190px;
  max-width:240px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(8,10,14,.98);
  box-shadow:0 18px 42px rgba(0,0,0,.42);
  display:grid;
  gap:5px;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease;
  z-index:40;
}
.community-member-tooltip::after{
  content:"";
  position:absolute;
  left:50%;
  top:100%;
  transform:translateX(-50%);
  border:7px solid transparent;
  border-top-color:rgba(8,10,14,.98);
}
.community-member-tooltip strong{
  color:#fff;
  font-size:13px;
  line-height:1.25;
  white-space:normal;
}
.community-member-tooltip a,
.community-member-tooltip span{
  color:#b9dcff;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
  word-break:break-word;
}
.community-member-tooltip a:hover{text-decoration:underline;}
.community-member-avatar:hover,
.community-member-avatar:focus-within{z-index:80;}
.community-member-avatar:hover .community-member-tooltip,
.community-member-avatar:focus-within .community-member-tooltip{
  opacity:1;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.community-hub-card,
.community-arm-lane,
.community-branch-member,
.community-branch-member-head{overflow:visible!important;}
@media(max-width:700px){
  .community-member-tooltip{left:0;transform:translateX(0) translateY(6px);min-width:170px;}
  .community-member-tooltip::after{left:20px;transform:none;}
  .community-member-avatar:hover .community-member-tooltip,
  .community-member-avatar:focus-within .community-member-tooltip{transform:translateX(0) translateY(0);}
}

/* Comunidade completa: navegação dinâmica de diretos e indiretos */
.community-map-tools{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:14px;
  margin:14px 0 18px;
  padding:14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:rgba(255,255,255,.025);
}
.community-search-wrap{
  display:grid;
  gap:7px;
  min-width:min(100%,360px);
  flex:1;
}
.community-search-wrap span{
  color:#9fb0c8;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.community-search-wrap input{
  width:100%;
  min-height:44px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:#05070b;
  color:#fff;
  padding:0 14px;
  outline:none;
  font-weight:800;
}
.community-search-wrap input:focus{
  border-color:rgba(0,123,255,.55);
  box-shadow:0 0 0 3px rgba(0,123,255,.14);
}
.community-tool-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
.community-branch-toggle{
  margin-left:auto;
  border:1px solid rgba(0,123,255,.28);
  background:rgba(0,123,255,.10);
  color:#b9dcff;
  border-radius:999px;
  padding:7px 10px;
  font-size:11px;
  font-weight:950;
  cursor:pointer;
  white-space:nowrap;
}
.community-branch-toggle:hover{
  background:rgba(0,123,255,.18);
  border-color:rgba(0,123,255,.42);
}
.community-branch-mini-list{
  transition:max-height .24s ease,opacity .2s ease,margin .2s ease,padding .2s ease;
  max-height:none;
}
.community-branch-mini-list.is-collapsed{
  max-height:0!important;
  opacity:0!important;
  overflow:hidden!important;
  margin-top:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  border-left-color:transparent!important;
}
.community-branch-member.is-search-hidden{
  display:none!important;
}
.community-branch-member.is-search-match{
  border-color:rgba(0,123,255,.55)!important;
  background:rgba(0,123,255,.12)!important;
}
.community-branch-member.depth-5,
.community-branch-member.depth-6,
.community-branch-member.depth-7,
.community-branch-member.depth-8{
  border-style:dashed;
}
.community-branch-member.depth-5 .community-branch-member-head span,
.community-branch-member.depth-6 .community-branch-member-head span,
.community-branch-member.depth-7 .community-branch-member-head span,
.community-branch-member.depth-8 .community-branch-member-head span{
  color:#a7b5c9;
}
@media(max-width:760px){
  .community-map-tools{display:grid;align-items:stretch;}
  .community-tool-actions{justify-content:stretch;}
  .community-tool-actions .btn{flex:1;min-width:130px;}
  .community-branch-member-head{align-items:flex-start;}
  .community-branch-toggle{margin-left:0;grid-column:1/-1;}
}

/* Comunidade: espaçamento padrão entre centro da rede e braços */
.community-map-canvas{
  gap:16px!important;
}
.community-arms-group{
  gap:16px!important;
}
.community-hub-card{
  min-height:auto!important;
  gap:12px!important;
  padding:18px!important;
}
.community-hub-info h4{
  margin:6px 0 6px!important;
}
.community-hub-info p{
  line-height:1.35!important;
}
.community-arms-board{
  gap:16px!important;
}
.community-arm-lane{
  gap:12px!important;
  min-height:auto!important;
}
.community-empty{
  margin-top:0!important;
  padding:22px 18px!important;
}
.community-arms-group:has(.community-empty){
  grid-template-columns:1fr!important;
}
.community-arms-group:has(.community-empty) .community-hub-card{
  position:relative!important;
  left:auto!important;
}
@media(max-width:700px){
  .community-hub-card{padding:16px!important;gap:10px!important;}
  .community-empty{padding:18px 14px!important;}
}

/* Checkout interno por produto */
.payment-method-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.payment-method-checks .check{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:10px 12px}
.checkout-card-fields{margin-top:6px;padding:12px;border:1px solid rgba(0,87,178,.18);border-radius:16px;background:rgba(0,87,178,.07)}
.checkout-payment-result{margin:12px 0}.internal-payment-card{border:1px solid rgba(16,185,129,.22);background:linear-gradient(135deg,rgba(16,185,129,.12),rgba(0,87,178,.10));border-radius:18px;padding:14px;display:grid;gap:10px}.internal-payment-qr{width:180px;max-width:100%;background:#fff;border-radius:14px;padding:10px;justify-self:center}.internal-payment-code{min-height:76px!important;font-size:12px!important}.internal-payment-info{display:flex;justify-content:space-between;gap:12px;background:rgba(255,255,255,.05);border-radius:12px;padding:10px 12px}.internal-payment-info span{color:var(--muted);font-size:12px}.internal-payment-info b{word-break:break-all;text-align:right}
@media(max-width:640px){.payment-method-checks{grid-template-columns:1fr}.checkout-card-fields{padding:10px}.internal-payment-qr{width:150px}}

/* Ajuste checkout produto: imagem 1:1 limpa e mensagem de segurança premium */
@media(min-width:821px){
  .checkout-layout{grid-template-columns:340px minmax(0,1fr)!important;gap:18px!important}
  .checkout-summary{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;max-width:340px!important}
  .checkout-product-thumb{width:340px!important;max-width:340px!important;height:auto!important;max-height:none!important;aspect-ratio:1/1!important;background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important;color:#9bd0ff!important}
  .checkout-product-thumb img{width:100%!important;height:100%!important;object-fit:contain!important;background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important;padding:0!important;display:block!important}
}
.checkout-badge{display:none!important}
.checkout-secure-note{background:linear-gradient(135deg,var(--primary, #0057b2),rgba(255,255,255,.94))!important;border:1px solid rgba(255,255,255,.28)!important;color:#ffffff!important;border-radius:18px!important;box-shadow:0 18px 42px rgba(0,87,178,.18)!important}
.checkout-secure-note span:last-child{display:flex!important;flex-direction:column!important;gap:2px!important}
.checkout-secure-note strong{font-size:12px!important;line-height:1.2!important;color:#fff!important}
.checkout-secure-note small{font-size:11px!important;line-height:1.3!important;color:rgba(255,255,255,.9)!important;font-weight:700!important}
.checkout-secure-note svg{color:#fff!important;stroke:#fff!important}

/* Ajuste: centraliza checkbox de confirmação no checkout */
.checkout-confirm{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  margin:20px 0!important;
  text-align:center!important;
  line-height:1.4!important;
}
.checkout-confirm input[type="checkbox"]{
  margin:0!important;
  flex-shrink:0!important;
}
.checkout-confirm span{
  margin:0!important;
  line-height:1.4!important;
}
@media (max-width: 640px){
  .checkout-confirm{
    justify-content:flex-start!important;
    text-align:left!important;
  }
}

/* Ajuste: scrollbar do checkout contida dentro do border-radius do modal */
.purchase-modal .modal-card.checkout-card,
.modal-card.checkout-card{
  overflow-x:hidden!important;
  scrollbar-gutter:stable!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(0,87,178,.72) transparent!important;
  clip-path:inset(0 round 28px)!important;
  contain:paint!important;
}
.purchase-modal .modal-card.checkout-card::-webkit-scrollbar,
.modal-card.checkout-card::-webkit-scrollbar{
  width:10px!important;
}
.purchase-modal .modal-card.checkout-card::-webkit-scrollbar-track,
.modal-card.checkout-card::-webkit-scrollbar-track{
  background:transparent!important;
  margin:18px 0!important;
  border-radius:999px!important;
}
.purchase-modal .modal-card.checkout-card::-webkit-scrollbar-thumb,
.modal-card.checkout-card::-webkit-scrollbar-thumb{
  background:rgba(0,87,178,.72)!important;
  border:3px solid transparent!important;
  background-clip:content-box!important;
  border-radius:999px!important;
}
.purchase-modal .modal-card.checkout-card::-webkit-scrollbar-thumb:hover,
.modal-card.checkout-card::-webkit-scrollbar-thumb:hover{
  background:rgba(0,87,178,.9)!important;
  border:3px solid transparent!important;
  background-clip:content-box!important;
}


/* Ajustes de checkout: card seguro premium, remoção de botão secundário e limpeza do fluxo */
.checkout-secure-note{
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.24), transparent 34%),
    linear-gradient(135deg, color-mix(in srgb, var(--primary, #0057b2) 82%, #ffffff 18%), color-mix(in srgb, var(--primary, #0057b2) 55%, #ffffff 45%))!important;
  border:1px solid rgba(255,255,255,.34)!important;
  color:#ffffff!important;
  border-radius:18px!important;
  box-shadow:0 18px 42px color-mix(in srgb, var(--primary, #0057b2) 26%, transparent)!important;
}
.checkout-secure-note strong{color:#ffffff!important;font-weight:900!important;letter-spacing:.01em!important}
.checkout-secure-note small{color:rgba(255,255,255,.94)!important;font-weight:700!important}
.checkout-secure-note svg{color:#ffffff!important;stroke:#ffffff!important;filter:drop-shadow(0 3px 8px rgba(0,0,0,.22))!important}
.checkout-actions{justify-content:center!important}
.checkout-actions .checkout-submit{min-width:min(100%,280px)!important}
#purchase-cancel{display:none!important}
