.sp { display: grid; gap: 20px; }
.sp .kv-msg { margin: 0; }
.sp-work { display: grid; gap: 18px; }

.sp-file { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
.sp-file p { margin: 0; }
.sp-file-name { font-weight: 700; font-size: 1.08rem; overflow-wrap: anywhere; }

.sp-panel { display: grid; gap: 14px; justify-items: start; }
.sp-panel > p { margin: 0; }
.sp-pick-bar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 20px; width: 100%; }
.sp-pick-tools { display: flex; flex-wrap: wrap; gap: 2px; }
.sp-range { width: min(100%, 320px); max-width: none; font-size: 1.05rem; }
.sp-range[aria-invalid='true'] { border-color: var(--err); }
.sp-number { width: 110px; font-size: 1.1rem; font-weight: 700; }
.sp-modes { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.sp-done { margin: 0; color: var(--muted); font-weight: 600; }
.sp-done:empty { display: none; }

/* Grade de páginas */
.sp-pages {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
}
.sp-page button {
  position: relative; display: grid; gap: 6px; justify-items: center; width: 100%;
  padding: 8px; border: 2px solid var(--line); border-radius: 10px; background: var(--surface);
  font: inherit; color: var(--ink); cursor: pointer;
}
.sp-page button:hover { border-color: var(--ink); }
.sp-thumb { width: 100%; aspect-ratio: 3 / 4; display: grid; place-items: center; background: var(--sunken); border-radius: 4px; overflow: hidden; }
.sp-thumb canvas { max-width: 100%; max-height: 100%; box-shadow: 0 0 0 1px var(--line); background: #fff; }
.sp-num { font-size: 0.9rem; font-weight: 650; }
.sp-check {
  position: absolute; top: 6px; right: 6px; width: 26px; height: 26px; border-radius: 50%;
  border: 2px solid var(--ink); background: var(--surface); display: grid; place-items: center;
}
.sp-check svg { width: 14px; height: 14px; opacity: 0; }
.sp-page button[aria-pressed='true'] { border-color: var(--ink); background: var(--kit-soft); box-shadow: 4px 4px 0 var(--kit); }
.sp-page button[aria-pressed='true'] .sp-check { background: var(--ink); }
.sp-page button[aria-pressed='true'] .sp-check svg { opacity: 1; }
/* No modo "Separar", a grade só mostra as páginas (sem seleção) */
.sp-pages.is-readonly button { cursor: default; }
.sp-pages.is-readonly .sp-check { display: none; }
.sp-pages.is-readonly button[aria-pressed='true'] { background: var(--surface); box-shadow: none; border-color: var(--line); }
