/* SVJ meeting document: on-screen A4 preview + print-only sheet. */
html.sp-open { overflow: hidden; }
.sp-overlay { position: fixed; inset: 0; z-index: 200; overflow: auto; background: rgba(6, 10, 18, .92); backdrop-filter: blur(6px); padding: 20px 14px 60px; font-family: Manrope,'Manrope Fallback','Manrope Fallback Roboto',Inter, system-ui, sans-serif; }
.sp-bar { position: sticky; top: 0; z-index: 2; max-width: 794px; margin: 0 auto 16px; display: grid; gap: 8px; padding: 16px 18px; border-radius: 16px; background: linear-gradient(165deg, #1b2740, #111a2c); border: 1px solid rgba(201, 169, 98, .45); color: #e9edf3; box-shadow: 0 20px 50px -20px rgba(0, 0, 0, .9); }
.sp-bar label { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: #e2c685; }
.sp-bar input { min-height: 44px; padding: 0 12px; border-radius: 10px; border: 1px solid rgba(255, 255, 255, .2); background: rgba(8, 12, 20, .6); color: #fff; font: 15px Manrope,'Manrope Fallback','Manrope Fallback Roboto',Inter, system-ui, sans-serif; }
.sp-bar-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.sp-btn { min-height: 46px; padding: 0 18px; border-radius: 12px; border: 1px solid rgba(233, 237, 243, .3); background: transparent; color: #e9edf3; font: 800 14px Manrope,'Manrope Fallback','Manrope Fallback Roboto',Inter, system-ui, sans-serif; cursor: pointer; }
.sp-btn--gold { border: 0; color: #16181c; background: linear-gradient(160deg, #f4e4b8, #c9a962 55%, #9a7a3d); box-shadow: 0 12px 28px -12px rgba(201, 169, 98, .7); }
.sp-btn:focus-visible, .sp-bar input:focus-visible { outline: 2px solid #fff3c4; outline-offset: 2px; }
.sp-hint { margin: 0; font-size: 12.5px; color: #a9b1bc; }

.sp-wrap { max-width: 794px; margin: 0 auto; }
.sp-sheet { background: #fff; color: #1d2330; font: 12.5px/1.55 Manrope,'Manrope Fallback','Manrope Fallback Roboto',Inter, system-ui, sans-serif; padding: 40px 46px; border-radius: 6px; box-shadow: 0 30px 80px -30px rgba(0, 0, 0, .9); }
.sp-head { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-bottom: 16px; border-bottom: 2px solid #c9a962; }
.sp-brand { display: flex; align-items: center; gap: 12px; }
.sp-brand img { width: 58px; height: 58px; border-radius: 50%; object-fit: cover; object-position: center top; border: 1px solid #c9a962; }
.sp-brand b { display: block; font: 700 22px 'Playfair Display','Playfair Fallback','Playfair Fallback Times','Playfair Fallback Noto',Georgia, serif; letter-spacing: 3px; color: #111a2c; }
.sp-brand span { display: block; font-size: 9.5px; letter-spacing: 2.4px; text-transform: uppercase; color: #9a7a3d; }
.sp-meta { text-align: right; display: grid; gap: 2px; font-size: 11px; color: #5a6270; }
.sp-meta b { color: #111a2c; font-size: 12px; }
.sp-title { padding: 20px 0 6px; }
.sp-kicker { margin: 0 0 4px; font-size: 11px; letter-spacing: 2.4px; text-transform: uppercase; color: #9a7a3d; font-weight: 700; }
.sp-title h1 { margin: 0 0 8px; font: 600 26px/1.15 'Playfair Display','Playfair Fallback','Playfair Fallback Times','Playfair Fallback Noto',Georgia, serif; color: #111a2c; }
.sp-lead { margin: 0; color: #4a5260; }
.sp-sec { margin-top: 18px; break-inside: avoid; }
.sp-sec h2 { margin: 0 0 8px; font: 600 15px 'Playfair Display','Playfair Fallback','Playfair Fallback Times','Playfair Fallback Noto',Georgia, serif; color: #111a2c; padding-bottom: 4px; border-bottom: 1px solid #e8dcc0; }
.sp-tab { width: 100%; border-collapse: collapse; }
.sp-tab td { padding: 5px 0; border-bottom: 1px solid #f0ead9; vertical-align: top; }
.sp-tab td:last-child { text-align: right; font-weight: 700; white-space: nowrap; padding-left: 14px; }
.sp-tab tr.sp-total td { border-top: 1.5px solid #1d2330; border-bottom: 0; font-weight: 800; color: #111a2c; }
.sp-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.sp-card { border: 1px solid #e4dccb; border-radius: 10px; padding: 12px 14px; }
.sp-card--gold { border-color: #c9a962; background: #fbf7ec; }
.sp-card h3 { margin: 0 0 6px; font-size: 12.5px; letter-spacing: .4px; color: #111a2c; }
.sp-saving { display: flex; justify-content: space-between; align-items: center; margin-top: 10px; padding: 10px 14px; border-radius: 10px; background: #111a2c; color: #f4e4b8; }
.sp-saving b { font: 700 18px 'Playfair Display','Playfair Fallback','Playfair Fallback Times','Playfair Fallback Noto',Georgia, serif; color: #fff3c4; }
.sp-note { margin: 6px 0 0; font-size: 10.5px; color: #6a7280; }
/* Věta k biocidu H-BIO (čl. 72 odst. 1 nařízení (EU) č. 528/2012, úkol 13): jasně odlišená a čitelná. */
.sp-note.sp-bpr { margin-top: 8px; padding-left: 7px; border-left: 2px solid #1d2733; font-size: 11.5px; font-weight: 600; color: #1d2733; }
.sp-steps, .sp-flow { margin: 0; padding: 0; list-style: none; display: grid; gap: 5px; }
.sp-steps li { display: grid; grid-template-columns: 30px 1fr; gap: 8px; }
.sp-steps b { font: 700 14px 'Playfair Display','Playfair Fallback','Playfair Fallback Times','Playfair Fallback Noto',Georgia, serif; color: #9a7a3d; }
.sp-flow { counter-reset: f; }
.sp-flow li { counter-increment: f; padding-left: 26px; position: relative; }
.sp-flow li::before { content: counter(f); position: absolute; left: 0; top: 0; width: 18px; height: 18px; border-radius: 50%; background: #c9a962; color: #111a2c; font-size: 10.5px; font-weight: 800; display: grid; place-items: center; }
.sp-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; }
.sp-item b { display: block; color: #111a2c; }
.sp-item p { margin: 2px 0 0; color: #4a5260; }
.sp-guarantee { margin-top: 16px; padding: 10px 14px; border-radius: 10px; background: #f6efdc; border-left: 4px solid #c9a962; break-inside: avoid; }
.sp-resolution { border: 1px dashed #c9a962; border-radius: 10px; padding: 12px 14px; }
.sp-resolution p { margin: 0 0 6px; }
.sp-sign { display: grid; grid-template-columns: 2fr 1fr 1.5fr; gap: 14px; margin-top: 22px; }
.sp-sign span { border-top: 1px solid #1d2330; padding-top: 4px; font-size: 10.5px; color: #4a5260; }
.sp-foot { margin-top: 20px; padding-top: 12px; border-top: 2px solid #c9a962; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; font-size: 11px; color: #4a5260; break-inside: avoid; }
.sp-foot b { display: block; color: #111a2c; }
.sp-foot span { display: block; }
.sp-claim { grid-column: 1 / -1; margin: 4px 0 0; text-align: center; font: italic 600 14px 'Playfair Display','Playfair Fallback','Playfair Fallback Times','Playfair Fallback Noto',Georgia, serif; color: #9a7a3d; }
@media (max-width: 640px) {
  .sp-sheet { padding: 24px 18px; }
  .sp-cols, .sp-grid, .sp-foot { grid-template-columns: 1fr; }
  .sp-head { flex-direction: column; align-items: flex-start; }
  .sp-meta { text-align: left; }
}

@media print {
  @page { size: A4; margin: 12mm; }
  html.sp-open body > *:not(.sp-overlay) { display: none !important; }
  html.sp-open .sp-overlay { position: static !important; overflow: visible !important; background: #fff !important; padding: 0 !important; backdrop-filter: none !important; }
  html.sp-open .sp-bar { display: none !important; }
  html.sp-open .sp-wrap { max-width: none; }
  html.sp-open .sp-sheet { box-shadow: none; border-radius: 0; padding: 0; }
  html.sp-open, html.sp-open body { background: #fff !important; }
  .sp-sheet * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
