:root{
  --pe-bg:#0b0f0d; --pe-panel:#141a17; --pe-panel-2:#1b2320; --pe-line:#26312c;
  --pe-text:#eef2ef; --pe-muted:#93a19a; --pe-danger:#ef4444; --pe-amber:#f2b705;
}
/* Tema Claro */
body.pe-theme-claro{
  --pe-bg:#f4f6f5; --pe-panel:#ffffff; --pe-panel-2:#f0f3f1; --pe-line:#e2e8e5;
  --pe-text:#141a17; --pe-muted:#5f6b64; --pe-danger:#dc2626; --pe-amber:#b45309;
}
/* Tema Escuro Azul (estilo DetailPro) */
body.pe-theme-azul{
  --pe-bg:#0a0f1c; --pe-panel:#111a2e; --pe-panel-2:#16223a; --pe-line:#243044;
  --pe-text:#e8eef7; --pe-muted:#8494ac; --pe-danger:#f87171; --pe-amber:#fbbf24;
}
/* Tema Escuro Roxo */
body.pe-theme-roxo{
  --pe-bg:#120c1a; --pe-panel:#1c1329; --pe-panel-2:#241833; --pe-line:#332444;
  --pe-text:#f0eaf7; --pe-muted:#a494b8; --pe-danger:#f87171; --pe-amber:#fbbf24;
}
/* Calculadora de preço */
.pe-calc-modal{max-height:88vh;overflow-y:auto;}
.pe-calc-sec{background:var(--pe-panel-2);border:1px solid var(--pe-line);border-radius:12px;padding:14px;margin-bottom:12px;}
.pe-calc-sec b{display:block;margin-bottom:8px;font-size:14px;}
.pe-calc-sec label{display:block;font-size:12px;color:var(--pe-muted);margin:8px 0 4px;}
.pe-calc-sec input{width:100%;background:var(--pe-bg);border:1px solid var(--pe-line);border-radius:8px;padding:10px;color:var(--pe-text);font-size:14px;box-sizing:border-box;}
.calc-prod-row input{background:var(--pe-bg);border:1px solid var(--pe-line);border-radius:8px;padding:9px;color:var(--pe-text);font-size:13px;box-sizing:border-box;}
.pe-calc-result{background:linear-gradient(135deg,var(--pe-panel-2),var(--pe-panel));border:1px solid var(--pe-brand,#22c55e);border-radius:12px;padding:16px;margin:6px 0 4px;}
/* Toggle switch */
.pe-toggle-field{display:flex;align-items:flex-start;gap:12px;margin:14px 0;}
.pe-switch{position:relative;display:inline-block;width:46px;height:26px;flex-shrink:0;margin-top:2px;}
.pe-switch input{opacity:0;width:0;height:0;}
.pe-switch-slider{position:absolute;cursor:pointer;inset:0;background:var(--pe-line);border-radius:26px;transition:.2s;}
.pe-switch-slider:before{content:"";position:absolute;height:20px;width:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s;}
.pe-switch input:checked + .pe-switch-slider{background:var(--pe-brand,#22c55e);}
.pe-switch input:checked + .pe-switch-slider:before{transform:translateX(20px);}
.pe-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--pe-muted);cursor:pointer;}
.pe-check input{width:18px;height:18px;}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--pe-bg);}
body.pe-login-body,body.pe-panel-body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:var(--pe-text);
}

/* ---------- LOGIN ---------- */
.pe-login-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;}
.pe-login-card{background:var(--pe-panel);border:1px solid var(--pe-line);border-radius:18px;padding:32px 26px;width:100%;max-width:360px;text-align:center;}
.pe-login-logo{width:56px;height:56px;border-radius:14px;background:#22c55e;display:flex;align-items:center;justify-content:center;font-size:26px;margin:0 auto 14px;}
.pe-login-card h1{font-size:19px;margin:0 0 4px;}
.pe-login-sub{color:var(--pe-muted);font-size:12.5px;margin:0 0 22px;}
.pe-login-card form{text-align:left;}
.pe-login-card label{display:block;font-size:12.5px;color:var(--pe-muted);margin:14px 0 6px;}
.pe-login-card input{width:100%;background:var(--pe-panel-2);border:1px solid var(--pe-line);border-radius:10px;padding:12px;color:var(--pe-text);font-size:14px;}
.pe-login-btn{width:100%;margin-top:22px;background:#22c55e;color:#03130a;border:none;border-radius:10px;padding:13px;font-weight:700;font-size:15px;cursor:pointer;}
.pe-login-error{background:#3a1414;border:1px solid #7a2626;color:#ffb4b4;border-radius:10px;padding:10px 12px;font-size:13px;margin-bottom:16px;}
.pe-login-footer{color:#5f6b64;font-size:11.5px;margin-top:18px;}
.pe-login-footer a{color:#22c55e;text-decoration:none;font-weight:600;}
.pe-signup-pay{background:var(--pe-panel-2);border:1px solid var(--pe-line);border-radius:10px;padding:12px 14px;margin-bottom:18px;text-align:left;font-size:13px;}
.pe-signup-pay b{display:block;margin-bottom:6px;color:#22c55e;}
.pe-signup-pixkey{background:var(--pe-bg);border:1px dashed var(--pe-line);border-radius:8px;padding:8px 10px;font-family:monospace;font-size:13px;margin-bottom:8px;word-break:break-all;}
.pe-signup-pay p{margin:0;color:var(--pe-muted);font-size:12px;line-height:1.4;}

/* ---------- APP SHELL ---------- */
.pe-app{max-width:520px;margin:0 auto;min-height:100vh;position:relative;padding-bottom:78px;}
.pe-topbar{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--pe-line);position:sticky;top:0;background:var(--pe-bg);z-index:30;}
.pe-logo{width:42px;height:42px;border-radius:12px;background:var(--pe-brand,#22c55e);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.pe-title h1{font-size:15.5px;margin:0;}
.pe-title p{margin:1px 0 0;font-size:10px;color:var(--pe-muted);letter-spacing:.6px;}
.pe-bell{position:relative;font-size:19px;cursor:pointer;margin-left:auto;display:flex;align-items:center;}
.pe-bell svg{width:22px;height:22px;}
.pe-dot{position:absolute;top:-5px;right:-6px;background:var(--pe-brand,#22c55e);color:#03130a;font-size:9px;font-weight:800;border-radius:50%;width:15px;height:15px;display:flex;align-items:center;justify-content:center;}
.pe-logout{font-size:18px;text-decoration:none;color:var(--pe-muted);margin-left:6px;display:flex;align-items:center;}
.pe-logout svg{width:20px;height:20px;}

.pe-main{padding:16px;}
.pe-tabbar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:520px;background:var(--pe-panel);border-top:1px solid var(--pe-line);display:flex;z-index:30;}
.pe-tabbar button{flex:1;background:none;border:none;color:var(--pe-muted);font-size:10.5px;padding:9px 2px 8px;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;}
.pe-tabbar button svg{width:22px;height:22px;}
.pe-tabbar button.active{color:var(--pe-brand,#22c55e);}

/* ---------- GENERIC UI PIECES (reusadas nas views) ---------- */
.pe-h2{font-size:12.5px;letter-spacing:1px;color:var(--pe-muted);margin:18px 0 12px;text-transform:uppercase;}
.pe-h2:first-child{margin-top:6px;}
.pe-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px;}
.pe-card{background:var(--pe-panel);border:1px solid var(--pe-line);border-radius:14px;padding:16px 16px 15px;display:flex;flex-direction:column;justify-content:center;min-height:78px;}
.pe-card b{display:block;font-size:24px;line-height:1.1;color:var(--pe-brand,#22c55e);margin-bottom:5px;}
.pe-card small{color:var(--pe-muted);font-size:11px;line-height:1.3;}
.pe-card-click{transition:border-color .15s, transform .1s;-webkit-tap-highlight-color:transparent;}
.pe-card-click:hover{border-color:var(--pe-brand,#22c55e);}
.pe-card-click:active{transform:scale(.98);}

.pe-field{margin-bottom:14px;}
.pe-field label{display:block;font-size:12.5px;color:var(--pe-muted);margin-bottom:6px;}
.pe-field input,.pe-field select{width:100%;background:var(--pe-panel-2);border:1px solid var(--pe-line);border-radius:10px;padding:11px 12px;color:var(--pe-text);font-size:14px;}
.pe-hint{color:#6b756f;font-size:11.5px;margin:6px 0 0;}

.pe-cat{font-size:12px;font-weight:700;color:var(--pe-brand,#22c55e);margin:16px 0 6px;letter-spacing:.5px;text-transform:uppercase;}
.pe-item-row{display:flex;align-items:center;justify-content:space-between;padding:12px 2px;border-bottom:1px solid var(--pe-line);}
.pe-item-row .pe-name{font-weight:600;font-size:14.5px;}
.pe-item-row .pe-price{color:var(--pe-muted);font-size:12px;margin-top:2px;}
.pe-stepper{display:flex;align-items:center;gap:10px;background:var(--pe-panel-2);border-radius:10px;padding:6px 10px;}
.pe-stepper button{background:none;border:none;color:var(--pe-text);font-size:18px;width:26px;height:26px;cursor:pointer;border-radius:6px;}
.pe-stepper button:active{background:var(--pe-line);}
.pe-stepper .pe-qty{min-width:18px;text-align:center;font-weight:700;color:var(--pe-brand,#22c55e);}

.pe-bar{display:flex;align-items:center;justify-content:space-between;padding-top:16px;margin-top:10px;border-top:1px solid var(--pe-line);}
.pe-total small{display:block;color:var(--pe-muted);font-size:11px;}
.pe-total b{font-size:20px;color:var(--pe-brand,#22c55e);}

.pe-btn{border:none;border-radius:10px;padding:12px 18px;font-weight:700;font-size:14px;cursor:pointer;}
.pe-btn.pe-primary{background:var(--pe-brand,#22c55e);color:#03130a;}
.pe-btn.pe-ghost{background:var(--pe-panel-2);color:var(--pe-text);border:1px solid var(--pe-line);}
.pe-btn.pe-danger{background:#3a1414;color:#ffb4b4;border:1px solid #7a2626;}
.pe-btn.pe-block{width:100%;margin-top:10px;}
.pe-btn:disabled{opacity:.4;cursor:not-allowed;}

.pe-panel-box{background:var(--pe-panel);border:1px solid var(--pe-line);border-radius:12px;padding:16px;margin-top:16px;}
.pe-panel-box h4{margin:0 0 10px;}
.pe-link-box{background:var(--pe-panel-2);border:1px solid var(--pe-line);border-radius:8px;padding:10px;margin-bottom:10px;word-break:break-all;font-size:12.5px;}
.pe-link-box a{color:var(--pe-brand,#22c55e);}

.pe-table{width:100%;border-collapse:collapse;font-size:13px;}
.pe-table th{text-align:left;color:var(--pe-muted);font-weight:600;font-size:11px;text-transform:uppercase;padding:8px 6px;border-bottom:1px solid var(--pe-line);}
.pe-table td{padding:10px 6px;border-bottom:1px solid var(--pe-line);}
.pe-badge{padding:3px 9px;border-radius:20px;font-size:11px;font-weight:700;display:inline-block;}
.pe-badge.ok{background:#12331f;color:#5be08a;}
.pe-badge.warn{background:#3a2e10;color:var(--pe-amber);}
.pe-badge.bad{background:#3a1414;color:#ff8b8b;}
.pe-badge.muted{background:var(--pe-panel-2);color:var(--pe-muted);}

.pe-empty{color:var(--pe-muted);font-size:13px;text-align:center;padding:30px 10px;}

.pe-toast-wrap{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:999;display:flex;flex-direction:column;gap:8px;width:calc(100% - 32px);max-width:488px;}
.pe-toast{background:var(--pe-panel-2);border:1px solid var(--pe-brand,#22c55e);border-radius:12px;padding:12px 14px;font-size:13px;box-shadow:0 8px 24px rgba(0,0,0,.4);}
.pe-toast b{display:block;margin-bottom:2px;}

.pe-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:200;display:flex;align-items:flex-end;justify-content:center;}
.pe-modal{background:var(--pe-panel);max-width:520px;width:100%;border-radius:18px 18px 0 0;padding:20px;max-height:88vh;overflow:auto;}
.pe-modal h3{margin:0 0 14px;}
.pe-close-x{float:right;background:none;border:none;color:var(--pe-muted);font-size:20px;cursor:pointer;}

.pe-row-actions{display:flex;gap:6px;flex-wrap:wrap;}
.pe-row-actions button{font-size:11px;padding:6px 10px;}
.pe-agenda-filter.active{background:var(--pe-brand,#22c55e);color:#03130a;border-color:transparent;}

/* CRM de clientes */
.pe-filters{background:var(--pe-panel-2);border:1px solid var(--pe-line);border-radius:14px;padding:12px;margin-bottom:4px;}
.pe-filter-label{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--pe-muted);font-weight:700;margin-bottom:6px;}
.pe-chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.pe-chips::-webkit-scrollbar{display:none;}
.pe-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;background:var(--pe-panel);border:1px solid var(--pe-line);
  color:var(--pe-text);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;
  transition:border-color .15s ease,background .15s ease;}
.pe-chip:hover{border-color:var(--pe-brand,#22c55e);}
.pe-chip-n{background:var(--pe-line);color:var(--pe-muted);border-radius:999px;padding:1px 7px;font-size:10px;font-weight:700;}
.pe-chip.active{background:var(--pe-brand,#22c55e);color:#03130a;border-color:transparent;}
.pe-chip.active .pe-chip-n{background:rgba(0,0,0,.22);color:#03130a;}
.pe-chip.tag-warn:not(.active){border-color:#5c4a12;}
.pe-chip.tag-bad:not(.active){border-color:#7a2626;}
.pe-chip.tag-ok:not(.active){border-color:#1f5c37;}
.pe-filter-foot{display:flex;gap:6px;align-items:center;margin-top:12px;padding-top:10px;border-top:1px solid var(--pe-line);}
.pe-filter-foot select{flex:1;margin:0;}
.pe-filter-foot button{font-size:11px;padding:8px 10px;white-space:nowrap;}
.pe-cd-tab.active,
.pe-agenda-subtab.active{background:var(--pe-brand,#22c55e);color:#03130a;border-color:transparent;font-weight:700;}
.pe-client-row{transition:border-color .15s ease;}
.pe-client-row:hover{border-color:var(--pe-brand,#22c55e);}
.pe-client-row .pe-table td{padding:6px 4px;}

/* Formas de pagamento (configurações) */
.pe-pm-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;}
.pe-pm-option{display:flex;align-items:center;gap:8px;background:var(--pe-panel-2);border:1.5px solid var(--pe-line);
  border-radius:12px;padding:12px;cursor:pointer;font-size:14px;font-weight:600;position:relative;
  transition:border-color .15s ease,background .15s ease;-webkit-tap-highlight-color:transparent;user-select:none;}
.pe-pm-option input{position:absolute;opacity:0;pointer-events:none;}
.pe-pm-ico{font-size:18px;line-height:1;flex:0 0 auto;}
.pe-pm-txt{flex:1;min-width:0;}
.pe-pm-check{flex:0 0 auto;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--pe-line);
  color:transparent;font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:center;}
.pe-pm-option.active{border-color:var(--pe-brand,#22c55e);background:rgba(34,197,94,.10);}
.pe-pm-option.active .pe-pm-check{background:var(--pe-brand,#22c55e);border-color:transparent;color:#03130a;}
@media (max-width:360px){.pe-pm-grid{grid-template-columns:1fr;}}

/* Tour guiado */
.pe-tour-overlay{position:fixed;inset:0;z-index:9999;}
.pe-tour-hole{position:absolute;border-radius:14px;box-shadow:0 0 0 9999px rgba(2,10,6,.82);
  transition:all .3s cubic-bezier(.4,0,.2,1);pointer-events:none;
  outline:2px solid var(--pe-brand,#22c55e);outline-offset:0;}
.pe-tour-card{position:fixed;left:50%;transform:translateX(-50%);width:min(340px,calc(100vw - 32px));
  background:var(--pe-panel);border:1px solid var(--pe-line);border-radius:16px;padding:18px;
  box-shadow:0 12px 40px rgba(0,0,0,.5);transition:top .3s ease,bottom .3s ease;}
.pe-tour-card h3{margin:0 0 8px;font-size:17px;}
.pe-tour-card p{margin:0 0 16px;font-size:14px;line-height:1.55;color:var(--pe-muted);}
.pe-tour-progress{display:flex;gap:5px;margin-bottom:12px;}
.pe-tour-dot{width:6px;height:6px;border-radius:50%;background:var(--pe-line);transition:all .2s ease;}
.pe-tour-dot.active{background:var(--pe-brand,#22c55e);width:18px;border-radius:3px;}
.pe-tour-actions{display:flex;align-items:center;gap:8px;}
.pe-tour-skip{background:none;border:none;color:var(--pe-muted);font-size:13px;cursor:pointer;padding:8px 4px;text-decoration:underline;}

/* Lembrete de recompra na tela de orçamento */
.pe-recompra-alert{border-radius:10px;padding:10px 12px;font-size:13px;font-weight:600;margin-bottom:8px;line-height:1.4;
  transition:background .2s ease,color .2s ease;}
.pe-recompra-alert.danger{background:rgba(239,68,68,.14);color:#ff6b6b;border:1px solid rgba(239,68,68,.4);}
.pe-recompra-alert.ok{background:rgba(34,197,94,.12);color:#22c55e;border:1px solid rgba(34,197,94,.35);}

/* Painel master: busca de assinante e cards de conta recolhidos (v6.19) */
.pe-search-wrap{position:relative;margin:14px 0 10px;}
.pe-search-wrap input{width:100%;background:var(--pe-panel-2);border:1px solid var(--pe-line);border-radius:10px;
  padding:12px 38px 12px 12px;color:var(--pe-text);font-size:14px;}
.pe-search-wrap input:focus{outline:none;border-color:var(--pe-brand,#22c55e);}
.pe-search-wrap input::-webkit-search-cancel-button{display:none;}
.pe-search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;
  color:var(--pe-muted);font-size:15px;cursor:pointer;padding:6px 8px;line-height:1;}

.pe-wa-missing{background:linear-gradient(180deg,rgba(14,165,233,.16),rgba(14,165,233,.04));
  border:1px solid rgba(14,165,233,.45);border-radius:12px;padding:14px;margin-bottom:12px;}
.pe-wa-missing b{font-size:14px;}

.pe-acc{padding:0;overflow:hidden;}
.pe-acc-head{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;cursor:pointer;
  -webkit-tap-highlight-color:transparent;transition:background .15s ease;}
.pe-acc-head:hover{background:var(--pe-panel-2);}
.pe-acc-head-main{flex:1;min-width:0;}
.pe-acc-name{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:3px;}
.pe-acc-name b{font-size:15px;}
.pe-acc-activity{display:flex;flex-wrap:wrap;gap:6px;font-size:12.5px;color:var(--pe-text);margin:6px 0 2px;}
.pe-acc-activity b{color:var(--pe-brand,#22c55e);}
.pe-acc-caret{color:var(--pe-muted);font-size:14px;flex:0 0 auto;padding-top:2px;transition:transform .2s ease;}
.pe-acc.open .pe-acc-caret{transform:rotate(180deg);}
.pe-acc-body{padding:0 16px 16px;border-top:1px solid var(--pe-line);}
.pe-acc-body[hidden]{display:none;}
/* Link estilizado como botão (ex.: "Chamar no WhatsApp") */
a.pe-btn{display:inline-block;text-decoration:none;text-align:center;box-sizing:border-box;}
a.pe-btn.pe-block{display:block;}
/* Faixa pedindo o WhatsApp do assinante (v6.19) */
#pe-wa-nudge input{width:100%;background:var(--pe-panel-2);border:1px solid var(--pe-line);border-radius:10px;
  padding:11px 12px;color:var(--pe-text);font-size:14px;font-family:inherit;box-sizing:border-box;}
#pe-wa-nudge input:focus{outline:none;border-color:var(--pe-brand,#22c55e);}
