
/* ===== Fontes auto-hospedadas (CSP-safe, servidas de 'self') ===== */
/* Sora + Inter como fontes variáveis latinas — uma face por família cobre toda a faixa de peso */
@font-face{
  font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('fonts/inter-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Sora';font-style:normal;font-weight:600 800;font-display:swap;
  src:url('fonts/sora-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root{
  /* ===== Marca Eneven (eneven.com.br) ===== */
  --brand:#6117C4; --brand-2:#21A8E4; --brand-deep:#4D12A0;
  --brand-soft:#F5F3FF; --brand-tint:rgba(97,23,196,.08);
  /* action color = roxo da marca (mantém nomes legados p/ não quebrar) */
  --blue:#6117C4; --blue-d:#4D12A0; --purple:#7C3AED; --purple-l:#8B5CF6;
  --chumbo:#1A1D23; --ink:#1A1D23; --muted:#5A5F6A; --muted-2:#9AA1AE;
  --line:#ECE9F5; --bg:#FAFAFF; --white:#FFFFFF;
  --grad:linear-gradient(135deg,#6117C4 0%,#21A8E4 100%);
  --grad-soft:linear-gradient(135deg,rgba(97,23,196,.10),rgba(33,168,228,.08));
  --ok:#16A34A; --ok-bg:#E8F7EE; --warn:#D97706; --warn-bg:#FEF3E2;
  --red:#DC2626; --red-bg:#FDECEC; --zap:#25D366; --zap-d:#1DA851;
  --shadow:0 2px 8px rgba(15,17,23,.05),0 8px 24px -14px rgba(97,23,196,.22);
  --shadow-lg:0 20px 50px -12px rgba(97,23,196,.28);
  --radius:14px; --radius-lg:22px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{height:100%;}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--ink);
  -webkit-font-smoothing:antialiased;height:100%;overflow:hidden;display:flex;flex-direction:column;}
h1,h2,h3,.gro{font-family:'Sora','Inter',sans-serif;letter-spacing:-.01em;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
input,select,textarea{font-family:inherit;font-size:14px;}

/* ===== HEADER ===== */
header{flex:none;background:rgba(246,247,251,.94);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);z-index:30;}
.hd{display:flex;align-items:center;gap:10px;height:54px;padding:0 14px;}
.logo{display:flex;align-items:center;gap:8px;font-family:'Sora';font-weight:700;font-size:18px;color:var(--chumbo);}
.logo .e{width:28px;height:28px;border-radius:8px;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;}
.logo small{font-size:10px;font-weight:600;color:var(--muted-2);letter-spacing:.08em;text-transform:uppercase;margin-top:4px;}
.hd-sp{flex:1;}
.icon-btn{width:36px;height:36px;border-radius:10px;background:var(--white);border:1.5px solid var(--line);
  display:flex;align-items:center;justify-content:center;color:var(--muted);transition:.15s;box-shadow:var(--shadow);flex:none;}
.icon-btn:active{transform:scale(.94);}
.icon-btn svg{width:18px;height:18px;}
.icon-btn.primary{background:var(--grad);color:#fff;border-color:transparent;}

/* ===== COMBINED FILTER BAR (search + nichos + leads) ===== */
.search{position:relative;flex:none;width:210px;}
.search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--muted-2);}
.search input{width:100%;height:36px;border-radius:11px;border:1.5px solid var(--line);background:var(--white);padding-right:34px!important;
  padding:0 12px 0 33px;font-size:13px;outline:none;box-shadow:var(--shadow);}
.search input:focus{border-color:var(--blue);}
.search-fone-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:none;background:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;color:var(--muted-2);border-radius:6px;transition:.15s;}
.search-fone-btn:hover{background:var(--line);color:var(--blue);}
.search-fone-btn svg{width:14px;height:14px;}
.stat-chip{height:36px;display:flex;align-items:center;gap:5px;padding:0 11px;border-radius:11px;
  background:var(--white);border:1.5px solid var(--line);font-size:12px;font-weight:600;color:var(--muted);box-shadow:var(--shadow);white-space:nowrap;margin-left:auto;}
.stat-chip b{color:var(--chumbo);font-size:13px;}

/* niche filter bar */
.filter-bar{flex:none;display:flex;align-items:center;gap:8px;padding:8px 14px;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.filter-bar .fb-lbl{flex:none;font-size:11px;font-weight:700;color:var(--muted-2);text-transform:uppercase;letter-spacing:.04em;}
.fpill{flex:none;padding:7px 13px;border-radius:99px;border:1.5px solid var(--line);background:var(--white);
  font-size:12.5px;font-weight:600;color:var(--muted);white-space:nowrap;transition:.13s;box-shadow:var(--shadow);}
.fpill.on{background:var(--grad);color:#fff;border-color:transparent;}

/* dashboard page */
#mod-dash{background:var(--bg,#F0F2F8);}
.dash-page{max-width:560px;margin:0 auto;padding:20px 16px 32px;}
.dash-page-hd{margin-bottom:18px;}
.dash-page-hd h2{font-size:22px;font-weight:700;color:var(--chumbo);margin:0 0 3px;}
.dash-page-hd .sub{font-size:13px;color:var(--muted);}

/* dashboard cards */
.dash-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;}
.dash-card{background:var(--white);border:1.5px solid var(--line);border-radius:13px;padding:12px 9px;text-align:center;}
.dash-card .num{font-family:'Sora';font-size:23px;font-weight:700;color:var(--chumbo);line-height:1.1;}
.dash-card .lbl{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:3px;}
.dash-card .sub{font-size:11px;color:var(--ok);font-weight:700;margin-top:4px;}
.dash-hero{display:flex;align-items:center;gap:12px;background:var(--grad);border-radius:14px;padding:13px 15px;color:#fff;margin-bottom:10px;}
.dash-hero .big{font-family:'Sora';font-size:26px;font-weight:700;line-height:1;}
.dash-hero .tx{font-size:12px;opacity:.92;line-height:1.4;}
.msg-stat{background:var(--white);border:1.5px solid var(--line);border-radius:13px;padding:11px 13px;margin-bottom:8px;}
.msg-stat.top{border-color:var(--purple-l);}
.msg-stat .row1{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
.msg-stat .row1 b{flex:1;font-family:'Sora';font-size:13px;font-weight:700;color:var(--chumbo);}
.msg-stat .pct{font-family:'Sora';font-size:14px;font-weight:700;color:var(--chumbo);flex:none;}
.msg-bar{height:7px;background:#EDEFF6;border-radius:99px;overflow:hidden;margin-bottom:6px;}
.msg-bar i{display:block;height:100%;background:var(--grad);border-radius:99px;}
.msg-stat .row2{font-size:11.5px;color:var(--muted);}

/* ===== BOARD ===== */
.board{flex:1;display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding:4px 14px 14px;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
.col{flex:none;width:min(86vw,330px);display:flex;flex-direction:column;background:#EFF1F7;
  border:1.5px solid var(--line);border-radius:16px;scroll-snap-align:center;overflow:hidden;max-height:100%;}
.col-hd{flex:none;padding:11px 13px 9px;border-top:3.5px solid var(--c,#999);background:var(--white);
  display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);}
.col-hd .nm{font-family:'Sora';font-weight:700;font-size:13.5px;color:var(--chumbo);flex:1;letter-spacing:.01em;}
.col-hd .ct{font-size:11.5px;font-weight:700;background:#EDEFF6;color:var(--muted);border-radius:99px;padding:2px 9px;}
.col-hd .col-clear{flex:none;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;
  background:var(--red-bg);color:var(--red);font-size:13px;line-height:1;transition:.13s;}
.col-hd .col-clear:active{transform:scale(.92);}
.col-bd{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px;}
.col-empty{text-align:center;color:var(--muted-2);font-size:12px;padding:26px 10px;}

/* ===== CARD ===== */
.card{background:var(--white);border:1.5px solid var(--line);border-radius:13px;padding:11px 12px;
  box-shadow:var(--shadow);cursor:pointer;transition:.12s;}
.card:active{transform:scale(.985);}
.card .tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:7px;}
.tag{font-size:10px;font-weight:700;padding:2.5px 8px;border-radius:6px;letter-spacing:.02em;}
.tag.ok{background:var(--ok);color:#fff;}
.tag.blue{background:var(--blue);color:#fff;}
.tag.red{background:#F8AFA6;color:#7F1D1D;}
.tag.soft{background:#EDEFF6;color:var(--muted);}
.tag.amber{background:#FDE68A;color:#78350F;}
.card .nm{font-weight:600;font-size:13.5px;line-height:1.35;color:var(--ink);}
.card .meta{display:flex;align-items:center;gap:7px;margin-top:7px;font-size:11px;color:var(--muted);flex-wrap:wrap;}
.card .meta .dot{width:3px;height:3px;border-radius:99px;background:var(--muted-2);}
.sent-pills{display:flex;gap:4px;margin-top:7px;flex-wrap:wrap;}
.sp{font-size:9.5px;font-weight:700;border-radius:5px;padding:2px 6px;background:#EDEFF6;color:var(--muted-2);}
.sp.on{background:var(--ok-bg);color:var(--ok);}
.stage-timer{font-size:9.5px;font-weight:700;border-radius:5px;padding:2px 6px;margin-left:auto;letter-spacing:.01em;}

/* ===== FAB IMPORT ===== */
.fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:25;
  height:48px;padding:0 18px 0 14px;border-radius:99px;background:var(--grad);color:#fff;
  display:flex;align-items:center;gap:8px;font-weight:700;font-size:13.5px;font-family:'Sora';
  box-shadow:0 12px 30px -8px rgba(97,23,196,.55);}
.fab svg{width:18px;height:18px;}
.fab:active{transform:scale(.96);}

/* ===== SHEET / MODAL ===== */
.overlay{position:fixed;inset:0;background:rgba(27,31,42,.5);z-index:40;opacity:0;pointer-events:none;transition:.2s;}
.overlay.open{opacity:1;pointer-events:auto;}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--bg);
  border-radius:22px 22px 0 0;max-height:92dvh;display:flex;flex-direction:column;
  transform:translateY(105%);transition:transform .26s cubic-bezier(.32,.72,.25,1);
  box-shadow:0 -10px 50px rgba(31,36,51,.3);}
.sheet.open{transform:translateY(0);}
.sheet-grab{flex:none;display:flex;justify-content:center;padding:9px 0 3px;}
.sheet-grab span{width:38px;height:4.5px;border-radius:99px;background:#D4D8E6;}
.sheet-hd{flex:none;display:flex;align-items:flex-start;gap:10px;padding:6px 18px 12px;}
.sheet-hd .t{flex:1;}
.sheet-hd h2{font-size:17px;font-weight:700;color:var(--chumbo);line-height:1.3;}
.sheet-hd .sub{font-size:11.5px;color:var(--muted);margin-top:2px;}
.x-btn{width:30px;height:30px;border-radius:99px;background:#EDEFF6;color:var(--muted);
  display:flex;align-items:center;justify-content:center;font-size:15px;flex:none;}
.sheet-bd{flex:1;overflow-y:auto;padding:0 16px calc(20px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;}

/* blocks inside sheet */
.blk{background:var(--white);border:1.5px solid var(--line);border-radius:15px;padding:14px;margin-bottom:11px;box-shadow:var(--shadow);}
.blk-title{font-family:'Sora';font-weight:700;font-size:13px;color:var(--chumbo);margin-bottom:10px;display:flex;align-items:center;gap:7px;}
.f-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.f-grid .full{grid-column:1/-1;}
.f label{display:block;font-size:11px;font-weight:600;color:var(--muted);margin-bottom:4px;}
.f input,.f select{width:100%;height:38px;border-radius:10px;border:1.5px solid var(--line);background:var(--bg);
  padding:0 11px;font-size:13.5px;outline:none;}
.f input:focus,.f select:focus{border-color:var(--blue);background:#fff;}
.send-msg{width:100%;border-radius:10px;border:1.5px solid var(--line);background:var(--bg);
  padding:8px 11px;font:inherit;font-size:13px;line-height:1.4;color:var(--ink);outline:none;resize:vertical;min-height:42px;margin-bottom:8px;}
.send-msg:focus{border-color:var(--blue);background:#fff;}
.contact-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);}
.contact-row a{color:var(--blue);font-weight:600;text-decoration:none;word-break:break-all;}
.hint{display:flex;gap:9px;background:#F3EFFD;border:1.5px solid #DDD2F8;border-radius:12px;
  padding:11px 12px;font-size:12px;color:#4C2E91;line-height:1.5;margin-bottom:11px;}
.hint b{font-weight:700;}

/* niche pills */
.pills{display:flex;gap:7px;flex-wrap:wrap;}
.pill{padding:7px 13px;border-radius:99px;border:1.5px solid var(--line);background:var(--bg);
  font-size:12.5px;font-weight:600;color:var(--muted);transition:.13s;}
.pill.on{background:var(--grad);color:#fff;border-color:transparent;}

/* tabs */
.tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;margin-bottom:10px;-webkit-overflow-scrolling:touch;}
.tab{flex:none;padding:8px 13px;border-radius:11px;background:var(--white);border:1.5px solid var(--line);
  font-size:12px;font-weight:700;color:var(--muted);font-family:'Sora';white-space:nowrap;}
.tab.on{background:var(--chumbo);color:#fff;border-color:transparent;}

/* message list */
.msg-item{background:var(--white);border:1.5px solid var(--line);border-radius:13px;margin-bottom:8px;overflow:hidden;}
.msg-item.on{border-color:var(--purple-l);}
.msg-hd{display:flex;align-items:center;gap:9px;padding:11px 13px;width:100%;text-align:left;}
.msg-hd .ti{flex:1;}
.msg-hd .ti b{display:block;font-size:13px;font-weight:700;color:var(--chumbo);font-family:'Sora';}
.msg-hd .ti span{font-size:11px;color:var(--muted);}
.badge{font-size:9px;font-weight:800;letter-spacing:.04em;border-radius:6px;padding:3px 7px;flex:none;text-transform:uppercase;}
.badge.rec{background:var(--grad);color:#fff;}
.badge.all{background:#EDEFF6;color:var(--muted);}
.badge.sent{background:var(--ok-bg);color:var(--ok);}
.chev{width:16px;height:16px;color:var(--muted-2);transition:.18s;flex:none;}
.msg-item.on .chev{transform:rotate(180deg);}
.msg-body{display:none;padding:0 13px 13px;}
.msg-item.on .msg-body{display:block;}
.preview{background:var(--bg);border:1.5px solid var(--line);border-radius:11px;padding:12px;
  font-size:13px;line-height:1.6;white-space:pre-wrap;color:#2A3042;margin-bottom:10px;max-height:300px;overflow-y:auto;}
.preview .fl{background:#FDE9C8;border-radius:4px;padding:0 3px;font-weight:600;}
.preview .ph{background:#FDE9C8;border-radius:4px;padding:0 3px;color:#92600A;font-weight:600;}
.prev-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;}
.prev-bar .pb-l{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
.greet-btn{flex:none;font-size:11.5px;font-weight:700;color:var(--purple);background:#F3EFFD;border:1.5px solid #DDD2F8;
  border-radius:9px;padding:5px 10px;font-family:'Sora';transition:.13s;}
.greet-btn:active{transform:scale(.95);}
.greet-row{display:flex;align-items:center;gap:8px;}
.greet-now{flex:1;font-size:13px;font-weight:600;color:var(--chumbo);background:var(--bg);border:1.5px solid var(--line);
  border-radius:10px;padding:8px 11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.msg-actions{display:flex;gap:8px;}
.btn{flex:1;height:44px;border-radius:12px;font-weight:700;font-size:13.5px;display:flex;align-items:center;
  justify-content:center;gap:7px;font-family:'Sora';transition:.13s;}
.btn:active{transform:scale(.97);}
.btn svg{width:17px;height:17px;}
.btn.dark{background:var(--chumbo);color:#fff;}
.btn.zap{background:var(--zap);color:#fff;box-shadow:0 6px 18px -6px rgba(37,211,102,.6);}
.btn.zap:disabled{background:#C9CDD8;box-shadow:none;}
.btn.email{background:#6117C4;color:#fff;box-shadow:0 6px 18px -6px rgba(97,23,196,.5);}
.btn.email:disabled{background:#C9CDD8;box-shadow:none;}
.btn.ghost{background:var(--white);border:1.5px solid var(--line);color:var(--muted);}
.btn.danger{background:var(--red-bg);color:var(--red);}
.preview-wrap{position:relative;}
.btn-copy-icon{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:7px;
  background:rgba(255,255,255,.9);border:1.5px solid var(--line);color:var(--muted);
  display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:.13s;}
.btn-copy-icon:active{transform:scale(.93);}
.btn-copy-icon svg{width:13px;height:13px;}
.muted-tag{color:var(--muted);font-size:12px;}

/* lead actions row */
.act-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.act-grid .full{grid-column:1/-1;}

/* import sheet */
.imp-tabs{display:flex;gap:7px;margin-bottom:11px;}
textarea.paste{width:100%;min-height:150px;border-radius:12px;border:1.5px solid var(--line);background:var(--white);
  padding:11px;font-size:12px;font-family:ui-monospace,monospace;outline:none;resize:vertical;}
textarea.paste:focus{border-color:var(--blue);}
.file-drop{display:block;border:2px dashed #C9CFE2;border-radius:13px;background:var(--white);padding:18px 14px;text-align:center;
  color:var(--muted);font-size:13px;font-weight:600;margin:6px 0;cursor:pointer;}
.note{font-size:11.5px;color:var(--muted);line-height:1.55;margin-top:9px;}
.note code{background:#EDEFF6;border-radius:5px;padding:1px 5px;font-size:10.5px;}

/* history */
.hist{font-size:12px;color:var(--muted);}
.hist li{list-style:none;display:flex;gap:8px;padding:5px 0;border-bottom:1px dashed var(--line);}
.hist li:last-child{border:none;}
.hist .when{color:var(--muted-2);font-size:11px;flex:none;width:96px;}

/* toast */
.toast{position:fixed;left:50%;bottom:calc(86px + env(safe-area-inset-bottom));transform:translateX(-50%) translateY(14px);
  background:var(--chumbo);color:#fff;font-size:12.5px;font-weight:600;border-radius:99px;padding:10px 18px;
  z-index:80;opacity:0;pointer-events:none;transition:.22s;box-shadow:0 10px 30px rgba(0,0,0,.3);white-space:nowrap;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ===== CONFIRM MODAL ===== */
.confirm-wrap{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;
  padding:24px;background:rgba(27,31,42,.6);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:.18s;}
.confirm-wrap.open{opacity:1;pointer-events:auto;}
.confirm-card{background:var(--white);border-radius:20px;max-width:380px;width:100%;padding:22px 20px 18px;
  text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.35);transform:scale(.94);transition:.2s;}
.confirm-wrap.open .confirm-card{transform:scale(1);}
.confirm-ico{font-size:34px;margin-bottom:8px;}
.confirm-card h3{font-family:'Sora';font-size:18px;font-weight:700;color:var(--chumbo);margin-bottom:7px;}
.confirm-card p{font-size:13.5px;color:var(--muted);line-height:1.55;margin-bottom:14px;}
#cfTypeWrap{margin-bottom:14px;}
#cfTypeInput{width:100%;height:44px;border-radius:11px;border:2px solid var(--line);background:var(--bg);
  text-align:center;font-family:'Sora';font-weight:700;font-size:16px;letter-spacing:.12em;color:var(--red);outline:none;}
#cfTypeInput:focus{border-color:var(--red);background:#fff;}
.confirm-actions{display:flex;gap:9px;}
.confirm-actions .btn{flex:1;}

@media(min-width:760px){
  .col{width:300px;}
  .sheet{left:50%;right:auto;width:560px;transform:translate(-50%,105%);border-radius:22px 22px 0 0;}
  .sheet.open{transform:translate(-50%,0);}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;}}

#mod-rasp{
      --bg: #0f172a;
      --bg-soft: #1e293b;
      --card: #ffffff;
      --ink: #0f172a;
      --ink-soft: #64748b;
      --line: #e2e8f0;
      --brand: #4f46e5;
      --brand-2: #7c3aed;
      --ok: #16a34a;
      --danger: #dc2626;
      --radius: 16px;
      --shadow: 0 10px 30px rgba(2, 6, 23, 0.12);
    }#mod-rasp *{ box-sizing: border-box; margin: 0; padding: 0; }#mod-rasp{
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
      color: var(--ink);
      background: linear-gradient(160deg, #4f46e5 0%, #7c3aed 45%, #0f172a 100%);
      background-attachment: scroll;
      min-height: 100vh;
      padding: 16px;
      -webkit-font-smoothing: antialiased;
    }#mod-rasp .wrap{ max-width: 1000px; margin: 0 auto; display:flex; flex-direction:column; gap:16px; padding-top:16px; }#mod-rasp header{
      text-align: center;
      color: #fff;
      padding: 18px 8px 10px;
    }#mod-rasp header .logo{
      font-size: 38px;
      line-height: 1;
      margin-bottom: 8px;
    }#mod-rasp header h1{
      font-size: 22px;
      font-weight: 800;
      letter-spacing: -0.3px;
    }#mod-rasp header p{
      font-size: 14px;
      opacity: 0.85;
      margin-top: 6px;
    }#mod-rasp .card{
      background: var(--card);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      padding: 18px;
      margin-bottom: 16px;
    }#mod-rasp label{
      display: block;
      font-size: 13px;
      font-weight: 600;
      color: var(--ink);
      margin-bottom: 6px;
    }#mod-rasp .hint{ font-size: 12px; color: var(--ink-soft); font-weight: 400; margin-top: 4px; }#mod-rasp .field{ margin-bottom: 14px; }#mod-rasp input[type="text"], #mod-rasp input[type="password"], #mod-rasp input[type="number"], #mod-rasp select{
      width: 100%;
      padding: 13px 14px;
      font-size: 16px; 
      border: 1.5px solid var(--line);
      border-radius: 12px;
      background: #f8fafc;
      color: var(--ink);
      transition: border-color .15s, box-shadow .15s;
    }#mod-rasp input:focus, #mod-rasp select:focus{
      outline: none;
      border-color: var(--brand);
      box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
      background: #fff;
    }#mod-rasp .key-row{ display: flex; gap: 8px; }#mod-rasp .key-row input{ flex: 1; }#mod-rasp .btn{
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 13px 16px;
      font-size: 15px;
      font-weight: 700;
      border: none;
      border-radius: 12px;
      cursor: pointer;
      transition: transform .08s, opacity .15s, background .15s;
      white-space: nowrap;
    }#mod-rasp .btn:active{ transform: scale(0.98); }#mod-rasp .btn:disabled{ opacity: 0.55; cursor: not-allowed; }#mod-rasp .btn-primary{
      width: 100%;
      color: #fff;
      background: linear-gradient(135deg, var(--brand), var(--brand-2));
      font-size: 16px;
      padding: 15px;
    }#mod-rasp .btn-ghost{
      background: #f1f5f9;
      color: var(--ink);
      padding: 13px 14px;
    }#mod-rasp .btn-csv{ background: #ecfdf5; color: #047857; border: 1.5px solid #a7f3d0; }#mod-rasp .btn-json{ background: #eff6ff; color: #1d4ed8; border: 1.5px solid #bfdbfe; }#mod-rasp .grid-2{ display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }#mod-rasp .export-row{ display: flex; gap: 10px; flex-wrap: wrap; }#mod-rasp .export-row .btn{ flex: 1; min-width: 140px; }#mod-rasp .results-head{
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      flex-wrap: wrap;
      margin-bottom: 14px;
    }#mod-rasp .results-head h2{ font-size: 17px; }#mod-rasp .badge{
      background: var(--brand);
      color: #fff;
      font-size: 13px;
      font-weight: 700;
      padding: 4px 11px;
      border-radius: 999px;
    }#mod-rasp .table-scroll{ overflow-x: auto; -webkit-overflow-scrolling: touch; }#mod-rasp table{ width: 100%; border-collapse: collapse; font-size: 14px; }#mod-rasp thead th{
      text-align: left;
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: 0.4px;
      color: var(--ink-soft);
      padding: 10px 12px;
      border-bottom: 2px solid var(--line);
      white-space: nowrap;
    }#mod-rasp tbody td{ padding: 12px; border-bottom: 1px solid var(--line); vertical-align: top; }#mod-rasp tbody tr:hover{ background: #f8fafc; }#mod-rasp .biz-name{ font-weight: 700; }#mod-rasp a.link{ color: var(--brand); text-decoration: none; word-break: break-all; }#mod-rasp a.link:hover{ text-decoration: underline; }#mod-rasp .muted{ color: var(--ink-soft); }#mod-rasp .chip{
      display: inline-block;
      background: #f1f5f9;
      color: #475569;
      font-size: 12px;
      padding: 2px 9px;
      border-radius: 999px;
    }#mod-rasp #status{ text-align: center; padding: 8px 0 4px; }#mod-rasp .spinner{
      width: 34px; height: 34px;
      border: 3.5px solid rgba(79,70,229,0.2);
      border-top-color: var(--brand);
      border-radius: 50%;
      margin: 8px auto;
      animation: spin .8s linear infinite;
    }@keyframes spin{ to { transform: rotate(360deg); } }#mod-rasp .alert{
      border-radius: 12px;
      padding: 12px 14px;
      font-size: 14px;
      margin-top: 4px;
      text-align: left;
    }#mod-rasp .alert-error{ background: #fef2f2; color: var(--danger); border: 1px solid #fecaca; }#mod-rasp .alert-info{ background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; }#mod-rasp .empty{ text-align: center; color: var(--ink-soft); padding: 30px 10px; }#mod-rasp .empty .em{ font-size: 40px; }#mod-rasp footer{ text-align: center; color: rgba(255,255,255,0.75); font-size: 12px; padding: 8px 0 20px; }#mod-rasp footer a{ color: #fff; }@media (max-width: 680px){#mod-rasp .table-scroll thead{ display: none; }#mod-rasp .table-scroll table, #mod-rasp .table-scroll tbody, #mod-rasp .table-scroll tr, #mod-rasp .table-scroll td{ display: block; width: 100%; }#mod-rasp .table-scroll tr{
        border: 1px solid var(--line);
        border-radius: 12px;
        padding: 6px 4px;
        margin-bottom: 12px;
      }#mod-rasp .table-scroll td{ border-bottom: 1px solid #f1f5f9; padding: 9px 12px; }#mod-rasp .table-scroll tr:hover{ background: #fff; }#mod-rasp .table-scroll td:last-child{ border-bottom: none; }#mod-rasp .table-scroll td::before{
        content: attr(data-label);
        display: block;
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: 0.4px;
        color: var(--ink-soft);
        font-weight: 700;
        margin-bottom: 3px;
      }#mod-rasp .grid-2{ grid-template-columns: 1fr; }
    }
  
#mod-wf{
    --azul:#3b5bdb; --azul-cl:#5c7cfa;
    --roxo:#7048e8; --roxo-cl:#9775fa;
    --chumbo:#2b2d33; --chumbo-cl:#3a3d45;
    --bg:#15161a; --bg2:#1e2025; --bg3:#26282e;
    --linha:#33363d; --texto:#edf0f3; --texto-dim:#8d9097;
    --ok:#37b24d; --radius:14px;
    --grad:linear-gradient(135deg,var(--azul) 0%,var(--roxo) 100%);
    --grad-soft:linear-gradient(90deg,rgba(59,91,219,.16),rgba(112,72,232,.07));
  }#mod-wf *{margin:0;padding:0;box-sizing:border-box}#mod-wf{scroll-behavior:smooth}#mod-wf{
    font-family:'Segoe UI',system-ui,-apple-system,sans-serif;
    background:
      radial-gradient(1200px 500px at 85% -10%, rgba(112,72,232,.14), transparent 60%),
      radial-gradient(900px 400px at -10% 0%, rgba(59,91,219,.12), transparent 55%),
      var(--bg);
    color:var(--texto); line-height:1.5; min-height:100vh;
  }#mod-wf header{
    background:var(--grad); padding:18px 28px;
    position:sticky; top:0; z-index:50;
    box-shadow:0 4px 28px rgba(0,0,0,.45);
    display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  }#mod-wf header .brand{display:flex; align-items:center; gap:12px}#mod-wf header .logo{
    width:36px;height:36px;border:2.5px solid #fff;border-radius:9px;
    display:grid;place-items:center;font-size:.72rem;font-weight:800;color:#fff;
    background:rgba(255,255,255,.12);
  }#mod-wf header h1{font-size:1.2rem;font-weight:700;color:#fff;letter-spacing:-.3px}#mod-wf header p{color:rgba(255,255,255,.82);font-size:.76rem;margin-top:1px}#mod-wf header .head-actions{display:flex;gap:8px}#mod-wf .hbtn{
    background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);color:#fff;
    border-radius:9px;padding:8px 14px;font-size:.78rem;font-weight:600;cursor:pointer;
    font-family:inherit;transition:.15s;display:inline-flex;align-items:center;gap:6px;
  }#mod-wf .hbtn:hover{background:rgba(255,255,255,.26)}#mod-wf .wrap{display:grid;grid-template-columns:1fr 430px;max-width:1480px;margin:0 auto;min-height:calc(100vh - 78px)}#mod-wf .main{padding:24px 26px;border-right:1px solid var(--linha)}#mod-wf .side{padding:22px 20px;position:sticky;top:78px;align-self:start;max-height:calc(100vh - 78px);overflow-y:auto;display:flex;flex-direction:column;gap:16px}#mod-wf .fab-preview{
    position:fixed;right:16px;bottom:18px;z-index:90;display:none;
    width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;
    background:var(--grad);color:#fff;font-size:1.45rem;place-items:center;
    box-shadow:0 10px 26px rgba(89,80,232,.55);
  }#mod-wf .fab-preview:active{transform:scale(.93)}@media(max-width:1020px){#mod-wf .wrap{grid-template-columns:1fr}#mod-wf .main{border-right:none;border-bottom:1px solid var(--linha)}#mod-wf .side{position:static;max-height:none}#mod-wf .fab-preview{display:grid}
  }@media(max-width:640px){#mod-wf{overflow-x:hidden}#mod-wf header{padding:12px 14px;gap:8px}#mod-wf header h1{font-size:.98rem;line-height:1.15}#mod-wf header p{display:none}#mod-wf header .logo{width:30px;height:30px}#mod-wf header .head-actions{gap:6px}#mod-wf .hbtn{padding:9px 11px;font-size:.95rem}#mod-wf .hbtn .lbl{display:none}#mod-wf .btn .lbl{display:none}#mod-wf .main{padding:16px 12px;overflow-x:hidden}#mod-wf .side{padding:14px 12px;gap:13px}#mod-wf .toolbar h2{font-size:.95rem}#mod-wf .toolbar .count-badge{font-size:.7rem;padding:4px 9px}#mod-wf .btn{padding:11px 15px}#mod-wf .section-head{padding:10px 11px;gap:8px}#mod-wf .section-actions{gap:4px}#mod-wf .icon-btn{width:33px;height:33px}#mod-wf .chip{padding:7px 9px 7px 7px}#mod-wf .chip .chip-label{max-width:108px}#mod-wf .chip .ctrl button{width:27px;height:27px;font-size:.74rem}#mod-wf .pv-body{max-height:62vh}#mod-wf .modal-head{padding:13px 14px;gap:10px}#mod-wf .lib-search{width:100%;order:3}#mod-wf .lib-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}#mod-wf .lib-item .preview{height:84px}#mod-wf .side-actions{flex-wrap:wrap}#mod-wf .side-actions .btn{min-width:calc(50% - 4px)}#mod-wf #fsPreview{width:92vw!important}#mod-wf .fs-overlay{padding:14px}
  }#mod-wf .toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:12px}#mod-wf .toolbar h2{font-size:1.02rem;font-weight:700;letter-spacing:-.2px}#mod-wf .count-badge{background:var(--bg3);border:1px solid var(--linha);padding:5px 12px;border-radius:30px;font-size:.76rem;color:var(--texto-dim)}#mod-wf .count-badge b{color:var(--azul-cl)}#mod-wf .btn{
    border:none;border-radius:10px;padding:10px 17px;font-size:.84rem;font-weight:600;
    cursor:pointer;transition:.18s;display:inline-flex;align-items:center;gap:8px;font-family:inherit;
  }#mod-wf .btn-primary{background:var(--grad);color:#fff;box-shadow:0 4px 14px rgba(89,80,232,.35)}#mod-wf .btn-primary:hover{filter:brightness(1.12);transform:translateY(-1px)}#mod-wf .btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none;filter:none;box-shadow:none}#mod-wf .btn-ghost{background:var(--bg3);color:var(--texto);border:1px solid var(--linha)}#mod-wf .btn-ghost:hover{background:var(--chumbo-cl);border-color:var(--azul)}#mod-wf .btn-sm{padding:7px 12px;font-size:.76rem;border-radius:8px}#mod-wf .empty{border:2px dashed var(--linha);border-radius:var(--radius);padding:48px 24px;text-align:center;color:var(--texto-dim)}#mod-wf .empty svg{opacity:.4;margin-bottom:14px}#mod-wf .section-card{
    background:var(--bg2);border:1px solid var(--linha);border-radius:var(--radius);
    margin-bottom:14px;overflow:hidden;animation:pop .3s ease;transition:border-color .2s;
  }#mod-wf .section-card:hover{border-color:#454854}@keyframes pop{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}#mod-wf .section-head{
    display:flex;align-items:center;gap:11px;padding:12px 14px;
    background:var(--grad-soft);border-bottom:1px solid var(--linha);
  }#mod-wf .section-num{
    width:34px;height:34px;border-radius:9px;background:var(--grad);color:#fff;
    display:grid;place-items:center;font-weight:800;font-size:.84rem;flex-shrink:0;
  }#mod-wf .section-title-input{
    background:transparent;border:none;color:var(--texto);font-size:.94rem;font-weight:600;
    flex:1;font-family:inherit;padding:4px 6px;border-radius:6px;min-width:80px;
  }#mod-wf .section-title-input:focus{outline:none;background:rgba(255,255,255,.07)}#mod-wf .sec-tag{
    font-size:.6rem;font-weight:800;letter-spacing:.8px;color:var(--roxo-cl);
    background:rgba(151,117,250,.12);border:1px solid rgba(151,117,250,.3);
    padding:3px 8px;border-radius:20px;text-transform:uppercase;white-space:nowrap;
  }#mod-wf .section-actions{display:flex;gap:5px}#mod-wf .icon-btn{
    width:29px;height:29px;border-radius:8px;border:1px solid var(--linha);background:var(--bg3);
    color:var(--texto-dim);cursor:pointer;display:grid;place-items:center;transition:.15s;font-size:.82rem;
  }#mod-wf .icon-btn:hover{color:#fff;border-color:var(--azul)}#mod-wf .icon-btn.danger:hover{color:#ff6b6b;border-color:#ff6b6b}#mod-wf .section-body{padding:13px 14px}#mod-wf .chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:11px;min-height:6px}#mod-wf .chip{
    display:inline-flex;align-items:center;gap:8px;background:var(--bg3);
    border:1px solid var(--linha);border-radius:11px;padding:6px 9px 6px 6px;font-size:.78rem;
    animation:pop .2s;transition:border-color .15s;
  }#mod-wf .chip:hover{border-color:#4a4e59}#mod-wf .chip .thumb{width:58px;height:40px;background:#fff;border:1px solid #d9d9d9;border-radius:6px;flex-shrink:0;overflow:hidden;display:grid;place-items:center;padding:3px}#mod-wf .chip .thumb svg{width:100%;height:100%;display:block}#mod-wf .chip .chip-label{display:flex;flex-direction:column;line-height:1.2;max-width:130px}#mod-wf .chip .chip-label b{font-weight:600;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#mod-wf .chip .chip-label small{font-size:.6rem;color:var(--roxo-cl)}#mod-wf .chip .ctrl{display:flex;gap:2px;margin-left:2px}#mod-wf .chip .ctrl button{
    width:21px;height:21px;border:1px solid var(--linha);background:var(--bg2);border-radius:6px;
    cursor:pointer;display:grid;place-items:center;color:var(--texto-dim);font-size:.66rem;padding:0;transition:.13s;
  }#mod-wf .chip .ctrl button.on{background:var(--grad);color:#fff;border-color:transparent}#mod-wf .chip .ctrl button:hover{color:#fff;border-color:var(--azul)}#mod-wf .chip .ctrl .sep{width:1px;background:var(--linha);margin:2px 3px}#mod-wf .chip-x{cursor:pointer;color:var(--texto-dim);font-weight:700;padding:0 3px;line-height:1}#mod-wf .chip-x:hover{color:#ff6b6b}#mod-wf .empty-chips{color:var(--texto-dim);font-size:.77rem;font-style:italic}#mod-wf .add-inline{display:flex;justify-content:center;margin:6px 0 18px}#mod-wf .add-inline button{
    background:transparent;border:1.5px dashed var(--linha);color:var(--texto-dim);
    border-radius:11px;padding:10px 22px;font-size:.83rem;font-weight:600;cursor:pointer;
    font-family:inherit;transition:.16s;display:inline-flex;align-items:center;gap:7px;
  }#mod-wf .add-inline button:hover{border-color:var(--azul);color:var(--azul-cl);background:rgba(59,91,219,.08)}#mod-wf .overlay{
    position:fixed;inset:0;background:rgba(8,9,11,.78);backdrop-filter:blur(5px);
    z-index:100;display:none;align-items:center;justify-content:center;padding:18px;
  }#mod-wf .overlay.open{display:flex;animation:fade .2s}@keyframes fade{from{opacity:0}to{opacity:1}}#mod-wf .modal{
    background:var(--bg2);border:1px solid var(--linha);border-radius:18px;
    width:min(960px,100%);max-height:90vh;display:flex;flex-direction:column;overflow:hidden;
    box-shadow:0 28px 70px rgba(0,0,0,.65);animation:pop .25s;
  }#mod-wf .modal-head{padding:16px 20px;border-bottom:1px solid var(--linha);display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--grad-soft);flex-wrap:wrap}#mod-wf .modal-head h3{font-size:1.02rem}#mod-wf .modal-head small{color:var(--texto-dim);font-size:.76rem}#mod-wf .lib-search{
    background:var(--bg);border:1px solid var(--linha);border-radius:9px;color:var(--texto);
    padding:9px 13px;font-size:.82rem;font-family:inherit;width:230px;
  }#mod-wf .lib-search:focus{outline:none;border-color:var(--azul)}#mod-wf .cat-bar{display:flex;gap:6px;padding:12px 20px 0;flex-wrap:wrap}#mod-wf .cat-pill{
    background:var(--bg3);border:1px solid var(--linha);color:var(--texto-dim);
    border-radius:30px;padding:6px 13px;font-size:.72rem;font-weight:700;cursor:pointer;
    font-family:inherit;transition:.14s;letter-spacing:.3px;
  }#mod-wf .cat-pill.on{background:var(--grad);color:#fff;border-color:transparent}#mod-wf .cat-pill:hover:not(.on){color:#fff;border-color:var(--azul)}#mod-wf .modal-body{padding:16px 20px 22px;overflow-y:auto}#mod-wf .cat-label{
    font-size:.68rem;text-transform:uppercase;letter-spacing:1.4px;color:var(--roxo-cl);
    font-weight:800;margin:18px 0 10px;display:flex;align-items:center;gap:9px;
  }#mod-wf .cat-label:first-child{margin-top:2px}#mod-wf .cat-label::after{content:'';flex:1;height:1px;background:var(--linha)}#mod-wf .cat-label .tagx{font-size:.58rem;background:rgba(151,117,250,.12);border:1px solid rgba(151,117,250,.3);padding:2px 8px;border-radius:20px;letter-spacing:.5px}#mod-wf .lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:13px}#mod-wf .lib-item{
    background:var(--bg);border:1px solid var(--linha);border-radius:13px;padding:12px;cursor:pointer;
    transition:.16s;text-align:center;
  }#mod-wf .lib-item:hover{border-color:var(--azul);transform:translateY(-2px);box-shadow:0 8px 22px rgba(59,91,219,.28)}#mod-wf .lib-item:hover .preview{box-shadow:inset 0 0 0 2px var(--azul-cl)}#mod-wf .lib-item .preview{background:#fff;border:1px solid #dcdcdc;border-radius:9px;height:100px;margin-bottom:10px;overflow:hidden;display:grid;place-items:center;padding:9px;transition:.16s}#mod-wf .lib-item .preview svg{width:100%;height:100%;display:block}#mod-wf .lib-item .name{font-size:.8rem;font-weight:600;line-height:1.25}#mod-wf .lib-item .add-tag{font-size:.66rem;color:var(--azul-cl);margin-top:4px;font-weight:700}#mod-wf .btn-tpl{background:var(--grad-soft);color:var(--texto);border:1px solid rgba(151,117,250,.45)}#mod-wf .btn-tpl:hover{border-color:var(--roxo-cl);background:rgba(151,117,250,.16)}#mod-wf .tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:14px}#mod-wf .tpl-card{background:var(--bg);border:1px solid var(--linha);border-radius:14px;overflow:hidden;cursor:pointer;transition:.16s;display:flex;flex-direction:column}#mod-wf .tpl-card:hover{border-color:var(--roxo-cl);transform:translateY(-2px);box-shadow:0 10px 26px rgba(112,72,232,.3)}#mod-wf .tpl-card .tpl-thumb{background:#fff;border-bottom:1px solid var(--linha);height:200px;overflow:hidden;position:relative}#mod-wf .tpl-card .tpl-thumb img{width:100%;display:block;object-fit:cover;object-position:top}#mod-wf .tpl-card .tpl-thumb .tpl-loading{position:absolute;inset:0;display:grid;place-items:center;color:#c5cad1;font-size:.7rem}#mod-wf .tpl-card .tpl-info{padding:11px 13px 13px}#mod-wf .tpl-card .tpl-emoji{font-size:1.05rem}#mod-wf .tpl-card .tpl-name{font-size:.88rem;font-weight:700;display:flex;align-items:center;gap:7px}#mod-wf .tpl-card .tpl-desc{font-size:.7rem;color:var(--texto-dim);margin-top:4px;line-height:1.35}#mod-wf .tpl-card .tpl-meta{display:flex;align-items:center;justify-content:space-between;margin-top:10px}#mod-wf .tpl-card .tpl-count{font-size:.62rem;font-weight:800;letter-spacing:.5px;color:var(--roxo-cl);background:rgba(151,117,250,.12);border:1px solid rgba(151,117,250,.3);padding:3px 8px;border-radius:20px;text-transform:uppercase}#mod-wf .tpl-card .tpl-use{font-size:.72rem;color:var(--roxo-cl);font-weight:700}#mod-wf .pv-panel{background:var(--bg2);border:1px solid var(--linha);border-radius:var(--radius);overflow:hidden}#mod-wf .pv-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--linha);background:var(--grad-soft)}#mod-wf .pv-head h3{font-size:.9rem;display:flex;align-items:center;gap:8px}#mod-wf .pv-tools{display:flex;gap:5px}#mod-wf .pv-body{padding:14px;background:repeating-linear-gradient(45deg,#1a1c21 0 12px,#1b1d22 12px 24px);max-height:480px;overflow-y:auto}#mod-wf .pv-page{
    border-radius:4px;margin:0 auto;
    transition:width .25s; box-shadow:0 14px 40px rgba(0,0,0,.5);
  }#mod-wf .pv-page > svg{width:100%;height:auto;display:block;border-radius:4px}#mod-wf .pv-empty{color:#9aa;text-align:center;padding:46px 14px;font-size:.78rem;background:#fff;border-radius:4px}#mod-wf .gen-hint{color:var(--texto-dim);font-size:.72rem;margin-bottom:10px;line-height:1.45}#mod-wf .gen-panel{background:var(--bg2);border:1px solid var(--linha);border-radius:var(--radius);padding:14px}#mod-wf .gen-panel h3{font-size:.9rem;margin-bottom:9px;display:flex;align-items:center;gap:8px}#mod-wf textarea{
    width:100%;background:var(--bg);border:1px solid var(--linha);border-radius:10px;
    color:var(--texto);padding:12px;font-size:.72rem;font-family:'SF Mono',Consolas,monospace;
    line-height:1.55;resize:vertical;min-height:120px;
  }#mod-wf textarea:focus{outline:none;border-color:var(--azul)}#mod-wf .side-actions{display:flex;gap:8px;margin-top:10px}#mod-wf .side-actions .btn{flex:1;justify-content:center}#mod-wf .fs-overlay{position:fixed;inset:0;background:rgba(8,9,11,.88);backdrop-filter:blur(6px);z-index:120;display:none;flex-direction:column;padding:22px}#mod-wf .fs-overlay.open{display:flex;animation:fade .2s}#mod-wf .fs-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}#mod-wf .fs-bar h3{color:#fff;font-size:1rem}#mod-wf .fs-scroll{flex:1;overflow:auto;display:flex;justify-content:center;align-items:flex-start}#mod-wf .toast{
    position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(80px);
    background:var(--grad);color:#fff;padding:12px 22px;border-radius:30px;font-size:.84rem;font-weight:600;
    box-shadow:0 8px 24px rgba(0,0,0,.45);transition:.3s;z-index:300;opacity:0;
  }#mod-wf .toast.show{transform:translateX(-50%) translateY(0);opacity:1}#mod-wf ::-webkit-scrollbar{width:9px;height:9px}#mod-wf ::-webkit-scrollbar-thumb{background:var(--chumbo-cl);border-radius:6px}#mod-wf ::-webkit-scrollbar-track{background:transparent}

#mod-ct{
    --ink:#13131a;
    --ink-soft:#3a3a45;
    --paper:#fbfaf7;
    --line:#e4e1d9;
    --brand:#0b6b5e;       
    --brand-deep:#084c43;
    --brand-soft:#e7f1ef;
    --amber:#b4791f;
    --danger:#a23a2e;
    --shadow:0 1px 3px rgba(19,19,26,.06),0 8px 28px rgba(19,19,26,.07);
    --radius:14px;
  }#mod-ct *{box-sizing:border-box}#mod-ct, #mod-ct{margin:0;padding:0}#mod-ct{
    font-family:"Segoe UI",Arial,sans-serif;
    background:linear-gradient(170deg,#f3f1ec 0%,#e9efed 100%);
    color:var(--ink);
    min-height:100vh;
    -webkit-font-smoothing:antialiased;
  }#mod-ct .wrap{max-width:1180px;margin:0 auto;padding:28px 22px 80px}#mod-ct header.top{
    display:flex;align-items:center;gap:14px;
    padding:6px 2px 22px;
  }#mod-ct .brand-logo{
    height:46px;width:auto;object-fit:contain;display:block;
  }#mod-ct header.top h1{font-size:20px;margin:0;font-weight:700;letter-spacing:-.3px}#mod-ct header.top p{margin:2px 0 0;font-size:13px;color:var(--ink-soft)}#mod-ct .grid{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:26px;align-items:start}@media(max-width:900px){#mod-ct .grid{grid-template-columns:1fr}}#mod-ct .panel{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    box-shadow:var(--shadow);overflow:hidden;
  }#mod-ct .panel-head{
    padding:16px 20px;border-bottom:1px solid var(--line);
    display:flex;align-items:center;justify-content:space-between;
  }#mod-ct .panel-head h2{font-size:14px;margin:0;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-weight:600}#mod-ct .panel-body{padding:20px}#mod-ct label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-soft);margin:0 0 6px;letter-spacing:.01em}#mod-ct .field{margin-bottom:15px}#mod-ct .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:520px){#mod-ct .row2{grid-template-columns:1fr}}#mod-ct input, #mod-ct select, #mod-ct textarea{
    width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;
    font-size:14px;font-family:inherit;color:var(--ink);background:var(--paper);
    transition:border-color .15s,box-shadow .15s;
  }#mod-ct input:focus, #mod-ct select:focus, #mod-ct textarea:focus{
    outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);
  }#mod-ct textarea{resize:vertical;min-height:60px}#mod-ct .hint{font-size:11.5px;color:#8a8a93;margin-top:5px}#mod-ct .type-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:6px}#mod-ct .type-card{
    border:1.5px solid var(--line);border-radius:11px;padding:13px 13px 12px;cursor:pointer;
    background:var(--paper);transition:all .15s;position:relative;
  }#mod-ct .type-card:hover{border-color:var(--brand)}#mod-ct .type-card.active{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 3px var(--brand-soft)}#mod-ct .type-card .tc-title{font-weight:700;font-size:14px;display:block}#mod-ct .type-card .tc-desc{font-size:11.5px;color:var(--ink-soft);display:block;margin-top:3px;line-height:1.35}#mod-ct .type-card input{position:absolute;opacity:0;pointer-events:none}#mod-ct .section-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--brand);font-weight:700;margin:22px 0 12px;padding-top:14px;border-top:1px dashed var(--line)}#mod-ct .section-label:first-of-type{border-top:none;padding-top:0;margin-top:4px}#mod-ct .btnrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}#mod-ct button{
    font-family:inherit;font-size:14px;font-weight:600;border:none;border-radius:10px;
    padding:12px 18px;cursor:pointer;transition:transform .08s,box-shadow .15s,background .15s;
    display:inline-flex;align-items:center;gap:8px;
  }#mod-ct button:active{transform:translateY(1px)}#mod-ct .btn-primary{background:var(--brand);color:#fff;box-shadow:var(--shadow)}#mod-ct .btn-primary:hover{background:var(--brand-deep)}#mod-ct .btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}#mod-ct .btn-ghost:hover{border-color:var(--brand);color:var(--brand)}#mod-ct .btn-amber{background:var(--amber);color:#fff}#mod-ct .btn-amber:hover{filter:brightness(.95)}#mod-ct .btn-zap{background:#25D366;color:#fff;display:flex;align-items:center;gap:7px}#mod-ct .btn-zap:hover{filter:brightness(.92)}#mod-ct .preview-shell{position:sticky;top:20px}#mod-ct .preview-toolbar{
    display:flex;gap:10px;flex-wrap:wrap;align-items:center;
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    padding:12px 14px;box-shadow:var(--shadow);margin-bottom:16px;
  }#mod-ct .preview-toolbar .sp{flex:1}#mod-ct .doc{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    box-shadow:var(--shadow);padding:54px 60px;font-size:13.5px;line-height:1.7;color:var(--ink);
    font-family:"Times New Roman","Georgia",serif;
  }@media(max-width:520px){#mod-ct .doc{padding:32px 26px}}#mod-ct .doc h1.ctitle{font-size:19px;text-align:center;margin:0 0 2px;letter-spacing:-.2px}#mod-ct .doc h2.csub{font-size:14px;text-align:center;font-weight:500;color:var(--ink-soft);margin:0 0 30px;text-transform:uppercase;letter-spacing:.1em}#mod-ct .doc .clause-title{font-weight:700;margin:22px 0 6px;font-size:13.5px}#mod-ct .doc p{margin:0 0 11px;text-align:justify}#mod-ct .doc .parties{background:var(--paper);border-left:3px solid var(--brand);padding:12px 16px;border-radius:6px;margin-bottom:8px}#mod-ct .doc .sign-area{margin-top:46px}#mod-ct .doc .sign-line{margin-top:34px}#mod-ct .doc .sign-line .nm{font-weight:700}#mod-ct .doc .sign-line .ln{border-top:1px solid var(--ink);width:320px;max-width:100%;margin-top:30px;padding-top:5px;font-size:12px;color:var(--ink-soft)}#mod-ct .doc .doc-footer{
    margin-top:50px;padding-top:16px;border-top:1px solid var(--line);
    display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:center;
    font-size:11.5px;color:var(--ink-soft);text-align:center;
  }#mod-ct .doc .doc-footer .ft-logo{flex-basis:100%;display:block;margin:0 auto 6px;height:22px;width:auto;object-fit:contain;text-align:center}#mod-ct .doc .doc-footer span{white-space:nowrap}#mod-ct .fill{color:var(--brand-deep);font-weight:600;background:#eef6f4;padding:0 3px;border-radius:3px}#mod-ct .doc.print-clean .fill{background:transparent;color:inherit;font-weight:inherit;padding:0}#mod-ct .empty{padding:60px 30px;text-align:center;color:#9a9aa2}#mod-ct .empty svg{opacity:.4;margin-bottom:12px}#mod-ct .doc .ct-logo{margin-top:64px;text-align:center}#mod-ct .doc .ct-logo img{max-width:140px;max-height:80px;width:auto;height:auto;object-fit:contain;display:inline-block}#mod-ct .toast{
    position:fixed;bottom:calc(82px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%) translateY(20px);
    background:var(--ink);color:#fff;padding:12px 20px;border-radius:10px;font-size:13.5px;
    box-shadow:0 10px 30px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:all .25s;z-index:99;
  }#mod-ct .toast.show{opacity:1;transform:translateX(-50%) translateY(0)}@media(min-width:768px){#mod-ct .toast{bottom:24px}}@media print{#mod-ct{background:#fff}#mod-ct .wrap{max-width:none;padding:0}#mod-ct header.top, #mod-ct .panel, #mod-ct .preview-toolbar, #mod-ct header{display:none!important}#mod-ct .grid{display:block}#mod-ct .preview-shell{position:static}#mod-ct .doc{border:none;box-shadow:none;border-radius:0;padding:0;font-size:12pt;color:#000}#mod-ct .fill{background:transparent!important;color:#000!important;font-weight:inherit!important;padding:0!important}#mod-ct .doc .parties{border-left:2px solid #000}
  }

/* ===== Contrato: abas de visão + engrenagem ===== */
#mod-ct .ct-viewbar{display:flex;align-items:center;gap:10px;margin-bottom:20px}
#mod-ct .ct-viewtabs{display:flex;gap:8px;flex:1;flex-wrap:wrap}
#mod-ct .ct-vtab{background:#fff;border:1.5px solid var(--line);color:var(--ink-soft);border-radius:11px;padding:10px 16px;font-size:13.5px;font-weight:600}
#mod-ct .ct-vtab:hover{border-color:var(--brand);color:var(--brand)}
#mod-ct .ct-vtab.on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-deep)}
#mod-ct .ct-gear{flex:none;width:42px;height:42px;padding:0;justify-content:center;background:#fff;border:1.5px solid var(--line);border-radius:11px;color:var(--ink-soft)}
#mod-ct .ct-gear:hover{border-color:var(--brand);color:var(--brand)}
#mod-ct .ct-gear svg{width:18px;height:18px}

/* ===== Contrato: grade de cards (visão editar) ===== */
#mod-ct .ct-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
#mod-ct .ct-empty-hint{grid-column:1/-1;color:var(--ink-soft);font-size:14px;margin:0 0 4px}
#mod-ct .ct-card{display:flex;flex-direction:column;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
#mod-ct .ct-card-body{padding:16px;cursor:pointer;flex:1}
#mod-ct .ct-card-body:hover{background:var(--brand-soft)}
#mod-ct .ct-card-name{font-weight:700;font-size:15px;margin-bottom:4px}
#mod-ct .ct-card-desc{font-size:12.5px;color:var(--ink-soft);line-height:1.4}
#mod-ct .ct-card-actions{display:flex;border-top:1px solid var(--line)}
#mod-ct .ct-card-btn{flex:1;border:none;background:#fff;color:var(--ink-soft);font-size:12.5px;font-weight:600;padding:10px;border-radius:0}
#mod-ct .ct-card-btn:hover{background:var(--paper);color:var(--brand)}
#mod-ct .ct-card-btn.danger:hover{color:var(--danger)}
#mod-ct .ct-card-btn+.ct-card-btn{border-left:1px solid var(--line)}
#mod-ct .ct-create-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:120px;background:#fff;border:2px dashed var(--line);border-radius:var(--radius);color:var(--brand);font-weight:700}
#mod-ct .ct-create-card:hover{border-color:var(--brand);background:var(--brand-soft)}
#mod-ct .ct-create-plus{font-size:30px;line-height:1}
#mod-ct .ct-create-txt{font-size:14px}

/* ===== Contrato: modais (editor + seletor de modelos) ===== */
/* estilos compartilhados entre #ctEditorModal e #ctTemplateModal */
:is(#ctEditorModal,#ctTemplateModal){position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:16px}
:is(#ctEditorModal,#ctTemplateModal) .ctm-backdrop{position:absolute;inset:0;background:rgba(15,18,28,.55)}
:is(#ctEditorModal,#ctTemplateModal) .ctm-panel{position:relative;width:100%;max-width:640px;max-height:90vh;display:flex;flex-direction:column;background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.35);overflow:hidden}
:is(#ctEditorModal,#ctTemplateModal) .ctm-hd{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line);font-weight:700;font-size:16px;font-family:'Sora','Inter',sans-serif}
:is(#ctEditorModal,#ctTemplateModal) .ctm-close{background:none;border:none;font-size:18px;color:var(--ink-soft);cursor:pointer;padding:4px 8px;border-radius:8px}
:is(#ctEditorModal,#ctTemplateModal) .ctm-close:hover{background:var(--paper)}
:is(#ctEditorModal,#ctTemplateModal) .ctm-body{padding:18px 20px;overflow-y:auto;-webkit-overflow-scrolling:touch}
:is(#ctEditorModal,#ctTemplateModal) .ctm-foot{display:flex;gap:10px;padding:14px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
/* vars do seletor de modelos (ink-soft e paper não estão no :root) */
#ctTemplateModal{--ink-soft:#3a3a45;--paper:#f5f5f8}
/* estilos exclusivos do editor (formulário, inputs, textarea) */
#ctEditorModal{--brand:#6117C4;--brand-deep:#2540D6;--brand-soft:#EEF2FF;--ink:#13131a;--ink-soft:#3a3a45;--paper:#fbfaf7;--line:#e4e1d9;--danger:#a23a2e;--radius:14px}
#ctEditorModal .field{margin-bottom:14px}
#ctEditorModal label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-soft);margin:0 0 6px}
#ctEditorModal input,#ctEditorModal textarea{width:100%;padding:11px 12px;border:1.5px solid var(--line);border-radius:9px;font-size:14px;font-family:inherit;color:var(--ink);background:var(--paper);box-sizing:border-box}
#ctEditorModal textarea{resize:vertical;min-height:200px;font-family:"Times New Roman","Georgia",serif;line-height:1.6}
#ctEditorModal input:focus,#ctEditorModal textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
#ctEditorModal .hint{font-size:11.5px;color:#8a8a93;margin-top:5px}
#ctEditorModal .cev-gear{cursor:pointer;font-size:14px;margin-left:6px}
@media(max-width:520px){:is(#ctEditorModal,#ctTemplateModal) .ctm-panel{max-height:calc(96svh - env(safe-area-inset-bottom))}}


/* ===== SHELL ===== */
html,body{height:100%;margin:0}
body{display:flex;flex-direction:column;overflow:hidden;background:var(--bg);font-family:'Inter',system-ui,sans-serif;color:var(--ink)}
.app-header{flex:none;display:flex;align-items:center;gap:10px;height:64px;padding:0 16px;background:rgba(246,247,251,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);z-index:36}
.app-header .brand-logo{height:48px;max-width:240px;width:auto;object-fit:contain}
.hd-right{display:flex;align-items:center;gap:10px;}
.module-wrap{flex:1;position:relative;overflow:hidden}
.module{position:absolute;inset:0;display:none;overflow-y:auto;-webkit-overflow-scrolling:touch}
.module.active{display:block}
#mod-kanban.active{display:flex;flex-direction:column;overflow:hidden}
#mod-rasp,#mod-wf,#mod-ct{padding:0}
.tabbar{position:fixed;bottom:0;left:0;right:0;flex:none;display:flex;background:var(--white);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:36;box-shadow:0 -2px 12px rgba(31,36,51,.06)}
.tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px 7px;font-size:10.5px;font-weight:700;color:var(--muted-2);background:none;border:none;font-family:'Sora','Inter',sans-serif;transition:.13s}
.tabbar button .ic{font-size:19px;line-height:1}
.tabbar button.on{color:var(--blue)}
.tabbar button:active{transform:scale(.94)}
/* posiciona os fixos acima da tabbar (mobile) */
#mod-kanban .fab{bottom:calc(70px + env(safe-area-inset-bottom))}
#toast{bottom:calc(120px + env(safe-area-inset-bottom))}
#mod-wf .fab-preview{bottom:calc(70px + env(safe-area-inset-bottom))}
/* mobile: empurra conteúdo acima da tabbar fixa e compacta o header */
@media(max-width:767px){
  .module-wrap{padding-bottom:calc(58px + env(safe-area-inset-bottom))}
  /* módulos position:absolute;inset:0 ignoram padding do pai — precisam de espaço próprio */
  #mod-ct,#mod-wf,#mod-rasp,#mod-dash{padding-bottom:calc(58px + env(safe-area-inset-bottom))}
  /* workflow modal seguro acima da safe-area */
  #mod-wf .overlay{padding-bottom:calc(18px + env(safe-area-inset-bottom))}
  #mod-wf .modal{max-height:calc(90svh - env(safe-area-inset-bottom))}
  .hd-right .icon-btn,.hd-right .icon-btn.primary,.hd-right .icon-btn--help{width:34px;height:34px;}
  .hd-right .icon-btn svg{width:15px;height:15px;}
  .btn-logout{height:34px;padding:0 13px;font-size:12px;border-radius:10px;}
  .app-header .brand-logo{height:40px;}
}
/* DESKTOP: tabbar como overlay fixo no topo, centralizado */
@media(min-width:768px){
  .tabbar{position:fixed;top:0;bottom:auto;left:0;right:0;height:52px;display:flex;justify-content:center;align-items:center;background:transparent;border:none;box-shadow:none;padding-bottom:0;gap:3px;z-index:40;pointer-events:none;}
  .tabbar button{pointer-events:auto;flex:none;flex-direction:row;gap:6px;padding:7px 12px;border-radius:10px;font-size:13px;font-weight:600;color:var(--muted);width:auto;}
  .tabbar button .ic{font-size:15px;line-height:1;}
  .tabbar button.on{color:var(--blue);background:rgba(97,23,196,.1);}
  .tabbar button:hover:not(.on){background:var(--line);color:var(--chumbo);}
  #mod-kanban .fab{bottom:20px}
  #toast{bottom:70px}
  #mod-wf .fab-preview{bottom:20px}
}
/* ===== unifica acentos dos modulos com a paleta do index ===== */
/* Contrato: verde -> azul/roxo */
#mod-ct{--brand:#6117C4;--brand-deep:#2540D6;--brand-soft:#EEF2FF}
#mod-ct .fill{background:#EEF2FF}
/* fonte Times New Roman para o documento do contrato */
#mod-ct #doc,#mod-ct #doc *{font-family:"Times New Roman","Georgia",serif!important}
/* Escopo: tema escuro -> claro */
#mod-wf{--bg:#F6F7FB;--bg2:#FFFFFF;--bg3:#EFF1F7;--linha:#E9EBF1;--texto:#1B1F2A;--texto-dim:#6B7280;--chumbo:#E9EBF1;--chumbo-cl:#C9CFE2}
#mod-wf .icon-btn:hover,#mod-wf .cat-pill:hover:not(.on),#mod-wf .chip .ctrl button:hover{background:var(--azul);color:#fff;border-color:var(--azul)}
#mod-wf .pv-body{background:repeating-linear-gradient(45deg,#EFF1F7 0 12px,#F6F7FB 12px 24px)}
/* banner de contexto do escopo */
#mod-wf .wf-ctx{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 16px 0;padding:10px 14px;border:1.5px solid var(--purple-l);background:#F3EFFD;color:#4C2E91;border-radius:12px;font-size:13px;font-weight:600}
#mod-wf .wf-ctx .nm{color:var(--purple)}
/* ===== Processo tracker no lead sheet ===== */
.proc-blk{background:var(--bg2,#fff)}
.proc-track{display:flex;flex-direction:column;gap:5px;margin-top:2px}
.proc-step{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;background:var(--bg3,#f8f9fb);font-size:12.5px;transition:background .15s}
.proc-step.done{background:#EEF2FF}
.proc-dot{width:7px;height:7px;border-radius:50%;background:#D1D5DB;flex-shrink:0;transition:background .15s}
.proc-step.done .proc-dot{background:#6117C4}
.proc-label{flex:1;font-weight:600;color:var(--chumbo,#3a3a45)}
.proc-badge{font-size:13px;line-height:1}
.proc-ok{font-size:13px}
.proc-empty{font-size:13px;opacity:.4}
.proc-btn{padding:2px 8px!important;font-size:11px!important;height:auto!important;min-height:0!important;line-height:1.4!important}
.proc-thumb-slot{margin:8px 0 2px;text-align:center}
.proc-thumb-loading{font-size:11px;color:var(--muted-2,#9ca3af)}
.proc-thumb{max-width:100%;max-height:90px;object-fit:contain;border-radius:6px;border:1px solid var(--line,#e4e1d9);cursor:zoom-in;display:block;margin:0 auto;box-shadow:0 1px 6px rgba(0,0,0,.08)}
/* ===== Banner "dentro do card" no Contrato ===== */
#ctLeadBanner{
  display:none;align-items:flex-start;justify-content:space-between;gap:12px;
  margin:12px 16px 0;padding:10px 14px;border-radius:12px;
  background:#EEF2FF;border:1.5px solid #6117C4;color:#1e2a5a;
  font-size:13.5px;font-weight:600
}
#ctLeadBannerTxt{flex:1;min-width:0;word-break:break-word;padding-top:2px}
#ctLeadBanner #ctLeadExit{
  flex:none;border:none;cursor:pointer;border-radius:9px;
  padding:6px 14px;font-size:12.5px;font-weight:700;
  background:#6117C4;color:#fff;font-family:'Sora','Inter',sans-serif;transition:.13s
}
#ctLeadBanner #ctLeadExit:active{transform:scale(.95)}
/* ===== Anexo I do contrato ===== */
.ct-anexo{margin-top:32px}
.ct-anx-page{padding-top:20px;border-top:2px dashed #ccc;margin-top:24px}
.ct-anx-page:first-child{margin-top:0}
.ct-anx-img{
  display:block;margin:14px auto 0;
  max-width:100%;max-height:62vh;width:auto;height:auto;object-fit:contain;
  border:1px solid #ccc;border-radius:4px
}
.ct-anx-list-page ul{margin-top:12px}
/* impressao: so o contrato */
@page{ margin:20mm 18mm; }
@media print{
  .app-header,.tabbar,#ctLeadBanner{display:none!important}
  body{overflow:visible;height:auto;display:block;background:#fff}
  .module-wrap{position:static;overflow:visible}
  .module{position:static;display:none!important;overflow:visible}
  #mod-ct.active{display:block!important}
  .ct-anexo{margin-top:0}
  /* não deixa o texto das cláusulas cortar no meio de um parágrafo entre páginas */
  #mod-ct .doc p,#mod-ct .doc .parties,#mod-ct .doc .sign-line,#mod-ct .doc .doc-footer{
    page-break-inside:avoid;break-inside:avoid
  }
  #mod-ct .doc .clause-title{
    page-break-inside:avoid;break-inside:avoid;
    page-break-after:avoid;break-after:avoid
  }
  /* cada bloco do anexo numa pagina propria, sem quebrar no meio */
  .ct-anx-page{
    padding-top:0;border-top:none;margin-top:0;
    page-break-before:always;break-before:page;
    page-break-inside:avoid;break-inside:avoid
  }
  /* a imagem do escopo: max-width evita que o Chrome suprima o elemento */
  .ct-anx-img{
    display:block;margin:8mm auto 0;
    max-width:100%;width:auto;height:auto;max-height:215mm;object-fit:contain;
    border:none;
    page-break-inside:avoid;break-inside:avoid
  }
}

/* ===== LOGIN / NUVEM ===== */
.hd-spacer{flex:1}
.brand-logo-link{display:inline-flex;align-items:center;text-decoration:none;line-height:0}
.btn-logout{flex:none;display:inline-flex;align-items:center;height:40px;border:1px solid #dc2626;background:#dc2626;color:#fff;
  font:600 13px/1 'Inter',system-ui,sans-serif;padding:0 16px;border-radius:12px;cursor:pointer;transition:.18s}
.btn-logout:hover{background:#b91c1c;border-color:#b91c1c;color:#fff}
#loginOverlay{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;
  background:rgba(20,22,26,.55);backdrop-filter:blur(6px);padding:20px}
#loginOverlay .login-card{width:100%;max-width:340px;background:#fff;border:1px solid var(--line);
  border-radius:16px;padding:28px 24px;box-shadow:0 18px 48px rgba(0,0,0,.25);text-align:center}
#loginOverlay .login-logo{height:58px;max-width:280px;width:auto;object-fit:contain;margin-bottom:16px}
#loginOverlay h1{font-size:18px;margin:0 0 4px;color:var(--ink)}
#loginOverlay p{font-size:13px;color:var(--ink-soft);margin:0 0 18px}
#loginOverlay input{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--line);
  border-radius:10px;font-size:15px;margin-bottom:12px;background:#fff;color:var(--ink)}
#loginOverlay input:focus{outline:none;border-color:var(--ink-soft)}
#loginOverlay button{width:100%;padding:12px 14px;border:none;border-radius:10px;background:var(--ink);
  color:#fff;font:600 15px/1 'Inter',system-ui,sans-serif;cursor:pointer}
#loginOverlay button:disabled{opacity:.6;cursor:default}
#loginOverlay .login-err{min-height:18px;margin-top:10px;font-size:13px;color:#c0392b}
#loginOverlay .login-google-btn{display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;padding:11px 14px;border:1.5px solid var(--line);border-radius:10px;
  background:#fff;color:var(--ink);font:600 14px/1 'Inter',system-ui,sans-serif;cursor:pointer;margin-bottom:14px}
#loginOverlay .login-google-btn:hover{background:#f5f5f5}
#loginOverlay .login-divider{display:flex;align-items:center;gap:10px;margin-bottom:14px}
#loginOverlay .login-divider::before,#loginOverlay .login-divider::after{content:'';flex:1;height:1px;background:var(--line)}
#loginOverlay .login-divider span{font-size:12px;color:var(--ink-soft)}
#loginOverlay .login-switch{font-size:13px;color:var(--ink-soft);margin:14px 0 0;text-align:center}
#loginOverlay .login-switch a{color:var(--ink);font-weight:600;text-decoration:none}
#loginOverlay .login-switch a:hover{text-decoration:underline}
#loginOverlay .login-section-title{font-size:16px;font-weight:700;color:var(--ink);margin:0 0 16px}
#loginOverlay .login-admin-link{font-size:11px;color:var(--ink-soft);margin:18px 0 0;text-align:center}
#loginOverlay .login-admin-link a{color:var(--ink-soft);text-decoration:none}
#loginOverlay .login-admin-link a:hover{text-decoration:underline}

/* ── Fullscreen overlays (planos + onboarding) ── */
.fullscreen-overlay{position:fixed;inset:0;z-index:900;background:#f8f9fb;overflow-y:auto;
  display:flex;align-items:flex-start;justify-content:center;padding:24px 16px 48px}

/* ── Tela de planos ── */
.plans-container{width:100%;max-width:480px;text-align:center;padding-top:20px}
.plans-title{font-size:1.55rem;font-weight:700;color:#1a1a2e;line-height:1.25;margin:0 0 10px}
.plans-sub{color:#666;font-size:.93rem;margin:0 0 24px}
.plans-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}
.plan-card{background:#fff;border:2px solid #e0e0e0;border-radius:16px;padding:20px 12px;position:relative}
.plan-card--highlight{border-color:#6117C4;box-shadow:0 10px 30px -8px rgba(97,23,196,.28)}
.plan-badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  background:#6117C4;color:#fff;font-size:.72rem;font-weight:700;padding:3px 10px;
  border-radius:20px;white-space:nowrap}
.plan-name{font-size:.8rem;color:#888;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.plan-price{font-size:1.9rem;font-weight:800;color:#1a1a2e}
.plan-price .plan-period{font-size:.88rem;font-weight:400;color:#888}
.plan-equiv{font-size:.72rem;color:#6117C4;margin-bottom:8px}
.plan-btn{width:100%;padding:10px 0;border:2px solid #6117C4;border-radius:10px;
  background:transparent;color:#6117C4;font-weight:700;font-size:.88rem;cursor:pointer;margin-top:10px}
.plan-btn--primary{background:#6117C4;color:#fff}
.plans-benefits{list-style:none;padding:0;margin:0 0 18px;text-align:left}
.plans-benefits li{padding:6px 0;color:#333;font-size:.88rem;border-bottom:1px solid #f0f0f0}
.plans-trust{font-size:.78rem;color:#888;line-height:1.65}
.plans-loading{margin-top:18px;color:#6117C4;font-weight:600;font-size:.9rem}
.plans-account-bar{width:100%;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:10px 16px;background:rgba(0,0,0,.04);font-size:.82rem;color:#555;box-sizing:border-box}
.btn-link{background:none;border:none;padding:0;font-size:.82rem;color:#6117C4;cursor:pointer;text-decoration:underline}
.btn-link:hover{color:var(--brand-deep)}
.plans-verify-btn{margin-top:14px;background:none;border:1px solid #ccc;border-radius:8px;padding:9px 20px;font-size:.85rem;color:#555;cursor:pointer;width:100%}
.plans-verify-btn:hover{background:#f5f5f5}

/* ── Onboarding ── */
.onb-step{width:100%;max-width:420px;text-align:center;padding-top:32px}
.onb-progress{font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}
.onb-emoji{font-size:2.8rem;margin-bottom:14px}
.onb-title{font-size:1.35rem;font-weight:700;color:#1a1a2e;margin:0 0 10px}
.onb-desc{color:#555;font-size:.93rem;margin:0 0 20px;line-height:1.55}
.onb-steps-list{text-align:left;padding-left:18px;margin:0 0 18px;color:#333;font-size:.9rem;line-height:1.85}
.onb-input{width:100%;box-sizing:border-box;padding:12px 14px;border:2px solid #ddd;
  border-radius:10px;font-size:.93rem;margin-bottom:10px;font-family:inherit}
.onb-input:focus{border-color:#6117C4;outline:none}
.onb-btn{width:100%;padding:14px;background:#6117C4;color:#fff;border:none;
  border-radius:12px;font-size:.98rem;font-weight:700;cursor:pointer;margin-bottom:10px;font-family:inherit}
.onb-btn:disabled{opacity:.6;cursor:default}
.onb-msg{font-size:.88rem;min-height:1.4em;margin-bottom:6px}
.onb-msg--ok{color:#22a06b}
.onb-msg--err{color:#d93025}
.onb-help-link{font-size:.82rem;color:#888;margin-top:10px}
.onb-help-link a{color:#6117C4}

/* ===== SPINTAX / 🔀 button ===== */
.spin-btn{flex:none;padding:4px 10px;border-radius:8px;font-size:12px;font-weight:600;
  background:var(--bg);border:1.5px solid var(--line);color:var(--muted);transition:.15s;cursor:pointer;}
.spin-btn:hover{background:var(--blue);border-color:var(--blue);color:#fff;}
.spin-btn:active{transform:scale(.94);}

/* ===== Custom message editor ===== */
.custom-edit-wrap{background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:14px;margin-bottom:10px;}
.custom-title-input{width:100%;padding:9px 12px;border:1.5px solid var(--line);border-radius:8px;
  font-size:14px;font-weight:600;background:#fff;color:var(--ink);margin-bottom:10px;box-sizing:border-box;}
.custom-title-input:focus{outline:none;border-color:var(--blue);}

/* title row + gear button (fixed, always visible) */
.cev-title-row{display:flex;gap:6px;align-items:center;margin-bottom:8px;}
.cev-title-row .custom-title-input{margin-bottom:0;flex:1;}
.cev-myvars-btn{width:38px;height:38px;flex-shrink:0;border-radius:9px;
  background:var(--bg2,#F6F7FB);border:1.5px solid var(--line);color:var(--muted);
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.13s;padding:0;}
.cev-myvars-btn:hover{background:var(--purple);border-color:var(--purple);color:#fff;}
.cev-myvars-btn svg{width:17px;height:17px;}

/* variable groups — collapsible */
details.cev-group{background:var(--bg2,#F6F7FB);border:1.5px solid var(--line);border-radius:10px;
  margin-bottom:8px;overflow:hidden;}
details.cev-group > summary.cev-group-hd{
  list-style:none;padding:9px 12px;
  font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;
  cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  user-select:none;-webkit-user-select:none;}
details.cev-group > summary.cev-group-hd::-webkit-details-marker{display:none;}
details.cev-group > summary.cev-group-hd::after{content:"›";font-size:17px;font-weight:300;
  transition:transform .18s;display:inline-block;line-height:1;}
details.cev-group[open] > summary.cev-group-hd::after{transform:rotate(90deg);}
details.cev-group > .var-btns{padding:0 12px 10px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}

.var-btns{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.varbtn{padding:4px 10px;border-radius:8px;font-size:12px;font-weight:600;
  background:#fff;border:1.5px solid var(--line);color:var(--ink);transition:.13s;cursor:pointer;}
.varbtn:hover{background:var(--purple);border-color:var(--purple);color:#fff;}
.varbtn:active{transform:scale(.93);}

/* botão adicionar nova mensagem (personalizada / informação) */
.btn-add-msg{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  padding:13px 16px;border-radius:12px;border:2px dashed var(--purple);
  background:rgba(124,58,237,.05);color:var(--purple);
  font-size:13px;font-weight:700;font-family:'Sora';
  cursor:pointer;transition:.15s;margin-top:10px;}
.btn-add-msg:hover{background:rgba(124,58,237,.12);border-style:solid;}
.btn-add-msg:active{transform:scale(.98);}
.btn-add-msg .bam-icon{width:28px;height:28px;border-radius:8px;background:var(--purple);
  color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}

/* editar mensagem personalizada */
.btn-edit-custom{display:inline-flex;align-items:center;gap:5px;
  padding:7px 14px;border-radius:8px;background:var(--purple);
  border:none;color:#fff;font-size:12px;font-weight:600;
  cursor:pointer;margin-bottom:10px;transition:.13s;}
.btn-edit-custom:hover{opacity:.85;}

/* textarea única do editor de infos */
.info-body-ta{width:100%;box-sizing:border-box;border:1.5px solid var(--line);border-radius:10px;
  padding:10px 12px;font-size:13px;line-height:1.55;resize:vertical;min-height:160px;
  font-family:inherit;background:var(--bg2,#F6F7FB);margin-bottom:4px;}
.info-body-ta:focus{outline:none;border-color:var(--purple);}

/* approach selector */
.cev-approach-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  margin-bottom:10px;padding:8px 10px;background:var(--bg2,#F6F7FB);
  border-radius:9px;border:1.5px solid var(--line);}
.cev-approach-lbl{font-size:11px;font-weight:700;color:var(--muted);}
.ab-btn{padding:4px 12px;border-radius:8px;font-size:12px;font-weight:700;
  background:#fff;border:1.5px solid var(--line);color:var(--muted);cursor:pointer;transition:.13s;}
.ab-btn:hover{border-color:var(--purple);color:var(--purple);}
.ab-btn.active{background:var(--purple);border-color:var(--purple);color:#fff;}
.cev-approach-desc{font-size:11px;color:var(--muted);font-style:italic;}

/* section blocks */
.cev-blocks-label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;
  letter-spacing:.04em;margin:10px 0 6px;}
.custom-section{background:#fff;border:1.5px solid var(--line);border-radius:10px;
  margin-bottom:6px;overflow:hidden;}
.custom-section-hd{background:var(--bg2,#F6F7FB);padding:6px 12px;font-size:11px;font-weight:700;
  color:var(--muted);border-bottom:1.5px solid var(--line);text-transform:uppercase;letter-spacing:.04em;}
.custom-section-ta{width:100%;padding:9px 12px;border:none;outline:none;resize:none;
  font-size:13px;line-height:1.6;color:var(--ink);background:transparent;box-sizing:border-box;
  font-family:inherit;}
.custom-section-ta:focus{background:#FAFBFF;}

/* live preview */
.custom-live-preview{background:#fff;border:1.5px solid var(--line);border-radius:10px;
  padding:12px;font-size:13px;line-height:1.65;color:var(--ink);white-space:pre-wrap;
  min-height:60px;margin-bottom:4px;}
.custom-live-preview .ph{color:#B0B8C9;font-style:italic;}
.custom-live-preview .fl{color:var(--blue);font-weight:600;}

/* Minhas variáveis — modal */
#myVarsModal,#ctFixosModal{position:fixed;inset:0;z-index:10000;display:flex;align-items:flex-end;justify-content:center;}
.mvm-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45);}
.mvm-panel{position:relative;background:#fff;border-radius:18px 18px 0 0;padding:22px 18px calc(28px + env(safe-area-inset-bottom));
  width:100%;max-width:480px;max-height:88vh;overflow-y:auto;
  box-shadow:0 -8px 40px rgba(0,0,0,.2);}
.mvm-hd{display:flex;justify-content:space-between;align-items:center;
  font-size:16px;font-weight:700;color:var(--ink);margin-bottom:4px;}
.mvm-close{background:none;border:none;font-size:20px;color:var(--muted);cursor:pointer;padding:4px 8px;line-height:1;}
.mvm-hint{font-size:13px;color:var(--muted);margin-bottom:16px;line-height:1.5;}
.mvm-fields{display:flex;flex-direction:column;gap:10px;margin-bottom:18px;}
.mvm-row{display:flex;flex-direction:column;gap:3px;}
.mvm-lbl{font-size:13px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:6px;}
.mvm-var{font-family:monospace;font-size:11px;color:var(--muted);font-weight:400;}
.mvm-input{padding:9px 12px;border:1.5px solid var(--line);border-radius:9px;
  font-size:14px;color:var(--ink);background:#fff;width:100%;box-sizing:border-box;}
.mvm-input:focus{outline:none;border-color:var(--blue);}
#ctFixosModal .mvm-sec{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  color:var(--muted);margin:18px 0 8px;display:flex;align-items:center;gap:8px;}
#ctFixosModal .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:520px){#ctFixosModal .row2{grid-template-columns:1fr}}
#ctFixosModal .hint{display:block;background:none;border:none;border-radius:0;padding:0;
  font-size:11.5px;color:#8a8a93;margin-top:5px;}
#ctFixosModal .file-drop{margin:4px 0;}
#ctFixosModal .ct-logo-status{display:flex;align-items:center;gap:9px;background:var(--ok-bg);
  border:1.5px solid #BFE6CC;border-radius:11px;padding:10px 12px;margin-bottom:6px;font-size:12.5px;color:#14532D;}
#ctFixosModal .ct-logo-status .nm{flex:1;font-weight:600;word-break:break-all;}
#ctFixosModal .ct-logo-status .kb{color:#15803D;}
#ctFixosModal .ct-logo-status button{color:var(--red);font-weight:700;font-size:12px;background:none;border:none;cursor:pointer;}

.btn.danger{background:var(--red-bg);border:1.5px solid var(--red);color:var(--red);padding:8px 14px;border-radius:9px;font-size:13px;font-weight:600;}
.btn.danger:hover{background:var(--red);color:#fff;}

/* seletor de modelos prontos de contrato */
#ctTemplateModal .ct-tpl-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media(max-width:520px){#ctTemplateModal .ct-tpl-grid{grid-template-columns:1fr}}
#ctTemplateModal .ct-tpl-card{display:flex;flex-direction:column;gap:4px;text-align:left;
  background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:13px 14px;cursor:pointer;
  transition:border-color .15s,box-shadow .15s,transform .05s;}
#ctTemplateModal .ct-tpl-card:hover{border-color:var(--blue);box-shadow:0 4px 14px rgba(0,0,0,.08);}
#ctTemplateModal .ct-tpl-card:active{transform:scale(.99);}
#ctTemplateModal .ct-tpl-card.blank{border-style:dashed;background:#fafafe;}
#ctTemplateModal .ct-tpl-name{font-size:13.5px;font-weight:700;color:var(--ink);}
#ctTemplateModal .ct-tpl-desc{font-size:11.5px;color:var(--muted);line-height:1.4;}


/* raspagem — célula de e-mail editável */
.rasp-email-input{border:none;background:transparent;width:100%;font:inherit;font-size:16px;color:inherit;outline:none;padding:0;min-width:140px;}
.rasp-email-input::placeholder{color:var(--muted);}
.rasp-email-input:focus{background:var(--paper,#fff);border-radius:4px;outline:2px solid var(--blue);padding:2px 4px;}

/* raspagem — bloco de filtros */
#mod-rasp .rasp-filters{background:#f8fafc;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:14px;}
#mod-rasp .rf-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:6px;}
#mod-rasp .rf-check{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:500;color:var(--ink);padding:5px 0;cursor:pointer;}
#mod-rasp .rf-check input{width:18px;height:18px;accent-color:var(--brand);flex:none;}
#mod-rasp .rf-note{font-size:12px;color:var(--ink-soft);margin-top:8px;line-height:1.45;}

.cfg-select{width:100%;padding:10px 12px;border-radius:10px;border:1.5px solid var(--line);font-size:15px;font-weight:600;background:var(--card);color:var(--ink);}
.cfg-profile-note{font-size:12px;color:var(--ink-soft);margin-top:6px;line-height:1.4;}

/* =====================================================================
   ✨ APRIMORAMENTO DE INTERFACE — Camada de marca Eneven
   Sobrepõe os componentes existentes sem alterar HTML/JS.
   Cores: roxo #6117C4 → ciano #21A8E4 · Fonte: Sora + Inter
   ===================================================================== */

/* ---------- ETAPA 1 · Shell & Atmosfera (aurora) ---------- */
/* fundo aurora mesh global (igual eneven.com.br), atrás de tudo */
body{
  background:
    radial-gradient(ellipse 75% 55% at 0% 0%,    rgba(97,23,196,.10) 0%, transparent 58%),
    radial-gradient(ellipse 60% 50% at 100% 8%,  rgba(33,168,228,.11) 0%, transparent 60%),
    radial-gradient(ellipse 55% 45% at 92% 100%, rgba(97,23,196,.09) 0%, transparent 60%),
    radial-gradient(ellipse 50% 40% at 8% 92%,   rgba(33,168,228,.08) 0%, transparent 58%),
    var(--bg);
  background-attachment:fixed;
}

/* header translúcido sobre a aurora */
.app-header{
  background:rgba(255,255,255,.72);
  backdrop-filter:saturate(160%) blur(14px);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid var(--line);
  z-index:42;
}

/* botão sliders de config com gradiente da marca */
.icon-btn.primary{
  background:var(--grad);border-color:transparent;
  width:40px;height:40px;border-radius:12px;
  box-shadow:0 4px 18px -4px rgba(97,23,196,.55);
  transition:.18s;
}
.icon-btn.primary svg{width:17px;height:17px;}
@media(hover:hover){.icon-btn.primary:hover{filter:brightness(1.08);transform:scale(1.05);box-shadow:0 6px 22px -4px rgba(97,23,196,.65);color:#fff;}}

/* tabbar mobile: vidro + indicador da marca */
.tabbar{background:rgba(255,255,255,.92);backdrop-filter:saturate(160%) blur(12px);border-top:1px solid var(--line);}
.tabbar button{transition:color .15s,transform .12s;}
.tabbar button.on{color:var(--brand);}
.tabbar button.on .ic{transform:translateY(-1px);}

@media(min-width:768px){
  /* tabbar desktop: cada aba vira pílula; ativa = gradiente da marca */
  .tabbar button{border-radius:99px;transition:background .15s,color .15s,box-shadow .15s;}
  .tabbar button.on{color:#fff;background:var(--grad);box-shadow:0 6px 16px -8px rgba(97,23,196,.6);}
  .tabbar button:hover:not(.on){background:var(--brand-soft);color:var(--brand);}
}

/* ---------- ETAPA 2 · Ícones Lucide ---------- */
.lucide{stroke-width:2;vertical-align:-.125em;flex:none;}
/* nav inferior/superior */
.tabbar .ic{display:inline-flex;align-items:center;justify-content:center;}
.tabbar .ic svg{width:21px;height:21px;display:block;}
@media(min-width:768px){ .tabbar .ic svg{width:17px;height:17px;} }
/* títulos de blocos (config/import) */
.blk-title svg{width:16px;height:16px;color:var(--brand);}
/* abas de contrato */
.ct-vtab svg{width:16px;height:16px;vertical-align:-3px;}
/* header do dashboard */
.dash-page-hd h2 svg{width:21px;height:21px;vertical-align:-3px;color:var(--brand);}
/* título de filtros do raspador */
#mod-rasp .rf-title svg{width:15px;height:15px;vertical-align:-2px;color:var(--brand);}

/* ---------- ETAPA 3 · Kanban (mobile-first) ---------- */
/* busca: foco com anel da marca */
.search input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint);}
/* pílulas de nicho: hover suave da marca */
.fpill{transition:background .15s,color .15s,border-color .15s,transform .1s;}
.fpill:hover:not(.on){border-color:var(--brand);color:var(--brand);}
.fpill:active{transform:scale(.96);}
.fpill.on{box-shadow:0 4px 12px -4px rgba(97,23,196,.45);}
/* colunas: leve tom lavanda + cabeçalho mais limpo */
.col{background:#F4F2FB;border-color:var(--line);}
.col-hd{background:rgba(255,255,255,.96);backdrop-filter:blur(6px);}
.col-hd .ct{background:var(--brand-soft);color:var(--brand);}
/* cards: hover com elevação no desktop */
.card{transition:transform .12s,box-shadow .18s,border-color .18s;}
@media(hover:hover){
  .card:hover{transform:translateY(-2px);border-color:#DCD3F2;
    box-shadow:0 1px 2px rgba(15,17,23,.04),0 14px 30px -16px rgba(97,23,196,.35);}
}
/* chip de contagem de leads na barra de filtros */
.stat-chip{border-color:var(--line);}
.stat-chip b{color:var(--brand);}
/* FAB: realça micro-interação */
.fab{transition:transform .12s,box-shadow .2s,filter .15s;}
@media(hover:hover){ .fab:hover{filter:brightness(1.06);box-shadow:0 16px 36px -8px rgba(97,23,196,.6);} }

/* ---------- ETAPA 4 · Raspador (escuro → claro da marca) ---------- */
#mod-rasp{
  --brand:#6117C4; --brand-2:#21A8E4;
  --ink:#1A1D23; --ink-soft:#5A5F6A; --line:#ECE9F5;
  background:
    radial-gradient(ellipse 70% 50% at 100% 0%,  rgba(33,168,228,.10) 0%, transparent 60%),
    radial-gradient(ellipse 75% 55% at 0% 100%,   rgba(97,23,196,.10) 0%, transparent 60%),
    #FAFAFF;
  color:var(--ink);
}
#mod-rasp header{color:var(--ink);}
#mod-rasp header p{opacity:.72;}
/* botão principal: sombra da marca + brilho no hover */
#mod-rasp .btn-primary{box-shadow:0 10px 26px -10px rgba(97,23,196,.5);transition:filter .15s,transform .08s,box-shadow .2s;}
@media(hover:hover){ #mod-rasp .btn-primary:hover{filter:brightness(1.07);} }
/* cards com sombra suave da marca */
#mod-rasp .card{box-shadow:var(--shadow);border:1px solid var(--line);}
/* badge de contagem */
#mod-rasp .badge{background:var(--grad);}
/* foco dos campos com anel da marca */
#mod-rasp input:focus,#mod-rasp select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint);}

/* ---------- ETAPA 5 · Contrato (acentos na marca) ---------- */
#mod-ct,#ctEditorModal{--brand-deep:#4D12A0;--brand-soft:#F5F3FF;}
/* realce de variáveis preenchidas no documento */
#mod-ct .fill{background:#F5F3FF;color:var(--brand-deep);}
/* citação das partes com barra roxa */
#mod-ct .doc .parties{border-left-color:var(--brand);}
/* botão principal: sombra + brilho da marca */
#mod-ct .btn-primary{box-shadow:0 8px 22px -10px rgba(97,23,196,.5);transition:filter .15s,transform .08s,background .15s;}
@media(hover:hover){ #mod-ct .btn-primary:hover{filter:brightness(1.04);} }
/* foco dos campos */
#mod-ct input:focus,#mod-ct select:focus,#mod-ct textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);}
/* cartões de contrato: elevação no hover (desktop) */
#mod-ct .ct-card{transition:transform .12s,box-shadow .18s,border-color .18s;}
@media(hover:hover){ #mod-ct .ct-card:hover{transform:translateY(-2px);border-color:#DCD3F2;box-shadow:0 14px 30px -16px rgba(97,23,196,.3);} }

/* ---------- ETAPA 6 · Dashboard ---------- */
.dash-hero{box-shadow:0 14px 34px -14px rgba(97,23,196,.5);}
.dash-card{transition:transform .12s,box-shadow .18s,border-color .18s;}
@media(hover:hover){ .dash-card:hover{transform:translateY(-2px);border-color:#DCD3F2;box-shadow:var(--shadow);} }
/* números grandes com gradiente da marca (com fallback seguro) */
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .dash-card .num{
    background:var(--grad);-webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
  }
}
.msg-stat.top{box-shadow:0 8px 22px -14px rgba(97,23,196,.4);}

/* ---------- ETAPA 7 · Planos · Onboarding · Login ---------- */
/* botões primários com gradiente da marca */
.plan-btn--primary,.onb-btn{background:var(--grad);border-color:transparent;
  box-shadow:0 10px 26px -10px rgba(97,23,196,.55);transition:filter .15s,transform .08s;}
@media(hover:hover){ .plan-btn--primary:hover,.onb-btn:hover{filter:brightness(1.06);} }
.plan-btn--primary:active,.onb-btn:active{transform:scale(.98);}
.plan-badge{background:var(--grad);}
.plan-card--highlight{box-shadow:var(--shadow-lg);}
/* título dos planos com gradiente (fallback seguro) */
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .plans-title{background:var(--grad);-webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;}
}
/* botão de login primário na marca */
#loginOverlay button{background:var(--grad);}
#loginOverlay button:disabled{filter:grayscale(.3);opacity:.6;}

/* ---------- ETAPA 8 · Micro-interações globais ---------- */
/* brilho sutil no hover dos botões cheios (desktop) */
@media(hover:hover){
  .btn.dark:hover,.btn.zap:hover,.btn.email:hover{filter:brightness(1.06);}
  .icon-btn:hover{border-color:var(--brand);color:var(--brand);}
  .icon-btn.primary:hover{filter:brightness(1.06);color:#fff;}
}
/* foco visível e acessível em toda a app (teclado) */
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;}
/* seleção de texto na cor da marca */
::selection{background:rgba(97,23,196,.18);}
/* entrada suave ao trocar de módulo (só opacidade p/ não afetar elementos fixos) */
.module.active{animation:enFade .3s ease both;}
@keyframes enFade{from{opacity:0}to{opacity:1}}
/* respeita usuários que preferem menos movimento (reforço) */
@media(prefers-reduced-motion:reduce){.module.active{animation:none;}}

/* ╔══════════════════════════════════════════════════════════════════╗
   ║  AURORA GLASS REDESIGN — Etapas 0–4                            ║
   ║  Appended block. Overrides by later-position / specificity.    ║
   ╚══════════════════════════════════════════════════════════════════╝ */

/* ─────────────────────────────────────────────────────────────────
   ETAPA 0 · Tokens + Utilitários Aurora Glass
   ──────────────────────────────────────────────────────────────── */
:root{
  --glass-bg: rgba(255,255,255,0.72);
  --glass-bg-dark: rgba(255,255,255,0.55);
  --glass-brd: rgba(255,255,255,0.60);
  --glass-brd-inner: rgba(97,23,196,0.10);
  --glass-blur: saturate(180%) blur(18px);
  --glow: 0 0 24px rgba(97,23,196,0.28), 0 8px 32px rgba(97,23,196,0.18);
  --glow-cyan: 0 0 24px rgba(33,168,228,0.28), 0 8px 32px rgba(33,168,228,0.18);
  --glow-btn: 0 4px 20px rgba(97,23,196,0.40);
  --aurora-1: radial-gradient(ellipse 900px 600px at 5% 0%, rgba(97,23,196,0.13) 0%, transparent 70%);
  --aurora-2: radial-gradient(ellipse 700px 500px at 95% 10%, rgba(33,168,228,0.11) 0%, transparent 65%);
  --aurora-3: radial-gradient(ellipse 600px 400px at 50% 95%, rgba(124,58,237,0.09) 0%, transparent 60%);
  --aurora-4: radial-gradient(ellipse 400px 300px at 20% 80%, rgba(33,168,228,0.07) 0%, transparent 55%);
}

.aurora-bg{
  background: var(--aurora-1), var(--aurora-2), var(--aurora-3), var(--aurora-4), var(--bg);
  background-attachment: fixed;
}
.glass-panel{
  background: var(--glass-bg);
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-brd);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow), 0 1px 0 rgba(255,255,255,0.8) inset;
}
@supports not (backdrop-filter: blur(1px)){
  .glass-panel{ background: rgba(250,250,255,0.96); }
}
@media(prefers-reduced-motion: reduce){
  .aurora-bg{ background-attachment: scroll; }
}

/* ─────────────────────────────────────────────────────────────────
   ETAPA 1 · Raspador (#mod-rasp)
   ──────────────────────────────────────────────────────────────── */
#mod-rasp{
  background: var(--aurora-1), var(--aurora-2), var(--aurora-3), var(--aurora-4), var(--bg) !important;
  background-attachment: fixed !important;
}
#mod-rasp .wrap{
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 20px 16px 48px;
}
#mod-rasp .card{
  background: var(--glass-bg) !important;
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-brd) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow), 0 1px 0 rgba(255,255,255,0.8) inset !important;
  padding: 24px 22px !important;
}
@supports not (backdrop-filter: blur(1px)){
  #mod-rasp .card{ background: rgba(250,250,255,0.97) !important; }
}
#mod-rasp label{
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
}
#mod-rasp label svg{ width:14px;height:14px;color:var(--brand);flex-shrink:0; }
#mod-rasp input[type="text"],
#mod-rasp input[type="password"],
#mod-rasp input[type="number"],
#mod-rasp select{
  background: rgba(255,255,255,0.85) !important;
  border: 1.5px solid var(--line) !important;
  border-radius: 10px !important;
  color: var(--ink) !important;
  font-size: 14.5px !important;
  padding: 11px 14px !important;
  transition: border-color .18s, box-shadow .18s;
  width: 100%;
  box-sizing: border-box;
}
#mod-rasp input:focus,
#mod-rasp select:focus{
  outline: none !important;
  border-color: var(--brand) !important;
  box-shadow: 0 0 0 3px rgba(97,23,196,.12) !important;
}
#mod-rasp .key-row{ display:flex;gap:8px; }
#mod-rasp .key-row input{ flex:1; }
#mod-rasp .btn-ghost#toggleKey{
  background: rgba(255,255,255,0.8);
  border: 1.5px solid var(--line);
  border-radius: 10px;
  padding: 0 14px;
  color: var(--muted);
  font-size: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: border-color .15s, color .15s;
  min-height: 46px;
}
#mod-rasp .btn-ghost#toggleKey:hover{ border-color:var(--brand);color:var(--brand); }
#mod-rasp .btn-ghost#toggleKey svg{ width:17px;height:17px; }
#mod-rasp .btn-primary,
#mod-rasp #searchBtn{
  background: var(--grad) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 11px !important;
  padding: 13px 20px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  font-family: 'Sora', sans-serif !important;
  box-shadow: var(--glow-btn) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  transition: filter .2s, transform .15s !important;
}
#mod-rasp .btn-primary:hover,
#mod-rasp #searchBtn:hover{ filter: brightness(1.08) !important; }
#mod-rasp .btn-primary:active,
#mod-rasp #searchBtn:active{ transform: scale(.97) !important; }
#mod-rasp .btn-primary:disabled,
#mod-rasp #searchBtn:disabled{ filter: grayscale(.4) !important; opacity:.65 !important; box-shadow:none !important; }
#mod-rasp #searchBtn svg{ width:18px;height:18px;flex-shrink:0; }
#mod-rasp .btn-csv{
  background: rgba(236,253,245,0.85) !important;
  color: #047857 !important;
  border: 1.5px solid #a7f3d0 !important;
  border-radius: 9px !important;
  padding: 9px 14px !important;
  font-weight: 600 !important;
  font-size: 13.5px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: filter .15s !important;
}
#mod-rasp .btn-json{
  background: rgba(239,246,255,0.85) !important;
  color: #1d4ed8 !important;
  border: 1.5px solid #bfdbfe !important;
  border-radius: 9px !important;
  padding: 9px 14px !important;
  font-weight: 600 !important;
  font-size: 13.5px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: filter .15s !important;
}
#mod-rasp .btn-csv:hover{ filter:brightness(.94) !important; }
#mod-rasp .btn-json:hover{ filter:brightness(.94) !important; }
#mod-rasp .btn-csv svg, #mod-rasp .btn-json svg{ width:15px;height:15px;flex-shrink:0; }
#mod-rasp .results-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 14px;
}
#mod-rasp .results-head h2{
  font-family: 'Sora', sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: var(--ink);
  display: flex;
  align-items: center;
  gap: 8px;
}
#mod-rasp .badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--grad);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  font-family: 'Sora', sans-serif;
  border-radius: 20px;
  padding: 2px 9px;
  min-width: 28px;
}
#mod-rasp .rasp-filters{
  background: rgba(97,23,196,0.04);
  border: 1px solid var(--glass-brd-inner);
  border-radius: 12px;
  padding: 14px 16px;
  margin-bottom: 16px;
}
#mod-rasp .rf-title{
  font-size: 11.5px;
  font-weight: 700;
  color: var(--brand);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}
#mod-rasp .rf-title svg{ width:13px;height:13px; }
#mod-rasp .rf-check{
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  color: var(--ink);
  padding: 4px 0;
  cursor: pointer;
  font-weight: 500;
}
#mod-rasp .rf-check input[type=checkbox]{
  width: 15px !important;
  height: 15px !important;
  padding: 0 !important;
  accent-color: var(--brand);
  flex-shrink: 0;
}
#mod-rasp .rf-note{
  font-size: 11.5px;
  color: var(--muted);
  margin-top: 8px;
  line-height: 1.5;
}
#mod-rasp .table-scroll{
  overflow-x: auto;
  border-radius: 12px;
  border: 1px solid var(--line);
}
#mod-rasp table{ border-collapse: collapse; width:100%; font-size:13.5px; }
#mod-rasp thead th{
  background: var(--glass-bg) !important;
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
  color: var(--muted) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: 11px 13px !important;
  border-bottom: 1px solid var(--line) !important;
  position: sticky;
  top: 0;
  z-index: 2;
}
#mod-rasp tbody td{
  padding: 11px 13px !important;
  border-bottom: 1px solid rgba(236,233,245,.7) !important;
  vertical-align: top;
  color: var(--ink);
}
#mod-rasp tbody tr:last-child td{ border-bottom: none !important; }
#mod-rasp tbody tr:hover{ background: rgba(97,23,196,0.03) !important; }
#mod-rasp .biz-name{ font-weight:700;font-size:14px; }
#mod-rasp a.link{ color:var(--brand);text-decoration:none;word-break:break-all; }
#mod-rasp a.link:hover{ text-decoration:underline; }
#mod-rasp .chip{
  display:inline-block;
  background:var(--brand-soft);
  color:var(--brand);
  font-size:11px;
  font-weight:600;
  border-radius:6px;
  padding:2px 7px;
}
#mod-rasp .grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media(max-width:480px){ #mod-rasp .grid-2{ grid-template-columns:1fr; } }
#mod-rasp .export-row{ display:flex;gap:10px;flex-wrap:wrap; }
#mod-rasp .export-row .btn{ flex:1;min-width:130px; }
#mod-rasp #status{ text-align:center;padding:8px 0 4px;font-size:13.5px;color:var(--muted); }
#mod-rasp .spinner{
  display:inline-block;
  width:22px;height:22px;
  border:2.5px solid rgba(97,23,196,.2);
  border-top-color:var(--brand);
  border-radius:50%;
  animation:spin .8s linear infinite;
  vertical-align:middle;
  margin-right:6px;
}
#mod-rasp .alert{
  padding:12px 15px;
  border-radius:10px;
  font-size:13.5px;
  display:flex;
  align-items:flex-start;
  gap:8px;
}
#mod-rasp .alert-error{ background:#fdecec;color:#dc2626;border:1px solid #fca5a5; }
#mod-rasp .alert svg{ width:16px;height:16px;flex-shrink:0;margin-top:1px; }
@media(max-width:680px){
  #mod-rasp thead{ display:none; }
  #mod-rasp tbody tr{
    display:block;
    border:1px solid var(--line);
    border-radius:10px;
    margin-bottom:10px;
    background:rgba(255,255,255,.8);
    padding:10px 12px;
  }
  #mod-rasp tbody tr:hover{ background:rgba(97,23,196,0.04) !important; }
  #mod-rasp tbody td{
    display:flex;
    justify-content:space-between;
    padding:5px 0 !important;
    border:none !important;
    font-size:13px !important;
  }
  #mod-rasp tbody td::before{
    content: attr(data-label);
    font-size:10.5px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:var(--muted);
    flex-shrink:0;
    margin-right:8px;
  }
}

/* ─────────────────────────────────────────────────────────────────
   ETAPA 2 · Contrato (#mod-ct)
   ──────────────────────────────────────────────────────────────── */
#mod-ct{
  background: var(--aurora-1), var(--aurora-2), var(--aurora-3), var(--aurora-4), var(--bg) !important;
  background-attachment: fixed !important;
}
#mod-ct .wrap{
  max-width: 1180px;
  margin: 0 auto;
  padding: 22px 16px 80px;
}
#mod-ct .ct-viewbar{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
  background: var(--glass-bg);
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-brd);
  border-radius: 14px;
  padding: 6px 8px;
  box-shadow: var(--shadow);
}
#mod-ct .ct-viewtabs{ display:flex;gap:6px;flex:1;flex-wrap:wrap; }
#mod-ct .ct-vtab{
  background: transparent;
  border: none;
  color: var(--muted);
  border-radius: 9px;
  padding: 9px 16px;
  font-size: 13.5px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 7px;
  transition: background .18s, color .18s;
}
#mod-ct .ct-vtab:hover{ background:rgba(97,23,196,.07);color:var(--brand); }
#mod-ct .ct-vtab.on{
  background: var(--grad);
  color: #fff;
  box-shadow: var(--glow-btn);
}
#mod-ct .ct-vtab svg{ width:15px;height:15px;flex-shrink:0; }
#mod-ct .ct-gear{
  flex:none;width:40px;height:40px;padding:0;
  display:flex;
  justify-content:center;
  background:rgba(255,255,255,.6);
  border:1.5px solid var(--line);
  border-radius:10px;
  color:var(--muted);
  transition: border-color .15s, color .15s, background .15s;
}
#mod-ct .ct-gear:hover{ border-color:var(--brand);color:var(--brand);background:rgba(255,255,255,.9); }
#mod-ct .ct-gear svg{ width:17px;height:17px; }
#mod-ct .ct-cards{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px,1fr));
  gap: 14px;
}
#mod-ct .ct-card{
  display:flex;flex-direction:column;
  background: var(--glass-bg) !important;
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-brd) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow) !important;
  overflow:hidden;
  transition: box-shadow .2s, transform .18s;
}
#mod-ct .ct-card:hover{
  box-shadow: var(--glow), var(--shadow) !important;
  transform: translateY(-2px);
}
#mod-ct .ct-card-body{ padding:18px 16px;cursor:pointer;flex:1; }
#mod-ct .ct-card-body:hover{ background:rgba(97,23,196,.04); }
#mod-ct .ct-card-name{
  font-family:'Sora',sans-serif;
  font-weight:700;font-size:15px;margin-bottom:5px;color:var(--ink);
}
#mod-ct .ct-card-desc{ font-size:12.5px;color:var(--muted);line-height:1.45; }
#mod-ct .ct-card-actions{ display:flex;border-top:1px solid rgba(236,233,245,.8); }
#mod-ct .ct-card-btn{
  flex:1;border:none;background:transparent;color:var(--muted);
  font-size:12.5px;font-weight:600;padding:10px;border-radius:0;
  transition:background .15s,color .15s;
}
#mod-ct .ct-card-btn:hover{ background:var(--brand-soft);color:var(--brand); }
#mod-ct .ct-card-btn.danger:hover{ background:#fdecec;color:var(--red); }
#mod-ct .ct-card-btn+.ct-card-btn{ border-left:1px solid rgba(236,233,245,.8); }
#mod-ct .ct-create-card{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;min-height:120px;
  background: rgba(255,255,255,.5) !important;
  border: 2px dashed var(--brand) !important;
  border-radius: var(--radius) !important;
  color:var(--brand);font-weight:700;
  transition: box-shadow .2s, background .18s;
}
#mod-ct .ct-create-card:hover{
  background:var(--brand-soft) !important;
  box-shadow: var(--glow-btn) !important;
}
#mod-ct .ct-create-plus{ font-size:28px;line-height:1; }
#mod-ct .ct-create-txt{ font-size:14px; }
#mod-ct .panel{
  background: var(--glass-bg) !important;
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-brd) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow) !important;
  overflow: hidden;
}
#mod-ct .panel-head{
  padding: 18px 20px 16px;
  border-bottom: 1px solid rgba(236,233,245,.8);
  background: rgba(255,255,255,.4);
}
#mod-ct .panel-head h2{
  font-family:'Sora',sans-serif;
  font-size:17px;font-weight:700;color:var(--ink);margin:0;
}
#mod-ct .panel-body{ padding:20px 20px 28px; }
#mod-ct input,
#mod-ct select,
#mod-ct textarea{
  background: rgba(255,255,255,.85) !important;
  border: 1.5px solid var(--line) !important;
  border-radius: 9px !important;
  color: var(--ink) !important;
  font-size: 14px !important;
}
#mod-ct input:focus,
#mod-ct select:focus,
#mod-ct textarea:focus{
  border-color: var(--brand) !important;
  box-shadow: 0 0 0 3px rgba(97,23,196,.11) !important;
}
#mod-ct .field label,
#mod-ct .section-label{
  font-size: 11.5px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .05em;
}
#mod-ct .preview-shell{
  background: var(--glass-bg-dark) !important;
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-brd) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow) !important;
  overflow: hidden;
}
#mod-ct .preview-toolbar{
  display:flex;gap:10px;align-items:center;flex-wrap:wrap;
  padding:14px 18px;
  border-bottom:1px solid rgba(236,233,245,.8);
  background:rgba(255,255,255,.45);
}
#mod-ct .btn-primary{
  background: var(--grad) !important;
  color:#fff !important;border:none !important;
  border-radius:9px !important;padding:10px 16px !important;
  font-weight:700 !important;font-size:13.5px !important;
  box-shadow:var(--glow-btn) !important;
  display:flex !important;align-items:center !important;gap:7px !important;
  transition:filter .15s !important;
}
#mod-ct .btn-primary:hover{ filter:brightness(1.08) !important; }
#mod-ct .btn-amber{
  background:rgba(255,251,235,.9) !important;
  color:#b45309 !important;
  border:1.5px solid #fcd34d !important;
  border-radius:9px !important;padding:10px 15px !important;
  font-weight:700 !important;font-size:13.5px !important;
  display:flex !important;align-items:center !important;gap:7px !important;
}
#mod-ct .btn-amber:hover{ filter:brightness(.95) !important; }
#mod-ct .btn-zap{
  background:var(--zap) !important;color:#fff !important;border:none !important;
  border-radius:9px !important;padding:10px 15px !important;
  font-weight:700 !important;font-size:13.5px !important;
  box-shadow:0 4px 16px rgba(37,211,102,.35) !important;
  display:flex !important;align-items:center !important;gap:7px !important;
}
#mod-ct .btn-zap:hover{ filter:brightness(1.06) !important; }
#mod-ct .btn-primary svg,
#mod-ct .btn-amber svg{ width:15px;height:15px;flex-shrink:0; }
#mod-ct .btn-ghost,
#mod-ct #btnLimpar{
  background:rgba(255,255,255,.7) !important;
  border:1.5px solid var(--line) !important;
  border-radius:9px !important;
  color:var(--muted) !important;
  padding:9px 16px !important;
  font-weight:600 !important;
  font-size:13.5px !important;
}
#mod-ct .btn-ghost:hover,
#mod-ct #btnLimpar:hover{ border-color:var(--brand) !important;color:var(--brand) !important; }

/* ─────────────────────────────────────────────────────────────────
   ETAPA 3 · Dashboard (#mod-dash)
   ──────────────────────────────────────────────────────────────── */
#mod-dash{
  background: var(--aurora-1), var(--aurora-2), var(--aurora-3), var(--aurora-4), var(--bg) !important;
  background-attachment: fixed !important;
}
.dash-page{
  max-width: 600px;
  margin: 0 auto;
  padding: 22px 16px 48px;
}
.dash-page-hd{
  margin-bottom: 22px;
  display:flex;flex-direction:column;gap:4px;
}
.dash-page-hd h2{
  font-family:'Sora',sans-serif;
  font-size:22px;font-weight:800;color:var(--ink);margin:0;
  display:flex;align-items:center;gap:9px;
}
.dash-page-hd h2 svg{ width:22px;height:22px;color:var(--brand); }
.dash-page-hd .sub{ font-size:13px;color:var(--muted); }
.dash-hero{
  position:relative;
  background:var(--grad) !important;
  border-radius:20px !important;
  padding:24px 22px 22px !important;
  color:#fff !important;
  margin-bottom:16px !important;
  overflow:hidden;
  box-shadow: var(--glow), 0 2px 0 rgba(255,255,255,.15) inset !important;
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  align-items:flex-start !important;
}
.dash-hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 50% at 90% 20%, rgba(33,168,228,.35) 0%, transparent 60%),
             radial-gradient(ellipse 40% 60% at 10% 80%, rgba(255,255,255,.08) 0%, transparent 55%);
  pointer-events:none;
}
.dash-hero .big{
  font-family:'Sora',sans-serif !important;
  font-size:56px !important;
  font-weight:800 !important;
  line-height:1 !important;
  color:#fff !important;
  text-shadow:0 2px 16px rgba(0,0,0,.15);
  z-index:1;
}
.dash-hero .tx{
  font-size:13.5px !important;
  opacity:.92 !important;
  line-height:1.45 !important;
  z-index:1;
}
.dash-hero .tx b{ font-weight:700; }
.dash-progress-bar{
  width:100%;height:6px;
  background:rgba(255,255,255,.25);
  border-radius:3px;
  overflow:hidden;
  z-index:1;
}
.dash-progress-bar-fill{
  height:100%;
  background:linear-gradient(90deg,rgba(255,255,255,.65),rgba(255,255,255,1));
  border-radius:3px;
  transition:width .6s ease;
}
.dash-section-chip{
  display:inline-flex;align-items:center;gap:7px;
  background:var(--glass-bg);
  -webkit-backdrop-filter:var(--glass-blur);
  backdrop-filter:var(--glass-blur);
  border:1px solid var(--glass-brd-inner);
  border-radius:10px;
  padding:7px 13px;
  font-size:11.5px;font-weight:700;
  color:var(--brand);
  text-transform:uppercase;letter-spacing:.06em;
  margin-bottom:12px;
  box-shadow:var(--shadow);
}
.dash-section-chip svg{ width:14px;height:14px; }
.dash-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-bottom:18px;
}
.dash-card{
  background:var(--glass-bg) !important;
  -webkit-backdrop-filter:var(--glass-blur);
  backdrop-filter:var(--glass-blur);
  border:1px solid var(--glass-brd) !important;
  border-radius:16px !important;
  padding:16px 10px !important;
  text-align:center;
  box-shadow:var(--shadow) !important;
  transition:box-shadow .2s,transform .18s;
}
.dash-card:hover{
  box-shadow:var(--glow),var(--shadow) !important;
  transform:translateY(-2px);
}
.dash-card .num{
  font-family:'Sora',sans-serif !important;
  font-size:28px !important;
  font-weight:800 !important;
  line-height:1.05 !important;
  background:var(--grad);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
}
.dash-card .lbl{
  font-size:10px !important;
  font-weight:700 !important;
  color:var(--muted) !important;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-top:4px !important;
}
.dash-card .sub{
  font-size:11px !important;
  color:var(--ok) !important;
  font-weight:600 !important;
  margin-top:5px !important;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
}
.dash-card .sub svg{ width:12px;height:12px; }
.dash-stat-card{
  background:var(--glass-bg) !important;
  -webkit-backdrop-filter:var(--glass-blur);
  backdrop-filter:var(--glass-blur);
  border:1px solid var(--glass-brd) !important;
  border-radius:16px !important;
  padding:18px 16px !important;
  text-align:center;
  box-shadow:var(--shadow) !important;
  transition:box-shadow .2s,transform .18s;
}
.dash-stat-card:hover{
  box-shadow:var(--glow),var(--shadow) !important;
  transform:translateY(-2px);
}
.dash-stat-card .stat-icon{
  width:38px;height:38px;
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 10px;
}
.dash-stat-card .stat-icon svg{ width:18px;height:18px; }
.dash-stat-card .num{
  font-family:'Sora',sans-serif;
  font-size:26px;font-weight:800;line-height:1.05;
}
.dash-stat-card .lbl{
  font-size:11px;font-weight:600;color:var(--muted);margin-top:4px;
}
.dash-page .blk{ margin-bottom:18px; }

/* Enviados no período (banner / pdf · hoje · semana) */
.dash-send-nums{display:flex;justify-content:center;gap:16px;margin:2px 0;}
.dash-send-nums .dsn{display:flex;flex-direction:column;line-height:1;}
.dash-send-nums .dsn b{font-family:'Sora',sans-serif;font-size:22px;font-weight:800;color:var(--ink);}
.dash-send-nums .dsn span{font-size:9.5px;font-weight:600;color:var(--muted-2);margin-top:3px;text-transform:uppercase;letter-spacing:.03em;}

/* Gráfico de linhas */
.dash-chart-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
.dash-range{display:inline-flex;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px;}
.dash-range button{border:none;background:none;font:600 11.5px/1 'Inter',system-ui,sans-serif;color:var(--muted);
  padding:6px 11px;border-radius:999px;cursor:pointer;transition:.15s;white-space:nowrap;}
.dash-range button.on{background:var(--grad);color:#fff;box-shadow:0 3px 10px -3px rgba(97,23,196,.5);}
.dash-legend{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:6px;}
.dash-legend .dl{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--muted);}
.dash-legend .dl i{width:11px;height:11px;border-radius:3px;display:inline-block;}
.dash-chart{width:100%;}
.dash-chart svg{width:100%;height:auto;display:block;overflow:visible;}
.dash-chart-empty{padding:26px 12px;text-align:center;font-size:12.5px;line-height:1.6;color:var(--muted);}

/* ─────────────────────────────────────────────────────────────────
   ETAPA 4 · Planos & Onboarding
   ──────────────────────────────────────────────────────────────── */
.fullscreen-overlay{
  background: var(--aurora-1), var(--aurora-2), var(--aurora-3), var(--aurora-4), var(--bg) !important;
  background-attachment: fixed !important;
}
.plans-container{
  width:100%;max-width:560px;text-align:center;padding-top:32px;
  position:relative;z-index:1;
}
.plans-title{
  font-family:'Sora',sans-serif !important;
  font-size:1.75rem !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  margin:0 0 12px !important;
  background:var(--grad);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
}
.plans-sub{
  color:var(--muted) !important;
  font-size:.95rem !important;
  margin:0 0 28px !important;
  line-height:1.5;
}
.plans-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom:24px;
}
@media(max-width:430px){
  .plans-grid{ grid-template-columns:1fr; }
}
.plan-card{
  background:var(--glass-bg) !important;
  -webkit-backdrop-filter:var(--glass-blur);
  backdrop-filter:var(--glass-blur);
  border:1.5px solid var(--glass-brd) !important;
  border-radius:20px !important;
  padding:28px 18px !important;
  position:relative;
  box-shadow:var(--shadow) !important;
  transition:box-shadow .2s,transform .18s;
  display:flex;flex-direction:column;
}
.plan-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--glow),var(--shadow) !important;
}
.plan-card--highlight{
  border-color:var(--brand) !important;
  box-shadow:var(--glow),0 12px 36px -8px rgba(97,23,196,.35) !important;
  background:rgba(255,255,255,.82) !important;
}
.plan-badge{
  position:absolute;
  top:-14px;left:50%;transform:translateX(-50%);
  background:var(--grad);
  color:#fff;
  font-size:.72rem;font-weight:700;
  font-family:'Sora',sans-serif;
  padding:4px 12px;
  border-radius:20px;
  white-space:nowrap;
  box-shadow:var(--glow-btn);
  display:flex;align-items:center;gap:5px;
}
.plan-badge svg{ width:12px;height:12px; }
.plan-name{
  font-size:.8rem !important;
  color:var(--muted) !important;
  text-transform:uppercase;
  letter-spacing:.07em;
  margin-bottom:6px !important;
  font-weight:600;
}
.plan-price{
  font-family:'Sora',sans-serif !important;
  font-size:2.1rem !important;
  font-weight:800 !important;
  color:var(--ink) !important;
  line-height:1.1;
}
.plan-price .plan-period{
  font-size:.85rem !important;
  font-weight:400 !important;
  color:var(--muted) !important;
}
.plan-equiv{
  font-size:.72rem !important;
  color:var(--brand) !important;
  margin-bottom:10px !important;
  font-weight:600;
}
.plan-tagline{
  font-size:.78rem;
  color:var(--muted);
  margin-top:4px;
}
.plan-price-month{ margin-bottom:0 !important; }
.plan-price-year{
  font-size:.74rem;
  color:var(--muted);
  margin-top:2px;
}
.plan-save{
  background:rgba(22,163,74,.1);
  color:#16A34A;
  font-size:.72rem;
  font-weight:700;
  padding:3px 10px;
  border-radius:20px;
  display:inline-block;
  margin:9px 0 2px;
}
.plan-feats{
  list-style:none;
  padding:0;
  margin:14px 0;
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:8px;
  font-size:.8rem;
}
.plan-feats li{
  display:flex;
  align-items:flex-start;
  gap:8px;
  color:var(--ink);
  line-height:1.35;
}
.plan-feats li .benefit-icon{
  width:18px;height:18px;flex-shrink:0;margin-top:1px;
  background:var(--grad);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
.plan-feats li .benefit-icon svg{ width:10px;height:10px;color:#fff;stroke-width:3; }
.plan-card .plan-btn{ margin-top:auto !important; }
.plan-btn{
  width:100%;
  padding:11px 0 !important;
  border:2px solid var(--brand) !important;
  border-radius:12px !important;
  background:transparent !important;
  color:var(--brand) !important;
  font-family:'Sora',sans-serif !important;
  font-weight:700 !important;
  font-size:.88rem !important;
  cursor:pointer;
  margin-top:12px !important;
  transition:background .18s,color .18s,box-shadow .18s;
}
.plan-btn:hover{ background:var(--brand-soft) !important; }
.plan-btn--primary{
  background:var(--grad) !important;
  color:#fff !important;
  border:none !important;
  box-shadow:var(--glow-btn) !important;
}
.plan-btn--primary:hover{ filter:brightness(1.08) !important; }
.plans-benefits{
  list-style:none !important;
  padding:0 !important;
  margin:0 0 20px !important;
  text-align:left;
}
.plans-benefits li{
  padding:8px 0 !important;
  color:var(--ink) !important;
  font-size:.88rem !important;
  border-bottom:1px solid rgba(236,233,245,.7) !important;
  display:flex;
  align-items:center;
  gap:10px;
}
.plans-benefits li:last-child{ border-bottom:none !important; }
.plans-benefits li .benefit-icon{
  width:20px;height:20px;flex-shrink:0;
  background:var(--grad);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
.plans-benefits li .benefit-icon svg{ width:11px;height:11px;color:#fff;stroke-width:3; }
/* Seção única: tudo incluído nos dois planos */
.plans-included{
  margin:18px 0 4px;
  padding:18px 18px 16px;
  background:var(--glass-bg);
  -webkit-backdrop-filter:var(--glass-blur);
  backdrop-filter:var(--glass-blur);
  border:1px solid var(--glass-brd);
  border-radius:18px;
  box-shadow:var(--shadow);
}
.plans-included-title{
  font-family:'Sora',sans-serif;font-weight:700;font-size:.92rem;color:var(--ink);
  text-align:center;margin-bottom:14px;
}
.plans-included-list{
  list-style:none;padding:0;margin:0;
  display:grid;grid-template-columns:1fr 1fr;gap:9px 16px;text-align:left;
}
.plans-included-list li{
  display:flex;align-items:flex-start;gap:8px;
  font-size:.82rem;line-height:1.35;color:var(--ink);
}
.plans-included-list li .benefit-icon{
  width:18px;height:18px;flex-shrink:0;margin-top:1px;
  background:var(--grad);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
.plans-included-list li .benefit-icon svg{ width:10px;height:10px;color:#fff;stroke-width:3; }
.plans-cta-line{
  text-align:center;margin:16px 0 0;
  font-family:'Sora',sans-serif;font-weight:700;font-size:.9rem;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:var(--brand);
}
@media(max-width:430px){
  .plans-included-list{ grid-template-columns:1fr; }
}
.plans-trust{
  font-size:.78rem !important;
  color:var(--muted) !important;
  line-height:1.7 !important;
  display:flex;flex-direction:column;align-items:center;gap:4px;
}
.plans-trust .lock-row{
  display:flex;align-items:center;gap:6px;
  color:var(--brand);font-weight:600;font-size:.8rem;
}
.plans-trust .lock-row svg{ width:13px;height:13px; }
.plans-verify-btn{
  margin-top:16px !important;
  background:rgba(255,255,255,.7) !important;
  -webkit-backdrop-filter:var(--glass-blur);
  backdrop-filter:var(--glass-blur);
  border:1.5px solid var(--line) !important;
  border-radius:11px !important;
  padding:11px 24px !important;
  font-size:.88rem !important;
  color:var(--muted) !important;
  cursor:pointer;
  width:100% !important;
  transition:border-color .15s,color .15s;
}
.plans-verify-btn:hover{ border-color:var(--brand) !important;color:var(--brand) !important; }
.plans-account-bar{
  width:100%;
  display:flex;align-items:center;justify-content:flex-end;gap:10px;
  padding:10px 16px;
  background:rgba(255,255,255,.5);
  -webkit-backdrop-filter:var(--glass-blur);
  backdrop-filter:var(--glass-blur);
  font-size:.82rem;color:var(--muted);
  box-sizing:border-box;
  border-bottom:1px solid var(--glass-brd);
}
.btn-link{ color:var(--brand) !important; }

/* ──────────────────────────────────────────────────────────
   PLANOS · Light Premium (scoped to #plansOverlay)
   ────────────────────────────────────────────────────────── */
#plansOverlay{
  flex-direction:column !important;
  align-items:center !important;
  background:
    radial-gradient(ellipse 100% 52% at 50% -8%, rgba(97,23,196,.12) 0%, transparent 58%),
    radial-gradient(ellipse 70% 60% at 100% 102%, rgba(33,168,228,.10) 0%, transparent 55%),
    radial-gradient(ellipse 60% 50% at 0% 12%, rgba(97,23,196,.07) 0%, transparent 55%),
    #F6F4FC !important;
  background-attachment:fixed !important;
}
#plansOverlay .plans-account-bar{
  width:100% !important;
  background:#fff !important;
  border-bottom:1.5px solid var(--line) !important;
  color:var(--ink) !important;
  font-size:.84rem !important;
  font-weight:500 !important;
  padding:11px 20px !important;
  box-shadow:0 2px 8px rgba(15,17,23,.04) !important;
  flex-shrink:0 !important;
}
/* email do usuário logado */
#plansOverlay #plansEmail{
  color:var(--ink) !important;
  font-weight:600 !important;
  font-size:.84rem !important;
  padding:4px 10px !important;
  background:var(--brand-soft) !important;
  border-radius:20px !important;
  border:1px solid rgba(97,23,196,.15) !important;
}
/* botão Sair */
#plansOverlay .btn-link{
  color:#fff !important;
  background:var(--brand) !important;
  border:none !important;
  border-radius:8px !important;
  padding:5px 14px !important;
  font-size:.8rem !important;
  font-weight:600 !important;
  cursor:pointer !important;
  transition:background .15s !important;
}
#plansOverlay .btn-link:hover{ background:var(--brand-deep) !important; }
#plansOverlay .plans-container{
  max-width:780px;
  width:100%;
  margin:0 auto;
  padding-top:36px;
  padding-bottom:72px;
  text-align:center;
}
.plans-kicker{
  display:block;
  font-family:'Sora',sans-serif;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--brand);
  margin:0 0 16px;
}
#plansOverlay .plans-title{
  font-size:clamp(1.85rem,4.8vw,2.7rem) !important;
  color:var(--ink) !important;
  -webkit-text-fill-color:var(--ink) !important;
  background:none !important;
  line-height:1.18 !important;
  margin-bottom:18px !important;
  letter-spacing:-.02em !important;
}
#plansOverlay .plans-sub{
  font-size:1rem !important;
  color:var(--muted) !important;
  line-height:1.65 !important;
  margin-bottom:44px !important;
  max-width:560px;
  margin-left:auto;
  margin-right:auto;
}
#plansOverlay .plans-sub strong{ color:var(--ink); font-weight:700; }
#plansOverlay .plans-grid{
  gap:24px;
  margin-bottom:28px;
  align-items:stretch;
}
/* label "A PARTIR DE" acima do preço */
.plan-label-from{
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted-2);
  margin-bottom:6px;
}
#plansOverlay .plan-label-from{ color:var(--muted-2) !important; }
#plansOverlay .plan-card{
  background:#fff !important;
  border:1.5px solid var(--line) !important;
  border-radius:24px !important;
  padding:38px 32px 34px !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:0 8px 32px -12px rgba(80,40,160,.18), 0 2px 8px rgba(15,17,23,.04) !important;
  transition:transform .22s ease,box-shadow .22s ease !important;
  text-align:left !important;
}
#plansOverlay .plan-card:hover{
  transform:translateY(-6px) !important;
  box-shadow:0 24px 52px -18px rgba(80,40,160,.32), 0 4px 16px rgba(15,17,23,.07) !important;
}
#plansOverlay .plan-card--highlight{
  background:#fff !important;
  border:2px solid var(--brand) !important;
  box-shadow:
    0 0 0 5px rgba(97,23,196,.07),
    0 18px 52px -18px rgba(97,23,196,.38) !important;
}
#plansOverlay .plan-card--highlight:hover{
  transform:translateY(-6px) !important;
  box-shadow:
    0 0 0 5px rgba(97,23,196,.10),
    0 28px 64px -16px rgba(97,23,196,.50) !important;
}
#plansOverlay .plan-name{
  font-size:.82rem !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  color:var(--muted) !important;
  margin-bottom:8px !important;
}
#plansOverlay .plan-price{
  font-size:2.8rem !important;
  font-weight:800 !important;
  background:var(--grad) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  color:transparent !important;
  line-height:1.05 !important;
}
#plansOverlay .plan-price .plan-period{
  font-size:.9rem !important;
  font-weight:500 !important;
  -webkit-text-fill-color:var(--muted) !important;
  color:var(--muted) !important;
}
#plansOverlay .plan-price-year{
  color:var(--muted-2) !important;
  font-size:.78rem !important;
  margin-top:6px !important;
}
#plansOverlay .plan-save{
  background:rgba(22,163,74,.1) !important;
  color:#16A34A !important;
  border:1px solid rgba(22,163,74,.22) !important;
}
#plansOverlay .plan-tagline{ color:var(--muted) !important; }
/* bullets dentro dos cards */
.plan-micro-list{
  list-style:none; padding:0;
  margin:18px 0 26px;
  text-align:left;
  display:flex; flex-direction:column; gap:11px;
}
.plan-micro-list li{
  font-size:.86rem;
  color:var(--ink);
  display:flex; align-items:center; gap:10px;
  line-height:1.4;
}
.plan-micro-list li::before{
  content:'✓';
  width:19px; height:19px;
  flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  border-radius:50%;
  background:var(--grad);
  color:#fff;
  font-size:.68rem;
  font-weight:900;
  line-height:1;
}
/* divisor sutil entre preço e lista */
#plansOverlay .plan-tagline{
  font-size:.8rem !important;
  color:var(--muted-2) !important;
  margin:6px 0 0 !important;
  padding-bottom:18px !important;
  border-bottom:1px solid var(--line) !important;
}
#plansOverlay .plan-btn{
  background:var(--grad) !important;
  border:none !important;
  color:#fff !important;
  box-shadow:0 10px 26px -10px rgba(97,23,196,.48) !important;
  padding:15px 0 !important;
  font-size:.93rem !important;
  font-weight:700 !important;
  border-radius:13px !important;
  letter-spacing:.01em !important;
  transition:filter .18s,box-shadow .18s,transform .18s !important;
}
#plansOverlay .plan-btn:hover{
  filter:brightness(1.07) !important;
  box-shadow:0 14px 32px -10px rgba(97,23,196,.58) !important;
  transform:translateY(-1px) !important;
}
#plansOverlay .plan-btn--primary{
  background:var(--grad) !important;
  border:none !important;
  color:#fff !important;
  box-shadow:0 12px 30px -10px rgba(97,23,196,.58) !important;
  padding:15px 0 !important;
  font-size:.95rem !important;
  font-weight:700 !important;
  border-radius:13px !important;
  letter-spacing:.01em !important;
}
#plansOverlay .plan-btn--primary:hover{
  filter:brightness(1.07) !important;
  box-shadow:0 16px 36px -10px rgba(97,23,196,.65) !important;
  transform:translateY(-1px) !important;
}
/* seção de recursos */
#plansOverlay .plans-included{
  background:#fff !important;
  border:1.5px solid var(--line) !important;
  border-radius:20px !important;
  padding:36px 32px 32px !important;
  margin-bottom:20px;
  box-shadow:0 12px 32px -22px rgba(80,40,160,.25) !important;
  text-align:left !important;
}
#plansOverlay .plans-included-title{
  color:var(--ink) !important;
  font-size:1rem !important;
  font-weight:700 !important;
  text-align:center !important;
  margin-bottom:28px !important;
}
#plansOverlay .plans-included-list{
  grid-template-columns:1fr 1fr !important;
  gap:20px 28px !important;
}
#plansOverlay .plans-included-list li{
  align-items:flex-start !important;
  gap:12px !important;
  padding:0 !important;
}
#plansOverlay .plans-included-list li .benefit-icon{
  width:22px !important; height:22px !important;
  flex-shrink:0 !important;
  margin-top:2px !important;
}
.benefit-text{
  display:flex; flex-direction:column; gap:3px;
}
.benefit-text strong{
  display:block;
  font-size:.87rem;
  font-weight:700;
  color:var(--ink);
  line-height:1.3;
}
.benefit-text span{
  font-size:.79rem;
  color:var(--muted);
  line-height:1.55;
}
#plansOverlay .plans-cta-line{
  color:var(--muted) !important;
  -webkit-text-fill-color:var(--muted) !important;
  background:none !important;
  font-weight:400 !important;
  font-family:inherit !important;
  font-size:.83rem !important;
  margin-top:20px !important;
}
/* trust + verify */
#plansOverlay .plans-trust{ color:var(--muted-2) !important; }
#plansOverlay .plans-trust .lock-row{ color:var(--muted) !important; }
#plansOverlay .plans-verify-btn{
  background:#fff !important;
  border:1.5px solid var(--brand) !important;
  color:var(--brand) !important;
  font-weight:600 !important;
  font-size:.9rem !important;
  padding:13px 20px !important;
  border-radius:13px !important;
  transition:background .18s,box-shadow .18s,transform .15s !important;
  box-shadow:0 2px 12px rgba(97,23,196,.10) !important;
}
#plansOverlay .plans-verify-btn:hover{
  background:var(--brand-soft) !important;
  box-shadow:0 6px 20px rgba(97,23,196,.18) !important;
  transform:translateY(-1px) !important;
}
@media(max-width:600px){
  #plansOverlay .plans-container{ max-width:100%; padding-top:32px; padding-left:16px; padding-right:16px; }
  #plansOverlay .plans-grid{ grid-template-columns:1fr !important; gap:16px !important; }
  #plansOverlay .plan-card{ padding:28px 22px !important; border-radius:20px !important; }
  #plansOverlay .plan-price{ font-size:2.3rem !important; }
  #plansOverlay .plans-included{ padding:22px !important; border-radius:18px !important; }
}
@media(max-width:430px){
  #plansOverlay .plan-card{ padding:24px 18px !important; }
  #plansOverlay .plans-included-list{ grid-template-columns:1fr !important; }
}

.onb-step{
  width:100%;max-width:440px;text-align:center;padding-top:32px;
}
.onb-progress{
  display:flex;align-items:center;justify-content:center;gap:8px;
  font-size:.75rem;color:var(--muted);
  text-transform:uppercase;letter-spacing:.08em;
  margin-bottom:18px;
}
.onb-progress-dots{ display:flex;gap:5px; }
.onb-progress-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--line);
  transition:background .2s,width .2s;
}
.onb-progress-dot.active{ background:var(--brand);width:18px;border-radius:3px; }
.onb-card{
  background:var(--glass-bg);
  -webkit-backdrop-filter:var(--glass-blur);
  backdrop-filter:var(--glass-blur);
  border:1px solid var(--glass-brd);
  border-radius:var(--radius-lg);
  box-shadow:var(--glow),var(--shadow);
  padding:32px 28px 28px;
  margin-bottom:16px;
}
.onb-emoji{ font-size:2.6rem;margin-bottom:14px;line-height:1; }
.onb-emoji svg{ width:48px;height:48px;color:var(--brand);filter:drop-shadow(0 0 10px rgba(97,23,196,.35)); }
.onb-title{
  font-family:'Sora',sans-serif !important;
  font-size:1.4rem !important;font-weight:800 !important;
  color:var(--ink) !important;margin:0 0 10px !important;
}
.onb-desc{
  color:var(--muted) !important;font-size:.93rem !important;
  margin:0 0 22px !important;line-height:1.6 !important;
}
.onb-steps-list{
  text-align:left;padding-left:18px;
  margin:0 0 20px !important;
  color:var(--ink);font-size:.9rem;line-height:1.9;
}
.onb-steps-list li strong{ color:var(--brand); }
.onb-input{
  width:100%;box-sizing:border-box;
  padding:13px 15px !important;
  border:2px solid var(--line) !important;
  border-radius:11px !important;
  font-size:.93rem !important;
  margin-bottom:12px !important;
  font-family:inherit;
  background:rgba(255,255,255,.85) !important;
  transition:border-color .18s,box-shadow .18s;
}
.onb-input:focus{
  border-color:var(--brand) !important;
  box-shadow:0 0 0 3px rgba(97,23,196,.12) !important;
  outline:none !important;
}
.onb-btn{
  width:100%;
  padding:14px !important;
  background:var(--grad) !important;
  color:#fff !important;
  border:none !important;
  border-radius:13px !important;
  font-family:'Sora',sans-serif !important;
  font-size:1rem !important;font-weight:700 !important;
  cursor:pointer;
  margin-bottom:10px !important;
  box-shadow:var(--glow-btn) !important;
  transition:filter .18s,transform .15s !important;
}
.onb-btn:hover{ filter:brightness(1.08) !important; }
.onb-btn:active{ transform:scale(.97) !important; }
.onb-btn:disabled{ filter:grayscale(.4) !important;opacity:.65 !important;box-shadow:none !important; }
.onb-msg{ font-size:.88rem;min-height:1.4em;margin-bottom:6px; }
.onb-msg--ok{ color:var(--ok); }
.onb-msg--err{ color:var(--red); }
.onb-help-link{ font-size:.82rem;color:var(--muted);margin-top:10px; }
.onb-help-link a{ color:var(--brand);font-weight:600; }

/* Orbs decorativos nas laterais (cobre Planos e Onboarding) */
.fullscreen-overlay::before,
.fullscreen-overlay::after{
  content:'';position:fixed;top:50%;
  width:300px;height:300px;border-radius:50%;
  filter:blur(80px);opacity:.5;pointer-events:none;z-index:0;
}
.fullscreen-overlay::before{
  left:-120px;transform:translateY(-50%);
  background:radial-gradient(circle,rgba(97,23,196,.5),transparent 70%);
}
.fullscreen-overlay::after{
  right:-120px;transform:translateY(-50%);
  background:radial-gradient(circle,rgba(33,168,228,.45),transparent 70%);
}
.onb-step{ position:relative;z-index:1; }

/* Grid de perfis (etapa do ramo) */
.onb-profiles{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
  margin-bottom:18px;text-align:left;
}
.onb-prof-card{
  background:rgba(255,255,255,.7);
  -webkit-backdrop-filter:var(--glass-blur);
  backdrop-filter:var(--glass-blur);
  border:1.5px solid var(--glass-brd);
  border-radius:14px;
  padding:12px 10px;
  cursor:pointer;
  text-align:center;
  transition:border-color .15s,background .15s,box-shadow .15s,transform .12s;
}
.onb-prof-card:hover{ border-color:var(--brand); }
.onb-prof-card:active{ transform:scale(.97); }
.onb-prof-card.sel{
  border-color:var(--brand);
  background:var(--brand-soft);
  box-shadow:0 4px 14px -4px rgba(97,23,196,.4);
}
.onb-prof-ic{ font-size:1.5rem;line-height:1;margin-bottom:5px; }
.onb-prof-name{ font-size:.82rem;font-weight:700;color:var(--ink);line-height:1.2; }
.onb-prof-desc{ font-size:.7rem;color:var(--muted);margin-top:3px;line-height:1.3; }

/* Saída discreta "fazer depois" */
.onb-skip{
  display:inline-block;margin-top:4px;
  background:none;border:none;
  color:var(--muted);font-size:.82rem;
  text-decoration:underline;cursor:pointer;
  transition:color .15s;
}
.onb-skip:hover{ color:var(--brand); }

/* ─────────────────────────────────────────────────────────────────
   ETAPA 5 · Coesão e micro-interações
   ──────────────────────────────────────────────────────────────── */
.lucide{ display:inline-block;vertical-align:-.125em;flex:none; }
.blk-title .lucide{ width:16px;height:16px;color:var(--brand);flex-shrink:0; }
.tabbar .ic .lucide{ width:21px;height:21px;display:block; }
@media(min-width:768px){ .tabbar .ic .lucide{ width:17px;height:17px; } }
#mod-rasp :focus-visible,
#mod-ct :focus-visible,
#mod-dash :focus-visible,
.fullscreen-overlay :focus-visible{
  outline:2px solid var(--brand);
  outline-offset:2px;
}
#mod-rasp.active,
#mod-ct.active,
#mod-dash.active{
  animation:enFade .28s ease both;
}
@media(prefers-reduced-motion:reduce){
  #mod-rasp .card,
  #mod-ct .ct-card,
  #mod-ct .panel,
  #mod-ct .preview-shell,
  .dash-card,.dash-stat-card,
  .plan-card,
  .onb-card{
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    transition:none !important;
    box-shadow:var(--shadow) !important;
  }
  #mod-rasp.active,#mod-ct.active,#mod-dash.active{ animation:none; }
}

/* ═══════════════════════════════════════════════════════════════
   PAINEL DE AJUDA
   ═══════════════════════════════════════════════════════════════ */

/* Botão de ajuda — estilo ghost com borda sutil */
.icon-btn--help{
  background:rgba(255,255,255,.7) !important;
  border:1.5px solid rgba(97,23,196,.2) !important;
  color:var(--brand) !important;
  width:40px;height:40px;border-radius:12px;
  transition:.18s;
}
.icon-btn--help svg{ width:17px;height:17px; }
@media(hover:hover){
  .icon-btn--help:hover{
    background:var(--brand-soft) !important;
    border-color:var(--brand) !important;
    transform:scale(1.05);
  }
}

/* Backdrop */
.help-backdrop{
  position:fixed;inset:0;z-index:498;
  background:rgba(14,8,32,.45);
  -webkit-backdrop-filter:blur(3px);
  backdrop-filter:blur(3px);
  opacity:0;pointer-events:none;
  transition:opacity .25s;
}
.help-backdrop.open{ opacity:1;pointer-events:auto; }

/* Painel lateral */
.help-panel{
  position:fixed;top:0;right:0;bottom:0;z-index:499;
  width:min(400px,100vw);
  display:flex;flex-direction:column;
  background:#fff;
  box-shadow:-8px 0 48px rgba(97,23,196,.18);
  transform:translateX(100%);
  transition:transform .3s cubic-bezier(.32,.72,0,1);
  overflow:hidden;
}
.help-panel.open{ transform:translateX(0); }

/* Header do painel */
.help-hd{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 20px;flex-shrink:0;
  background:linear-gradient(135deg,#6117C4 0%,#21A8E4 100%);
  position:relative;overflow:hidden;
}
.help-hd::before{
  content:'';position:absolute;top:-40px;right:-30px;
  width:150px;height:150px;border-radius:50%;
  background:rgba(255,255,255,.08);pointer-events:none;
}
.help-hd-inner{ display:flex;align-items:center;gap:12px; }
.help-hd-ic{
  width:40px;height:40px;border-radius:12px;flex-shrink:0;
  background:rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;
  color:#fff;
}
.help-hd-title{
  font-family:'Sora',sans-serif;
  font-size:1rem;font-weight:800;color:#fff;line-height:1.1;
}
.help-hd-sub{
  font-size:.72rem;color:rgba(255,255,255,.75);
  margin-top:2px;font-weight:500;
}
.help-close{
  width:34px;height:34px;border-radius:9px;
  background:rgba(255,255,255,.15);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  color:#fff;transition:.15s;flex-shrink:0;
}
.help-close:hover{ background:rgba(255,255,255,.28); }

/* Body scrollável */
.help-body{
  flex:1;overflow-y:auto;padding:0 0 16px;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
}
.help-body::-webkit-scrollbar{ width:4px; }
.help-body::-webkit-scrollbar-track{ background:transparent; }
.help-body::-webkit-scrollbar-thumb{ background:rgba(97,23,196,.2);border-radius:2px; }

/* Seções */
.help-section{
  padding:0 16px;
  border-bottom:1px solid rgba(229,226,245,.8);
}
.help-section:last-of-type{ border-bottom:none; }
.help-sec-hd{
  display:flex;align-items:center;gap:9px;
  font-family:'Sora',sans-serif;
  font-size:.78rem;font-weight:800;
  color:var(--ink);letter-spacing:.02em;
  padding:16px 0 10px;
  text-transform:uppercase;
  position:sticky;top:0;background:#fff;z-index:1;
}
.help-sec-ic{
  width:24px;height:24px;border-radius:7px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}

/* FAQ accordion */
.help-faq{
  border-radius:10px;
  margin-bottom:6px;
  background:rgba(246,244,253,.7);
  border:1px solid rgba(229,226,245,.8);
  overflow:hidden;
  transition:background .15s;
}
.help-faq[open]{
  background:rgba(241,238,255,.9);
  border-color:rgba(97,23,196,.18);
}
.help-faq summary{
  list-style:none;
  padding:11px 14px;
  font-size:.84rem;font-weight:600;color:var(--ink);
  cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;
  gap:8px;user-select:none;
  transition:color .15s;
}
.help-faq summary::-webkit-details-marker{ display:none; }
.help-faq summary::after{
  content:'';flex-shrink:0;
  width:16px;height:16px;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%236117C4' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:transform .2s;
}
.help-faq[open] summary::after{ transform:rotate(180deg); }
.help-faq[open] summary{ color:var(--brand); }
.help-faq p{
  margin:0;padding:0 14px 13px;
  font-size:.82rem;color:var(--muted);line-height:1.65;
}
.help-faq p strong{ color:var(--ink); }
.help-faq p code{
  background:rgba(97,23,196,.08);color:var(--brand);
  padding:1px 5px;border-radius:4px;font-size:.78rem;
}

/* WhatsApp CTA */
.help-wa-wrap{
  margin:20px 16px 8px;
  background:linear-gradient(135deg,rgba(37,211,102,.08),rgba(37,211,102,.04));
  border:1.5px solid rgba(37,211,102,.25);
  border-radius:16px;
  padding:20px;text-align:center;
}
.help-wa-text{
  font-size:.82rem;color:var(--muted);line-height:1.55;
  margin:0 0 14px;
}
.help-wa-btn{
  display:inline-flex;align-items:center;gap:9px;
  background:linear-gradient(135deg,#25D366,#128C7E);
  color:#fff;text-decoration:none;
  font-family:'Sora',sans-serif;font-size:.88rem;font-weight:700;
  padding:12px 22px;border-radius:50px;
  box-shadow:0 6px 20px -4px rgba(37,211,102,.5);
  transition:filter .18s,transform .15s,box-shadow .18s;
  position:relative;overflow:hidden;
}
.help-wa-btn::before{
  content:'';position:absolute;inset:0;border-radius:50px;
  background:rgba(255,255,255,.15);
  animation:waShimmer 2.4s ease-in-out infinite;
}
@keyframes waShimmer{
  0%,100%{ transform:translateX(-100%); }
  50%{ transform:translateX(100%); }
}
@media(hover:hover){
  .help-wa-btn:hover{
    filter:brightness(1.08);
    transform:translateY(-2px);
    box-shadow:0 10px 28px -4px rgba(37,211,102,.55);
  }
}
.help-wa-btn:active{ transform:scale(.97); }

/* Mobile refinements */
@media(max-width:480px){
  .help-panel{ width:100vw; }
  .help-sec-hd{ font-size:.74rem; }
}

/* ═══════════════════════════════════════════════════════════════
   SHEETS REDESIGN — Aurora Glass (Modal Dados Fixos + Lead Sheet)
   ═══════════════════════════════════════════════════════════════ */

/* ── Modal "Meus dados (fixos)" ── */
#ctFixosModal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: flex-end;
}
.mvm-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(18,10,36,.6);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.mvm-panel {
  position: relative;
  z-index: 1;
  width: 100%;
  max-height: 92dvh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background: rgba(255,255,255,.98);
  border-radius: 22px 22px 0 0;
  box-shadow: 0 -12px 48px rgba(97,23,196,.18), 0 -2px 0 rgba(97,23,196,.08);
  padding-bottom: calc(24px + env(safe-area-inset-bottom));
}
.mvm-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px 16px;
  background: linear-gradient(135deg, #6117C4 0%, #21A8E4 100%);
  border-radius: 22px 22px 0 0;
  position: sticky;
  top: 0;
  z-index: 2;
}
.mvm-hd > span {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  font-family: 'Sora', sans-serif;
  font-weight: 700;
  font-size: 16px;
}
.mvm-hd > span .lucide {
  width: 18px;
  height: 18px;
  color: rgba(255,255,255,.9);
}
.mvm-close {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(255,255,255,.2);
  color: #fff;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  transition: background .15s;
}
.mvm-close:hover { background: rgba(255,255,255,.32); }
.mvm-hint {
  font-size: 12.5px;
  color: var(--muted);
  padding: 12px 20px 0;
  line-height: 1.55;
  margin: 0;
}
.mvm-sec {
  font-family: 'Sora', sans-serif;
  font-weight: 700;
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #6117C4;
  padding: 20px 20px 8px;
  display: flex;
  align-items: center;
  gap: 6px;
  border-top: 1.5px solid #F0EAFF;
  margin-top: 6px;
}
.mvm-sec:first-of-type { border-top: none; margin-top: 0; }
.mvm-var {
  font-family: 'Sora', monospace;
  font-size: 9.5px;
  font-weight: 600;
  background: rgba(97,23,196,.1);
  color: #6117C4;
  border-radius: 5px;
  padding: 2px 7px;
}
.mvm-fields {
  padding: 0 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mvm-row {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.row2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.mvm-lbl {
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 5px;
}
.mvm-lbl .lucide {
  width: 13px;
  height: 13px;
  color: #6117C4;
  flex: none;
  opacity: .85;
}
.mvm-input {
  width: 100%;
  height: 42px;
  border-radius: 11px;
  border: 1.5px solid #E4E8F2;
  background: #F8F9FC;
  padding: 0 13px;
  font-size: 13.5px;
  outline: none;
  transition: border-color .15s, box-shadow .15s, background .15s;
  color: #1B1F2A;
}
.mvm-input:focus {
  border-color: #6117C4;
  box-shadow: 0 0 0 3px rgba(97,23,196,.12);
  background: #fff;
}
.mvm-input::placeholder { color: #B0B8D0; }
.hint {
  font-size: 11px;
  color: var(--muted);
  line-height: 1.55;
  padding: 1px 2px;
}
.btn.mvm-save,
button.mvm-save {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  margin: 8px 16px 0 !important;
  width: calc(100% - 32px) !important;
  height: 46px !important;
  border-radius: 13px !important;
  background: linear-gradient(135deg, #6117C4, #21A8E4) !important;
  box-shadow: 0 6px 20px -4px rgba(97,23,196,.4) !important;
  color: #fff !important;
  font-family: 'Sora', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  border: none !important;
  cursor: pointer !important;
}
.btn.mvm-save .lucide,
button.mvm-save .lucide { width: 16px; height: 16px; color: #fff; }

/* ── Lead Sheet — refinamentos Aurora Glass ── */
.blk-title .lucide {
  width: 15px;
  height: 15px;
  color: #6117C4;
  background: linear-gradient(135deg, rgba(97,23,196,.12), rgba(33,168,228,.08));
  padding: 4px;
  border-radius: 7px;
  box-sizing: content-box;
  flex: none;
}
.tab.on {
  background: linear-gradient(135deg, #6117C4, #21A8E4) !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: 0 4px 12px -3px rgba(97,23,196,.38) !important;
}
.msg-item.on {
  border-color: #6117C4 !important;
  box-shadow: 0 2px 14px rgba(97,23,196,.09) !important;
}
.contact-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  padding: 2px 0;
}
.contact-row b {
  font-size: 15px;
  font-weight: 700;
  color: var(--chumbo);
}
.contact-row a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12.5px;
  font-weight: 600;
  background: rgba(97,23,196,.07);
  color: #6117C4;
  border-radius: 20px;
  padding: 4px 11px;
  text-decoration: none;
  transition: background .13s;
}
.contact-row a:hover { background: rgba(97,23,196,.13); }
.contact-row a .lucide { width: 12px; height: 12px; }
.muted-tag {
  font-size: 12px;
  color: var(--muted);
  background: var(--bg);
  border: 1.5px solid var(--line);
  border-radius: 20px;
  padding: 3px 10px;
}
.greet-now {
  background: rgba(97,23,196,.04) !important;
  border-color: rgba(97,23,196,.18) !important;
  font-style: italic;
}
.badge.sent {
  background: #DCFCE7 !important;
  color: #16A34A !important;
}
.proc-step.done {
  background: rgba(97,23,196,.06) !important;
}
.proc-badge .lucide { width: 15px; height: 15px; }

@supports not (backdrop-filter: blur(1px)) {
  .mvm-backdrop { background: rgba(18,10,36,.82); }
}
@media (prefers-reduced-motion: reduce) {
  .mvm-panel, .mvm-backdrop { transition: none !important; }
}

/* ═══════════════════════════════════════════════════════════
   RASPADOR — Tema Claro (override do fundo aurora escuro)
   ═══════════════════════════════════════════════════════════ */
#mod-rasp {
  background: #F4F1FF !important;
  background-attachment: initial !important;
}
#mod-rasp .card {
  background: #fff !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  border: 1.5px solid #E5DEFF !important;
  box-shadow: 0 4px 24px rgba(97,23,196,.08) !important;
}
#mod-rasp input[type="text"],
#mod-rasp input[type="password"],
#mod-rasp input[type="number"],
#mod-rasp select {
  background: #FAF8FF !important;
  border-color: #DDD5F8 !important;
  color: #1A1D23 !important;
}
#mod-rasp input[type="text"]:focus,
#mod-rasp input[type="password"]:focus,
#mod-rasp input[type="number"]:focus,
#mod-rasp select:focus {
  background: #fff !important;
  border-color: #6117C4 !important;
  box-shadow: 0 0 0 3px rgba(97,23,196,.12) !important;
}
#mod-rasp .btn-ghost#toggleKey {
  background: #FAF8FF !important;
  border-color: #DDD5F8 !important;
}
#mod-rasp .btn-ghost#toggleKey:hover {
  background: #F0EBFF !important;
}
#mod-rasp .rasp-filters {
  background: #FAF8FF !important;
  border-color: #DDD5F8 !important;
}
#mod-rasp thead th {
  background: #F4F1FF !important;
}
