/**
 * Dizajnové tokeny a spoločné štýly portálu (dashboard, detail, landing).
 * Brandová farba je prepísateľná cez inline --mp-brand z nastavení.
 */
:root {
	--mp-brand: #EF7D00;
	--mp-brand-dark: #C85E00;
	--mp-brand-soft: #F7C08A;
	--mp-ink: #17181A;
	--mp-paper: #F6F5F4;
	--mp-panel: #FFFFFF;
	--mp-mist: #ECEBEE;
	--mp-line: rgba(23, 24, 26, .14);
	--mp-line-soft: rgba(23, 24, 26, .08);
	--mp-muted: rgba(23, 24, 26, .6);
	--mp-radius: 16px;
	--mp-ease: cubic-bezier(.22, .61, .36, 1);
	--mp-font-d: 'Bricolage Grotesque', system-ui, sans-serif;
	--mp-font-b: 'Inter', system-ui, sans-serif;
	/* Stavy ponúk — zámerne odlíšené od brandovej oranžovej. */
	--mp-s-draft: #8A938E;
	--mp-s-ready: #EF7D00;
	--mp-s-sent: #2F6DB0;
	--mp-s-open: #2E7D5B;
	--mp-s-upd: #1F8A7A;
	--mp-s-exp: #B4483C;
	--mp-ok: #2E7D5B;
	--mp-err: #B4483C;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
body.mojaponuka {
	font-family: var(--mp-font-b);
	color: var(--mp-ink);
	background: var(--mp-paper);
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}
/* Šírka portálu: plynulá — využije celý monitor, strop pre ultraširoké obrazovky
   (--mp-sirka, predvolene 1720 px); stránky s formulárom si strop znížia inline
   cez style="--mp-sirka:…". Okraje rastú s oknom (clamp), na mobile 16 px. */
:root { --mp-sirka: 1720px; --mp-okraj: clamp(16px, 2.5vw, 48px); }
.mp-app { max-width: var(--mp-sirka); width: 100%; box-sizing: border-box; margin: 0 auto; padding: 24px var(--mp-okraj) 70px; }

/* Horná lišta */
.mp-topbar { display: flex; align-items: center; justify-content: space-between; max-width: var(--mp-sirka); box-sizing: border-box; margin: 0 auto; padding: 22px var(--mp-okraj) 0; }
.mp-brand { display: flex; align-items: center; gap: 10px; font-family: var(--mp-font-d); font-weight: 800; font-size: 18px; letter-spacing: -.02em; color: var(--mp-ink); text-decoration: none; }
.mp-brand .mark { width: 26px; height: 26px; border-radius: 8px; background: var(--mp-brand); position: relative; overflow: hidden; }
.mp-brand .mark::before { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, transparent 40%, var(--mp-brand-soft) 41%, var(--mp-brand) 58%, transparent 59%); }
.mp-userchip { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--mp-muted); }
.mp-userchip a { color: var(--mp-brand); text-decoration: none; font-weight: 600; }
/* Avatar + meno = odkaz na úpravu profilu (nenápadný, meno vo farbe textu). */
.mp-userchip a.mp-userlink { display: inline-flex; align-items: center; gap: 10px; color: var(--mp-muted); font-weight: 400; }
.mp-userchip a.mp-userlink:hover { color: var(--mp-brand); }
.mp-avatar { width: 32px; height: 32px; border-radius: 50%; background: var(--mp-brand); color: #fff; display: grid; place-items: center; font-family: var(--mp-font-d); font-weight: 700; font-size: 13px; }

/* Nadpisy a tlačidlá */
.mp-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
h1.mp-h1 { font-family: var(--mp-font-d); font-weight: 800; letter-spacing: -.02em; font-size: 30px; }
.mp-head p { color: var(--mp-muted); font-size: 14px; margin-top: 2px; }
.mp-crumb { font-size: 13px; color: var(--mp-muted); margin-bottom: 8px; }
.mp-crumb a { color: var(--mp-brand); text-decoration: none; }

/* Holé odkazy v obsahu portálu (bez triedy) — brandový štýl namiesto modrého
   podčiarknutého defaultu prehliadača. Tlačidlá a komponentové odkazy majú
   vlastné triedy, toto pravidlo sa ich nedotkne. */
.mp-app a:not([class]) { color: var(--mp-brand-dark); font-weight: 600; text-decoration: none; }
.mp-app a:not([class]):hover { color: var(--mp-brand); text-decoration: underline; text-underline-offset: 2px; }

.mp-btn { font-family: var(--mp-font-b); font-weight: 600; font-size: 14px; padding: 11px 18px; border-radius: 999px; border: 1px solid transparent; cursor: pointer; transition: transform .2s var(--mp-ease), box-shadow .2s var(--mp-ease), background .2s, border-color .2s; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; text-decoration: none; color: inherit; }
.mp-btn-primary { background: var(--mp-brand); color: #fff; }
.mp-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 12px 22px -12px rgba(239, 125, 0, .7); }
.mp-btn-primary:disabled { opacity: .55; cursor: not-allowed; transform: none; box-shadow: none; }
.mp-btn-ghost { background: var(--mp-mist); color: var(--mp-brand); }
.mp-btn-outline { background: #fff; color: var(--mp-ink); border-color: var(--mp-line); }
.mp-btn-outline:hover:not(:disabled) { border-color: rgba(23, 24, 26, .32); background: #FAFAFA; transform: translateY(-1px); box-shadow: 0 10px 20px -14px rgba(23, 24, 26, .45); }
.mp-btn-outline:active:not(:disabled) { transform: translateY(0) scale(.98); box-shadow: none; }
.mp-btn-outline:disabled { opacity: .55; cursor: not-allowed; }
/* Hover sivých (ghost) tlačidiel — doteraz nemali žiadny (Martin, 2026-09-15): teplý oranžový
   podklad s jemným rámom, tlačidlo sa o 1 px nadvihne s mäkkým tieňom; stlačenie ho vráti
   späť a o kúsok zmenší. Klávesnica: oranžový prstenec. Vypnuté tlačidlá bez efektu. */
.mp-btn-ghost:hover:not(:disabled) { background: #FFF1E0; border-color: rgba(239, 125, 0, .45); color: var(--mp-brand); transform: translateY(-1px); box-shadow: 0 10px 20px -12px rgba(239, 125, 0, .55); }
.mp-btn-ghost:active:not(:disabled), .mp-btn-primary:active:not(:disabled) { transform: translateY(0) scale(.98); box-shadow: none; transition-duration: .08s; }
.mp-btn-ghost:disabled { opacity: .55; cursor: not-allowed; }
.mp-btn:focus-visible { outline: 2px solid rgba(239, 125, 0, .5); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .mp-btn, .mp-btn:hover, .mp-btn:active { transform: none !important; transition: background .2s, border-color .2s, color .2s; } }

/* Štatistiky */
.mp-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 22px; }
.mp-stat { background: var(--mp-panel); border: 1px solid var(--mp-line-soft); border-radius: 14px; padding: 16px 18px; }
.mp-stat .v { font-family: var(--mp-font-d); font-weight: 800; font-size: 26px; letter-spacing: -.02em; }
.mp-stat .l { font-size: 12.5px; color: var(--mp-muted); margin-top: 2px; }
.mp-stat.accent .v { color: var(--mp-brand); }
.mp-stat.ok .v { color: var(--mp-s-open); }

/* Toolbar so search + filtrami */
.mp-toolbar { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 16px; }
.mp-search { flex: 1; min-width: 200px; position: relative; }
.mp-search input { width: 100%; padding: 11px 14px 11px 38px; border: 1px solid var(--mp-line); border-radius: 11px; background: #fff; font-family: var(--mp-font-b); font-size: 14px; }
.mp-search input:focus { outline: none; border-color: var(--mp-brand); box-shadow: 0 0 0 4px rgba(239, 125, 0, .1); }
.mp-search::before { content: "\2315"; position: absolute; left: 13px; top: 50%; transform: translateY(-50%); color: var(--mp-muted); font-size: 17px; }
.mp-filters { display: flex; gap: 7px; flex-wrap: wrap; }
.mp-chip { font-size: 13px; font-weight: 600; padding: 8px 13px; border-radius: 999px; border: 1px solid var(--mp-line); background: #fff; color: var(--mp-muted); cursor: pointer; transition: .15s; text-decoration: none; }
/* Aktívny filter: svetlá šedá namiesto čiernej (Martinova voľba). */
.mp-chip.active { background: var(--mp-mist); color: var(--mp-ink); border-color: var(--mp-line); }
.mp-chip:hover:not(.active) { border-color: var(--mp-brand); color: var(--mp-brand); }

/* Tabuľka ponúk */
.mp-table { background: var(--mp-panel); border: 1px solid var(--mp-line-soft); border-radius: var(--mp-radius); overflow: hidden; }
/* Počas ťahania sa orezanie vypne, inak zaoblenie tabuľky odstrihne nadvihnutý riadok aj jeho tieň. */
.mp-table.mp-taham-tabulka { overflow: visible; }
.mp-thead, .mp-trow { display: grid; grid-template-columns: 2.4fr 1fr 1.2fr 1fr minmax(max-content, 1.8fr); gap: 14px; align-items: center; padding: 14px 20px; }
.mp-thead { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--mp-muted); font-weight: 700; background: var(--mp-mist); }
.mp-trow { border-top: 1px solid var(--mp-line-soft); transition: background .15s; }
.mp-trow:hover { background: rgba(239, 125, 0, .03); }
.mp-oname { font-family: var(--mp-font-d); font-weight: 700; font-size: 15px; letter-spacing: -.01em; color: var(--mp-ink); text-decoration: none; }
.mp-osub { font-size: 12px; color: var(--mp-muted); margin-top: 1px; }
.mp-cell-lbl { display: none; }

/* Stavové badge */
.mp-badge { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; padding: 5px 11px; border-radius: 999px; background: var(--mp-mist); white-space: nowrap; max-width: 100%; }
.mp-badge .d { width: 7px; height: 7px; border-radius: 50%; flex: 0 0 auto; }
/* Pilulka stavu sa NIKDY nelomí na dva riadky (Martin, 2026-09-15: „zelený tag je zdeformovaný") — dlhý text sa skráti s …. */
.mp-badge .t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mp-b-rozpracovana { color: var(--mp-s-draft); } .mp-b-rozpracovana .d { background: var(--mp-s-draft); }
.mp-b-pripravena { color: var(--mp-s-ready); background: rgba(239, 125, 0, .1); } .mp-b-pripravena .d { background: var(--mp-s-ready); }
.mp-b-odoslana { color: #245C99; background: rgba(47, 109, 176, .14); } .mp-b-odoslana .d { background: var(--mp-s-sent); }
.mp-b-otvorena { color: var(--mp-s-open); background: rgba(46, 125, 91, .12); } .mp-b-otvorena .d { background: var(--mp-s-open); }
.mp-b-aktualizovana { color: var(--mp-s-upd); background: rgba(31, 138, 122, .12); } .mp-b-aktualizovana .d { background: var(--mp-s-upd); }
.mp-b-expirovana { color: var(--mp-s-exp); background: rgba(180, 72, 60, .1); } .mp-b-expirovana .d { background: var(--mp-s-exp); }

/* PIN */
.mp-pin { display: inline-flex; align-items: center; gap: 8px; }
.mp-pin code { font-family: var(--mp-font-d); font-weight: 800; letter-spacing: .1em; font-size: 15px; background: var(--mp-ink); color: var(--mp-brand-soft); padding: 4px 9px; border-radius: 7px; }
.mp-pin .cp { border: none; background: none; cursor: pointer; color: var(--mp-muted); font-size: 13px; padding: 2px 4px; border-radius: 5px; }
.mp-pin .cp:hover { color: var(--mp-brand); }
.mp-pin.none code { background: var(--mp-mist); color: var(--mp-muted); letter-spacing: 0; font-family: var(--mp-font-b); font-weight: 500; font-size: 12px; }

/* Akcie v riadku */
.mp-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.mp-act { border: 1px solid var(--mp-line); background: #fff; border-radius: 9px; padding: 7px 9px; font-size: 12.5px; font-weight: 600; color: var(--mp-ink); cursor: pointer; transition: .15s; display: inline-flex; align-items: center; gap: 5px; text-decoration: none; }
.mp-act:hover { border-color: var(--mp-brand); color: var(--mp-brand); }

/* Karty a formuláre */
.mp-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 22px; align-items: start; }
.mp-card { background: var(--mp-panel); border: 1px solid var(--mp-line-soft); border-radius: var(--mp-radius); padding: 24px; }
.mp-card + .mp-card { margin-top: 18px; }
.mp-card h2 { font-family: var(--mp-font-d); font-weight: 700; font-size: 17px; letter-spacing: -.01em; margin-bottom: 4px; display: flex; align-items: center; gap: 9px; }
.mp-card h2 .n { width: 22px; height: 22px; border-radius: 7px; background: var(--mp-mist); color: var(--mp-brand); font-size: 12px; font-weight: 800; display: grid; place-items: center; font-family: var(--mp-font-b); }
.mp-card .hint { font-size: 13px; color: var(--mp-muted); margin-bottom: 16px; }
.mp-field { margin-bottom: 16px; }
.mp-field label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 7px; }
.mp-field .row { display: flex; gap: 10px; }
.mp-field .note { font-size: 12px; color: var(--mp-muted); margin-top: 7px; }
.mp-prefix { padding: 0 12px; border: 1px solid var(--mp-line); border-radius: 11px; background: var(--mp-mist); font-family: var(--mp-font-b); font-size: 14px; color: var(--mp-ink); font-weight: 600; min-width: 112px; }
.mp-input, input.mp-input, textarea.mp-input { width: 100%; padding: 12px 14px; border: 1px solid var(--mp-line); border-radius: 11px; background: #fff; font-family: var(--mp-font-b); font-size: 15px; color: var(--mp-ink); transition: border-color .2s, box-shadow .2s; }
.mp-input:focus, .mp-prefix:focus { outline: none; border-color: var(--mp-brand); box-shadow: 0 0 0 4px rgba(239, 125, 0, .12); }
textarea.mp-input.code { font-family: ui-monospace, monospace; font-size: 13px; }

/* Prispôsobiteľný <select> (Chrome/Edge 135+, appearance: base-select): rozbaľovací zoznam v štýle
   portálu — zaoblený panel s tieňom, riadky s odsadením, zvolený oranžový, jemné rozbalenie
   s animáciou a otáčajúca sa šípka. Ostatné prehliadače ostávajú pri natívnom zozname
   (Martin, 2026-09-14: „tieto selecty nie sú pekné… vieme tam dať nejakú animáciu?"). */
@supports (appearance: base-select) {
	select.mp-input, select.mp-input::picker(select) { appearance: base-select; }
	/* display musí byť flex, inak sa text a šípka ukladajú pod seba — !important prebije aj
	   inline style="display:inline-block" na selectoch v šablónach (Martin, 2026-09-15: „rozpadol sa select"). */
	select.mp-input { display: inline-flex !important; align-items: center; gap: 8px; cursor: pointer; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.wz-calcnote select.wz-splatka { gap: 4px; }
	select.mp-input > selectedcontent, select.mp-input > option:checked { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	select.mp-input::picker-icon { color: var(--mp-muted); transition: rotate .2s ease; }
	select.mp-input:open::picker-icon { rotate: 180deg; }
	select.mp-input::picker(select) {
		margin-top: 6px; padding: 6px; border: 1px solid var(--mp-line-soft); border-radius: 12px;
		background: #fff; box-shadow: 0 14px 36px rgba(23, 24, 26, .16), 0 2px 6px rgba(23, 24, 26, .06);
		/* Dlhý zoznam: tenký nenápadný posuvník namiesto systémového (Martin: „keď je tam slider, je to škaredé"). */
		max-height: 320px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(23, 24, 26, .22) transparent; scrollbar-gutter: stable;
		opacity: 0; transform: translateY(-6px) scale(.98); transform-origin: top center;
		transition: opacity .16s ease, transform .18s cubic-bezier(.2, .8, .3, 1.15), overlay .18s allow-discrete, display .18s allow-discrete;
	}
	select.mp-input:open::picker(select) { opacity: 1; transform: none; }
	@starting-style {
		select.mp-input:open::picker(select) { opacity: 0; transform: translateY(-6px) scale(.98); }
	}
	select.mp-input option { padding: 8px 12px; border-radius: 8px; font-family: var(--mp-font-b); font-size: 14px; color: var(--mp-ink); cursor: pointer; transition: background-color .12s; }
	select.mp-input option:hover, select.mp-input option:focus-visible { background: rgba(239, 125, 0, .10); outline: none; }
	select.mp-input option:checked { background: var(--mp-brand); color: #fff; font-weight: 600; }
	select.mp-input option::checkmark { display: none; }
	@media (prefers-reduced-motion: reduce) {
		select.mp-input::picker(select) { transition: none; }
		select.mp-input::picker-icon { transition: none; }
	}
}

/* PIN box na detaile */
/* Svetlý box s heslom (Martin, 2026-09-03: „toto nech nie je čierne"). */
.mp-pinbox { display: flex; align-items: center; justify-content: space-between; gap: 14px; background: var(--mp-mist); color: var(--mp-ink); border: 1px solid var(--mp-line-soft); border-radius: 13px; padding: 16px 18px; margin-bottom: 8px; }
.mp-pinbox .lbl { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--mp-muted); }
.mp-pinbox .code { font-family: var(--mp-font-d); font-weight: 800; font-size: 28px; letter-spacing: .14em; color: var(--mp-brand-dark); }
.mp-pinbox .code[data-copy-pin] { cursor: pointer; display: inline-block; padding: 2px 8px; margin: -2px -8px; border-radius: 9px; transition: background .18s ease, color .18s ease; }
.mp-pinbox .code[data-copy-pin]:hover { background: rgba(239, 125, 0, .1); color: var(--mp-brand); }
.mp-pinbox .code[data-copy-pin]:focus-visible { outline: 2px solid var(--mp-brand); outline-offset: 2px; }
.mp-pinbox .code[data-copy-pin].is-copied { background: rgba(76, 192, 138, .16); color: #1E7B45; }
/* PIN na dashboarde produktovej ponuky: bez tlačidla, kopíruje dvojklik na číslo (Martin, 2026-09-10). */
.mp-pin .code[data-copy-pin] { cursor: pointer; padding: 2px 8px; margin: -2px -8px; border-radius: 9px; transition: background .18s ease, color .18s ease; }
.mp-pin .code[data-copy-pin]:hover { background: rgba(239, 125, 0, .1); color: var(--mp-brand); }
.mp-pin .code[data-copy-pin]:focus-visible { outline: 2px solid var(--mp-brand); outline-offset: 2px; }
.mp-pin .code[data-copy-pin].is-copied { background: rgba(76, 192, 138, .16); color: #1E7B45; }
.mp-pinmeta { font-size: 12px; color: var(--mp-muted); display: flex; align-items: center; gap: 7px; }

/* Náhľad SMS (telefón) */
.mp-phone { background: var(--mp-mist); border: 1px solid var(--mp-line-soft); border-radius: 20px; padding: 18px; max-width: 320px; margin: 0 auto; }
.mp-phone .bar { display: flex; justify-content: space-between; font-size: 11px; color: var(--mp-muted); margin-bottom: 12px; }
.mp-bubble { background: #fff; border: 1px solid var(--mp-line-soft); border-radius: 5px 16px 16px 16px; padding: 13px 15px; font-size: 14px; line-height: 1.45; box-shadow: 0 6px 16px -12px rgba(23, 24, 26, .5); }
.mp-bubble .sender { font-size: 11px; font-weight: 700; color: var(--mp-brand); margin-bottom: 5px; letter-spacing: .02em; }
.mp-bubble .kod { font-weight: 700; }
.mp-smsfoot { display: flex; justify-content: space-between; font-size: 12px; color: var(--mp-muted); margin-top: 12px; }

/* Stav doručenia */
.mp-steps { list-style: none; margin-top: 6px; }
.mp-steps li { display: flex; gap: 13px; padding: 12px 0; border-bottom: 1px solid var(--mp-line-soft); align-items: center; } /* krúžok na stred dvojriadkového textu (Martin, 2026-09-06) */
.mp-steps li:last-child { border-bottom: none; }
.mp-steps .dot { width: 24px; height: 24px; border-radius: 50%; flex: 0 0 auto; display: grid; place-items: center; font-size: 12px; line-height: 1; font-weight: 800; color: #fff; background: var(--mp-line); }
.mp-steps li.done .dot { background: var(--mp-ok); }
.mp-steps li.active .dot { background: var(--mp-brand); box-shadow: 0 0 0 5px rgba(239, 125, 0, .16); }
.mp-steps .t { font-weight: 600; font-size: 14px; }
.mp-steps .m { font-size: 12.5px; color: var(--mp-muted); }
.mp-idline { font-size: 12px; color: var(--mp-muted); margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--mp-line); }
.mp-idline code { background: var(--mp-mist); padding: 2px 7px; border-radius: 6px; font-size: 12px; }

.mp-privacy { display: flex; gap: 10px; align-items: flex-start; background: rgba(46, 125, 91, .08); border: 1px solid rgba(46, 125, 91, .22); border-radius: 11px; padding: 12px 14px; font-size: 12.5px; margin-top: 4px; }
.mp-alert { border-radius: 11px; padding: 12px 14px; font-size: 13.5px; margin: 10px 0; display: none; }
.mp-alert.err { background: rgba(180, 72, 60, .1); border: 1px solid rgba(180, 72, 60, .3); color: var(--mp-err); display: block; }
.mp-alert.ok { background: rgba(46, 125, 91, .1); border: 1px solid rgba(46, 125, 91, .3); color: var(--mp-ok); display: block; }
/* Neutrálna hláška (napr. „prevzatie zrušené") — bez druhu ostáva box skrytý. */
.mp-alert.info { background: var(--mp-mist); border: 1px solid var(--mp-line); color: var(--mp-muted); display: block; }

/* Modal (text e-mailu) */
.mp-modal { position: fixed; inset: 0; background: rgba(23, 24, 26, .5); display: none; place-items: center; z-index: 100; padding: 20px; }
.mp-modal.open { display: grid; }
.mp-modal .inner { background: #fff; border-radius: var(--mp-radius); padding: 24px; max-width: 640px; width: 100%; max-height: 85vh; overflow: auto; }
.mp-modal pre { white-space: pre-wrap; font-family: var(--mp-font-b); font-size: 14px; background: var(--mp-mist); border-radius: 11px; padding: 14px; margin: 12px 0; }

/* Okno e-mailu klientovi (dashboard): e-mail sa upravuje priamo v náhľade — nový štandard (Martin, 2026-09-19), vzor dz-okno-email. */
.mp-modal .inner.mp-email-okno { max-width: 700px; }
.mp-email-okno-hlava { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.mp-email-okno-hlava h2 { flex: 1; margin: 0; }
.mp-email-okno select.mp-input { margin-bottom: 6px; }
.mp-email-okno-frame { margin-top: 8px; border: 1px solid var(--mp-line-soft); border-radius: 10px; overflow: hidden; background: #f2f0ed; }
.mp-email-okno-frame iframe { width: 100%; min-height: 320px; height: 320px; border: 0; display: block; background: #fff; }
.mp-email-okno-akcie { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 8px; }

/* Landing */
.mp-hero { text-align: center; padding: 70px 20px 40px; max-width: 820px; margin: 0 auto; }
.mp-hero .kicker { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--mp-brand); background: rgba(239, 125, 0, .1); padding: 7px 14px; border-radius: 999px; margin-bottom: 22px; }
.mp-hero h1 { font-family: var(--mp-font-d); font-weight: 800; letter-spacing: -.03em; font-size: clamp(34px, 6vw, 56px); line-height: 1.06; margin-bottom: 18px; }
.mp-hero h1 em { font-style: normal; color: var(--mp-brand); }
.mp-hero p.lead { font-size: 17px; color: var(--mp-muted); max-width: 560px; margin: 0 auto 30px; }
.mp-features { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; max-width: 980px; margin: 40px auto; padding: 0 20px; }
.mp-feature { background: var(--mp-panel); border: 1px solid var(--mp-line-soft); border-radius: var(--mp-radius); padding: 24px; text-align: left; }
.mp-feature .ic { width: 40px; height: 40px; border-radius: 12px; background: rgba(239, 125, 0, .12); color: var(--mp-brand); display: grid; place-items: center; font-size: 18px; margin-bottom: 14px; }
.mp-feature h3 { font-family: var(--mp-font-d); font-weight: 700; font-size: 16.5px; margin-bottom: 6px; }
.mp-feature p { font-size: 13.5px; color: var(--mp-muted); }
.mp-partners { text-align: center; padding: 30px 20px 70px; }
.mp-partners .lbl { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--mp-muted); font-weight: 700; margin-bottom: 16px; }
.mp-partners .marks { display: flex; gap: 34px; justify-content: center; flex-wrap: wrap; font-family: var(--mp-font-d); font-weight: 700; font-size: 17px; color: var(--mp-ink); opacity: .75; }

/* Sim „dorovnanie krytia" na landingu */
.mp-cover-sim { max-width: 460px; margin: 34px auto 0; background: var(--mp-panel); border: 1px solid var(--mp-line-soft); border-radius: var(--mp-radius); padding: 22px; text-align: left; }
.mp-cover-sim .row { display: flex; justify-content: space-between; font-size: 13px; color: var(--mp-muted); margin-bottom: 7px; }
.mp-cover-sim .track { height: 14px; border-radius: 999px; background: var(--mp-mist); overflow: hidden; margin-bottom: 16px; }
.mp-cover-sim .fill { height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--mp-brand-dark), var(--mp-brand)); width: 0; transition: width 1.6s var(--mp-ease); }

/* ===== Fullscreen volič typu poistenia (nová ponuka, „obrazovka 0") ===== */
body.tc-open { overflow: hidden; }
/* Topbar ostáva NAD voličom — obchodník sa vie kedykoľvek vrátiť na
   zoznam ponúk či inam (JS pri otvorení voliča skroluje na vrch). */
body.tc-open .mp-topbar { position: relative; z-index: 80; }
.tc-overlay { position: fixed; inset: 0; z-index: 70; background: linear-gradient(160deg, #FFF8F0 0%, var(--mp-paper) 55%, #F1EDE9 100%); overflow-y: auto; display: flex; align-items: flex-start; justify-content: center; padding: 110px 20px 40px; }
.tc-inner { width: 100%; max-width: 1400px; text-align: center; }
.tc-overlay .mp-h1 { font-size: clamp(32px, 5vw, 46px); letter-spacing: -0.03em; }
.tc-sub { color: var(--mp-muted); font-size: 17px; margin: 10px 0 30px; }
.tc-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 24px; }
/* Karta produktu podľa Stitchu: biela, 16px radius, 3D ikona 96 px,
   hover = oranžový okraj + jemný tieň + nádych oranžovej plochy. */
.tc-tile { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; padding: 24px; min-height: 230px; background: #FFFFFF; border: 1px solid #E3E2E1; border-radius: 16px; cursor: pointer; font-family: inherit; transition: border-color .2s var(--mp-ease), box-shadow .2s var(--mp-ease); }
.tc-tile::after { content: ''; position: absolute; inset: 0; border-radius: inherit; background: rgba(239, 125, 0, .05); opacity: 0; transition: opacity .2s; pointer-events: none; }
.tc-tile:hover { border-color: var(--mp-brand); box-shadow: 0 4px 20px rgba(0, 0, 0, .06); }
.tc-tile:hover::after { opacity: 1; }
.tc-tile-icon { width: 96px; height: 96px; display: flex; align-items: center; justify-content: center; font-size: 56px; line-height: 1; }
.tc-tile-icon img { width: 100%; height: 100%; object-fit: contain; border-radius: 12px; }
.tc-tile-label { font-family: var(--mp-font-d); font-size: 21px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.3; color: var(--mp-ink); text-wrap: balance; }
.tc-tile-sub { color: var(--mp-muted); font-size: 13.5px; margin-top: -8px; }
/* Skupiny voliča: Generálne / Vlastné / Zdieľané produkty. */
.tc-group { margin-top: 34px; text-align: left; }
.tc-group:first-of-type { margin-top: 6px; }
.tc-group-title { font-family: var(--mp-font-d); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--mp-muted); margin: 0 0 14px; display: flex; align-items: center; gap: 12px; }
.tc-group-title::after { content: ''; flex: 1; height: 1px; background: var(--mp-line-soft); }
.tc-summary-icon img { width: 34px; height: 34px; object-fit: contain; border-radius: 8px; }
.tc-back { border: 1px solid var(--mp-line-soft); background: #FFFFFF; border-radius: 999px; padding: 4px 12px; cursor: pointer; font-family: inherit; font-size: 12.5px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--mp-ink); }
.tc-back:hover { border-color: var(--mp-brand); color: var(--mp-brand); }
/* Zvolený typ nad formulárom — pill so zmenou. */
.tc-summary { display: flex; align-items: center; gap: 14px; }
.tc-summary-icon { font-size: 30px; line-height: 1; }
.tc-summary > div { flex: 1; }
.tc-summary b { font-family: var(--mp-font-d); font-size: 16px; }

/* ===== Interaktívna scéna analýzy potrieb ===== */
.sc-wrap { position: relative; background: linear-gradient(#EAF2F8 0%, #F3F7FA 70%, #E3EBDD 70%); border: 1px solid var(--mp-line-soft); border-radius: var(--mp-radius); overflow: hidden; margin-bottom: 16px; }
.sc-legend { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; padding: 12px 16px; background: rgba(255, 255, 255, .8); border-bottom: 1px solid var(--mp-line-soft); font-size: 12.5px; font-weight: 600; }
.sc-key { display: inline-flex; align-items: center; gap: 6px; color: var(--mp-muted); }
.sc-key i { width: 12px; height: 12px; border-radius: 4px; display: inline-block; }
.sc-key.budova i { background: #C85E00; }
.sc-key.vedlajsia i { background: #2F6DB0; }
.sc-key.domacnost i { background: #2E7D5B; }
.sc-key.cennosti i { background: #7C4DBE; }
.sc-key.tip { margin-left: auto; color: var(--mp-brand); }
/* Presúvateľné karty na detaile ponuky (rozloženie per používateľ). */
.mp-col { min-height: 60px; }
.mp-col .mp-card .mp-drag-handle { cursor: grab; user-select: none; }
.mp-col .mp-card.dragging { opacity: .45; outline: 2px dashed var(--mp-brand); outline-offset: 2px; }
.mp-col.dragover { outline: 2px dashed rgba(239, 125, 0, .45); outline-offset: 4px; border-radius: 14px; }

/* Overovací druhý prechod: ✓ potvrdené / poznámka o nezhode s návrhom. */
.wz-verified { color: #2E7D5B; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.wz-verify-note { margin-top: 6px; padding: 6px 10px; border-radius: 8px; background: var(--mp-mist, #ECEBEE); font-size: 12px; }
.wz-verify-note.bad { background: #FBEAE7; border-left: 3px solid #B4483C; }
.wz-verify-note .wz-editbtn { position: static; display: inline-block; margin-left: 6px; width: auto; height: auto; padding: 2px 10px; border-radius: 999px; }
/* Stav mechanickej kontroly citátu z VPP — vidí ho LEN obchodník pri príprave ponuky
   (Martin, 2026-09-09: klientovi sa to neukazuje, rozhoduje obchodník). */
.wz-citat { font-size: 11.5px; font-weight: 600; padding: 1px 7px; border-radius: 999px; }
/* Výstraha aj štítok citátu majú vlastný riadok pod názvom kritéria (Martin, 2026-09-22). */
.wz-krit-note { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; margin-top: 4px; }
.wz-citat.ok { color: #2E7D5B; background: #E6F6EC; }
.wz-citat.bad { color: #B4483C; background: #FBEAE7; }
.wz-citaty { margin-top: 8px; font-size: 12.5px; color: var(--mp-muted); }
.wz-citaty.bad { color: #B4483C; }

/* Varovania limitov v kroku 3 + prepočítané % limity. */
.wz-limitwarns { margin: 10px 0 4px; }
.wz-limitwarn { background: #FDF3E7; border: 1px solid #F0C48C; border-left: 4px solid #EF7D00; border-radius: 8px; padding: 8px 12px; font-size: 13px; margin-bottom: 6px; cursor: pointer; transition: background .15s; }
.wz-limitwarn:hover { background: #FBE6CE; }
/* Červené podsvietenie riadku, na ktorý upozornenie ukazuje. */
.wz-row-flash { animation: wz-flash-red 2.4s ease-in-out 1; }
.wz-row-flash td { animation: wz-flash-red 2.4s ease-in-out 1; }
@keyframes wz-flash-red { 0%, 100% { background: transparent; box-shadow: none; } 15%, 60% { background: #FBEAE7; box-shadow: inset 3px 0 0 #B4483C; } }
.wz-limit-eur { font-weight: 700; color: #C85E00; }

.sc-panel { position: relative; }
.sc-panel img { display: block; width: 100%; height: auto; }
/* Titulok scény pri skupinách s viacerými fotkami — overlay, aby nemenil
   geometriu panelu (hotspoty aj editor rátajú % z rozmeru panelu). */
.sc-caption { position: absolute; top: 10px; left: 10px; z-index: 5; pointer-events: none; background: rgba(255, 255, 255, .92); padding: 6px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 700; color: var(--mp-muted); box-shadow: 0 1px 4px rgba(0, 0, 0, .12); }
/* Šípky carouselu — skupina s viacerými fotkami ich prepína na krajoch fotky. */
.sc-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 6; width: 38px; height: 38px; border: none; border-radius: 50%; background: var(--mp-brand); color: #fff; font-size: 24px; font-weight: 800; line-height: 1; display: grid; place-items: center; cursor: pointer; box-shadow: 0 2px 8px rgba(0, 0, 0, .22); opacity: .92; transition: opacity .15s, background .15s; padding: 0 0 3px; }
.sc-nav:hover { opacity: 1; background: var(--mp-brand-dark); }
.sc-nav.prev { left: 10px; }
.sc-nav.next { right: 10px; }
.sc-scene { position: absolute; inset: 0; width: 100% !important; height: 100% !important; display: block; }
.sc-part { cursor: pointer; fill: rgba(255, 255, 255, .03); stroke: rgba(255, 255, 255, .8); stroke-width: .4; stroke-dasharray: 1.4 1; transition: fill .15s, stroke .15s; vector-effect: non-scaling-stroke; }
.sc-part.info { cursor: help; }
/* Sýta výplň s vysokou nepriehľadnosťou + biely podsvit okraja: zvýraznenie
   vyzerá rovnako na svetlých aj tmavých miestach fotografie. */
.sc-part:hover,
.sc-part.hl { fill: rgba(239, 125, 0, .52); stroke: #EF7D00; stroke-width: 2.2; stroke-dasharray: none; filter: drop-shadow(0 0 4px rgba(255, 255, 255, .9)); }
.sc-part.on { fill: rgba(239, 125, 0, .34); stroke: #EF7D00; stroke-width: 1.8; stroke-dasharray: none; filter: drop-shadow(0 0 3px rgba(255, 255, 255, .75)); }
.sc-part.on:hover { fill: rgba(239, 125, 0, .58); }
.sc-missing { padding: 40px 26px; text-align: center; font-size: 14px; color: var(--mp-muted); }
.sc-missing code { background: var(--mp-mist); padding: 2px 8px; border-radius: 6px; }
.sc-editor { padding: 14px 16px 16px; background: #FFF6EC; border-top: 1px solid var(--mp-line-soft); font-size: 12.5px; }
.sc-editor-form { display: grid; grid-template-columns: 2fr 1fr; gap: 10px 14px; margin: 12px 0 10px; }
.sc-editor-form label span { display: block; font-size: 11.5px; font-weight: 700; color: var(--mp-muted); margin-bottom: 4px; }
.sc-editor-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.sc-editor-actions .mp-btn { padding: 7px 13px; font-size: 12.5px; }
.sc-editor-status { margin-top: 10px; font-weight: 700; color: var(--mp-brand); min-height: 18px; }
.sc-editor-filter { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 12px; color: var(--mp-muted); cursor: pointer; }
/* Klik na hotspot číselného poľa: pole sa na chvíľu rozsvieti, aby bolo vidieť, kam sa zadáva. */
.wz-item-blik { box-shadow: 0 0 0 3px rgba(239, 125, 0, .35); border-radius: 10px; transition: box-shadow .3s; }

/* Editor: kreslenie naživo, výber tvaru, ťahacie body. */
.sc-wrap.editing .sc-panel { cursor: crosshair; user-select: none; }
.sc-part.sel { fill: rgba(47, 109, 176, .25); stroke: #2F6DB0; stroke-width: .8; stroke-dasharray: none; }
.sc-draft { fill: rgba(239, 125, 0, .16); stroke: #EF7D00; stroke-width: .8; stroke-dasharray: 2 1.2; vector-effect: non-scaling-stroke; pointer-events: none; }
.sc-handles { position: absolute; inset: 0; pointer-events: none; z-index: 20; }
.sc-handle { position: absolute; width: 13px; height: 13px; border-radius: 50%; transform: translate(-50%, -50%); background: #EF7D00; border: 2px solid #fff; box-shadow: 0 1px 5px rgba(0, 0, 0, .4); }
.sc-handle.drag { pointer-events: auto; cursor: grab; background: #2F6DB0; }
.sc-handle.drag:active { cursor: grabbing; }
.sc-tooltip { position: absolute; z-index: 30; max-width: 300px; background: var(--mp-ink); color: #fff; border-radius: 12px; padding: 12px 14px; font-size: 13px; line-height: 1.45; box-shadow: 0 14px 30px -14px rgba(23, 24, 26, .6); pointer-events: none; }
.sc-tooltip strong { display: block; font-family: var(--mp-font-d); font-size: 14.5px; margin: 4px 0 4px; }
.sc-tooltip p { margin: 0; color: rgba(255, 255, 255, .85); }
.sc-tooltip em { display: block; margin-top: 7px; font-style: normal; font-size: 11.5px; color: var(--mp-brand-soft); }
.sc-cat { display: inline-block; font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; }
.sc-cat.budova { background: #C85E00; }
.sc-cat.vedlajsia { background: #2F6DB0; }
.sc-cat.domacnost { background: #2E7D5B; }
.sc-cat.cennosti { background: #7C4DBE; }
.wz-substeps { display: flex; gap: 8px; flex-wrap: wrap; margin: 4px 0 16px; }
.wz-substep { border: 1px solid var(--mp-line); background: #fff; border-radius: 999px; padding: 9px 16px; font-family: var(--mp-font-b); font-size: 13.5px; font-weight: 600; color: var(--mp-muted); cursor: pointer; transition: .15s; }
.wz-substep.active { background: var(--mp-brand); color: #fff; border-color: var(--mp-brand); }

/* Riadok zoznamu klientov je klikací (karta klienta): kurzor ruka a jemné podfarbenie. */
tr.mp-row-link { cursor: pointer; transition: background-color .12s; }
tr.mp-row-link:hover { background: rgba(239, 125, 0, .05); }
tr.mp-row-link .mp-row-akcie { cursor: default; }

/* Prezentačný režim „lampáš" (assets/js/lampas.js): tma s osvetleným kruhom okolo kurzora. */
.mp-lampas { position: fixed; inset: 0; z-index: 2147483000; pointer-events: none; opacity: 0; transition: opacity .25s ease; }
.mp-lampas.on { opacity: 1; }
.mp-lampas[hidden] { display: none; }

/* ===== Sprievodca ponukou (AI wizard) ===== */
.wz-steps { display: flex; gap: 8px; flex-wrap: wrap; margin: 18px 0 22px; }
.wz-step { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--mp-line); background: #fff; border-radius: 999px; padding: 9px 16px; font-family: var(--mp-font-b); font-size: 13.5px; font-weight: 600; color: var(--mp-muted); cursor: pointer; transition: .15s; }
.wz-step span { width: 20px; height: 20px; border-radius: 50%; background: var(--mp-mist); display: grid; place-items: center; font-size: 11px; font-weight: 800; }
.wz-step.active { background: var(--mp-ink); color: #fff; border-color: var(--mp-ink); }
.wz-step.active span { background: var(--mp-brand); color: #fff; }
/* Lišta produktového toku: hotový krok (✓) a budúce kroky sú len informačné. */
.wz-step-done { cursor: default; color: #2E7D5B; border-color: rgba(46, 125, 91, .35); }
.wz-step-done span { background: rgba(46, 125, 91, .12); color: #2E7D5B; }
.wz-step-plan { cursor: default; }
a.wz-step { text-decoration: none; }
.wz-pane .mp-card { margin-bottom: 18px; }
.wz-guide { background: rgba(239, 125, 0, .07); border-left: 3px solid var(--mp-brand); border-radius: 0 10px 10px 0; padding: 10px 14px; }
.wz-items { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 18px; align-items: start; }
.wz-item { padding: 10px 12px; border: 1px solid var(--mp-line-soft); border-radius: 12px; }
.wz-check { display: flex; align-items: center; gap: 9px; font-size: 14px; font-weight: 600; cursor: pointer; }
.wz-check input { width: 17px; height: 17px; accent-color: var(--mp-brand); }
/* Radio buttony v štýle dizajnu: kruh s jemným okrajom, zvolený = plná
   oranžová s bielou bodkou v strede. Platí aj pre klientsky dotazník (.dz-wrap
   bez .mp-app — mal natívne modré prepínače; Martin, 2026-09-15). */
.mp-app input[type="radio"],
.dz-wrap input[type="radio"],
.tc-overlay input[type="radio"] {
	appearance: none;
	-webkit-appearance: none;
	width: 20px;
	height: 20px;
	border: 1.5px solid var(--mp-line, #D8D5D1);
	border-radius: 50%;
	background: #FFFFFF;
	flex: 0 0 auto;
	cursor: pointer;
	transition: border-color .15s var(--mp-ease), background .15s var(--mp-ease);
}
.mp-app input[type="radio"]:hover,
.dz-wrap input[type="radio"]:hover,
.tc-overlay input[type="radio"]:hover { border-color: var(--mp-brand); }
.mp-app input[type="radio"]:checked,
.dz-wrap input[type="radio"]:checked,
.tc-overlay input[type="radio"]:checked {
	border-color: var(--mp-brand);
	background: radial-gradient(circle, #FFFFFF 0 3.5px, var(--mp-brand) 4.5px);
}
.mp-app input[type="radio"]:focus-visible,
.dz-wrap input[type="radio"]:focus-visible,
.tc-overlay input[type="radio"]:focus-visible { outline: 2px solid var(--mp-brand); outline-offset: 2px; }
.wz-label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; }
.wz-hint { font-size: 12px; color: var(--mp-muted); margin-top: 6px; }
/* Kontrola AI analýzy poistky proti textu dokumentu (PolicyCheck) — nad tabuľkou v kroku 1. */
.wz-kontrola.ok { color: var(--mp-ok); }
.wz-kontrola.bad { color: var(--mp-err); font-weight: 600; }
/* Nápoveda položky analýzy potrieb: „i" v krúžku za poľom, text ako bublina po nabehnutí
   myšou alebo pri fokuse — položky ostávajú rovnako vysoké (Martin, 2026-09-14). */
.wz-row { display: flex; align-items: center; gap: 10px; }
/* Jeden riadok na položku: názov/políčko vľavo berie zvyšok, VŠETKY polia a výbery vpravo
   rovnako široké (sumy do 999 999 € sa zmestia), nápoveda až za poľom. Názov bez políčka
   je odsadený o šírku políčka, aby všetky názvy lícovali (Martin, 2026-09-14). */
.wz-row > .wz-label, .wz-row > .wz-check { flex: 1 1 auto; min-width: 0; margin: 0; }
.wz-row > .wz-label { padding-left: 29px; font-size: 14px; } /* 20 px políčko + 9 px medzera */
.wz-row > .mp-input { flex: 0 0 auto; width: 210px; max-width: none; margin: 0; padding: 9px 12px; font-size: 14px; }
.wz-row > .wz-check + .wz-eur { margin-left: auto; }
/* Riadok sa v okne nelomí na dva (Martin, 2026-09-14: „pri menšom okne sa to rozchádza") —
   len na telefóne ide pole pod názov (vpravo), inak by názov ostal na pár znakov. */
@media (max-width: 560px) {
	.wz-row { flex-wrap: wrap; row-gap: 6px; }
	.wz-row::after { content: ""; flex-basis: 100%; height: 0; order: 1; } /* zalomenie: názov + „i" hore, pole dole */
	.wz-row > .wz-label { padding-left: 0; }
	.wz-row > .wz-info { order: 1; }
	.wz-row > .wz-info-none { display: none; }
	.wz-row > .mp-input { order: 2; margin-left: auto; }
}
.wz-item { padding: 8px 12px; }
/* Políčko v analýze potrieb: natívny input ostáva (JS, hotspoty, hlas), kreslí sa však vedľajší
   rámik .wz-check-box. Nezaškrtnuté = 1 px oranžový rám (Martin, 2026-09-14); po zaškrtnutí sa
   rámik vyfarbí a fajka sa NAKRESLÍ ako ťah perom — SVG čiara odkrývaná cez stroke-dashoffset
   (Martin, 2026-09-15: „ako keby tam tú fajku nakreslíš"). Pri nabehnutí myšou sa jemne zväčší
   s oranžovým odleskom, „puknutie" (trieda wz-pop z wizard.js) ostáva pri zmene. */
body.mojaponuka .wz-item .wz-check input[type="checkbox"] { position: absolute; width: 1px; height: 1px; margin: -1px; opacity: 0; pointer-events: none; }
.wz-item .wz-check { position: relative; }
.wz-item .wz-check-box { flex: 0 0 auto; width: 20px; height: 20px; border-radius: 5px; border: 1px solid var(--mp-brand); background: #fff; display: grid; place-items: center; transition: background-color .18s, border-color .18s, transform .15s, box-shadow .15s; }
.wz-item .wz-check-box svg { width: 14px; height: 14px; overflow: visible; }
.wz-item .wz-check-box path { fill: none; stroke: #fff; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 15; stroke-dashoffset: 15; }
.wz-item .wz-check input[type="checkbox"]:checked + .wz-check-box { background: var(--mp-brand); border-color: var(--mp-brand); }
.wz-item .wz-check input[type="checkbox"]:checked + .wz-check-box path { stroke-dashoffset: 0; transition: stroke-dashoffset .32s cubic-bezier(.3, .7, .3, 1) .08s; }
.wz-item .wz-check:hover input[type="checkbox"]:not(:checked) + .wz-check-box { transform: scale(1.1); box-shadow: 0 0 0 4px rgba(239, 125, 0, .18); }
.wz-item .wz-check input[type="checkbox"]:focus-visible + .wz-check-box { outline: 2px solid rgba(239, 125, 0, .5); outline-offset: 2px; }
.wz-item .wz-check input[type="checkbox"]:disabled + .wz-check-box { opacity: .45; }
@keyframes wz-check-pop { 0% { transform: scale(.8); } 55% { transform: scale(1.18); } 100% { transform: scale(1); } }
.wz-item .wz-check input[type="checkbox"].wz-pop + .wz-check-box { animation: wz-check-pop .3s cubic-bezier(.2, .8, .3, 1.3); }
@media (prefers-reduced-motion: reduce) {
	.wz-item .wz-check input[type="checkbox"].wz-pop + .wz-check-box { animation: none; }
	.wz-item .wz-check:hover input[type="checkbox"]:not(:checked) + .wz-check-box { transform: none; }
	.wz-item .wz-check input[type="checkbox"]:checked + .wz-check-box path { transition: none; }
}
.wz-info { position: relative; flex: 0 0 auto; width: 20px; height: 20px; border-radius: 50%; border: 1px solid var(--mp-line); color: var(--mp-muted); background: transparent; font-family: var(--mp-font-b); font-size: 12px; font-weight: 700; line-height: 18px; text-align: center; cursor: help; user-select: none; }
.wz-info-none { visibility: hidden; }
.wz-info:hover, .wz-info:focus-visible { border-color: var(--mp-brand); color: var(--mp-brand); outline: none; }
.wz-info::after { content: attr(data-tip); position: absolute; right: -4px; bottom: calc(100% + 8px); width: 300px; max-width: 72vw; padding: 8px 11px; border-radius: 9px; background: var(--mp-ink); color: #fff; font-size: 12px; font-weight: 400; line-height: 1.45; text-align: left; white-space: normal; box-shadow: 0 8px 24px rgba(23, 24, 26, .18); opacity: 0; visibility: hidden; transform: translateY(4px); transition: opacity .15s, transform .15s; pointer-events: none; z-index: 40; }
.wz-info::before { content: ""; position: absolute; right: 4px; bottom: calc(100% + 3px); border: 5px solid transparent; border-top-color: var(--mp-ink); opacity: 0; visibility: hidden; transition: opacity .15s; pointer-events: none; z-index: 41; }
.wz-info:hover::after, .wz-info:focus-visible::after, .wz-info:hover::before, .wz-info:focus-visible::before { opacity: 1; visibility: visible; transform: none; }
/* Preklopenie bubliny POD ikonu (triedu wz-info-dole dáva wizard.js, keď sa nad ikonou nezmestí)
   — dlhá vysvetlivka poisťovne inak končila mimo okna (Martin, 2026-09-22). */
.wz-info.wz-info-dole::after { bottom: auto; top: calc(100% + 8px); transform: translateY(-4px); }
.wz-info.wz-info-dole::before { bottom: auto; top: calc(100% + 3px); border-top-color: transparent; border-bottom-color: var(--mp-ink); }
.wz-info.wz-info-dole:hover::after, .wz-info.wz-info-dole:focus-visible::after { transform: none; }
.wz-idx { color: #8a6d1a; background: #FDF3D7; border-radius: 999px; padding: 1px 8px; white-space: nowrap; cursor: help; }
.wz-input-missing { border-color: #B4483C !important; box-shadow: 0 0 0 3px rgba(180, 72, 60, .14); }
.wz-hint-missing { color: #B4483C; font-weight: 600; }
.wz-item-missing { border-color: #B4483C !important; box-shadow: 0 0 0 2px rgba(180, 72, 60, .14); }
.wz-req { color: var(--mp-brand); font-weight: 700; margin-left: 3px; font-size: 12px; }
.wz-eur { margin-top: 8px; max-width: 160px; }
.wz-analysis { margin-top: 12px; }
.wz-table { width: 100%; border-collapse: collapse; font-size: 13.5px; margin: 10px 0; }
.wz-table th, .wz-table td { text-align: left; padding: 7px 10px; border-bottom: 1px solid var(--mp-line-soft); vertical-align: top; }
.wz-table th { color: var(--mp-muted); font-weight: 600; width: 160px; }
.wz-risks { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
.wz-risk { font-size: 12.5px; font-weight: 600; padding: 5px 11px; border-radius: 999px; background: var(--mp-mist); }
.wz-risk.yes { background: rgba(46, 125, 91, .12); color: var(--mp-ok); }
.wz-risk.no { background: rgba(180, 72, 60, .1); color: var(--mp-err); }
.wz-risk.unsure { outline: 1px dashed var(--mp-brand); }
.wz-docs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-bottom: 14px; }
.wz-doc { display: flex; flex-direction: column; gap: 2px; border: 1px solid var(--mp-line); border-radius: 12px; padding: 12px 14px; cursor: pointer; position: relative; padding-left: 42px; }
.wz-doc input { position: absolute; left: 14px; top: 16px; width: 17px; height: 17px; accent-color: var(--mp-brand); }
.wz-doc .t { font-weight: 700; font-size: 14px; display: flex; align-items: center; gap: 9px; }
.wz-doc-logo { height: 26px; max-width: 84px; object-fit: contain; flex: 0 0 auto; }
.wz-doc .m { font-size: 12px; color: var(--mp-muted); }
.wz-doc.nofile { opacity: .55; }
.wz-progress { margin-top: 12px; font-size: 14px; font-weight: 600; color: var(--mp-brand); }
.wz-coverage td.d { font-size: 12.5px; color: var(--mp-muted); }
.wz-coverage .src { display: block; font-size: 11px; color: var(--mp-muted); margin-top: 3px; font-style: italic; }
/* Podrobnosti riadku porovnania (vysvetlenie, podmienky, výluky, citáty) — 2026-09-13. */
.wz-podrobnosti { margin-top: 4px; font-size: 12px; }
.wz-podrobnosti summary { cursor: pointer; color: var(--mp-muted); }
.wz-podrobnosti > div { margin: 4px 0; }
.wz-podrobnosti ul { margin: 2px 0 2px 16px; padding: 0; }
.wz-podr-text { line-height: 1.45; }
/* Zdroj je tlačidlo — otvorí VPP na strane s úryvkom (2026-09-13). */
.wz-coverage button.src { background: none; border: 0; padding: 0; text-align: left; cursor: pointer; text-decoration: underline dotted; font-family: inherit; }
.wz-coverage button.src:hover { color: var(--mp-ink); }
.wz-zdroj-modal .inner { max-width: 1100px; max-height: 92vh; padding: 18px 20px; }
.wz-zdroj-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.wz-zdroj-citat { margin: 10px 0; padding: 8px 12px; border-left: 3px solid var(--mp-orange, #e8792b); background: var(--mp-mist); font-size: 13px; }
.wz-zdroj-rada { font-size: 13px; margin: 6px 0 10px; padding: 8px 10px; border-radius: 8px; }
.wz-zdroj-rada.bad { background: #fff3ea; }
.wz-zdroj-rada.ok { background: #eef8ee; }
.wz-zdroj-chips, .wz-zdroj-subory { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.wz-zchip { border: 1px solid var(--mp-line, #ddd); background: #fff; border-radius: 999px; padding: 3px 10px; font-size: 12px; cursor: pointer; font-family: inherit; }
.wz-zchip.on { background: var(--mp-ink, #222); color: #fff; border-color: var(--mp-ink, #222); }
.wz-zdroj-nav { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 6px 0; font-size: 13px; }
.wz-zdroj-str { width: 70px; display: inline-block; margin-left: 4px; }
.wz-zdroj-frame { width: 100%; height: 62vh; border: 1px solid var(--mp-line, #ddd); border-radius: 8px; background: #f4f4f4; }
/* Hľadanie v texte VPP priamo v náhľade zdroja (Martin, 2026-09-22). */
.wz-zdroj-hladaj { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 10px 0 6px; }
.wz-zdroj-hladaj .wz-zhl { flex: 1 1 260px; max-width: 420px; }
.wz-zdroj-hladaj .wz-zhl-stav { flex: 1 1 100%; }
.wz-zdroj-vysledky { display: grid; gap: 6px; max-height: 260px; overflow: auto; margin-bottom: 10px; padding-right: 4px; }
.wz-zvysledok { display: block; width: 100%; text-align: left; border: 1px solid var(--mp-line-soft); border-radius: 10px; background: var(--mp-panel); padding: 8px 11px; font: inherit; cursor: pointer; }
.wz-zvysledok:hover { border-color: var(--mp-brand); background: rgba(239, 125, 0, .05); }
.wz-zvysledok.on { border-color: var(--mp-brand); background: rgba(239, 125, 0, .09); }
.wz-zvysledok b { display: block; font-size: 12px; color: var(--mp-brand); }
.wz-zvysledok span { display: block; margin-top: 2px; font-size: 12.5px; line-height: 1.45; color: var(--mp-ink); }
.wz-zdroj-uryvok { margin-top: 10px; font-size: 13px; line-height: 1.45; padding: 10px 12px; background: var(--mp-mist); border-radius: 8px; }
.wz-badge { font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 999px; white-space: nowrap; background: var(--mp-mist); color: var(--mp-muted); }
.wz-badge.yes { background: rgba(46, 125, 91, .12); color: var(--mp-ok); }
.wz-badge.rider { background: rgba(239, 125, 0, .12); color: var(--mp-brand); }
/* Dojednane pripoistenie - tmavsia zelena nez kryte, nech vidno rozdiel. */
.wz-badge.agreed { background: #1E5C41; color: #fff; }
.wz-badge.no { background: rgba(180, 72, 60, .1); color: var(--mp-err); }
.wz-badge.unknown { background: var(--mp-mist); color: var(--mp-muted); }
.wz-price-row { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--mp-line); font-size: 13.5px; font-weight: 600; }
.wz-price-row .wz-price { max-width: 140px; margin-left: 8px; display: inline-block; width: auto; }
/* Poistné sumy nad kartami: MRIEŽKA s rovnakými stĺpcami. Ako obyčajný flex sa každé
   pole šírilo podľa svojho textu, takže „Suma zodpovednosť" v druhom riadku nezačínala
   tam, kde „Suma stavba" v prvom (Martin, 2026-09-22: „suma zodpovednosť zarovnaj so suma stavba"). */
/* Kalendárik: skrytý `input type=date` prekrýva textové pole, aby sa ponúka otvorila
   pod ním. Vidno stále len textové pole v dd.mm.yyyy (Martin, 2026-09-22). */
.wz-kalendar-obal { position: relative; }
.wz-kalendar { position: absolute; left: 0; right: 0; bottom: 0; height: 1px; width: auto; min-height: 0; padding: 0; margin: 0; border: 0; opacity: 0; pointer-events: none; }
.wz-sums-global { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px 18px; align-items: stretch; }
.wz-sums-global > label { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.wz-sums-global .wz-sum-nadpis { line-height: 1.3; }
/* Riadok štítku má rezervovanú výšku aj keď je prázdny — inak by pole poskakovalo
   pri písaní sumy (štítok sa prepíše alebo zmizne). */
.wz-sums-global .wz-sum-pod { display: flex; align-items: center; min-height: 19px; min-width: 0; }
.wz-sums-global .wz-src-analysis { max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.45; }
.wz-sums-global .mp-input { width: 100%; margin-top: auto; }
.wz-market { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.wz-recalc { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 10px; margin: 14px 0 4px; }
.wz-summary-list { list-style: none; margin: 10px 0; display: grid; gap: 6px; font-size: 14px; }
.wz-summary-list li { padding: 9px 13px; background: var(--mp-mist); border-radius: 10px; }

/* Voľba má/nemá zmluvu + pripoistenia pôvodnej zmluvy (krok 1 / nová ponuka). */
.mp-choice { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
.wz-riders { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px 16px; margin-top: 8px; }

/* Tímový prehľad riaditeľa (/portal/tim). */
.mp-topnav { font-weight: 700; color: var(--mp-brand); text-decoration: none; }
.mp-teamtable-wrap { overflow-x: auto; }
.mp-teamtable { width: 100%; min-width: 720px; border-collapse: collapse; font-size: 13.5px; }
.mp-teamtable th, .mp-teamtable td { padding: 9px 12px; text-align: center; border-bottom: 1px solid var(--mp-line-soft); }
.mp-teamtable thead th { font-size: 12px; color: var(--mp-muted); }
.mp-teamtable thead tr:first-child th { font-family: var(--mp-font-d); font-size: 13px; color: var(--mp-ink); border-bottom: none; padding-bottom: 2px; }
.mp-teamtable td.name { text-align: left; font-weight: 700; }
.mp-teamtable td.name .badge { display: inline-block; margin-left: 8px; font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #fff; background: var(--mp-ink); padding: 2px 8px; border-radius: 999px; }
.mp-teamtable td.name .sub { display: block; font-size: 11.5px; font-weight: 500; color: var(--mp-muted); }
.mp-teamtable td.grp { background: rgba(239, 125, 0, .05); }
.mp-teamtable tr.me td { border-top: 2px solid var(--mp-line); color: var(--mp-muted); }

/* Editácia AI riadkov v kroku 3 + schránka reakcií. */
.wz-editbtn { float: right; border: 1px solid var(--mp-line); background: #fff; border-radius: 8px; padding: 2px 8px; cursor: pointer; font-size: 12px; margin-left: 8px; }
.wz-editbtn:hover { border-color: var(--mp-brand); color: var(--mp-brand); }
.wz-edited { font-size: 11px; font-weight: 700; color: var(--mp-brand); }
.wz-editrow td { background: rgba(239, 125, 0, .04); }
.wz-editrow .mp-input { margin-bottom: 6px; font-size: 13px; }
.wz-editrow-actions { display: flex; gap: 8px; }
.wz-editrow-actions .mp-btn { padding: 6px 13px; font-size: 12.5px; }
.mp-inbox { margin: 0 0 18px; }
.mp-inbox-count { display: inline-block; margin-left: 10px; font-size: 12px; font-weight: 700; color: #fff; background: var(--mp-brand); padding: 3px 10px; border-radius: 999px; vertical-align: middle; }
.mp-activity-list li.done { opacity: .55; }
.mp-activity-list li .mp-act { margin-left: 10px; }

/* Audit bezpečnosti domova: časový odhad + postup podkrokov (vnímané úsilie). */
.wz-time { display: inline-block; margin-left: 10px; font-family: var(--mp-font-b); font-size: 12px; font-weight: 700; color: var(--mp-brand); background: rgba(239, 125, 0, .1); padding: 4px 11px; border-radius: 999px; vertical-align: middle; letter-spacing: 0; }
#wzExpress .wz-market { margin-top: 6px; }

/* Aktivita klienta: otvorenia a reakcie z prezentácie. */
.mp-activity { display: block; margin-top: 5px; font-size: 11.5px; color: var(--mp-muted); }
.mp-activity .rx { color: var(--mp-brand); font-weight: 700; margin-left: 8px; }
.mp-activity-list { list-style: none; display: grid; gap: 8px; font-size: 13.5px; }
.mp-activity-list li { padding: 10px 13px; background: var(--mp-mist); border-radius: 10px; }
.mp-activity-list li.rx { background: rgba(239, 125, 0, .08); border: 1px solid rgba(239, 125, 0, .25); }
.mp-activity-list .when { display: inline-block; font-size: 11.5px; color: var(--mp-muted); margin-right: 10px; font-variant-numeric: tabular-nums; }
.mp-activity-list .msg { display: block; margin-top: 5px; font-style: italic; color: var(--mp-ink); }

/* „Nechcem rozpisovať" — jedna suma za skupinu namiesto rozpísaných položiek. */
.wz-lump { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; margin: 0 0 16px; padding: 13px 16px; background: #fff; border: 1px dashed var(--mp-line); border-radius: var(--mp-radius); }
.wz-lump .wz-lump-field { display: flex; align-items: center; gap: 10px; }
.wz-lump .wz-lump-field .wz-label { margin: 0; white-space: nowrap; }
.wz-lump .wz-lump-sum { max-width: 180px; }
.wz-needs-section.lump .wz-eur,
.wz-needs-section.lump .wz-zoznam,
.wz-needs-section.lump .wz-item[data-euritem] { display: none !important; }

/* Súčty hodnôt po skupinách + celkovo (živé prepočítavanie). */
.wz-totals { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 4px 0 16px; }
.wz-total { display: flex; flex-direction: column; gap: 3px; padding: 12px 15px; background: #fff; border: 1px solid var(--mp-line-soft); border-radius: 12px; }
.wz-total .l { font-size: 12px; font-weight: 600; color: var(--mp-muted); }
.wz-total b { font-family: var(--mp-font-d); font-size: 19px; }
.wz-total.grand { background: var(--mp-ink); border-color: var(--mp-ink); }
.wz-total.grand .l { color: rgba(255, 255, 255, .75); }
.wz-total.grand b { color: var(--mp-brand-soft); }

/* Redizajn kroku 1 „Aktuálna poistka klienta" — blok krytia z AI a karta „Trhový
   posun cien" (Martin, 2026-09-21, docs/rozhodnutia.md). Staré .wz-table/.wz-risks
   vyššie ostávajú (iné šablóny na ne môžu siahať), tento krok ich už nepoužíva. */
.wz-kr-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; margin-bottom: 10px; }
.wz-kr-head h3, .wz-kr-head h4 { margin: 0 0 4px; }
.wz-kr-head .hint { margin: 0; }
/* Text hlavičky nechá miesto chipom/dlaždici vpravo (v úzkom okne sa zalomí pod seba). */
.wz-kr-head > div:first-child { flex: 1 1 380px; min-width: 0; }
.wz-kr-chips, .wz-rast-tile { flex: 0 1 auto; }
.wz-kr-chip { max-width: 100%; }
/* Oba chipy (poistovna, zaciatok) rovnako siroke - stretch v stlpci (Martin, 2026-09-21). */
.wz-kr-chips { display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
.wz-kr-chip { display: inline-flex; align-items: center; gap: 8px; background: var(--mp-mist); border: 1px solid var(--mp-line-soft); border-radius: 12px; padding: 8px 12px; font-size: 13px; font-weight: 600; color: var(--mp-ink); white-space: nowrap; }
.wz-kr-chip-datum { display: flex; flex-wrap: wrap; white-space: normal; }
.wz-kr-chip-poistovna { display: flex; align-items: center; gap: 10px; max-width: 460px; }
.wz-kr-chip-poistovna .wz-kr-chip-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Logo poistovne v chipe (Martin, 2026-09-21). */
.wz-kr-logo { flex: 0 0 auto; height: 22px; width: auto; max-width: 96px; object-fit: contain; }

.wz-kr-fin { background: #fff; border: 1px solid var(--mp-line); border-radius: 14px; padding: 16px 18px; margin: 14px 0; }
.wz-kr-fin .hint { margin: 0; }
.wz-kr-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-top: 12px; }
.wz-kr-tile { display: flex; flex-direction: column; gap: 3px; padding: 12px 14px; background: var(--mp-mist); border-radius: 12px; }
.wz-kr-tile .l { font-size: 12px; font-weight: 600; color: var(--mp-muted); }
.wz-kr-tile b { font-family: var(--mp-font-d); font-size: 18px; font-variant-numeric: tabular-nums; }
.wz-kr-tile .sub { font-size: 11.5px; color: var(--mp-muted); }
/* Dlhý text (spoluúčasť s poznámkou od AI) menším písmom, nech nerozbije dlaždicu. */
.wz-kr-tile b.dlhe { font-size: 14px; line-height: 1.3; }
.wz-kr-tile.zvyraznene { background: rgba(239, 125, 0, .08); border: 1px solid rgba(239, 125, 0, .25); }
.wz-kr-tile.zvyraznene b { color: var(--mp-brand); }

/* Ceruzka na piatich editovateľných dlaždiciach „Základné finančné parametre" (Martin,
   2026-09-22: „Rovnako umožni upraviť aj tieto parametre, prípadne úplne vymazať sumu") —
   len dlaždice s `data-pole` (generická záložná „Poistná suma" ho nemá). Rovnaký vzhľad ako
   `.wz-kr-upravit` pri riadkoch krytia, len absolútne v pravom hornom rohu dlaždice. */
.wz-kr-tile[data-pole] { position: relative; padding-right: 40px; }
.wz-kr-tile-upravit { position: absolute; top: 8px; right: 8px; flex: 0 0 auto; width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--mp-line-soft); background: var(--mp-panel); color: var(--mp-muted); border-radius: 8px; cursor: pointer; padding: 0; }
.wz-kr-tile-upravit:hover, .wz-kr-tile-upravit:focus-visible { color: var(--mp-brand); border-color: var(--mp-brand); background: rgba(239, 125, 0, .08); outline: none; }
.wz-kr-tile-upravit svg { width: 14px; height: 14px; }
/* Inline formulár, ktorý nahradí obsah dlaždice po kliku na ceruzku. */
.wz-kr-tile-form { display: flex; flex-direction: column; gap: 6px; }
.wz-kr-tile-form .l { font-size: 12px; font-weight: 600; color: var(--mp-muted); }
.wz-kr-tile-form .wz-kr-tf-row { display: flex; align-items: center; gap: 6px; }
.wz-kr-tile-form .wz-kr-tf-input { width: 100%; padding: 6px 8px; font-size: 13.5px; }
.wz-kr-tile-form .wz-kr-tf-eur { font-size: 12.5px; color: var(--mp-muted); }
/* Akcie úpravy dlaždice v JEDNOM riadku: Uložiť ako tlačidlo, Zrušiť a Vymazať ako
   textové odkazy (tri tlačidlá sa do úzkej dlaždice nezmestili a Vymazať padalo na ďalší
   riadok — Martin, 2026-09-22: „tie tlačidlá by nemuseli byť také rozhádzané"). */
.wz-kr-tile.upravuje { padding-right: 14px; }
.wz-kr-tile-form .wz-kr-tf-btns { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; margin-top: 2px; }
.wz-kr-tile-form .wz-kr-tf-btns .mp-btn { padding: 5px 12px; font-size: 11.5px; }
.wz-kr-tile-form .wz-kr-tf-zrusit, .wz-kr-tile-form .wz-kr-tf-vymazat { padding: 0; border: 0; background: none; font-size: 11.5px; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.wz-kr-tile-form .wz-kr-tf-zrusit { color: var(--mp-muted); }
.wz-kr-tile-form .wz-kr-tf-zrusit:hover, .wz-kr-tile-form .wz-kr-tf-zrusit:focus-visible { color: var(--mp-ink); background: none; }
.wz-kr-tile-form .wz-kr-tf-vymazat { margin-left: auto; color: #B4483C; }
.wz-kr-tile-form .wz-kr-tf-vymazat:hover, .wz-kr-tile-form .wz-kr-tf-vymazat:focus-visible { color: #8F392F; background: none; }

.wz-kr-rozsah { margin: 14px 0; }
.wz-kr-skupiny { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 10px; }
.wz-kr-skupina { background: #fff; border: 1px solid var(--mp-line); border-radius: 14px; padding: 14px 16px; }
.wz-kr-skupina .wz-kr-head { margin-bottom: 6px; align-items: center; }
.wz-kr-ikona { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 8px; background: rgba(239, 125, 0, .12); color: var(--mp-brand); margin-right: 8px; vertical-align: middle; }
.wz-kr-ikona svg { width: 16px; height: 16px; }
/* Chip s počtom hneď za názvom skupiny (Martin, 2026-09-22: predtým na pravom okraji). */
.wz-kr-pocet { font-size: 11.5px; font-weight: 700; color: var(--mp-muted); background: var(--mp-mist); padding: 3px 9px; border-radius: 999px; white-space: nowrap; margin-left: 8px; }
/* Tlačidlo „+" v hlavičke skupiny — ručné pridanie krytia, ktoré AI neidentifikovala
   (Martin, 2026-09-22). `.wz-kr-head` má justify-content: space-between, takže sedí na
   pravom okraji vedľa názvu+chipu. */
.wz-kr-pridat { flex: 0 0 auto; width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--mp-line-soft); background: var(--mp-panel); color: var(--mp-muted); border-radius: 8px; cursor: pointer; padding: 0; }
.wz-kr-pridat:hover, .wz-kr-pridat:focus-visible { color: #fff; background: var(--mp-brand); border-color: var(--mp-brand); outline: none; }
.wz-kr-pridat svg { width: 16px; height: 16px; }
/* Riadok skupiny = štyri stĺpce: názov rizika | poistná suma/limit | spoluúčasť | akcie
   (Martin, 2026-09-21; 4. stĺpec s ceruzkou/košom pridaný 2026-09-22). */
.wz-kr-riadok { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(84px, auto) auto; align-items: center; gap: 10px 14px; padding: 8px 0; border-bottom: 1px solid var(--mp-line-soft); font-size: 13.5px; }
.wz-kr-riadok:last-child { border-bottom: 0; }
.wz-kr-riadok > span:nth-child(2) { text-align: right; white-space: nowrap; }
.wz-kr-riadok b { font-variant-numeric: tabular-nums; }
.wz-kr-riadok.nekryte { opacity: .55; }
.wz-kr-nazov { min-width: 0; }
.wz-kr-spol { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.wz-kr-spol .wz-kr-nic { color: var(--mp-muted); }
.wz-kr-hlavicka { padding: 2px 0 6px; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--mp-muted); }
.wz-kr-chip-sivy { font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 999px; background: var(--mp-mist); color: var(--mp-muted); white-space: nowrap; }
.wz-kr-chip-overit { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; background: #FDF3D7; color: #8a6d1a; margin-left: 4px; }

/* Ikonové tlačidlá riadku (ceruzka/kôš, Martin, 2026-09-22): 26×26, sivé, oranžové pri hoveri. */
.wz-kr-akcie { display: flex; align-items: center; justify-content: flex-end; gap: 4px; }
.wz-kr-upravit, .wz-kr-zmazat { flex: 0 0 auto; width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--mp-line-soft); background: var(--mp-panel); color: var(--mp-muted); border-radius: 8px; cursor: pointer; padding: 0; }
.wz-kr-upravit:hover, .wz-kr-upravit:focus-visible, .wz-kr-zmazat:hover, .wz-kr-zmazat:focus-visible { color: var(--mp-brand); border-color: var(--mp-brand); background: rgba(239, 125, 0, .08); outline: none; }
.wz-kr-upravit svg, .wz-kr-zmazat svg { width: 14px; height: 14px; }

/* Inline formulár pridania/úpravy rizika (Martin, 2026-09-22) — nahradí riadok, alebo pribudne
   na konci skupiny. Vyššia špecifickosť ako `.wz-kr-riadok` (grid), takže sa presadí bez
   vynucovacieho pravidla navyše. */
.wz-kr-riadok.wz-kr-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 14px; padding: 10px 0; }
.wz-kr-form-pole { display: flex; flex-direction: column; gap: 4px; flex: 1 1 130px; min-width: 110px; font-size: 11px; font-weight: 700; letter-spacing: .02em; color: var(--mp-muted); }
.wz-kr-form-pole.siroke { flex-basis: 220px; }
.wz-kr-form .mp-input { padding: 8px 10px; font-size: 13.5px; }
.wz-kr-form-kryte { display: flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; color: var(--mp-ink); white-space: nowrap; }
.wz-kr-form-btns { display: flex; gap: 8px; margin-left: auto; }
@media (max-width: 560px) { .wz-kr-form-btns { margin-left: 0; width: 100%; } }

.wz-kr-overit { display: flex; gap: 10px; align-items: flex-start; background: #FFF8E6; border-left: 3px solid #E0A100; border-radius: 0 10px 10px 0; padding: 10px 14px; font-size: 13px; margin-top: 14px; }
.wz-kr-overit .ico { flex: 0 0 auto; color: #E0A100; margin-top: 1px; }

.wz-rast-tile { display: flex; align-items: center; gap: 12px; background: #FFF4E5; border: 1px solid rgba(238, 125, 0, .35); border-radius: 14px; padding: 12px 16px; min-width: 220px; }
.wz-rast-tile[hidden] { display: none; }
.wz-rast-ico { flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; background: var(--mp-brand); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 14px; }
.wz-rast-titul { font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--mp-muted); }
.wz-rast-hodnota { font-family: var(--mp-font-d); font-size: 24px; font-weight: 800; color: var(--mp-brand); font-variant-numeric: tabular-nums; }
.wz-rast-zdroj { font-size: 11.5px; color: var(--mp-muted); }
.wz-sub { display: block; margin-top: 6px; font-size: 11.5px; color: var(--mp-muted); }
/* Zeleny riadok o dopocitani z ciselnika ma vzduch nad aj pod sebou (Martin, 2026-09-21: vsetko bolo nan nacapene). */
#marketCard #mPrefillNote { margin: 16px 0 20px; }

@media (max-width: 920px) {
	.wz-items, .wz-docs { grid-template-columns: 1fr; }
	.wz-market { grid-template-columns: repeat(2, 1fr); }
	.wz-totals { grid-template-columns: repeat(2, 1fr); }
	.wz-riders { grid-template-columns: 1fr; }
	.sc-editor-form { grid-template-columns: 1fr; }
	.mp-stats { grid-template-columns: repeat(2, 1fr); }
	.mp-thead { display: none; }
	.mp-trow { grid-template-columns: 1fr; gap: 9px; padding: 16px 18px; }
	.mp-cell { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
	.mp-cell-lbl { display: block; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; color: var(--mp-muted); font-weight: 700; }
	.mp-cell.name { flex-direction: column; align-items: flex-start; gap: 2px; }
	.mp-grid { grid-template-columns: 1fr; }
	.mp-features { grid-template-columns: 1fr; }
	.wz-kr-skupiny { grid-template-columns: 1fr; }
	.wz-kr-tiles { grid-template-columns: repeat(2, 1fr); }
	.wz-kr-head { flex-direction: column; align-items: flex-start; }
	.wz-kr-chips { align-items: flex-start; width: 100%; }
	.wz-rast-tile { width: 100%; }
}

/* ============================================================
   Fotenie zmluvy v mobile (/portal/foto/{id})
   Obrazovka je stavaná na palec: veľké terče, nič pod ohybom.
   ============================================================ */
.cap { min-height: 100dvh; display: flex; flex-direction: column; background: var(--mp-paper); }
body.cap-locked { overflow: hidden; }

.cap-bar { display: flex; align-items: center; gap: 12px; padding: 12px 16px; background: var(--mp-panel); border-bottom: 1px solid var(--mp-line-soft); position: sticky; top: 0; z-index: 5; }
.cap-back { font-size: 30px; line-height: 1; text-decoration: none; color: var(--mp-ink); width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; }
.cap-back:active { background: var(--mp-mist); }
.cap-title { display: flex; flex-direction: column; min-width: 0; }
.cap-title strong { font-family: var(--mp-font-d); font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cap-title span { font-size: 12px; color: var(--mp-muted); }

.cap-main { flex: 1; padding: 18px 16px 28px; display: flex; flex-direction: column; gap: 16px; }
.cap-lead { font-size: 14px; color: var(--mp-muted); }
.cap-alert { border-radius: 11px; padding: 12px 14px; font-size: 13.5px; display: none; }
.cap-alert.err { background: rgba(180, 72, 60, .1); border: 1px solid rgba(180, 72, 60, .3); color: var(--mp-err); display: block; }
.cap-alert.ok { background: rgba(46, 125, 91, .1); border: 1px solid rgba(46, 125, 91, .3); color: var(--mp-ok); display: block; }

/* Odfotené strany */
.cap-pages { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 10px; }
.cap-page { position: relative; aspect-ratio: 3 / 4; border-radius: 12px; overflow: hidden; background: var(--mp-panel); border: 1px solid var(--mp-line-soft); }
.cap-page img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cap-page-doc { width: 100%; height: 100%; display: grid; place-items: center; font-size: 12px; color: var(--mp-muted); text-align: center; padding: 8px; }
.cap-page-n { position: absolute; left: 6px; bottom: 6px; background: rgba(23, 24, 26, .78); color: #fff; font-size: 11px; font-weight: 600; padding: 3px 7px; border-radius: 999px; }
.cap-page-del { position: absolute; right: 5px; top: 5px; width: 30px; height: 30px; border: 0; border-radius: 50%; background: rgba(23, 24, 26, .78); color: #fff; font-size: 14px; cursor: pointer; }

/* Akcie */
.cap-actions { display: flex; flex-direction: column; gap: 12px; margin-top: auto; }
.cap-shoot { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 62px; border-radius: 16px; background: var(--mp-ink); color: #fff; font-size: 16px; font-weight: 600; cursor: pointer; }
.cap-shoot:active { transform: scale(.99); }
.cap-shoot.disabled { opacity: .45; pointer-events: none; }
.cap-shoot-ico { font-size: 22px; }
.cap-done { min-height: 54px; font-size: 15px; }
.cap-skip { text-align: center; font-size: 13px; color: var(--mp-muted); }

/* Editor začiernenia — cez celú obrazovku, tmavé pozadie kvôli kontrastu fotky */
.cap-editor { position: fixed; inset: 0; z-index: 60; background: #101113; display: flex; flex-direction: column; }
.cap-editor[hidden] { display: none; }
.cap-ebar, .cap-efoot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; background: #17181A; }
.cap-efoot { justify-content: stretch; padding-bottom: max(14px, env(safe-area-inset-bottom)); }
.cap-efoot .cap-save { width: 100%; min-height: 54px; font-size: 16px; }
.cap-ebtn { background: transparent; border: 0; color: #fff; font-size: 15px; padding: 10px 6px; cursor: pointer; }
.cap-ebtn:disabled { opacity: .4; }
.cap-ehint { font-size: 12.5px; color: rgba(255, 255, 255, .7); text-align: center; }
.cap-ocr-status { font-size: 12px; color: #ffce80; text-align: center; padding: 0 14px 6px; }
.cap-ocr-status:empty { display: none; }
.cap-stage { position: relative; flex: 1; display: grid; place-items: center; overflow: hidden; padding: 8px; }
/* touch-action: kreslenie prstom nesmie rolovať stránku. */
#capCanvas { touch-action: none; max-width: 100%; max-height: 100%; border-radius: 6px; cursor: crosshair; }

/* Pilulka so stavom OCR PRIAMO NAD FOTKOU (Martin, 2026-09-22: „Zišiel by sa nejaký
   status čítania OCR ... neviem, či to už prebehlo, a zrazu sa to objaví.") — dopĺňa
   .cap-ocr-status v lište vyššie, tá istá trieda `.wzr-ocr-badge`/`.cap-ocr-badge`
   zdieľa vzhľad s editorom v sprievodcovi nižšie. */
.cap-ocr-badge { position: absolute; top: 10px; left: 10px; z-index: 3; display: inline-flex; align-items: center; gap: 6px; max-width: calc(100% - 20px); padding: 6px 12px 6px 8px; border-radius: 999px; background: rgba(23, 24, 26, .85); color: #fff; font-size: 12.5px; font-weight: 600; line-height: 1.3; box-shadow: 0 4px 14px rgba(0, 0, 0, .35); pointer-events: none; }
.cap-ocr-badge[hidden] { display: none; }
.cap-ocr-badge.ok { background: rgba(46, 125, 91, .92); }
.cap-ocr-badge.prazdne, .cap-ocr-badge.nedostupne { background: rgba(90, 92, 97, .92); }
.cap-ocr-badge .mp-hexspin { --mp-hexspin-t: 1.1s; flex: 0 0 auto; }
.cap-ocr-badge .mp-hexspin .zaklad, .cap-ocr-badge .mp-hexspin .seg { fill: #fff; stroke: #fff; }

/* Editor začiernenia v sprievodcovi (desktop) — rovnaká zásada ako cap-editor:
   oblasti sa vypaľujú do pixelov, na server nejde nikdy originál. */
.wzr-overlay { position: fixed; inset: 0; z-index: 80; background: #101113; display: flex; flex-direction: column; }
body.wzr-locked { overflow: hidden; }
.wzr-bar { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding: 12px 18px; background: #17181A; color: #fff; }
.wzr-bar strong { font-size: 16px; }
.wzr-pages { font-size: 14px; color: rgba(255, 255, 255, .85); white-space: nowrap; }
.wzr-hint { font-size: 12.5px; color: rgba(255, 255, 255, .65); }
.wzr-stage { position: relative; flex: 1; display: grid; place-items: center; overflow: hidden; padding: 10px; }
.wzr-stage canvas { max-width: 100%; max-height: 100%; border-radius: 6px; cursor: crosshair; box-shadow: 0 10px 40px rgba(0, 0, 0, .6); }
.wzr-controls { display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; padding: 12px 18px max(14px, env(safe-area-inset-bottom)); background: #17181A; }
.wzr-controls .mp-btn-ghost { color: #fff; border-color: rgba(255, 255, 255, .35); background: transparent; }
.wzr-controls .mp-btn-ghost:disabled { opacity: .35; }
.wzr-original { background: transparent; border: 0; color: rgba(255, 255, 255, .55); font-size: 12.5px; text-decoration: underline; cursor: pointer; }
.wzr-note { flex-basis: 100%; text-align: center; font-size: 12.5px; color: #ffce80; }
.wzr-legend { font-size: 12.5px; color: #ffce80; }
.wzr-ocr-status { font-size: 12.5px; color: rgba(255, 255, 255, .65); }
.wzr-ocr-status:empty { display: none; }
/* Pomocný text POD tlačidlom Hotovo, kým OCR ešte beží (status OCR, Martin 2026-09-22, bod 4). */
.wzr-done-hint { flex-basis: 100%; text-align: center; font-size: 12px; color: rgba(255, 255, 255, .55); }
.wzr-done-hint:empty { display: none; }

/* Pilulka so stavom OCR PRIAMO NAD OBRÁZKOM strany — pozri komentár pri `.cap-ocr-badge`
   vyššie (rovnaký vzhľad, zdieľané triedy beh/ok/prazdne/nedostupne). */
.wzr-ocr-badge { position: absolute; top: 10px; left: 10px; z-index: 3; display: inline-flex; align-items: center; gap: 6px; max-width: calc(100% - 20px); padding: 6px 12px 6px 8px; border-radius: 999px; background: rgba(23, 24, 26, .85); color: #fff; font-size: 12.5px; font-weight: 600; line-height: 1.3; box-shadow: 0 4px 14px rgba(0, 0, 0, .35); pointer-events: none; }
.wzr-ocr-badge[hidden] { display: none; }
.wzr-ocr-badge.ok { background: rgba(46, 125, 91, .92); }
.wzr-ocr-badge.prazdne, .wzr-ocr-badge.nedostupne { background: rgba(90, 92, 97, .92); }
.wzr-ocr-badge .mp-hexspin { --mp-hexspin-t: 1.1s; flex: 0 0 auto; }
.wzr-ocr-badge .mp-hexspin .zaklad, .wzr-ocr-badge .mp-hexspin .seg { fill: #fff; stroke: #fff; }

/* Brána osobných údajov pred AI (Martin, 2026-09-21): zoznam nálezov v sprievodcovi
   pred spustením analýzy — rovnaký tón ako .mp-alert.err, len s vlastnou štruktúrou. */
.wz-ou { border-radius: 11px; padding: 14px 16px; margin: 10px 0; background: rgba(180, 72, 60, .08); border: 1px solid rgba(180, 72, 60, .3); }
.wz-ou h4 { margin: 0 0 6px; font-size: 14.5px; color: var(--mp-err); }
.wz-ou ul { margin: 0 0 10px; padding-left: 18px; font-size: 13.5px; }
.wz-ou ul li { margin: 2px 0; }
.wz-ou .wz-ou-note { font-size: 12.5px; color: var(--mp-muted); margin: 0 0 10px; }
.wz-ou .wz-ou-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.wz-ou .wz-ou-confirm { display: flex; align-items: center; gap: 8px; font-size: 13px; flex-basis: 100%; }
.wz-ou .wz-ou-confirm input[type="checkbox"] { width: 18px; height: 18px; }

/* QR kód na mobilné fotenie zmluvy (krok 1 sprievodcu) */
.wz-foto { display: flex; gap: 14px; align-items: center; }
.wz-foto-qr img { display: block; width: 116px; height: 116px; image-rendering: pixelated; border: 1px solid var(--mp-line); border-radius: 10px; background: #fff; }

/* Prepínač režimov editora začiernenia (mazanie / pohyb+lupa) */
.cap-modes { display: flex; gap: 8px; justify-content: center; padding: 10px 14px 0; background: #17181A; }
.cap-mode { flex: 1; max-width: 220px; min-height: 46px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .3); background: transparent; color: #fff; font-size: 14.5px; font-weight: 600; cursor: pointer; }
.cap-mode.active { background: #fff; color: #17181A; border-color: #fff; }
/* Dojednanie pripoistenia v kroku 3. */
.wz-rider-agree { display: inline-flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-left: 10px; padding: 2px 8px; background: #F4F7F2; border-radius: 8px; }
.wz-rider-agree .wz-agree-sum { min-height: 30px; padding: 3px 8px; font-size: 13px; }
.wz-agreed { color: #2E7D5B; font-size: 12.5px; }
.wz-calcnote { margin: 4px 0 8px; }
/* Pipeline kanban. */
.mp-pipeline { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; align-items: start; }
@media (max-width: 1100px) { .mp-pipeline { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px) { .mp-pipeline { grid-template-columns: repeat(2, 1fr); } }
.mp-pipecol { background: var(--mp-panel); border: 1px solid var(--mp-line-soft); border-radius: var(--mp-radius); padding: 12px; min-height: 120px; }
.mp-pipecol h3 { font-family: var(--mp-font-d); font-size: 13.5px; margin-bottom: 10px; display: flex; justify-content: space-between; align-items: center; }
.mp-pipecol h3 .c { background: var(--mp-mist); border-radius: 999px; padding: 1px 9px; font-size: 12px; }
.mp-pipecard { display: block; background: var(--mp-paper); border: 1px solid var(--mp-line-soft); border-radius: 10px; padding: 9px 11px; margin-bottom: 8px; text-decoration: none; color: var(--mp-ink); transition: border-color .15s; }
.mp-pipecard:hover { border-color: var(--mp-brand); }
.mp-pipecard b { display: block; font-size: 13.5px; }
.mp-pipecard span { font-size: 11.5px; color: var(--mp-muted); }
.mp-pipecard.stale span { color: #B4483C; font-weight: 600; }
.mp-pipeempty { font-size: 12px; color: var(--mp-muted); text-align: center; padding: 10px 0; }
/* Dnes urob. */
.mp-worklist .mp-activity-list a { color: var(--mp-ink); text-decoration: none; }
.mp-worklist .mp-activity-list a:hover { color: var(--mp-brand); }
/* Parametre likvidácie dotiahnuté z analýzy potrieb. */
.wz-src-analysis { color: #2E7D5B; background: rgba(46, 125, 91, .1); border-radius: 999px; padding: 1px 8px; font-size: 11.5px; font-weight: 600; cursor: help; }
.wz-src-analysis.edited { color: #8a6d1a; background: #FDF3D7; }
/* Štítok pri ručne prepísanej sume v kroku 3 ponúka prevzatie sumy z analýzy (2026-09-13). */
.wz-sum-src.edited { cursor: pointer; text-decoration: underline dotted; }
.mp-input.wz-from-analysis { border-color: rgba(46, 125, 91, .5); }
/* Pripoistenia z kalkulačky v kroku 3. */
/* Panel pripoistení z kalkulačky podľa dizajnu (Martin, 2026-09-04): hlavička s podtitulom,
   riadok spoluúčasti + zelený odznak, karta zahrnutých krytí, dlaždice v 2 stĺpcoch. */
.wz-calc-riders { margin: 6px 0 10px; border: 1px solid var(--mp-line-soft); border-radius: 14px; padding: 12px 14px; background: var(--mp-panel, #fff); }
.wz-calc-riders summary { cursor: pointer; display: flex; align-items: flex-start; gap: 10px; list-style: none; }
.wz-calc-riders summary::-webkit-details-marker { display: none; }
.wz-calc-riders[open] summary { margin-bottom: 4px; }
.wz-cr-ico { flex: 0 0 auto; width: 28px; height: 28px; border-radius: 8px; background: rgba(239, 125, 0, .12); color: var(--mp-brand); display: grid; place-items: center; font-weight: 800; font-size: 15px; }
.wz-cr-ico.ok { background: rgba(46, 125, 91, .1); color: var(--mp-ok); }
.wz-cr-head { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.wz-cr-title { font-family: var(--mp-font-d); font-size: 14.5px; font-weight: 800; letter-spacing: -.01em; color: var(--mp-ink); }
.wz-cr-sub { font-size: 12px; color: var(--mp-muted); }
.wz-cr-count { margin-left: auto; font-size: 11.5px; color: var(--mp-muted); white-space: nowrap; padding-top: 6px; }
.wz-cr-top { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 18px; margin: 10px 0 12px; }
.wz-cr-field { display: flex; flex-direction: column; gap: 5px; }
.wz-cr-lbl { display: block; font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--mp-muted); font-weight: 700; }
.wz-cr-inline { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.wz-cr-inline .wz-sp { min-height: 34px; padding: 4px 30px 4px 10px; font-size: 13px; width: auto; }
.wz-cr-chip { display: inline-flex; align-items: center; padding: 6px 12px; border-radius: 8px; font-size: 12.5px; font-weight: 600; background: var(--mp-mist); color: var(--mp-muted); white-space: nowrap; }
.wz-cr-chip.dark { color: var(--mp-ink); font-weight: 800; }
.wz-cr-badge { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; background: rgba(46, 125, 91, .1); color: var(--mp-ok); border-radius: 999px; padding: 6px 13px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.wz-cr-badge.small { padding: 3px 10px; font-size: 11.5px; }
.wz-cr-card { border: 1px solid var(--mp-line-soft); border-radius: 12px; padding: 12px 14px; margin-bottom: 12px; background: var(--mp-paper); }
.wz-cr-cardhead { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 10px; }
/* ZAHRNUTÉ KRYTIA — mriežka kariet podľa Martinovho návrhu (2026-09-22). Predtým to bol
   chumáč zelených štítkov, v ktorom sa nedalo nič nájsť; teraz má každé krytie vlastnú
   kartu s odznakom limitu a vysvetlivkou poisťovne. Návrh bol v Tailwinde — do portálu
   sa neťahá, prepis drží portálové farebné tokeny. */
.wz-zk { border: 1px solid var(--mp-line-soft); border-radius: 14px; background: var(--mp-panel); overflow: hidden; margin-bottom: 12px; }
.wz-zk-head { display: flex; align-items: flex-start; gap: 12px; padding: 13px 15px; background: linear-gradient(90deg, rgba(46, 125, 91, .07), rgba(46, 125, 91, 0) 62%); border-bottom: 1px solid var(--mp-line-soft); }
.wz-zk-ico { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 11px; background: var(--mp-ok); color: #fff; display: grid; place-items: center; font-size: 17px; font-weight: 800; box-shadow: 0 0 0 4px rgba(46, 125, 91, .1); }
.wz-zk-headtxt { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; min-width: 0; }
.wz-zk-title { font-family: var(--mp-font-d); font-size: 15.5px; font-weight: 800; letter-spacing: -.01em; color: var(--mp-ink); }
.wz-zk-pill { background: rgba(46, 125, 91, .12); color: var(--mp-ok); border: 1px solid rgba(46, 125, 91, .25); border-radius: 999px; padding: 2px 10px; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.wz-zk-sub { flex-basis: 100%; font-size: 12px; color: var(--mp-muted); }
.wz-zk-filter { margin-left: auto; flex: 0 0 auto; display: inline-flex; gap: 2px; padding: 3px; background: var(--mp-mist); border-radius: 10px; }
.wz-zk-filter button { border: 0; background: none; border-radius: 8px; padding: 4px 10px; font: inherit; font-size: 11.5px; font-weight: 700; color: var(--mp-muted); cursor: pointer; white-space: nowrap; }
.wz-zk-filter button:hover { color: var(--mp-ink); }
.wz-zk-filter button.on { background: var(--mp-panel); color: var(--mp-ink); box-shadow: 0 1px 2px rgba(23, 24, 26, .1); }
.wz-zk-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 10px; padding: 14px 15px; }
.wz-zk-card { display: flex; align-items: flex-start; gap: 10px; padding: 11px 12px; border: 1px solid var(--mp-line-soft); border-radius: 12px; background: var(--mp-panel); transition: transform .18s cubic-bezier(.16, 1, .3, 1), box-shadow .18s, border-color .18s; }
.wz-zk-card:hover { transform: translateY(-2px); border-color: rgba(46, 125, 91, .32); box-shadow: 0 8px 20px rgba(46, 125, 91, .1); }
.wz-zk-check { flex: 0 0 auto; width: 22px; height: 22px; margin-top: 1px; border-radius: 50%; background: rgba(46, 125, 91, .12); color: var(--mp-ok); display: grid; place-items: center; font-size: 12px; font-weight: 800; }
.wz-zk-body { flex: 1 1 auto; min-width: 0; }
/* Odznak limitu býva aj dlhá veta („Nehnuteľnosť: 5 % min. 800 EUR, Domácnosť: …").
   Keď sa nezmestil, tlačil názov do jednopísmenkového stĺpca a pretekal z karty von
   (Martin, 2026-09-22). Riešenie: riadok sa zalomí, názov má vlastnú minimálnu šírku a
   dlhý odznak si vezme celý druhý riadok, orezaný na dva riadky (celý text v `title`). */
.wz-zk-row { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 4px 8px; }
.wz-zk-nazov { flex: 1 1 130px; min-width: 0; font-size: 12.5px; font-weight: 700; line-height: 1.3; color: var(--mp-ink); overflow-wrap: break-word; }
.wz-zk-badge { flex: 0 1 auto; max-width: 100%; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 10.5px; font-weight: 700; line-height: 1.35; text-align: right; color: var(--mp-ok); background: rgba(46, 125, 91, .08); border: 1px solid rgba(46, 125, 91, .28); border-radius: 6px; padding: 2px 7px; overflow-wrap: anywhere; }
.wz-zk-badge.asist { color: var(--mp-brand); background: rgba(239, 125, 0, .08); border-color: rgba(239, 125, 0, .3); }
.wz-zk-popis { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 3px; font-size: 11.5px; line-height: 1.4; color: var(--mp-muted); }
.wz-zk-note { display: flex; align-items: flex-start; gap: 10px; margin: 0 15px 14px; padding: 10px 12px; border: 1px solid rgba(46, 125, 91, .25); border-radius: 12px; background: rgba(46, 125, 91, .06); font-size: 11.5px; line-height: 1.45; color: #1F5A41; }
@media (max-width: 700px) { .wz-zk-filter { margin-left: 0; flex-basis: 100%; } .wz-zk-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .wz-zk-card { transition: none; } .wz-zk-card:hover { transform: none; } }
.wz-crider-in { display: flex; flex-wrap: wrap; gap: 6px; }
.wz-crider-in span { font-size: 12px; font-weight: 600; color: var(--mp-ok); background: #fff; border: 1px solid rgba(46, 125, 91, .35); border-radius: 7px; padding: 4px 10px; }
.wz-crider-picks { margin-bottom: 8px; }
.wz-cr-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 700px) { .wz-cr-grid { grid-template-columns: 1fr; } }
/* Dlaždica pripoistenia sa zalamuje (Martin, 2026-09-13: cena sa prekrývala s dvojriadkovým názvom,
   krytie „2 000 EUR; minimálny predmet sporu…" sedelo v tom istom riadku) — krytie ide vždy na vlastný riadok. */
.wz-crider { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; border: 1px solid var(--mp-line-soft); border-radius: 12px; padding: 10px 12px; background: #fff; font-size: 13px; font-weight: 600; cursor: pointer; transition: border-color .15s, background .15s; }
.wz-crider:hover { border-color: var(--mp-line); }
.wz-crider.on { border-color: var(--mp-brand); background: #FFF8F0; }
.wz-crider-check { width: 16px; height: 16px; accent-color: var(--mp-brand); flex: 0 0 auto; margin: 0; }
.wz-crider-lbl { flex: 1 1 120px; min-width: 0; overflow-wrap: anywhere; }
.wz-crider-opt { margin-left: auto; font-size: 11.5px; font-weight: 500; color: var(--mp-muted); white-space: nowrap; flex: 0 0 auto; }
.wz-crider-info { width: 18px; height: 18px; line-height: 16px; font-size: 11px; }
/* Vysvetlivky poisťovní k pripoisteniam sú dlhé (celý odsek z VPP) — širšia bublina, nech
   nemá tridsať riadkov a zmestí sa na obrazovku (Martin, 2026-09-22). */
.wz-crider-info::after { width: 420px; }
/* Suma pripoistenia prevzatá z analýzy potrieb (alebo upozornenie, že chýba). */
.wz-crider-src { flex: 1 1 100%; display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 11.5px; color: #2E7D5B; cursor: help; }
.wz-crider-src.warn { color: #B4483C; }
.wz-crider-edit { border: 1px solid rgba(239, 125, 0, .45); background: #fff; color: var(--mp-brand); border-radius: 999px; padding: 1px 9px; font: inherit; font-size: 11px; font-weight: 600; cursor: pointer; }
.wz-crider-edit:hover { background: var(--mp-brand); color: #fff; border-color: var(--mp-brand); }
.wz-crider-src.editing { cursor: default; color: var(--mp-ink); }
.wz-crider-src.editing .mp-input { width: auto; min-width: 110px; padding: 6px 9px; font-size: 13px; }
.wz-crider-src.editing select.mp-input { max-width: 200px; }
.wz-crider-src.editing .wz-crider-src-ok { padding: 6px 12px; font-size: 12px; }
/* Cena pripoistenia a jeho krytie z kalkulacky (Martin, 2026-09-09). */
.wz-crider-krytie { flex-basis: 100%; margin: 0 0 0 26px; font-size: 11.5px; font-weight: 500; color: var(--mp-muted); line-height: 1.35; }
/* Volna ciselna poistna suma pripoistenia (PREMIUM: bicykle, elektronika). */
.wz-crider-num { width: 104px; margin-left: auto; padding: 4px 8px; min-height: 0; font-size: 12.5px; text-align: right; font-variant-numeric: tabular-nums; }
.wz-crider-in i { font-style: normal; color: var(--mp-muted); }
/* Varovanie samotnej poistovne k ponuke (podpoistenie, indexacia). */
.wz-calcwarn { margin-top: 4px; color: #B4483C; font-weight: 600; line-height: 1.35; }
.wz-calcsumy { font-variant-numeric: tabular-nums; }
/* Kose poistovne z mapovania sum po poistovniach: na ake sumy sa JEJ cena pocitala. */
.wz-card-sumy { font-size: 12px; color: var(--mp-muted); margin: 0 0 8px; font-variant-numeric: tabular-nums; }
.wz-crider-val { margin-left: auto; min-height: 28px; padding: 3px 26px 3px 10px; font-size: 12px; width: auto; border-radius: 999px; max-width: 60%; flex: 0 1 auto; }
/* Správa po prepočte (bez tlačidla — prepočet spúšťa „Vypočítať poistné" v lište). */
.wz-calc-riders .wz-recalc-msg { margin-top: 8px; color: var(--mp-ok); font-weight: 600; }
.wz-calc-riders .wz-recalc-msg:empty { display: none; }
/* Formulár chýbajúcich údajov pre výpočet (pod hláškou v kroku 3). */
.wz-calc-missing { background: #FFF7ED; border: 1px solid #F2A65A; border-radius: 12px; padding: 14px 16px; margin: 10px 0; }
.wz-calc-missing-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin: 10px 0 12px; }
.wz-calc-missing-grid label { font-size: 13px; font-weight: 600; display: flex; flex-direction: column; gap: 4px; }
/* Autocomplete obce z číselníka kalkulačky. */
.wz-obec-wrap { position: relative; display: block; }
.wz-obec-drop { position: absolute; top: 100%; left: 0; right: 0; z-index: 60; background: #fff; border: 1px solid var(--mp-line); border-radius: 10px; box-shadow: 0 12px 28px rgba(23, 24, 26, .14); max-height: 240px; overflow-y: auto; }
.wz-obec-item { padding: 8px 12px; cursor: pointer; font-size: 13.5px; font-weight: 400; }
.wz-obec-item:hover, .wz-obec-item.active { background: rgba(239, 125, 0, .12); }

/* Krok 3: ukotvený nadpis poisťovne (ako zmrazený riadok v exceli) + plávajúce
   šípky ▲/▼ na pravom okraji — skok na nadpis aktuálnej poisťovne / na balík,
   sumy a poistné jej karty. Zobrazia sa, len kým je karta poisťovne v zábere. */
.wz-result > h2 { position: sticky; top: 0; z-index: 6; background: var(--mp-panel); padding: 10px 0; margin: -10px 0 4px; box-shadow: 0 8px 14px -12px rgba(23, 24, 26, .35); }
.wz-jumpnav { position: fixed; right: 14px; top: 50%; transform: translateY(-50%); display: none; flex-direction: column; gap: 10px; z-index: 40; }
.wz-jumpnav.show { display: flex; }
.wz-jumpnav button { width: 42px; height: 42px; border-radius: 13px; border: 1px solid var(--mp-line-soft); background: var(--mp-panel); color: var(--mp-muted); font-size: 16px; line-height: 1; cursor: pointer; box-shadow: 0 10px 22px -12px rgba(23, 24, 26, .45); }
.wz-jumpnav button:hover { color: #fff; background: var(--mp-brand); border-color: var(--mp-brand); }
@media (max-width: 760px) { .wz-jumpnav { right: 8px; } .wz-jumpnav button { width: 38px; height: 38px; } }

/* Šípka zbalenia krytí v hlavičke karty poisťovne (krok 3) — rovnaký vzhľad
   ako plávajúce šípky na boku; poisťovne sú predvolene zbalené. */
/* Bez orámovania a tieňa, hrubá oranžová šípka, odsadená od pravého okraja. */
.wz-covtoggle { margin-left: auto; margin-right: 14px; width: 40px; height: 40px; border: none; background: transparent; color: var(--mp-brand); border-radius: 10px; font-size: 18px; line-height: 1; cursor: pointer; flex: 0 0 auto; }
.wz-covtoggle:hover { background: rgba(239, 125, 0, .12); }

/* Tlačidlo pod zónou pustenia súboru (krok 1) — odsadené a vpravo namiesto
   nalepeného na zónu vľavo (Martin: "je moc blízko a je zarovnané vľavo"). */
.wz-akcie-vpravo { display: flex; justify-content: flex-end; margin-top: 14px; }

/* Zbaliteľná hlavička karty (import z extranetu poisťovne, krok 1) — rovnaký
   vzhľad ako šípka krytí v kroku 3 (.wz-covtoggle), len na úrovni celej karty.
   Vlastná trieda namiesto zdieľania .wz-covtoggle: jej globálna delegovaná
   obsluha kliká na krytia poisťovní podľa data-doc a prebíjala by stav tejto šípky. */
.wz-card-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.wz-card-head h2 { margin-bottom: 0; }
.wz-cardtoggle { margin-left: auto; width: 40px; height: 40px; border: none; background: transparent; color: var(--mp-brand); border-radius: 10px; font-size: 18px; line-height: 1; cursor: pointer; flex: 0 0 auto; }
.wz-cardtoggle:hover { background: rgba(239, 125, 0, .12); }
.wz-card-telo[hidden] { display: none; }

/* Logo poisťovne z kalkulačky v hlavičke karty (krok 3) — v boxe namiesto textovÃ©ho zÃ¡stupcu. */
.wz-inslogo-box { overflow: hidden; }
.mp-card h2 .n.wz-inslogo-box { width: 60px; height: 60px; border-radius: 12px; background: #fff; border: 1px solid var(--mp-line-soft); }
.wz-inslogo { width: 100%; height: 100%; object-fit: contain; display: block; }

/* Číselné polia BEZ šípok (spinnerov) v celom portáli — Martinova voľba:
   šípky zavadzali a koliesko myši prepisovalo sumy namiesto scrollovania. */
input[type=number] { appearance: textfield; -moz-appearance: textfield; }
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Editor hotspotov: banner „k čomu práve kreslíte" — stále na očiach. */
.sc-editor-target { margin: 10px 0; padding: 10px 14px; border-radius: 10px; background: rgba(46, 125, 91, .1); color: #2E7D5B; font-weight: 700; font-size: 14px; }
.sc-editor-target.warn { background: rgba(239, 125, 0, .12); color: var(--mp-brand); }

/* Voľné pripoistenia z aktuálnej zmluvy (krok 2) — repeater názov + suma. */
.wz-riderrow { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(0, 1fr) 36px; gap: 8px; align-items: center; margin-bottom: 8px; }
.wz-riderrow-del { width: 32px; height: 32px; border: 1px solid var(--mp-line-soft); background: var(--mp-panel); color: var(--mp-muted); border-radius: 8px; cursor: pointer; font-size: 13px; line-height: 1; }
.wz-riderrow-del:hover { color: #fff; background: var(--mp-err); border-color: var(--mp-err); }
@media (max-width: 560px) { .wz-riderrow { grid-template-columns: 1fr; } .wz-riderrow-del { justify-self: end; } }

/* Opakovaná skupina v analýze potrieb (bicykle po kusoch): riadok = druh + suma + odobrať. */
.wz-zoznam { margin-top: 8px; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px 12px; } /* Pridať kus vpravo (Martin, 2026-09-15) */
.wz-zoznam .wz-zoznam-rows { flex: 1 1 100%; }
.wz-kusrow { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) 36px; gap: 8px; align-items: center; margin-bottom: 8px; }
.wz-kusrow-del { width: 32px; height: 32px; border: 1px solid var(--mp-line-soft); background: var(--mp-panel); color: var(--mp-muted); border-radius: 8px; cursor: pointer; font-size: 13px; line-height: 1; }
.wz-kusrow-del:hover { color: #fff; background: var(--mp-err); border-color: var(--mp-err); }
.wz-zoznam-add[disabled] { opacity: .5; cursor: not-allowed; }
.wz-zoznam .wz-zoznam-spolu { display: block; margin: 0 auto 0 0; font-size: 12px; color: var(--mp-muted); }
@media (max-width: 560px) { .wz-kusrow { grid-template-columns: 1fr; } .wz-kusrow-del { justify-self: end; } }

/* Banner vetvy navýšenia krytia (krok 3). */
.wz-navys-banner { border-left: 4px solid var(--mp-brand); }
.wz-navys-banner.on { border-left-color: var(--mp-ok); }
.wz-navys-banner.on h2 { color: var(--mp-ok); }
.wz-navys-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 10px; }

/* Plávajúce okno obnovy tokenu kalkulačky — vľavo hore, nad obsahom. */
.mp-toktoast { position: fixed; top: 18px; left: 18px; z-index: 90; width: 320px; max-width: calc(100vw - 36px); background: var(--mp-panel); border: 1px solid var(--mp-brand); border-left-width: 5px; border-radius: 14px; padding: 16px 18px; box-shadow: 0 18px 44px -18px rgba(23, 24, 26, .45); font-size: 13.5px; }
.mp-toktoast b { font-family: var(--mp-font-d); font-size: 15px; display: block; margin-bottom: 4px; padding-right: 22px; }
.mp-toktoast p { color: var(--mp-muted); margin: 4px 0 8px; }
.mp-toktoast ol { margin: 0 0 10px 18px; color: var(--mp-muted); }
.mp-toktoast .mini { font-size: 11.5px; margin: 8px 0 0; }
.mp-toktoast .x { position: absolute; top: 10px; right: 10px; width: 26px; height: 26px; border: none; background: var(--mp-mist); border-radius: 8px; color: var(--mp-muted); cursor: pointer; font-size: 12px; line-height: 1; }
.mp-toktoast .x:hover { color: #fff; background: var(--mp-err); }

/* ★ Preferovane poistovne vo vybere porovnania (krok 3). */
.wz-star { border: none; background: none; cursor: pointer; font-size: 23px; line-height: 1; color: rgba(23, 24, 26, .22); padding: 0 2px; margin-left: auto; }
.wz-star.on { color: #E8A50A; }
.wz-star:hover { color: #E8A50A; }

/* Rocne poistne ako velky tucny text (input je skryty zdroj pravdy). */
/* Výber balíka ako prepínač s cenami (návrh od Martina, 2026-09-22) — select ostáva
   skrytý ako zdroj pravdy, vidno tlačidlá. Aktívny balík je oranžový s fajkou. */
.wz-balik { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--mp-line); }
.wz-balik-lbl { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--mp-muted); }
.wz-balik-btns { display: flex; flex-wrap: wrap; gap: 6px; }
.wz-balik-btn { display: inline-flex; align-items: center; gap: 7px; border: 1px solid transparent; background: none; border-radius: 10px; padding: 7px 13px; font: inherit; font-size: 13px; font-weight: 700; color: var(--mp-muted); cursor: pointer; transition: background .15s, color .15s, border-color .15s; }
.wz-balik-btn:hover { background: var(--mp-mist); color: var(--mp-ink); }
.wz-balik-btn.on { background: var(--mp-brand); border-color: var(--mp-brand); color: #fff; box-shadow: 0 2px 8px rgba(239, 125, 0, .28); }
.wz-balik-btn.on:hover { background: var(--mp-brand); color: #fff; }
.wz-balik-ok { font-size: 12px; font-weight: 800; }
.wz-balik-cena { font-weight: 700; font-variant-numeric: tabular-nums; color: rgba(23, 24, 26, .45); }
.wz-balik-cena:empty { display: none; }
.wz-balik-btn.on .wz-balik-cena { color: #fff; background: rgba(255, 255, 255, .22); border-radius: 6px; padding: 1px 7px; }
.wz-balik-hint { flex-basis: 100%; }
/* Cenová lišta: popis nad sumou, jednotka za ňou a odznak spoluúčasti (rovnaké poradie
   informácií ako v návrhu, ale na pôvodnej oranžovej lište karty). */
.wz-price-lbl { display: block; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; opacity: .85; }
.wz-price-cislo { display: inline-flex; align-items: baseline; gap: 6px; }
.wz-price-per { font-size: 12px; font-weight: 600; opacity: .8; }
.wz-price-sp { align-self: center; font-size: 12px; font-weight: 700; white-space: nowrap; }
.wz-result .wz-price-main .wz-price-sp { background: rgba(255, 255, 255, .2); border-radius: 999px; padding: 4px 11px; }
.wz-price-wrap { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.wz-price-big { font-family: var(--mp-font-d); font-weight: 800; font-size: 27px; letter-spacing: -.02em; cursor: pointer; line-height: 1.1; }
.wz-price-big.stale { color: var(--mp-brand); font-size: 16px; font-weight: 700; }
.wz-price-big.stale:hover { text-decoration: underline; }

/* Vybavenie vystrah limitov (overene poradcom vo VPP). */
.wz-warnact { display: block; margin-top: 6px; font-size: 12px; color: var(--mp-muted); }
.wz-warnact button { border: 1px solid var(--mp-line-soft); background: var(--mp-panel); border-radius: 999px; padding: 3px 10px; margin-left: 6px; font-size: 12px; cursor: pointer; color: var(--mp-ink); }
.wz-warnact button:hover { border-color: var(--mp-brand); color: var(--mp-brand); }
.wz-warndone { font-size: 12.5px; color: var(--mp-ok); padding: 6px 2px 0; }
.wz-warnundo { border: none; background: none; color: var(--mp-brand); cursor: pointer; font-size: 12px; text-decoration: underline; }

/* Panel priebehu vypoctu poistneho — pasik + pilulky po poistovniach. */
.wz-calcprog { background: var(--mp-panel); border: 1px solid var(--mp-line-soft); border-radius: 14px; padding: 14px 16px; margin: 12px 0; }
.wz-calcprog .head { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 14px; font-weight: 700; margin-bottom: 8px; flex-wrap: wrap; }
.wz-calcprog .meta { font-size: 12.5px; color: var(--mp-muted); font-weight: 500; }
.wz-calcprog .track { height: 8px; border-radius: 999px; background: var(--mp-mist); overflow: hidden; margin-bottom: 12px; }
.wz-calcprog .fill { height: 100%; border-radius: 999px; background: var(--mp-brand); transition: width .4s var(--mp-ease); }
.wz-calcprog .pills { display: flex; flex-wrap: wrap; gap: 8px; }
.wz-cp-pill { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; padding: 5px 12px; border-radius: 999px; }
.wz-cp-pill b { font-weight: 700; }
.wz-cp-pill.done { background: rgba(46, 125, 91, .12); color: #085041; }
.wz-cp-pill.run { background: rgba(239, 125, 0, .12); color: #8A5410; }
.wz-cp-pill.none { background: var(--mp-mist); color: var(--mp-muted); }
.wz-cp-pill.errp { background: rgba(196, 52, 43, .1); color: #8F221B; }
/* Editor šablóny podľa Stitchu: sekcie ako karty, „+ Pridať" v hlavičke,
   predmety ako sivé riadky, pripoistenia s checkboxom zahrnutia. */
.tpl-editor { display: grid; gap: 16px; }
.tpl-two-col { display: grid; grid-template-columns: 2fr 1fr; gap: 12px; }
@media (max-width: 560px) { .tpl-two-col { grid-template-columns: 1fr; } }
.tpl-sec-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.tpl-sec-head h2 { margin: 0 0 10px; }
.tpl-add { border: 0; background: none; cursor: pointer; font-family: inherit; font-size: 13.5px; font-weight: 700; color: var(--mp-brand); padding: 0; }
.tpl-add:hover { text-decoration: underline; }
.tpl-sekcie-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; }
@media (max-width: 560px) { .tpl-sekcie-grid { grid-template-columns: 1fr; } }
.tpl-editor-foot { display: flex; justify-content: flex-end; gap: 10px; }
/* Riadok položky šablóny: názov sa nikdy nestlačí — na užšej obrazovke
   sa riadok zalomí (názov hore, limit/spoluúčasť/zdražovanie pod ním). */
.tpl-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--mp-line-soft); }
/* Druhý riadok polí začína zarovnaný s inputom názvu (odsadenie o šírku
   checkboxu + medzery); horný riadok sa o rovnaký kus vracia späť.
   Platí pre predmety aj pripoistenia — oboje majú checkbox zahrnutia. */
.tpl-row { padding-left: 30px; }
.tpl-row .tpl-row-top { margin-left: -30px; }
.tpl-row-top { display: flex; flex: 1 1 100%; gap: 10px; align-items: center; }
.tpl-row-top .row-nazov { flex: 1; min-width: 0; font-weight: 600; }
.tpl-row .row-limit, .tpl-row .row-suma { width: 120px; flex: 0 0 auto; }
.tpl-row .row-lpct { width: 84px; flex: 0 0 auto; }
.tpl-row select.row-typ { max-width: 190px; }
.tpl-row .row-svals .row-pozn { flex: 2 1 200px; min-width: 160px; width: auto; }
.tpl-row select { max-width: 180px; }
/* Komentár k riziku: tlačidlo pred ✕ (uložený komentár = oranžové), text na vlastnom riadku. */
.tpl-row .row-kom-btn { margin-left: auto; padding: 8px 12px; font-size: 13px; }
.tpl-row .row-kom-btn.on { background: #FFF1E0; border-color: rgba(239, 125, 0, .45); color: var(--mp-brand); }
.tpl-row .row-kom-btn.on:hover { background: #FFE6CC; border-color: var(--mp-brand); }
.tpl-row .row-kom-btn.on::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--mp-brand); margin-right: 7px; vertical-align: 1px; }
.tpl-row .row-kom { flex: 1 1 100%; display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; border-left: 3px solid rgba(239, 125, 0, .55); background: var(--mp-mist); border-radius: 0 10px 10px 0; }
.tpl-row .row-kom[hidden] { display: none; }
.tpl-row .row-kom-text { width: 100%; min-height: 56px; resize: vertical; font-size: 13.5px; padding: 8px 10px; }
.tpl-row .row-kom-hint { font-size: 12px; color: var(--mp-muted); }
/* ✕ na konci druhého riadku pri pravom okraji. */
.tpl-row .row-del { margin-left: 0; }
/* Hodnoty spoluúčasti VŽDY na vlastnom riadku: fixná/percento po pravú
   hranu inputu názvu, pri kombinovanej maxWidth dopočíta JS (alignSvals)
   po pravú hranu selectu spoluúčasti. */
.tpl-row .row-svals { display: flex; gap: 8px; align-items: center; flex: 1 1 100%; min-width: 0; }
.tpl-row .row-svals .row-spct, .tpl-row .row-svals .row-sfix { flex: 1; min-width: 90px; width: auto; }
.tpl-row .row-on { width: 17px; height: 17px; accent-color: var(--mp-brand); flex: 0 0 auto; }
.tpl-row-off .row-nazov, .tpl-row-off .row-limit, .tpl-row-off .row-svals, .tpl-row-off .row-styp, .tpl-row-off .row-rule { opacity: .45; }
/* Šablóny ponúk podľa Stitchu: akcie karty (Zmazať vpravo), kroky
   vyrábača, široké tlačidlá pravého stĺpca a sivé riadky sadzieb. */
.tpl-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 12px; }
.tpl-actions .tpl-delete { margin-left: auto; color: #C4342B; }
.sb-steps { margin: 4px 0 14px; padding-left: 20px; color: var(--mp-muted); font-size: 13.5px; line-height: 1.5; display: grid; gap: 6px; }
.sb-wide { width: 100%; justify-content: center; text-align: center; }
.sb-accent { color: var(--mp-brand); }
.sdz-row { display: flex; align-items: center; gap: 4px; background: var(--mp-mist, #F3F2F1); border-radius: 10px; padding: 8px 12px; margin-bottom: 8px; }
.sdz-row .sdz-nazov { flex: 1; min-width: 0; border: 0; background: transparent; font: inherit; font-size: 13.5px; font-weight: 600; color: var(--mp-ink); outline: none; }
.sdz-row .sdz-pct { width: 64px; border: 0; background: transparent; font: inherit; font-size: 13.5px; font-weight: 700; text-align: right; color: var(--mp-ink); outline: none; -moz-appearance: textfield; }
.sdz-row .sdz-pct::-webkit-outer-spin-button, .sdz-row .sdz-pct::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.sdz-row .sdz-unit { font-size: 13.5px; font-weight: 700; color: var(--mp-ink); }
.sdz-row .sdz-del { border: 0; background: none; cursor: pointer; color: var(--mp-muted); font-size: 13px; padding: 0 0 0 6px; }
.sdz-row .sdz-del:hover { color: #C4342B; }
/* Zdieľanie šablón: chip príjemcu s tlačidlom zrušenia. */
.tpl-share-chip { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; padding: 4px 10px; border-radius: 999px; background: rgba(46, 125, 91, .1); color: #085041; }
.tpl-share-chip .tpl-share-del { border: 0; background: none; cursor: pointer; color: inherit; font-size: 12px; padding: 0 2px; }
/* Adresa v troch poliach: ulica + súpisné + orientačné číslo. */
.mp-addr-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 8px; }
@media (max-width: 560px) { .mp-addr-grid { grid-template-columns: 1fr; } }
.wz-calcprog .errs { margin-top: 8px; display: grid; gap: 4px; }
.wz-cp-err { font-size: 12.5px; color: #8F221B; line-height: 1.4; }
/* .wz-cp-spin je šesťuholníkový spinner — definícia nižšie pri karte priebehu (2026-09-04). */
@keyframes wzspin { to { transform: rotate(360deg); } }
.wz-price-big.computing { color: #BA7517; font-size: 16px; font-weight: 700; cursor: default; }

/* Tlačidlo do wp-adminu vedľa loga — vidí ho len administrátor. */
.mp-brandwrap { display: flex; align-items: center; gap: 14px; }
.mp-wpadmin { font-size: 12px; font-weight: 700; color: var(--mp-muted); text-decoration: none; border: 1px solid var(--mp-line); border-radius: 8px; padding: 5px 10px; white-space: nowrap; }
.mp-wpadmin:hover { color: var(--mp-brand); border-color: var(--mp-brand); }

/* Rýchly výber kritérií (krytí) pod hláškou v kroku 3. */
.wz-crit-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 6px 16px; margin: 10px 0 14px; }

/* ===================================================================
   STITCH REDESIGN (vetva stitch-ui) — re-skin podľa návrhu z Google
   Stitch: krok 3 + spoločné prvky. Markup sa nemení, len vizuál.
   =================================================================== */

/* Karty dostávajú jemný tieň návrhu. */
.mp-card { box-shadow: 0 4px 12px rgba(0, 0, 0, .05); }

/* Tlačidlá: obdĺžnik so zaoblením 10 px namiesto pilulky. */
.mp-btn { border-radius: 10px; }

/* Stepper: aktívny krok ORANŽOVÝ s číslom v svetlom krúžku (návrh),
   neaktívne kroky jemne utlmené. */
.wz-step.active { background: var(--mp-brand); border-color: var(--mp-brand); color: #fff; }
.wz-step.active span { background: #FFDCC3; color: #582D00; }
.wz-step:not(.active) { opacity: .75; }
.wz-step:not(.active):hover { opacity: 1; border-color: var(--mp-brand); color: var(--mp-brand); }

/* Výber poisťovní: zaškrtnutá karta = oranžový 2px rám + podfarbenie
   (inset ring, aby sa layout neposúval), hover na nezaškrtnutej. */
.wz-doc { transition: border-color .15s, background .15s, box-shadow .15s; }
.wz-doc:hover { background: var(--mp-paper); }
.wz-doc:has(input:checked) { border-color: var(--mp-brand); box-shadow: inset 0 0 0 1px var(--mp-brand); background: var(--mp-paper); }

/* Panel priebehu výpočtu: tenší pásik, bežiace pilulky biele s rámikom. */
.wz-calcprog .track { height: 6px; }
.wz-cp-pill { border: 1px solid transparent; }
.wz-cp-pill.run { background: var(--mp-panel); border-color: var(--mp-line-soft); color: var(--mp-muted); }

/* Chip „z analýzy" s vyšším kontrastom (návrh: E8F5E9 / 2E7D32). */
.wz-src-analysis { background: #E8F5E9; color: #2E7D32; }

/* Zelený informačný pás (Ceny doplnené z kalkulačky…). */
.mp-alert.ok { background: #E8F5E9; border-color: #C5E1A5; color: #2E7D32; }

/* Výstraha limitu: výraznejší oranžový banner, chip tlačidlá vybavenia. */
.wz-limitwarn { background: #FFF1E2; border-color: #F7C08A; border-radius: 10px; padding: 11px 14px; }
.wz-warnact button { border-radius: 8px; padding: 4px 11px; }

/* Dojednanie pripoistenia: rámikový mini panel; dojednané zelené
   vrátane selectu (návrh: F1F8E9 / C5E1A5 / 2E7D32). */
.wz-rider-agree { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; border: 1px solid var(--mp-line-soft); border-radius: 10px; padding: 7px 11px; background: var(--mp-panel); margin-top: 4px; }
.wz-rider-agree:has(.wz-agree:checked) { background: #F1F8E9; border-color: #C5E1A5; }
.wz-rider-agree:has(.wz-agree:checked) .wz-agree-sum { border-color: #C5E1A5; color: #2E7D32; background: #fff; }
.wz-rider-agree .wz-agreed { font-weight: 700; }

/* Checkboxy podľa Stitch návrhu: 20 px, zaoblené, zaškrtnuté = oranžové
   s bielou fajkou (kreslená cez background — bez pseudo elementov). */
/* Políčka na CELOM portáli (Martin, 2026-09-15: „urob takto všetky checkboxy"): nezaškrtnuté =
   1 px oranžový rám, pri nabehnutí myšou zväčšenie s odleskom, po zaškrtnutí oranžový podklad
   a fajka NAKRESLENÁ ako ťah perom — pseudoprvok ::after s fajkou sa odkrýva zľava doprava
   cez clip-path (v poradí ťahu: krátka nožička, zlom, dlhá nožička). Bez zmeny značkovania. */
body.mojaponuka input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	display: inline-grid;
	place-content: center;
	width: 20px;
	height: 20px;
	border: 1px solid var(--mp-brand);
	border-radius: 5px;
	background: #fff;
	cursor: pointer;
	flex: none;
	vertical-align: -5px;
	margin: 0;
	transition: background-color .18s, border-color .18s, scale .15s, box-shadow .15s;
}
body.mojaponuka input[type="checkbox"]::after {
	content: "";
	width: 13px;
	height: 13px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 8.6l3.1 3.1 6.5-7.4' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px no-repeat;
	clip-path: inset(-3px 100% -3px -3px);
	transition: clip-path .3s cubic-bezier(.3, .7, .3, 1) .06s;
}
/* Pozíciu políčka nechávame na okolitý kód (napr. karta poisťovne ho má absolútne na stred);
   zväčšenie pri nabehnutí ide cez vlastnosť scale, aby neprepísalo cudzí transform. */
body.mojaponuka input[type="checkbox"]:checked {
	background-color: var(--mp-brand);
	border-color: var(--mp-brand);
}
body.mojaponuka input[type="checkbox"]:checked::after { clip-path: inset(-3px -3px -3px -3px); }
body.mojaponuka input[type="checkbox"]:hover:not(:checked):not(:disabled) { scale: 1.1; box-shadow: 0 0 0 4px rgba(239, 125, 0, .18); }
body.mojaponuka input[type="checkbox"]:focus-visible { outline: 2px solid rgba(239, 125, 0, .5); outline-offset: 2px; }
body.mojaponuka input[type="checkbox"]:disabled { opacity: .45; cursor: not-allowed; }
@media (prefers-reduced-motion: reduce) {
	body.mojaponuka input[type="checkbox"]::after { transition: none; }
	body.mojaponuka input[type="checkbox"]:hover:not(:checked):not(:disabled) { scale: none; }
}

/* Karta poisťovne: checkbox aj hviezdička presne na vertikálny stred. */
.wz-doc { padding-left: 46px; padding-right: 46px; }
.wz-doc input { left: 13px; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; }
.wz-doc .wz-star { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); margin-left: 0; }

/* Spodná cenová lišta karty poisťovne (Stitch návrh): oranžová, cez celú
   šírku karty; pri dlhej karte sticky k spodku obrazovky — info o práve
   prechádzanej poisťovni je stále na očiach (ako prilepená hlavička hore). */
.wz-result .wz-price-main { background: var(--mp-brand); color: #fff; margin: 16px -24px -24px; padding: 12px 24px; border-radius: 0 0 var(--mp-radius) var(--mp-radius); border-top: none; }
.wz-result .wz-price-main .wz-price-big { color: #fff; }
.wz-result .wz-price-main .wz-price-big.stale { color: #FFDCC3; text-decoration: underline; }
.wz-result .wz-price-main .wz-price-big.computing { color: #FFE9D2; }
.wz-result .wz-price-main .wz-check { color: #fff; }
.wz-result .wz-price-main .wz-check input[type="checkbox"] { border-color: rgba(255, 255, 255, .7); }
.wz-result .wz-price-main .wz-check input[type="checkbox"]:checked { background-color: #fff; border-color: #fff; }
.wz-result .wz-price-main .wz-check input[type="checkbox"]::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 8.6l3.1 3.1 6.5-7.4' fill='none' stroke='%23EF7D00' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
/* Rádiá odporúčaná / prémiová kotva na oranžovej lište (Martin, 2026-09-05): zvolené = biely prstenec
   po obvode, oranžový stred a biela bodka; nezvolené ostáva pôvodné (biely kruh so sivým okrajom). */
.wz-result .wz-price-main .wz-check input[type="radio"]:checked { border: 2px solid #fff; background: radial-gradient(circle, #fff 0 3.5px, var(--mp-brand) 4.5px); }
.wz-result .wz-price-main .wz-check input[type="radio"]:focus-visible { outline-color: #fff; }
.wz-result .wz-price-main .mp-btn-ghost { background: #fff; color: var(--mp-brand); }
.wz-result .wz-price-main .wz-hint, .wz-result .wz-price-main .wz-calcnote { color: rgba(255, 255, 255, .9); }
.wz-result .wz-price-main .wz-card-sumy { color: rgba(255, 255, 255, .85); }
.wz-price-main.wz-price-sticky { position: sticky; bottom: 0; z-index: 40; box-shadow: 0 -6px 16px rgba(0, 0, 0, .14); }

/* Select splátky v poznámke kalkulačky — malý, v riadku textu. */
.wz-calcnote .wz-splatka { display: inline-block; width: auto; min-height: 0; padding: 2px 8px; font-size: 12.5px; margin: 0 2px; vertical-align: baseline; }

/* ---------- Dashboard (Stitch redesign) ---------- */
/* Dvojstĺpcový layout: vľavo karty aktivít, vpravo zoznam ponúk. */
/* Šesťuholníky identity INSIA po bokoch dashboardu (Martin, 2026-09-03): vlastná SVG dlaždica
   (assets/img/portal, PRIEHĽADNÉ pozadie, ťahy o 15 % tmavšie než v e-maile — e-mailový PNG má
   zapečený podklad #f2f0ed a na portáli presvital)
   dvakrát bez opakovania pri ľavom a pravom okraji, 450 px od vrchu (výška zoznamu ponúk).
   V strede ich kryjú karty — vidno ich len v bočných okrajoch širokých monitorov. Len dashboard
   (:has), ostatné stránky portálu ostávajú bez pozadia. */
/* Dlaždicové hexy po bokoch dashboardu nahradila pevná vrstva .pr-hexy na každej stránke (2026-09-04). */
.mp-dash { display: grid; grid-template-columns: 1fr; gap: 18px; align-items: start; }
@media (min-width: 1020px) { .mp-dash { grid-template-columns: minmax(300px, 5fr) 9fr; } }
.mp-dash-left, .mp-dash-right { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.mp-dash-left .mp-card, .mp-dash-left .mp-inbox { margin: 0; }
.mp-dash-right .mp-toolbar { margin: 0; }

/* Štatistické karty: horný farebný prúžok, uppercase label, veľké číslo. */
.mp-stat { border-top: 3px solid var(--mp-brand); box-shadow: 0 4px 12px rgba(0, 0, 0, .05); }
.mp-stat.accent { border-top-color: var(--mp-s-sent); }
.mp-stat.ok { border-top-color: var(--mp-ok); }
.mp-stat .v { font-size: 30px; }
.mp-stat .l { text-transform: uppercase; letter-spacing: .07em; font-size: 11px; font-weight: 700; margin-top: 4px; }
@media (max-width: 760px) { .mp-stats { grid-template-columns: 1fr 1fr; } }

/* Karty ľavého stĺpca: hlavička ako pás s ikonou. */
.mp-dash-left .mp-card h2 { margin: -24px -24px 14px; padding: 12px 20px; background: var(--mp-panel); border-bottom: 1px solid var(--mp-line-soft); border-radius: 16px 16px 0 0; font-size: 15.5px; }

/* Tabuľka ponúk: tieň karty + jemnejší hover. */
.mp-dash-right .mp-table { box-shadow: 0 4px 12px rgba(0, 0, 0, .05); }
.mp-trow:hover { background: var(--mp-paper); }

/* Stránkovanie zoznamu. */
.mp-pagination { display: flex; justify-content: space-between; align-items: center; background: var(--mp-panel); border: 1px solid var(--mp-line-soft); border-radius: 12px; padding: 9px 14px; font-size: 12.5px; color: var(--mp-muted); }
.mp-pagination .btns { display: flex; gap: 6px; }
.mp-pagination .pg { width: 30px; height: 30px; border-radius: 8px; border: 1px solid var(--mp-line); background: var(--mp-panel); cursor: pointer; color: var(--mp-ink); display: inline-flex; align-items: center; justify-content: center; padding: 0; }
/* Šípka ‹ › ako SVG — znak sedel mimo stredu tlačidla (Martin, 2026-09-15). */
.mp-pagination .pg svg { width: 14px; height: 14px; display: block; }
.mp-pagination .pg:hover:not(:disabled) { border-color: var(--mp-brand); color: var(--mp-brand); }
.mp-pagination .pg:disabled { opacity: .4; cursor: default; }
/* Menšia lišta pod reakciami klientov (Martin, 2026-09-15: „trochu menšia ako pod ponukami"). */
.mp-pagination-sm { margin-top: 10px; padding: 6px 10px; font-size: 11.5px; border-radius: 10px; background: var(--mp-paper); }
.mp-pagination-sm .pg { width: 26px; height: 26px; border-radius: 7px; }
.mp-pagination-sm .pg svg { width: 12px; height: 12px; }

/* Topbar: aktívna položka navigácie s oranžovým podčiarknutím. */
.mp-topnav.active { color: var(--mp-brand); border-bottom: 2px solid var(--mp-brand); padding-bottom: 2px; }

/* Zoznam ponúk podľa návrhu: PEVNÉ šírky stĺpcov — každý riadok je
   samostatná mriežka, takže auto/fr podľa obsahu by stĺpce rozhádzalo. */
/* Stĺpec Akcie má PEVNÚ šírku na 5 ikon + tlačidlo (Martin, 2026-09-08: „tu sú rozbité stĺpce").
   Šírka podľa obsahu (max-content) rozhádzala stĺpce medzi riadkami — riadok s „Pokračovať"
   a štyrmi ikonami mal iný stĺpec než riadok s „Otvoriť" a piatimi. Keby sa obsah predsa
   nezmestil, .mp-rowact ho zalomí do druhého riadku v tej istej bunke, nie pod PIN. */
/* 312 px = 6 ikon (aj špendlík) + „Pokračovať" v JEDNOM riadku (Martin, 2026-09-10: „niekde je Pokračovať
   v novom riadku, niekde nie") — zalamovanie je vypnuté, názov ponuky sa radšej skráti s …. */
.mp-dash-right .mp-thead, .mp-dash-right .mp-trow { grid-template-columns: minmax(0, 1fr) 92px 150px 84px 312px; gap: 10px; padding: 12px 14px; }
/* Užší pravý stĺpec dashboardu (dva stĺpce od 1020 px): menšie ikony a kratší dátum, aby názvu ostalo miesto. */
@media (min-width: 921px) and (max-width: 1300px) {
	/* Stĺpec akcií smie pri úzkom okne stiahnuť (minmax): pri 1020–1150 px, kde sa dashboard
	   práve zlomil na dva stĺpce, by pevných 268 px pretieklo kartu a odrezalo tlačidlo
	   (Martin, 2026-09-10 — kontrola po pridaní špendlíka). Ikony sú vtedy menšie. */
	.mp-dash-right .mp-thead, .mp-dash-right .mp-trow { grid-template-columns: minmax(90px, 1fr) 84px 132px 80px minmax(196px, 268px); gap: 8px; }
	.mp-dash-right .mp-badge { font-size: 11px; padding: 4px 8px; }
	.mp-dash-right .mp-icoact { width: 24px; height: 24px; }
	.mp-dash-right .mp-mainact { margin-left: 4px; padding: 4px 8px; font-size: 12px; }
}
.mp-dash-right .mp-thead div { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mp-dash-right .mp-trow .mp-cell:nth-child(3) { min-width: 0; font-size: 13px; color: var(--mp-muted); }
.mp-dash-right .mp-activity .rx { display: inline-block; }
.mp-dash-right .mp-thead .r { text-align: right; }
.mp-dash-right .mp-thead .c { text-align: center; }
.mp-cell.check { display: flex; align-items: center; }
.mp-cell.pin { background: var(--mp-paper); align-self: stretch; display: flex; align-items: center; justify-content: center; margin: -12px 0; }
/* Jednoriadkové bunky = rovnaká výška riadkov. */
.mp-dash-right .mp-oname { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mp-dash-right .mp-osub { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mp-dash-right .mp-cell.name { min-width: 0; }
.mp-dash-right .mp-rowact { justify-content: flex-end; width: 100%; flex-wrap: nowrap; }

/* PIN ako drobný mono chip (klik kopíruje) — podľa návrhu. */
.mp-pincode { font-family: ui-monospace, 'Cascadia Mono', Consolas, monospace; font-size: 13px; letter-spacing: .04em; background: var(--mp-mist); border: none; border-radius: 6px; padding: 3px 8px; color: var(--mp-ink); cursor: pointer; }
.mp-pincode:hover { background: rgba(239, 125, 0, .15); }
.mp-pincode.none { background: none; color: var(--mp-muted); cursor: default; }

/* Ikonové akcie v riadku: tlmené, plná sýtosť na hover riadku. */
.mp-rowact { display: inline-flex; align-items: center; gap: 2px; justify-content: flex-end; flex-wrap: wrap; row-gap: 4px; max-width: 100%; }
.mp-cell.mp-actions { min-width: 0; }
.mp-icoact { display: inline-grid; place-items: center; width: 30px; height: 30px; border: none; background: none; border-radius: 8px; color: var(--mp-muted); cursor: pointer; padding: 0; }
.mp-icoact:hover { color: var(--mp-brand); background: var(--mp-mist); }
.mp-mainact { margin-left: 8px; border: 1px solid var(--mp-line); border-radius: 8px; background: var(--mp-panel); color: var(--mp-ink); font-size: 12.5px; font-weight: 700; padding: 5px 12px; text-decoration: none; white-space: nowrap; }
.mp-mainact:hover { border-color: var(--mp-brand); color: var(--mp-brand); }
/* Rovnaká šírka pre „Otvoriť" aj „Pokračovať" — ikony akcií pred tlačidlom inak skáču podľa riadka (Martin, 2026-09-12). */
.mp-mainact { min-width: 98px; text-align: center; box-sizing: border-box; }
@media (hover: hover) {
	.mp-trow .mp-rowact { opacity: .35; transition: opacity .15s; }
	.mp-trow:hover .mp-rowact { opacity: 1; }
}

/* Výročia: karta s badge „O X DNÍ" a dvomi tlačidlami (návrh). */
.mp-anniv { background: var(--mp-panel); border: 1px solid var(--mp-line-soft); border-radius: 12px; padding: 12px 14px; display: block !important; }
.mp-anniv + .mp-anniv { margin-top: 10px; }
.mp-anniv .t { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.mp-anniv .t a { text-decoration: none; color: var(--mp-ink); font-size: 14px; }
.mp-days { background: rgba(180, 72, 60, .14); color: var(--mp-err); font-size: 10px; font-weight: 800; letter-spacing: .05em; border-radius: 6px; padding: 3px 8px; white-space: nowrap; }
.mp-anniv .m { font-size: 12px; color: var(--mp-muted); margin: 3px 0 10px; }
.mp-anniv .b { display: flex; gap: 8px; flex-wrap: wrap; }
.mp-anniv-btn { flex: 0 0 auto; border-radius: 8px; font-size: 11.5px; font-weight: 700; padding: 7px 14px; cursor: pointer; } /* prirodzená šírka — pri širokom rozložení sa tlačidlá nerozťahujú */
.mp-anniv-btn.ghost { background: var(--mp-panel); border: 1px solid var(--mp-line); color: var(--mp-ink); }
.mp-anniv-btn.ghost:hover { border-color: var(--mp-brand); color: var(--mp-brand); }
.mp-anniv-btn.solid { background: var(--mp-brand); border: 1px solid var(--mp-brand); color: #fff; }
.mp-anniv-btn.solid:hover { filter: brightness(1.06); }

/* Reakcie: názov ponuky + čas vpravo, citovaná správa, chip typu. */
/* Bez !important (oprava 2026-09-21, v plugine rovnaká chyba): stránkovanie reakcií v dashboard.js
   skrýva položky mimo aktuálnej strany inline štýlom display:none, ktorý by !important prebil –
   všetkých 16 reakcií ostávalo viditeľných a klik na šípky menil len text. Druhý selektor drží
   špecifickosť nad `.mp-dash-right .mp-activity .rx { display: inline-block }`. */
.mp-rx, .mp-dash-right .mp-activity li.mp-rx { display: block; padding: 12px 2px; }
.mp-rx + .mp-rx { border-top: 1px solid var(--mp-line-soft); }
.mp-rx .t { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
.mp-rx .t a { text-decoration: none; color: var(--mp-ink); font-size: 14px; }
.mp-rx .t .when { font-size: 11.5px; color: var(--mp-muted); white-space: nowrap; }
.mp-rx .msg { display: block; font-size: 13px; color: var(--mp-muted); margin: 4px 0 6px; }
.mp-rxchip { display: inline-flex; align-items: center; gap: 4px; font-size: 10.5px; font-weight: 700; border-radius: 999px; padding: 3px 10px; margin-bottom: 6px; }
.mp-rxchip.otazka { background: rgba(47, 109, 176, .12); color: var(--mp-s-sent); }
.mp-rxchip.zaujem { background: rgba(46, 125, 91, .12); color: var(--mp-ok); }
.mp-rxchip.zavolajte { background: rgba(239, 125, 0, .12); color: var(--mp-brand-dark); }
.mp-rxchip.aktualizacia { background: rgba(180, 83, 9, .12); color: #B45309; }
.mp-rxchip.odporucanie { background: rgba(46, 125, 91, .12); color: var(--mp-ok); }
.mp-rxchip.ina { background: var(--mp-mist); color: var(--mp-muted); }
.mp-rx.done { opacity: .55; }
.mp-rx-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 6px; }
.mp-rx .t .when { margin-right: 0; } /* Štvorček „vybavené" pod ním lícuje s pravým okrajom dátumu. */
.mp-rx-row .mp-rxchip { margin-bottom: 0; }
.mp-rx-row .mp-act { margin-left: 0; }
.mp-rx-row .mp-rx-done { margin-left: auto; }

/* Dnes urob: farebný pásik vľavo pri položke (návrh). */
.mp-worklist .mp-activity-list li { position: relative; padding-left: 14px; }
.mp-worklist .mp-activity-list li::before { content: ""; position: absolute; left: 0; top: 4px; bottom: 4px; width: 4px; border-radius: 999px; background: var(--mp-brand); }

/* Topbar podľa návrhu: centrovaná navigácia, ikonové tlačidlá, avatar. */
.mp-topbar { position: relative; }
.mp-topcenter { position: absolute; left: 50%; transform: translateX(-50%); display: flex; gap: 26px; align-items: center; height: 100%; }
.mp-topcenter .mp-topnav { color: var(--mp-muted); text-decoration: none; font-weight: 600; font-size: 14px; padding: 6px 2px; }
.mp-topcenter .mp-topnav:hover { color: var(--mp-brand); }
.mp-topcenter .mp-topnav.active { color: var(--mp-brand); border-bottom: 2px solid var(--mp-brand); padding-bottom: 4px; }
.mp-iconbtn { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: var(--mp-muted); }
.mp-iconbtn:hover { background: var(--mp-mist); color: var(--mp-ink); }
/* Fotka v hornej lište v šesťuholníku ako v ponuke (Martin, 2026-09-03); rovnaké priblíženie,
   vlastný výrez z profilu bez neho. */
.mp-userchip .mp-avatar { width: 40px; height: 35px; overflow: hidden; border-radius: 0; clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%); }
.mp-userchip .mp-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; transform: scale(1.5); transform-origin: 50% 42%; }
.mp-userchip .mp-avatar.custom img { transform: none; }
.mp-logout { font-size: 12.5px; }
/* Port: odhlásenie je POST formulár s tlačidlom (plugin mal odkaz `<a>`), preto tlačidlo
   zdedí vzhľad odkazu z `.mp-userchip a` a formulár nezasahuje do medzier lišty (Martin, 2026-09-21). */
.mp-userchip .mp-logout-form { display: contents; }
.mp-userchip button.mp-logout { appearance: none; -webkit-appearance: none; border: 0; background: none; padding: 0; margin: 0; font: inherit; font-size: 12.5px; font-weight: 600; color: var(--mp-brand); cursor: pointer; line-height: inherit; }
.mp-userchip button.mp-logout:hover { text-decoration: underline; }
.mp-userchip button.mp-logout:focus-visible { outline: 2px solid var(--mp-brand); outline-offset: 2px; border-radius: 4px; }
/* Štítok zdieľania v zozname ponúk: smer je v texte aj farbe — „od:" (ponuka kolegu, modrasté)
   a „pre:" (moja ponuka vyzdieľaná kolegom, oranžové) — Martin, 2026-09-15. */
.mp-owner-badge { display: inline-block; border-radius: 999px; padding: 1px 9px; font-size: 11.5px; font-weight: 600; margin-left: 6px; max-width: 100%; }
.mp-owner-badge.od { background: #E8F0FA; color: #2F5D8A; }
.mp-owner-badge.pre { background: #fff0df; color: #81460c; }
/* Užšie okno: menu nie je v lište, ale rozbalí sa tlačidlom pod ňou (Martin, 2026-09-15). */
/* Náhľady strán poistky v kroku 1 (mobil aj počítač) — 150 px vysoké (Martin, 2026-09-15). */
.wz-strany { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
/* min-width: nenačítaný obrázok (chýbajúci sken) inak zúži náhľad na tenký rámik (Martin, 2026-09-21, lokálna kópia bez skenov). */
.wz-strana { position: relative; display: block; height: 150px; min-width: 110px; border: 1px solid var(--mp-line); border-radius: 10px; overflow: hidden; background: #fff; }
.wz-strana img { display: block; height: 150px; width: auto; max-width: 220px; object-fit: contain; }
.wz-strana span { position: absolute; left: 6px; bottom: 6px; background: rgba(23, 24, 26, .72); color: #fff; font-size: 11px; font-weight: 600; border-radius: 999px; padding: 1px 7px; }
.wz-strana:hover { border-color: var(--mp-brand); }
.mp-navtoggle { display: none; }
@media (max-width: 900px) {
	.mp-navtoggle { display: inline-grid; }
	.mp-topcenter { display: none; position: absolute; left: var(--mp-okraj); right: var(--mp-okraj); top: calc(100% + 8px); transform: none; flex-direction: column; align-items: stretch; gap: 2px; height: auto; padding: 8px; background: #fff; border: 1px solid rgba(23, 24, 26, .08); border-radius: 14px; box-shadow: 0 18px 40px -18px rgba(23, 24, 26, .35); z-index: 90; }
	.mp-topcenter.open { display: flex; }
	.mp-topcenter .mp-topnav { padding: 10px 12px; border-radius: 8px; }
	.mp-topcenter .mp-topnav:hover { background: #fff0df; }
	.mp-topcenter .mp-topnav.active { border-bottom: 0; padding-bottom: 10px; background: #fff0df; }
}

/* Štatistiky podľa návrhu: label hore, číslo dole, tmavé čísla. */
.mp-stat { display: flex; flex-direction: column; gap: 6px; position: relative; overflow: hidden; }
.mp-stat .v { color: var(--mp-ink) !important; margin-top: 0; }
.mp-stat .l { margin-top: 0; order: -1; }
.mp-stat .v .rate { font-size: 12px; font-weight: 800; color: var(--mp-brand); background: rgba(239, 125, 0, .12); border-radius: 5px; padding: 2px 6px; vertical-align: 4px; }
.mp-stat .l svg { vertical-align: -2px; color: var(--mp-s-sent); }
.mp-stat-forum .ghost { position: absolute; right: -12px; bottom: -14px; color: rgba(239, 125, 0, .14); }

/* Ikony hlavičiek kariet. */
.mp-hico { vertical-align: -4px; margin-right: 2px; }
.mp-hico.oranz { color: var(--mp-brand); }
.mp-hico.modra { color: var(--mp-s-sent); }
.mp-dash-left .mp-card h2 { display: flex; align-items: center; gap: 8px; }
.mp-dash-left .mp-card h2 .mp-inbox-count { margin-left: auto; background: var(--mp-mist); color: var(--mp-muted); }

/* Dnes urob: dvojriadkové položky s pásikom a šípkou (návrh). */
.mp-worklist .mp-activity-list { gap: 2px; display: grid; }
.mp-worklist .mp-activity-list li.mp-wl { padding: 0; }
.mp-worklist .mp-activity-list li.mp-wl::before { display: none; }
.mp-wl a { display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 2px; border-radius: 10px; text-decoration: none; color: var(--mp-ink); border: 1px solid transparent; }
.mp-wl a:hover { background: rgba(23, 24, 26, .03); border-color: var(--mp-line-soft); }
.mp-wl .bar { width: 4px; align-self: stretch; border-radius: 999px; background: var(--mp-brand); flex: none; }
.mp-wl.calm .bar { background: var(--mp-line); }
.mp-wl .tx { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.mp-wl .tx b { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mp-wl .tx .sub { font-size: 11.5px; color: var(--mp-muted); }
.mp-wl .chev { color: var(--mp-muted); font-size: 16px; }

/* Karta zoznamu ponúk: nadpis + hľadanie + chips vnútri (návrh). */
.mp-tablebar { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 16px; background: var(--mp-panel); flex-wrap: wrap; }
.mp-tablebar h2 { font-family: var(--mp-font-d); font-weight: 800; font-size: 19px; letter-spacing: -.01em; }
.mp-tablebar .mp-search { position: relative; display: flex; align-items: center; margin: 0; }
.mp-tablebar .mp-search svg { position: absolute; left: 10px; color: var(--mp-muted); pointer-events: none; }
.mp-tablebar .mp-search input { width: 240px; border: 1px solid var(--mp-line); border-radius: 10px; padding: 8px 10px 8px 34px; font: inherit; font-size: 13.5px; background: var(--mp-panel); color: var(--mp-ink); }
.mp-tablebar .mp-search input:focus { outline: none; border-color: var(--mp-brand); box-shadow: 0 0 0 3px rgba(239, 125, 0, .12); }
.mp-chiprow { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; padding: 0 16px 12px; }
/* Vyhľadávanie ponúk vpravo v riadku filtrov (Martin, 2026-09-12); len SVG lupa — globálne ::before (⌕) tu nie, inak sú dve na sebe. */
.mp-chiprow .mp-search { position: relative; display: flex; align-items: center; margin: 0 0 0 auto; flex: 1 1 200px; max-width: 320px; } /* základ 200 px, aby sa pri zalamovaní zmestil vedľa filtrov, potom dorastie */
.mp-chiprow .mp-search::before, .mp-tablebar .mp-search::before { content: none; }
.mp-chiprow .mp-search svg { position: absolute; left: 10px; color: var(--mp-muted); pointer-events: none; }
.mp-chiprow .mp-search input { width: 100%; box-sizing: border-box; border: 1px solid var(--mp-line); border-radius: 10px; padding: 8px 10px 8px 34px; font: inherit; font-size: 13.5px; background: var(--mp-panel); color: var(--mp-ink); }
.mp-chiprow .mp-search input:focus { outline: none; border-color: var(--mp-brand); box-shadow: 0 0 0 3px rgba(239, 125, 0, .12); }
.mp-chiprow .mp-chip { font-size: 12px; padding: 5px 12px; }
.mp-table .mp-pagination { border: none; border-top: 1px solid var(--mp-line-soft); border-radius: 0; background: var(--mp-paper); }

/* Dnes urob: ✓ vybavené — zelené na hover, položka je flex s tlačidlom. */
/* Riadky sú položky gridu — bez min-width:0 by ich dlhý názov (nowrap +
   ellipsis) roztiahol nad šírku karty a tlačidlá › ✓ by vyleteli do
   susednej tabuľky (prípad z prevádzky: „… — obnova 2026 — obnova 2026"). */
.mp-activity-list > li { min-width: 0; }
.mp-wl { display: flex; align-items: center; gap: 2px; min-width: 0; }
.mp-wl a { flex: 1; min-width: 0; }
.mp-wl-done { flex: none; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--mp-line-soft); background: var(--mp-panel); border-radius: 8px; color: var(--mp-muted); cursor: pointer; padding: 0; }
.mp-wl-done:hover { border-color: var(--mp-ok); color: var(--mp-ok); background: rgba(46, 125, 91, .08); }

/* Checkboxy zoznamu o 7 px doľava (Martinovo doladenie). */

/* Položky kariet aktivít BEZ šedého podkladu (základné .mp-activity-list li
   má mist pozadie s vyššou špecificitou — tu sa prebíja). Výročia sú biele
   karty s rámikom, ostatné položky splývajú s kartou. */
.mp-dash-left .mp-activity-list li { background: transparent; }
.mp-dash-left .mp-activity-list li.mp-anniv { background: var(--mp-panel); }

/* ---------- Karta klienta (/portal/klient/{id}/) ---------- */
/* Hlavička: meno so štítkom typu, dátum pridania a akcie vpravo. */
.kk-app { max-width: var(--mp-sirka); }
.kk-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.kk-nazov { margin: 0; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.kk-badge { font-family: var(--mp-font-b); font-size: 10.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--mp-muted); background: var(--mp-mist); border-radius: 999px; padding: 5px 12px; white-space: nowrap; }
.kk-pridany { margin: 6px 0 0; font-size: 13px; color: var(--mp-brand-dark); }
.kk-akcie { display: flex; gap: 10px; flex-wrap: wrap; }

/* Kontakty: hlavný kontakt a ďalšie osoby v riadkoch s popiskami. */
.kk-kontakty-card { padding: 20px 24px; }
.kk-kontakt { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px 16px; align-items: end; }
.kk-kontakt + .kk-kontakt { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--mp-line-soft); }
.kk-kontakt .kk-pole { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.kk-kontakt .kk-pole label { font-size: 12px; font-weight: 600; color: var(--mp-muted); }
.kk-kontakt .mp-input { margin: 0; }
/* Partneri: riadok má pevné stĺpce, aby vyzeral rovnako s poznámkou pod ním aj bez nej
   (auto-fit z .kk-kontakt zbalí prázdne stopy len tam, kde poznámka nie je, a polia sa potom
   roztiahnu — Martin, 2026-09-08: „toto je nejaké rozhádzané"). */
.kk-partner { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1.1fr) 40px; }
.kk-partner-info { grid-column: 1 / -1; font-size: 12.5px; margin-top: -4px; }
/* Partneri ako zoznam na čítanie (Martin, 2026-09-12) — riadok sa do polí prepne tlačidlom Upraviť. */
.kk-partner-riadok { display: block; padding: 10px 0; }
.kk-partner-riadok + .kk-partner, .kk-partner + .kk-partner-riadok { border-top: 1px solid var(--mp-line-soft); }
.kk-partner-hlava { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.kk-partner-hlava .kk-partner-nazov { flex: 1 1 200px; min-width: 0; }
.kk-partner-hlava .kk-partner-ico { font-size: 13px; color: var(--mp-muted); font-variant-numeric: tabular-nums; }
.kk-partner-hlava .kk-partner-typ { font-size: 12px; }
.kk-partner-akcie { display: inline-flex; gap: 4px; margin-left: auto; }
.kk-partner-riadok .kk-partner-info { margin-top: 4px; }
.kk-icobtn { font: inherit; width: 30px; height: 30px; border: 1px solid var(--mp-line-soft); border-radius: 8px; background: #fff; color: var(--mp-muted); cursor: pointer; }
.kk-icobtn:hover { color: var(--mp-brand-dark); border-color: var(--mp-brand); }
.kk-partner-lista { margin-top: 14px; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
/* Hláška preverovania: väčší hex s textom, na stred výšky tlačidla, ďalej od neho (Martin, 2026-09-12). */
.kk-partner-msg, .mp-card .hint.kk-partner-msg { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 0 12px; font-size: 13.5px; min-height: 40px; }
.kk-partner-msg .mp-hexspin { width: 42px; height: 42px; }
.kk-kopiruj.kk-kopiruj-text { font-weight: 400; margin-left: -6px; }
@media (max-width: 640px) {
	.kk-partner { grid-template-columns: minmax(0, 1fr); }
	.kk-partner .kk-del { justify-self: end; }
}

.kk-del { align-self: end; height: 40px; width: 40px; border: 1px solid var(--mp-line-soft); background: var(--mp-panel); border-radius: 10px; color: var(--mp-err); cursor: pointer; font-size: 14px; }
.kk-del:hover { border-color: var(--mp-err); background: rgba(180, 72, 60, .07); }
.kk-msg { margin: 12px 0 0; min-height: 18px; }

/* Sekcie k ponukám v dvoch stĺpcoch, zvyšok cez celú šírku. */
.kk-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 18px; align-items: stretch; }
/* Karty v jednom riadku maju rovnaku vysku; prazdny stav sa v nej vycentruje. */
.kk-grid .kk-sec { display: flex; flex-direction: column; }
.kk-grid .kk-sec:not(.kk-closed) .kk-body:has(> .kk-empty) { flex: 1; display: flex; align-items: center; justify-content: center; }
@media (max-width: 900px) { .kk-grid { grid-template-columns: 1fr; } }
.kk-grid .kk-sec, .kk-grid .kk-sec + .kk-sec { margin-top: 0; }

/* Hlavička sekcie: nadpis s linkou pod ním, šípka vpravo; sticky ako
   karty poisťovní v kroku 3 sprievodcu. */
.kk-sec { padding-top: 0; }
.kk-sec + .kk-sec { margin-top: 18px; }
/* Sekcia hneď po mriežke kariet (Aktivity…) — rovnaká medzera ako nad ňou. */
.kk-grid + .kk-sec { margin-top: 18px; }
/* Bankové účty oznámené pre DPH — chip na IBAN sa kliknutím kopíruje. */
.kk-dph-ucty { margin-top: 10px; }
.kk-dph-ucty .kk-kopiruj { margin: 4px 6px 0 0; }
/* Vyhľadávanie v katastri: info panel + pole obcí + CTA na celú šírku. */
.kk-kat-box { text-align: left; }
.kk-kat-info { display: flex; gap: 10px; align-items: flex-start; background: var(--mp-mist); border: 1px solid var(--mp-line-soft); border-radius: 12px; padding: 12px 14px; margin-bottom: 12px; font-size: 13.5px; line-height: 1.5; }
.kk-kat-i { flex: 0 0 auto; width: 20px; height: 20px; border-radius: 50%; background: var(--mp-brand); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 12px; margin-top: 1px; }
.kk-kat-chip { display: inline-block; border: 1px solid var(--mp-line); background: #fff; border-radius: 8px; padding: 1px 8px; font-weight: 600; }
.kk-kat-label { display: block; font-weight: 600; margin: 10px 0 6px; }
.kk-head { position: sticky; top: 0; z-index: 6; display: flex; align-items: center; justify-content: space-between; gap: 10px; background: var(--mp-panel); padding: 18px 24px 12px; margin: 0 -24px 16px; border-bottom: 1px solid var(--mp-line-soft); border-radius: var(--mp-radius) var(--mp-radius) 0 0; cursor: pointer; user-select: none; }
.kk-head h2 { margin: 0; font-size: 17px; font-weight: 800; }
.kk-count { color: var(--mp-muted); font-size: 14px; font-weight: 700; margin-left: 6px; font-family: var(--mp-font-b); }
.kk-toggle { flex: none; border: 0; background: none; color: var(--mp-muted); font-size: 15px; line-height: 1; cursor: pointer; padding: 4px 8px; border-radius: 8px; transition: transform .18s var(--mp-ease), color .15s; }
.kk-head:hover .kk-toggle { color: var(--mp-brand); background: var(--mp-mist); }
.kk-sec.kk-closed .kk-toggle { transform: rotate(-90deg); }
.kk-sec.kk-closed .kk-body { display: none; }
.kk-sec.kk-closed { padding-bottom: 0; }
.kk-sec.kk-closed .kk-head { margin-bottom: 0; border-bottom: 0; border-radius: var(--mp-radius); }

/* Prázdny stav sekcie: ikona a text na stred, v brandovom tóne. */
.kk-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; text-align: center; padding: 26px 16px; min-height: 140px; width: 100%; }
/* Ponuka firiem z webu klienta a z CRZ nad zoznamom partnerov (Martin, 2026-09-08). */
/* Odkazy na úradný výpis pod identifikačnými údajmi (Martin, 2026-09-09). */
.kk-vypis { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--mp-line-soft); display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.kk-vypis .mp-btn { padding: 6px 12px; font-size: 13px; }
.kk-vypis .hint { flex-basis: 100%; }
.kk-navrhy { border: 1px dashed var(--mp-line); border-radius: 10px; padding: 10px 12px; margin-bottom: 12px; background: var(--mp-mist, #F6F7F8); }

/* Ponuky klienta ako karty: názov + štítok stavu, pod tým metaúdaje. */
.kk-ponuka { display: block; background: var(--mp-panel); border: 1px solid var(--mp-line-soft); border-radius: 12px; padding: 12px 14px; margin-bottom: 10px; text-decoration: none; color: inherit; transition: border-color .15s, box-shadow .15s; }
.kk-ponuka:hover { border-color: var(--mp-brand); box-shadow: 0 4px 14px -10px rgba(23, 24, 26, .35); }
.kk-ponuka-hlava { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 5px; }
.kk-ponuka-hlava b { font-size: 15.5px; }
.kk-empty p { margin: 0; font-size: 13.5px; color: var(--mp-brand-dark); max-width: 320px; }
.kk-empty-ico { color: var(--mp-brand-soft); }

/* Identifikačné údaje nad kontrolami v registroch. */
.kk-udaje { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px 24px; }
.kk-udaje .hint { display: block; font-size: 12px; margin-bottom: 2px; }
/* Hodnota sa kliknutím skopíruje do schránky. */
.kk-kopiruj { font: inherit; font-weight: 700; color: var(--mp-ink); background: none; border: 0; border-radius: 6px; padding: 2px 6px; margin: 0 0 0 -6px; text-align: left; cursor: pointer; max-width: 100%; overflow-wrap: anywhere; }
.kk-kopiruj:hover { background: var(--mp-mist); color: var(--mp-brand-dark); }
.kk-kopiruj:focus-visible { outline: 2px solid rgba(239, 125, 0, .45); outline-offset: 1px; }
.kk-kopiruj.kk-kopirovane { background: #E8F5E9; color: #2E7D32; }

/* Grafy ukazovateľov z účtovných závierok (inline SVG, bez knižnice). */
.kk-grafy { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; margin-bottom: 18px; }
.kk-graf-box { border: 1px solid var(--mp-line-soft); border-radius: 12px; padding: 12px 14px 6px; background: var(--mp-panel); min-width: 0; }
.kk-graf-hlava { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; font-size: 12px; color: var(--mp-muted); }
.kk-graf-hodnota { font-family: var(--mp-font-d); font-weight: 800; font-size: 18px; letter-spacing: -.01em; margin: 2px 0 6px; font-variant-numeric: tabular-nums; }
.kk-graf { width: 100%; height: 96px; display: block; overflow: visible; }
.kk-graf-rok { font-size: 9px; fill: var(--mp-muted); font-family: var(--mp-font-b); }
.kk-graf-zmena { font-size: 11px; font-weight: 700; white-space: nowrap; }
.kk-graf-zmena.rast { color: var(--mp-ok); }
.kk-graf-zmena.pokles { color: var(--mp-err); }

/* Stránkovanie zoznamu klientov — číslované odkazy so zachovaným hľadaním. */
.mp-pager { display: flex; align-items: center; justify-content: center; gap: 6px; flex-wrap: wrap; margin-top: 16px; }
.mp-pager a, .mp-pager .cur { min-width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; padding: 0 10px; border-radius: 10px; border: 1px solid var(--mp-line-soft); background: var(--mp-panel); color: var(--mp-ink); text-decoration: none; font-size: 13.5px; font-weight: 600; }
.mp-pager a:hover { border-color: var(--mp-brand); color: var(--mp-brand); }
.mp-pager .cur { background: var(--mp-brand); border-color: var(--mp-brand); color: #fff; }
.mp-pager .hint { margin-left: 8px; }
/* Stránkovanie aktivít na karte klienta — menšie, na spodku okienka. */
.kk-pager { margin-top: 12px; justify-content: flex-start; }
.kk-pager a, .kk-pager .cur { min-width: 30px; height: 30px; font-size: 12.5px; }

/* Popis zálohu z NCRzp — právny text na niekoľko odsekov, rozklikne sa pod riadkom. */
.kk-viac {
	background: none;
	border: 0;
	padding: 0;
	color: var(--mp-brand);
	font: inherit;
	font-size: 12px;
	cursor: pointer;
	text-decoration: underline;
	white-space: nowrap;
}
.kk-zaloh-text {
	white-space: pre-wrap;
	font-size: 12.5px;
	line-height: 1.55;
	color: var(--mp-muted);
	max-height: 340px;
	overflow-y: auto;
	padding: 8px 10px;
	border-left: 3px solid var(--mp-line);
	background: rgba(0, 0, 0, .02);
}

/* Rozpoznané veci v zálohu — chip so značkou, modelom a VIN. */
.kk-zaloh-veci {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 0 0 6px;
}
.kk-vec {
	display: inline-block;
	border: 1px solid var(--mp-line);
	border-radius: 999px;
	padding: 2px 10px;
	font-size: 11.5px;
	background: #fff;
	white-space: nowrap;
}
.kk-vin {
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-size: 11px;
}

/* Poistné ukazovatele zo závierky — karta s hodnotou, semaforom a výkladom. */
.kk-ukazovatele {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 10px;
	margin-bottom: 16px;
}
.kk-ukaz {
	display: flex;
	flex-direction: column;
	gap: 2px;
	border-left: 3px solid var(--mp-line);
	padding: 4px 0 4px 10px;
}
.kk-ukaz-nazov {
	font-size: 12px;
	color: var(--mp-muted);
}
.kk-ukaz-hodnota {
	font-size: 19px;
	font-variant-numeric: tabular-nums;
}
.kk-ukaz .hint {
	font-size: 11.5px;
	line-height: 1.45;
}

/* Priebeh dlhého zostavovania — nekonečný pruh, nie percentá (nevieme ich). */
.kk-priebeh {
	height: 4px;
	border-radius: 2px;
	background: var(--mp-line);
	overflow: hidden;
}
.kk-priebeh span {
	display: block;
	width: 35%;
	height: 100%;
	border-radius: 2px;
	background: var(--mp-brand);
	animation: mp-priebeh 1.4s ease-in-out infinite;
}
@keyframes mp-priebeh {
	0% { transform: translateX(-100%); }
	100% { transform: translateX(300%); }
}
@media (prefers-reduced-motion: reduce) {
	.kk-priebeh span { animation: none; width: 100%; opacity: .5; }
}

/* Jednotná lišta krokov (partials/kroky): hotový krok, na ktorý sa práve
   preplo v sprievodcovi, ostáva čitateľný; chip postupu v zozname ponúk. */
.wz-step.active.wz-step-done { color: #fff; border-color: var(--mp-brand); }
.wz-step.active.wz-step-done span { background: #FFDCC3; color: #582D00; }
a.wz-step.wz-step-done:hover { opacity: 1; border-color: #2E7D5B; color: #2E7D5B; }
.mp-krok-chip { display: inline-block; padding: 1px 8px; border-radius: 999px; background: rgba(239, 125, 0, .12); color: #9A4B00; font-size: 11.5px; font-weight: 700; letter-spacing: .02em; vertical-align: middle; }
#npKlOsobyList .wz-check { align-items: flex-start; font-weight: 500; }

/* Editor šablóny ako samostatná obrazovka — prehľad a bočný panel sú skryté (JS),
   editor dostane plnú šírku. */
.mp-app.tpl-mode-editor #tplGrid { grid-template-columns: 1fr !important; }
/* Editor šablóny je samostatná obrazovka: sablony.js skrýva #tplPrehlad, #tplList a #tplSide, ale blok
   „Zdieľané so mnou" (nadpis + karty) je mimo #tplList – skryje ho toto pravidlo (oprava 2026-09-21,
   v plugine rovnaká chyba: zoznam zdieľaných šablón ostával nad editorom). */
.mp-app.tpl-mode-editor .tpl-zdielane-nadpis, .mp-app.tpl-mode-editor .tpl-card-shared { display: none; }
.mp-app.tpl-mode-editor .tpl-editor { max-width: 1100px; }

/* Zvonček v hornej lište: badge neprečítaných + mini okno upozornení. */
.mp-userchip { position: relative; }
.mp-bell { position: relative; border: 0; background: none; cursor: pointer; font-family: inherit; }
.mp-bell.has-new svg { color: var(--mp-brand); }
.mp-bell-badge { position: absolute; top: -2px; right: -2px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--mp-brand); color: #fff; font-size: 11px; font-weight: 800; line-height: 18px; text-align: center; box-shadow: 0 0 0 2px #fff; }
.mp-notif { position: absolute; top: calc(100% + 10px); right: 0; width: 380px; max-width: calc(100vw - 24px); background: #fff; border: 1px solid var(--mp-line); border-radius: 14px; box-shadow: 0 18px 44px -18px rgba(23, 24, 26, .45); z-index: 90; display: none; text-align: left; }
.mp-notif.open { display: block; }
.mp-notif-head { display: flex; justify-content: space-between; align-items: center; padding: 12px 14px; border-bottom: 1px solid var(--mp-line-soft); font-weight: 800; font-family: var(--mp-font-d); }
.mp-notif-x { border: 0; background: none; cursor: pointer; font-size: 14px; color: var(--mp-muted); padding: 2px 6px; }
.mp-notif-list { list-style: none; margin: 0; padding: 0; max-height: 420px; overflow-y: auto; }
.mp-notif-list li a { display: grid; grid-template-columns: 30px 1fr; gap: 10px; padding: 10px 14px; text-decoration: none; color: inherit; border-bottom: 1px solid var(--mp-line-soft); }
.mp-notif-list li a:hover { background: rgba(239, 125, 0, .05); }
.mp-notif-list li.new a { background: rgba(239, 125, 0, .09); }
.mp-notif-ico { width: 30px; height: 30px; border-radius: 50%; background: var(--mp-mist); display: grid; place-items: center; font-size: 14px; font-weight: 700; color: var(--mp-ink); }
.mp-notif-txt b { display: block; font-size: 13.5px; }
.mp-notif-txt span { display: block; font-size: 12px; color: var(--mp-muted); }
.mp-notif-txt span.d { color: var(--mp-ink); font-style: italic; }
.mp-notif-empty { padding: 22px 14px; text-align: center; color: var(--mp-muted); font-size: 13.5px; }
.mp-notif-foot { padding: 10px 14px; display: flex; justify-content: space-between; gap: 8px; font-size: 12.5px; font-weight: 600; }

/* ============================================================
   Zoznam ponúk na mobile — karta namiesto 5-stĺpcovej mriežky.
   Pevné šírky stĺpcov (.mp-dash-right .mp-trow, 2 triedy) prebíjali mobilné
   pravidlo s 1 triedou (Martin, 2026-09-04: prekrývajúce sa bunky, viditeľná
   hlavička). Selektory tu majú rovnakú alebo vyššiu špecificitu a sú na konci.
   ============================================================ */
@media (max-width: 920px) {
	.mp-dash-right .mp-thead, .mp-thead { display: none; }
	.mp-dash-right .mp-trow, .mp-trow { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, 1fr); gap: 10px 12px; padding: 14px 16px; align-items: start; }
	/* Názov cez celú šírku, zalamuje sa (na desktope je jednoriadkový s …). */
	.mp-dash-right .mp-cell.name, .mp-cell.name { grid-column: 1 / -1; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 3px; min-width: 0; }
	.mp-dash-right .mp-oname, .mp-oname { display: block; white-space: normal; overflow: visible; text-overflow: clip; font-size: 16px; line-height: 1.25; }
	.mp-dash-right .mp-osub, .mp-osub { white-space: normal; overflow: visible; text-overflow: clip; }
	/* Bunka = popisok nad hodnotou. */
	.mp-dash-right .mp-cell, .mp-cell { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 4px; min-width: 0; }
	.mp-dash-right .mp-cell-lbl, .mp-cell-lbl { display: block; font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--mp-muted); font-weight: 700; }
	.mp-dash-right .mp-trow .mp-cell:nth-child(2) { font-size: 13.5px; font-variant-numeric: tabular-nums; }
	.mp-dash-right .mp-trow .mp-cell:nth-child(3) { font-size: 13px; color: var(--mp-muted); }
	.mp-dash-right .mp-badge, .mp-trow .mp-badge { white-space: nowrap; text-align: left; }
	.mp-dash-right .mp-activity, .mp-trow .mp-activity { margin-top: 3px; }
	/* PIN bez sivého pásu a záporných okrajov z desktopu. */
	.mp-dash-right .mp-cell.pin, .mp-cell.pin { margin: 0; background: none; align-self: auto; justify-content: flex-start; }
	/* Akcie dole cez celú šírku: ikony vľavo, hlavné tlačidlo vpravo. */
	.mp-dash-right .mp-cell.mp-actions, .mp-cell.mp-actions { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: space-between; border-top: 1px dashed var(--mp-line-soft); padding-top: 10px; margin-top: 2px; }
	.mp-dash-right .mp-cell.mp-actions .mp-cell-lbl, .mp-cell.mp-actions .mp-cell-lbl { display: none; }
	.mp-dash-right .mp-rowact, .mp-rowact { display: flex; width: 100%; align-items: center; justify-content: flex-start; gap: 4px; }
	.mp-dash-right .mp-rowact .mp-mainact, .mp-rowact .mp-mainact { margin-left: auto; }
	.mp-dash-right .mp-icoact, .mp-icoact { width: 36px; height: 36px; }
}

/* ============================================================
   Prehľad portálu (/portal/prehlad) — filtre, KPI, tabuľky, pásiky.
   ============================================================ */
.mp-rep-filter { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: flex-end; margin-bottom: 16px; }
.mp-rep-filter label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; font-weight: 700; color: var(--mp-muted); text-transform: uppercase; letter-spacing: .04em; }
.mp-rep-filter .mp-input { min-width: 170px; }
.mp-rep-filter label[hidden] { display: none; }
/* Vyhľadávací výber s checkboxami (Jednotlivec). */
.mp-msel { position: relative; min-width: 220px; }
.mp-msel-btn { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; text-align: left; cursor: pointer; font-weight: 500; text-transform: none; letter-spacing: 0; color: var(--mp-ink); }
.mp-msel.has .mp-msel-btn { border-color: var(--mp-brand); font-weight: 700; }
.mp-msel-caret { color: var(--mp-muted); font-size: 12px; }
.mp-msel-pop { position: absolute; z-index: 30; top: calc(100% + 6px); left: 0; width: min(360px, 90vw); background: var(--mp-panel); border: 1px solid var(--mp-line); border-radius: 12px; box-shadow: 0 14px 40px rgba(23, 24, 26, .14); padding: 10px; text-transform: none; letter-spacing: 0; font-weight: 500; }
.mp-msel-search { width: 100%; margin-bottom: 8px; }
.mp-msel-acts { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 6px; }
.mp-msel-act { border: 1px solid var(--mp-line); background: var(--mp-panel); border-radius: 999px; padding: 3px 10px; font: inherit; font-size: 11.5px; font-weight: 600; color: var(--mp-muted); cursor: pointer; }
.mp-msel-act:hover { color: var(--mp-brand); border-color: var(--mp-brand); }
.mp-msel-list { max-height: 260px; overflow: auto; display: flex; flex-direction: column; gap: 2px; border-top: 1px solid var(--mp-line-soft); padding-top: 6px; }
/* Obal má vzhľad popisku filtra (div, nie label — label v labeli je neplatný). */
.mp-rep-filter .mp-msel-wrap { display: flex; flex-direction: column; gap: 4px; font-size: 12px; font-weight: 700; color: var(--mp-muted); text-transform: uppercase; letter-spacing: .04em; }
/* Položky zoznamu: riadok checkbox + meno (pravidlo .mp-rep-filter label sem nesmie padnúť). */
.mp-rep-filter .mp-msel-item { display: flex; flex-direction: row; align-items: center; gap: 10px; padding: 7px 10px; border-radius: 8px; font-size: 13.5px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--mp-ink); cursor: pointer; }
.mp-rep-filter .mp-msel-item[hidden] { display: none; }
.mp-rep-filter .mp-msel-item:hover { background: var(--mp-mist); }
.mp-rep-filter .mp-msel-item.on { background: rgba(239, 125, 0, .1); font-weight: 700; }
.mp-msel-item input { accent-color: var(--mp-brand); width: 16px; height: 16px; margin: 0; flex: 0 0 auto; }
.mp-msel-item span { flex: 1; min-width: 0; }
.mp-msel-item small { margin-left: auto; color: var(--mp-muted); font-size: 11.5px; font-weight: 500; white-space: nowrap; }
.mp-msel-foot { display: flex; justify-content: flex-end; padding-top: 8px; margin-top: 6px; border-top: 1px solid var(--mp-line-soft); }
.mp-rep-kpi { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 760px) { .mp-rep-kpi { grid-template-columns: 1fr 1fr; } }
.mp-rep .mp-card h2 { display: flex; align-items: center; gap: 10px; }
.mp-rep .mp-card h3 { font-size: 14px; margin: 18px 0 8px; display: flex; align-items: center; gap: 10px; }
.mp-rep-csv { margin-left: auto; font-size: 11.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--mp-muted); text-decoration: none; border: 1px solid var(--mp-line); border-radius: 999px; padding: 2px 10px; }
.mp-rep-csv:hover { color: var(--mp-brand); border-color: var(--mp-brand); }
.mp-rep-two { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
@media (max-width: 920px) { .mp-rep-two { grid-template-columns: 1fr; } }
.mp-rep .mp-card { margin-bottom: 16px; }
.mp-rep-scroll { overflow-x: auto; }
.mp-rep-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.mp-rep-table th, .mp-rep-table td { padding: 8px 10px; border-bottom: 1px solid var(--mp-line-soft); text-align: left; vertical-align: top; }
.mp-rep-table th { font-size: 11px; letter-spacing: .05em; text-transform: uppercase; color: var(--mp-muted); background: var(--mp-mist); white-space: nowrap; }
.mp-rep-table th.n, .mp-rep-table td.n { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.mp-rep-table td a { color: var(--mp-ink); font-weight: 700; text-decoration: none; }
.mp-rep-table td a:hover { color: var(--mp-brand); }
.mp-rep-table small { color: var(--mp-muted); }
.mp-rep-table .bad, .mp-rep .bad { color: var(--mp-err); }
.mp-rep-sub { display: block; font-size: 11.5px; color: var(--mp-muted); }
.mp-rep-note { font-size: 12px; color: var(--mp-muted); margin-top: 10px; }
.mp-rep-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.mp-rep-chip { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 600; padding: 3px 9px; border-radius: 999px; background: var(--mp-mist); color: var(--mp-ink); white-space: nowrap; }
.mp-rep-chip.s0 { background: rgba(180, 72, 60, .1); color: var(--mp-err); }
.mp-rep-chip.s1 { background: rgba(180, 83, 9, .12); color: #B45309; }
.mp-rep-chip.s2 { background: var(--mp-mist); }
.mp-rep-chip.s3 { background: rgba(46, 125, 91, .1); color: var(--mp-ok); }
.mp-rep-chip.s4 { background: rgba(239, 125, 0, .14); color: var(--mp-brand); }
.mp-rep-chip.ok { background: rgba(46, 125, 91, .1); color: var(--mp-ok); }
.mp-rep-chip.warn { background: rgba(180, 83, 9, .12); color: #B45309; }
.mp-rep-chip.bad { background: rgba(180, 72, 60, .1); color: var(--mp-err); }
.mp-rep-bars { display: grid; gap: 6px; font-size: 12.5px; }
.mp-rep-bars div { display: grid; grid-template-columns: minmax(120px, 190px) 1fr 70px; gap: 10px; align-items: center; }
.mp-rep-bars i { display: block; height: 10px; border-radius: 999px; background: var(--mp-brand); opacity: .85; min-width: 2px; }
.mp-rep-bars em { font-style: normal; text-align: right; font-variant-numeric: tabular-nums; color: var(--mp-muted); white-space: nowrap; }
.mp-rep-kv { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.mp-rep-kv div { background: var(--mp-mist); border-radius: 12px; padding: 10px 12px; }
.mp-rep-kv b { display: block; font-family: var(--mp-font-d); font-size: 20px; font-weight: 800; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.mp-rep-kv span { font-size: 11.5px; color: var(--mp-muted); }
.mp-rep-hist { display: flex; align-items: flex-end; gap: 3px; height: 70px; padding: 4px 0; border-bottom: 1px solid var(--mp-line-soft); }
.mp-rep-hist i { flex: 1; display: block; background: var(--mp-brand); opacity: .75; border-radius: 3px 3px 0 0; min-height: 2px; }
.mp-rep-hist-x { display: flex; justify-content: space-between; font-size: 11px; color: var(--mp-muted); margin: 4px 0 12px; }

/* ============================================================
   Výrazný priebeh AI porovnania a výpočtu cien (Martin, 2026-09-04:
   malý riadok nestačí). Karta pripnutá hore pri scrollovaní, oranžový rám,
   veľký nadpis + percento, pruhovaný animovaný pásik, štítky po poisťovniach.
   ============================================================ */
#compareProgress, #calcProgressPanel { position: sticky; top: 10px; z-index: 25; }
#compareProgress.wz-progress { margin-top: 12px; }
/* Bez oranžovej žiary (Martin, 2026-09-04: „nehodí sa tam") — bežný tieň kariet. */
.wz-progress-card, #calcProgressPanel .wz-calcprog { background: var(--mp-panel); border: 2px solid var(--mp-brand); border-radius: 16px; padding: 16px 18px; margin: 12px 0 16px; box-shadow: 0 4px 12px rgba(0, 0, 0, .05); }
.wz-progress-card .head { display: flex; align-items: center; gap: 14px; margin-bottom: 10px; }
.wz-progress-card .tx { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.wz-progress-card .tx b { font-family: var(--mp-font-d); font-size: 17px; font-weight: 800; letter-spacing: -.01em; color: var(--mp-ink); line-height: 1.2; }
.wz-progress-card .tx span { font-size: 12.5px; color: var(--mp-muted); font-weight: 500; }
.wz-progress-card .pct { font-family: var(--mp-font-d); font-size: 24px; font-weight: 800; color: var(--mp-brand); font-variant-numeric: tabular-nums; white-space: nowrap; }
/* Načítavací hex (Martin, 2026-09-04, „bez plastickosti"): miesto každého krúžku. Plochý hexový rám
   v brandovej farbe: základ na 22 %, hrany = 6 segmentov rámu bez prekryvov (štvoruholníky medzi
   vonkajším a vnútorným hexom, stretávajú sa presne na radiálach — žiadne tmavšie rohy). Rozsvecujú
   sa po jednom v smere hodinových ručičiek: čelo 100 %, stopa 66 % a 33 %, ostatné priehľadné
   (vidno základ). Markup hexSpinSvg() vo wizard.js: <svg class="mp-hexspin [spin | s wz-cp-spin]">
   — <path class="zaklad"> + 6× <polygon class="seg">. Veľkosť 28 px, .s = 14 px; tempo
   --mp-hexspin-t (1 segment = t/6). */
.mp-hexspin { display: inline-block; width: 42px; height: 42px; flex: 0 0 auto; vertical-align: middle; overflow: visible; --mp-hexspin-t: 1.5s; } /* 42 = 28 + 50 % (Martin, 2026-09-16) */
.mp-hexspin.s, .mp-hexspin.wz-cp-spin { width: 14px; height: 14px; vertical-align: -2px; }
/* Hláška „portál práve pracuje" (window.mpBezi / Support\Hex::bezi): hex + text v jednom riadku. */
.mp-bezi { display: inline-flex; align-items: center; gap: 6px; }
button.mp-bezi { justify-content: center; }
.mp-alert .mp-hexspin { margin-right: 6px; vertical-align: -3px; }
.mp-hexspin .zaklad { fill: var(--mp-brand); opacity: .22; }
.mp-hexspin .seg { fill: var(--mp-brand); stroke: var(--mp-brand); stroke-width: .3; stroke-linejoin: round; opacity: 0; animation: mp-hex-chase var(--mp-hexspin-t) step-end infinite; }
.mp-hexspin .seg:nth-of-type(1) { animation-delay: calc(var(--mp-hexspin-t) * -1); }
.mp-hexspin .seg:nth-of-type(2) { animation-delay: calc(var(--mp-hexspin-t) * -0.8333); }
.mp-hexspin .seg:nth-of-type(3) { animation-delay: calc(var(--mp-hexspin-t) * -0.6667); }
.mp-hexspin .seg:nth-of-type(4) { animation-delay: calc(var(--mp-hexspin-t) * -0.5); }
.mp-hexspin .seg:nth-of-type(5) { animation-delay: calc(var(--mp-hexspin-t) * -0.3333); }
.mp-hexspin .seg:nth-of-type(6) { animation-delay: calc(var(--mp-hexspin-t) * -0.1667); }
@keyframes mp-hex-chase { 0% { opacity: 1; } 16.67% { opacity: .66; } 33.33% { opacity: .33; } 50%, 100% { opacity: 0; } }
@keyframes wz-spin { to { transform: rotate(360deg); } }
/* Pásik decentne (Martin, 2026-09-04: pruhy v dvoch oranžových = „šialené farby"): 8 px, plná
   brandová farba, len jemný svetlý lesk, ktorý pomaly prechádza zľava doprava. */
.wz-progress-card .bar { height: 8px; border-radius: 999px; background: var(--mp-mist); overflow: hidden; margin-bottom: 12px; }
.wz-progress-card .bar i, #calcProgressPanel .wz-calcprog .fill { display: block; height: 100%; border-radius: 999px; background-color: var(--mp-brand); background-image: linear-gradient(90deg, transparent 0, rgba(255, 255, 255, .28) 50%, transparent 100%); background-size: 38% 100%; background-repeat: no-repeat; background-position: -40% 0; animation: wz-lesk 2.6s ease-in-out infinite; transition: width .5s var(--mp-ease); min-width: 8px; }
@keyframes wz-lesk { to { background-position: 140% 0; } }
.wz-progress-card .chips { display: flex; flex-wrap: wrap; gap: 8px; }
.wz-progress-card .chips span { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; padding: 6px 13px; border-radius: 999px; background: var(--mp-mist); color: var(--mp-muted); border: 1px solid transparent; }
.wz-progress-card .chips span.cita { background: var(--mp-panel); border-color: var(--mp-brand); color: #8A5410; animation: wz-pulse 1.4s ease-in-out infinite; }
.wz-progress-card .chips span.overuje { background: var(--mp-panel); border-color: #2F6DB0; color: #2F6DB0; }
.wz-progress-card .chips span.hotove { background: rgba(46, 125, 91, .12); color: #085041; }
.wz-progress-card .chips span.chyba { background: rgba(196, 52, 43, .1); color: #8F221B; }
@keyframes wz-pulse { 50% { box-shadow: 0 0 0 5px rgba(239, 125, 0, .16); } }
/* Výpočet cien: rovnaká váha nadpisu a pásika, pilulky so spinnerom. */
#calcProgressPanel .wz-calcprog .head > span:first-child { font-family: var(--mp-font-d); font-size: 17px; font-weight: 800; letter-spacing: -.01em; }
#calcProgressPanel .wz-calcprog .head .meta { font-size: 13px; font-weight: 700; color: var(--mp-brand); }
#calcProgressPanel .wz-calcprog .track { height: 8px; }
.wz-cp-pill.run { border-color: var(--mp-brand); color: #8A5410; animation: wz-pulse 1.4s ease-in-out infinite; }
/* Obmedzený pohyb (Windows: „Efekty animácie" vypnuté → Edge hlási prefers-reduced-motion): segmenty
   neprebiehajú dookola — celý hex je plne oranžový a pomaly pulzuje priehľadnosťou, používateľ stále vidí,
   že portál pracuje (Martin, 2026-09-15: „v Edge na W11 sa to vôbec neanimuje" → „plne oranžový a taký nech
   bliká"). Žiadny pohyb, len jas; len tam, kde bežná animácia nebeží. */
@keyframes mp-hex-pulz { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .mp-hexspin { animation: mp-hex-pulz 2s ease-in-out infinite; } .mp-hexspin .seg { animation: none; opacity: 1; } .wz-progress-card .bar i, #calcProgressPanel .wz-calcprog .fill, .wz-progress-card .chips span.cita, .wz-cp-pill.run { animation: none; } }

/* Šesťuholníkové pozadie portálu (Martin, 2026-09-04): pevná vrstva na každej stránke, neskroluje
   s obsahom. V pokoji jemná; počas načítavania ju rozsvecuje hex-pozadie.js (na klientskej ponuke
   presentation.js, ktorý si základ .046 nastavuje v presentation.css). */
.pr-hexy { position: fixed; inset: 0; z-index: -1; pointer-events: none; }
.pr-hexy svg { width: 100%; height: 100%; display: block; }
/* .045 = o 40 % svetlejšie než pôvodných .075 (Martin, 2026-09-11); klientska ponuka má vlastných .046 v presentation.css. */
.pr-hexy polygon { fill: none; stroke: #17181A; stroke-width: 1.5; opacity: .045; }
.pr-hexy.prechod polygon { transition: opacity .8s ease, stroke .8s ease; }
@media print { .pr-hexy { display: none; } }

/* Landing stránka na mobile (Martin, 2026-09-05): tlačidlo „Prihlásenie obchodníka" pretekalo vedľa
   loga — logo hore, tlačidlo pod ním, oboje na stred. Na počítači ostáva v jednom riadku. */
@media (max-width: 560px) {
	.lp-top { flex-direction: column; align-items: center; gap: 14px; }
	.lp-top .mp-btn { width: auto; max-width: 100%; }
}

/* Sablony: zalozky Sablony ponuk / Sablony dotaznikov (2026-09-05). */
.tpl-tabs .tpl-tab { border-radius: 8px 8px 0 0; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.tpl-tabs .tpl-tab.is-active { border-bottom-color: var(--mp-brand); color: var(--mp-brand-dark); font-weight: 700; }

/* Dotazniky: karta (detail ponuky, krok 1, karta klienta) a prehlad — dizajn 2026-09-06. */
.dz-card-head { display: flex; gap: 16px; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; padding-bottom: 14px; border-bottom: 1px solid var(--mp-line-soft); margin-bottom: 4px; }
.dz-card-head h2 { margin: 6px 0 4px; }
.dz-card-head .hint { margin: 0; max-width: 520px; }
.dz-kicker { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--mp-brand); background: rgba(239, 125, 0, .1); border: 1px solid rgba(239, 125, 0, .25); border-radius: 999px; padding: 3px 10px; }
.dz-kicker svg { width: 13px; height: 13px; }
.dz-card-akcie { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; justify-content: flex-end; }
.dz-btn { display: inline-flex; align-items: center; gap: 7px; }
.dz-btn svg { width: 16px; height: 16px; }
/* Kompaktný zoznam dotazníkov: jedna mriežka pre všetky riadky (riadok = display: contents),
   takže dátum, stav a ikony sedia v stĺpcoch pod sebou; dlhý názov sa zalamuje (Martin, 2026-09-06). */
.dz-rows { display: grid; grid-template-columns: minmax(0, 1fr) max-content max-content 30px 30px; align-items: stretch; }
.dz-rows .dz-row { display: contents; }
.dz-rows .dz-c { display: flex; align-items: center; min-width: 0; padding: 12px 12px 12px 0; border-top: 1px solid var(--mp-line-soft); }
.dz-rows .dz-row:first-child .dz-c { border-top: 0; }
.dz-rows .dz-c-ico { padding-right: 0; }
/* Dátum zľava (Martin: pri zarovnaní doprava sa ľavé okraje rozchádzali podľa šírky číslic) + rovnako široké číslice;
   margin 0 — .mp-card .hint má margin-bottom 16px a dvíhal dátum o 8 px nad os riadku. */
.dz-rows .dz-row-odoslany { justify-content: flex-start; margin: 0; font-variant-numeric: tabular-nums; }
.dz-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--mp-brand); flex: 0 0 auto; }
/* Názov: bodka absolútne v odkaze — stred bodky = stred prvého riadku (1.35em / 2) pri akejkoľvek veľkosti písma;
   padding-left odkazu = odsadenie zalomených riadkov pod text (visiaci odstavec). */
.dz-row-nazov { display: block; position: relative; padding-left: 20px; font-weight: 700; color: var(--mp-ink); text-decoration: none; overflow-wrap: anywhere; line-height: 1.35; }
.dz-row-nazov .dz-dot { position: absolute; left: 0; top: calc(0.675em - 5px); }
/* Čakajúci dotazník zo šablóny (nevytvorený): prázdna bodka, názov bez odkazu. */
.dz-dot-cakajuci { background: transparent; border: 2px dashed var(--mp-line); box-sizing: border-box; }
.dz-row-nazov-cakajuci { color: var(--mp-muted); }
.dz-row-cakajuci .dz-btn.mp-btn { padding: 8px 14px; font-size: 13px; }
.dz-row-nazov:hover { color: var(--mp-brand-dark); }
.dz-row-odoslany { white-space: nowrap; }
.dz-row-extra { grid-column: 1 / -1; }
.dz-row-extra:empty { display: none; }
/* Úzka karta (mobil, alebo dvojstĺpcový detail na menšom monitore): mriežka by názov stlačila —
   riadok ako obtekaný flex (názov na prvom riadku, zvyšok pod ním). Hranica podľa šírky KARTY (container query),
   nie okna; .dz-list = obal zoznamu (JS ho pridá na mount). */
.dz-list { container-type: inline-size; }
@container (max-width: 560px) {
	.dz-rows { display: block; }
	.dz-rows .dz-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 10px 0; border-top: 1px solid var(--mp-line-soft); }
	.dz-rows .dz-row:first-child { border-top: 0; }
	.dz-rows .dz-c { padding: 0; border-top: 0; }
	/* 1. riadok: názov (s bodkou) + ikony; 2. riadok: odoslaný + stav (bez odsadenia, aby sa zmestili vedľa seba). */
	.dz-rows .dz-c-nazov { order: 1; flex: 1 1 0; min-width: 0; }
	.dz-rows .dz-c-ico { order: 2; }
	.dz-rows .dz-row::after { content: ''; order: 3; flex-basis: 100%; height: 0; }
	.dz-rows .dz-row-odoslany { order: 4; justify-content: flex-start; }
	.dz-rows .dz-c-stav { order: 5; }
	.dz-row-extra { order: 6; flex-basis: 100%; }
}
.dz-pill { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; padding: 4px 11px; border-radius: 999px; white-space: nowrap; }
.dz-pill-dot { width: 7px; height: 7px; border-radius: 50%; display: inline-block; }
.dz-icobtn { border: 0; background: transparent; color: var(--mp-muted); width: 30px; height: 30px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.dz-icobtn:hover { background: var(--mp-mist); color: var(--mp-ink); }
.dz-icobtn.is-ok { color: var(--mp-ok); }
.dz-menu-wrap { position: relative; }
.dz-menu { position: absolute; right: 0; top: 34px; z-index: 30; min-width: 220px; background: #fff; border: 1px solid var(--mp-line-soft); border-radius: 10px; box-shadow: 0 8px 24px rgba(0, 0, 0, .12); padding: 6px; display: flex; flex-direction: column; }
.dz-menu a, .dz-menu button { text-align: left; background: transparent; border: 0; padding: 8px 10px; border-radius: 7px; font: inherit; color: var(--mp-ink); cursor: pointer; text-decoration: none; }
.dz-menu a:hover, .dz-menu button:hover { background: var(--mp-mist); }
.dz-menu .dz-menu-danger { color: #b32d2e; }
/* Náhľad e-mailu pred odoslaním (Martin, 2026-09-12) — rovnaký vzor ako .pd-import-okno. */
.dz-okno { position: fixed; inset: 0; background: rgba(23, 24, 26, .45); z-index: 95; display: grid; place-items: center; padding: 20px; }
.dz-okno-box { background: #fff; border-radius: 14px; padding: 18px 20px; max-width: 560px; width: 100%; max-height: 85vh; overflow: auto; box-shadow: 0 20px 60px rgba(23, 24, 26, .3); }
.dz-okno-frame { margin-top: 8px; border: 1px solid var(--mp-line-soft); border-radius: 10px; overflow: hidden; }
.dz-okno-frame iframe { width: 100%; height: 320px; border: 0; display: block; background: #fff; }
/* Okno e-mailu (Martin, 2026-09-12): text sa upravuje priamo v náhľade, výšku iframu nastaví JS podľa obsahu. */
.dz-okno-box.dz-okno-email { max-width: 680px; }
.dz-okno-email .dz-okno-frame iframe { min-height: 320px; }
.dz-okno-email select.mp-input { margin-bottom: 6px; }
/* Prehlad Dotazniky */
.dz-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin: 0 0 16px; }
.dz-stat { display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; gap: 8px; background: #fff; border: 1px solid var(--mp-line-soft); border-radius: 12px; padding: 14px 16px; }
/* Dlaždice na stred ako .mp-stat na prehľade (Martin, 2026-09-12: súhrnné info vycentrované). */
.dz-stat-lbl { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--mp-muted); }
.dz-stat-val { font-size: 24px; font-weight: 800; margin-top: 4px; }
.dz-stat-val small { font-size: 12.5px; font-weight: 500; color: var(--mp-muted); margin-left: 4px; }
.dz-stat-ico { width: 38px; height: 38px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.dz-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.dz-tabs { display: inline-flex; gap: 4px; background: var(--mp-mist); border-radius: 999px; padding: 4px; }
.dz-tab { border: 0; background: transparent; padding: 6px 12px; border-radius: 999px; font: inherit; font-size: 13.5px; cursor: pointer; color: var(--mp-muted); }
.dz-tab b { font-weight: 700; margin-left: 4px; background: #fff; border-radius: 999px; padding: 0 7px; font-size: 12px; color: var(--mp-ink); }
.dz-tab.is-active { background: #fff; color: var(--mp-ink); box-shadow: 0 1px 3px rgba(0, 0, 0, .08); }
.dz-filtre { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: 10px; }
.dz-hladat { flex: 1; min-width: 240px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--mp-line-soft); border-radius: 10px; padding: 0 12px; background: #fff; color: var(--mp-muted); }
.dz-hladat input { border: 0; outline: 0; flex: 1; padding: 10px 0; font: inherit; background: transparent; color: var(--mp-ink); }
.dz-filtre select { width: auto; }
.dz-reset { border: 0; background: transparent; color: var(--mp-muted); display: inline-flex; align-items: center; gap: 6px; cursor: pointer; font: inherit; font-size: 13px; padding: 6px 8px; border-radius: 8px; }
.dz-reset:hover { background: var(--mp-mist); color: var(--mp-ink); }
.dz-tbl-wrap { overflow-x: auto; }
.dz-tbl { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.dz-tbl th { text-align: left; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--mp-muted); padding: 10px 10px; border-bottom: 1px solid var(--mp-line-soft); cursor: pointer; white-space: nowrap; }
.dz-tbl td { padding: 12px 10px; border-bottom: 1px solid var(--mp-line-soft); vertical-align: middle; }
.dz-tbl tr[data-riadok] { cursor: pointer; }
.dz-tbl tr[data-riadok]:hover td { background: rgba(23, 24, 26, .02); }
.dz-nazov { display: flex; align-items: center; gap: 10px; min-width: 220px; }
.dz-row-ico { width: 34px; height: 34px; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.dz-sub { font-size: 12px; margin-top: 2px; }
.dz-dat { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; color: var(--mp-ink); }
.dz-dat svg { color: var(--mp-muted); }
.dz-sablona { display: inline-flex; align-items: center; gap: 6px; color: var(--mp-muted); font-size: 12.5px; white-space: nowrap; }

/* Požiadavka do poisťovne (Martin, 2026-09-06): okno nad krokom 3 + história požiadaviek. */
/* Okno požiadavky do poisťovne — dizajn podľa predlohy (Martin, 2026-09-08):
   hlavička s podnadpisom, číslované kroky s oranžovým kruhom, obsah krokov v kartách,
   malé verzálkové popisky polí, sivé vysvetlivky s ⓘ a pevná päta s hlavným tlačidlom. */
.pz-okno { position: fixed; inset: 0; background: rgba(23,24,26,.45); z-index: 96; display: grid; place-items: center; padding: 18px; }
.pz-box { background: #fff; border-radius: 18px; width: 100%; max-width: 940px; max-height: 92vh; display: flex; flex-direction: column; box-shadow: 0 24px 70px rgba(23,24,26,.32); }
.pz-box input[type="checkbox"], .pz-box input[type="radio"] { accent-color: var(--mp-brand); }
.pz-head { display: flex; align-items: flex-start; gap: 12px; padding: 18px 22px 14px; border-bottom: 1px solid var(--mp-line-soft); color: var(--mp-brand); }
.pz-head h3 { margin: 0; font-size: 18px; color: var(--mp-ink); letter-spacing: -.01em; }
.pz-head-nadpis { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.pz-head-riadok { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pz-head-podnadpis { font-size: 12.5px; color: var(--mp-muted); }
.pz-head .pz-zavri { border: 0; background: none; color: var(--mp-muted); font-size: 17px; line-height: 1; padding: 4px 6px; border-radius: 8px; cursor: pointer; }
.pz-head .pz-zavri:hover { background: var(--mp-mist, #F6F7F8); color: var(--mp-ink); }
.pz-body { overflow: auto; padding: 6px 22px 14px; background: #FBFBFA; }
.pz-sek { display: grid; grid-template-columns: 26px 1fr; gap: 12px; padding: 16px 0 4px; border-bottom: 0; }
.pz-sek .n { width: 22px; height: 22px; border-radius: 50%; background: var(--mp-brand); color: #fff; font-weight: 800; font-size: 12px; display: grid; place-items: center; line-height: 1; margin-top: 1px; }
.pz-sek h4 { margin: 0 0 10px; font-size: 15px; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.pz-sek h4 .pz-sek-popis { font-size: 12.5px; font-weight: 400; color: var(--mp-muted); }
.pz-sek label { font-size: 13px; }
/* Obsah kroku v bielej karte; polia majú malý verzálkový popisok. */
.pz-karta { background: #fff; border: 1px solid var(--mp-line-soft); border-radius: 12px; padding: 14px 16px; }
.pz-karta + .pz-karta { margin-top: 10px; }
.pz-sek .pz-pop { display: block; font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--mp-muted); font-weight: 700; margin-bottom: 4px; }
/* Vysvetlivka pod kartou: sivá, s krúžkovým ⓘ. */
.pz-vysv[hidden], .pz-dz-otazky[hidden] { display: none; }
.pz-vysv { display: flex; align-items: flex-start; gap: 7px; margin: 8px 2px 0; font-size: 12.5px; line-height: 1.5; color: var(--mp-muted); }
.pz-vysv::before { content: "i"; flex: 0 0 auto; width: 14px; height: 14px; margin-top: 2px; border: 1px solid currentColor; border-radius: 50%; font-size: 9.5px; font-weight: 700; font-style: normal; line-height: 13px; text-align: center; opacity: .8; }
/* Lišta sekcie: verzálkový nadpis vľavo, doplnok vpravo (napr. hlavička tabuľky rizík). */
.pz-lista { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 12px; margin: -14px -16px 10px; background: var(--mp-mist, #F6F7F8); border-bottom: 1px solid var(--mp-line-soft); border-radius: 12px 12px 0 0; font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; font-weight: 700; color: var(--mp-muted); }
.pz-riadok { display: flex; gap: 10px; flex-wrap: wrap; align-items: flex-end; margin-bottom: 6px; }
.pz-chk { display: inline-flex; align-items: center; gap: 6px; margin: 4px 14px 4px 0; font-size: 13px; }
.pz-chk.is-off { color: var(--mp-muted); }
.pz-chip { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 4px 11px; font-size: 12.5px; border: 1px solid var(--mp-line); background: #fff; margin: 3px 6px 3px 0; cursor: pointer; font: inherit; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pz-body .mp-input { max-width: 100%; }
.pz-riadok > label { min-width: 0; max-width: 100%; }
.pz-chip.on { background: #FFF1E0; border-color: var(--mp-brand); color: var(--mp-brand-dark); font-weight: 600; }
.pz-chip .src { font-size: 10.5px; color: var(--mp-muted); }
.pz-tbl { width: 100%; border-collapse: collapse; font-size: 13.5px; margin-bottom: 2px; }
.pz-tbl th, .pz-tbl td { text-align: left; padding: 10px 8px; border-bottom: 1px solid var(--mp-line-soft); vertical-align: middle; }
.pz-tbl tr:last-child td { border-bottom: 0; }
.pz-tbl th { font-size: 10.5px; text-transform: uppercase; letter-spacing: .06em; color: var(--mp-muted); background: none; font-weight: 700; padding-bottom: 6px; }
.pz-tbl td .hint { font-size: 11.5px; }
.pz-tbl .num, .pz-tbl th.num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pz-tbl tr.is-off td { color: var(--mp-muted); }
.pz-prij { background: #fff; border: 1px solid var(--mp-line-soft); border-radius: 12px; padding: 14px 16px; margin-bottom: 10px; }
.pz-prij-hlava { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 15px; }
.pz-prij-hlava b { font-size: 15px; }
.pz-pole { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin: 2px 0; }
.pz-pole .pz-chk { min-width: 170px; margin: 0; }
.pz-dz { background: #fff; border: 1px solid var(--mp-line-soft); border-radius: 12px; padding: 12px 14px; margin-bottom: 10px; }
.pz-dz-hlava { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pz-dz-hlava .pz-chk { margin: 0; }
.pz-dz-otazky { margin: 8px 0 0 22px; background: var(--mp-mist, #F6F7F8); border: 1px solid var(--mp-line-soft); border-radius: 10px; padding: 8px 12px; display: flex; flex-direction: column; }
.pz-dz-otazky .pz-chk { margin: 2px 0; }
.pz-foot { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 14px 22px; border-top: 1px solid var(--mp-line-soft); background: #fff; border-radius: 0 0 18px 18px; }
.pz-foot .mp-btn-primary { border-radius: 999px; padding-left: 22px; padding-right: 22px; }
/* Editor celého e-mailu pre upisovateľa (Martin, 2026-09-08): e-mail vo finálnej podobe
   v ráme so zapnutou úpravou — leží nad oknom požiadavky. */
.pz-prij-mailrow { gap: 8px; flex-wrap: wrap; margin-top: 10px; align-items: center; }
.pz-prij-mailrow .pz-prij-stav { flex: 1 1 160px; min-width: 0; margin-top: 0; font-style: italic; }
.pz-ton { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--mp-muted); white-space: nowrap; }
.pz-ton .mp-input { font-size: 12.5px; padding-top: 4px; padding-bottom: 4px; }
/* Riadok stavu e-mailu: pevná výška, aby sa pri skladaní („skladám e-mail…") nehýbali tlačidlá. */
.pz-prij-stav { display: flex; align-items: center; gap: 6px; height: 22px; line-height: 22px; margin-top: 4px; white-space: nowrap; }
.pz-prij-stav span { overflow: hidden; text-overflow: ellipsis; }
.pz-prij-stav .mp-hexspin { flex: 0 0 auto; }
.pz-mailedit { position: fixed; inset: 0; background: rgba(23, 24, 26, .55); display: grid; place-items: center; z-index: 120; padding: 16px; }
.pz-mailedit-box { background: #fff; border-radius: 14px; width: min(940px, 100%); height: min(92vh, 900px); display: flex; flex-direction: column; overflow: hidden; box-shadow: 0 24px 60px rgba(0, 0, 0, .3); }
.pz-mailedit-hlava { display: flex; align-items: center; gap: 10px; padding: 13px 16px; border-bottom: 1px solid var(--mp-line-soft); }
.pz-mailedit-lista { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 10px 16px; border-bottom: 1px solid var(--mp-line-soft); background: #FBFBFA; }
.pz-mailedit iframe { flex: 1 1 auto; width: 100%; border: 0; background: #fff; min-height: 240px; }
.pz-mailedit-pata { padding: 9px 16px; border-top: 1px solid var(--mp-line-soft); background: #FBFBFA; }
@media (max-width: 640px) { .pz-mailedit-box { height: 96vh; } }
/* Zmena podkladov po zložení e-mailov (Martin, 2026-09-09: upozorniť výraznejšie).
   Pás sedí nad pätou okna a drží sa pri spodku, nech ho obchodník nemôže preskrolovať. */
.pz-zmena { position: sticky; bottom: 62px; display: flex; align-items: center; gap: 12px; margin: 14px 0 0; padding: 12px 14px; background: #FFF8EE; border: 1px solid #F3DDC2; border-left: 4px solid #B45309; border-radius: 12px; }
.pz-zmena[hidden] { display: none; }
.pz-zmena b { font-family: var(--mp-font-d); font-size: 15px; }
.pz-zmena-box { height: auto; max-height: min(88vh, 780px); }
.pz-zmena-zoznam { overflow: auto; padding: 6px 16px 12px; }
.pz-zmena-polozka { display: flex; align-items: flex-start; gap: 10px; padding: 10px 2px; border-bottom: 1px solid var(--mp-line-soft); }
.pz-zmena-polozka:last-child { border-bottom: 0; }
.pz-zmena-polozka input { margin-top: 3px; }
/* Doplnenie k odoslanej požiadavke (Martin, 2026-09-08): malé okno s textom a prílohami. */
.pz-dopl-subor { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--mp-line-soft); border-radius: 999px; padding: 2px 6px 2px 10px; margin-right: 6px; }
.pz-hist { display: flex; flex-direction: column; }
.pz-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 14px; padding: 10px 0; border-top: 1px solid var(--mp-line-soft); font-size: 13.5px; align-items: center; }
.pz-row:first-child { border-top: 0; }
.pz-side { display: flex; gap: 6px; align-items: center; justify-self: end; }
.pz-akcie { grid-column: 1 / -1; display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.pz-ai-pas { display: flex; align-items: flex-start; gap: 8px; background: #FFF6EC; border: 1px solid #F6DCC0; border-radius: 10px; padding: 9px 12px; font-size: 12.5px; line-height: 1.5; color: var(--mp-brand-dark, #A8560A); margin: 10px 0; }
.pz-ai-pas svg { flex: 0 0 auto; margin-top: 1px; }
@media (max-width: 640px) { .pz-sek { grid-template-columns: 1fr; } .pz-sek .n { display: none; } .pz-side { justify-self: start; } .pz-lista { margin: -12px -12px 8px; } .pz-karta { padding: 12px; } }
.dz-klient, .dz-ponuka { display: inline-flex; align-items: center; gap: 8px; color: var(--mp-brand-dark); font-weight: 600; text-decoration: none; }
.dz-avatar { width: 26px; height: 26px; border-radius: 50%; background: var(--mp-mist); color: var(--mp-ink); font-size: 11px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.dz-detail-cell { padding: 0 10px 14px !important; }
.dz-detail { background: rgba(23, 24, 26, .02); border: 1px solid var(--mp-line-soft); border-radius: 12px; padding: 12px 14px; margin-top: 6px; }
.dz-foot { padding: 10px 0 0; }

/* Samostatná stránka detailu dotazníka (Martin, 2026-09-19): priebeh, otázky, história e-mailov. */
.dz-detail-strana .mp-card { margin-bottom: 14px; }
.dz-detail-strana h2 { font-size: 16px; margin: 0 0 10px; }
/* Stránka detailu dotazníka — dizajn Martina (2026-09-19): hlavička s ikonovými akciami, karty s ikonou v nadpise. */
.dz-dhead-top { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.dz-dhead-titul { font-size: 18px; font-weight: 700; }
.dz-dhead-meta { margin: 6px 0 0; }
.dz-dhead-akcie { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--mp-line-soft); }
.dz-akcie-medzera { flex: 1 1 auto; }
.dz-dhead-akcie .mp-btn-danger { margin-left: auto; } /* aj po zalomení ostáva vpravo */
.dz-akcia { display: inline-flex; align-items: center; gap: 7px; padding: 9px 14px; font-size: 13px; }
.dz-akcia svg { flex: 0 0 auto; color: var(--mp-muted); }
.mp-btn-danger { background: #FDECEC; color: #B42318; border-color: #F5C2C2; }
.mp-btn-danger svg { color: #B42318; }
.mp-btn-danger:hover { background: #FBDADA; }
.dz-dkarta-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding-bottom: 12px; margin-bottom: 12px; border-bottom: 1px solid var(--mp-line-soft); }
.dz-dkarta-head h2 { display: flex; align-items: center; gap: 10px; margin: 0; }
.dz-dkarta-ikona { display: inline-flex; width: 32px; height: 32px; border-radius: 10px; background: var(--mp-mist); align-items: center; justify-content: center; color: var(--mp-brand); }
.dz-chip { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 999px; background: var(--mp-mist); color: var(--mp-ink); vertical-align: middle; }
.dz-chip.ok { background: #DCFCE7; color: #166534; }
.dz-chip.brand { background: #FFF1E3; color: var(--mp-brand-dark); border: 1px solid #F7C08A; }
.dz-priebeh { row-gap: 12px; }
.dz-priebeh-nic { color: var(--mp-muted); }
.dz-postup { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; background: rgba(23, 24, 26, .03); border-radius: 10px; padding: 10px 14px; font-size: 13px; }
.dz-postup-lista { flex: 0 0 140px; height: 6px; border-radius: 999px; background: var(--mp-mist); overflow: hidden; }
.dz-postup-lista i { display: block; height: 100%; background: var(--mp-brand); border-radius: 999px; }
.dz-odpovede { margin-top: 4px; }
.dz-nezodpovedane { margin-top: 14px; border: 1px dashed var(--mp-line); border-radius: 12px; padding: 14px; text-align: center; }
.dz-nezodpovedane-zoznam { text-align: left; margin: 12px 0 0; padding-left: 22px; font-size: 14px; }
.dz-nezodpovedane-zoznam li { padding: 4px 0; }
.dz-link { display: inline-flex; align-items: center; gap: 5px; border: 0; background: transparent; color: var(--mp-brand); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; padding: 4px 0; }
.dz-link:hover { text-decoration: underline; }
.dz-link.is-open svg { transform: rotate(180deg); }
.dz-info { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: var(--mp-muted); background: rgba(23, 24, 26, .03); border: 1px solid var(--mp-line-soft); border-radius: 10px; padding: 10px 12px; }
.dz-info svg { flex: 0 0 auto; margin-top: 2px; }
.dz-priebeh { display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; margin: 0; font-size: 14px; }
.dz-priebeh dt { color: var(--mp-muted); }
.dz-priebeh dd { margin: 0; }
.dz-email { border-top: 1px solid var(--mp-line-soft); padding: 10px 0; }
.dz-email-stitok { font-size: 12px; padding: 2px 8px; border-radius: 999px; background: var(--mp-mist); margin-left: 6px; }
.dz-email-stitok.upraveny { background: #FDE7CF; color: #8A4B00; }
.dz-diff { white-space: pre-wrap; font-size: 14px; line-height: 1.5; background: rgba(23,24,26,.02); border: 1px solid var(--mp-line-soft); border-radius: 10px; padding: 10px 12px; }
.dz-diff del { background: #FBE3E3; text-decoration: line-through; }
.dz-diff ins { background: #DDF5E2; text-decoration: none; }
.dz-email-nahlad { width: 100%; height: 560px; border: 1px solid var(--mp-line); border-radius: 10px; background: #fff; margin-top: 8px; }

/* Editor dotaznika (Martin, 2026-09-11): hlavicka, ukladanie konceptu, karty otazok/sekcii s tahanim. */
.dz-builder { margin: 10px 0; padding: 14px; }
.dz-tag-muted { display: inline-flex; align-items: center; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--mp-muted); background: var(--mp-mist); border-radius: 999px; padding: 2px 9px; margin-left: 8px; vertical-align: middle; }
.dz-label-caps { text-transform: uppercase; font-size: 11px; letter-spacing: .06em; }
.dz-input-lg { font-size: 18px; font-weight: 600; padding: 13px 16px; }
.dz-builder-actions { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.dz-builder-actions-l { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.dz-smart-badge { display: inline-flex; align-items: center; font-size: 10.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--mp-brand); background: transparent; border: 1px solid rgba(239, 125, 0, .45); border-radius: 999px; padding: 1px 8px; margin-left: 8px; }
.dz-save-stav { display: flex; align-items: center; gap: 7px; font-size: 13px; color: var(--mp-muted); white-space: nowrap; }
.dz-save-stav[hidden] { display: none !important; }
.dz-save-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--mp-ok); flex: 0 0 auto; }
.dz-save-dot.is-err { background: var(--mp-err); }
.dz-draft-bar { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--mp-muted); background: var(--mp-mist); border-radius: 10px; padding: 8px 12px; margin: 0 0 10px; }
.dz-draft-bar button { border: 0; background: transparent; color: var(--mp-brand); font: inherit; font-weight: 600; cursor: pointer; padding: 0; }
.dz-draft-bar button:hover { text-decoration: underline; }
/* Voľba pri neuloženom koncepte (Martin, 2026-09-18): pokračovať / zahodiť — builder je dovtedy zamknutý. */
.dz-draft-volba { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; font-size: 13px; color: var(--mp-ink); background: var(--mp-mist); border: 1px solid var(--mp-brand); border-radius: 10px; padding: 10px 14px; margin: 0 0 12px; }
.dz-draft-volba-text { flex: 1 1 320px; line-height: 1.45; }
.dz-draft-volba-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.dz-builder-zamknuty > :not(.dz-card-head):not(.dz-draft-volba) { opacity: .55; }
/* Builder dotazníka (návrh Martina, 2026-09-15): pridávanie vpravo pod otázkami, e-mail ako
   samostatná sekcia oddelená čiarou, pätka len Zrušiť + potvrdiť vpravo. */
.dz-builder-add { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; align-items: center; margin-top: 12px; }
/* Zóna AI importu v builderi: nižšia ako v sprievodcovi, štítok Smart v nadpise. */
.dz-drop.mp-drop { min-height: 132px; padding: 18px 16px 16px; margin: 0 0 12px; }
.dz-drop .mp-drop-text b .dz-smart-badge { margin-left: 8px; vertical-align: middle; }
.dz-drop .mp-drop-text span { max-width: 620px; }
.dz-builder-email { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--mp-line-soft); }
.dz-builder-email .mp-field + .mp-field { margin-top: 12px; }
.dz-builder-foot { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; align-items: center; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--mp-line-soft); }
.dz-q-card { background: #fff; border: 1px solid var(--mp-line-soft); border-radius: 12px; padding: 12px; margin-top: 10px; }
.dz-q-card-sekcia { background: var(--mp-mist); border-style: dashed; }
.dz-q-card.dz-q-dragging { opacity: .4; }
.dz-q-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.dz-q-handle { cursor: grab; color: var(--mp-muted); font-size: 16px; line-height: 1; flex: 0 0 auto; user-select: none; }
.dz-q-handle:active { cursor: grabbing; }
.dz-q-num { width: 22px; height: 22px; border-radius: 7px; background: var(--mp-mist); color: var(--mp-muted); font-size: 12px; font-weight: 800; display: grid; place-items: center; flex: 0 0 auto; font-family: var(--mp-font-b); }
.dz-q-label { font-weight: 600; font-size: 13.5px; flex: 1 1 auto; }
.dz-q-sekcia-label { font-weight: 700; font-size: 12.5px; text-transform: uppercase; letter-spacing: .04em; color: var(--mp-muted); flex: 1 1 auto; }
.dz-q-povinne { display: flex; gap: 5px; align-items: center; cursor: pointer; font-size: 13px; color: var(--mp-muted); flex: 0 0 auto; }
.dz-q-del { border: 0; background: transparent; color: var(--mp-muted); cursor: pointer; font-size: 14px; padding: 4px 6px; border-radius: 6px; flex: 0 0 auto; }
.dz-q-del:hover { background: rgba(180, 72, 60, .1); color: var(--mp-err); }
.dz-q-body { margin-top: 8px; }
.dz-q-card-sekcia .dz-q-body { margin-top: 6px; }
.dz-q-foot { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: 10px; background: var(--mp-mist); border-radius: 10px; padding: 8px 10px; }
.dz-q-typ { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.dz-q-typ select.mp-input { width: auto; background: #fff; }
.dz-q-typ input.mp-input { flex: 1; min-width: 180px; background: #fff; }
.dz-q-vazba { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-left: auto; }
/* Popisky a polia v páse otázky na jednej osi: .hint má globálne margin-bottom 16px (sedel nad
   stredom), input a select majú rôznu výšku (45 vs 48,5 px) — zjednotené (Martin, 2026-09-15). */
.dz-q-foot .hint { margin: 0; }
.dz-q-foot input.mp-input, .dz-q-foot select.mp-input { height: 42px; padding-top: 0; padding-bottom: 0; line-height: normal; }
.dz-q-vazba svg { color: var(--mp-muted); flex: 0 0 auto; }
.dz-q-vazba input.mp-input { flex: 1; min-width: 180px; background: #fff; }
.dz-q-vazba select.mp-input { width: auto; background: #fff; }

/* Menu riadku: atribut hidden musi vyhrat nad display:flex; polozky menu v karte nie su oranzove odkazy. */
.dz-menu[hidden] { display: none !important; }
.mp-card .dz-menu > a, .dz-menu > a { color: var(--mp-ink); font-weight: 500; }

/* Zóna na pustenie súboru (Martin, 2026-09-06): obal <input type=file>, ťahanie cez celú plochu,
   tlačidlo Vybrať súbor v portálovom štýle, vybraný súbor ako chip. Logika: assets/js/dropzone.js. */
.mp-drop { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; padding: 30px 22px 26px; min-height: 168px; border: 2px dashed rgba(23, 24, 26, .18); border-radius: 16px; background: linear-gradient(180deg, #fff 0%, #FBF9F6 100%); cursor: pointer; transition: border-color .2s, background .2s, box-shadow .2s, transform .2s var(--mp-ease); }
.mp-drop:hover { border-color: rgba(239, 125, 0, .55); background: #FFFBF6; }
.mp-drop.is-over { border-color: var(--mp-brand); border-style: solid; background: #FFF3E5; box-shadow: 0 0 0 6px rgba(239, 125, 0, .12); transform: scale(1.005); }
.mp-drop input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; pointer-events: none; }
.mp-drop-ikona { width: 52px; height: 52px; border-radius: 14px; background: var(--mp-mist); color: var(--mp-brand); display: flex; align-items: center; justify-content: center; margin-bottom: 2px; }
.mp-drop-ikona svg { width: 26px; height: 26px; }
.mp-drop.is-over .mp-drop-ikona { background: var(--mp-brand); color: #fff; }
.mp-drop-text { display: flex; flex-direction: column; gap: 3px; }
.mp-drop-text b { font-family: var(--mp-font-d); font-weight: 700; font-size: 16px; letter-spacing: -.01em; }
.mp-drop-text span { font-size: 13px; color: var(--mp-muted); }
.mp-drop-btn.mp-btn { margin-top: 4px; padding: 10px 20px; background: #fff; border-color: rgba(239, 125, 0, .45); color: var(--mp-brand); box-shadow: 0 1px 2px rgba(23, 24, 26, .06); }
.mp-drop-btn.mp-btn:hover { background: var(--mp-brand); color: #fff; border-color: var(--mp-brand); }
.mp-drop-file { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin-top: 6px; }
.mp-drop-file[hidden] { display: none; }
.mp-drop-chip { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; padding: 6px 12px; border-radius: 999px; background: #FFF1E0; border: 1px solid rgba(239, 125, 0, .35); font-size: 13px; }
.mp-drop-chip b { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 320px; }
.mp-drop-chip i { font-style: normal; color: var(--mp-muted); font-size: 12px; }
.mp-drop-zmen { border: 0; background: none; color: var(--mp-brand); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; text-decoration: underline; padding: 4px 6px; }
/* Vymazať vložený súbor (Martin, 2026-09-13) + poznámka, čo Ctrl+V / Vymazať urobilo. */
.mp-drop-zmaz { border: 0; background: none; color: var(--mp-err); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; text-decoration: underline; padding: 4px 6px; }
.mp-drop-pozn { display: block; width: 100%; margin-top: 6px; font-style: normal; font-size: 12.5px; color: var(--mp-muted); }
.mp-drop.has-file { border-style: solid; border-color: rgba(239, 125, 0, .45); }
.mp-drop-err { font-size: 12.5px; color: #B4483C; }
.mp-drop-err[hidden] { display: none; }
/* Počas nahrávania zóna nič nepreberá (karta Obrázok ponuky). */
.mp-drop.is-busy { opacity: .6; pointer-events: none; }
@media (max-width: 560px) { .mp-drop { padding: 22px 14px 20px; min-height: 140px; } }
.mp-drop.is-pasted { outline: 2px solid var(--mp-brand); outline-offset: 2px; }


/* ============================================================
   Pripnuté ponuky v zozname (Martin, 2026-09-10): špendlík ich dá navrch
   v poradí pripnutia, ťahaním za bunku s názvom sa preusporiadajú.
   Celá bunka s názvom je odkaz („aby som sa nemusel triafať na nadpis").
   Len farby a kurzory — rozloženie mriežky (desktop aj mobil) ostáva.
   ============================================================ */
.mp-cell.name { color: inherit; text-decoration: none; cursor: pointer; }
.mp-cell.name:hover .mp-oname { color: var(--mp-brand); }
.mp-trow.is-pinned { background: rgba(239, 125, 0, .045); box-shadow: inset 3px 0 0 var(--mp-brand); }
.mp-trow.is-pinned:hover { background: rgba(239, 125, 0, .085); }
/* Úchyt ťahania. Triedu mp-preusporiadatelne dáva tabuľke JS, len keď sú pripnuté aspoň dve
   ponuky — inak by kurzor „grab" sľuboval ťahanie, ktoré sa nedá spraviť. Prstom sa nechá
   rolovanie aj približovanie: ťah sa na dotyku spúšťa až podržaním, dovtedy stránka roluje. */
.mp-table.mp-preusporiadatelne .mp-trow.is-pinned .mp-cell.name { cursor: grab; touch-action: manipulation; }
.mp-table.mp-preusporiadatelne .mp-trow.is-pinned .mp-cell.name:active { cursor: grabbing; }
body.mp-taham { user-select: none; cursor: grabbing; }
/* Len pre čítačku obrazovky (oznam o pripnutí a novom poradí). */
.mp-sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* Deliaca čiara medzi pripnutými a ostatnými. */
.mp-trow.is-pinned-last + .mp-trow { border-top: 2px solid var(--mp-line); }
/* Ťahaný riadok je nadvihnutý nad zoznam — ostatné sa pod ním uhýbajú (Martin, 2026-09-10). */
.mp-trow.is-dragging { position: relative; z-index: 3; background: var(--mp-card, #fff); box-shadow: 0 10px 24px rgba(23, 24, 26, .16); cursor: grabbing; }
.mp-trow.is-dragging.is-pinned { background: #FDF3E8; }
/* Čiara „sem sa ponuka pustí" už netreba: riadky sa uhýbajú živo počas ťahania
   (Martin, 2026-09-10, podľa ukážky Motion). Riadky ostávajú v pozícii kvôli nadvihnutiu. */
.mp-trow { position: relative; }
.mp-icoact.is-on { color: var(--mp-brand); }
.mp-icoact.is-on svg { fill: rgba(239, 125, 0, .2); }
/* Zákaz zalamovania akcií platí len pre stolovú tabuľku — na mobile sa ikony musia
   zalomiť, inak sa šesť ikon stlačí pod veľkosť dotykového cieľa. */
@media (max-width: 920px) {
	.mp-dash-right .mp-rowact, .mp-rowact { flex-wrap: wrap; }
}

/* Dlaždice štatistík: texty aj čísla na stred (Martin, 2026-09-10). */
.mp-stat { align-items: center; text-align: center; }

/* Admin presúva polia analýzy potrieb ťahaním (Martin, 2026-09-11). */
.wz-item.wz-presun { position: relative; }
.wz-presun-uchyt { position: absolute; top: 6px; right: 8px; color: var(--mp-muted, #6B6F76); cursor: grab; user-select: none; font-size: 15px; line-height: 1; padding: 2px 4px; }
.wz-presun-uchyt:active { cursor: grabbing; }
.wz-item.wz-tahane { opacity: .45; }
.wz-item.wz-drop-pred { box-shadow: 0 -3px 0 0 var(--mp-brand); }
.wz-item.wz-drop-za { box-shadow: 0 3px 0 0 var(--mp-brand); }
.wz-substep.wz-drop-tab { outline: 2px dashed var(--mp-brand); outline-offset: 2px; }

/* Náhľad hlavičky ponuky (karta „Obrázok ponuky"): iframe s desktopovým
   rozložením (800px) zmenšený transformom na šírku karty (Martin, 2026-09-11). */
.hero-nahlad { position: relative; overflow: hidden; border-radius: 12px; max-width: 800px; } /* 800px = max-width .pr-app, klient nikdy nevidi sirsi hero */
.hero-nahlad-scale { transform-origin: 0 0; }

/* Malá zóna na nahratie (dotazník z obrázka/PDF cez AI, Martin 2026-09-12) — nižšia, ikona a text vedľa seba. */
.mp-drop.mp-drop-mala { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px; padding: 10px 14px; margin-top: 10px; min-height: 0; text-align: left; }
.mp-drop.mp-drop-mala .mp-drop-ikona { width: 34px; height: 34px; flex: 0 0 auto; }
.mp-drop.mp-drop-mala .mp-drop-ikona svg { width: 18px; height: 18px; }
.mp-drop.mp-drop-mala .mp-drop-text { flex: 1 1 auto; min-width: 0; }
.mp-drop.mp-drop-mala .mp-drop-text b { font-size: 13px; }
.mp-drop.mp-drop-mala .mp-drop-text span { font-size: 12px; }
.mp-drop.mp-drop-mala .mp-drop-btn { margin: 0; flex: 0 0 auto; }
.mp-drop.mp-drop-mala[hidden] { display: none; }

/* Nahovorená otázka pre AI pomocníka (2026-09-14): ikona mikrofónu vpravo v poli, pri nahrávaní pulzuje. */
.wz-ai-otazka { position: relative; }
.wz-ai-otazka textarea { padding-right: 48px; display: block; width: 100%; box-sizing: border-box; }
.wz-mic { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #77746f; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: background-color 90ms ease-out, color 90ms ease-out; }
.wz-mic:hover, .wz-mic:focus-visible { background: #f3f1ee; color: #252522; outline: none; }
.wz-mic:focus-visible { box-shadow: 0 0 0 3px var(--mp-brand, #EF7D00); }
.wz-mic.on { background: #c0392b; color: #fff; animation: wzMicPulz 1.2s ease-out infinite; }
.wz-mic:disabled { opacity: .5; cursor: progress; }
#aiVoiceStav { margin: 6px 0 0; }
#aiVoiceStav:empty { display: none; }
@keyframes wzMicPulz { 0%, 100% { box-shadow: 0 0 0 0 rgba(192, 57, 43, .45); } 50% { box-shadow: 0 0 0 7px rgba(192, 57, 43, 0); } }
@media (prefers-reduced-motion: reduce) { .wz-mic.on { animation: none; } }

/* Odpoveď AI pomocníka (2026-09-14): odseky a zoznamy namiesto surového textu. */
.wz-ai-odpoved { white-space: normal !important; line-height: 1.55; }
.wz-ai-odpoved p { margin: 0 0 8px; }
.wz-ai-odpoved p:last-child { margin-bottom: 0; }
.wz-ai-odpoved ul, .wz-ai-odpoved ol { margin: 2px 0 10px 22px; padding: 0; }
.wz-ai-odpoved li { margin: 3px 0; }
.wz-ai-odpoved strong { font-weight: 600; }
