:root{
  --ink:#15102E; --ink-2:#221B42; --ink-3:#2C2552; --line:#E7E3F2; --line-2:#D4CDE8;
  --bg:#F5F3FB; --muted:#4E4868; --muted-2:#433D5E; --on-dark:#C9C2E6;
  --brand:#6D3AE8; --brand-hover:#5426C8; --brand-soft:#EFE9FF; --brand-ink:#3D1F99;
  --ok-bg:#DDF3E8; --ok-ink:#07513A; --err-bg:#FDE7E4; --err-ink:#8A1C12;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Manrope',system-ui,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
a{color:var(--brand)} a:hover{color:var(--brand-hover)}
h1,h2,h3{font-family:'Outfit',sans-serif;margin:0}
button,input,select,textarea{font:inherit}
:focus-visible{outline:3px solid #B9A2FF;outline-offset:2px}
.sr{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Botões e campos */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:12px;border:0;background:var(--brand);color:#fff;font-weight:700;font-size:15px;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--brand-hover);color:#fff}
.btn.dark{background:var(--ink)} .btn.dark:hover{background:#000}
.btn.ghost{background:#fff;color:var(--ink);border:1.5px solid var(--line-2)} .btn.ghost:hover{border-color:var(--ink);color:var(--ink)}
.btn.small{min-height:36px;padding:0 12px;font-size:13px;border-radius:10px}
.btn.danger{background:#fff;color:var(--err-ink);border:1.5px solid #F2C4BE}
.btn.danger:hover{background:var(--err-bg);color:var(--err-ink)}
.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:var(--muted-2)}
.field input,.field select,.field textarea{font-weight:500;font-size:15px;color:var(--ink);min-height:46px;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;background:#fff;width:100%}
.field textarea{min-height:80px;resize:vertical}
.field small{font-weight:500;color:var(--muted)}
.prefix{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:10px;background:#fff;padding-left:12px}
.prefix span{color:var(--muted);font-weight:600;font-size:14px;white-space:nowrap}
.prefix input{border:0!important;min-height:44px;padding-left:2px!important}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;color:var(--muted-2);font-weight:500}
.check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--brand);flex-shrink:0}
.alert{padding:12px 14px;border-radius:12px;font-weight:700;font-size:14px}
.alert.ok{background:var(--ok-bg);color:var(--ok-ink)}
.alert.err{background:var(--err-bg);color:var(--err-ink)}

/* Telas de entrada */
.auth{min-height:100vh;display:flex;flex-wrap:wrap}
.auth-side{flex:1 1 380px;background:var(--ink);color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:space-between;gap:32px}
.auth-side h2{font-size:clamp(30px,3.6vw,46px);line-height:1.05;font-weight:800}
.auth-side p{color:var(--on-dark);font-size:17px;line-height:1.6;max-width:420px}
.auth-main{flex:1 1 440px;display:flex;align-items:center;justify-content:center;padding:40px 24px}
.auth-card{width:100%;max-width:420px;display:flex;flex-direction:column;gap:16px}
.auth-card h1{font-size:30px;font-weight:800}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;font-family:'Outfit',sans-serif;font-weight:800;font-size:22px}
.brand img{width:36px;height:36px}

/* Painel */
.panel{min-height:100vh;display:flex;flex-wrap:wrap}
.side{flex:1 1 220px;max-width:100%;background:var(--ink);color:#fff;padding:22px 16px;display:flex;flex-direction:column;gap:6px}
.side .brand{padding:0 8px 18px;color:#fff}
.side nav{display:flex;flex-direction:column;gap:4px}
.side nav a,.side nav span{display:flex;gap:10px;align-items:center;padding:12px;border-radius:12px;color:var(--on-dark);text-decoration:none;font-weight:600;font-size:15px}
.side nav a[aria-current]{background:var(--ink-3);color:#fff;font-weight:700}
.side nav a:hover{color:#fff}
.side nav span{opacity:.6;cursor:default;white-space:nowrap}
.side nav span em{margin-left:auto;font-style:normal;font-size:10px;font-weight:800;padding:2px 7px;border-radius:999px;background:var(--ink-3);white-space:nowrap}
.side .foot{margin-top:auto;padding:12px;border-radius:14px;background:var(--ink-2);display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--on-dark)}
.side .foot button{background:none;border:0;color:#fff;font-weight:700;padding:0;text-align:left;cursor:pointer;font-size:14px}
.main{flex:999 1 560px;min-width:0;padding:24px;display:flex;flex-direction:column;gap:20px}
.topbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.topbar h1{font-size:28px;font-weight:800}
.topbar .url{font-size:14px;color:var(--muted)}
.cols{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}
.col{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:16px}
.card{background:#fff;border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:14px}
.card h2{font-size:18px;font-weight:700}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.kpi{background:#fff;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:4px}
.kpi span{font-size:13px;font-weight:700;color:var(--muted)}
.kpi strong{font-family:'Outfit',sans-serif;font-size:30px;font-weight:800}
.link-row{display:flex;align-items:center;gap:10px;padding:12px;border:1.5px solid var(--line);border-radius:14px;flex-wrap:wrap}
.link-row.off{opacity:.6}
.link-row .info{flex:1 1 180px;min-width:0;display:flex;flex-direction:column;gap:2px}
.link-row .info strong{font-size:15px;overflow-wrap:anywhere}
.link-row .info span{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.link-row .acts{display:flex;gap:6px;flex-wrap:wrap}
.link-row form{margin:0}
.icon-btn{width:36px;height:36px;border-radius:10px;border:1.5px solid var(--line-2);background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink)}
.icon-btn:hover{border-color:var(--ink)}
.icon-btn:disabled{opacity:.35;cursor:default}
.tag{font-size:11px;font-weight:800;padding:3px 8px;border-radius:999px;background:var(--brand-soft);color:var(--brand-ink)}
.themes{display:flex;flex-wrap:wrap;gap:10px}
.theme-opt{position:relative}
.theme-opt input{position:absolute;opacity:0}
.theme-opt label{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;min-width:82px;border-radius:14px;border:2px solid var(--line);cursor:pointer;font-size:13px;font-weight:700}
.theme-opt input:checked+label{border-color:var(--ink)}
.theme-opt input:focus-visible+label{outline:3px solid #B9A2FF;outline-offset:2px}
.swatch{width:58px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line)}
.swatch i{width:28px;height:12px;border-radius:999px;display:block}
.sources{display:flex;flex-direction:column;gap:10px}
.src-row{display:flex;flex-direction:column;gap:5px;font-size:14px}
.src-row div{display:flex;justify-content:space-between}
.bar{height:8px;border-radius:999px;background:#ECEAF3}
.bar i{display:block;height:8px;border-radius:999px;background:var(--brand)}
.preview{flex:0 1 340px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:10px;position:sticky;top:20px}
.phone{width:320px;max-width:100%;height:640px;border-radius:44px;background:var(--ink);padding:12px}
.phone iframe{width:100%;height:100%;border:0;border-radius:34px;background:#fff}
.empty{padding:22px;border:2px dashed var(--line-2);border-radius:14px;text-align:center;color:var(--muted);font-size:14px}
details.add summary{list-style:none;cursor:pointer}
details.add summary::-webkit-details-marker{display:none}
.kind-pills{display:flex;gap:8px;flex-wrap:wrap}
.kind-pills label{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:1.5px solid var(--line-2);font-size:13px;font-weight:700;cursor:pointer;color:var(--ink)}
.kind-pills input{accent-color:var(--brand)}
@media (max-width:760px){.preview{display:none}.side{flex-basis:100%}.main{padding:16px}}

/* Página pública */
.pub{min-height:100vh;background:var(--t-bg);color:var(--t-text);display:flex;justify-content:center}
.pub-in{width:100%;max-width:520px;padding:44px 20px 28px;display:flex;flex-direction:column;gap:12px}
.pub-head{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding-bottom:8px}
.avatar{width:88px;height:88px;border-radius:50%;background:var(--t-accent);color:var(--t-on);display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;font-weight:800;font-size:32px}
.pub-head h1{font-size:24px;font-weight:800;margin-top:6px}
.pub-head p{margin:0;color:var(--t-muted);font-size:15px;line-height:1.5;white-space:pre-line}
.pub-link{display:flex;align-items:center;justify-content:center;text-align:center;min-height:54px;padding:12px 18px;border-radius:16px;background:var(--t-card);color:var(--t-text);font-weight:700;font-size:15px;text-decoration:none;transition:transform .12s}
.pub-link:hover{transform:translateY(-1px);color:var(--t-text)}
.pub-link.primary{background:var(--t-accent);color:var(--t-on)}
.pub-link.primary:hover{color:var(--t-on)}
.pub-text{padding:14px 16px;border-radius:16px;background:var(--t-card);font-size:14px;line-height:1.55;color:var(--t-text);white-space:pre-line}
.pub-foot{margin-top:auto;padding-top:20px;text-align:center;font-size:12px;font-weight:600}
.pub-foot a{color:var(--t-muted);text-decoration:none}
.pub-empty{text-align:center;color:var(--t-muted);font-size:14px;padding:24px 0}

/* v2 — catálogo e contatos (painel) */
.side nav a .count{margin-left:auto;min-width:22px;padding:2px 7px;border-radius:999px;background:#B9A2FF;color:var(--ink);font-size:12px;font-weight:800;text-align:center}
.mini{width:52px;height:52px;border-radius:10px;object-fit:cover;flex-shrink:0;background:var(--bg)}
.empty-mini{display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}
.thumbs{display:flex;flex-wrap:wrap;gap:10px}
.thumb{position:relative;width:96px;height:96px}
.thumb img{width:96px;height:96px;object-fit:cover;border-radius:12px;display:block}
.thumb form{position:absolute;top:4px;right:4px;margin:0}
.thumb .icon-btn{width:32px;height:32px;background:rgba(255,255,255,.95)}
.stage-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.stage-tabs a{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-radius:16px;background:#fff;color:var(--ink);text-decoration:none}
.stage-tabs a span{font-size:13px;font-weight:700}
.stage-tabs a strong{font-family:'Outfit',sans-serif;font-size:26px;font-weight:800}
.stage-tabs a[aria-current]{background:var(--ink);color:#fff}
.table{width:100%;min-width:760px;border-collapse:collapse;font-size:14px}
.table th{text-align:left;padding:12px;font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:700}
.table td{padding:12px;border-top:1px solid var(--line);vertical-align:middle}
.table th:first-child,.table td:first-child{padding-left:20px}
.table th:last-child,.table td:last-child{padding-right:20px}
.table .sub{display:block;font-size:13px;color:var(--muted)}
.table .muted{color:var(--muted)}
.table form{margin:0}
.src{padding:4px 9px;border-radius:8px;background:var(--bg);font-size:12px;font-weight:700;color:var(--muted-2)}
.stage{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:999px;border:0;font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap}
.acts-cell{white-space:nowrap;text-align:right}
.acts-cell form{display:inline-block;vertical-align:middle}
.btn.wa{background:#E7F5EE;color:#07513A;vertical-align:middle}
.btn.wa:hover{background:#D3EEDF;color:#07513A}

/* v2 — páginas públicas do catálogo */
.pub-in.wide{max-width:760px}
.pub-bar{display:flex;align-items:center;gap:12px}
.pub-bar h1{font-size:22px;font-weight:800}
.pub-bar span{font-size:13px;color:var(--t-muted)}
.pub-bar div{display:flex;flex-direction:column}
.round{width:44px;height:44px;border-radius:12px;background:var(--t-card);color:var(--t-text);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.round:hover{color:var(--t-text)}
.search{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 14px;border-radius:14px;background:var(--t-card);color:var(--t-muted)}
.search input{flex:1;border:0;outline:none;background:transparent;font-size:15px;color:var(--t-text)}
.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}
.chip{flex-shrink:0;min-height:40px;padding:0 14px;border-radius:999px;border:0;background:var(--t-card);color:var(--t-text);font-size:14px;font-weight:700;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--t-accent);color:var(--t-on)}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.cat-card{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:var(--t-card);color:var(--t-text);text-decoration:none}
.cat-card[hidden]{display:none}
.cat-card:hover{color:var(--t-text)}
.cat-card img,.cat-card .noimg{width:100%;aspect-ratio:1/1;object-fit:cover;display:flex;align-items:center;justify-content:center;background:rgba(127,127,127,.12);color:var(--t-muted)}
.cc-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:3px}
.cc-body strong{font-size:14px;line-height:1.3}
.cc-body span{font-size:13px;color:var(--t-muted)}
.gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;border-radius:20px;aspect-ratio:1/1;width:100%}
.gallery .slide{flex:0 0 100%;width:100%;height:100%;scroll-snap-align:center;object-fit:cover;border-radius:20px;background:rgba(127,127,127,.12)}
.gallery .noimg{display:flex;align-items:center;justify-content:center;color:var(--t-muted)}
.hint{margin:-4px 0 0;text-align:center;font-size:12px;color:var(--t-muted)}
.pill{align-self:flex-start;padding:5px 10px;border-radius:999px;background:var(--t-card);font-size:12px;font-weight:800}
.prod-name{font-size:28px;font-weight:800;line-height:1.1}
.prod-price{font-size:19px}
.prod-desc{margin:0;font-size:15px;line-height:1.6;color:var(--t-muted);white-space:pre-line}
.interest summary{list-style:none;cursor:pointer;gap:10px}
.interest summary::-webkit-details-marker{display:none}
.interest[open] summary{display:none}
.interest-form{display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:18px;background:var(--t-card)}
.pf{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700}
.pf input{min-height:50px;padding:0 14px;border-radius:12px;border:1.5px solid rgba(127,127,127,.35);background:var(--t-bg);color:var(--t-text);font-size:16px}
.pcheck{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:var(--t-muted)}
.pcheck input{width:22px;height:22px;margin:0;flex-shrink:0;accent-color:var(--t-accent)}
.hp{position:absolute;left:-9999px}
.pub-link.catalog{justify-content:space-between;gap:12px;border:2px solid var(--t-accent)}
.pub-link.catalog span{flex:1;text-align:left}
