@font-face { font-family: "Haspo Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url(webfonts/haspo-sans-400.woff2) format("woff2"); }
@font-face { font-family: "Haspo Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url(webfonts/haspo-sans-600.woff2) format("woff2"); }
@font-face { font-family: "Haspo Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url(webfonts/haspo-sans-700.woff2) format("woff2"); }
@font-face { font-family: "Haspo Sans"; font-style: normal; font-weight: 900; font-display: swap; src: url(webfonts/haspo-sans-900.woff2) format("woff2"); }
body {
	margin: 0;
	font-family: "Haspo Sans", 'Source Sans Pro', system-ui, -apple-system, "Segoe UI", sans-serif;
	background: #f2f4f7;
	color: #222;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

header {
	background: #fff;
	box-shadow: 0 1px 4px rgba(0,0,0,0.1);
	padding: 0.5rem 1rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.header-logo {
	max-height: 40px;
}

a {
	color: #1f2937;
}

nav a {
	margin-left: 1rem;
	text-decoration: none;
	font-weight: 600;
}

nav a:hover {
	text-decoration: underline;
}

.container {
	flex: 1;
	width: 90%;
	max-width: 800px;
	margin: 2rem auto;
	padding: 3rem 2rem;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

h1 {
	margin: 0 0 2rem 0;
	color: #1f2937;
}

h2 {
	margin-bottom: 0.5rem;
	color: #1f2937;
}

ul, ol {
	padding: 0;
	margin: 0;
}

li {
	list-style: none;
	padding: 0 0 1rem;
}

code {
	background: #eee;
	padding: 2px 4px;
	border-radius: 4px;
}

footer {
	text-align: center;
	padding: 0.5rem;
	font-size: 0.75rem;
	color: #6b7280;
}

.card-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: 100%;
	max-width: 360px;
	margin: 1rem auto;
}

.card {
	display: block;
	padding: 1.5rem;
	border: 1px solid #eee;
	color: #1f2937;
	text-decoration: none;
	text-align: center;
	font-weight: 600;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
	transition: transform 0.2s, background-color 0.2s;
}

.card:hover {
	transform: translateY(-3px);
	background-color: #e5e7eb;
}

button,
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	box-sizing: border-box;
	text-decoration: none;
	text-align: center;
	border-radius: 9px;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: background .12s, border-color .12s, color .12s;
	padding: 0.25rem 0.75rem;
	min-width: 0;
	margin: 0.2rem;
	border: 1px solid #CDD3E0;
	color: #212E63;
	background: transparent;
	line-height: 1.25;
}
button:not([class]),
.btn {
	background: #fff;
	padding: 8px 14px;
}

button[disabled],
.btn[disabled] {
	opacity: 0.5;
	cursor: not-allowed;
	pointer-events: none;
}

button:hover,
.btn:hover {
	background: #F3F5F9;
	color: #212E63;
}
button:not([class]):hover,
.btn:hover {
	border-color: #212E63;
}

button.primary,
.btn.primary {
	background: #2D5BBF;
	border-color: #2D5BBF;
	color: #fff;
	padding: 9px 16px;
}

button.primary:hover,
.btn.primary:hover {
	background: #234A9E;
	border-color: #234A9E;
	color: #fff;
}


button.large,
.btn.large {
	width: 100%;
	padding: 0.75rem;
}

table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 25px
}

th, td {
	padding: 10px;
	border: 1px solid #ddd;
	text-align: left
}

th {
	background: #f9f9f9
}

table td.label {
	font-weight: bold;
	width: 150px;
	vertical-align: top;
	background: #f9f9f9;
}

.msg {
	color: green;
	margin: 1rem auto 2rem;
	padding: 1rem;
	border: 1px solid green;
	border-left-width: 10px;
	background: rgba(0,128,0, 0.15);
}

.msg.error {
	color: #c00;
	border-color: #c00;
	background: rgba(255,0,0, 0.15);
}

.err {
	color: #c00;
	margin-top: 15px
}

form {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 1rem;
	max-width: 500px;
	margin: 1rem auto;
}

form.full-width {
	max-width: 100%;
	grid-template-columns: 1fr 2fr;
}

form label {
	text-align: right;
	padding: 0.4rem 0;
}

form input,
form textarea,
form select {
	padding: 0.5rem;
	max-width: 100%;
	box-sizing: border-box;
}

.field-with-counter {
	display: flex;
	flex-direction: row;
	gap: 0.25rem;
	align-items: center;
	flex-wrap: wrap;
}

.field-with-counter input {
	width: 100%;
}

.field-with-counter small {
	color: #6b7280;
	width: 100%;
}

.checkbox-field {
	text-align: left;
	padding: 0.4rem 0;
}

.checkbox-field input {
	margin-right: 0.4rem;
}

form input[readonly] {
	opacity: 0.5;
	cursor: not-allowed;
	border-width: 1px !important;
	outline: none !important;
}

form h3,
form table {
	grid-column: 1 / -1;
}

form td {
	padding: 5px;
}

form.four-columns td {
	max-width: 150px;
}

.current-user td {
	font-weight: bold;
	a,
	button {
		font-weight: normal;
	}
}

td.with-buttons input {
	width: calc(100% - 60px);
}

td.with-buttons button {
	padding: 5px 4px;
	margin: 0;
	min-width: 0;
}

td.internal-note {
	padding: 0 0 0 10px;
}

td.internal-note div {
	max-height: 5rem;      /* whatever limit you need */
	overflow: auto;         /* vertical scroll bar when needed */
}

footer .copyright,
footer .copyright a {
	font-family: serif;
	color: #1f2937;
}

footer .copyright a {
	font-weight: bold;
}

.table-actions {
	white-space: nowrap;
}

.table-actions form {
	margin: 0;
}

.icon-btn {
	border: none;
	padding: 5px;
	min-width: unset;
	margin: 0;
}

.icon-btn:hover {
	background: transparent;
	color: #000;
}


/* ===================== Kalkulačné ponuky (editor, zoznam, nastavenia) ===================== */
.container.wide { max-width: 1180px; padding: 2rem 2rem 3rem; }

.badge { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: .78rem; font-weight: 700; vertical-align: middle; white-space: nowrap; }
.badge.caka { background: #fff2cc; color: #8a5a00; }
.badge.hotova { background: #dbe7ff; color: #1d3f9a; }
.badge.odoslana { background: #d9f2e3; color: #11713b; }
.badge.old { background: #eceff3; color: #5b6472; }
.badge.akceptovana { background: #1f9d55; color: #fff; }
.badge.zmluva { background: #ece3ff; color: #4b2a9a; }
.badge.podpisana { background: #212E63; color: #fff; }
.badge.uzavreta { background: #f3dcdc; color: #8a1f1f; }

.cq-banner { display: block; margin: 0 auto 1.5rem; max-width: 360px; padding: .9rem 1.2rem; border-radius: 8px; background: #fff2cc; color: #6e4800; text-decoration: none; text-align: center; font-weight: 600; border: 1px solid #f0d27a; }
.cq-banner:hover { background: #ffecb0; }
.cq-banner.ok { background: #e6f6ec; color: #0f5c30; border-color: #9bd6b1; }
.cq-banner.ok:hover { background: #d4efdd; }

.cq-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.2rem; }
.cq-head-links { display: flex; gap: .4rem; }
.cq-meta { color: #6b7280; font-size: .9rem; }
.cq-note { margin: 0 0 1rem; padding: .8rem 1rem; border-radius: 8px; background: #eef3ff; border: 1px solid #cddafc; color: #1d2d6b; font-size: .92rem; }
.cq-note.warn { background: #fff7e0; border-color: #f0d27a; color: #6e4800; }

form.cq { display: block; max-width: none; margin: 0; }
.cq label,
.cq-card label { display: block; text-align: left; padding: 0; margin: 0 0 4px; font-size: .82rem; font-weight: 600; color: #4b5563; }
.cq input[type=text],
.cq input[type=number],
.cq input[type=email],
.cq input[type=date],
.cq input[type=password],
.cq input[type=search],
.cq select,
.cq textarea,
.cq-card input[type=text],
.cq-card input[type=number],
.cq-card input[type=email],
.cq-card input[type=date],
.cq-card input[type=password],
.cq-card input[type=search],
.cq-card select,
.cq-card textarea {
	width: 100%; padding: .5rem .6rem; border: 1px solid #cfd4e0; border-radius: 6px; font: inherit; box-sizing: border-box; background: #fff; color: #222;
}
.cq input[readonly],
.cq-card input[readonly] { opacity: 1; cursor: text; background: #f6f7fa; border-width: 1px !important; }
.cq textarea,
.cq-card textarea { resize: vertical; }
.cq .chk,
.cq-card .chk { display: flex; gap: 8px; align-items: center; margin: 0; font-size: .92rem; font-weight: 600; color: #222; }
.cq .chk input,
.cq-card .chk input { width: auto; margin: 0; }
.cq .cq-short,
.cq-card .cq-short { width: 90px !important; display: inline-block; margin: 0 4px; }
.cq-hint { color: #6b7280; font-size: .8rem; font-weight: 400; }
.cq-card { border: 1px solid #e3e6ee; border-radius: 10px; padding: 18px 20px; margin-bottom: 16px; background: #fff; }
.cq-card h2 { margin: 0 0 14px; font-size: 1rem; text-transform: uppercase; letter-spacing: .03em; color: #212E63; }
.cq-card h2 small { text-transform: none; letter-spacing: 0; font-weight: 400; color: #6b7280; font-size: .8rem; }
.cq-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
.cq-inline { display: flex; gap: 6px; align-items: stretch; }
.cq-inline button { margin: 0; white-space: nowrap; min-width: 0; padding: .3rem .7rem; }
.cq-checks { display: flex; gap: 8px 22px; flex-wrap: wrap; align-items: center; margin-top: 14px; padding-top: 12px; border-top: 1px dashed #e3e6ee; }
.cq-checks > span { font-size: .82rem; font-weight: 600; color: #4b5563; }
.cq-radios { display: flex; flex-direction: column; gap: 10px; }
button.cq-sec { border-color: #9aa3b8; color: #3a4562; font-size: .9rem; }

.cq-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; align-items: start; }
@media (max-width: 1000px) { .cq-grid { grid-template-columns: 1fr; } .cq-side { order: -1; } }
.cq-sum { position: sticky; top: 16px; }
.cq-hero { background: #212E63; color: #fff; border-radius: 12px; padding: 18px 20px; }
.cq-hero .lab { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: #b0bade; font-weight: 700; }
.cq-hero .big { font-size: 2.6rem; font-weight: 900; line-height: 1.15; margin: 4px 0; }
.cq-hero .big small { font-size: .95rem; font-weight: 700; color: #d2d9f0; }
.cq-hero .big #sumFrom { font-size: 1.1rem; margin-right: 4px; }
.cq-hero .old { font-size: .85rem; color: #b0bade; }
.cq-hero .old s { color: #dfe4f6; font-weight: 800; text-decoration-color: #EC2D33; text-decoration-thickness: 2px; }
.cq-hero .old .pct { background: #EC2D33; color: #fff; padding: 1px 8px; border-radius: 999px; font-weight: 800; margin-left: 6px; }
.cq-hero .sav { display: inline-block; margin-top: 8px; background: #F7B519; color: #212E63; border-radius: 999px; padding: 0 10px; font-weight: 800; font-size: .82rem; }
.cq-hero .sav:empty { display: none; }
.cq-dl { margin: 14px 0 0; display: grid; grid-template-columns: 1fr auto; gap: 6px 10px; font-size: .88rem; }
.cq-dl dt { color: #4b5563; margin: 0; }
.cq-dl dd { margin: 0; font-weight: 800; color: #212E63; text-align: right; }
.cq-add { margin-top: 12px; padding: 10px 12px; border: 1px dashed #b7bfd6; border-radius: 8px; font-size: .84rem; color: #333; }
.cq-add:empty { display: none; }
.cq-add .cap { font-weight: 800; font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: #6b7280; margin-bottom: 4px; }

table.cq-svc { margin: 0; }
table.cq-svc th { font-size: .72rem; text-transform: uppercase; letter-spacing: .03em; color: #6b7280; background: #f6f7fa; padding: 8px; }
table.cq-svc td { padding: 8px; vertical-align: middle; }
table.cq-svc td.ctr, table.cq-svc th { text-align: center; }
table.cq-svc td.svc-short { font-weight: 800; color: #212E63; width: 54px; }
table.cq-svc input[type=number] { width: 100%; min-width: 80px; }
table.cq-svc tr.svc-row.active td { background: #fbfcff; }
table.cq-svc tr.off td { opacity: .5; }

.cq-actions { position: sticky; bottom: 0; z-index: 5; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; padding: 12px 0; background: #fff; border-top: 1px solid #e3e6ee; margin-top: 6px; }
.cq-actions .grow { flex: 1; }
.cq-actions button, .cq-actions .btn { margin: 0; }
.cq-send { background: #1f9d55 !important; border-color: #1f9d55 !important; color: #fff !important; }
.cq-send:hover { background: #17824a !important; }
.cq-sendbox { margin-top: 16px; }
.cq-hist { padding: 0; margin: 0; font-size: .86rem; }
.cq-hist li { padding: 0 0 .35rem; color: #333; }
.cq-hist li span { color: #6b7280; margin-right: 8px; }

.cq-tabs { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; margin-bottom: 14px; }
.cq-tabs a { padding: 6px 14px; border-radius: 999px; text-decoration: none; background: #f2f4f7; color: #3a4562; font-weight: 600; font-size: .9rem; }
.cq-tabs a span { opacity: .65; margin-left: 4px; }
.cq-tabs a.on { background: #212E63; color: #fff; }
.cq-tabs a.alert:not(.on) { background: #fff2cc; color: #6e4800; }
.cq-search { margin-left: auto; width: 240px !important; padding: .4rem .7rem; border: 1px solid #cfd4e0; border-radius: 999px; font: inherit; }
table.cq-list { margin-top: 6px; }
table.cq-list td { vertical-align: top; }

[hidden] { display: none !important; }
.cq-inline input { flex: 1 1 auto; min-width: 0; }
.cq-inline button { flex: 0 0 auto; }

.cq-note.ok { background: #e6f6ec; border-color: #9bd6b1; color: #0f5c30; }
.cq-note form { display: inline; margin-left: .6rem; }
.cq-note form button { padding: .15rem .6rem; font-size: .85rem; }

/* Raynet */
.rn-chip { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: .78rem; font-weight: 700; vertical-align: middle; white-space: nowrap; text-decoration: none; }
.rn-chip.rn-ok { background: #e1f0ff; color: #0b4a8f; }
.rn-chip.rn-win { background: #1f9d55; color: #fff; }
.rn-chip.rn-lost { background: #f3dcdc; color: #8a1f1f; }
.rn-chip.rn-wait { background: #fff2cc; color: #8a5a00; }
.rn-chip.rn-none { background: #eceff3; color: #5b6472; }
.rn-chip.rn-err { background: #fde2e0; color: #b3261e; }
a.rn-chip:hover { filter: brightness(.95); }
.rn-card form { display: inline-block; margin: 0; }

/* Followupy: malé akčné formuláre (tlačidlá), nesmú dediť mriežkový štýl z globálneho form */
form.fu-f { display: inline-block; grid-template-columns: none; max-width: none; margin: 0; gap: 0; vertical-align: middle; }
form.fu-f button { margin: 0; white-space: nowrap; }
.cq-card form.cq label.chk { display: block; text-align: left; padding: 0; }
.cq-svc form.fu-f button { padding: .3rem .75rem; font-size: .9rem; }

/* ---- editor ponuky (etapa 2): lišta, karty, živý náhľad, odchýlky od cenníka ---- */
.container.xwide { max-width: 1480px; }
.ed-bar { position: sticky; top: 0; z-index: 20; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin: -1rem 0 1rem; padding: .6rem 0 .7rem; background: #fff; border-bottom: 1px solid #e3e6ee; }
.ed-bar-l { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; min-width: 0; }
.ed-bar-r { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.ed-bar-r .btn, .ed-bar-r button { margin: 0; }
.ed-back { font-size: .9rem; text-decoration: none; color: #3a4562; white-space: nowrap; }
.ed-title { margin: 0; font-size: 1.55rem; color: #212E63; line-height: 1.15; overflow-wrap: anywhere; }
.ed-num { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .85rem; color: #59627a; white-space: nowrap; }
.ed-meta { flex-basis: 100%; color: #6b7280; font-size: .85rem; }
.ed-state { font-size: .82rem; font-weight: 600; color: #1f6b3d; padding: 2px 10px; border-radius: 999px; background: #e8f5ed; }
.ed-state.warn { color: #7a4d00; background: #fff2cc; }
.ed-state.busy { color: #3a4562; background: #eef1f6; }
.ed-state.err { color: #9b1c1c; background: #fde8e8; }
button.ed-save { border-color: #9aa3b8; color: #3a4562; }
button.ed-save.on { background: #212E63; border-color: #212E63; color: #fff; }
.ed-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 440px); gap: 24px; align-items: start; }
@media (max-width: 1100px) { .ed-grid { grid-template-columns: 1fr; } }
.ed-tabs { display: flex; flex-wrap: wrap; gap: 2px; border-bottom: 1px solid #e3e6ee; margin: 0 0 16px; }
.ed-tabs a { padding: 10px 14px; font-size: .95rem; font-weight: 700; color: #59627a; text-decoration: none; border-bottom: 3px solid transparent; margin-bottom: -1px; }
.ed-tabs a span { display: inline-block; min-width: 1.3em; padding: 0 5px; border-radius: 999px; background: #eef1f6; font-size: .75rem; margin-left: 4px; text-align: center; }
.ed-tabs a.on { color: #212E63; border-bottom-color: #EC2D33; }
.ed-tabs a:focus-visible, .ed-seg button:focus-visible { outline: 3px solid #F7B519; outline-offset: 2px; }
.ed-js .ed-panel { display: none; }
.ed-grid [id], .ed-grid .cq-card { scroll-margin-top: 190px; }
.ed-js .ed-panel.on { display: block; }
.ed-dev { display: flex; flex-direction: column; gap: 6px; }
.ed-dev[hidden] { display: none; }
.ed-dev-head { display: flex; gap: 8px; align-items: center; }
.ed-dev-list { margin: 0 0 4px 26px; padding: 0; list-style: disc; }
.ed-dev-list li { margin: 0 0 2px; padding: 0; }
.ed-dev label { font-size: .85rem; font-weight: 600; color: #6e4800; }
.ed-dev input { width: 100%; box-sizing: border-box; padding: .45rem .6rem; border: 1px solid #e0c46a; border-radius: 6px; font: inherit; background: #fff; }
table.cq-svc input.ed-off { border-color: #B7791F !important; background: #fffaf0; }
.ed-man { color: #8A5A12; }
button.ed-use { min-width: 0; padding: 0 6px; margin: 0 0 0 2px; font-size: .75rem; line-height: 1.3; border-width: 1px; border-color: #b7bfd6; color: #3a4562; }
.cq-actions.ed-act-side { position: static; }
.ed-dirty { font-size: .85rem; font-weight: 700; color: #7a4d00; background: #fff2cc; border-radius: 999px; padding: 2px 10px; }
.ed-dirty[hidden] { display: none; }
.ed-side { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
@media (min-width: 1101px) { .ed-side { position: sticky; top: 150px; max-height: calc(100vh - 160px); overflow: auto; } .ed-side .cq-sum { position: static; } }
.ed-pv-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 8px; }
.ed-pv-head h2 { margin: 0; font-size: 1rem; text-transform: uppercase; letter-spacing: .03em; color: #212E63; }
.ed-seg { display: inline-flex; border: 1px solid #cdd3e0; border-radius: 8px; overflow: hidden; }
.ed-seg button { margin: 0; border: 0; border-radius: 0; min-width: 0; padding: 5px 12px; font-size: .85rem; font-weight: 600; color: #3a4562; }
.ed-seg button.on { background: #212E63; color: #fff; }
.ed-pv-box { position: relative; height: 560px; overflow: hidden; border: 1px solid #e3e6ee; border-radius: 12px; background: #e9edf4; }
.ed-pv-box iframe { position: absolute; left: 0; top: 0; border: 0; background: #fff; transform-origin: 0 0; }
.ed-pv-box[data-mode="mob"] #pvFrame { border-radius: 22px; box-shadow: 0 12px 30px -16px rgba(33,46,99,.6); }
.ed-pv-box #pvPdf { width: 100%; height: 100%; transform: none; }
.ed-pv-box iframe[hidden] { display: none; }
.ed-pv-msg { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center; padding: 24px; color: #59627a; font-size: .9rem; background: #f6f7fa; }
.ed-pv-msg[hidden] { display: none; }
.ed-pv-foot { margin: 6px 0 0; font-size: .8rem; color: #6b7280; }


/* ===================== Administrácia – etapa 3 (hlavička, Prehľad, Ponuky, Nová ponuka, Followupy, karta klienta) ===================== */
:root { --ov-navy: #1C2B5A; --ov-red: #D7262E; --ov-text: #1A2033; --ov-muted: #5B6478; --ov-line: #E2E6EF; --ov-line2: #EEF1F6; --ov-bg: #F3F5F9; --ov-in: #CDD3E0; }
body { background: var(--ov-bg); }
header.top { background: var(--ov-navy); color: #fff; box-shadow: none; padding: 0; display: block; position: relative; z-index: 30; }
.topin { max-width: 1520px; margin: 0 auto; padding: 0 32px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; min-height: 64px; box-sizing: border-box; }
header.top .logo { display: flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; white-space: nowrap; }
header.top .logo img { display: block; height: 34px; width: auto; }
header.top .logo span { font-weight: 600; font-size: 13px; line-height: 20px; letter-spacing: .14em; text-transform: uppercase; color: #C9D2EA; padding-left: 12px; border-left: 1px solid rgba(255,255,255,.28); }
header.top .nav { display: flex; flex-wrap: wrap; gap: 2px; flex: 1 1 auto; }
header.top .nav a { margin: 0; color: #C9D2EA; text-decoration: none; font-size: 15px; font-weight: 600; padding: 8px 12px; border-radius: 8px; white-space: nowrap; }
header.top .nav a:hover { color: #fff; background: rgba(255,255,255,.08); text-decoration: none; }
header.top .nav a.on { color: #fff; background: rgba(255,255,255,.14); }
.top-search { margin: 0; max-width: none; grid-template-columns: none; display: flex; align-items: center; gap: 8px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); border-radius: 10px; padding: 0 12px; height: 40px; color: #C9D2EA; flex: 0 1 250px; min-width: 170px; box-sizing: border-box; }
.top-search:focus-within { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.45); }
.top-search input[type=search] { flex: 1; min-width: 0; background: transparent; border: 0; outline: 0; color: #fff; font: inherit; font-size: 14px; padding: 0; height: 38px; }
.top-search input::placeholder { color: #AEB8D6; }
.btn-new { display: inline-flex; align-items: center; height: 40px; padding: 0 16px; border-radius: 10px; background: var(--ov-red); color: #fff !important; font-weight: 700; font-size: 15px; text-decoration: none; white-space: nowrap; }
.btn-new:hover { background: #BD1F27; text-decoration: none; }
.top-actions { display: flex; align-items: center; gap: 12px; margin-left: auto; }   /* Nová ponuka + koliesko vždy spolu úplne vpravo (aj keď sa hlavička zalomí) */
details.gear { position: relative; }
details.gear > summary { list-style: none; width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; color: #C9D2EA; cursor: pointer; }
details.gear > summary::-webkit-details-marker { display: none; }
details.gear > summary:hover, details.gear[open] > summary { background: rgba(255,255,255,.12); color: #fff; }
.gear-menu { position: absolute; right: 0; top: 46px; min-width: 210px; background: #fff; border: 1px solid var(--ov-line); border-radius: 12px; box-shadow: 0 12px 32px rgba(16,24,48,.18); padding: 6px; z-index: 40; }
.gear-menu a { display: block; margin: 0; padding: 9px 12px; border-radius: 8px; color: var(--ov-text); text-decoration: none; font-weight: 600; font-size: 15px; }
.gear-menu a:hover, .gear-menu a.on { background: #F2F4FA; text-decoration: none; }
.gear-menu a.out { border-top: 1px solid var(--ov-line2); margin-top: 4px; padding-top: 11px; color: var(--ov-muted); border-radius: 0 0 8px 8px; }
.container.app { max-width: 1280px; width: 100%; margin: 0 auto; padding: 28px 32px 48px; background: transparent; box-shadow: none; border-radius: 0; box-sizing: border-box; }
.container.app > .msg { margin: 0 0 18px; }

.ov { display: flex; flex-direction: column; gap: 24px; color: var(--ov-text); }
.ov h1 { font-weight: 900; font-size: 36px; letter-spacing: .005em; margin: 0; color: var(--ov-navy); line-height: 1.1; }
.ov h2 { font-weight: 700; font-size: 21px; margin: 0 0 12px; color: var(--ov-navy); }
.ov h2 small { font-size: 14px; font-weight: 400; }
.ov-muted { color: var(--ov-muted); }
.ov-s { font-size: 13px; }
.ov .mono, .ov-table .mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; }
.ov .b { font-weight: 700; }
.ov .nw { white-space: nowrap; }
.ov a { color: var(--ov-navy); }
.ov a:hover { color: var(--ov-red); }
.ov-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px 20px; }
.ov-date { margin: 0 0 4px; font-size: 15px; }
.ov-lead { margin: 6px 0 0; font-size: 15px; }
.ov-rn { margin: 0; font-size: 14px; display: flex; align-items: center; gap: 8px; }
.ov-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; flex: none; }
.ov-card { background: #fff; border: 1px solid var(--ov-line); border-radius: 14px; }
.ov-pad { padding: 22px 24px; }
.ov-sec { display: flex; flex-direction: column; gap: 12px; }
.ov-card.ov-sec { padding: 22px 24px; }
.ov-sechead { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px 14px; }
.ov-sechead h2 { margin: 0; }
.ov form, .ov-banner form { display: block; max-width: none; margin: 0; gap: 0; grid-template-columns: none; }
.ov button { min-width: 0; margin: 0; line-height: normal; transition: none; }
.ov-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 42px; padding: 0 16px; border-radius: 10px; font: inherit; font-size: 15px; font-weight: 700; text-decoration: none; border: 1px solid var(--ov-in); background: #fff; color: var(--ov-navy) !important; cursor: pointer; box-sizing: border-box; white-space: nowrap; }
.ov-btn:hover { border-color: var(--ov-navy); background: #fff; color: var(--ov-navy) !important; text-decoration: none; }
.ov-btn-sm { height: 34px; padding: 0 13px; font-size: 14px; }
.ov-btn-navy { background: var(--ov-navy); border-color: var(--ov-navy); color: #fff !important; }
.ov-btn-navy:hover { background: #26386F; border-color: #26386F; color: #fff !important; }
.ov-btn-red { background: var(--ov-red); border-color: var(--ov-red); color: #fff !important; }
.ov-btn-red:hover { background: #BD1F27; border-color: #BD1F27; color: #fff !important; }
.ov-btn-block { width: 100%; }
.ov-chip { display: inline-block; font-size: 11px; font-weight: 700; padding: 1px 7px; border-radius: 6px; background: #FFF4DD; color: #8A5A12; vertical-align: 1px; }
.ov-chip-rn { background: #E3F3F4; color: #0B6770; }
.ov-chip-hot { background: #FDE8E8; color: #A61B22; }
.ov-chip-ref { background: #EAF5EC; color: #1F6B3A; }
.ov-rnlink { color: #0B6770; text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 2px; }
.ov-rnlink:hover { color: #08525A; text-decoration-style: solid; }
.ov-table tr.is-rn td:first-child { box-shadow: inset 3px 0 0 #0E7C86; }
.ov-rnsync { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0; }
.ov-pill { display: inline-flex; align-items: center; font-size: 13px; font-weight: 700; padding: 3px 10px; border-radius: 999px; white-space: nowrap; background: #EEF1F6; color: var(--ov-navy); }
.ov-g-caka { background: #FFF4DD; color: #8A5A12; }
.ov-g-hotova { background: #EEF1F6; color: #3A4257; }
.ov-g-odoslana { background: #E7EEFC; color: #244BA6; }
.ov-g-akc { background: #E5F4EC; color: #14532D; }
.ov-g-zmluva { background: #EFEAFB; color: #553C9A; }
.ov-g-podpisana { background: #E3E7F1; color: var(--ov-navy); }
.ov-g-uzavreta, .ov-g-old { background: #F1F2F5; color: #5B6478; }
.ov-warnline { font-size: 14px; padding: 8px 12px; border-radius: 10px; background: #FFF4DD; color: #6B4510; }
.ov-ok { font-size: 14px; padding: 10px 14px; border-radius: 10px; background: #E5F4EC; color: #14532D; }

/* Prehľad */
.ov-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 16px; }
.ov-today { background: #fff; border: 1px solid var(--ov-line); border-top: 4px solid var(--c); border-radius: 14px; padding: 20px 22px; display: flex; flex-direction: column; gap: 12px; }
.ov-tpill { align-self: flex-start; font-size: 13px; font-weight: 700; padding: 4px 10px; border-radius: 999px; background: #F2F4FA; background: color-mix(in srgb, var(--c) 12%, #fff); color: var(--c); }
.ov-tt { font-weight: 700; font-size: 16px; color: var(--ov-text) !important; text-decoration: none; }
a.ov-tt:hover { color: var(--ov-red) !important; }
.ov-titem { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 10px; border-top: 1px solid var(--ov-line2); }
.ov-titem:first-of-type { border-top: 0; padding-top: 0; }
.ov-titem .ov-muted { font-size: 13px; margin-top: 2px; }
.ov-tfoot { margin-top: auto; display: flex; flex-wrap: wrap; gap: 8px; }
.ov-flist { display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.ov-flist > div { display: flex; justify-content: space-between; gap: 12px; }
.ov-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 2px; background: var(--ov-line); border-radius: 12px; overflow: hidden; }
.ov-tile { background: #fff; padding: 16px; display: flex; flex-direction: column; gap: 2px; text-decoration: none; color: var(--ov-text) !important; box-shadow: inset 0 -4px 0 var(--c); }
.ov-tile:hover { background: #FAFBFD; }
.ov-tile .ov-muted { font-size: 13px; }
.ov-tile b { font-size: 32px; font-weight: 900; line-height: 1.1; }
.ov-tile .ov-tsum { font-size: 13px; font-weight: 700; }
.ov-ev { display: grid; grid-template-columns: 110px minmax(0, 1fr) auto; gap: 12px; padding: 11px 0; border-top: 1px solid var(--ov-line2); font-size: 15px; align-items: center; text-decoration: none; color: var(--ov-text) !important; }
.ov-ev:hover { background: #FAFBFD; }

/* Ponuky */
.ov-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.ov-tab { display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--ov-in); background: #fff; font-size: 14px; font-weight: 600; color: var(--ov-text) !important; text-decoration: none; }
.ov-tab b { font-weight: 700; color: var(--ov-muted); }
.ov-tab:hover { border-color: var(--ov-navy); text-decoration: none; }
.ov-tab.on { background: var(--ov-navy); border-color: var(--ov-navy); color: #fff !important; }
.ov-tab.on b { color: #C9D2EA; }
.ov-tab.alert:not(.on) b { color: #8A5A12; }
.ov-tablecard { overflow: visible; }
.ov-scroll { border-radius: 14px 14px 0 0; }
@media (max-width: 1100px) { .ov-scroll { overflow-x: auto; } }   /* na širokej obrazovke bez orezania, aby sa menu „⋯“ zobrazilo celé */
.ov-table { width: 100%; border-collapse: collapse; font-size: 15px; margin: 0; }
.ov-table th, .ov-table td { border: 0; }
.ov-table a { text-decoration: none; }
.ov-table a.mono:hover { text-decoration: underline; }
.ov-table th { text-align: left; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ov-muted); padding: 12px 14px; border-bottom: 1px solid var(--ov-line); background: #F8F9FC; }
.ov-table td { padding: 14px; border-bottom: 1px solid var(--ov-line2); vertical-align: top; text-align: left; }
.ov-table .r { text-align: right; }
.ov-table tr.is-test td { background: #FFFCF4; }
.ov-table .ov-client { color: var(--ov-text); text-decoration: none; }
.ov-table .ov-client:hover { color: var(--ov-red); text-decoration: underline; }
.ov-empty { text-align: center !important; color: var(--ov-muted); padding: 34px 14px !important; }
.ov-svc-items { background: #E3F3F4 !important; color: #0B6770 !important; }
.ov-svc { display: inline-block; font-size: 12px; font-weight: 700; padding: 3px 8px; border-radius: 6px; background: #EEF1F6; color: var(--ov-navy); margin: 0 4px 4px 0; }
.ov-next { font-size: 14px; font-weight: 600; }
.ov-next.t-warn { color: #8A5A12; }
.ov-next.t-ok { color: #14532D; }
.ov-next.t-muted { color: var(--ov-muted); font-weight: 400; }
.ov-tfootbar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding: 14px 16px; font-size: 14px; }
details.ov-more { display: inline-block; position: relative; vertical-align: middle; margin-left: 4px; }
details.ov-more > summary { list-style: none; width: 34px; height: 34px; border-radius: 8px; border: 1px solid var(--ov-in); background: #fff; display: inline-flex; align-items: center; justify-content: center; color: var(--ov-navy); cursor: pointer; font-weight: 700; }
details.ov-more > summary::-webkit-details-marker { display: none; }
details.ov-more[open] > summary, details.ov-more > summary:hover { border-color: var(--ov-navy); }
.ov-menu { position: absolute; right: 0; top: 40px; min-width: 190px; background: #fff; border: 1px solid var(--ov-line); border-radius: 12px; box-shadow: 0 12px 32px rgba(16,24,48,.16); padding: 6px; z-index: 20; text-align: left; }
.ov-menu a, .ov-menu button, .ov-menu .ov-off { display: block; width: 100%; box-sizing: border-box; text-align: left; padding: 8px 12px; border-radius: 8px; border: 0; background: none; font: inherit; font-size: 14px; font-weight: 600; color: var(--ov-text); text-decoration: none; cursor: pointer; margin: 0; }
.ov-menu a:hover, .ov-menu button:hover { background: #F2F4FA; color: var(--ov-text); }
.ov-menu button.danger:hover { color: #B3261E; }
.ov-menu form { margin: 0; display: block; }
.ov-menu .danger { color: #B3261E; }
.ov-menu .ov-off { color: var(--ov-muted); cursor: default; font-weight: 400; }

/* Nová ponuka, karta klienta (dvojstĺpec) */
.ov-back { font-size: 14px; text-decoration: none; }
.ov-cols { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; }
.ov-main { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.ov-side { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.ov-step { padding: 22px 24px; display: flex; flex-direction: column; gap: 14px; }
.ov-step h2 { display: flex; align-items: center; gap: 10px; margin: 0; }
.ov-step h2 span { width: 28px; height: 28px; border-radius: 50%; background: var(--ov-navy); color: #fff; font-size: 15px; display: inline-flex; align-items: center; justify-content: center; }
.ov label, .ov legend { display: block; font-size: 13px; font-weight: 700; color: #3A4257; margin: 0 0 6px; padding: 0; text-align: left; }
.ov-in { width: 100%; box-sizing: border-box; height: 44px; border: 1px solid var(--ov-in); border-radius: 10px; padding: 0 12px; font: inherit; font-size: 15px; color: var(--ov-text); background: #fff; }
textarea.ov-in { height: auto; padding: 10px 12px; resize: vertical; }
.ov-in:focus { outline: 2px solid #9DB4F0; outline-offset: 0; border-color: #6C8BDB; }
.ov-in-big { font-size: 17px; font-weight: 700; letter-spacing: .04em; }
.ov-ico { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.ov-ico > div { flex: 1 1 240px; }
.ov-g2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
details.ov-moref > summary { cursor: pointer; font-size: 14px; color: var(--ov-navy); font-weight: 600; margin-bottom: 4px; }
details.ov-moref[open] > summary { margin-bottom: 12px; }
.ov-fs { border: 0; padding: 0; margin: 0; min-width: 0; }
.ov-seg { display: flex; flex-wrap: wrap; border: 1px solid var(--ov-in); border-radius: 10px; overflow: hidden; background: #fff; }
.ov-seg label { flex: 1 1 auto; margin: 0; display: block; font-size: 14px; font-weight: 500; color: var(--ov-text); border-right: 1px solid var(--ov-in); cursor: pointer; }
.ov-seg label:last-child { border-right: 0; }
.ov-seg input { position: absolute; opacity: 0; pointer-events: none; }
.ov-seg label span { display: flex; align-items: center; justify-content: center; height: 42px; padding: 0 14px; white-space: nowrap; }
.ov-seg input:checked + span { background: var(--ov-navy); color: #fff; font-weight: 700; }
.ov-seg input:focus-visible + span { outline: 2px solid #9DB4F0; outline-offset: -2px; }
.ov-step-num { display: flex; gap: 8px; }
.ov-step-num .ov-btn { width: 44px; height: 44px; padding: 0; flex: none; font-size: 18px; }
.ov-step-num .ov-in { text-align: center; font-weight: 700; }
.ov-chk { display: flex !important; gap: 10px; align-items: center; font-weight: 500 !important; font-size: 15px !important; margin: 0 !important; color: var(--ov-text) !important; }
.ov-chk input { width: 18px; height: 18px; margin: 0; }
.ov-svcs { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.ov-sv { display: flex !important; gap: 12px; align-items: flex-start; padding: 16px !important; border: 1.5px solid var(--ov-in); border-radius: 12px; background: #fff; cursor: pointer; margin: 0 !important; position: relative; }
.ov-sv input { position: absolute; opacity: 0; pointer-events: none; }
.ov-sv b { display: block; font-size: 15px; color: var(--ov-text); }
.ov-sv .ov-muted { font-size: 13px; font-weight: 400; }
.ov-chkbox { flex: none; width: 22px; height: 22px; border-radius: 6px; border: 1.5px solid #9AA3B8; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; }
.ov-sv:has(input:checked) { border-color: var(--ov-navy); background: #F2F4FA; box-shadow: inset 0 0 0 1px var(--ov-navy); }
.ov-sv input:checked + .ov-chkbox { background: var(--ov-navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3'%3E%3Cpath d='M5 12.5l4 4 10-10'/%3E%3C/svg%3E") center/14px no-repeat; border-color: var(--ov-navy); }
.ov-sv input:focus-visible + .ov-chkbox { outline: 2px solid #9DB4F0; outline-offset: 2px; }
.ov-sv.off { opacity: .55; cursor: not-allowed; }
.ov-sum { flex: 1 1 300px; min-width: 0; padding: 22px 24px; display: flex; flex-direction: column; gap: 12px; border-top: 4px solid var(--ov-red); position: sticky; top: 16px; }
.ov-sumh { font-weight: 900; font-size: 21px; color: var(--ov-navy); }
.ov-row { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--ov-line2); font-size: 15px; }
.ov-total { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 12px 0 2px; border-top: 2px solid var(--ov-navy); font-weight: 600; }
.ov-total b { font-weight: 900; font-size: 34px; color: var(--ov-navy); white-space: nowrap; }
.ov-sum p { margin: 0; }
.ov-acts { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ov-acts form { margin: 0; }
.ov-kvs { padding: 6px 20px; }
.ov-kv { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--ov-line2); font-size: 14px; }
.ov-kv:last-child { border-bottom: 0; }
.ov-kv > span:last-child { text-align: right; overflow-wrap: anywhere; }
.ov-qrow { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 14px; padding: 6px 0; }
.ov-noteft { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 10px; }
.ov-qnotes { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--ov-line2); display: flex; flex-direction: column; gap: 4px; }
.ov-nowbox { display: flex; flex-direction: column; gap: 10px; margin: 0 0 20px; padding: 14px 16px; border-radius: 12px; background: #F8F9FC; border: 1px solid var(--ov-line2); }
.ov-nowrow { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.ov-tl { list-style: none; margin: 0; padding: 0; }
.ov-tl li { position: relative; padding: 0 0 20px 34px; color: var(--ov-text); }
.ov-tl li::before { content: ""; position: absolute; left: 5px; top: 5px; width: 9px; height: 9px; border-radius: 50%; border: 3px solid #fff; box-shadow: 0 0 0 2px var(--k, #9AA3B8); background: var(--k, #9AA3B8); }
.ov-tl li::after { content: ""; position: absolute; left: 11px; top: 22px; bottom: 2px; width: 2px; background: var(--ov-line2); }
.ov-tl li:last-child::after { display: none; }
.ov-tl li.plan::before { background: #fff; }
.ov-tl .k-lead { --k: #B7791F; } .ov-tl .k-ok { --k: #1F7A4D; } .ov-tl .k-contract { --k: #6B46C1; } .ov-tl .k-open { --k: #0E7C86; }
.ov-tl .k-fu { --k: #2F5FD0; } .ov-tl .k-rn { --k: #8A93A8; } .ov-tl .k-lost { --k: #8A93A8; } .ov-tl .k-sent { --k: #1C2B5A; } .ov-tl .k-muted { --k: #C5CBD8; }

/* Followupy */
.ov-seg-mode form { margin: 0; flex: 1 1 auto; display: flex; }
.ov-seg-mode button { flex: 1; height: 42px; padding: 0 16px; border: 0; border-right: 1px solid var(--ov-in); background: #fff; font: inherit; font-size: 14px; color: var(--ov-text); cursor: pointer; }
.ov-seg-mode form:last-child button { border-right: 0; }
.ov-seg-mode button:hover:not(.on) { background: #F2F4FA; color: var(--ov-text); }
.ov-seg-mode button[disabled] { opacity: 1; pointer-events: none; }
.ov-seg-mode button.on { color: #fff; font-weight: 700; cursor: default; }
.ov-seg-mode button.on.m-trial { background: #B7791F; } .ov-seg-mode button.on.m-auto { background: #1F7A4D; } .ov-seg-mode button.on.m-off { background: #5B6478; }
.ov-banner { display: flex; flex-wrap: wrap; gap: 14px 20px; align-items: center; padding: 16px 20px; border-radius: 12px; border: 1px solid; }
.ov-banner.m-trial { background: #FFF4DD; border-color: #F0D9A8; color: #6B4510; }
.ov-banner.m-auto { background: #E5F4EC; border-color: #B9DFC8; color: #14532D; }
.ov-banner.m-off { background: #F1F2F5; border-color: var(--ov-line); color: #3A4257; }
.ov-banner-t { flex: 1 1 360px; min-width: 0; }
.ov-banner-p { flex: 0 1 260px; display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.ov-banner-a { display: flex; flex-wrap: wrap; gap: 8px; }
.ov-banner-a form { margin: 0; }
.ov-bar { display: flex; height: 8px; border-radius: 9px; overflow: hidden; background: #EEF1F6; }
.ov-banner .ov-bar { background: rgba(255,255,255,.7); }
.ov-banner .ov-bar span { background: #B7791F; }
.ov-bar .run { background: #2F5FD0; } .ov-bar .pau { background: #E0A43B; } .ov-bar .fin { background: #1F7A4D; }
.ov-day { font-weight: 700; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--ov-muted); padding: 8px 0 0; }
.ov-ev2 { display: grid; grid-template-columns: 60px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 12px 16px; border: 1px solid var(--ov-line); border-radius: 12px; background: #fff; }
.ov-ev2.paused { opacity: .7; }
.ov-ev2 .ov-time { font-size: 15px; }
.ov-seq { padding: 16px 18px; display: flex; flex-direction: column; gap: 10px; }
.ov-seqh { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
.ov-legend { display: flex; flex-wrap: wrap; gap: 14px; }
.ov-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; vertical-align: -1px; }
.ov-legend .run { background: #2F5FD0; } .ov-legend .pau { background: #E0A43B; } .ov-legend .fin { background: #1F7A4D; }
.ov-bad { color: #B3261E; } .ov-warn { color: #8A5A12; }
.container.app .cq-card { border-radius: 14px; }

@media (max-width: 900px) {
	.topin { padding: 10px 16px; gap: 10px 12px; }
	.top-search { order: 5; flex: 1 1 100%; min-width: 0; }
	.container.app { padding: 20px 16px 40px; }
	.ov h1 { font-size: 30px; }
	.ov-ev { grid-template-columns: 1fr; gap: 2px; }
	.ov-ev2 { grid-template-columns: 1fr; gap: 6px; }
	.ov-sum { position: static; }
}
.ov-testchk { align-items: flex-start !important; line-height: 1.35; } .ov-testchk input { margin-top: 2px; }
.ov h2 label { font: inherit; color: inherit; margin: 0; padding: 0; display: inline; }
.ov a.mono { text-decoration: none; font-weight: 600; }
.ov a.mono:hover { text-decoration: underline; }
.ov-ev2 a, .ov-titem a { text-decoration: none; } .ov-ev2 a:hover { text-decoration: underline; }
.ov-more-link { font-size: 14px; text-decoration: none; }

.ov form.fu-f { display: inline-block; vertical-align: middle; }
.ov .cq-card h2 { margin: 0 0 14px; font-size: 1rem; text-transform: uppercase; letter-spacing: .03em; color: #212E63; }
.ov-table .ov-client + .ov-s { overflow-wrap: anywhere; }
.ov-table td:first-child { white-space: nowrap; }
/* Štatistiky (inc/stats.php) */
.st-filter { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; margin: 0; }
.st-filter label { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--ov-muted); margin: 0; }
.st-filter select { height: 40px; border: 1px solid var(--ov-in); border-radius: 10px; padding: 0 10px; font: inherit; font-size: 15px; background: #fff; color: var(--ov-text); }
.st-flash { margin: 0; padding: 10px 14px; border-radius: 10px; background: #EAF5EC; color: #14532D; font-weight: 600; }
.st-tiles .ov-tile b { font-size: 28px; }
.st-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(420px, 1fr)); gap: 16px; align-items: start; }
.st-grid-in { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.st-note { font-size: 13px; margin: -4px 0 4px; }
.st-h3 { font-size: 15px; font-weight: 700; color: var(--ov-navy); margin: 14px 0 6px; }
.st-bar { display: grid; grid-template-columns: minmax(150px, 220px) minmax(60px, 1fr) minmax(64px, auto); gap: 10px; align-items: center; padding: 5px 0; font-size: 14px; }
.st-bl { color: var(--ov-text); }
.st-bt { height: 14px; background: var(--ov-line2); border-radius: 4px; overflow: hidden; }
.st-bt span { display: block; height: 100%; background: #4A6FD1; border-radius: 0 4px 4px 0; }
.st-bar:hover .st-bt span { background: #3558B8; }
.st-bv { text-align: right; white-space: nowrap; }
.st-kv { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.st-kv div { background: #F8F9FC; border-radius: 10px; padding: 10px 12px; display: flex; flex-direction: column; gap: 2px; font-size: 13px; }
.st-kv b { font-size: 20px; color: var(--ov-text); }
.st-table td, .st-table th { padding: 10px 12px; font-size: 14px; }
.st-table th.st-grp { text-align: center; border-left: 1px solid var(--ov-line); }
.st-rnline { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; padding-top: 6px; font-size: 14px; }
.st-rnline form { margin: 0; }
.st-dims { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 8px 24px; }
.st-mini { width: 100%; border-collapse: collapse; font-size: 14px; }
.st-mini td { padding: 5px 4px; border-bottom: 1px solid var(--ov-line2); vertical-align: middle; }
.st-mini .r { text-align: right; white-space: nowrap; }
.st-mini td.st-mbar { width: 34%; }
.st-mbar span { display: block; height: 10px; background: #2E9E6B; border-radius: 0 4px 4px 0; min-width: 0; }
.st-legend { display: flex; flex-wrap: wrap; gap: 16px; font-size: 13px; color: var(--ov-muted); }
.st-legend i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.st-cols { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 6px; height: 190px; align-items: end; border-bottom: 1px solid var(--ov-line); padding-top: 6px; }
.st-col { display: flex; flex-direction: column; height: 100%; justify-content: flex-end; }
.st-colbars { flex: 1; display: flex; align-items: flex-end; justify-content: center; gap: 2px; }
.st-colbars span { width: 40%; max-width: 18px; border-radius: 4px 4px 0 0; min-height: 0; }
.st-colbars .a { background: #4A6FD1; }
.st-colbars .b { background: #2E9E6B; }
.st-col:hover .st-colbars span { filter: brightness(.88); }
.st-collab { text-align: center; font-size: 11px; color: var(--ov-muted); padding-top: 4px; white-space: nowrap; }
.st-table-view summary { cursor: pointer; font-size: 14px; color: var(--ov-navy); font-weight: 600; margin-top: 8px; }
@media (max-width: 640px) { .st-grid { grid-template-columns: 1fr; } .st-bar { grid-template-columns: 1fr 1fr auto; } .st-collab { font-size: 9px; } }
.st .ov-scroll { overflow-x: auto; }
.st-mini, .st-mini td { border: 0; }
.st-mini td { border-bottom: 1px solid var(--ov-line2); background: transparent; }
.st-filter { justify-content: flex-end; }

/* ---- Používatelia (účty, práva, pozvánky) a Referenčný predaj ---- */
.us form, .rs form { display: block; max-width: none; margin: 0; gap: 0; }
.us form label, .rs form label { text-align: left; padding: 0; }
.us .st-filter, .rs .st-filter { display: flex; }
.us input[type=text], .us input[type=email], .us input[type=password], .us input[type=date], .us input[type=search], .us select, .us textarea,
.rs input[type=text], .rs input[type=email], .rs input[type=date], .rs input[type=search], .rs select, .rs textarea { height: 40px; border: 1px solid var(--ov-in); border-radius: 10px; padding: 0 10px; font: inherit; font-size: 15px; background: #fff; color: var(--ov-text); box-sizing: border-box; max-width: 100%; }
.us textarea, .rs textarea { height: auto; padding: 8px 10px; width: 100%; line-height: 1.45; }
.us-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.us-invite { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; justify-content: space-between; border-left: 4px solid #C98A1B; }
.us-invite > div { display: flex; flex-direction: column; gap: 2px; flex: 1 1 380px; }
.us-st { display: inline-block; font-size: 12px; font-weight: 700; padding: 2px 8px; border-radius: 999px; white-space: nowrap; }
.us-st-a { background: #EAF5EC; color: #1F6B3A; }
.us-st-p { background: #FFF4DD; color: #8A5A12; }
.us-st-b { background: #FDE8E8; color: #A61B22; }
.us-ok { color: #1F6B3A; font-weight: 600; }
.us-link { background: none; border: 0; padding: 0 0 0 6px; color: var(--ov-navy); text-decoration: underline; cursor: pointer; font: inherit; font-size: 13px; }
.us-del { width: 34px; padding: 0; color: var(--ov-muted) !important; }
.us-del:hover { color: var(--ov-red) !important; border-color: var(--ov-red); }
.us-table tr.us-me td { background: #FAFBFD; }
.us-table td { vertical-align: middle; }
.us-dim td { color: var(--ov-muted); }
.us-in { width: 100%; min-width: 160px; }
.us-err { color: #A61B22; font-weight: 600; }
.us-note { font-size: 13px; margin: 10px 0 0; }
.us-2fa { display: flex !important; flex-wrap: wrap; gap: 10px 14px; align-items: center; font-size: 14px; }
.us-2fa label { display: flex; gap: 8px; align-items: center; font-weight: 600; }
.us-2fa input[type=checkbox] { width: auto; }
.us form.us-form { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px 24px !important; max-width: 900px !important; }
.us-form > div > label:first-child { display: block; font-weight: 600; font-size: 14px; margin-bottom: 6px !important; }
.us-form input[type=text], .us-form input[type=email], .us-form input[type=password], .us-form select { width: 100%; }
.us-wide { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.us-hint { display: block; color: var(--ov-muted); font-size: 13px; margin-top: 5px; line-height: 1.4; }
.us-chk { display: flex !important; gap: 8px; align-items: center; font-size: 15px; margin: 4px 0; }
.us-chk input { width: auto; margin: 0; }
.us-sub { font-size: 15px; font-weight: 400; margin-left: 6px; }
.us-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.us-link-box { display: flex; gap: 8px; margin: 14px 0 0; }
.us-link-box input { flex: 1; min-width: 0; font-family: ui-monospace, Menlo, monospace; font-size: 13px !important; }
.us-roles { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; margin-bottom: 18px; }
.us-role { display: flex !important; gap: 10px; align-items: flex-start; border: 1px solid var(--ov-in); border-radius: 12px; padding: 12px 14px !important; cursor: pointer; background: #fff; }
.us-role:has(input:checked) { border-color: var(--ov-navy); box-shadow: inset 0 0 0 1px var(--ov-navy); background: #F7F8FC; }
.us-role input { width: auto; margin: 3px 0 0; }
.us-role span, .us-perm span { display: flex; flex-direction: column; gap: 2px; }
.us-role small, .us-perm small { color: var(--ov-muted); font-size: 13px; line-height: 1.35; font-weight: 400; }
.us-perms { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 14px 24px; }
.us-perms fieldset { border: 1px solid var(--ov-line); border-radius: 12px; padding: 10px 14px 12px; margin: 0; min-width: 0; }
.us-perms legend { font-weight: 700; color: var(--ov-navy); padding: 0 6px; font-size: 14px; }
.us-perm { display: flex !important; gap: 10px; align-items: flex-start; padding: 6px 0 !important; font-size: 15px; cursor: pointer; }
.us-perm input { width: auto; margin: 3px 0 0; flex: none; }
.us-perm input:disabled + span { color: var(--ov-muted); }
.us-block { margin-top: 16px; border-top: 1px solid var(--ov-line2); padding-top: 14px !important; }
.us-profile form.cpu-form { margin-top: 0; }
.us-profile h2#vizitka { margin-top: 0 !important; }

.rs-filter { justify-content: flex-start !important; }
.rs-filter input[type=search] { width: 220px; }
.rs form.rs-form { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px 22px !important; }
.rs-form > div > label:first-child { display: block; font-weight: 600; font-size: 14px; margin-bottom: 6px !important; }
.rs-form input[type=text], .rs-form input[type=date], .rs-form select { width: 100%; }
.rs-wide { grid-column: 1 / -1; }
.rs-kind { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px; }
.rs-kopt { display: flex !important; gap: 10px; align-items: flex-start; border: 1px solid var(--ov-in); border-radius: 12px; padding: 12px 14px !important; cursor: pointer; background: #fff; margin: 0 !important; }
.rs-kopt:has(input:checked) { border-color: var(--ov-navy); box-shadow: inset 0 0 0 1px var(--ov-navy); background: #F7F8FC; }
.rs-kopt input { width: auto; margin: 3px 0 0; }
.rs-kopt span { display: flex; flex-direction: column; gap: 2px; }
.rs-kopt small { color: var(--ov-muted); font-size: 13px; line-height: 1.35; }
.rs-chk { display: flex !important; gap: 8px; align-items: center; font-size: 15px; margin: 8px 0 6px; font-weight: 400; }
.rs-chk input { width: auto !important; height: auto !important; margin: 0; }
.rs-submit { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; }
.rs-preview { font-weight: 700; color: #1F6B3A; }
.rs-pill { display: inline-block; font-size: 12px; font-weight: 700; padding: 3px 9px; border-radius: 999px; white-space: nowrap; background: #EEF1F6; color: var(--ov-navy); }
.rs-s-open { background: #EEF1F6; color: var(--ov-navy); }
.rs-s-warn { background: #FFF4DD; color: #8A5A12; }
.rs-s-wait { background: #FFF4DD; color: #8A5A12; }
.rs-s-ok { background: #E7EEFB; color: #2B4A9E; }
.rs-s-set { background: #E3F3F4; color: #0B6770; }
.rs-s-paid { background: #EAF5EC; color: #1F6B3A; }
.rs-s-cancel { background: #F1F2F5; color: #6B7280; }
.rs-table td { vertical-align: top; }
.rs-table tr.rs-month td { background: #F8F9FC; padding: 8px 14px; font-weight: 700; color: var(--ov-navy); font-size: 14px; }
.rs-table tr.rs-month td { display: table-cell; }
.rs-table tr.rs-month span:last-child { float: right; color: var(--ov-muted); font-weight: 600; }
.rs-table tr.rs-cancelled td { color: var(--ov-muted); }
.rs-table tr.rs-cancelled td b { text-decoration: line-through; }
.rs-item { color: var(--ov-text); }
.rs-s { font-size: 13px; }
.rs-nowrap { white-space: nowrap; }
.rs-acts { white-space: nowrap; }
.rs-acts > * { margin-left: 4px; }
.rs-inl { display: inline-block !important; }
.rs-x { width: 34px; padding: 0; color: var(--ov-muted) !important; }
.rs-bulk { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; padding: 12px 14px; border-bottom: 1px solid var(--ov-line); font-size: 13px; }
.rs-add { position: relative; }
.rs-add > summary { list-style: none; cursor: pointer; }
.rs-add > summary::-webkit-details-marker { display: none; }
.rs-add[open] { flex-basis: 100%; }
.rs-addbox { margin-top: 12px; }
.rs-sechead { display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; align-items: center; }
.rs-sechead h2 { margin: 0; }
.rs-cands { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 14px; margin-top: 8px; }
.rs-cand { border: 1px solid var(--ov-line); border-radius: 12px; padding: 14px 16px; display: flex; flex-direction: column; gap: 10px; }
.rs-candhead { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.rs-big { font-size: 22px; color: var(--ov-text); }
.rs-candlist { list-style: none; margin: 0; padding: 0; font-size: 13px; display: flex; flex-direction: column; gap: 4px; }
.rs-candlist li { display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid var(--ov-line2); padding-top: 4px; }
.rs-candlist li span { color: var(--ov-muted); }
.rs-settle input.rs-in-s { width: 120px; height: 34px; }
.rs-settle input.rs-in-d { width: 140px; height: 34px; }
.rs-invform { display: flex !important; flex-wrap: wrap; gap: 6px; align-items: center; }
.rs-invform input { height: 34px !important; width: 140px; }
.rs-cols { height: 200px; }
.login-box { max-width: 520px; margin: 40px auto; background: #fff; border: 1px solid var(--ov-line); border-radius: 14px; padding: 24px 28px; }
.login-box h1 { margin-top: 0; font-size: 26px; color: var(--ov-navy); }
@media (max-width: 640px) { .rs-acts { white-space: normal; } .rs-acts > * { margin: 0 0 4px 0; } .us-actions { width: 100%; } .rs-filter input[type=search] { width: 100%; } }
/* Referenčný predaj: kategórie, rebríček, skladané grafy */
.rs-req { color: var(--ov-red); font-weight: 700; }
.rs-lab { display: block; font-weight: 600; font-size: 14px; margin-bottom: 6px; }
.rs-cats { display: flex; flex-wrap: wrap; gap: 8px; }
.rs-cat { display: inline-flex !important; margin: 0 !important; cursor: pointer; }
.rs-cat input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rs-cat span { display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 14px; border: 1px solid var(--ov-in); border-radius: 999px; background: #fff; font-size: 14px; font-weight: 600; color: var(--ov-text); }
.rs-cat span i, .rs-catchip i, .rs-dot, .rs-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; flex: none; }
.rs-cat input:checked + span { border-color: var(--ov-navy); box-shadow: inset 0 0 0 1px var(--ov-navy); background: #F2F4FA; }
.rs-cat input:focus-visible + span { outline: 2px solid #9DB4F0; outline-offset: 2px; }
.rs-cat input:disabled + span { opacity: .45; }
.rs-catchip { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 700; padding: 1px 7px; border-radius: 6px; background: #F1F3F8; color: var(--ov-text); vertical-align: 1px; }
.rs-dot { margin-right: 7px; vertical-align: 0; }
.rs-legend { gap: 6px 14px; }
.rs-legend span { display: inline-flex; align-items: center; gap: 6px; }
.rs-statbar { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; }
.rs-seg a { display: flex; flex: 1 1 auto; justify-content: center; align-items: center; height: 40px; padding: 0 14px; font-size: 14px; font-weight: 600; color: var(--ov-text) !important; text-decoration: none; border-right: 1px solid var(--ov-in); }
.rs-seg a:last-child { border-right: 0; }
.rs-seg a:hover { background: #F2F4FA; }
.rs-seg a.on { background: var(--ov-navy); color: #fff !important; }
.rs-pnav { display: flex; align-items: center; gap: 8px; font-size: 17px; color: var(--ov-navy); }
.rs-pnav .ov-btn { width: 34px; padding: 0; font-size: 18px; }
.rs-statbar .rs-filter { margin-left: auto !important; }
.ov-tile b.rs-tilename { font-size: 20px !important; line-height: 1.25; padding: 6px 0 4px; }
.rs-rank td { vertical-align: middle; }
.rs-rank th.rs-rankbar, .rs-rank td.rs-rankbar { width: 34%; min-width: 180px; }
.rs-hstack { display: flex; gap: 2px; height: 16px; border-radius: 0 4px 4px 0; overflow: hidden; min-width: 4px; }
.rs-hstack span { display: block; height: 100%; }
.rs-hstack span:hover { filter: brightness(.88); }
.rs-place { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; font-weight: 700; color: var(--ov-muted); }
.rs-place1, .rs-place2, .rs-place3 { color: #fff; }
.rs-place1 { background: #1C2B5A; }
.rs-place2 { background: #4A5C8E; }
.rs-place3 { background: #7E8BB0; }
.rs-stack { display: grid; gap: 6px; height: 220px; align-items: end; border-bottom: 1px solid var(--ov-line); padding-top: 6px; }
.rs-scol { display: flex; flex-direction: column; justify-content: flex-end; height: 100%; text-decoration: none; border-radius: 6px 6px 0 0; }
.rs-scol:hover { background: #F5F7FB; }
.rs-scol.on { background: #EEF2FB; }
.rs-sbars { display: flex; flex-direction: column-reverse; gap: 2px; width: 62%; max-width: 30px; margin: 0 auto; border-radius: 4px 4px 0 0; overflow: hidden; min-height: 0; }
.rs-sbars i { display: block; min-height: 1px; }
.rs-scol:hover .rs-sbars i { filter: brightness(.9); }
.rs-scol .st-collab { padding-top: 4px; }
.rs-mini td { white-space: nowrap; padding: 6px 8px !important; }
.rs-prod td, .rs-best td { padding: 7px 4px !important; }
@media (max-width: 640px) { .rs-statbar .rs-filter { margin-left: 0 !important; } .rs-rank th.rs-rankbar, .rs-rank td.rs-rankbar { min-width: 120px; } }

/* ---- Ponuky → Cenník (editor cien, náhľad, história) ---- */
.pr form { display: block; max-width: none; margin: 0; gap: 0; }
.pr form label { text-align: left; padding: 0; }
.pr-web { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; justify-content: space-between; padding: 14px 18px; border-left: 4px solid #2E9E6B; }
.pr-web.is-bad { border-left-color: #C98A1B; background: #FFFBF2; }
.pr-web > div { display: flex; flex-direction: column; gap: 2px; flex: 1 1 380px; }
.pr-form { display: flex !important; flex-direction: column; gap: 18px !important; }
.pr-top { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 18px; align-items: start; }
@media (max-width: 960px) { .pr-top { grid-template-columns: 1fr; } }
.pr-formula { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.pr-formula li { background: var(--ov-line2); border-radius: 10px; padding: 9px 12px; font-size: 14.5px; line-height: 1.45; }
.pr-formula b { color: var(--ov-navy); }
.pr-note { margin: 0; font-size: 14px; }
.pr-prev { position: sticky; top: 12px; background: var(--ov-navy); color: #fff; border-radius: 14px; padding: 18px; display: flex; flex-direction: column; gap: 10px; }
.pr-prev h2 { color: #fff; margin: 0; font-size: 20px; }
.pr-prev label { display: flex; flex-direction: column; gap: 3px; font-size: 13px; color: #C9CFE8; }
.pr-prev select, .pr-prev input[type=number] { height: 36px; border: 0; border-radius: 8px; padding: 0 8px; font: inherit; font-size: 15px; color: #1A2033; background: #fff; width: 100%; box-sizing: border-box; }
.pr-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pr-svcs { display: flex; flex-wrap: wrap; gap: 6px; }
.pr-svcs label { flex-direction: row !important; align-items: center; gap: 5px !important; background: rgba(255,255,255,.12); border-radius: 20px; padding: 4px 10px !important; color: #fff !important; font-size: 14px !important; cursor: pointer; }
.pr-svcs label.off { opacity: .45; }
.pr-prev .pr-chk { flex-direction: row; align-items: center; gap: 6px; color: #fff; font-size: 14px; }
.pr-svcs input, .pr-chk input { width: auto; margin: 0; }
.pr-plab { font-size: 12.5px; color: #C9CFE8; margin: 0; }
.pr-big { font-weight: 900; font-size: 40px; line-height: 1.05; }
.pr-big small { font-size: 15px; font-weight: 600; color: #C9CFE8; }
.pr-was { font-size: 13px; color: #C9CFE8; }
.pr-ptab { margin: 0; width: 100%; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums; }
.pr-ptab td { border: 0; background: transparent; border-bottom: 1px solid rgba(255,255,255,.14); padding: 4px 2px; text-align: right; color: #fff; }
.pr-ptab td:first-child { text-align: left; color: #C9CFE8; }
.pr-ptab tr.hd td { color: #F7B519; font-weight: 700; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; padding-top: 10px; }
.pr-d { font-size: 12px; margin-left: 4px; color: #F7B519; white-space: nowrap; }
.pr-tw { overflow-x: auto; border: 1px solid var(--ov-line); border-radius: 10px; }
.pr-t { border-collapse: collapse; width: 100%; font-size: 15px; font-variant-numeric: tabular-nums; }
.pr-t { margin: 0; }
.pr-t th, .pr-t td { padding: 6px 8px; border: 0; border-bottom: 1px solid var(--ov-line2); text-align: right; white-space: nowrap; }
.pr-t th { font-size: 12px; letter-spacing: .05em; text-transform: uppercase; color: var(--ov-muted); background: #F7F8FB; font-weight: 700; vertical-align: bottom; }
.pr-t th.grp { text-align: center; border-bottom: 0; }
.pr-t td:first-child, .pr-t th:first-child { text-align: left; white-space: normal; }
.pr-t tr:last-child td { border-bottom: 0; }
.pr-t td.c { background: #F3F5F9; color: var(--ov-muted); }
.pr-t th.c { background: #EEF1F6; }
.pr-t td.c.bad { color: var(--ov-red); font-weight: 700; }
.pr-o { display: block; font-size: 11px; color: #8A5A12; text-decoration: line-through; line-height: 1.1; }
.pr .pr-v { width: 78px; height: 34px; border: 1px solid var(--ov-in); border-radius: 8px; padding: 0 7px; font: inherit; font-size: 15px; text-align: right; font-variant-numeric: tabular-nums; background: #fff; color: var(--ov-text); box-sizing: border-box; }
.pr .pr-sel { width: 76px; text-align: left; }
.pr .pr-v:focus { outline: 2px solid var(--ov-navy); outline-offset: 1px; }
.pr .pr-v.chg { background: #FFF3CF; border-color: #E5B21B; }
.pr .pr-v.bad { background: #FDE8E8; border-color: var(--ov-red); }
.pr-t2 td:last-child { width: 1%; }
.pr-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; }
.pr-grid2 { grid-template-columns: repeat(auto-fit, minmax(420px, 1fr)); }
@media (max-width: 520px) { .pr-grid2 { grid-template-columns: 1fr; } }
.pr-save { position: sticky; bottom: 0; z-index: 3; padding: 10px 16px; display: flex; flex-direction: column; gap: 6px; box-shadow: 0 -10px 24px -18px rgba(28,43,90,.5); }
.pr-save.has { border-color: #E5B21B; }
.pr-chbox summary { cursor: pointer; font-size: 14px; color: var(--ov-muted); }
.pr-save.has .pr-chbox summary { color: #8A5A12; font-weight: 700; }
.pr-saverow { display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; }
.pr-saverow input[type=text] { flex: 1 1 260px; min-width: 0; height: 42px; border: 1px solid var(--ov-in); border-radius: 10px; padding: 0 10px; font: inherit; font-size: 15px; box-sizing: border-box; }
.pr-chlist { margin: 6px 0 0; padding-left: 18px; columns: 2; column-gap: 28px; font-size: 14px; max-height: 160px; overflow: auto; }
@media (max-width: 700px) { .pr-chlist { columns: 1; } }
.pr-tw0 { overflow-x: auto; }
#tTiers th, #tTiers td { padding: 5px 4px; }
.pr #tTiers .pr-v { width: 66px; padding: 0 6px; }
#tTiers .pr-g2 { border-left: 2px solid var(--ov-line); padding-left: 8px; }
.pr-grid > *, .pr-top > * { min-width: 0; }
.pr-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.pr-errs { margin: 0; padding-left: 18px; }
.pr-hist td { vertical-align: top; }
.pr-hist details ul { margin: 6px 0 0; padding-left: 18px; font-size: 14px; }
.pr-hist summary { cursor: pointer; color: var(--ov-navy); font-size: 14px; }
.pr-nowrap { white-space: nowrap; }
.pr .ov-sec > h2 { margin: 0; } .pr .ov-sec > p { margin: 0; }
.ed-finstat { font-weight: 600; color: #212E63; white-space: nowrap; }

/* Referenčný predaj – jednoduchý postup (Miško 22. 10. 2026) */
.rs-steps { list-style: none; counter-reset: rs; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; }
.rs-steps li { counter-increment: rs; display: flex; flex-direction: column; gap: 2px; padding: 10px 12px 10px 46px; border: 1px solid var(--ov-line); border-radius: 12px; position: relative; font-size: 13.5px; }
.rs-steps li::before { content: counter(rs); position: absolute; left: 12px; top: 10px; width: 24px; height: 24px; border-radius: 50%; background: #1C2B5A; color: #fff; font-weight: 700; font-size: 13px; display: flex; align-items: center; justify-content: center; }
.rs-steps li span { color: var(--ov-muted); }
.rs-invbox { border-left: 4px solid #C98A1B; }
.rs-invform { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: flex-end; }
.rs-invform label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; font-weight: 600; }
.rs-invform input[type=text], .rs-invform input[type=month] { height: 38px; font-size: 16px; }
.rs-paybar { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; justify-content: flex-end; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--ov-line2); }
.rs-paybar select { height: 38px; }
.rs-candlist li .rs-chk { display: flex; gap: 8px; align-items: flex-start; font-weight: 400; }
.rs-wk td { vertical-align: middle; }
.rs-wk .rs-chk { margin-left: 14px; white-space: nowrap; }
