:root{
  --bg:#f5f7fb;--surface:#ffffff;--surface-2:#f8fafc;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;
  --brand:#0f172a;--brand-2:#1e293b;--accent:#2563eb;--accent-2:#60a5fa;--success:#16a34a;--warning:#d97706;--danger:#dc2626;--info:#0284c7;
  --sidebar:#0f172a;--sidebar-text:#e5e7eb;--sidebar-muted:#94a3b8;--shadow:0 18px 45px rgba(15,23,42,.08);--radius:18px;--radius-lg:24px;
  --font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
body[data-theme="dark"]{--bg:#0b1120;--surface:#111827;--surface-2:#0f172a;--text:#e5e7eb;--muted:#94a3b8;--line:#263244;--brand:#e5e7eb;--brand-2:#cbd5e1;--sidebar:#020617;--sidebar-text:#e5e7eb;--shadow:0 18px 45px rgba(0,0,0,.30)}
body[data-theme="emerald"]{--bg:#f0fdf4;--sidebar:#052e2b;--brand:#064e3b;--accent:#059669;--accent-2:#34d399;--info:#0f766e}
body[data-theme="indigo"]{--bg:#f5f3ff;--sidebar:#1e1b4b;--brand:#312e81;--accent:#4f46e5;--accent-2:#818cf8;--info:#4f46e5}
body[data-theme="slate"]{--bg:#f1f5f9;--sidebar:#111827;--brand:#111827;--accent:#334155;--accent-2:#94a3b8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;line-height:1.45}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit}.app{display:flex;min-height:100vh}.sidebar{width:306px;background:var(--sidebar);color:var(--sidebar-text);height:100vh;position:sticky;top:0;overflow:auto;box-shadow:12px 0 35px rgba(2,6,23,.16);transition:width .2s ease;z-index:20}.sidebar.compact{width:88px}.brand{display:flex;gap:12px;align-items:center;padding:18px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-copy{min-width:0}.brand b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand span{display:block;color:var(--sidebar-muted);font-size:12px;margin-top:2px}.logo{width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,var(--accent),#22c55e);display:grid;place-items:center;color:white;font-weight:900;letter-spacing:.04em;box-shadow:0 12px 28px rgba(37,99,235,.35)}.logo.big{width:72px;height:72px;margin:auto;border-radius:24px}.sidebar-tools{display:flex;gap:8px;padding:12px 14px}.sidebar-tools button{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);color:var(--sidebar-text);border-radius:14px;padding:10px;cursor:pointer}.nav-search{padding:0 14px 10px}.nav-search input{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);color:#fff;border-radius:14px;padding:11px 12px;width:100%;outline:none}.nav-search input::placeholder{color:var(--sidebar-muted)}.side-nav{padding:6px 12px 18px}.nav-group{margin-bottom:8px}.nav-title{width:100%;background:transparent;color:#cbd5e1;border:0;padding:11px 12px;border-radius:14px;text-align:left;font-weight:800;display:flex;justify-content:space-between;align-items:center;gap:8px;cursor:pointer;letter-spacing:.01em}.nav-title:hover,.nav-group.open>.nav-title{background:rgba(255,255,255,.08)}.nav-title .chev{transition:transform .2s ease;color:var(--sidebar-muted)}.nav-group:not(.open) .chev{transform:rotate(-90deg)}.nav-items{display:grid;gap:3px;margin:4px 0 8px 6px}.nav-group:not(.open) .nav-items{display:none}.nav-items a{display:flex;align-items:center;gap:10px;color:#e5e7eb;padding:10px 11px;border-radius:13px;font-size:14px;min-height:40px}.nav-items a:hover,.nav-items a.active{background:rgba(37,99,235,.28);color:#fff}.ico{width:24px;height:24px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.08);color:var(--accent-2);font-size:13px;flex:0 0 auto}.sidebar.compact .brand-copy,.sidebar.compact .nav-title .label,.sidebar.compact .nav-title .chev,.sidebar.compact .nav-search,.sidebar.compact .nav-items a span:not(.ico){display:none}.sidebar.compact .nav-items{margin-left:0}.main{flex:1;min-width:0;padding:0 28px 70px}.topbar{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:18px}.page-title h1{margin:0;font-size:28px;letter-spacing:-.03em}.page-title p{margin:4px 0 0;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.icon-btn,.btn,button{border:1px solid var(--line);background:var(--surface);color:var(--text);padding:10px 14px;border-radius:14px;cursor:pointer;font-weight:750;box-shadow:0 4px 14px rgba(15,23,42,.04)}button:hover,.btn:hover{transform:translateY(-1px)}.primary,button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.ghost{background:transparent}.version{background:var(--brand)!important;color:white!important;border-color:var(--brand)!important}.user-chip{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 8px 6px 12px;box-shadow:0 5px 18px rgba(15,23,42,.05)}.avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#22c55e);display:grid;place-items:center;color:#fff;font-weight:900}.user-chip a{color:var(--text);font-weight:800}.notice-strip{display:none;margin:0 0 16px}.notice-strip.open{display:grid;gap:10px}.notice,.alert{border-radius:16px;padding:13px 15px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a}.notice strong{display:block}.notice p{margin:4px 0 0}.notice.warning,.alert.warning{background:#fffbeb;border-color:#fde68a;color:#92400e}.notice.danger,.alert.danger{background:#fef2f2;border-color:#fecaca;color:#991b1b}.notice.success,.alert.success{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.layout-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.breadcrumb{display:flex;gap:8px;color:var(--muted);font-size:13px}.card,.filters,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow);margin-bottom:16px}.card h2,.panel h2{margin:0 0 14px;font-size:19px;letter-spacing:-.02em}.card h3{margin:14px 0 8px}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow);position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;right:-22px;top:-22px;width:88px;height:88px;border-radius:50%;background:color-mix(in srgb,var(--accent) 16%,transparent)}.kpi span{display:block;color:var(--muted);font-size:13px}.kpi b{font-size:32px;letter-spacing:-.04em}.kpi small{display:block;color:var(--muted);margin-top:6px}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;background:var(--surface-2);border:1px solid var(--line);font-size:12px;font-weight:800}.badge.ok{background:#dcfce7;color:#166534;border-color:#bbf7d0}.badge.warn{background:#fef3c7;color:#92400e;border-color:#fde68a}.badge.danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}label{display:flex;flex-direction:column;gap:6px;font-weight:750;font-size:13px;color:var(--text)}label span{color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:11px 12px;background:var(--surface);color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent)}textarea{min-height:100px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.full{grid-column:1/-1}.inline{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.actions,.doc-actions{display:flex;gap:10px;flex-wrap:wrap}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:var(--surface)}table{border-collapse:collapse;width:100%;font-size:14px}th,td{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}tr:last-child td{border-bottom:0}th{background:var(--surface-2);color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;border-bottom:1px solid var(--line);padding-bottom:10px}.tab{background:var(--surface-2);border:1px solid var(--line);box-shadow:none}.tab.active{background:var(--brand);color:white;border-color:var(--brand)}.tab-pane{display:none}.tab-pane.active{display:block}.sticky-actions{position:sticky;bottom:12px;display:flex;justify-content:flex-end;padding:12px;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:18px}.line,.addr{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:8px}.addr{grid-template-columns:.8fr .8fr 2fr .7fr 1fr 1fr 1fr .5fr .8fr}.modal{display:none;position:fixed;inset:0;background:rgba(2,6,23,.58);z-index:100;place-items:center;padding:20px}.modal.open{display:grid}.modal-box{background:var(--surface);color:var(--text);max-width:880px;width:min(94vw,880px);max-height:86vh;overflow:auto;border-radius:26px;padding:24px;position:relative;box-shadow:0 35px 110px rgba(0,0,0,.3)}.close{position:absolute;right:16px;top:16px}.version-item{border-bottom:1px solid var(--line);padding:14px 0}.version-item small{display:block;color:var(--muted);margin-top:3px}.version-item pre,pre.document-preview{white-space:pre-wrap;background:var(--surface-2);border:1px solid var(--line);border-radius:16px;padding:14px}.theme-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.theme-card{border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:14px;text-align:left;cursor:pointer}.theme-card.active{outline:3px solid color-mix(in srgb,var(--accent) 25%,transparent);border-color:var(--accent)}.swatches{display:flex;gap:6px;margin:8px 0}.swatch{width:28px;height:28px;border-radius:999px;border:1px solid rgba(0,0,0,.1)}.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,color-mix(in srgb,var(--accent) 22%,#fff),#f8fafc 45%,#e0f2fe)}.login-card{background:#fff;border:1px solid #e2e8f0;border-radius:30px;box-shadow:0 28px 90px rgba(15,23,42,.18);padding:34px;max-width:430px;width:92%;display:grid;gap:14px;text-align:left}.login-card h1{text-align:center;margin:0;letter-spacing:-.04em}.login-card p{text-align:center;color:#64748b}.login-card.wide{max-width:720px}.empty-state{text-align:center;padding:34px;color:var(--muted)}.subtle{color:var(--muted)}
@media(max-width:1100px){.grid.four,.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.addr,.line{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.app{display:block}.sidebar{position:relative;width:100%;height:auto}.sidebar.compact{width:100%}.main{padding:0 14px 60px}.topbar{align-items:flex-start;flex-direction:column}.grid.two,.grid.three,.grid.four,.kpis,.form-grid,.theme-grid{grid-template-columns:1fr}.addr,.line{grid-template-columns:1fr}.top-actions{width:100%}.user-chip{width:100%;justify-content:space-between}}


/* V12.0.10 - Órbita do superadmin */
.orbit-box{display:block;
  margin:12px;
  padding:12px;
  border-radius:14px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:inherit;
}
.orbit-title{
  font-weight:800;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.06em;
  opacity:.9;
  margin-bottom:8px;
}
.orbit-box label{
  display:block;
  font-size:12px;
  margin:8px 0;
  opacity:.95;
}
.orbit-box select{
  width:100%;
  margin-top:4px;
  padding:8px;
  border-radius:9px;
  border:1px solid rgba(255,255,255,.18);
  background:#fff;
  color:#0f172a;
}
.orbit-box small{
  display:block;
  margin-top:8px;
  opacity:.75;
  line-height:1.3;
}

.orbit-warning{color:#fbbf24!important}
.sidebar.compact .orbit-box{display:block;display:none}


/* V12.16 - Menu inteligente e ordenação de tabelas */
.smart-tools{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
.smart-tools button{font-weight:800}
th.sortable{position:relative;white-space:nowrap;user-select:none}
.sort-arrows{display:inline-flex;gap:2px;margin-left:6px;vertical-align:middle;opacity:.72}
.sort-arrows button{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:0 1px;font-size:10px;line-height:1}
.sort-arrows button:hover{color:var(--accent)}
th.sorted-asc .sort-up, th.sorted-desc .sort-down{color:var(--accent);font-weight:900;opacity:1}
.nav-group .nav-title{transition:background .18s ease, transform .18s ease}
.nav-group.open .nav-items{animation:menuOpen .14s ease-out}
@keyframes menuOpen{from{opacity:.35;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}

/* V12.26 - Abas 360 */
.tabs-360{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}
.tabs-360 a{padding:9px 12px;border-radius:999px;background:var(--surface);border:1px solid rgba(148,163,184,.28);text-decoration:none;color:var(--text);font-weight:700;font-size:13px}
.tabs-360 a:hover{border-color:var(--accent);color:var(--accent)}

/* V12.36 - CRM, documentos e temas granulares */
.kanban{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;align-items:start}
.kanban-col{background:var(--surface);border:1px solid rgba(148,163,184,.25);border-radius:var(--radius-md,14px);padding:12px;min-height:220px}
.kanban-col h3{display:flex;justify-content:space-between;align-items:center;margin:0 0 10px}
.kanban-card{background:rgba(148,163,184,.08);border:1px solid rgba(148,163,184,.22);border-radius:12px;padding:10px;margin-bottom:10px}
.kanban-card .actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.btn.tiny{font-size:11px;padding:4px 6px;border-radius:8px}
.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.theme-fieldset{border:1px solid rgba(148,163,184,.28);border-radius:14px;padding:14px;background:rgba(148,163,184,.04)}
.theme-fieldset legend{font-weight:800;padding:0 8px}
.theme-fieldset label{display:block;margin:9px 0}
.theme-fieldset small{display:block;color:var(--muted);font-size:11px;margin-top:3px}

/* V12.37 - Biblioteca universal de temas no topo */
.theme-library{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:16px 0}
.theme-card{border:1px solid rgba(148,163,184,.28);background:var(--surface);border-radius:var(--radius-md,14px);padding:14px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-card,0 12px 30px rgba(15,23,42,.08))}
.theme-card.active{outline:2px solid var(--accent);border-color:var(--accent)}
.theme-card span{color:var(--muted);font-size:12px}
.theme-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.swatches{display:flex;gap:6px;margin-top:6px}
.swatch{width:24px;height:24px;border-radius:999px;border:1px solid rgba(148,163,184,.35);display:inline-block}

/* V12.37.3 - controles de cor legíveis no editor de temas */
.theme-token-row{display:block;margin:10px 0}
.theme-color-control{display:grid;grid-template-columns:32px 48px 1fr;gap:8px;align-items:center}
.theme-color-swatch{width:30px;height:30px;border-radius:10px;border:1px solid rgba(148,163,184,.45);box-shadow:inset 0 0 0 1px rgba(255,255,255,.15);display:inline-block;background:transparent}
.theme-color-picker{width:48px!important;height:34px!important;min-height:34px!important;padding:0!important;border:1px solid rgba(148,163,184,.45)!important;border-radius:10px!important;background:transparent!important;cursor:pointer}
.theme-token-input{width:100%;min-height:36px}


/* V12.37.5 - tokens do menu superior, botões e textos */
.topbar,
header.topbar,
.main > .topbar{
  background:var(--topbar-bg,var(--surface))!important;
  color:var(--topbar-text,var(--text))!important;
  border-color:var(--topbar-border,var(--line))!important;
  box-shadow:var(--topbar-shadow,none)!important;
}
.topbar *,
header.topbar *{
  color:inherit;
}
.topbar .subtle,
.topbar small,
.topbar .muted{
  color:var(--topbar-muted,var(--muted))!important;
}
.topbar .btn,
.topbar button,
.topbar a.btn,
.topbar .ghost,
header.topbar .btn,
header.topbar button,
header.topbar a.btn,
header.topbar .ghost{
  background:var(--topbar-button-bg,var(--surface))!important;
  color:var(--topbar-button-text,var(--text))!important;
  border-color:var(--topbar-button-border,var(--input-border))!important;
  box-shadow:var(--button-shadow,none);
}
.topbar .btn:hover,
.topbar button:hover,
.topbar a.btn:hover,
.topbar .ghost:hover,
header.topbar .btn:hover,
header.topbar button:hover,
header.topbar a.btn:hover,
header.topbar .ghost:hover{
  background:var(--topbar-button-hover-bg,var(--surface-2))!important;
  color:var(--topbar-button-hover-text,var(--accent))!important;
}
.topbar .primary,
header.topbar .primary{
  background:var(--accent)!important;
  color:var(--accent-contrast,#fff)!important;
  border-color:var(--accent)!important;
}
.notice-panel,
.topbar .notice,
.topbar .alert{
  background:var(--topbar-notice-bg,var(--surface))!important;
  color:var(--topbar-notice-text,var(--text))!important;
  border-color:var(--topbar-border,var(--line))!important;
}
.btn,
button,
.button,
input[type="submit"]{
  border-radius:var(--button-radius,12px);
}


/* V12.48 - global color fields: swatch + picker + text */
.global-color-control{
  display:grid;
  grid-template-columns:34px 42px 1fr;
  gap:8px;
  align-items:center;
  width:100%;
}
.global-color-swatch{
  width:32px!important;
  height:32px!important;
  min-height:32px!important;
  border-radius:10px!important;
  border:1px solid rgba(148,163,184,.45)!important;
  padding:0!important;
  cursor:pointer;
  background:transparent;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.global-color-picker{
  width:42px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  border:1px solid rgba(148,163,184,.45)!important;
  border-radius:10px!important;
  background:transparent!important;
  cursor:pointer;
}
.global-color-input{
  width:100%;
  min-height:36px;
}

/* V12.48.1 - histórico de versões com data/hora e ordem cronológica descendente */
.version-item strong{display:block;font-size:15px}.version-item small{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.version-item:first-of-type{border-top:2px solid var(--brand);padding-top:16px}


/* V12.48.2/V13 - segurança, produto jurídico e vertical Failsafe */
.inline-delete{display:inline;margin-left:8px}.link-danger{background:none;border:0;color:#b91c1c;cursor:pointer;padding:0;font:inherit;text-decoration:underline}.status-pill,.badge.ok,.badge.warn,.badge.danger{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-weight:700;font-size:12px}.status-pill.ok,.badge.ok{background:#dcfce7;color:#166534}.status-pill.warn,.badge.warn{background:#fef3c7;color:#92400e}.status-pill.danger,.badge.danger{background:#fee2e2;color:#991b1b}.v13-hero{background:linear-gradient(135deg,rgba(15,23,42,.96),rgba(30,64,175,.90));color:#fff;border:0}.v13-hero .subtle,.v13-hero p{color:#dbeafe}.v13-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.v13-card{border:1px solid rgba(148,163,184,.35);border-radius:18px;padding:18px;background:rgba(255,255,255,.95)}.v13-card h3{margin-top:0}.v13-roadmap{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.v13-roadmap article{border-left:4px solid var(--primary,#111827);padding:12px 14px;background:#fff;border-radius:12px;box-shadow:0 6px 20px rgba(15,23,42,.06)}.v13-timeline{border-left:3px solid #cbd5e1;padding-left:18px}.v13-timeline article{position:relative;margin:0 0 16px}.v13-timeline article:before{content:'';position:absolute;left:-27px;top:4px;width:12px;height:12px;border-radius:99px;background:#1d4ed8}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.small-actions{display:flex;flex-wrap:wrap;gap:8px}.readiness-list{display:grid;gap:10px}.readiness-list li{list-style:none;display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.portal-simple{max-width:1180px;margin:auto}.ai-output{white-space:pre-wrap;background:#0f172a;color:#e2e8f0;padding:16px;border-radius:14px;line-height:1.5}

/* V15.0.5 — Dashboard executivo com gráficos dinâmicos e menu inteligente */
.sidebar{scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.55) transparent}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:rgba(148,163,184,.45);border-radius:999px}.side-nav{padding-bottom:84px}.nav-title{font-size:13px;text-transform:none}.nav-items a{font-size:13px;min-height:36px;padding:8px 10px}.smart-tools{position:sticky;top:0;background:linear-gradient(180deg,var(--sidebar),color-mix(in srgb,var(--sidebar) 88%,transparent));z-index:2;padding-top:10px}.dashboard-hero-pro{display:flex;justify-content:space-between;gap:18px;align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 96%,#0ea5e9),color-mix(in srgb,var(--accent) 72%,#020617));color:white;border:0;overflow:hidden;position:relative}.dashboard-hero-pro:after{content:"";position:absolute;right:-120px;top:-160px;width:360px;height:360px;background:rgba(255,255,255,.12);border-radius:999px}.dash-hero-copy,.dash-hero-actions{position:relative;z-index:1}.dash-hero-copy h2{font-size:34px;line-height:1.05;margin:6px 0 8px;letter-spacing:-.04em}.dash-hero-copy p{margin:0;color:rgba(255,255,255,.78);max-width:680px}.dash-eyebrow{display:inline-flex;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.10);padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.dash-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.dashboard-hero-pro .btn{border-color:rgba(255,255,255,.22);color:white;background:rgba(255,255,255,.12);box-shadow:none}.dashboard-hero-pro .btn.primary{background:white;color:#0f172a;border-color:white}.dash-kpis-pro .clean-kpi{text-decoration:none;color:inherit;transition:transform .18s ease, box-shadow .18s ease}.dash-kpis-pro .clean-kpi:hover{transform:translateY(-2px);box-shadow:0 22px 55px rgba(15,23,42,.12)}.clean-kpi:after{opacity:.55}.danger-kpi{border-color:#fecaca!important;background:linear-gradient(180deg,var(--surface),#fff7f7)}.dashboard-focus-grid{align-items:start}.dash-card-quiet{box-shadow:0 10px 34px rgba(15,23,42,.06)}.dash-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.dash-card-head h2{margin-bottom:4px}.btn.tiny,.tiny{font-size:12px;padding:7px 10px;border-radius:10px}.dash-list-row{display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);color:var(--text)}.dash-list-row:last-child{border-bottom:0}.dash-row-main{min-width:0}.dash-row-main strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.dash-row-main small{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-row-date{font-weight:800;color:var(--muted);font-size:12px}.status-dot{width:10px;height:10px;border-radius:999px;display:inline-block}.status-dot.ok{background:#22c55e}.status-dot.warn{background:#f59e0b}.status-dot.danger{background:#ef4444}.workflow-mini{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);color:var(--text)}.workflow-mini:last-child{border-bottom:0}.workflow-mini strong{display:block;font-size:13px}.workflow-mini small{display:block;color:var(--muted);max-width:440px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-mini span{min-width:48px;text-align:center;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-weight:900;padding:5px 8px}.finance-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.finance-mini-grid div{background:var(--surface-2);border:1px solid var(--line);border-radius:16px;padding:12px}.finance-mini-grid span{display:block;color:var(--muted);font-size:12px}.finance-mini-grid strong{display:block;font-size:18px;margin-top:3px}.danger-text{color:#b91c1c}.dash-details summary{cursor:pointer;font-weight:900;color:var(--brand);list-style:none}.dash-details summary::-webkit-details-marker{display:none}.dash-details summary:after{content:" +";color:var(--muted)}.dash-details[open] summary:after{content:" –"}.mini-line{border-bottom:1px solid var(--line);padding:9px 0}.mini-line:last-child{border-bottom:0}.mini-line strong{display:block;font-size:13px}.mini-line small{display:block;color:var(--muted);font-size:12px;margin-top:2px}@media(max-width:780px){.dashboard-hero-pro{align-items:flex-start;flex-direction:column}.dash-hero-actions{justify-content:flex-start}.dash-hero-copy h2{font-size:28px}.finance-mini-grid{grid-template-columns:1fr}}
.note-box{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:14px;padding:12px 14px;font-size:13px;line-height:1.55}.note-box strong{color:#1e3a8a}

/* V15.0.5 — Dashboard executivo com gráficos dinâmicos e visual menos poluído */
.dashboard-hero-exec{min-height:168px;padding:24px 26px;background:
  radial-gradient(circle at 82% 18%,rgba(255,255,255,.24),transparent 28%),
  linear-gradient(135deg,color-mix(in srgb,var(--brand) 92%,#020617),color-mix(in srgb,var(--accent) 72%,#0f172a));}
.dash-hero-score{position:relative;z-index:1;min-width:146px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:24px;padding:14px 16px;text-align:center;backdrop-filter:blur(10px)}
.dash-hero-score span,.dash-hero-score small{display:block;color:rgba(255,255,255,.76);font-weight:800;font-size:12px}.dash-hero-score strong{display:block;font-size:42px;line-height:1;margin:6px 0;letter-spacing:-.06em}.dash-kpis-exec .kpi b{font-size:28px}.dash-chart-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:16px;margin-bottom:16px}.dash-chart-grid.secondary{grid-template-columns:.8fr 1.2fr}.dash-chart-card{position:relative;overflow:hidden;padding:18px}.dash-chart-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent 42%);pointer-events:none}.dash-chart-card>*{position:relative;z-index:1}.dash-chart-card.featured{min-height:360px}.dash-chart-card.wide{min-height:300px}.chart-box{height:285px;position:relative}.chart-box.small{height:230px}.dash-chart-card canvas{width:100%!important;height:100%!important}.empty-state{padding:18px;border:1px dashed var(--line);border-radius:18px;background:var(--surface-2);color:var(--muted);font-weight:700;text-align:center}.orbit-title{display:flex;justify-content:space-between;gap:8px;align-items:center}.orbit-title small{color:var(--sidebar-muted);font-size:10px;font-weight:800;background:rgba(255,255,255,.08);border-radius:999px;padding:3px 7px}.orbit-warning{display:block;margin-top:8px;color:#fecaca!important}.dashboard-focus-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:1180px){.dash-chart-grid,.dash-chart-grid.secondary{grid-template-columns:1fr}.dash-chart-card.featured,.dash-chart-card.wide{min-height:auto}.chart-box,.chart-box.small{height:260px}.dashboard-focus-grid{grid-template-columns:1fr}.dashboard-hero-exec{flex-direction:column;align-items:flex-start}.dash-hero-score{text-align:left}}

/* V15.0.6 — Acervo Jurídico centralizado e gestão documental */
.acervo-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 92%,#020617),color-mix(in srgb,var(--accent) 72%,#1e293b));}
.acervo-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.acervo-tabs .tab{text-decoration:none}.acervo-template-form .wide{grid-column:1/-1}.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-form select{min-width:220px}.notice.danger{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.notice.ok{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}.badge.ok,.badge.warn{white-space:nowrap}@media(max-width:860px){.inline-form{display:grid}.inline-form select{min-width:0;width:100%}}

/* V15.0.7 — Acervo editável e explicativo */
.acervo-grid{align-items:start}.acervo-grid label small{display:block;color:var(--muted);font-size:11px;font-weight:500;line-height:1.35;margin:4px 0 6px}.acervo-grid textarea{min-height:98px}.acervo-template-layout{grid-template-columns:minmax(420px,.95fr) minmax(520px,1.05fr)}.acervo-template-form textarea[name="body_md"]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:13px;line-height:1.5;min-height:460px}.btn.mini,.mini.btn{font-size:12px;padding:6px 9px;border-radius:9px;display:inline-flex;margin:2px 0}.table-wrap td .inline-delete{display:inline-flex;margin-left:6px}.acervo-hero .kpi small{line-height:1.25}.acervo-tabs .tab.active{background:var(--accent);color:var(--accent-contrast,#fff);border-color:var(--accent)}.acervo-tabs .tab{border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:var(--surface-2);color:var(--text)}
@media(max-width:1180px){.acervo-template-layout{grid-template-columns:1fr}.acervo-template-form textarea[name="body_md"]{min-height:360px}}

/* V15.0.8 — Editor rico e filtros documentais */
.rich-source{display:none!important}.rich-editor{grid-column:1/-1;border:1px solid var(--line);border-radius:18px;background:var(--surface);overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.rich-toolbar{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:10px;border-bottom:1px solid var(--line);background:var(--surface-2)}.rich-toolbar button{padding:7px 10px;border-radius:10px;font-size:12px;box-shadow:none;background:var(--surface)}.rich-canvas{min-height:520px;padding:26px 30px;background:#fff;color:#111827;border-radius:0 0 18px 18px;outline:none;font-family:Georgia,'Times New Roman',serif;font-size:15px;line-height:1.75;box-shadow:inset 0 0 0 1px rgba(15,23,42,.02)}.rich-canvas:focus{box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.rich-canvas h1,.rich-canvas h2,.rich-canvas h3{font-family:Arial,sans-serif;line-height:1.25;margin:18px 0 10px}.rich-canvas p{margin:0 0 12px}.rich-canvas ul,.rich-canvas ol{padding-left:26px}.rich-document-preview{background:#fff;color:#111827;border:1px solid var(--line);border-radius:18px;padding:28px 32px;font-family:Georgia,'Times New Roman',serif;line-height:1.75;white-space:normal}.doc-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:end;margin:10px 0 16px;padding:12px;border:1px solid var(--line);border-radius:18px;background:var(--surface-2)}.doc-filters .btn{align-self:end;text-align:center}.rich-label small{line-height:1.35}@media(max-width:1100px){.doc-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.rich-canvas{min-height:390px;padding:20px}}@media(max-width:720px){.doc-filters{grid-template-columns:1fr}.rich-toolbar{gap:4px}.rich-canvas{font-size:14px;padding:16px}}

/* V15.0.9 — Cadastro Único de Pessoas */
.grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.hero-card{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 92%,#111827),color-mix(in srgb,var(--accent) 72%,#020617));color:#fff;border-radius:28px;padding:24px;margin-bottom:16px;display:flex;justify-content:space-between;gap:18px;align-items:center;box-shadow:0 24px 70px rgba(15,23,42,.22);overflow:hidden;position:relative}.hero-card:after{content:"";position:absolute;right:-60px;top:-70px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.12)}.hero-card.slim{padding:20px}.hero-card h2{margin:4px 0 8px;font-size:28px;letter-spacing:-.04em}.hero-card p{margin:0;color:rgba(255,255,255,.82);max-width:800px}.hero-card .btn{background:#fff;color:#0f172a;border-color:rgba(255,255,255,.2)}.eyebrow{display:inline-flex;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.14);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.section-head h2{margin:0}.pill-soft{display:inline-flex;border-radius:999px;background:color-mix(in srgb,var(--accent) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));padding:5px 9px;font-size:12px;font-weight:800}.filter-actions{display:flex;gap:8px;align-items:end}.empty{color:var(--muted);font-weight:700;text-align:center;padding:22px!important}.note-box{border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--surface));border-radius:18px;padding:14px;color:var(--text)}.js-filter{margin-bottom:12px}.linklike{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--accent)!important;padding:0!important;border-radius:0!important;font-weight:800;cursor:pointer}td form .linklike{display:inline}.inline-form{display:inline-flex;margin:0}.card table input,.card table select{min-width:130px}.card table textarea{min-width:220px}.tab-pane .table-wrap{margin-top:10px}@media(max-width:1180px){.grid.five{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-card{display:block}.hero-card .actions{margin-top:14px}}@media(max-width:760px){.grid.five,.grid.two,.grid.three,.grid.four,.form-grid{grid-template-columns:1fr}.section-head{display:block}.hero-card h2{font-size:22px}}

/* V15.0.11 — Cadastro Único: abas e CRUD em grade */
.notice.info{background:#eff6ff;border-color:#bfdbfe;color:#1e3a8a}
.danger-light{background:#fff1f2!important;border-color:#fecdd3!important;color:#9f1239!important;box-shadow:none!important;padding:7px 10px!important;border-radius:10px!important}
.row-actions{white-space:nowrap;background:var(--surface)}
.tab[aria-selected="true"]{outline:2px solid color-mix(in srgb,var(--brand) 25%,transparent)}
.tab-pane.active{animation:tabFadeIn .16s ease-out}
@keyframes tabFadeIn{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}


/* Menu lateral mais legível, profissional e menos tumultuado */
.sidebar{width:316px;background:linear-gradient(180deg,#0b1220 0%,#111827 54%,#0f172a 100%);border-right:1px solid rgba(255,255,255,.08);box-shadow:18px 0 50px rgba(2,6,23,.18)}
.brand{padding:18px 16px 14px;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent);position:sticky;top:0;z-index:4;backdrop-filter:blur(14px)}
.logo{border-radius:14px;background:linear-gradient(135deg,#38bdf8,#2563eb 52%,#16a34a);box-shadow:0 12px 30px rgba(37,99,235,.32)}
.orbit-box{margin:12px 14px 10px;padding:12px;border:1px solid rgba(255,255,255,.10);border-radius:18px;background:rgba(255,255,255,.055)}
.orbit-box label{color:#cbd5e1;font-size:11px;margin-top:8px}.orbit-box select{background:rgba(15,23,42,.72);border-color:rgba(148,163,184,.25);color:#fff;border-radius:12px;padding:9px 10px}.orbit-box small{display:block;color:#94a3b8;margin-top:6px}
.sidebar-tools{padding:8px 14px 10px}.sidebar-tools button{height:36px;border-radius:12px;background:rgba(15,23,42,.54);border-color:rgba(148,163,184,.18);box-shadow:none}.sidebar-tools button:hover{background:rgba(37,99,235,.20);transform:none}
.nav-search{padding:0 14px 12px}.nav-search input{height:40px;background:rgba(15,23,42,.65);border-color:rgba(148,163,184,.20);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.side-nav{padding:4px 10px 96px}.nav-group{margin:0 0 6px;border-radius:18px}.nav-title{height:42px;border-radius:15px;padding:9px 10px;color:#dbeafe;background:transparent;border:1px solid transparent;font-size:12px;font-weight:900;letter-spacing:.035em;text-transform:uppercase}.nav-title .ico{background:rgba(37,99,235,.16);color:#93c5fd}.nav-title:hover,.nav-group.open>.nav-title{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.08);transform:none}.nav-title .label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-title .chev{font-size:12px;opacity:.78}.nav-items{gap:2px;margin:5px 0 8px 11px;padding-left:9px;border-left:1px solid rgba(148,163,184,.18)}.nav-items a{min-height:34px;padding:8px 10px;border-radius:12px;font-size:13px;color:#cbd5e1;line-height:1.2;background:transparent;border:1px solid transparent}.nav-items a .ico{width:18px;height:18px;background:transparent;color:#64748b}.nav-items a:hover{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.06);transform:none}.nav-items a.active{background:linear-gradient(135deg,rgba(37,99,235,.38),rgba(14,165,233,.18));border-color:rgba(147,197,253,.28);color:#fff;box-shadow:inset 3px 0 0 #60a5fa}.nav-group:not(.open){opacity:.88}.nav-group:not(.open):hover{opacity:1}.sidebar.compact{width:92px}.sidebar.compact .orbit-box{display:none}.sidebar.compact .nav-title{justify-content:center}.sidebar.compact .nav-items{display:none!important}.sidebar.compact .brand{justify-content:center}.sidebar.compact .logo{width:42px;height:42px}
.btn,button{transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .12s ease}.btn:hover,button:hover{box-shadow:0 10px 22px rgba(15,23,42,.09)}.btn.primary,button.primary,.primary{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 72%,#0ea5e9));border-color:transparent;color:#fff}.btn.ghost{background:var(--surface-2);border-color:var(--line)}
.field-error{display:block;color:#b91c1c;font-size:11px;font-weight:800;margin-top:4px}.invalid-field{border-color:#dc2626!important;box-shadow:0 0 0 4px rgba(220,38,38,.12)!important}.cep-hint{font-size:11px;color:var(--muted);font-weight:700;margin-top:4px}.cep-hint.ok{color:#166534}.cep-hint.warn{color:#92400e}.help-text{font-size:12px;color:var(--muted);font-weight:600;line-height:1.35}.word-page{background:#fff;color:#111827;border:1px solid var(--line);border-radius:18px;min-height:760px;padding:42px 54px;box-shadow:0 18px 45px rgba(15,23,42,.08);font-family:Georgia,'Times New Roman',serif;line-height:1.8}.word-page h1,.word-page h2,.word-page h3{font-family:Arial,sans-serif;line-height:1.25}.bi-chart-box{height:360px;position:relative}.calc-result{font-size:24px;font-weight:900;letter-spacing:-.03em}.source-card{border:1px solid var(--line);border-radius:16px;padding:12px;background:var(--surface-2);margin-bottom:10px}.source-card small{display:block;color:var(--muted);margin-top:4px}.timeline-item{border-left:3px solid var(--accent);padding:0 0 12px 14px;margin-left:8px}.timeline-item strong{display:block}.timeline-item small{color:var(--muted)}


/* ============================================================
   BI Administrativo visual
   ============================================================ */
.bi-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;overflow:hidden;position:relative;background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(15,23,42,.02)),var(--surface)}
.bi-hero:after{content:"";position:absolute;right:-80px;top:-90px;width:240px;height:240px;border-radius:999px;background:radial-gradient(circle,rgba(96,165,250,.32),transparent 68%);pointer-events:none}.bi-hero h2{font-size:28px;line-height:1.1;margin:.2rem 0 .55rem}.bi-hero p{max-width:760px;color:var(--muted);font-size:15px}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--accent)}.bi-hero-actions{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}.bi-template-nav h2{margin-bottom:4px}.bi-dashboard-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.bi-pill{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);text-decoration:none;color:var(--text);font-weight:750;font-size:13px;transition:.18s ease}.bi-pill:hover{transform:translateY(-1px);box-shadow:0 10px 25px rgba(15,23,42,.08)}.bi-pill.active{background:linear-gradient(135deg,var(--accent),var(--brand));border-color:transparent;color:white}.bi-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0}.bi-kpi{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow);position:relative;overflow:hidden}.bi-kpi:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.bi-kpi span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.bi-kpi b{display:block;margin:9px 0 4px;font-size:25px;line-height:1;color:var(--text)}.bi-kpi small{display:block;color:var(--muted);line-height:1.35}.bi-charts-grid .card{min-height:360px}.bi-chart-card{display:flex;flex-direction:column}.bi-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.bi-card-head h2{margin:0}.bi-card-head small{color:var(--muted);max-width:320px;text-align:right}.bi-chart-box{position:relative;height:280px;min-height:260px}.bi-insights{display:grid;gap:10px;margin:0;padding-left:18px}.bi-insights li{padding:10px 12px;background:var(--surface-2);border:1px solid var(--line);border-radius:14px}.empty-state{display:flex;align-items:center;justify-content:center;text-align:center;min-height:260px;border:1px dashed var(--line);border-radius:18px;color:var(--muted);background:var(--surface-2);padding:24px}.bi-explorer{border:1px solid rgba(37,99,235,.25)}
@media(max-width:1100px){.bi-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bi-hero{align-items:flex-start;flex-direction:column}.bi-card-head{display:block}.bi-card-head small{text-align:left;display:block;margin-top:6px}}
@media(max-width:640px){.bi-kpi-grid{grid-template-columns:1fr}.bi-hero h2{font-size:23px}.bi-dashboard-pills{gap:8px}.bi-pill{width:100%;justify-content:flex-start}.bi-chart-box{height:240px}.bi-hero-actions .btn{width:100%;justify-content:center}}

/* 15.2.2 — validação operacional e busca inteligente de Pessoas */
.invalid-field input,.invalid-field select,.invalid-field textarea,input.invalid-field,select.invalid-field,textarea.invalid-field{border-color:#dc2626!important;box-shadow:0 0 0 3px rgba(220,38,38,.12)!important;background:#fff7f7!important}.invalid-field span:first-child:after{content:" obrigatório";color:#dc2626;font-size:11px;font-weight:800;margin-left:6px}.missing-fields-notice table td{vertical-align:top}.person-suggestion-panel{display:none;position:relative;z-index:30;margin-top:8px;border:1px solid var(--line,#e2e8f0);border-radius:14px;background:var(--surface,#fff);box-shadow:0 18px 40px rgba(15,23,42,.12);padding:12px;max-height:330px;overflow:auto}.person-suggestion-panel.open{display:block}.person-suggestion{width:100%;display:block;text-align:left;border:1px solid var(--line,#e2e8f0);background:var(--surface-2,#f8fafc);border-radius:12px;margin:8px 0;padding:10px 12px;cursor:pointer}.person-suggestion:hover{border-color:var(--accent,#2563eb);box-shadow:0 8px 22px rgba(37,99,235,.12)}.person-suggestion b{display:block}.person-suggestion small{display:block;color:var(--muted,#64748b);margin-top:2px}.suggestion-empty{padding:10px;border-radius:10px;background:#f8fafc;color:#64748b}.person-lookup-status{margin:8px 0}.cep-status{display:block;margin-top:4px;color:var(--muted,#64748b)}.inline-check{display:flex!important;gap:8px;align-items:flex-start}.inline-check input[type=checkbox]{width:auto;min-width:auto;margin-top:3px}.field-tools{display:flex;gap:8px;align-items:center}.field-tools input{flex:1}

.row-highlight{outline:2px solid rgba(37,99,235,.35);background:rgba(37,99,235,.06)!important;}

/* 15.2.7 — Peças profissionais, cabeçalho do escritório e Visual Law */
.legal-doc-visual{background:#fff;color:#111827;border:1px solid #d9dee8;border-radius:22px;box-shadow:0 18px 50px rgba(15,23,42,.10);max-width:980px;margin:0 auto;padding:0;overflow:hidden;font-family:Georgia,'Times New Roman',serif;counter-reset:page}
.law-letterhead{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;padding:26px 32px 20px;border-bottom:4px solid var(--law-accent,#b08d57);background:linear-gradient(135deg,var(--law-primary,#0f172a),#1e293b);color:#fff;font-family:Arial,sans-serif}
.law-brand{display:flex;align-items:center;gap:16px;min-width:0}.law-brand img{max-width:88px;max-height:72px;object-fit:contain;background:#fff;border-radius:14px;padding:8px}.law-logo-text{width:74px;height:74px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);font-size:24px;font-weight:900;letter-spacing:.04em}.law-brand strong{display:block;font-size:22px;letter-spacing:-.02em}.law-brand span,.law-contact span{display:block;opacity:.88;font-size:12px;line-height:1.4}.law-contact{text-align:right;font-family:Arial,sans-serif;font-size:12px;max-width:360px}.law-contact strong{display:block;margin-bottom:5px}.visual-summary{margin:26px 32px 8px;padding:18px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0;font-family:Arial,sans-serif}.visual-summary h2{margin:0 0 12px;font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:#334155}.visual-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.visual-summary-grid div{border-left:4px solid var(--accent,#64748b);padding:8px 10px;background:#fff;border-radius:12px}.visual-summary-grid small{display:block;color:#64748b;font-weight:700;font-size:10px;text-transform:uppercase}.visual-summary-grid strong{display:block;font-size:13px;line-height:1.35}.legal-body{padding:24px 46px 34px;line-height:1.78;font-size:15.4px}.legal-body h1{font-family:Arial,sans-serif;text-align:center;font-size:20px;text-transform:uppercase;line-height:1.35;margin:18px 0 26px}.legal-body h2{font-family:Arial,sans-serif;font-size:16px;color:#0f172a;border-left:5px solid var(--accent,#64748b);padding:8px 0 8px 12px;background:#f8fafc;border-radius:10px;margin:24px 0 12px}.legal-body h3{font-family:Arial,sans-serif;font-size:14px;margin:18px 0 8px;color:#334155}.legal-body p{text-align:justify;margin:0 0 12px}.legal-body ul,.legal-body ol{margin:8px 0 14px 24px}.visual-callout,.doc-review-note{margin:18px 32px;padding:14px 16px;border-radius:16px;background:#fffbeb;border:1px solid #fde68a;color:#78350f;font-family:Arial,sans-serif}.doc-missing-marker{display:inline-block;padding:2px 8px;border-radius:999px;background:#fee2e2;color:#991b1b;border:1px solid #fecaca;font-weight:800;font-family:Arial,sans-serif}.law-footer{border-top:1px solid #e2e8f0;padding:14px 32px 20px;color:#64748b;font-size:11px;text-align:center;font-family:Arial,sans-serif;background:#f8fafc}.rich-document-preview .legal-doc-visual{box-shadow:none}.word-page .legal-doc-visual{border-radius:0;box-shadow:none;border:0}.word-page .law-letterhead{margin:-42px -54px 24px}.word-page .law-footer{margin:24px -54px -42px}@media print{body{background:#fff!important}.sidebar,.topbar,.doc-actions,.actions,.rich-toolbar{display:none!important}.main{margin:0!important;padding:0!important}.card{box-shadow:none;border:0}.legal-doc-visual{box-shadow:none;border:0;border-radius:0;page-break-after:always}.law-letterhead{print-color-adjust:exact;-webkit-print-color-adjust:exact}.legal-body{font-size:12pt;padding:20mm 22mm}.visual-summary{page-break-inside:avoid}.doc-review-note{page-break-inside:avoid}}@media(max-width:900px){.law-letterhead{display:block}.law-contact{text-align:left;margin-top:14px}.visual-summary-grid{grid-template-columns:1fr}.legal-body{padding:20px}.visual-summary{margin:20px}.word-page .law-letterhead{margin:-20px -20px 20px}.word-page .law-footer{margin:20px -20px -20px}}

/* 15.3.0 — LegalOps Command Center */
.legalops-hero{border:1px solid rgba(15,23,42,.08);background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(241,245,249,.92));}
.today-command-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:16px 0 22px;}
.today-card{display:flex;flex-direction:column;gap:6px;text-decoration:none;background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:14px 16px;box-shadow:0 10px 30px rgba(15,23,42,.05);transition:.18s ease;min-height:112px;}
.today-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(15,23,42,.09);}
.today-card span{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:700;}
.today-card strong{font-size:34px;line-height:1;color:#0f172a;}
.today-card small{color:#64748b;line-height:1.35;}
.today-card.danger{border-color:#fecaca;background:linear-gradient(180deg,#fff,#fff7f7);}
.today-card.danger strong{color:#b91c1c;}
.today-card.warn{border-color:#fde68a;background:linear-gradient(180deg,#fff,#fffaf0);}
.today-card.warn strong{color:#b45309;}
.today-card.info{border-color:#bfdbfe;background:linear-gradient(180deg,#fff,#f8fbff);}
.today-card.info strong{color:#1d4ed8;}
.today-card.score{border-color:#c7d2fe;background:linear-gradient(180deg,#fff,#f8f7ff);}
.inline-actions{display:flex;gap:6px;align-items:center;margin:0;flex-wrap:wrap;}
.btn.tiny,button.tiny{font-size:12px;padding:6px 9px;border-radius:10px;}
.badge.ok{background:#dcfce7;color:#166534;border:1px solid #bbf7d0;}
.badge.warn{background:#fef3c7;color:#92400e;border:1px solid #fde68a;}
.badge.danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;}

/* HTF 15.3.2 — ações padronizadas de saída */
.output-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:.55rem 0}
.output-actions .btn{white-space:nowrap}
.proposal-form textarea{min-height:92px}
.proposal-form label.full{grid-column:1/-1}
.proposal-form .actions.full{grid-column:1/-1}
.document-preview.rich-document-preview{overflow:auto}

/* V15.3.4 — tabelas usáveis: ações visíveis, scrollbar superior e editor documental */
.table-scroll-top{height:18px;overflow-x:auto;overflow-y:hidden;border:1px solid var(--line);border-bottom:0;border-radius:14px 14px 0 0;background:var(--surface-2);margin-bottom:-1px}
.table-scroll-top-inner{height:1px;min-width:100%}
.table-wrap{position:relative;max-width:100%;overscroll-behavior-x:contain}
.table-wrap.with-top-scroll{border-top-left-radius:0;border-top-right-radius:0}
.table-wrap table{min-width:760px}
.table-wrap.has-actions-column th:last-child,.table-wrap.has-actions-column td:last-child{position:sticky;right:0;z-index:3;background:var(--surface);box-shadow:-14px 0 24px rgba(15,23,42,.08);min-width:230px;max-width:340px;white-space:normal}
.table-wrap.has-actions-column th:last-child{z-index:5;background:var(--surface-2)}
.table-wrap.has-actions-column td:last-child .btn,.table-wrap.has-actions-column td:last-child button{margin:2px 3px 2px 0}
.output-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.output-actions.output-actions-compact{max-width:320px}
.table-wrap .output-actions.output-actions-compact{display:grid;grid-template-columns:repeat(2,minmax(96px,1fr));gap:6px;align-items:stretch}
.table-wrap .output-actions.output-actions-compact .btn{padding:8px 9px;border-radius:11px;font-size:12px;text-align:center;white-space:normal;line-height:1.15}
.rich-editor{border:1px solid var(--line);border-radius:18px;background:var(--surface);overflow:hidden;box-shadow:0 10px 28px rgba(15,23,42,.04)}
.rich-toolbar{position:sticky;top:0;z-index:8;display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:10px;background:var(--surface-2);border-bottom:1px solid var(--line)}
.rich-toolbar button{padding:7px 9px;border-radius:10px;box-shadow:none;font-size:12px}
.rich-canvas.word-page{min-height:520px;max-height:76vh;overflow:auto;background:#fff;color:#111827;margin:0 auto;padding:42px;line-height:1.65;font-family:Georgia,'Times New Roman',serif;outline:0}
.rich-source{display:none}
@media (max-width:860px){.table-wrap.has-actions-column th:last-child,.table-wrap.has-actions-column td:last-child{min-width:190px;max-width:240px}.table-wrap .output-actions.output-actions-compact{grid-template-columns:1fr}.rich-canvas.word-page{padding:24px;min-height:420px}}

/* V15.3.5 — UX profissional: botões compactos, ícones, tabelas e pacotes documentais */
:root{
  --ui-primary:#111827;
  --ui-primary-2:#1f2937;
  --ui-accent:#2563eb;
  --ui-accent-soft:#dbeafe;
  --ui-success:#059669;
  --ui-warning:#d97706;
  --ui-danger:#dc2626;
  --ui-card-shadow:0 14px 40px rgba(15,23,42,.07);
}
.card,.panel,.filters{box-shadow:var(--ui-card-shadow)}
.btn,button,.icon-btn{min-height:36px;border-radius:12px;padding:8px 12px;font-weight:800;letter-spacing:-.01em;display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.1;white-space:nowrap;transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.btn:hover,button:hover{box-shadow:0 10px 24px rgba(15,23,42,.10)}
.btn.mini,.btn.tiny,button.tiny,.tiny{min-height:30px;padding:6px 9px;border-radius:10px;font-size:12px;box-shadow:none}
.action-cluster,.output-actions,.doc-actions,.small-actions,.actions,.mini-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.action-btn{min-width:34px;min-height:32px;padding:6px 8px;border-radius:10px;background:var(--surface);border-color:var(--line);box-shadow:none;color:var(--text)}
.action-btn.primary{background:var(--ui-primary);border-color:var(--ui-primary);color:#fff}.action-btn:hover{transform:translateY(-1px);background:var(--surface-2)}.action-btn.primary:hover{background:var(--ui-primary-2)}
.action-ico{width:18px;height:18px;display:inline-grid;place-items:center;border-radius:7px;background:color-mix(in srgb,var(--accent) 11%,transparent);color:var(--accent);font-size:11px;font-weight:950;line-height:1;flex:0 0 auto}.action-btn.primary .action-ico{background:rgba(255,255,255,.16);color:#fff}.action-label{font-size:12px;font-weight:850;max-width:76px;overflow:hidden;text-overflow:ellipsis}.output-actions-compact .action-label{display:none}.output-actions-compact .action-btn{width:34px;padding-inline:0}.output-actions-compact .action-ico{background:transparent;font-size:12px}
td .output-actions,td .action-cluster{flex-wrap:nowrap}.table-wrap.has-actions-column td:last-child,.table-wrap.has-actions-column th:last-child{min-width:154px;width:154px}.table-wrap.has-actions-column td:last-child .btn:not(.action-btn){min-height:30px;padding:6px 8px;font-size:12px}.table-wrap.has-actions-column td:last-child a,.table-wrap.has-actions-column td:last-child button{white-space:nowrap}
.table-wrap{position:relative}.table-wrap table{min-width:max-content}.table-scroll-top{height:14px;overflow-x:auto;overflow-y:hidden;margin:0 0 6px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2)}.table-scroll-top-inner{height:1px}.table-wrap.has-actions-column th:last-child,.table-wrap.has-actions-column td:last-child{position:sticky;right:0;background:var(--surface);z-index:3;box-shadow:-10px 0 16px rgba(15,23,42,.06)}.table-wrap.has-actions-column th:last-child{background:var(--surface-2);z-index:4}
.package-suggestion-card{border-left:4px solid var(--ui-accent)}.package-quick-form{align-items:end}.package-quick-form label{min-width:260px;flex:1}.package-wizard{overflow:hidden}.package-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 18px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--surface-2)}.package-context-grid .wide{grid-column:1/-1}.package-tabs{display:flex;gap:8px;overflow:auto;padding:8px 0 12px;margin-bottom:12px;border-bottom:1px solid var(--line)}.package-tab{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 12px;box-shadow:none;font-size:12px}.package-tab.active{background:var(--ui-primary);color:#fff;border-color:var(--ui-primary)}.package-doc-step{display:none}.package-doc-step.active{display:block}.doc-step-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.doc-step-head h3{margin:6px 0 2px;font-size:20px}.package-editor .rich-toolbar{position:sticky;top:0;z-index:4}.package-confirm{margin-top:18px}.mini-actions{flex-wrap:nowrap}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.eyebrow{display:inline-flex;border-radius:999px;background:var(--ui-accent-soft);color:#1d4ed8;padding:4px 8px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:960px){.package-context-grid{grid-template-columns:1fr}.doc-step-head,.section-head{flex-direction:column}.action-label{display:none}.action-btn{width:34px;padding-inline:0}}


/* 15.3.7 — Dossiês documentais vinculados */
.package-dossier,.package-dossier-detail{border-left:4px solid var(--ui-primary)}
.package-members{border:1px solid var(--line);background:var(--surface-2);border-radius:18px;padding:14px 18px;margin:14px 0 18px}.package-members ol{margin:8px 0 0 20px}.package-members li{padding:5px 0}.package-doc-list{display:grid;gap:12px}.package-doc-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:14px}.package-doc-card h3{margin:6px 0 4px;font-size:17px}.package-doc-actions{display:flex;justify-content:flex-end}.package-status-form{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;align-items:end;border-top:1px dashed var(--line);padding-top:12px}.package-status-form .wide{grid-column:1 / span 2}.package-status-form label{font-size:12px;font-weight:800}.package-status-form input,.package-status-form select{min-height:34px}.package-dossier-detail .output-actions{justify-content:flex-end}.package-doc-main{min-width:0}.package-doc-main .subtle{margin-bottom:0}
@media(max-width:1100px){.package-doc-card,.package-status-form{grid-template-columns:1fr}.package-status-form .wide{grid-column:auto}.package-doc-actions{justify-content:flex-start}}

/* 15.3.8 — Montador profissional de pacotes documentais */
.package-dual-builder .package-context-grid{
  display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin:16px 0 20px;
}
.package-dual-builder .package-context-grid .wide{grid-column:1/-1;}
.docpkg-layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,1fr) minmax(320px,1.2fr);gap:16px;align-items:start;margin:18px 0;}
.docpkg-pane,.docpkg-preview{border:1px solid var(--border,#dbe3ef);background:var(--surface,#fff);border-radius:18px;box-shadow:0 12px 30px rgba(15,23,42,.06);overflow:hidden;}
.docpkg-pane-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:14px 16px;border-bottom:1px solid var(--border,#dbe3ef);background:linear-gradient(180deg,rgba(248,250,252,.9),rgba(255,255,255,.8));}
.docpkg-pane-head h3{margin:.15rem 0 0;font-size:1rem;}
.docpkg-pane-head small{color:var(--muted,#64748b);font-size:.78rem;}
.docpool-list{min-height:240px;max-height:520px;overflow:auto;padding:10px;display:flex;flex-direction:column;gap:10px;}
.docpool-list.drag-over{outline:2px dashed var(--primary,#2563eb);outline-offset:-6px;background:rgba(37,99,235,.05);}
.docpool-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border,#dbe3ef);background:var(--surface,#fff);border-radius:14px;padding:10px 10px 10px 12px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;background-clip:padding-box;}
.docpool-item:hover,.docpool-item.active{border-color:var(--primary,#2563eb);box-shadow:0 8px 18px rgba(37,99,235,.12);}
.docpool-item.dragging{opacity:.55;transform:scale(.98);}
.docpool-main{min-width:0;display:flex;flex-direction:column;gap:3px;}
.docpool-main strong{font-size:.92rem;line-height:1.25;color:var(--text,#0f172a);}
.docpool-main small{font-size:.76rem;color:var(--muted,#64748b);line-height:1.25;}
.docpool-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto;}
.icon-btn{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--border,#dbe3ef);background:var(--surface-muted,#f8fafc);color:var(--text,#0f172a);font-size:.9rem;line-height:1;cursor:pointer;}
.icon-btn:hover{background:var(--primary,#2563eb);border-color:var(--primary,#2563eb);color:#fff;}
.docpkg-preview{position:sticky;top:72px;}
.doc-preview-box{max-height:560px;overflow:auto;margin:0;border:none;border-radius:0;box-shadow:none;background:#fff;}
.package-editors{margin-top:18px;}
.package-doc-step{display:none;margin:16px 0;padding:16px;border:1px solid var(--border,#dbe3ef);border-radius:18px;background:var(--surface,#fff);box-shadow:0 12px 30px rgba(15,23,42,.05);}
.package-doc-step.selected{display:none;}
.package-doc-step.available-hidden{display:none!important;}
.package-doc-step.active{display:block;outline:2px solid rgba(37,99,235,.18);box-shadow:0 16px 36px rgba(37,99,235,.10);}
.package-doc-step .rich-editor{margin-top:10px;}
.package-doc-step .rich-toolbar{position:sticky;top:58px;z-index:4;background:rgba(248,250,252,.97);backdrop-filter:blur(8px);}
.package-confirm{z-index:9;}
@media(max-width:1100px){.docpkg-layout{grid-template-columns:1fr}.docpkg-preview{position:relative;top:auto}.package-dual-builder .package-context-grid{grid-template-columns:1fr}}

/* 15.3.9 — Pacotes documentais semânticos: modelo != pacote */
.package-definition-note{border:1px solid var(--line);border-radius:16px;padding:12px;background:var(--surface-2);color:var(--muted);}
.package-dual-builder .docpkg-pane h3{font-size:1rem;margin:0;}
.package-dual-builder .docpool-item strong::before{content:"📄 ";opacity:.8;}
.package-dual-builder .docpool-item[data-candidate-id^="pkg:"]{border-left:4px solid var(--ui-primary,#2563eb);}
.package-dual-builder .docpool-item[data-candidate-id^="tpl:"]{border-left:4px solid var(--ui-accent,#14b8a6);}
.package-dual-builder .docpkg-preview{border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:14px;position:sticky;top:80px;}
.package-dual-builder .package-editors{border-top:1px dashed var(--line);margin-top:18px;padding-top:14px;}
.inline-form select{max-width:220px;}

/* 15.4.0 — Playbooks Documentais Inteligentes */
.document-command-hero { background: linear-gradient(135deg, rgba(15,23,42,.96), rgba(30,41,59,.92)); color: #fff; }
.doc-central-tabs { display:flex; gap:8px; overflow:auto; padding:8px 0 14px; margin: 0 0 12px; }
.doc-central-tabs a { white-space:nowrap; padding:10px 14px; border-radius:999px; background:#f8fafc; border:1px solid #e2e8f0; color:#334155; text-decoration:none; font-weight:700; font-size:13px; }
.doc-central-tabs a.active { background:#0f172a; color:#fff; border-color:#0f172a; box-shadow:0 8px 24px rgba(15,23,42,.18); }
.doc-metrics .metric-card, .metric-card { background:#fff; border:1px solid #e2e8f0; border-radius:18px; padding:18px; box-shadow:0 12px 32px rgba(15,23,42,.06); }
.metric-card span { display:block; color:#64748b; font-size:12px; text-transform:uppercase; letter-spacing:.04em; font-weight:800; }
.metric-card strong { display:block; font-size:28px; margin-top:6px; color:#0f172a; }
.playbook-grid,.dossier-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; margin-top:16px; }
.playbook-card,.dossier-card { border:1px solid #e2e8f0; border-radius:20px; padding:18px; background:#fff; box-shadow:0 10px 30px rgba(15,23,42,.05); }
.playbook-card h3,.dossier-card h3 { margin:10px 0 6px; font-size:18px; color:#0f172a; }
.playbook-card ul { margin:10px 0; padding-left:18px; color:#475569; font-size:13px; }
.doc-score { min-width:124px; display:inline-flex; flex-direction:column; align-items:flex-start; justify-content:center; border-radius:16px; padding:10px 12px; border:1px solid #e2e8f0; background:#f8fafc; }
.doc-score strong { font-size:24px; line-height:1; }
.doc-score span { font-size:11px; color:#475569; font-weight:700; }
.doc-score.ok { background:#ecfdf5; border-color:#bbf7d0; color:#166534; }
.doc-score.info { background:#eff6ff; border-color:#bfdbfe; color:#1d4ed8; }
.doc-score.warn { background:#fffbeb; border-color:#fde68a; color:#92400e; }
.doc-score.danger { background:#fef2f2; border-color:#fecaca; color:#991b1b; }
.document-readiness-panel { display:flex; flex-wrap:wrap; gap:12px; align-items:center; padding:14px; border:1px solid #e2e8f0; border-radius:18px; background:#f8fafc; margin:12px 0; }
.document-readiness-panel strong { font-size:22px; color:#0f172a; }
.document-readiness-panel span { font-weight:700; color:#334155; }
.document-readiness-panel ul { flex-basis:100%; margin:4px 0 0 18px; color:#475569; }
.case-document-readiness { border-left:5px solid #0f172a; }
.link-card { text-decoration:none; color:inherit; transition:.18s ease; }
.link-card:hover { transform:translateY(-2px); box-shadow:0 16px 36px rgba(15,23,42,.10); }
.form-grid.boxed { border:1px solid #e2e8f0; border-radius:18px; padding:14px; background:#f8fafc; margin-bottom:18px; }
/* 15.4.1 — Central Documental Inteligente canônica */
.cdoc-hero{background:linear-gradient(135deg,rgba(15,23,42,.96),rgba(30,64,175,.78));color:#fff;border:0;overflow:hidden;position:relative}.cdoc-hero:after{content:"";position:absolute;right:-80px;top:-100px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.12)}.cdoc-hero .eyebrow,.cdoc-hero .subtle{color:rgba(255,255,255,.78)}.cdoc-tabs{position:sticky;top:0;z-index:8;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(10px);padding:8px;border:1px solid var(--line);border-radius:18px;margin:12px 0 18px}.cdoc-tabs a{border-radius:12px}.cdoc-shelf{margin:22px 0}.cdoc-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding:6px 4px 16px}.cdoc-card{min-width:270px;max-width:320px;scroll-snap-align:start;background:linear-gradient(180deg,var(--surface),var(--surface-2));border:1px solid var(--line);border-radius:22px;padding:16px;box-shadow:0 16px 42px rgba(15,23,42,.08);display:flex;flex-direction:column;gap:10px;min-height:220px}.cdoc-card h3{margin:0;font-size:1.02rem;line-height:1.25}.cdoc-card p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.45}.cdoc-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.cdoc-score-small{font-weight:800;background:color-mix(in srgb,var(--accent) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:999px;padding:5px 9px;font-size:.78rem}.cdoc-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto}.cdoc-meta small{border:1px solid var(--line);border-radius:999px;padding:4px 8px;color:var(--muted);font-size:.72rem;background:var(--surface)}.cdoc-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.cdoc-card-actions .btn,.cdoc-card-actions button{min-height:30px;padding:6px 9px;font-size:.76rem}.cdoc-card-Playbook\ Documental{border-top:4px solid color-mix(in srgb,var(--accent) 70%,#fff)}.cdoc-card-Dossiê\ Documental{border-top:4px solid #10b981}.cdoc-card-Documento\ Gerado{border-top:4px solid #f59e0b}.cdoc-card-Pendência\ do\ Cliente{border-top:4px solid #ef4444}.cdoc-card-Assinatura{border-top:4px solid #8b5cf6}.doc-score{display:inline-flex;align-items:center;gap:8px;border-radius:16px;border:1px solid var(--line);background:var(--surface-2);padding:8px 10px}.doc-score strong{font-size:1.15rem}.doc-score.ok{border-color:#16a34a;color:#166534}.doc-score.info{border-color:#2563eb;color:#1d4ed8}.doc-score.warn{border-color:#f59e0b;color:#92400e}.doc-score.danger{border-color:#ef4444;color:#991b1b}.dossier-grid,.playbook-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.document-command-hero .action-cluster{position:relative;z-index:2}@media(max-width:900px){.cdoc-card{min-width:240px}.cdoc-tabs{position:relative}.cdoc-rail{padding-bottom:10px}}

/* 15.4.2 — Dossiê editável + Central de Conexões Jurídicas */
.cdoc-context-form{align-items:end;border:1px solid var(--border,#d8dee8);background:var(--surface-2,#f8fafc);padding:16px;border-radius:18px;margin:16px 0}
.doc-dossier-summary{display:grid;grid-template-columns:1fr minmax(160px,220px);gap:16px;align-items:stretch;margin:16px 0}
.dossier-doc-stack{display:grid;gap:18px;margin-top:14px}
.dossier-edit-card{border:1px solid var(--border,#d8dee8);box-shadow:0 10px 30px rgba(15,23,42,.07)}
.dossier-edit-card .rich-editor{min-height:420px}
.dossier-edit-card .word-page{min-height:330px;background:#fff;color:#111827;border-radius:14px;border:1px solid #e5e7eb;padding:28px;line-height:1.65;box-shadow:inset 0 0 0 1px rgba(15,23,42,.03)}
.switch{display:flex!important;align-items:center;gap:8px;font-size:.9rem;color:var(--muted,#64748b);white-space:nowrap}
.switch input{width:auto!important}
.sticky-submit{position:sticky;bottom:12px;z-index:5;display:flex;gap:10px;justify-content:flex-end;background:rgba(248,250,252,.94);backdrop-filter:blur(10px);border:1px solid var(--border,#d8dee8);border-radius:18px;padding:12px;margin-top:18px;box-shadow:0 12px 40px rgba(15,23,42,.12)}
.connections-hero{background:linear-gradient(135deg,rgba(15,23,42,.96),rgba(30,64,175,.88));color:#fff}
.connections-hero .btn{border-color:rgba(255,255,255,.35)}
.list-cards{display:grid;gap:8px;max-height:640px;overflow:auto;padding-right:4px}
.list-card{display:block;border:1px solid var(--border,#d8dee8);border-radius:14px;padding:12px;text-decoration:none;background:var(--surface,#fff);color:inherit;transition:.15s ease}
.list-card:hover,.list-card.active{border-color:var(--primary,#2563eb);box-shadow:0 10px 24px rgba(37,99,235,.12);transform:translateY(-1px)}
.list-card small{display:block;color:var(--muted,#64748b);margin-top:3px}
.badge.success,.badge.ok{background:#dcfce7;color:#166534}.badge.warn{background:#fef3c7;color:#92400e}.badge.danger{background:#fee2e2;color:#991b1b}
@media(max-width:900px){.doc-dossier-summary{grid-template-columns:1fr}.sticky-submit{position:static}.dossier-edit-card .word-page{padding:18px}}

/* 15.4.4 — Central Documental canônica */
.timeline-playbook{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:14px}
.journey-phase{background:rgba(15,23,42,.035);border:1px solid var(--border-color,#e5e7eb);border-radius:16px;padding:14px;min-height:120px}
.journey-phase h4{margin:0 0 10px;font-size:15px;color:var(--text-primary,#0f172a)}
.journey-phase ol{margin:0;padding-left:18px;display:grid;gap:8px}
.journey-phase li strong{display:block;font-size:13px}
.journey-phase li small{display:block;color:var(--text-secondary,#64748b);font-size:11px}
.inner-card{margin-top:16px;background:rgba(255,255,255,.72)}
.playbook-editor-tabs,.dossier-tabs{position:sticky;top:0;z-index:5;background:var(--surface,#fff);padding:8px;border-radius:14px;border:1px solid var(--border-color,#e5e7eb)}
.dossier-edit-card .rich-canvas{min-height:280px}
.package-doc-card form{display:inline-flex;margin:0}
.connections-hero + .subtabs{overflow-x:auto;white-space:nowrap}
.list-card.active{border-color:var(--accent,#2563eb);box-shadow:0 0 0 2px rgba(37,99,235,.12)}
code{white-space:pre-wrap;word-break:break-word}

/* HTF 15.4.6 — Jornada Documental visível */
.journey-workspace{border:1px solid var(--border,#dfe4ea);background:linear-gradient(180deg,#ffffff,#f8fafc)}
.journey-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;align-items:stretch;margin-top:14px}
.journey-board.compact{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.journey-lane{border:1px solid var(--border,#dfe4ea);border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.05);overflow:hidden;min-height:150px}
.journey-lane>header{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 14px;background:linear-gradient(135deg,#eef4ff,#f8fafc);border-bottom:1px solid var(--border,#dfe4ea)}
.journey-lane>header strong{font-size:.95rem;color:#172033}.journey-lane>header span{font-size:.78rem;color:#64748b}
.journey-lane-body{display:flex;flex-direction:column;gap:10px;padding:12px;max-height:420px;overflow:auto}
.journey-empty{font-size:.82rem;color:#94a3b8;border:1px dashed #cbd5e1;border-radius:14px;padding:14px;background:#f8fafc;text-align:center}
.journey-step-card{display:block;width:100%;text-align:left;border:1px solid #e2e8f0;border-radius:16px;background:#fff;padding:12px;color:inherit;text-decoration:none;box-shadow:0 6px 18px rgba(15,23,42,.05);transition:.18s ease}
.journey-step-card:hover{transform:translateY(-1px);border-color:#9ab5ff;box-shadow:0 10px 24px rgba(15,23,42,.09)}
.journey-step-card.as-button{cursor:pointer;font-family:inherit}.journey-step-card h4,.journey-step-card strong{display:block;margin:6px 0 4px;color:#111827;font-size:.95rem}.journey-step-card p,.journey-step-card small{display:block;color:#64748b;font-size:.78rem;line-height:1.35}.journey-step-main{min-width:0}.journey-step-flags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.journey-step-flags span{font-size:.68rem;background:#f1f5f9;border-radius:999px;padding:3px 7px;color:#475569}.journey-step-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:10px}.journey-step-actions form{display:inline;margin:0}.journey-edit-layout{align-items:start}.live-step-preview{position:sticky;top:82px;background:linear-gradient(180deg,#ffffff,#f8fbff);border:1px solid #dbeafe}.live-step-preview h3{margin-top:6px}.doc-dossier-summary{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid #e2e8f0;background:#fff;border-radius:20px;padding:16px;margin:16px 0}.dossier-plan-map{background:#fbfdff}.dossier-edit-card{scroll-margin-top:90px}.dossier-edit-card.focus-pulse{animation:focusPulse 1.6s ease}.muted-card{opacity:.52;filter:saturate(.55)}.empty-state.small{padding:14px;border-radius:14px}.badge.muted{background:#f1f5f9;color:#64748b}.btn.danger{background:#fff1f2;color:#be123c;border-color:#fecdd3}.btn.danger:hover{background:#ffe4e6}@keyframes focusPulse{0%{box-shadow:0 0 0 0 rgba(37,99,235,.35)}70%{box-shadow:0 0 0 12px rgba(37,99,235,0)}100%{box-shadow:0 0 0 0 rgba(37,99,235,0)}}
@media (max-width:900px){.journey-board{grid-template-columns:1fr}.live-step-preview{position:relative;top:auto}.doc-dossier-summary{display:block}.journey-lane-body{max-height:none}}

/* Jornada Documental Guiada e Dossiê Operacional */
.cdoc-mode-grid{margin:14px 0 18px}.cdoc-mode-grid .link-card{min-height:150px}.playbook-guided-editor .guided-steps{margin:0;padding-left:1.2rem;line-height:1.65}.journey-board.compact .journey-lane{min-width:230px}.dossier-operational .doc-metrics{margin:14px 0}.dossier-timeline .journey-phase{border-left:3px solid var(--accent-color,#2E75B6);padding-left:14px;margin:18px 0}.dossier-timeline .package-doc-card{align-items:flex-start}.live-step-preview{position:sticky;top:16px}.cdoc-builder .doc-dossier-summary{display:grid;grid-template-columns:2fr repeat(5,minmax(120px,1fr));gap:12px;margin:16px 0}.cdoc-builder .doc-dossier-summary>div:first-child{background:var(--surface-muted,#f8fafc);border:1px solid var(--border-color,#e2e8f0);border-radius:16px;padding:16px}.cdoc-empty-card{min-width:240px}.inline-form{display:inline-flex;margin:0}.badge.muted,.muted-card{opacity:.62}.focus-pulse{outline:3px solid color-mix(in srgb,var(--accent-color,#2E75B6) 45%,transparent)}
@media(max-width:1100px){.cdoc-builder .doc-dossier-summary{grid-template-columns:1fr 1fr}.live-step-preview{position:relative;top:auto}}

/* 15.4.9 — Campos Faltantes editáveis no Dossiê */
.missing-inline-editor{border:1px solid #dbeafe;background:linear-gradient(180deg,#fff,#f8fbff)}
.cdoc-missing-form{margin-top:12px}.cdoc-missing-form .wide{grid-column:1/-1}
.missing-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin:12px 0}
.missing-field-card{display:flex!important;flex-direction:column;gap:8px;border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:14px;box-shadow:0 8px 22px rgba(15,23,42,.05)}
.missing-field-card span{display:flex;flex-direction:column;gap:4px}.missing-field-card small{color:#64748b;font-size:.78rem;line-height:1.35}.missing-field-card em{font-style:normal;color:#475569;font-size:.76rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:4px 8px;width:max-content;max-width:100%}
.doc-preview-stack{display:grid;gap:16px}.doc-preview-panel{border:1px solid #e2e8f0;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.doc-preview-panel header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.doc-preview-frame{background:#fff;color:#111827;padding:28px;line-height:1.7;max-height:560px;overflow:auto}.btn.success{background:#dcfce7;color:#166534;border-color:#86efac}.btn.success:hover{background:#bbf7d0}
@media(max-width:900px){.doc-preview-panel header{align-items:flex-start;flex-direction:column}.doc-preview-frame{padding:18px}}

/* 15.4.10 — Campos Faltantes previstos sempre visíveis no Dossiê */
.missing-operational-block{border:2px solid #bfdbfe;background:linear-gradient(180deg,#eff6ff 0%,#ffffff 52%);box-shadow:0 18px 48px rgba(30,64,175,.10)}
.missing-operational-block .section-head{align-items:flex-start}.auto-fill-context{background:#f8fbff}.missing-crud-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:12px 14px;margin-top:10px}.missing-crud-toolbar small{color:#64748b}.missing-crud-table td{vertical-align:top}.missing-crud-table input{min-width:180px}.missing-crud-table small,.missing-crud-table em{display:block;margin-top:6px;color:#64748b;font-size:.76rem}.missing-crud-table em{font-style:normal}.missing-crud-row{background:#fff}.missing-crud-row:hover{background:#f8fbff}
@media(max-width:900px){.missing-crud-toolbar{align-items:flex-start;flex-direction:column}.missing-crud-table{min-width:780px}}
/* 15.4.11 — Campos Faltantes unificados no Dossiê */
.missing-resolution-hub{border:2px solid #93c5fd;background:linear-gradient(180deg,#eff6ff 0%,#fff 42%);box-shadow:0 20px 52px rgba(37,99,235,.13)}
.missing-resolution-form{display:block;margin-top:14px}.missing-resolution-form .wide{width:100%}
.missing-field-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin:14px 0}
.missing-field-unit{background:#fff;border:1px solid #dbeafe;border-radius:18px;padding:14px;box-shadow:0 10px 28px rgba(15,23,42,.06);display:flex;flex-direction:column;gap:12px}
.missing-field-unit header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.missing-field-unit h4{margin:7px 0 4px}.missing-field-unit h4 input{font-weight:800;font-size:1rem;border:1px solid #e2e8f0;border-radius:12px;padding:9px 10px;width:100%}
.missing-field-unit small,.missing-field-unit em{color:#64748b;font-style:normal;font-size:.78rem}.missing-field-impact{display:grid;grid-template-columns:auto auto;gap:2px 7px;align-items:baseline;text-align:right;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:8px 10px;min-width:104px}.missing-field-impact strong{font-size:1.05rem}.missing-field-impact span{font-size:.72rem;color:#64748b;text-transform:uppercase;font-weight:700}
.missing-value-input{display:flex!important;flex-direction:column;gap:6px}.missing-value-input span{font-weight:800}.missing-value-input input{font-size:1rem;border-radius:14px;padding:12px}.missing-affected{border:1px solid #e2e8f0;border-radius:14px;padding:9px 11px;background:#f8fafc}.missing-affected summary{cursor:pointer;font-weight:800;color:#334155}.missing-affected ul{margin:10px 0 0;padding-left:18px}.missing-affected li{margin:7px 0}.missing-affected li small{display:block}.missing-field-unit footer{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.missing-apply-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end}.missing-apply-bar small{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:6px 10px}
@media(max-width:760px){.missing-field-board{grid-template-columns:1fr}.missing-field-unit header{display:block}.missing-field-impact{text-align:left;margin-top:10px;width:max-content}.missing-apply-bar{justify-content:flex-start}}


/* 15.4.12 — Lista CRUD explícita de Campos Faltantes no Dossiê */
.missing-resolution-hub{border:1px solid #bfdbfe;background:linear-gradient(180deg,#eff6ff 0%,#fff 48%)}
.missing-crud-list table{min-width:980px}.missing-crud-table th{white-space:nowrap}.missing-crud-table td{vertical-align:top}.missing-field-row label{display:flex!important;flex-direction:column;gap:5px;margin:0}.missing-field-row label span{font-weight:800;color:#334155}.missing-field-row input{width:100%;border-radius:12px;padding:10px 12px}.missing-field-row small{display:block;color:#64748b;margin-top:5px}.missing-field-row details{margin-top:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:8px}.missing-field-row summary{cursor:pointer;font-weight:800}.missing-field-row ul{margin:8px 0 0 18px;padding:0}.missing-field-row li{margin:6px 0}.missing-crud-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0}.missing-crud-toolbar small{display:block;color:#64748b}.missing-fields-notice ul{margin:8px 0 12px 18px}.missing-fields-notice .btn{margin-top:8px}
@media(max-width:860px){.missing-crud-toolbar{display:block}.missing-crud-toolbar .btn{margin-top:10px}.missing-crud-list{overflow-x:auto}}

/* 15.4.13 — HTF Plantão Jurídico */
.plantao-hero{background:linear-gradient(135deg,#101828,#1d4ed8);color:#fff;border-radius:28px;padding:24px;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px;box-shadow:0 22px 70px rgba(15,23,42,.22)}
.plantao-hero h2{margin:6px 0 8px;font-size:30px;letter-spacing:-.04em}.plantao-hero p{max-width:920px}.plantao-hero .subtle{color:#dbeafe}.plantao-hero .btn{background:#fff;color:#10203a;border-color:rgba(255,255,255,.65)}.plantao-hero .btn.primary{background:#22c55e;color:#052e16;border-color:#22c55e}.plantao-case-head{border-left:5px solid #dc2626}.plantao-kpis .kpi{text-decoration:none;color:inherit}.plantao-client-track ol{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;counter-reset:step;list-style:none;padding:0;margin:0}.plantao-client-track li{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:12px 14px;font-weight:800}.plantao-message{border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;padding:12px;margin:10px 0}.plantao-message textarea{margin:8px 0}.timeline-list{display:grid;gap:10px}.timeline-list article{border-left:4px solid var(--accent);background:#f8fafc;border-radius:14px;padding:12px 14px}.timeline-list small{display:block;color:#64748b;margin-top:3px}.plantao-doc-preview{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px;margin-top:10px;max-height:420px;overflow:auto}.doc-print h1{font-size:24px}.inline-check{display:flex!important;flex-direction:row;align-items:center;gap:8px}.inline-check input{width:auto}.plantao-360{border-left:5px solid #2563eb}
@media(max-width:900px){.plantao-hero{display:block}.plantao-hero .actions{margin-top:16px}.plantao-client-track ol{grid-template-columns:1fr}}

/* 15.4.15 — Campos Faltantes CRUD visível e deduplicado */
.missing-resolution-hub{position:relative;border:3px solid #2563eb!important;background:linear-gradient(180deg,#eff6ff 0%,#ffffff 38%)!important;box-shadow:0 24px 70px rgba(37,99,235,.18)!important}
.missing-resolution-hub:before{content:"TELA DE PREENCHIMENTO DOS CAMPOS FALTANTES";display:inline-flex;margin-bottom:10px;padding:6px 12px;border-radius:999px;background:#1d4ed8;color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.08em}
.missing-crud-table th:nth-child(1){min-width:220px}.missing-crud-table th:nth-child(2){min-width:260px}.missing-crud-table th:nth-child(3){min-width:260px}.missing-crud-table th:nth-child(5){min-width:190px}
.missing-crud-table input[name^="field_value"]{font-size:1.04rem;font-weight:700;background:#fffef2;border:2px solid #facc15}
.missing-crud-table input[name^="field_value"]:focus{background:#fff;border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.16)}
.missing-apply-bar{position:sticky;bottom:12px;z-index:8;border:1px solid #bfdbfe;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-radius:18px;padding:12px 14px;margin-top:14px;box-shadow:0 14px 38px rgba(15,23,42,.12)}
.doc-preview-frame mark,.doc-preview-frame .doc-missing-marker{outline:2px solid #ef4444}
