:root {
  --bg:#F5F4FA; --panel:#FFFFFF; --ink:#0E1128; --muted:#5F6480; --line:#E4E3F0; --soft:#F5F4FA;
  --brand:#5A00F2; --brand-d:#4600C2; --brand-soft:#EFE8FF; --brand-ink:#4A00C8;
  --orange:#FFA21F; --pink:#FF2D78; --violet:#5A00F2;
  --grad:linear-gradient(105deg,#FFA21F 0%,#FF2D78 55%,#5A00F2 100%);
  --ok:#1B9A63; --ok-soft:#E3F7EE;
  --ai:#EFE8FF; --ai-ink:#4A00C8;
  --warn:#B45309; --warn-soft:#FEF3C7;
  --danger:#D42A4F; --danger-soft:#FFE3EA;
  --radius:20px; --head:"Fredoka","Arial Rounded MT Bold","Trebuchet MS",system-ui,sans-serif;
}
* { box-sizing:border-box; }
html, body { height:100%; }
body { margin:0; background:var(--bg); color:var(--ink); font:14.5px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; -webkit-font-smoothing:antialiased; }
button, input, select, textarea { font:inherit; color:inherit; }
button { cursor:pointer; }
:focus-visible { outline:2px solid var(--brand); outline-offset:2px; }
::selection { background:#E3D6FF; }
[hidden] { display:none !important; }
h1, h2, h3 { margin:0; font-family:var(--head); font-weight:600; letter-spacing:-.01em; }

/* ---------- Login ---------- */
.login-page { min-height:100vh; display:grid; place-items:center; background:radial-gradient(900px 500px at 15% -10%, rgba(255,162,31,.18), transparent 60%), radial-gradient(800px 500px at 95% 0%, rgba(90,0,242,.16), transparent 60%), var(--bg); }
.login-card { width:min(380px, 92vw); background:var(--panel); border:1px solid var(--line); border-radius:28px; padding:32px 28px; box-shadow:0 20px 60px -24px rgba(90,0,242,.35); }
.login-card h1 { font-size:26px; margin-bottom:4px; }
.login-card p { margin:0 0 20px; color:var(--muted); }
.login-card .field { padding:0 0 12px; }
.login-card button { width:100%; margin-top:6px; padding:11px; }

/* ---------- Estrutura ---------- */
.app { height:100dvh; display:flex; flex-direction:column; }
.top { display:flex; align-items:center; gap:10px; padding:10px 20px; background:rgba(255,255,255,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); flex-wrap:wrap; position:relative; z-index:5; }
.brand { font-family:var(--head); font-weight:700; font-size:20px; margin-right:8px; letter-spacing:-.01em; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.nav { display:flex; gap:4px; }
.nav button { border:0; background:none; padding:8px 16px; border-radius:999px; font-weight:600; color:var(--muted); }
.nav button:hover { background:var(--soft); color:var(--ink); }
.nav button[aria-current="page"] { background:var(--brand-soft); color:var(--brand-ink); }
.nav .n { margin-left:6px; background:var(--pink); color:#fff; border-radius:99px; padding:0 6px; font-size:12px; }
.status { display:flex; align-items:center; gap:8px; padding:5px 12px; border-radius:99px; background:var(--soft); border:1px solid var(--line); font-size:13px; }
.status.clickable { cursor:pointer; }
.dot { width:8px; height:8px; border-radius:50%; background:#A9A7C0; flex:none; }
.status[data-s="connected"] .dot { background:var(--ok); }
.status[data-s="qr"] .dot, .status[data-s="connecting"] .dot, .status[data-s="reconnecting"] .dot { background:#D97706; }
.status[data-s="logged_out"] .dot, .status[data-s="disconnected"] .dot { background:var(--danger); }
.spacer { flex:1; }
.view { flex:1; min-height:0; }

.btn { border:1.5px solid var(--line); background:var(--soft); padding:8px 18px; border-radius:999px; text-decoration:none; color:var(--ink); font-weight:600; display:inline-flex; align-items:center; gap:6px; transition:filter .15s, background .15s, transform .05s; }
.btn:hover { background:#ECE9F8; }
.btn:active { transform:translateY(1px); }
.btn:disabled { opacity:.55; cursor:not-allowed; }
.btn.primary { background:var(--grad); border-color:transparent; color:#fff; }
.btn.primary:hover { background:var(--grad); filter:brightness(1.07) saturate(1.05); }
.btn.danger { color:var(--danger); }
.btn.danger:hover { background:var(--danger-soft); }
.btn.small { padding:5px 14px; font-size:13px; }
.btn.icon { padding:5px 10px; }
#btnSim { background:var(--panel); border-color:transparent; color:var(--brand-ink); background-image:linear-gradient(var(--panel),var(--panel)), var(--grad); background-origin:border-box; background-clip:padding-box, border-box; border:1.5px solid transparent; }
#btnSim:hover { background-image:linear-gradient(var(--brand-soft),var(--brand-soft)), var(--grad); }

.switch { display:inline-flex; align-items:center; gap:8px; font-weight:500; cursor:pointer; user-select:none; position:relative; }
.switch input { position:absolute; opacity:0; }
.track { width:38px; height:22px; border-radius:99px; background:#CFCBE0; position:relative; transition:background .15s; flex:none; }
.track::after { content:""; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#fff; transition:transform .15s; }
.switch input:checked + .track { background:var(--brand); }
.switch input:checked + .track::after { transform:translateX(16px); }
.switch input:focus-visible + .track { outline:2px solid var(--brand); outline-offset:2px; }
.nokey { color:var(--warn); background:var(--warn-soft); padding:3px 10px; border-radius:99px; font-size:12px; font-weight:600; }

.chip { display:inline-flex; align-items:center; gap:5px; border-radius:99px; padding:0 8px; font-size:12px; font-weight:600; background:var(--soft); border:1px solid var(--line); white-space:nowrap; }
.chip i { width:8px; height:8px; border-radius:50%; display:inline-block; }
.badge { background:var(--grad); color:#fff; border-radius:99px; min-width:20px; padding:0 6px; text-align:center; font-weight:700; font-size:12px; }
.flag { background:var(--warn-soft); color:var(--warn); border-radius:99px; padding:0 6px; font-weight:600; font-size:11px; }
.tag-ai { background:var(--ai); color:var(--ai-ink); border-radius:99px; padding:0 6px; font-weight:600; font-size:11px; }
.empty { padding:32px 20px; color:var(--muted); text-align:center; }

/* ---------- Formulários ---------- */
.field { padding:6px 16px; }
.field label, .lbl { display:block; font-size:12px; font-weight:600; margin-bottom:4px; color:var(--muted); }
.field input:not([type=checkbox]), .field select, .field textarea { width:100%; padding:10px 14px; border:1.5px solid var(--line); border-radius:14px; background:var(--panel); }
.field input:not([type=checkbox]):focus, .field select:focus, .field textarea:focus, .search input:focus, .search select:focus { outline:0; border-color:var(--brand); box-shadow:0 0 0 4px rgba(90,0,242,.12); }
.field textarea { min-height:90px; resize:vertical; }
.field small, .hint { color:var(--muted); font-size:12px; }
.field .check { display:flex; align-items:center; gap:8px; font-size:14px; font-weight:500; color:var(--ink); margin:0; }
.field input[type=color] { padding:2px; height:36px; width:64px; }
.multi { display:grid; gap:4px; max-height:160px; overflow:auto; border:1.5px solid var(--line); border-radius:14px; padding:8px 10px; }
.err { color:var(--danger); font-size:13px; min-height:18px; padding:0 16px; }

/* ---------- Conversas ---------- */
.cols { height:100%; display:grid; grid-template-columns:340px minmax(0,1fr) 300px; }
.list, .details { background:var(--panel); display:flex; flex-direction:column; min-height:0; }
.list { border-right:1px solid var(--line); }
.details { border-left:1px solid var(--line); overflow-y:auto; }
.chat { display:flex; flex-direction:column; min-height:0; background:var(--soft); }
.search { padding:12px 12px 8px; display:grid; gap:8px; }
.search input, .search select { width:100%; padding:10px 16px; border:1.5px solid var(--line); border-radius:999px; background:var(--soft); }
.tabs { display:flex; gap:6px; padding:0 12px 10px; border-bottom:1px solid var(--line); flex-wrap:wrap; }
.tab { border:1.5px solid var(--line); background:var(--panel); border-radius:99px; padding:4px 12px; font-weight:600; font-size:13px; }
.tab[aria-pressed="true"] { background:var(--brand); border-color:var(--brand); color:#fff; }
.tab .n { margin-left:4px; font-weight:700; }
.items { overflow-y:auto; flex:1; }
.item { display:grid; grid-template-columns:40px 1fr auto; gap:10px; padding:10px 12px; border:0; border-bottom:1px solid var(--line); background:var(--panel); width:100%; text-align:left; align-items:center; }
.item:hover { background:var(--soft); }
.item[aria-current="true"] { background:var(--brand-soft); box-shadow:inset 3px 0 0 var(--brand); }
.avatar { width:40px; height:40px; border-radius:50%; display:grid; place-items:center; font-weight:700; color:#fff; font-size:16px; flex:none; }
.avatar.sm { width:24px; height:24px; font-size:11px; }
.item .name { font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.item .prev { color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:13px; }
.item .sub { display:flex; gap:6px; margin-top:2px; flex-wrap:wrap; }
.item .meta { display:flex; flex-direction:column; align-items:flex-end; gap:4px; font-size:12px; color:var(--muted); }

.chat-head { display:flex; align-items:center; gap:10px; padding:10px 16px; background:var(--panel); border-bottom:1px solid var(--line); flex-wrap:wrap; }
.chat-head .who { min-width:0; flex:1; }
.chat-head .who b { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.chat-head .who span { color:var(--muted); font-size:13px; }
.mode { font-size:12px; font-weight:600; padding:3px 10px; border-radius:99px; }
.mode.ai { background:var(--ai); color:var(--ai-ink); }
.mode.human { background:var(--brand-soft); color:var(--brand-ink); }
.mode.need { background:var(--warn-soft); color:var(--warn); }
.back, .info { display:none; }
.msgs { flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:6px; }
.day { align-self:center; font-size:12px; color:var(--muted); background:var(--panel); border:1px solid var(--line); border-radius:99px; padding:1px 10px; margin:8px 0; }
.bubble { max-width:min(560px, 80%); padding:8px 13px; border-radius:18px; white-space:pre-wrap; overflow-wrap:anywhere; border:1px solid var(--line); background:var(--panel); }
.bubble.in { align-self:flex-start; border-bottom-left-radius:6px; }
.bubble.out { align-self:flex-end; border-bottom-right-radius:6px; }
.bubble.ai { background:var(--ai); border-color:#D9C9FF; }
.bubble.human { background:var(--ok-soft); border-color:#BFE8D4; }
.bubble .who { display:block; font-size:11px; font-weight:700; margin-bottom:1px; }
.bubble.ai .who { color:var(--ai-ink); }
.bubble.human .who { color:var(--ok); }
.bubble time { display:block; text-align:right; font-size:11px; color:var(--muted); margin-top:2px; }
.composer { display:flex; gap:8px; padding:10px 12px; background:var(--panel); border-top:1px solid var(--line); align-items:flex-end; }
.composer textarea { flex:1; resize:none; max-height:140px; padding:9px 12px; border:1px solid var(--line); border-radius:10px; background:var(--soft); }
.placeholder { margin:auto; color:var(--muted); text-align:center; padding:20px; }
.details h2 { font-size:13px; padding:14px 16px 6px; color:var(--muted); font-weight:600; }

/* ---------- Kanban ---------- */
.kanban { height:100%; display:flex; flex-direction:column; }
.kbar { display:flex; gap:10px; align-items:center; padding:10px 16px; flex-wrap:wrap; }
.kbar select, .kbar input[type=search] { padding:7px 10px; border:1px solid var(--line); border-radius:8px; background:var(--panel); }
.kbar .sum { color:var(--muted); font-size:13px; }
.board { flex:1; min-height:0; display:flex; gap:12px; padding:0 16px 16px; overflow-x:auto; align-items:flex-start; }
.col { flex:0 0 290px; max-height:100%; display:flex; flex-direction:column; background:#ECE9F8; border-radius:22px; border-top:4px solid var(--c, #94a3b8); }
.col.over { outline:2px dashed var(--brand); outline-offset:-2px; background:#E3DAFB; }
.col-head { padding:10px 12px 6px; display:flex; align-items:baseline; gap:8px; }
.col-head b { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.col-head .cnt { color:var(--muted); font-weight:600; }
.col-sum { padding:0 12px 8px; font-size:12px; color:var(--muted); }
.cards { padding:0 8px 8px; overflow-y:auto; display:grid; gap:8px; min-height:48px; }
.card { background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:12px; cursor:grab; display:grid; gap:6px; text-align:left; width:100%; }
.card:hover { border-color:#CFC8E8; }
.card.dragging { opacity:.4; }
.card .top2 { display:flex; gap:8px; align-items:center; }
.card .nm { font-weight:600; flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; background:none; border:0; padding:0; text-align:left; }
.card .nm:hover { text-decoration:underline; }
.card .ph { color:var(--muted); font-size:12px; }
.card .row { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.card .val { font-weight:700; margin-left:auto; }
.card select { font-size:12px; padding:3px 8px; border:1px solid var(--line); border-radius:99px; background:var(--soft); max-width:100%; }

/* ---------- Administração ---------- */
.admin { height:100%; display:grid; grid-template-columns:220px minmax(0,1fr); }
.side { background:var(--panel); border-right:1px solid var(--line); padding:16px 12px; display:flex; flex-direction:column; gap:2px; overflow-y:auto; }
.side h3 { font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); padding:10px 10px 4px; }
.side button { border:0; background:none; text-align:left; padding:9px 14px; border-radius:999px; font-weight:600; color:var(--muted); }
.side button:hover { background:var(--soft); color:var(--ink); }
.side button[aria-current="page"] { background:var(--brand-soft); color:var(--brand-ink); }
.content { overflow-y:auto; padding:28px 32px 48px; }
.content > h2 { font-size:28px; margin-bottom:4px; }
.content > .lead { color:var(--muted); margin:0 0 16px; }
.toolbar { display:flex; gap:8px; align-items:center; margin:0 0 12px; flex-wrap:wrap; }
.panel { background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); }
.panel + .panel { margin-top:14px; }
.panel-head { display:flex; align-items:center; gap:10px; padding:12px 16px; border-bottom:1px solid var(--line); flex-wrap:wrap; }
.panel-head h3 { font-size:17px; flex:1; }
.panel-body { padding:12px 0; }
.panel-body.pad { padding:12px 16px; }
table.tbl { width:100%; border-collapse:collapse; }
.tbl th { text-align:left; font-size:12px; color:var(--muted); font-weight:600; padding:8px 16px; border-bottom:1px solid var(--line); white-space:nowrap; }
.tbl td { padding:10px 16px; border-bottom:1px solid var(--line); vertical-align:middle; }
.tbl tr:last-child td { border-bottom:0; }
.tbl .act { text-align:right; white-space:nowrap; }
.tbl-wrap { overflow-x:auto; }
.muted { color:var(--muted); }
.stats { display:grid; grid-template-columns:repeat(auto-fill, minmax(170px, 1fr)); gap:12px; margin-bottom:14px; }
.stat { background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:12px 14px; }
.stat b { display:block; font-size:28px; font-family:var(--head); font-weight:700; }
.stat span { color:var(--muted); font-size:13px; }
.bars { display:grid; gap:8px; padding:4px 16px; }
.bar { display:grid; grid-template-columns:140px 1fr 90px; gap:10px; align-items:center; }
.bar .lab { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bar .rail { height:10px; background:var(--soft); border-radius:99px; overflow:hidden; }
.bar .fill { height:100%; background:var(--c, var(--brand)); border-radius:99px; }
.bar .num { text-align:right; color:var(--muted); font-size:13px; }
.stage-row { display:flex; align-items:center; gap:10px; padding:8px 16px; border-bottom:1px solid var(--line); }
.stage-row:last-child { border-bottom:0; }
.swatch { width:14px; height:14px; border-radius:4px; flex:none; }
.stage-row .nm { flex:1; font-weight:600; }
pre.prompt { white-space:pre-wrap; overflow-wrap:anywhere; background:var(--soft); border:1px solid var(--line); border-radius:14px; padding:12px; max-height:55vh; overflow:auto; font:12px/1.5 ui-monospace, Menlo, Consolas, monospace; text-align:left; }
.answer { background:var(--ai); color:var(--ai-ink); border-radius:16px; padding:10px 12px; white-space:pre-wrap; margin-top:10px; }
.qr-box { text-align:center; padding:16px; }
.qr-box img { width:260px; max-width:100%; height:auto; border:1px solid var(--line); border-radius:20px; padding:10px; background:#fff; }

/* ---------- Diálogos e avisos ---------- */
.toast { position:fixed; left:50%; bottom:24px; transform:translateX(-50%); background:var(--ink); color:#fff; padding:12px 20px; border-radius:999px; box-shadow:0 12px 30px -10px rgba(14,17,40,.5); z-index:50; max-width:90vw; }
.toast.warn { background:var(--warn); }
dialog { border:1px solid var(--line); border-radius:26px; box-shadow:0 30px 80px -30px rgba(14,17,40,.5); padding:0; width:min(460px, 94vw); max-height:92vh; overflow:auto; color:var(--ink); background:var(--panel); }
dialog.wide { width:min(720px, 94vw); }
dialog::backdrop { background:rgba(14,17,40,.5);backdrop-filter:blur(3px); }
dialog form, dialog .dlg { padding:20px 8px 16px; }
dialog h3 { padding:0 16px 8px; font-size:20px; }
dialog p.intro { white-space:pre-line; padding:0 16px 8px; margin:0; color:var(--muted); }
dialog .actions { display:flex; gap:8px; justify-content:flex-end; padding:12px 16px 0; }

@media (max-width:1200px) {
  .cols { grid-template-columns:320px minmax(0,1fr); }
  .details { display:none; }
  .cols[data-view="details"] .details { display:flex; position:fixed; inset:0; z-index:10; border:0; }
  .info { display:inline-flex; }
}
@media (max-width:860px) {
  .admin { grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr); }
  .side { flex-direction:row; border-right:0; border-bottom:1px solid var(--line); overflow-x:auto; padding:6px; }
  .side h3 { display:none; }
  .side button { white-space:nowrap; }
  .content { padding:14px 12px 40px; }
  .bar { grid-template-columns:100px 1fr 70px; }
}
@media (max-width:760px) {
  .cols { grid-template-columns:1fr; }
  .chat { display:none; }
  .cols[data-view="chat"] .list { display:none; }
  .cols[data-view="chat"] .chat { display:flex; }
  .cols[data-view="details"] .list { display:none; }
  .back { display:inline-flex; }
  .top { gap:6px 8px; padding:8px 12px; }
  .brand { flex:1; }
  .nokey { display:none; }
  #statusText { max-width:42vw; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .spacer { display:none; }
  .col { flex-basis:84vw; }
}
@media (prefers-reduced-motion:reduce) { .track, .track::after { transition:none; } }

/* ---------- Agenda ---------- */
.row2 { display:grid; grid-template-columns:repeat(auto-fit, minmax(190px, 1fr)); gap:0 16px; }
.bubble.system { align-self:center; max-width:90%; background:var(--warn-soft); border-color:#F3E3B0; text-align:center; font-size:13px; }
.bubble.system time { text-align:center; }
.hrs input[type=time] { width:120px; display:inline-block; }
.hrs td { white-space:nowrap; }

/* ---------- Teste sua IA (pop-up) ---------- */
dialog.phone { width:min(460px, 96vw); height:min(680px, 92dvh); padding:0; overflow:hidden; border-radius:28px; }
dialog.phone[open] { display:flex; flex-direction:column; }
.thead { display:flex; align-items:center; gap:10px; padding:14px 16px; border-bottom:1px solid var(--line); background:var(--panel); flex-wrap:wrap; }
.tava { width:40px; height:40px; border-radius:50%; background:var(--grad); color:#fff; display:grid; place-items:center; font-family:var(--head); font-weight:700; flex:none; }
.ttitle { flex:1; min-width:120px; }
.ttitle b { display:block; font-family:var(--head); font-size:17px; line-height:1.2; }
.ttitle small { color:var(--muted); font-size:12px; }
.tchat { flex:1; min-height:0; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:6px; background:var(--soft); }
.tempty { margin:auto; text-align:center; color:var(--muted); padding:20px; max-width:300px; }
.tempty b { display:block; font-family:var(--head); font-size:19px; color:var(--ink); margin-bottom:6px; }
.tbub { max-width:84%; padding:9px 14px; border-radius:20px; white-space:pre-wrap; overflow-wrap:anywhere; }
.tbub.me { align-self:flex-end; background:var(--grad); color:#fff; border-bottom-right-radius:6px; }
.tbub.ai { align-self:flex-start; background:var(--panel); border:1px solid var(--line); border-bottom-left-radius:6px; }
.tbub.typing { display:inline-flex; gap:4px; padding:13px 16px; }
.tbub.typing i { width:7px; height:7px; border-radius:50%; background:#B7B3D0; animation:tdot 1s infinite ease-in-out; }
.tbub.typing i:nth-child(2) { animation-delay:.15s; } .tbub.typing i:nth-child(3) { animation-delay:.3s; }
@keyframes tdot { 0%,60%,100% { transform:translateY(0); opacity:.5; } 30% { transform:translateY(-4px); opacity:1; } }
.tnote { align-self:center; text-align:center; font-size:12px; font-weight:600; color:var(--brand-ink); background:var(--brand-soft); border-radius:99px; padding:4px 12px; margin:4px 0; max-width:92%; }
.tform { display:flex; gap:8px; align-items:flex-end; padding:12px; border-top:1px solid var(--line); background:var(--panel); }
.tform textarea { flex:1; resize:none; max-height:120px; padding:10px 16px; border:1.5px solid var(--line); border-radius:22px; background:var(--soft); line-height:1.4; }
.tform textarea:focus { outline:0; border-color:var(--brand); box-shadow:0 0 0 4px rgba(90,0,242,.12); background:#fff; }
@media (prefers-reduced-motion:reduce) { .tbub.typing i { animation:none; } }
.login-card button, .btn.primary { justify-content:center; }
.btn.primary { background-origin:border-box; }

/* ---------- v3.3: abas internas, CRM, disparo, calendário ---------- */
.subtabs { display:flex; gap:6px; margin:0 0 16px; flex-wrap:wrap; }
.subtabs button { border:1.5px solid var(--line); background:var(--panel); padding:7px 18px; border-radius:999px; font-weight:600; color:var(--muted); }
.subtabs button:hover { color:var(--ink); background:var(--soft); }
.subtabs button.on { background:var(--brand-soft); border-color:transparent; color:var(--brand-ink); }
.crm { height:100%; display:flex; flex-direction:column; }
.crm > .subtabs { margin:12px 16px 0; }
.crm-body { flex:1; min-height:0; overflow:auto; }
.crm-body .kanban { height:100%; }
.crm-list { padding:12px 16px 32px; }
.crm-list .bar { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:12px; }
.crm-list .bar select, .crm-list .bar input[type=search] { padding:8px 12px; border:1.5px solid var(--line); border-radius:999px; background:var(--panel); }
.crm-list .bar .sum { color:var(--muted); font-size:13px; margin-left:auto; }
.tbl tr.click { cursor:pointer; }
.tbl tr.click:hover td { background:var(--soft); }
.logo-row { display:flex; align-items:center; gap:16px; padding:6px 16px 12px; flex-wrap:wrap; }
.logo-prev { width:84px; height:84px; border-radius:20px; border:1.5px dashed var(--line); background:var(--soft) center/contain no-repeat; display:grid; place-items:center; color:var(--muted); font-size:12px; overflow:hidden; }
.brand img { height:26px; width:auto; border-radius:6px; vertical-align:middle; margin-right:8px; }
.bubble.broadcast { background:#FFF4E5; border-color:#FFD9A8; }
.bubble.broadcast .who { color:#B35C00; }
.progress { height:10px; border-radius:99px; background:var(--soft); overflow:hidden; border:1px solid var(--line); min-width:120px; }
.progress > i { display:block; height:100%; background:var(--grad); }
.pill { display:inline-block; padding:1px 10px; border-radius:99px; font-size:12px; font-weight:700; background:var(--soft); border:1px solid var(--line); }
.pill.running { background:var(--ok-soft); color:var(--ok); border-color:#BFE8D4; }
.pill.scheduled { background:var(--brand-soft); color:var(--brand-ink); border-color:transparent; }
.pill.paused { background:var(--warn-soft); border-color:#F3E3B0; }
.pill.cancelled, .pill.failed { background:var(--danger-soft); color:var(--danger); border-color:transparent; }
.pick { max-height:340px; overflow:auto; border:1.5px solid var(--line); border-radius:14px; margin:0 16px; }
.pick label.check { display:flex; gap:10px; padding:8px 14px; border-bottom:1px solid var(--line); align-items:center; font-size:14px; margin:0; }
.pick label.check:last-child { border-bottom:0; }
.pick label.check span.ph { color:var(--muted); font-size:12px; margin-left:auto; }
.pick-bar { display:flex; gap:8px; align-items:center; padding:0 16px 8px; flex-wrap:wrap; }
.pick-bar select, .pick-bar input[type=search] { padding:7px 12px; border:1.5px solid var(--line); border-radius:999px; background:var(--panel); }
.warnbox { margin:8px 16px; padding:10px 14px; border-radius:14px; background:var(--warn-soft); border:1px solid #F3E3B0; font-size:13px; }
.gap-row { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.gap-row input[type=number] { width:90px; }
.seg { display:inline-flex; border:1.5px solid var(--line); border-radius:999px; overflow:hidden; }
.seg button { border:0; background:var(--panel); padding:7px 16px; font-weight:600; color:var(--muted); }
.seg button.on { background:var(--brand-soft); color:var(--brand-ink); }
.cal-nav { display:flex; gap:8px; align-items:center; margin-bottom:12px; flex-wrap:wrap; }
.cal-nav b { font-family:var(--head); font-size:18px; min-width:200px; text-align:center; }
.calgrid { display:grid; grid-template-columns:54px repeat(7, minmax(110px,1fr)); border:1px solid var(--line); border-radius:16px; background:var(--panel); overflow:auto; max-height:640px; position:relative; }
.calgrid .ch { position:sticky; top:0; z-index:3; background:var(--panel); border-bottom:1px solid var(--line); padding:8px 6px; text-align:center; font-size:12px; font-weight:700; }
.calgrid .ch.today { color:var(--brand); }
.calgrid .hl { font-size:11px; color:var(--muted); text-align:right; padding:0 6px; height:48px; border-top:1px solid var(--line); }
.calgrid .dc { position:relative; border-left:1px solid var(--line); height:calc(48px * var(--hrs)); background:repeating-linear-gradient(to bottom, transparent 0 47px, var(--line) 47px 48px); cursor:pointer; }
.calgrid .dc.today { background-color:#FAF8FF; }
.ev { position:absolute; left:3px; right:3px; border-radius:10px; padding:3px 7px; font-size:12px; overflow:hidden; background:#EDE7FF; border:1px solid #CDBBFF; color:var(--brand-ink); cursor:pointer; z-index:2; }
.ev.mine { background:var(--brand); border-color:transparent; color:#fff; }
.ev.allday { background:var(--warn-soft); border-color:#F3E3B0; color:var(--ink); }
.ev b { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* Menu com grupos que abrem e fecham */
.grp-wrap { display:flex; flex-direction:column; gap:2px; }
.side .grp { display:flex; align-items:center; justify-content:space-between; width:100%; font-size:12px; text-transform:uppercase; letter-spacing:.06em; font-weight:700; color:var(--muted); padding:10px 14px 6px; border-radius:12px; background:none; }
.side .grp:hover { background:none; color:var(--ink); }
.grp .chev { width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(-45deg); transition:transform .15s; }
.grp[aria-expanded="true"] .chev { transform:rotate(45deg); }
.grp-items { display:flex; flex-direction:column; gap:2px; }
.grp-items[hidden] { display:none; }
.grp-items button { text-align:left; }
@media (prefers-reduced-motion:reduce) { .grp .chev { transition:none; } }

/* Configurações */
.opt { padding:10px 16px; border-bottom:1px solid var(--line); }
.opt:last-child { border-bottom:0; }
.opt .switch { align-items:flex-start; gap:12px; }
.opt .opt-t { display:flex; flex-direction:column; gap:2px; }
.opt small { color:var(--muted); font-size:12px; display:block; }
.pick-users { margin-top:8px; max-height:240px; overflow:auto; border:1.5px solid var(--line); border-radius:14px; padding:6px 10px; }
.pick-users[hidden] { display:none; }
.fu { border:1.5px solid var(--line); border-radius:16px; padding:10px 12px; margin-bottom:10px; background:var(--panel); }
.fu textarea { width:100%; margin-top:8px; padding:10px 14px; border:1.5px solid var(--line); border-radius:14px; }
.fu-head { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.fu-head .gap-row input { width:80px; }
.subbody > h2 { font-size:20px; margin:18px 0 6px; }
.gap-row select, .fu-head select { width:auto; padding:8px 12px; border:1.5px solid var(--line); border-radius:14px; background:var(--panel); }

/* ---------- Identidade MindTech ---------- */
.mind { display:flex; align-items:center; margin-right:4px; }
.mind img { height:30px; width:auto; display:block; }
.mind + .brand { border-left:1px solid var(--line); padding-left:14px; margin-left:8px; font-size:17px; display:flex; align-items:center; }
.mind + .brand img { height:22px; margin-right:8px; }
.login-logo { display:block; height:44px; width:auto; margin:0 auto 14px; }
@media (max-width:860px) { .mind img { height:24px; } .mind + .brand { font-size:15px; padding-left:10px; } }

/* Ícones e variáveis */
.btn.icon .ico { display:inline-grid; place-items:center; }
.btn.icon { padding:6px 9px; }
.chat-head .icons { display:flex; gap:4px; }
.varbar { display:flex; flex-wrap:wrap; gap:6px; align-items:center; padding:6px 0 0; }
.chip.var { cursor:pointer; font-family:ui-monospace, Consolas, monospace; font-weight:600; border-style:dashed; }
.chip.var:hover { background:var(--brand-soft); border-color:var(--brand); color:var(--brand-ink); }
.chip.var.fixed { border-color:#BFE8D4; }
.chip.var.field { border-color:#F3E3B0; }
.chip.var.manage { font-family:inherit; border-style:solid; }
.vtable code { background:var(--soft); border:1px solid var(--line); border-radius:8px; padding:1px 8px; font-weight:600; }
.user-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:6px 0; border-bottom:1px solid var(--line); }
.user-row:last-child { border-bottom:0; }
.user-row select { padding:7px 12px; border:1.5px solid var(--line); border-radius:999px; background:var(--panel); }
/* cabeçalho compacto: cabe em uma linha em telas de notebook */
@media (min-width:1100px) { .top { gap:8px; padding:10px 16px; } .mind img { height:28px; } .mind + .brand { padding-left:12px; margin-left:4px; margin-right:2px; } .top .status { padding:6px 10px; } #statusText { max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .top .nav button { padding-left:14px; padding-right:14px; } }
/* mensagem interna e lembretes */
.bubble.internal { align-self:center; max-width:88%; background:#FFF8D6; border:1px dashed #E3C766; text-align:left; font-size:14px; }
.bubble.internal .who { color:#8A6A00; }
.bubble.internal.for-me { background:#FFEFA8; box-shadow:0 0 0 2px #F0CF55; }
.composer.internal { background:#FFF8D6; border-top:1px dashed #E3C766; }
.composer.internal textarea { background:#FFFDF0; }
.composer .btn.icon[aria-pressed=true] { background:#F0CF55; border-color:#D9B63A; color:#5C4600; }
.composer .to-sel { max-width:150px; }
.rem-row { display:flex; gap:10px; align-items:flex-start; padding:10px 16px; border-bottom:1px solid var(--line); }
.rem-row:last-child { border-bottom:0; }
.rem-row .rem-main { flex:1; min-width:0; }
.rem-row .rem-main b { display:block; overflow-wrap:anywhere; }
.rem-row.late .when { color:var(--bad, #C0392B); font-weight:600; }
.rem-row.done .rem-main b { text-decoration:line-through; color:var(--muted); }
.rem-list { margin:8px 0 0; padding:0; list-style:none; max-height:50vh; overflow:auto; }
.rem-list li { padding:8px 0; border-bottom:1px solid var(--line); display:flex; gap:8px; align-items:flex-start; justify-content:space-between; }
.composer .to-sel { font:inherit; font-size:13px; padding:8px 10px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); align-self:center; }
.win-chip { display:inline-flex; align-items:center; gap:4px; background:var(--ok-soft, #E7F6EE); border:1px solid #BFE5D0; border-radius:10px; padding:2px 8px; margin:2px 6px 2px 0; }
.win-chip input[type=time] { width:136px; }
.win-chip input.cap { width:56px; }
.win-chip .x { border:0; background:transparent; font-size:18px; line-height:1; cursor:pointer; color:var(--muted); }
.calgrid .win { position:absolute; left:0; right:0; background:rgba(22,163,74,.10); border-top:1px dashed rgba(22,163,74,.45); border-bottom:1px dashed rgba(22,163,74,.45); pointer-events:none; z-index:1; }
.calgrid .win i { position:absolute; right:4px; top:2px; font-size:10px; font-style:normal; color:#166534; }
.ev.warn { background:var(--warn-soft); border-color:#E7C15C; color:var(--ink); }
.field small { white-space:pre-line; }
.toolbar select, .cal-nav select { padding:7px 12px; border:1.5px solid var(--line); border-radius:999px; background:var(--panel); font:inherit; }
.toolbar { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }

/* ---------- Fluxos: editor visual ---------- */
.fc { display:grid; grid-template-columns:200px minmax(0,1fr) 310px; gap:0; height:640px; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:var(--panel); margin-bottom:14px; }
.fc h3 { font-size:15px; margin:0 0 6px; }
.fc-palette { padding:14px; border-right:1px solid var(--line); display:flex; flex-direction:column; gap:8px; overflow:auto; }
.fc-palette p { margin:0 0 4px; font-size:12.5px; }
.fc-pal { display:flex; align-items:center; gap:10px; border:1.5px solid var(--line); background:var(--panel); border-radius:12px; padding:9px 10px; font-weight:600; cursor:grab; text-align:left; }
.fc-pal:hover { border-color:var(--brand); background:var(--brand-soft); }
.fc-glyph { display:inline-grid; place-items:center; width:24px; height:24px; border-radius:8px; background:var(--brand-soft); color:var(--brand-ink); font-size:13px; flex:none; }
.t-message .fc-glyph { background:#E3F0FF; color:#1456B8; } .t-menu .fc-glyph { background:#F1E8FF; color:#5A00F2; }
.t-question .fc-glyph { background:#FFF1D6; color:#A35F00; } .t-action .fc-glyph { background:#E3F7EE; color:#157a4f; }
.t-ai .fc-glyph { background:#FFE3F0; color:#C4155F; } .t-end .fc-glyph { background:#ECECF2; color:#4a4d63; }
.fc-stage { position:relative; min-width:0; }
.fc-viewport { position:absolute; inset:0; overflow:hidden; touch-action:none; cursor:grab; background-color:#FAFAFD; background-image:radial-gradient(#cfcde0 1.2px, transparent 1.2px); background-size:24px 24px; outline:none; }
.fc-viewport.panning { cursor:grabbing; }
.fc-viewport:focus-visible { box-shadow:inset 0 0 0 2px var(--brand); }
.fc-world { position:absolute; left:0; top:0; transform-origin:0 0; }
.fc-edges { position:absolute; left:0; top:0; width:1px; height:1px; overflow:visible; color:#8b8aa6; pointer-events:none; }
.fc-edge { fill:none; stroke:currentColor; stroke-width:2; }
.fc-edge.sel { stroke:var(--brand); color:var(--brand); stroke-width:3; }
.fc-edge.temp { stroke-dasharray:6 5; color:var(--brand); stroke:var(--brand); }
.fc-edge-hit { fill:none; stroke:transparent; stroke-width:16; pointer-events:stroke; cursor:pointer; }
.fc-nodes { position:absolute; left:0; top:0; }
.fc-node { position:absolute; background:#fff; border:1.5px solid var(--line); border-radius:14px; box-shadow:0 2px 8px -4px rgba(14,17,40,.25); cursor:move; user-select:none; }
.fc-node.sel { border-color:var(--brand); box-shadow:0 0 0 3px var(--brand-soft); }
.fc-node.bad { border-color:var(--danger); box-shadow:0 0 0 3px var(--danger-soft); }
.fc-entry { border-left:5px solid #2f6df6; cursor:default; }
.fc-head { height:34px; display:flex; align-items:center; gap:8px; padding:0 10px; font-weight:700; font-size:13px; border-bottom:1px solid var(--line); border-radius:12px 12px 0 0; }
.fc-body { height:46px; padding:6px 10px; font-size:12.5px; color:var(--muted); overflow:hidden; line-height:1.35; }
.fc-entry .fc-body { height:38px; }
.fc-opt { padding:0 12px; display:flex; align-items:center; font-size:12.5px; border-top:1px dashed var(--line); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fc-port { position:absolute; width:14px; height:14px; border-radius:50%; background:#fff; border:2.5px solid #8b8aa6; box-sizing:border-box; cursor:crosshair; }
.fc-port.in { left:-8px; } .fc-port.out { right:-8px; background:#8b8aa6; }
.fc-port.out:hover { background:var(--brand); border-color:var(--brand); transform:scale(1.25); }
.fc-zoom { position:absolute; left:12px; bottom:12px; display:flex; gap:6px; z-index:2; }
.fc-inspector { padding:14px; border-left:1px solid var(--line); overflow:auto; }
.fc-inspector .field { margin-bottom:10px; }
.fc-optedit { display:grid; grid-template-columns:auto 1fr; gap:4px 6px; align-items:center; margin-bottom:10px; padding:8px; border:1px solid var(--line); border-radius:10px; }
.fc-optedit select, .fc-optedit input { min-width:0; width:100%; } .fc-optedit select, .fc-optedit .btn { grid-column:1 / -1; }
@media (max-width:1000px) { .fc { grid-template-columns:1fr; grid-template-rows:auto 460px auto; height:auto; } .fc-palette { flex-direction:row; flex-wrap:wrap; border-right:0; border-bottom:1px solid var(--line); } .fc-palette h3, .fc-palette p { width:100%; } .fc-inspector { border-left:0; border-top:1px solid var(--line); } }

/* ---- v4.2: números e canais ---- */
.ch-list { display:grid; gap:12px; margin:12px 0; }
.ch-card { border:1px solid var(--line); border-radius:14px; padding:14px 16px; background:#fff; }
.ch-top { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; }
.ch-top .chip { margin-left:6px; }
.ch-state { font-size:13px; font-weight:600; padding:3px 10px; border-radius:999px; background:#eee; }
.ch-state.ok { background:#dcfce7; color:#166534; } .ch-state.warn { background:#fef3c7; color:#92400e; } .ch-state.bad { background:#fee2e2; color:#991b1b; }
.ch-meta { font-size:13px; margin:6px 0 8px; }
.ch-hook { margin:8px 0; padding:10px 12px; background:#F7F6FB; border-radius:10px; }
.ch-copy { margin:6px 0; } .ch-copy code { word-break:break-all; font-size:12.5px; background:#fff; padding:4px 8px; border-radius:6px; border:1px solid var(--line); }
.ch-warn { color:#991b1b; font-size:13px; }
.ch-actions { justify-content:flex-start; margin-top:8px; }
.chip.chan { background:#EEF2FF; color:#3730a3; } .chip.chan.ig { background:#FCE7F3; color:#9d174d; }

/* ---- v4.3: tipografia e formas mais sóbrias (as cores continuam as originais) ---- */
:root { --radius:12px; --head:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
body { font:14px/1.5 "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; letter-spacing:-.003em; }
/* títulos: negrito, no mesmo tamanho do texto das listas */
h1, h2, h3, .content > h2, .panel-head h3, .side h3, dialog h3 { font-family:var(--head); font-size:14px; font-weight:700; letter-spacing:-.005em; }
.login-card h1 { font-size:20px; }
.brand { font-weight:700; font-size:16px; letter-spacing:-.01em; }
.top { backdrop-filter:none; padding:8px 20px; }
.nav button { font-weight:500; border-radius:8px; padding:7px 14px; }
.status { font-weight:500; font-size:12.5px; }
.btn { border-width:1px; border-radius:8px; font-weight:500; padding:7px 14px; }
.btn.small { padding:4px 10px; font-size:12.5px; border-radius:7px; }
.panel, .ch-card, .card { border-radius:12px; box-shadow:none; }
.login-card { border-radius:16px; }
.chip, .pill { border-radius:6px; font-weight:500; }
.tab { font-weight:500; }
.subtabs button { border-width:1px; border-radius:8px; padding:6px 14px; font-weight:500; }
.side h3 { text-transform:none; letter-spacing:0; padding:10px 12px 4px; color:var(--ink); }
.side .grp { text-transform:none; letter-spacing:0; font-size:12px; font-weight:500; padding:12px 12px 4px; }
.side button, .side a { font-weight:500; border-radius:8px; padding:8px 12px; }
.side button[aria-current="page"] { font-weight:600; }
.stat b { font-weight:600; font-size:26px; }
.avatar, .tava, .bubble .who, .tag-ai, .fc-head { font-weight:600; }
.content { padding:24px 32px 48px; }
.item { border-radius:10px; }
.ch-state { font-weight:500; border-radius:6px; }
.chat-head { flex-wrap:wrap; row-gap:6px; }
.chat-head .who { flex:1 1 200px; min-width:200px; }
/* menu lateral: grupos maiores e em negrito, itens menores */
.side .grp { font-size:14.5px; font-weight:700; color:var(--ink); padding:14px 12px 6px; }
.side .grp-items button, .side > button { font-size:13px; }
/* mídia nas conversas */
.bubble .mimg img { display:block; max-width:100%; max-height:320px; border-radius:10px; margin:2px 0 4px; }
.bubble .maudio { display:block; width:240px; max-width:100%; height:40px; margin:2px 0 4px; }
.bubble .mdoc { display:inline-block; margin:2px 0 4px; color:var(--brand-ink); font-weight:600; text-decoration:none; }
.bubble .mdoc:hover { text-decoration:underline; }

/* v4.5: modelos de avisos e grupos */
.tplgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; }
.tplcard { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; text-align: left; height: auto; padding: 10px 12px; white-space: normal; }
.editor .field { padding-left: 0; padding-right: 0; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
.multi.tall { max-height: 320px; }
.multi.hz { display: flex; flex-wrap: wrap; gap: 4px 14px; max-height: none; }
.timerow { display: flex; align-items: center; gap: 10px; margin-top: 8px; }
.timerow input[type=time] { width: 140px !important; max-width: 140px; flex: none; }

/* menu suspenso (botão com opções) */
.dd { position: relative; display: inline-block; }
.dd > summary { list-style: none; cursor: pointer; }
.dd > summary::-webkit-details-marker { display: none; }
.dd-menu { position: absolute; z-index: 30; top: calc(100% + 4px); left: 0; min-width: 230px; background: var(--card, #fff); border: 1.5px solid var(--line); border-radius: 14px; box-shadow: 0 10px 30px rgba(20, 20, 50, .15); padding: 6px; display: grid; }
.dd-menu a, .dd-menu button { text-align: left; background: none; border: 0; padding: 9px 12px; border-radius: 10px; color: inherit; font: inherit; text-decoration: none; cursor: pointer; }
.dd-menu a:hover, .dd-menu button:hover { background: rgba(90, 0, 242, .08); }
.sortbtn { background: none; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; white-space: nowrap; }
.sortbtn:hover { color: var(--brand, #5a00f2); }
.sortbtn .arr { font-size: 10px; }
.attach-chip { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }

/* prévia de mensagem no celular */
.phone { width: 270px; max-width: 100%; margin: 4px 0; border: 7px solid #1c1c28; border-radius: 28px; overflow: hidden; background: #e9e3da; box-shadow: 0 8px 24px rgba(20, 20, 50, .18); }
.ph-top { display: flex; align-items: center; gap: 8px; padding: 9px 12px; background: #0f7a5c; color: #fff; font-size: 13px; }
.ph-av { width: 26px; height: 26px; border-radius: 50%; background: #fff3; display: grid; place-items: center; font-weight: 700; }
.ph-screen { min-height: 230px; max-height: 420px; overflow: auto; padding: 14px 10px; background: #efe7dd; display: flex; flex-direction: column; gap: 6px; }
.ph-bubble { align-self: flex-end; max-width: 92%; background: #d9fdd3; color: #111; border-radius: 10px 10px 2px 10px; padding: 4px 4px 6px; font-size: 13.5px; line-height: 1.35; box-shadow: 0 1px 1px #0002; }
.ph-img { display: block; width: 100%; max-height: 200px; object-fit: cover; border-radius: 7px; }
.ph-text { padding: 5px 6px 0; white-space: pre-wrap; word-break: break-word; }
.ph-time { display: block; text-align: right; font-size: 10px; color: #667; padding: 2px 6px 0; }
.ph-media, .ph-audio, .ph-doc { background: #0001; border-radius: 7px; padding: 14px 10px; font-size: 12.5px; }
.ph-doc small { display: block; color: #556; }
.ph-wave { display: inline-block; width: 110px; height: 8px; border-radius: 4px; background: repeating-linear-gradient(90deg, #6b7 0 3px, transparent 3px 6px); vertical-align: middle; }
.ph-empty, .ph-note { color: #778; font-size: 12px; text-align: center; margin: auto; }
.ph-note { margin: 4px 0 0; }
dialog.tplform { max-width: 1040px; }
dialog.tplform form { display: grid; grid-template-columns: minmax(0, 1fr) 300px; column-gap: 22px; align-items: start; }
dialog.tplform form > h3, dialog.tplform form > .err, dialog.tplform form > .actions, dialog.tplform form > .intro { grid-column: 1 / -1; }
dialog.tplform form > .field:has(.phone) { grid-column: 2; grid-row: 2 / span 30; position: sticky; top: 6px; }
@media (max-width: 860px) { dialog.tplform form { display: block; } dialog.tplform form > .field:has(.phone) { position: static; } }
.ed2 { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 22px; align-items: start; }
.ed2-pv { position: sticky; top: 4px; }
.ed2-pv > label { display: block; font-size: 12.5px; font-weight: 600; color: var(--muted, #667); margin-bottom: 4px; }
@media (max-width: 860px) { .ed2 { display: block; } }
