/* ═══════════════════════════════════════════════════════════════════════════
   SOMA · ESTRUTURAÇÃO CLÍNICA (escopo .estrutura-app) — TEMA CLARO
   Espelha o shell de documentos.html: canvas claro, .subtabs sticky, banner navy,
   cards brancos. Adiciona: stepper, triagem CNPJ, agente-contador, method-cards,
   responsáveis, escopo, estúdio 3-col, biblioteca, chat de entrevista, toast.
   "A IA organiza. O profissional decide." — orientação, nunca garantia.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ---- Tokens locais (idênticos ao modelo de documentos) ---- */
.estrutura-app {
  --teal:#02B8BF; --teal-2:#0E9AA1;
  --ink:#0B1F33; --ink-2:#54657A; --ink-3:#8597A8;
  --line:#E2E8F0; --line-2:#cdd9e6;
  --surf:#FFFFFF; --surf-2:#F8FAFC;
}

/* ---- Canvas claro full-width ---- */
.estrutura-app.pl-content {
  padding: 0 !important;
  background:
    radial-gradient(circle at 88% 0%, rgba(2,184,191,0.05), transparent 42%),
    linear-gradient(180deg, #edf0f4 0%, #e8ebf1 55%, #e6eaf0 100%);
}

/* ---- SUBMENU sticky (abaixo do header global) ---- */
.estrutura-app .subtabs {
  position: sticky; top: var(--pl-header-h, 64px); z-index: 40;
  display: flex; align-items: center; gap: 6px; height: 52px; padding: 0 26px;
  background: rgba(247,251,253,.86); backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none;
}
.estrutura-app .subtabs::-webkit-scrollbar { display: none; }
.estrutura-app .subtabs .ctx {
  font:700 11px/1 'JetBrains Mono',monospace; letter-spacing:.14em; text-transform:uppercase;
  color: #017A80; margin-right: 14px; white-space: nowrap; flex-shrink: 0;
}
.estrutura-app .subtab {
  display:inline-flex; align-items:center; gap:7px; padding: 8px 13px; border-radius: 10px;
  font-size: 12.5px; font-weight: 600; color: var(--ink-2); cursor: pointer; white-space: nowrap;
  flex-shrink: 0; border: 1px solid transparent; background: transparent; transition: .15s;
}
.estrutura-app .subtabs .subtab svg { width: 20px !important; height: 20px !important; opacity: .8; }
.estrutura-app .subtab:hover { background: #fff; color: var(--ink); border-color: var(--line); }
.estrutura-app .subtab.is-active {
  background: #E6FAFB; color: #0B6E73; border: 1px solid rgba(2,184,191,.34); box-shadow: none;
}
.estrutura-app .subtab.is-active svg { color: #0B6E73; opacity: 1; }
.estrutura-app .subtab.is-active::after { display: none; }

/* ---- Stepper de 5 fases ---- */
.estrutura-app .est-steps{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:14px 26px;border-bottom:1px solid #E2E8F0;background:rgba(247,251,253,.7)}
.estrutura-app .est-step{display:flex;align-items:center;gap:8px;font:600 12.5px Inter,sans-serif;color:#8597A8;cursor:pointer;border:0;background:transparent}
.estrutura-app .est-step .n{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#E2E8F0;color:#54657A;font:700 11px 'JetBrains Mono',monospace}
.estrutura-app .est-step.is-current{color:#0B1F33}
.estrutura-app .est-step.is-current .n{background:#02B8BF;color:#fff}
.estrutura-app .est-step.is-done .n{background:#0F9D6B;color:#fff}
.estrutura-app .est-step:not(:last-child)::after{content:"";width:18px;height:1px;background:#cdd9e6;margin-left:2px}

/* ---- Canvas interno ---- */
.estrutura-app .est-canvas { padding: 26px; max-width: 1320px; margin: 0 auto; }

/* ---- Banner navy ---- */
.estrutura-app .module-app-header {
  background:
    linear-gradient(135deg, rgba(6,19,35,.82) 0%, rgba(7,27,49,.76) 58%, rgba(11,49,75,.66) 100%),
    url("assets/blue-background-6.png") center / cover no-repeat;
  color: #fff; border: 1px solid rgba(127,231,235,.22); border-radius: 20px;
  box-shadow: 0 14px 40px rgba(7,27,49,.18); padding: 24px 26px;
  display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-bottom: 20px;
}
.estrutura-app .module-app-header .eyebrow { color: #7FE7EB; font:600 11px 'JetBrains Mono',monospace; letter-spacing:.16em; text-transform:uppercase; margin:0 0 6px; }
.estrutura-app .module-app-header h1 { margin: 0; font: 700 26px 'Inter', sans-serif; letter-spacing:-.02em; color:#fff; }
.estrutura-app .module-app-header .module-app-subtitle { margin: 6px 0 0; color: rgba(255,255,255,.78); font-size: 14px; max-width: 640px; }
.estrutura-app .module-app-toolbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.estrutura-app .module-status-pill { display:inline-flex;align-items:center;gap:7px;background:rgba(34,197,94,.16);color:#6EE7B7;border:1px solid rgba(34,197,94,.3);border-radius:999px;padding:6px 13px;font:600 12px 'Inter',sans-serif; }

/* ---- Carrossel de ilustrações (Fase 1) ---- */
.est-slider{position:relative;margin-top:22px;border-radius:18px;overflow:hidden;border:1px solid rgba(127,231,235,.22);box-shadow:0 14px 40px rgba(7,27,49,.16);background:#071b31}
.est-slides{position:relative;aspect-ratio:1672/560}
.est-slide{position:absolute;inset:0;margin:0;background-position:center;background-size:cover;opacity:0;transition:opacity .6s ease;display:flex;align-items:flex-end}
.est-slide.is-active{opacity:1}
.est-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,19,35,.82),rgba(6,19,35,.22) 58%,rgba(6,19,35,0) 82%)}
.est-slide figcaption{position:relative;z-index:1;padding:24px 30px;max-width:560px;color:#fff}
.est-slide-eyebrow{display:block;font:600 10.5px/1 'JetBrains Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:#7FE7EB}
.est-slide figcaption b{display:block;font:700 clamp(18px,2.3vw,26px)/1.1 'Inter',sans-serif;margin:8px 0 6px}
.est-slide figcaption b + span{font-size:13.5px;color:rgba(255,255,255,.82);line-height:1.5}
.est-slider-nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:rgba(6,19,35,.5);border:1px solid rgba(127,231,235,.3);color:#eaf6f7;display:grid;place-items:center;cursor:pointer;z-index:2;transition:.15s}
.est-slider-nav:hover{background:rgba(2,184,191,.45);border-color:rgba(2,184,191,.6)}
.est-slider-nav.prev{left:14px}.est-slider-nav.next{right:14px}
.est-slider-dots{position:absolute;bottom:16px;right:22px;display:flex;gap:7px;z-index:2}
.est-slider-dots button{width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.45);cursor:pointer;padding:0;transition:.18s}
.est-slider-dots button.is-active{background:#7FE7EB;width:22px;border-radius:5px}
@media(max-width:680px){.est-slides{aspect-ratio:1672/860}.est-slide figcaption{padding:16px 18px}.est-slider-dots{bottom:12px;right:14px}}
.estrutura-app .module-status-pill .status-dot { width:7px;height:7px;border-radius:50%;background:#34D399; }

/* ---- Botões ---- */
.estrutura-app .btn-primary { background: linear-gradient(135deg,#02B8BF,#0891b2); color:#fff; border:0; border-radius:10px; padding:10px 18px; font:600 13.5px 'Inter',sans-serif; cursor:pointer; transition:filter .18s; white-space:nowrap; }
.estrutura-app .btn-primary:hover { filter:brightness(1.07); }
.estrutura-app .btn-secondary { background:#fff; color:var(--teal-2); border:1px solid var(--line); border-radius:10px; padding:9px 16px; font:600 13px 'Inter',sans-serif; cursor:pointer; transition:border-color .18s,background .18s; white-space:nowrap; }
.estrutura-app .btn-secondary:hover { border-color:var(--teal); background:rgba(2,184,191,.05); }

/* === Ícone de IA (sparkle) nas ações de IA — silhueta na cor do texto via mask === */
.estrutura-app [data-ai-refine]::before,
.estrutura-app [data-ai-edit]::before {
  content:''; display:inline-block; width:15px; height:15px; margin-right:8px; vertical-align:-2px;
  background-color: currentColor;
  -webkit-mask: url(assets/icon-ai-spark.svg) center / contain no-repeat;
  mask: url(assets/icon-ai-spark.svg) center / contain no-repeat;
}
/* "Pedir à IA" (Estúdio) usa varinha mágica no lugar do spark */
.estrutura-app [data-ai-edit]::before {
  -webkit-mask: url(assets/SVG-selecionados/varinha-magica.svg) center / contain no-repeat;
  mask: url(assets/SVG-selecionados/varinha-magica.svg) center / contain no-repeat;
}
/* === Painel "Editar com IA" na coluna de documentos do Estúdio === */
.estrutura-app .est-ai-edit { margin-top:16px; padding-top:16px; border-top:1px solid rgba(127,231,235,.14); }
.estrutura-app .est-ai-edit-head { display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.estrutura-app .est-ai-edit-head img { width:20px; height:20px; flex:0 0 auto; }
.estrutura-app .est-ai-edit-head strong { font:700 13px 'Inter',sans-serif; color:#F5F9FC; }
.estrutura-app .est-ai-edit-sub { margin:0 0 10px; font-size:11.5px; line-height:1.45; color:#9fb3c8; }
.estrutura-app .est-ai-edit textarea { width:100%; box-sizing:border-box; min-height:74px; resize:vertical; background:rgba(255,255,255,.04); border:1px solid rgba(127,231,235,.18); border-radius:10px; padding:9px 11px; color:#eaf6f7; font:500 12.5px 'Inter',sans-serif; margin-bottom:10px; }
.estrutura-app .est-ai-edit textarea::placeholder { color:#6f879e; }
.estrutura-app .est-ai-edit textarea:focus { outline:none; border-color:rgba(2,184,191,.5); }
.estrutura-app .est-ai-edit .btn-primary { width:100%; display:flex; align-items:center; justify-content:center; }
.estrutura-app .btn-ghost { background:transparent; color:var(--ink-2); border:1px solid var(--line); border-radius:8px; padding:7px 13px; font:600 12px 'Inter',sans-serif; cursor:pointer; white-space:nowrap; }
.estrutura-app .btn-ghost:hover { border-color:var(--teal); color:var(--teal); }
.estrutura-app .btn-sm { padding:7px 13px; font-size:12px; }

/* ---- Cards brancos genéricos ---- */
.estrutura-app .est-card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px 24px; box-shadow:0 4px 16px rgba(11,31,51,.05); margin-bottom:18px; }
.estrutura-app .est-card > header { margin-bottom:14px; }
.estrutura-app .est-card .eyebrow { display:block; font:600 10.5px 'JetBrains Mono',monospace; letter-spacing:.16em; text-transform:uppercase; color:var(--teal-2); margin:0 0 6px; }
.estrutura-app .est-card h2, .estrutura-app .est-card h3 { margin:0; font:700 17px 'Inter',sans-serif; color:var(--ink); }
.estrutura-app .est-card > p { margin:6px 0 0; font-size:13.5px; color:var(--ink-2); line-height:1.55; }

/* ---- Inputs ---- */
.estrutura-app label.fld { display:flex; flex-direction:column; gap:6px; font-size:12.5px; font-weight:600; color:var(--ink-2); margin-bottom:12px; }
.estrutura-app input[type=text], .estrutura-app input[type=url], .estrutura-app input[type=number], .estrutura-app input[type=date], .estrutura-app select, .estrutura-app textarea {
  width:100%; box-sizing:border-box; background:var(--surf-2); border:1px solid var(--line); border-radius:9px;
  padding:10px 13px; color:var(--ink); font:13.5px 'Inter',sans-serif; outline:none; transition:border-color .15s,box-shadow .15s;
}
.estrutura-app input:focus, .estrutura-app select:focus, .estrutura-app textarea:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(2,184,191,.12); }
.estrutura-app textarea { resize:vertical; min-height:120px; line-height:1.55; }

/* ---- Triagem CNPJ ---- */
.estrutura-app .est-choice{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:4px}
.estrutura-app .est-bigbtn{flex:1;min-width:220px;max-width:340px;padding:24px 22px;border-radius:16px;border:1px solid #E2E8F0;background:#fff;cursor:pointer;text-align:center;transition:border-color .15s,box-shadow .15s,transform .15s}
.estrutura-app .est-bigbtn:hover,.estrutura-app .est-bigbtn.is-on{border-color:#02B8BF;box-shadow:0 10px 30px rgba(2,184,191,.12);transform:translateY(-2px)}
.estrutura-app .est-bigbtn .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;margin:0 auto 12px;background:rgba(2,184,191,.12);color:var(--teal)}
.estrutura-app .est-bigbtn strong{display:block;font:700 15px 'Inter',sans-serif;color:var(--ink)}
.estrutura-app .est-bigbtn small{display:block;margin-top:4px;font-size:12px;color:var(--ink-3)}

/* ---- Agente Contador (accordion) ---- */
.estrutura-app .est-accordion-item{border:1px solid #E2E8F0;border-radius:12px;margin-bottom:10px;background:#fff;overflow:hidden}
.estrutura-app .est-accordion-head{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;font-weight:600;color:#0B1F33;font-size:14px}
.estrutura-app .est-accordion-head .step-n{width:26px;height:26px;border-radius:8px;flex-shrink:0;display:grid;place-items:center;background:rgba(2,184,191,.14);color:var(--teal);font:700 12px 'JetBrains Mono',monospace}
.estrutura-app .est-accordion-head .chev{margin-left:auto;transition:transform .2s;color:var(--ink-3)}
.estrutura-app .est-accordion-item.is-open .chev{transform:rotate(180deg)}
.estrutura-app .est-accordion-body{display:none;padding:0 16px 16px 54px;font-size:13px;color:var(--ink-2);line-height:1.6}
.estrutura-app .est-accordion-item.is-open .est-accordion-body{display:block}
.estrutura-app .est-accordion-body ul{margin:8px 0 0;padding-left:18px}
.estrutura-app .est-accordion-body li{margin-bottom:5px}
.estrutura-app .est-check{display:flex;align-items:flex-start;gap:9px;margin:6px 0;font-size:13px;color:var(--ink-2)}
.estrutura-app .est-check input{margin-top:2px;flex-shrink:0}

/* ---- Disclaimer ---- */
.estrutura-app .est-disclaimer{background:#FFF8EC;border:1px solid #F0D9A8;border-left:3px solid #E9A23B;border-radius:10px;padding:11px 14px 13px;font-size:12.5px;color:#6b5418;line-height:1.5;margin:12px 0;flex:0 0 auto;height:auto;min-height:0;max-height:none;overflow:visible}
.estrutura-app .est-disclaimer .est-row{flex-wrap:wrap}
.estrutura-app .est-disclaimer .btn-primary,.estrutura-app .est-disclaimer .btn-secondary{flex:1 1 100%;justify-content:center;margin:0}
.estrutura-app .est-disclaimer strong{color:#5a4512}

/* ---- Method cards (Fase 2) ---- */
.estrutura-app .est-method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:4px}
.estrutura-app .est-method-card{border:1px solid #E2E8F0;border-radius:16px;background:#fff;padding:20px;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;text-align:left}
.estrutura-app .est-method-card:hover,.estrutura-app .est-method-card.is-on{border-color:#02B8BF;box-shadow:0 10px 30px rgba(2,184,191,.12);transform:translateY(-2px)}
.estrutura-app .est-method-card .ic{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:rgba(2,184,191,.12);color:var(--teal);margin-bottom:12px}
.estrutura-app .est-method-card strong{display:block;font:700 15px 'Inter',sans-serif;color:var(--ink)}
.estrutura-app .est-method-card small{display:block;margin-top:5px;font-size:12.5px;color:var(--ink-2);line-height:1.5}
.estrutura-app .est-method-card .tag{display:inline-block;margin-top:10px;font:600 10px 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-2);background:rgba(2,184,191,.1);padding:3px 9px;border-radius:999px}

/* painel de método (expande) */
.estrutura-app .est-method-panel{display:none;margin-top:18px}
.estrutura-app .est-method-panel.is-open{display:block}

/* ---- Chips de procedimentos / swatches ---- */
.estrutura-app .est-chips{display:flex;flex-wrap:wrap;gap:8px}
.estrutura-app .est-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink-2);font:500 12.5px 'Inter',sans-serif;cursor:pointer;transition:all .15s}
.estrutura-app .est-chip:hover{border-color:var(--teal)}
.estrutura-app .est-chip.is-on{background:rgba(2,184,191,.12);border-color:var(--teal);color:var(--teal-2);font-weight:600}
.estrutura-app .est-swatches{display:flex;gap:8px;flex-wrap:wrap}
.estrutura-app .est-swatch{width:30px;height:30px;border-radius:8px;cursor:pointer;border:2px solid transparent;transition:transform .12s}
.estrutura-app .est-swatch.is-on{border-color:#fff;box-shadow:0 0 0 2px var(--ink),0 0 0 4px rgba(2,184,191,.4);transform:scale(1.05)}
.estrutura-app .est-logo-drop{display:flex;align-items:center;gap:14px}
.estrutura-app .est-logo-prev{width:60px;height:60px;border-radius:12px;border:1px dashed var(--line-2);display:grid;place-items:center;background:var(--surf-2);background-size:cover;background-position:center;color:var(--ink-3);font:700 18px 'Inter',sans-serif;flex-shrink:0}

/* ---- Responsáveis grid (Fase 3) ---- */
.estrutura-app .est-resp-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* ---- Escopo checklist ---- */
.estrutura-app .est-scope-group{margin-bottom:16px}
.estrutura-app .est-scope-group h4{margin:0 0 8px;font:700 11px 'JetBrains Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.estrutura-app .est-scope-item{display:flex;align-items:center;gap:11px;padding:11px 14px;border:1px solid #E2E8F0;border-radius:10px;margin-bottom:8px;background:#fff;font-size:13.5px;color:var(--ink);transition:border-color .15s}
.estrutura-app .est-scope-item:hover{border-color:var(--line-2)}
.estrutura-app .est-scope-item input{flex-shrink:0;width:16px;height:16px;accent-color:var(--teal)}
.estrutura-app .est-scope-item .badge{margin-left:auto;font:600 10px 'JetBrains Mono',monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);background:var(--surf-2);border:1px solid var(--line);padding:3px 8px;border-radius:6px}

/* ---- Spinner ---- */
.estrutura-app .est-spinner{display:none;align-items:center;gap:10px;margin-top:12px;font-size:13px;color:var(--ink-2)}
.estrutura-app .est-spinner.is-on{display:flex}
.estrutura-app .est-spin{width:18px;height:18px;border:2px solid var(--line);border-top-color:var(--teal);border-radius:50%;animation:estspin .7s linear infinite}
@keyframes estspin{to{transform:rotate(360deg)}}

/* ---- Wizard: seções de fase ---- */
.estrutura-app .est-phase{display:none}
.estrutura-app .est-phase.is-active{display:block;animation:estfade .25s ease}
@keyframes estfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ---- Painéis de aba ---- */
.estrutura-app .est-tabpanel{display:none}
.estrutura-app .est-tabpanel.is-active{display:block}

/* ═══ ENTREVISTA (chat) ═══ */
.estrutura-app .est-chat{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 16px rgba(11,31,51,.05);display:flex;flex-direction:column;height:min(64vh,560px);overflow:hidden}
.estrutura-app .est-chat-log{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px}
.estrutura-app .est-msg{display:flex;gap:10px;max-width:84%}
.estrutura-app .est-msg .av{width:30px;height:30px;border-radius:8px;flex-shrink:0;display:grid;place-items:center;font:700 11px 'JetBrains Mono',monospace}
.estrutura-app .est-msg.ai .av{background:linear-gradient(135deg,#02B8BF,#7b61ff);color:#fff}
.estrutura-app .est-msg.me{margin-left:auto;flex-direction:row-reverse}
.estrutura-app .est-msg.me .av{background:var(--ink);color:#fff}
.estrutura-app .est-bubble{padding:11px 14px;border-radius:12px;font-size:13.5px;line-height:1.5}
.estrutura-app .est-msg.ai .est-bubble{background:var(--surf-2);color:var(--ink);border:1px solid var(--line);border-top-left-radius:3px}
.estrutura-app .est-msg.me .est-bubble{background:rgba(2,184,191,.12);color:var(--ink);border:1px solid rgba(2,184,191,.3);border-top-right-radius:3px}
.estrutura-app .est-chat-foot{border-top:1px solid var(--line);padding:14px;display:flex;gap:10px;background:var(--surf-2)}
.estrutura-app .est-chat-foot input{flex:1}
.estrutura-app .est-quick{display:flex;flex-wrap:wrap;gap:7px;padding:0 14px 14px;background:var(--surf-2)}

/* ═══ ESTÚDIO (3 colunas, escuro) ═══ */
.estrutura-app .est-studio{display:grid;grid-template-columns:260px minmax(0,1fr) 300px;gap:16px;align-items:start}
.estrutura-app .est-studio-col{background:#0d2138;border:1px solid rgba(127,231,235,.16);border-radius:16px;padding:16px;color:#cfe1ef}
.estrutura-app .est-studio-col h3{margin:0 0 12px;font:700 13px 'Inter',sans-serif;color:#F5F9FC}
.estrutura-app .est-doc-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(127,231,235,.12);margin-bottom:8px;cursor:pointer;transition:background .15s,border-color .15s}
.estrutura-app .est-doc-item:hover{background:rgba(2,184,191,.1)}
.estrutura-app .est-doc-item.is-current{background:rgba(2,184,191,.16);border-color:rgba(2,184,191,.4)}
.estrutura-app .est-doc-item .nm{flex:1;font-size:12.5px;font-weight:600;color:#F5F9FC;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.estrutura-app .est-status{font:600 9.5px 'JetBrains Mono',monospace;letter-spacing:.05em;text-transform:uppercase;padding:3px 7px;border-radius:6px;flex-shrink:0}
.estrutura-app .est-status.rascunho{background:rgba(148,163,184,.2);color:#cbd5e1}
.estrutura-app .est-status.revisao{background:rgba(245,158,11,.18);color:#FCD34D}
.estrutura-app .est-status.pronto{background:rgba(16,185,129,.18);color:#6EE7B7}
.estrutura-app .est-status.pendente{background:rgba(148,163,184,.2);color:#cbd5e1}
.estrutura-app .est-status.editado{background:rgba(245,158,11,.18);color:#FCD34D}
.estrutura-app .est-status.aprovado{background:rgba(16,185,129,.22);color:#6EE7B7}
/* WORKLIST do Estúdio (status + selecionar/aprovar todos) */
.estrutura-app .est-doc-row{display:flex;align-items:center;gap:9px}
.estrutura-app .est-doc-row .dc-chk{flex:none;width:15px;height:15px;accent-color:#02B8BF;cursor:pointer;margin:0}
.estrutura-app .est-doc-row .est-doc-item{flex:1;min-width:0}
.estrutura-app .m1-worklist{margin:10px 0 4px;padding:11px 12px;border:1px solid rgba(127,231,235,.16);border-radius:12px;background:rgba(2,184,191,.05);display:flex;flex-direction:column;gap:9px}
.estrutura-app .m1-worklist .wl-counts{display:flex;gap:7px;flex-wrap:wrap}
.estrutura-app .m1-worklist .wl-pill{font:700 10.5px 'JetBrains Mono',monospace;padding:3px 9px;border-radius:7px}
.estrutura-app .m1-worklist .wl-pill.ok{background:rgba(16,185,129,.18);color:#6EE7B7}
.estrutura-app .m1-worklist .wl-pill.ed{background:rgba(245,158,11,.18);color:#FCD34D}
.estrutura-app .m1-worklist .wl-pill.pe{background:rgba(148,163,184,.18);color:#cbd5e1}
.estrutura-app .m1-worklist .wl-acts{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.estrutura-app .m1-worklist .wl-selall{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:#9fb3c8;cursor:pointer;margin-right:auto}
.estrutura-app .m1-worklist .wl-selall input{accent-color:#02B8BF;cursor:pointer}
.estrutura-app .m1-worklist .wl-btn{border-radius:8px;padding:6px 12px;font:700 11.5px 'Inter',sans-serif;cursor:pointer;border:1px solid rgba(127,231,235,.2)}
.estrutura-app .m1-worklist .wl-btn.ghost{background:rgba(255,255,255,.05);color:#cfe1ef}
.estrutura-app .m1-worklist .wl-btn.ghost:hover{background:rgba(2,184,191,.14);color:#fff}
.estrutura-app .m1-worklist .wl-btn.primary{background:linear-gradient(180deg,#33dbe8,#16b9c4);color:#04121a;border:0}
.estrutura-app .m1-worklist .wl-btn.primary:hover{filter:brightness(1.05)}
.estrutura-app .m1-worklist .wl-ready{font-size:11.5px;color:#6EE7B7;background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.25);border-radius:8px;padding:6px 10px}
/* modal de confirmação irreversível (global — anexado ao body) */
.m1-confirm-ov{position:fixed;inset:0;z-index:99999;background:rgba(3,11,23,.66);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px}
.m1-confirm{max-width:440px;width:100%;background:#0d2138;border:1px solid rgba(239,68,68,.35);border-radius:16px;padding:22px 22px 18px;box-shadow:0 24px 60px rgba(0,0,0,.5);text-align:center;font-family:'Inter',sans-serif}
.m1-confirm .cf-ic{width:46px;height:46px;margin:0 auto 12px;border-radius:50%;background:rgba(239,68,68,.16);color:#ff8f8f;display:grid;place-items:center;font-size:22px}
.m1-confirm h4{margin:0 0 8px;font-size:17px;color:#F5F9FC}
.m1-confirm p{margin:0 0 18px;font-size:13px;line-height:1.55;color:#9fb3c8}
.m1-confirm .cf-acts{display:flex;gap:10px;justify-content:center}
.m1-confirm .btn-ghost2{background:rgba(255,255,255,.06);border:1px solid rgba(127,231,235,.18);color:#cfe1ef;border-radius:9px;padding:9px 16px;font:600 13px 'Inter',sans-serif;cursor:pointer}
.m1-confirm .cf-danger{background:linear-gradient(180deg,#ef4444,#dc2626);border:0;color:#fff;border-radius:9px;padding:9px 18px;font:700 13px 'Inter',sans-serif;cursor:pointer}
.m1-confirm .cf-danger:hover{filter:brightness(1.06)}

/* folha central */
.estrutura-app .est-sheet-wrap{background:#0d2138;border:1px solid rgba(127,231,235,.16);border-radius:16px;padding:14px;min-width:0}
.estrutura-app .est-sheet-toolbar{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:12px}
.estrutura-app .est-sheet-toolbar button{width:34px;height:32px;border-radius:7px;background:rgba(255,255,255,.06);border:1px solid rgba(127,231,235,.16);color:#cfe1ef;cursor:pointer;font-size:13px;display:grid;place-items:center}
.estrutura-app .est-sheet-toolbar button:hover{background:rgba(2,184,191,.18);color:#fff}
.estrutura-app .est-sheet{background:#fff;border-radius:8px;padding:38px 40px;min-height:540px;color:#1a2b3c;font:14px/1.7 'Inter',sans-serif;box-shadow:0 8px 30px rgba(0,0,0,.3);overflow-wrap:break-word}
.estrutura-app .est-sheet:focus{outline:2px solid rgba(2,184,191,.4)}
.estrutura-app .est-sheet-head{border-bottom:2px solid #02B8BF;padding-bottom:12px;margin-bottom:18px;display:flex;align-items:center;gap:12px}
.estrutura-app .est-sheet-head .logo{width:40px;height:40px;border-radius:8px;background:rgba(2,184,191,.14);color:#0E9AA1;display:grid;place-items:center;font:700 14px 'Inter',sans-serif;flex-shrink:0}
.estrutura-app .est-sheet-head .meta{font-size:11px;color:#64748b;line-height:1.4}
.estrutura-app .est-sheet-head .meta strong{display:block;font-size:14px;color:#0B1F33}
.estrutura-app .est-sheet h1{font-size:19px;margin:0 0 4px;color:#0B1F33}
.estrutura-app .est-sheet h2{font-size:15px;margin:18px 0 6px;color:#0E9AA1}
.estrutura-app .est-sheet-foot{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:12px;font-size:10.5px;color:#94a3b8;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.estrutura-app .est-field{margin-bottom:13px}
.estrutura-app .est-field label{display:block;font-size:11px;font-weight:600;color:#9fb3c8;margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}
.estrutura-app .est-field input,.estrutura-app .est-field select,.estrutura-app .est-field textarea{width:100%;box-sizing:border-box;background:rgba(255,255,255,.06);border:1px solid rgba(127,231,235,.18);border-radius:8px;padding:8px 11px;color:#F5F9FC;font:12.5px 'Inter',sans-serif;outline:none}
.estrutura-app .est-field input:focus,.estrutura-app .est-field textarea:focus{border-color:#02B8BF}
.estrutura-app .est-studio-actions{display:flex;flex-direction:column;gap:9px;margin-top:14px}

/* ═══ BIBLIOTECA ═══ */
.estrutura-app .est-lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:16px}
.estrutura-app .est-lib-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 4px 16px rgba(11,31,51,.05);display:flex;flex-direction:column;gap:10px;transition:border-color .22s,box-shadow .22s,transform .22s cubic-bezier(.2,.7,.2,1);cursor:pointer}
.estrutura-app .est-lib-card:hover{border-color:var(--teal);box-shadow:0 16px 38px rgba(2,184,191,.22),0 6px 16px rgba(7,27,49,.10);transform:translateY(-4px)}
.estrutura-app .est-lib-card .ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:rgba(2,184,191,.12);color:var(--teal)}
.estrutura-app .est-lib-card .lbl{font:600 9.5px 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-2)}
.estrutura-app .est-lib-card strong{font:700 14.5px 'Inter',sans-serif;color:var(--ink);line-height:1.3}
.estrutura-app .est-lib-card p{margin:0;font-size:12.5px;color:var(--ink-2);line-height:1.45;flex:1}
.estrutura-app .est-lib-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}
.estrutura-app .est-lib-card.is-new{border-style:dashed;align-items:center;justify-content:center;text-align:center;color:var(--teal-2);min-height:170px}
/* === Biblioteca: thumbnail PNG (imagem de exemplo) === */
.estrutura-app .est-lib-card{overflow:visible}
.estrutura-app .est-lib-card .est-lib-thumb{width:100%;margin:0 0 14px}

/* Thumb da Biblioteca — MESMO tratamento p/ PNG (img) e SVG (kindThumb), padrão único:
   largura 100%, mesma proporção (aspect-ratio do card), glow e hover idênticos. */
.estrutura-app .est-lib-card .est-lib-thumb img,
.estrutura-app .est-lib-card .est-lib-thumb svg{width:100%;height:auto;display:block;aspect-ratio:392/224;object-fit:cover;border-radius:14px;transition:transform .3s cubic-bezier(.2,.7,.2,1),filter .3s;filter:drop-shadow(0 0 9px rgba(2,184,191,.22)) drop-shadow(0 10px 16px rgba(7,27,49,.42))}
.estrutura-app .est-lib-card:hover .est-lib-thumb img,
.estrutura-app .est-lib-card:hover .est-lib-thumb svg{transform:scale(1.06);filter:drop-shadow(0 0 18px rgba(2,184,191,.5)) drop-shadow(0 16px 24px rgba(7,27,49,.5))}
@media (prefers-reduced-motion:reduce){.estrutura-app .est-lib-card,.estrutura-app .est-lib-card:hover,.estrutura-app .est-lib-card .est-lib-thumb img,.estrutura-app .est-lib-card .est-lib-thumb svg,.estrutura-app .est-lib-card:hover .est-lib-thumb img,.estrutura-app .est-lib-card:hover .est-lib-thumb svg{transition:none;transform:none}}
.estrutura-app .est-lib-status{align-self:flex-start;margin-top:2px;font:700 9.5px 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:999px}
.estrutura-app .est-lib-status.is-pronto{background:rgba(15,157,107,.14);color:#0F9D6B}
.estrutura-app .est-lib-status.is-revisao{background:rgba(123,97,255,.14);color:#7B61FF}

/* ---- Toast ---- */
.est-toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(20px);z-index:210;display:flex;align-items:center;gap:9px;background:#0B1F33;border:1px solid rgba(2,184,191,.4);border-radius:12px;padding:12px 18px;color:#F5F9FC;font:600 13px 'Inter',sans-serif;box-shadow:0 16px 40px rgba(11,31,51,.4);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;max-width:90vw}
.est-toast.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}
.est-toast svg{color:#7FE7EB;flex-shrink:0}

/* ---- Helpers ---- */
.estrutura-app .est-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.estrutura-app .est-row.end{justify-content:flex-end}
.estrutura-app .muted{color:var(--ink-3);font-size:12.5px}
.estrutura-app .est-principle{display:inline-flex;align-items:center;gap:7px;font:600 11px 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-2);background:rgba(2,184,191,.08);border:1px solid rgba(2,184,191,.2);border-radius:999px;padding:5px 12px;margin-bottom:14px}

/* ═══ RESPONSIVO ═══ */
@media (max-width:1100px){
  .estrutura-app .est-method-grid{grid-template-columns:1fr}
  .estrutura-app .est-resp-grid{grid-template-columns:1fr}
  .estrutura-app .est-studio{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .estrutura-app .est-steps{gap:6px;padding:12px 16px}
  .estrutura-app .est-step span{display:none}
  .estrutura-app .est-step:not(:last-child)::after{width:10px}
  .estrutura-app .est-canvas{padding:18px 14px}
  .estrutura-app .subtabs{padding:0 14px}
  .estrutura-app .module-app-header{padding:20px}
  .estrutura-app .est-sheet{padding:24px 20px}
}

/* ════════════════════════════════════════════════════════════════════
   ENTREVISTA IA — layout 2 colunas (painel de valor + chat) · escopado
   ════════════════════════════════════════════════════════════════════ */
.estrutura-app .entrevista-layout{display:grid;grid-template-columns:minmax(0,38fr) minmax(0,62fr);gap:24px;align-items:start}
.estrutura-app .entrevista-chatcol{max-width:620px;width:100%;display:flex;flex-direction:column;min-width:0}

/* --- painel de valor (esquerda, sticky) --- */
.estrutura-app .entrevista-aside{position:sticky;top:88px;background:linear-gradient(158deg,#0A1B2E 0%,#071120 100%);border:1px solid rgba(127,231,235,.16);border-radius:20px;padding:26px 24px;color:#eaf6f7;box-shadow:0 22px 52px -26px rgba(2,184,191,.5),0 10px 26px rgba(7,17,32,.35);overflow:hidden;isolation:isolate}
.estrutura-app .entrevista-aside::before{content:"";position:absolute;z-index:-1;top:-70px;right:-50px;width:220px;height:220px;background:radial-gradient(circle,rgba(2,184,191,.38),transparent 68%);pointer-events:none}
.estrutura-app .ent-eyebrow{display:block;font:600 11px 'JetBrains Mono',monospace;letter-spacing:.15em;color:#7FE7EB;text-transform:uppercase}
.estrutura-app .ent-title{font:400 28px/1.12 'Instrument Serif',serif;margin:12px 0 10px;color:#fff;letter-spacing:.2px}
.estrutura-app .ent-lead{font:400 13.5px/1.6 'Inter',sans-serif;color:#bcd2e0;margin:0 0 20px}
.estrutura-app .ent-steps{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:14px}
.estrutura-app .ent-steps li{display:flex;gap:12px;align-items:flex-start}
.estrutura-app .ent-step-ic{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(2,184,191,.14);border:1px solid rgba(127,231,235,.25);color:#7FE7EB}
.estrutura-app .ent-step-ic svg{width:17px;height:17px}
.estrutura-app .ent-steps strong{display:block;font:600 13.5px 'Inter',sans-serif;color:#fff}
.estrutura-app .ent-steps small{display:block;font:400 12px/1.4 'Inter',sans-serif;color:#9fb6c6;margin-top:3px}
.estrutura-app .ent-seal{display:inline-flex;align-items:center;gap:8px;font:600 11.5px 'Inter',sans-serif;color:#7FE7EB;background:rgba(2,184,191,.10);border:1px solid rgba(127,231,235,.22);border-radius:999px;padding:7px 14px}
.estrutura-app .ent-seal svg{width:14px;height:14px;flex:none}

/* --- chat com mais cara de chat (coluna direita) --- */
.estrutura-app .entrevista-chatcol .est-chat{height:min(66vh,580px)}
.estrutura-app .entrevista-layout .est-chat-log{padding:22px 22px 28px;gap:16px}
.estrutura-app .entrevista-layout .est-msg{margin-bottom:6px}
.estrutura-app .entrevista-layout .est-msg .av{border-radius:50%}
.estrutura-app .entrevista-layout .est-msg.ai .av{background:linear-gradient(135deg,#02B8BF,#0B6E73)}
.estrutura-app .entrevista-layout .est-bubble{position:relative;box-shadow:0 1px 2px rgba(11,31,51,.07)}
.estrutura-app .entrevista-layout .est-msg.ai .est-bubble{border-radius:4px 16px 16px 16px}
.estrutura-app .entrevista-layout .est-msg.me .est-bubble{border-radius:16px 4px 16px 16px;background:linear-gradient(135deg,#02B8BF,#0B6E73);color:#fff;border:none}
.estrutura-app .entrevista-layout .est-msg.me .est-bubble strong{color:#fff}
/* timestamp discreto sob a bolha */
.estrutura-app .entrevista-layout .est-bubble::after{content:"agora";position:absolute;bottom:-15px;font:500 9.5px 'Inter',sans-serif;color:var(--ink-3);white-space:nowrap;letter-spacing:.02em}
.estrutura-app .entrevista-layout .est-msg.ai .est-bubble::after{left:3px}
.estrutura-app .entrevista-layout .est-msg.me .est-bubble::after{right:3px}
/* indicador de digitacao — CSS puro: surge quando a ultima msg eh do usuario, some quando a IA responde */
.estrutura-app .entrevista-layout .est-chat-log:has(.est-msg.me:last-child)::after{content:"";align-self:flex-start;margin:0 0 6px 40px;width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:12px 0 0 var(--teal),24px 0 0 var(--teal);animation:entTyping 1.1s infinite ease-in-out}
@keyframes entTyping{0%,72%,100%{opacity:.22}36%{opacity:1}}
/* chips de resposta rapida */
.estrutura-app .entrevista-layout .est-quick{padding:0 18px 16px}
.estrutura-app .entrevista-layout .est-quick .est-chip{background:#fff;border-color:rgba(2,184,191,.4);color:var(--teal-2);font-weight:600}
.estrutura-app .entrevista-layout .est-quick .est-chip:hover{background:rgba(2,184,191,.1);border-color:var(--teal)}
/* input arredondado + enviar */
.estrutura-app .entrevista-layout .est-chat-foot{padding:14px 16px}
.estrutura-app .entrevista-layout .est-chat-foot input{border-radius:999px;padding:10px 16px;background:#fff}
.estrutura-app .entrevista-layout .est-chat-foot .btn-primary{border-radius:999px;display:inline-flex;align-items:center}
.estrutura-app .entrevista-layout .est-row.end{margin-top:14px}

/* --- responsivo: empilha (painel em cima, chat embaixo, full width) --- */
@media(max-width:900px){
  .estrutura-app .entrevista-layout{grid-template-columns:1fr;gap:18px}
  .estrutura-app .entrevista-aside{position:static}
  .estrutura-app .entrevista-chatcol{max-width:none}
  .estrutura-app .entrevista-chatcol .est-chat{height:min(60vh,520px)}
}

/* ════════════════════════════════════════════════════════════
   PACK & DOWNLOAD na Biblioteca — adaptado de _ref/estruturacao-pack-download-PROTOTIPO-v2.html
   (classes do protótipo, escopadas sob .pack-biblioteca; vars locais)
   ════════════════════════════════════════════════════════════ */
.pack-biblioteca{ --l-surf:#FFFFFF; --l-surf-2:#F8FAFC; --l-line:#E2E8F0; --l-line-2:#CBD5E1; --l-ink:#0F1E33; --l-ink-2:#475569; --l-ink-3:#94A3B8; --c-teal:#02B8BF; --c-teal-2:#7FE7EB; --c-teal-d:#017A80; --c-amber:#F59E0B; --c-emerald:#10B981; --g-cta:linear-gradient(135deg,#02D4DC 0%,#02888F 100%); --g-cta-hover:linear-gradient(135deg,#03E5EE 0%,#03A0A8 100%); --f-mono:'JetBrains Mono',monospace; --ease:cubic-bezier(0.16,1,0.3,1); }
.pack-biblioteca .hidden{display:none!important}
.pack-biblioteca .pack-cta{margin-top:24px;padding-top:22px;border-top:1px dashed var(--l-line-2)}
.pack-biblioteca .btn-pack{width:100%;justify-content:center;font-size:15.5px;font-weight:700;letter-spacing:.02em;padding:17px 24px;box-shadow:0 14px 30px -12px rgba(2,136,143,.75)}
.pack-biblioteca .note-srv{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:12px;font-size:11.5px;color:var(--l-ink-3)}
.pack-biblioteca .note-srv svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.6}
.pack-biblioteca .btn{font-family:inherit;font-weight:600;font-size:14.5px;border:none;cursor:pointer;border-radius:100px;padding:13px 24px;display:inline-flex;align-items:center;gap:10px;transition:transform .15s var(--ease),box-shadow .2s var(--ease),background .2s}
.pack-biblioteca .btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7}
.pack-biblioteca .btn-primary{background:var(--g-cta);color:#fff;box-shadow:0 10px 22px -10px rgba(2,136,143,.7)}
.pack-biblioteca .btn-primary:hover{background:var(--g-cta-hover);transform:translateY(-1px)}
.pack-biblioteca .btn-ghost{background:#fff;color:var(--l-ink-2);border:1px solid var(--l-line-2)}
.pack-biblioteca .btn-ghost:hover{border-color:var(--c-teal);color:var(--c-teal-d)}
.pack-biblioteca .btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.pack-biblioteca .locked-wrap{text-align:center;padding:18px 0}
.pack-biblioteca .locked-badge{width:60px;height:60px;margin:4px auto 14px;border-radius:50%;display:grid;place-items:center;background:rgba(16,185,129,.10);color:var(--c-emerald)}
.pack-biblioteca .locked-badge svg{width:29px;height:29px;stroke:currentColor;fill:none;stroke-width:1.7}
.pack-biblioteca .locked-wrap h2{font-size:20px;font-weight:700}
.pack-biblioteca .locked-wrap p{color:var(--l-ink-2);font-size:14px;max-width:48ch;margin:8px auto 20px}
.pack-biblioteca .locked-banner{display:flex;align-items:center;gap:12px;justify-content:center;flex-wrap:wrap;background:rgba(2,184,191,.06);border:1px solid rgba(2,184,191,.22);border-radius:14px;padding:16px 20px;max-width:560px;margin:0 auto}
.pack-biblioteca .locked-banner span{font-size:13.5px;color:var(--l-ink-2)}
.pack-biblioteca .scrim{position:fixed;inset:0;background:rgba(6,19,35,.55);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;padding:24px;z-index:300;opacity:0;transition:opacity .22s}
.pack-biblioteca .scrim.on{display:flex;opacity:1}
.pack-biblioteca .dialog{background:var(--l-surf);border-radius:20px;width:100%;box-shadow:0 30px 80px -20px rgba(6,19,35,.6);transform:translateY(12px) scale(.985);transition:transform .26s var(--ease)}
.pack-biblioteca .scrim.on .dialog{transform:none}
.pack-biblioteca .sel{max-width:560px;display:flex;flex-direction:column;max-height:86vh}
.pack-biblioteca .sel-head{padding:24px 26px 14px;border-bottom:1px solid var(--l-line)}
.pack-biblioteca .sel-head h3{font-size:19px;font-weight:700}
.pack-biblioteca .sel-head .sub{margin-top:6px;font-size:13px;color:var(--l-ink-2)}
.pack-biblioteca .sel-tools{display:flex;align-items:center;gap:14px;padding:12px 26px;border-bottom:1px solid var(--l-line);font-size:12.5px;color:var(--l-ink-3)}
.pack-biblioteca .sel-tools a{color:var(--c-teal-d);font-weight:600;cursor:pointer}
.pack-biblioteca .sel-tools .cnt{margin-left:auto;font-family:var(--f-mono);font-weight:600;color:var(--l-ink-2)}
.pack-biblioteca .sel-list{padding:14px 26px;overflow:auto;display:flex;flex-direction:column;gap:7px}
.pack-biblioteca .sel-row{display:flex;align-items:center;gap:13px;padding:11px 14px;background:var(--l-surf-2);border:1px solid var(--l-line);border-radius:12px;cursor:pointer;transition:border-color .15s}
.pack-biblioteca .sel-row:hover{border-color:var(--c-teal-2)}
.pack-biblioteca .sel-row.off{opacity:.55}
.pack-biblioteca .chk{width:20px;height:20px;flex:0 0 20px;border-radius:6px;border:2px solid var(--l-line-2);display:grid;place-items:center;transition:.15s}
.pack-biblioteca .sel-row.on .chk{background:var(--c-teal);border-color:var(--c-teal)}
.pack-biblioteca .chk svg{width:13px;height:13px;stroke:#fff;fill:none;stroke-width:2.4;opacity:0}
.pack-biblioteca .sel-row.on .chk svg{opacity:1}
.pack-biblioteca .sel-row .nm{font-weight:600;font-size:14px}
.pack-biblioteca .sel-row .tp{margin-left:auto;font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--l-ink-3)}
.pack-biblioteca .sel-foot{padding:16px 26px 22px;border-top:1px solid var(--l-line);display:flex;gap:12px;align-items:center}
.pack-biblioteca .sel-foot .btn-primary{flex:1;justify-content:center}
.pack-biblioteca .warn-dlg{max-width:440px;padding:30px;text-align:center}
.pack-biblioteca .warn-dlg .ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;margin:0 auto 16px;background:rgba(245,158,11,.12);color:var(--c-amber)}
.pack-biblioteca .warn-dlg .ico svg{width:27px;height:27px;stroke:currentColor;fill:none;stroke-width:1.7}
.pack-biblioteca .warn-dlg h3{font-size:19px;font-weight:700;margin-bottom:10px}
.pack-biblioteca .warn-dlg p{font-size:14px;color:var(--l-ink-2);margin-bottom:22px;max-width:42ch;margin-left:auto;margin-right:auto}
.pack-biblioteca .warn-dlg .row{display:flex;gap:12px;justify-content:center}
.pack-biblioteca .warn-dlg .row .btn{min-width:120px;justify-content:center}
.pack-biblioteca .spin{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:pkrot .7s linear infinite;display:inline-block}
@keyframes pkrot{to{transform:rotate(360deg)}}

/* ═══════════ Módulo 01 — Diagnóstico Sanitário + Estúdio real (SOMA_M1) ═══════════ */
.m1-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end;margin-bottom:16px}
.m1-svc select{width:100%}
.m1-identity{background:#f1f7f8;border:1px solid #d6e8ea;border-radius:12px;padding:11px 14px;display:flex;flex-direction:column;gap:2px}
.m1-identity-l{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:#0E9AA1;font-weight:700}
.m1-identity b{font-size:14px;color:#0B1F33}
.m1-identity span{font-size:12px;color:#54657A}
.m1-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.m1-grp{border:1px solid #E2E8F0;border-radius:12px;padding:10px 14px 12px;margin:0}
.m1-grp legend{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#0B1F33;padding:0 6px}
.m1-flag{display:flex;gap:9px;align-items:flex-start;padding:6px 4px;cursor:pointer;border-radius:8px}
.m1-flag:hover{background:rgba(2,184,191,.06)}
.m1-flag input{margin-top:2px;accent-color:#02B8BF;flex:0 0 auto}
.m1-flag span{display:flex;flex-direction:column;line-height:1.25}
.m1-flag strong{font-size:12.5px;color:#0B1F33;font-weight:600}
.m1-flag small{font-size:10.5px;color:#8597A8}
.m1-opdetails{margin-top:16px;border:1px dashed #cdd9e6;border-radius:12px;padding:0 14px}
.m1-opdetails summary{cursor:pointer;padding:11px 0;font-size:12.5px;font-weight:600;color:#0E9AA1}
.m1-opgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:4px 0 16px}
@media (max-width:780px){.m1-row,.m1-groups,.m1-opgrid{grid-template-columns:1fr}}

/* Estúdio — documentos reais por tipo */
.m1-studio-block{display:flex;flex-direction:column;gap:14px;margin-top:8px}
.m1-warn{background:#fff8e8;border:1px solid #f0d79a;border-radius:12px;padding:11px 14px;color:#7a5400}
.m1-warn strong{display:block;font-size:12.5px;margin-bottom:6px}
.m1-warn ul{margin:0;padding-left:18px}
.m1-warn li{font-size:11.5px;line-height:1.45;margin-bottom:3px}
.m1-doc-group h4{margin:2px 0 7px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#54657A;display:flex;align-items:center;gap:8px}
.m1-cnt{display:inline-flex;min-width:20px;height:18px;padding:0 6px;align-items:center;justify-content:center;border-radius:9px;background:rgba(2,184,191,.14);color:#0E9AA1;font-size:11px;font-weight:700}
.m1-doc-item{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;border:1px solid #E2E8F0;background:#fff;border-radius:10px;padding:10px 12px;margin-bottom:7px;cursor:pointer;transition:.15s}
.m1-doc-item:hover{border-color:#02B8BF;box-shadow:0 4px 14px rgba(2,184,191,.12)}
.m1-doc-item .nm{font-size:12.5px;font-weight:600;color:#0B1F33;line-height:1.3}
.m1-doc-meta{display:flex;gap:6px}
.m1-risk{font-size:10px;font-weight:700;text-transform:uppercase;border-radius:6px;padding:2px 7px;background:#eef2f6;color:#54657A}
.m1-risk.alto{background:rgba(239,68,68,.12);color:#b91c1c}
.m1-risk.critico{background:rgba(239,68,68,.18);color:#991b1b}
.m1-risk.medio{background:rgba(234,162,59,.14);color:#9a6a00}
.m1-risk.baixo,.m1-risk.medio_baixo{background:rgba(22,163,74,.12);color:#15803d}
.m1-tag{font-size:10px;font-weight:700;text-transform:uppercase;border-radius:6px;padding:2px 7px;background:#f1f5f9;color:#8597A8}

/* ═══ M01 · Estúdio — índice compacto (fim do scroll eterno) + preview inline ═══ */
.estrutura-app .est-studio-col[data-doc-list]{display:flex;flex-direction:column;min-width:0;max-height:calc(100vh - 168px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(127,231,235,.3) transparent}
/* col3 (campos + IA) também limitada à viewport, com rolagem própria — estúdio vira painel fixo */
.estrutura-app .est-studio-col:not([data-doc-list]){max-height:calc(100vh - 168px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(127,231,235,.3) transparent}
.estrutura-app .est-studio-col:not([data-doc-list])::-webkit-scrollbar{width:8px}
.estrutura-app .est-studio-col:not([data-doc-list])::-webkit-scrollbar-thumb{background:rgba(127,231,235,.22);border-radius:8px}
.m1-doc-filter{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:8px;background:#0d2138;padding:2px 0 10px;margin-top:2px}
.m1-doc-filter input{flex:1;min-width:0;box-sizing:border-box;background:rgba(255,255,255,.05);border:1px solid rgba(127,231,235,.18);border-radius:9px;padding:7px 10px;color:#eaf6f7;font:500 12.5px 'Inter',sans-serif;outline:none}
.m1-doc-filter input:focus{border-color:rgba(2,184,191,.5)}
.m1-doc-filter .m1-total{font:600 10.5px 'JetBrains Mono',monospace;color:#7f96ac;flex:0 0 auto;white-space:nowrap}
.m1-doc-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;margin:0 -4px;padding:0 4px 4px;display:flex;flex-direction:column;gap:3px;scrollbar-width:thin;scrollbar-color:rgba(127,231,235,.3) transparent}
.m1-doc-scroll::-webkit-scrollbar{width:8px}
.m1-doc-scroll::-webkit-scrollbar-thumb{background:rgba(127,231,235,.22);border-radius:8px}
.m1-doc-scroll .m1-warn{margin-bottom:5px}
.m1-group-head{display:flex;align-items:center;gap:8px;width:100%;text-align:left;cursor:pointer;border:0;padding:8px 6px;border-radius:8px;color:#9fb3c8;font:700 11px 'Inter',sans-serif;text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;background:#0d2138;z-index:1}
.m1-group-head:hover{background:rgba(2,184,191,.09);color:#eaf6f7}
.m1-group-head .lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m1-group-head .chev{flex:0 0 auto;font-size:9px;transition:transform .15s;color:#7fe7eb}
.m1-group-head[aria-expanded="true"] .chev{transform:rotate(90deg)}
.m1-group-head .m1-cnt{margin-left:auto}
.m1-group-body{display:flex;flex-direction:column;gap:4px;padding:3px 0 7px 4px}
.m1-group-body[hidden]{display:none}
.m1-doc-group.is-hidden{display:none}
.m1-doc-scroll .est-doc-item{margin:0;padding:7px 10px;text-align:left;width:100%}
.m1-doc-scroll .est-doc-item.is-current{background:rgba(2,184,191,.18);border-color:rgba(2,184,191,.45);box-shadow:inset 2px 0 0 #02B8BF}
.m1-doc-scroll .est-doc-item.is-hidden{display:none}
/* risk-pill legível sobre fundo escuro (sobrescreve as cores claras de .m1-risk) */
.m1-doc-scroll .m1-risk{flex:0 0 auto;background:rgba(255,255,255,.07);color:#9fb3c8}
.m1-doc-scroll .m1-risk.alto,.m1-doc-scroll .m1-risk.critico{background:rgba(239,68,68,.18);color:#fca5a5}
.m1-doc-scroll .m1-risk.medio{background:rgba(234,162,59,.18);color:#f0c074}
.m1-doc-scroll .m1-risk.baixo,.m1-doc-scroll .m1-risk.medio_baixo{background:rgba(22,163,74,.2);color:#86efac}
.m1-doc-empty-filter{padding:14px 6px;font-size:12px;color:#7f96ac}
/* preview inline na coluna do meio (col2) */
.est-preview-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;min-width:0}
.est-preview-head .ttl{flex:1;min-width:0;font:700 13px 'Inter',sans-serif;color:#F5F9FC;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.est-preview-head button{flex:0 0 auto;background:rgba(255,255,255,.06);border:1px solid rgba(127,231,235,.18);color:#cfe1ef;border-radius:8px;padding:6px 11px;font:600 11.5px 'Inter',sans-serif;cursor:pointer}
.est-preview-head button:hover{background:rgba(2,184,191,.18);color:#fff}
.m1-preview-frame{display:block;width:100%;height:calc(100vh - 224px);min-height:460px;border:0;border-radius:10px;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.3)}
.est-sheet-wrap.is-m1 [data-m1-empty]{display:none}
.est-sheet-wrap:not(.is-m1) .est-preview-head,.est-sheet-wrap:not(.is-m1) .m1-preview-frame{display:none}
.est-editor-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:11px;min-height:460px;height:calc(100vh - 224px);padding:30px;color:#9fb6c9}
.est-editor-empty .ic{width:58px;height:58px;border-radius:15px;display:grid;place-items:center;background:rgba(2,184,191,.12);color:#27c4cb;border:1px solid rgba(127,231,235,.22)}
.est-editor-empty strong{color:#eaf3fb;font-size:16px;font-weight:700}
.est-editor-empty p{max-width:360px;font-size:12.5px;line-height:1.6;margin:0}
.est-editor-empty p b{color:#cfe1ef}
@media (max-width:1100px){
  .estrutura-app .est-studio-col[data-doc-list]{max-height:60vh}
  .estrutura-app .est-studio-col:not([data-doc-list]){max-height:none;overflow:visible}
  .m1-preview-frame{height:72vh}
}
@media (max-width:760px){
  .estrutura-app .est-studio-col[data-doc-list]{max-height:none}
  .m1-doc-scroll{overflow:visible}
  .m1-doc-filter{position:static}
}
