/* Planilha Preditiva — estilos próprios (em cima de /_jev/jev.css) */
:root {
  --ai-tint: rgba(167, 139, 250, .055);
  --ai-tint-2: rgba(167, 139, 250, .1);
  --row-h: 38px;
  --grid-line: rgba(255, 255, 255, .06);
  --sticky-bg: #10121a;
  --head-bg: #121521;
}

/* ---------- layout geral ---------- */
main.pp { padding-top: 14px; padding-bottom: 14px; }
@media (min-width: 761px) and (min-height: 640px) {
  main.pp { height: calc(100vh - var(--topbar-h)); display: flex; flex-direction: column; min-height: 600px; }
  .pp-sheet, .pp-import { flex: 1; min-height: 0; }
  .pp-sheet { display: flex; flex-direction: column; }
  .pp-gridwrap { flex: 1; min-height: 0; }
}

.pp-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin: 0 0 12px; flex-wrap: wrap; }
.pp-hero h1 { font-size: clamp(26px, 3vw, 36px); margin: 0 0 4px; }
.pp-hero p { margin: 0; color: var(--text-muted); font-size: 15px; max-width: 720px; }
.pp-hero p b { color: var(--text); }
.pp-rules { display: flex; gap: 8px; flex-wrap: wrap; }
.pp-rule { display: flex; flex-direction: column; gap: 3px; padding: 7px 11px; border-radius: 12px; background: var(--bg-card); border: 1px solid var(--border); min-width: 150px; }
.pp-rule code { font: 700 12.5px var(--mono); color: #e9d5ff; white-space: nowrap; }
.pp-rule span { font-size: 11.5px; color: var(--text-muted); white-space: nowrap; }
.pp-rule span b { color: var(--text); font-weight: 700; }

/* ---------- abas ---------- */
.pp-tabs { display: flex; gap: 6px; align-items: flex-end; overflow-x: auto; scrollbar-width: none; margin-bottom: -1px; position: relative; z-index: 2; padding-left: 4px; }
.pp-tabs::-webkit-scrollbar { display: none; }
.pp-tab { flex: none; display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; border-radius: 12px 12px 0 0; border: 1px solid var(--border); border-bottom-color: transparent; background: rgba(255,255,255,.025); color: var(--text-muted); font: 700 13.5px var(--font); cursor: pointer; white-space: nowrap; transition: color .15s, background .15s; }
.pp-tab:hover { color: var(--text); background: rgba(255,255,255,.05); }
.pp-tab.active { color: var(--text); background: #14161f; border-color: var(--border-strong); border-bottom-color: #14161f; box-shadow: inset 0 2px 0 0 var(--purple); }
.pp-tab .n { font: 700 11px var(--mono); color: var(--text-dim); padding: 1px 6px; border-radius: 999px; background: rgba(255,255,255,.06); }
.pp-tab .ai-n { font: 800 10.5px var(--font); color: #0a0a0f; background: var(--jev-grad); padding: 1px 7px; border-radius: 999px; }
.pp-tab .x { margin-left: 2px; width: 20px; height: 20px; border-radius: 6px; display: inline-grid; place-items: center; color: var(--text-dim); font-size: 12px; }
.pp-tab .x:hover { background: rgba(239,68,68,.18); color: #fca5a5; }
.pp-tab.imp { color: #a5f3fc; }

/* ---------- cartão da planilha ---------- */
.pp-sheet, .pp-import { background: #14161f; border: 1px solid var(--border-strong); border-radius: 0 16px 16px 16px; padding: 12px; position: relative; }
.pp-bar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.pp-sugs { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; flex: 1; min-width: 0; }
.pp-lbl { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); margin-right: 2px; }
.pp-sugs .jev-chip { min-height: 30px; padding: 4px 10px; font-size: 12.5px; flex: none; }
.pp-sugs .jev-chip .k { opacity: .7; margin-right: 2px; }
.pp-sugs .jev-chip.done { opacity: .5; }
.pp-tools { display: flex; align-items: center; gap: 8px; flex: none; margin-left: auto; }
.pp-search { width: 150px; min-height: 32px; padding: 5px 11px; font-size: 13px; border-radius: 10px; transition: width .2s ease; }
.pp-search:focus, .pp-search:not(:placeholder-shown) { width: 210px; }

/* status / contador ao vivo */
.pp-status { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 6px 18px; padding: 10px 14px; border-radius: 14px; background: linear-gradient(90deg, rgba(167,139,250,.09), rgba(34,211,238,.05)); border: 1px solid rgba(167,139,250,.22); margin-bottom: 10px; overflow: hidden; min-height: 56px; }
.pp-status.idle { background: rgba(255,255,255,.025); border-color: var(--border); }
.pp-status .l1 { font-size: 13.5px; color: var(--text-muted); min-width: 0; }
.pp-status .l1 b { color: var(--text); }
.pp-status .l1 .em { color: #e9d5ff; font-weight: 800; }
.pp-status .l2 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; font-size: 13px; color: var(--text-muted); margin-top: 3px; }
.pp-status .l2 b { font: 800 14px var(--mono); color: var(--text); font-variant-numeric: tabular-nums; }
.pp-status .l2 .big b { font-size: 17px; background: var(--jev-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pp-status .l2 .money b { color: #86efac; }
.pp-status .prog { position: absolute; left: 0; bottom: 0; height: 3px; width: 0; background: var(--jev-grad); box-shadow: 0 0 12px rgba(34,211,238,.6); transition: width .25s ease, opacity .6s ease; }
.pp-status .prog.done { opacity: 0; }
.pp-status .actions { display: flex; align-items: center; gap: 8px; }
.pp-status .tipo-sel { min-height: 32px; padding: 4px 30px 4px 10px; font-size: 12.5px; border-radius: 9px; max-width: 290px; background-color: rgba(0,0,0,.35); }
.pp-status .cta { animation: ctaGlow 2.2s ease-in-out infinite; }
@keyframes ctaGlow { 50% { box-shadow: 0 8px 36px rgba(167,139,250,.55), 0 0 0 4px rgba(167,139,250,.12); } }
.pp-status .erro { color: #fca5a5; }
.pp-status .spin { width: 14px; height: 14px; border-width: 2px; margin-right: 4px; }

.pp-filters { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: -2px 0 10px; font-size: 13px; color: var(--text-muted); }
.pp-filters .jev-chip { min-height: 28px; padding: 3px 10px; font-size: 12px; border-color: rgba(34,211,238,.45); background: rgba(34,211,238,.08); }
.pp-filters .jev-chip i { font-style: normal; opacity: .7; margin-left: 4px; }
.pp-filters b { color: var(--text); font-family: var(--mono); }

/* ---------- grade ---------- */
.pp-gridwrap { position: relative; overflow: auto; border: 1px solid var(--border); border-radius: 12px; background: #0f1118; overscroll-behavior: contain; }
@media (max-width: 760px), (max-height: 639px) { .pp-gridwrap { height: 64vh; min-height: 340px; } }
.pp-grid { border-collapse: separate; border-spacing: 0; table-layout: fixed; font-size: 13px; width: max-content; min-width: 100%; }
.pp-grid th, .pp-grid td { border-bottom: 1px solid var(--grid-line); border-right: 1px solid var(--grid-line); padding: 0 10px; height: var(--row-h); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: left; vertical-align: middle; }
.pp-grid thead th { position: sticky; top: 0; z-index: 3; background: var(--head-bg); height: 82px; font-size: 11px; letter-spacing: .07em; text-transform: uppercase; color: var(--text-muted); font-weight: 800; vertical-align: bottom; padding-bottom: 9px; user-select: none; border-bottom: 1px solid var(--border-strong); }
.pp-grid thead th.src { cursor: pointer; }
.pp-grid thead th.src:hover { color: var(--text); }
.pp-grid .num { text-align: right; font-family: var(--mono); font-variant-numeric: tabular-nums; }
.pp-grid th.rn, .pp-grid td.rn { position: sticky; left: 0; z-index: 2; background: var(--sticky-bg); color: var(--text-dim); font: 600 11.5px var(--mono); text-align: right; padding: 0 8px; }
.pp-grid thead th.rn { z-index: 4; background: var(--head-bg); }
.pp-grid th.first, .pp-grid td.first { position: sticky; left: 44px; z-index: 2; background: var(--sticky-bg); box-shadow: 6px 0 12px -8px rgba(0,0,0,.8); }
.pp-grid thead th.first { z-index: 4; background: var(--head-bg); }
.pp-grid tbody tr { cursor: pointer; }
.pp-grid tbody tr:hover td { background-color: rgba(255,255,255,.035); }
.pp-grid tbody tr:hover td.rn, .pp-grid tbody tr:hover td.first { background-color: #171a25; }
.pp-grid tbody tr.sel td { background-color: rgba(167,139,250,.1); }
.pp-grid tbody tr.sel td.rn, .pp-grid tbody tr.sel td.first { background-color: #1d1a2e; }
.pp-grid td.first { color: var(--text); font-weight: 600; }
.pp-grid td.longo { color: #d4d4dc; }
.pp-grid .stars { color: #fbbf24; letter-spacing: 1px; font-size: 12px; }
.pp-grid .stars i { color: rgba(255,255,255,.14); font-style: normal; }
.pp-grid .muted-cell { color: var(--text-dim); }
.sorti { display: inline-block; margin-left: 4px; color: var(--cyan); font-size: 10px; }

/* colunas IA */
.pp-grid th.ai { background: linear-gradient(180deg, #1b1830, #151527); color: var(--text); text-transform: none; letter-spacing: 0; padding: 0 8px 7px 10px; box-shadow: inset 0 2px 0 0 #a78bfa; }
.pp-grid th.ai.run { box-shadow: inset 0 2px 0 0 #22d3ee; }
.pp-grid th.ai.err { box-shadow: inset 0 2px 0 0 #f87171; }
.pp-grid td.ai { background: var(--ai-tint); }
.aih { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.aih-top { display: flex; align-items: center; gap: 6px; min-width: 0; }
.aih-top { align-items: flex-start; }
.aih-title { font-size: 13.5px; line-height: 1.2; font-weight: 800; color: var(--text); overflow: hidden; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; word-break: break-word; cursor: pointer; min-width: 0; flex: 1; }
.aih-title .spark { font-size: 12px; margin-right: 3px; }
.aih-menu { flex: none; width: 26px; height: 24px; border-radius: 7px; border: 1px solid transparent; background: transparent; color: var(--text-muted); cursor: pointer; font: 800 15px/1 var(--font); }
.aih-menu:hover { border-color: var(--border-strong); color: var(--text); background: rgba(255,255,255,.06); }
.aih-type { display: flex; align-items: center; gap: 6px; font-size: 11px; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aih-type .ty { font-weight: 800; color: #c4b5fd; }
.dist { display: flex; height: 7px; border-radius: 999px; overflow: hidden; background: rgba(255,255,255,.06); gap: 1px; }
.dist span { display: block; height: 100%; min-width: 2px; cursor: pointer; transition: flex-grow .35s ease, opacity .2s; }
.dist span:hover { opacity: .75; }
.dist.empty { background: repeating-linear-gradient(90deg, rgba(255,255,255,.07) 0 6px, transparent 6px 10px); }

/* nova coluna IA */
.pp-grid th.new { background: #12141e; padding: 0 10px 8px; text-transform: none; letter-spacing: 0; }
.newcol { display: flex; align-items: center; gap: 6px; height: 38px; padding: 0 6px 0 10px; border-radius: 10px; border: 1px dashed rgba(167,139,250,.6); background: rgba(167,139,250,.07); transition: border-color .2s, box-shadow .2s, background .2s; }
.newcol:focus-within { border-style: solid; border-color: rgba(167,139,250,.95); box-shadow: 0 0 0 4px rgba(167,139,250,.16); background: rgba(167,139,250,.12); }
.newcol.pulse { animation: newPulse 2.2s ease-in-out infinite; }
@keyframes newPulse { 50% { box-shadow: 0 0 0 5px rgba(167,139,250,.2), 0 0 26px rgba(167,139,250,.35); border-color: rgba(167,139,250,.95); } }
.newcol .plus { font: 900 16px var(--font); background: var(--jev-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.newcol input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--text); font: 700 13.5px var(--font); }
.newcol input::placeholder { color: #b8a7f0; font-weight: 600; opacity: .85; }
.newcol .enter { flex: none; font: 700 10px var(--mono); color: var(--text-dim); border: 1px solid var(--border-strong); border-radius: 5px; padding: 2px 5px; }
.newhint { margin-top: 5px; font-size: 11px; color: var(--text-dim); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; height: 15px; }
.newhint b { color: #a5f3fc; font-weight: 700; }
.pp-grid td.new { background: transparent; border-right: 0; }

/* células IA */
.v { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; vertical-align: middle; }
td.ai.pop .v { animation: cellPop .5s cubic-bezier(.2, .9, .25, 1.25) both; animation-delay: var(--d, 0ms); }
td.ai.pop { animation: cellFlash .75s ease-out forwards; animation-delay: var(--d, 0ms); }
@keyframes cellPop { 0% { opacity: 0; transform: translateY(5px) scale(.82); filter: blur(3px); } 100% { opacity: 1; transform: none; filter: none; } }
@keyframes cellFlash { 0% { background-color: rgba(34,211,238,.24); box-shadow: inset 3px 0 0 #22d3ee; } 100% { background-color: var(--ai-tint); box-shadow: inset 0 0 0 transparent; } }

.pill { position: relative; display: inline-flex; align-items: center; gap: 5px; height: 24px; padding: 0 9px 0 7px; border-radius: 999px; font: 800 12.5px var(--mono); font-variant-numeric: tabular-nums; border: 1px solid transparent; overflow: hidden; }
.pill b { font-family: var(--font); font-size: 12px; width: 14px; text-align: center; }
.pill::after { content: ""; position: absolute; left: 0; bottom: 0; height: 2px; width: calc(var(--p) * 100%); background: currentColor; opacity: .55; }
.pill.yes { color: #6ee7b7; background: rgba(16,185,129,.16); border-color: rgba(16,185,129,.42); box-shadow: 0 0 14px rgba(16,185,129,.18); }
.pill.no { color: #a1a1aa; background: rgba(255,255,255,.035); border-color: rgba(255,255,255,.08); }
.pill.no b { color: #f87171; }
.pill.maybe { color: #fde68a; background: rgba(234,179,8,.12); border-color: rgba(234,179,8,.38); }
.pill.alert.yes { color: #fca5a5; background: rgba(239,68,68,.15); border-color: rgba(239,68,68,.42); box-shadow: 0 0 14px rgba(239,68,68,.15); }
.pill.alert.no b { color: #6ee7b7; }

.sc { display: inline-flex; align-items: center; gap: 8px; width: 100%; min-width: 0; }
.sc-l { font-weight: 800; font-size: 12.5px; color: var(--c); min-width: 0; overflow: hidden; text-overflow: ellipsis; flex: 0 1 auto; }
.sc-b { flex: 1 0 34px; max-width: 62px; height: 6px; border-radius: 999px; background: rgba(255,255,255,.08); overflow: hidden; margin-left: auto; }
.sc-b i { display: block; height: 100%; border-radius: 999px; background: var(--c); box-shadow: 0 0 8px var(--c); }

.tag { display: inline-flex; align-items: center; height: 23px; padding: 0 9px; border-radius: 7px; font-size: 12px; font-weight: 800; border: 1px solid transparent; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.cf { font: 700 10.5px var(--mono); color: var(--text-dim); }
.t-verde { color: #6ee7b7; background: rgba(16,185,129,.14); border-color: rgba(16,185,129,.38); }
.t-vermelho { color: #fca5a5; background: rgba(239,68,68,.14); border-color: rgba(239,68,68,.38); }
.t-ambar { color: #fde68a; background: rgba(234,179,8,.14); border-color: rgba(234,179,8,.38); }
.t-cinza { color: #cbd5e1; background: rgba(148,163,184,.1); border-color: rgba(148,163,184,.28); }
.t-azul { color: #93c5fd; background: rgba(59,130,246,.14); border-color: rgba(59,130,246,.38); }
.t-violeta { color: #ddd6fe; background: rgba(139,92,246,.17); border-color: rgba(139,92,246,.45); }
.t-rosa { color: #fbcfe8; background: rgba(236,72,153,.14); border-color: rgba(236,72,153,.38); }
.t-ciano { color: #a5f3fc; background: rgba(6,182,212,.14); border-color: rgba(6,182,212,.38); }
.t-laranja { color: #fed7aa; background: rgba(249,115,22,.14); border-color: rgba(249,115,22,.38); }
.t-lima { color: #d9f99d; background: rgba(132,204,22,.14); border-color: rgba(132,204,22,.38); }
.t-teal { color: #99f6e4; background: rgba(20,184,166,.14); border-color: rgba(20,184,166,.38); }
.t-indigo { color: #c7d2fe; background: rgba(99,102,241,.17); border-color: rgba(99,102,241,.45); }
.t-fucsia { color: #f5d0fe; background: rgba(217,70,239,.14); border-color: rgba(217,70,239,.38); }

.sk { display: inline-block; width: 70%; height: 10px; border-radius: 6px; background: linear-gradient(90deg, rgba(255,255,255,.05) 0%, rgba(167,139,250,.28) 45%, rgba(34,211,238,.22) 55%, rgba(255,255,255,.05) 100%); background-size: 300% 100%; animation: shimmer 1.1s linear infinite; vertical-align: middle; }
.sk.q { opacity: .35; animation-duration: 2.4s; }
@keyframes shimmer { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } }
.cell-err { color: #fca5a5; font-size: 12px; font-weight: 700; }

/* ---------- menu da coluna ---------- */
.pp-menu { position: fixed; z-index: 80; min-width: 250px; max-width: 320px; max-height: min(460px, 70vh); overflow: auto; padding: 6px; border-radius: 14px; background: #161927; border: 1px solid var(--border-strong); box-shadow: 0 24px 60px rgba(0,0,0,.55); }
.pp-menu h5 { margin: 8px 8px 4px; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--text-dim); font-weight: 800; }
.pp-menu button { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 34px; padding: 6px 10px; border: 0; border-radius: 9px; background: transparent; color: var(--text); font: 600 13px var(--font); text-align: left; cursor: pointer; }
.pp-menu button:hover, .pp-menu button:focus-visible { background: rgba(167,139,250,.14); outline: none; }
.pp-menu button .r { margin-left: auto; font: 700 11.5px var(--mono); color: var(--text-muted); }
.pp-menu button.on { color: #e9d5ff; }
.pp-menu button.on::before { content: "●"; color: var(--purple); font-size: 9px; }
.pp-menu button.danger { color: #fca5a5; }
.pp-menu hr { border: 0; border-top: 1px solid var(--border); margin: 5px 4px; }
.pp-menu .sw { width: 10px; height: 10px; border-radius: 3px; flex: none; }

/* ---------- painel lateral (linha) ---------- */
.pp-panel { position: fixed; top: var(--topbar-h); right: 0; bottom: 0; width: min(440px, 100vw); z-index: 60; background: #0f111a; border-left: 1px solid var(--border-strong); box-shadow: -30px 0 70px rgba(0,0,0,.5); transform: translateX(104%); visibility: hidden; transition: transform .28s cubic-bezier(.2,.8,.2,1), visibility 0s linear .28s; display: flex; flex-direction: column; }
.pp-panel.open { transform: none; visibility: visible; transition: transform .28s cubic-bezier(.2,.8,.2,1), visibility 0s; }
.pp-panel header { display: flex; align-items: center; gap: 8px; padding: 12px 14px; border-bottom: 1px solid var(--border); }
.pp-panel header .t { flex: 1; min-width: 0; }
.pp-panel header .t b { display: block; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pp-panel header .t span { font-size: 12px; color: var(--text-muted); }
.pp-panel .body { flex: 1; overflow: auto; padding: 12px 14px 28px; }
.pp-panel .src { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 6px 12px; font-size: 13px; padding: 10px 12px; border-radius: 12px; background: var(--bg-card); border: 1px solid var(--border); margin-bottom: 14px; }
.pp-panel .src dt { color: var(--text-muted); font-size: 11.5px; font-weight: 700; padding-top: 2px; }
.pp-panel .src dd { margin: 0; color: var(--text); word-break: break-word; white-space: pre-wrap; }
.pp-panel .blk { padding: 12px; border-radius: 14px; border: 1px solid var(--border); background: linear-gradient(180deg, rgba(167,139,250,.06), rgba(255,255,255,.01)); margin-bottom: 10px; }
.pp-panel .blk.hl { border-color: rgba(167,139,250,.55); box-shadow: 0 0 0 1px rgba(167,139,250,.2), 0 14px 40px rgba(124,58,237,.14); }
.pp-panel .blk h4 { display: flex; align-items: center; gap: 8px; margin: 0 0 4px; font-size: 14px; }
.pp-panel .blk .ty { font-size: 11.5px; color: var(--text-muted); margin-bottom: 10px; }
.pp-panel .blk .big { display: flex; align-items: baseline; gap: 10px; margin-bottom: 10px; }
.pp-panel .blk .big b { font: 900 30px/1 var(--mono); }
.pp-panel .blk .big span { color: var(--text-muted); font-size: 13px; }
.pp-panel .blk .foot { margin-top: 10px; font-size: 11.5px; color: var(--text-dim); display: flex; flex-wrap: wrap; gap: 4px 12px; }
.pp-panel .blk .foot b { color: var(--text-muted); font-family: var(--mono); }
.pp-panel .blk .jev-bar { grid-template-columns: minmax(80px, 42%) 1fr 48px; }
.pp-panel .none { color: var(--text-dim); font-size: 13px; padding: 10px 2px; }

/* ---------- importação ---------- */
.pp-import { overflow: auto; }
.imp-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 20px; }
@media (max-width: 980px) { .imp-grid { grid-template-columns: 1fr; } }
.imp-grid h3 { font-size: 18px; margin-bottom: 6px; }
.imp-grid p { color: var(--text-muted); font-size: 14px; }
.drop { position: relative; border-radius: 14px; transition: box-shadow .2s; }
.drop.over { box-shadow: 0 0 0 3px rgba(34,211,238,.6); }
.drop textarea { min-height: 190px; font: 13px/1.5 var(--mono); }
.imp-row { display: flex; gap: 8px; flex-wrap: wrap; margin: 10px 0 14px; }
.imp-fields { display: grid; grid-template-columns: 1fr 1.4fr; gap: 10px; margin-bottom: 14px; }
@media (max-width: 560px) { .imp-fields { grid-template-columns: 1fr; } }
.imp-info { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.imp-prev { border: 1px solid var(--border); border-radius: 12px; overflow: auto; max-height: 420px; }
.imp-prev table { border-collapse: collapse; font-size: 12.5px; width: max-content; min-width: 100%; }
.imp-prev th, .imp-prev td { padding: 6px 10px; border-bottom: 1px solid var(--grid-line); max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: left; }
.imp-prev th { position: sticky; top: 0; background: var(--head-bg); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--text-muted); }
.imp-empty { padding: 40px 20px; text-align: center; color: var(--text-dim); }

/* ---------- responsivo ---------- */
@media (max-width: 1180px) { .pp-rules { display: none; } }
@media (max-width: 760px) {
  .pp-hero { margin-bottom: 10px; }
  .pp-hero p { font-size: 14px; }
  .pp-bar { display: block; }
  .pp-sugs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; width: auto; }
  .pp-tools { margin-top: 8px; }
  .pp-sugs::-webkit-scrollbar { display: none; }
  .pp-sugs .pp-lbl { display: none; }
  .pp-tools { width: 100%; margin-left: 0; }
  .pp-tools .pp-search, .pp-tools .pp-search:focus { flex: 1; width: auto; }
  .pp-status { grid-template-columns: 1fr; padding: 10px 12px; }
  .pp-status .actions { flex-wrap: wrap; }
  .pp-status .tipo-sel { max-width: 100%; }
  .pp-sheet, .pp-import { border-radius: 0 14px 14px 14px; padding: 10px; }
  .pp-grid th.first, .pp-grid td.first { position: static; box-shadow: none; }
  .pp-panel { top: 0; z-index: 95; }
}
