.dpp-tool{--b9:#102f55;--b8:#153f70;--b7:#1b4f86;--b05:#f7fbff;--r:#cf2e2e;--r1:#fff0f0;--g:#237a55;--g1:#eef9f3;--o:#9b5b00;--o1:#fff7e8;--t:#17212b;--m:#5c6975;--bd:#dce6ef;box-sizing:border-box;width:min(100%,1040px);margin:28px auto;padding:clamp(22px,4vw,42px);background:#fff;border:1px solid var(--bd);border-radius:22px;color:var(--t);box-shadow:0 16px 44px rgba(19,57,94,.08);font-size:16px;line-height:1.6}.dpp-tool *,.dpp-tool *:before,.dpp-tool *:after{box-sizing:border-box}.dpp-tool h2,.dpp-tool h3,.dpp-tool h4,.dpp-tool p,.dpp-tool ul{margin-top:0}.dpp-tool code{padding:.14em .38em;border-radius:6px;background:#f1f4f7;font-size:.92em}.dpp-tool__hero{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;padding-bottom:28px;border-bottom:1px solid var(--bd)}.dpp-tool__hero-copy{max-width:650px}.dpp-tool__eyebrow{margin-bottom:8px;color:var(--b8);font-size:.8rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.dpp-tool__title{margin-bottom:10px;color:var(--b9);font-size:clamp(1.9rem,4vw,2.75rem);line-height:1.12}.dpp-tool__lead{margin-bottom:0;max-width:62ch;color:var(--m);font-size:1.05rem}.dpp-privacy-badge{display:flex;flex:0 0 min(320px,100%);gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid #cfe5da;border-radius:14px;background:var(--g1);color:#194f39}.dpp-privacy-badge__icon{font-size:1.25rem;line-height:1.2}.dpp-privacy-badge strong,.dpp-privacy-badge small{display:block}.dpp-privacy-badge strong{font-size:.94rem;line-height:1.35}.dpp-privacy-badge small{margin-top:3px;color:#3d6855;font-size:.79rem;line-height:1.35}.dpp-tool__privacy-note{margin:24px 0;padding:16px 18px;border-left:4px solid var(--b7);border-radius:0 12px 12px 0;background:var(--b05)}.dpp-tool__privacy-note strong{color:var(--b9)}.dpp-tool__privacy-note p{margin:4px 0 0;color:var(--m)}.dpp-tool__input-card,.dpp-result-shell,.dpp-next-step{margin-top:24px;padding:24px;border:1px solid var(--bd);border-radius:16px;background:#fff}.dpp-tool__input-card{background:linear-gradient(180deg,var(--b05),#fff)}.dpp-tool__section-heading{display:flex;gap:13px;align-items:flex-start}.dpp-tool__section-heading h3{margin-bottom:4px;color:var(--b9);font-size:1.08rem}.dpp-tool__section-heading p{margin-bottom:0;color:var(--m);font-size:.94rem}.dpp-tool__step{display:inline-grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border-radius:50%;background:var(--b8);color:#fff;font-size:.84rem;font-weight:800}.dpp-url-form{margin-top:20px}.dpp-tool__input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.dpp-tool__input{width:100%;min-height:50px;padding:11px 14px;border:1px solid #bdcad6;border-radius:10px;background:#fff;color:var(--t);font:inherit}.dpp-tool__input:focus{border-color:var(--b7);outline:3px solid rgba(27,79,134,.15)}.dpp-tool__button{min-height:50px;padding:11px 22px;border:0;border-radius:10px;background:var(--r);color:#fff;font:inherit;font-weight:800;cursor:pointer}.dpp-tool__input-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:9px}.dpp-tool__input-help{margin-bottom:0;color:var(--m);font-size:.8rem}.dpp-tool__clear{padding:4px 2px;border:0;background:transparent;color:var(--b7);font:inherit;font-size:.8rem;font-weight:700;text-decoration:underline;cursor:pointer}.dpp-url-error{margin-top:16px;padding:15px 17px;border:1px solid #f0c8c8;border-radius:12px;background:var(--r1);color:#7b2626}.dpp-url-error p{margin:4px 0 0}.dpp-tool__info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.dpp-info-card{display:flex;gap:14px;padding:20px;border:1px solid #d8e8df;border-radius:14px;background:var(--g1)}.dpp-info-card--limit{border-color:#f0dfbf;background:var(--o1)}.dpp-info-card__icon{display:inline-grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border-radius:50%;background:var(--g);color:#fff;font-weight:900}.dpp-info-card--limit .dpp-info-card__icon{background:var(--o)}.dpp-info-card h3{margin-bottom:8px;font-size:1rem}.dpp-info-card ul{margin-bottom:0;padding-left:1.15rem;color:#34414c;font-size:.92rem}.dpp-result-shell__placeholder{margin-top:18px;padding:18px;border:1px dashed #c7d3dd;border-radius:12px;background:#fafcfd}.dpp-result-shell__placeholder strong{color:var(--b9)}.dpp-result-shell__placeholder p{margin:4px 0 0;color:var(--m);font-size:.91rem}.dpp-result-shell__dot{display:inline-block;width:9px;height:9px;margin-right:8px;border-radius:50%;background:#9aa7b2}.dpp-url-result{margin-top:18px}.dpp-url-result__status{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border:1px solid #cddfec;border-radius:12px;background:var(--b05)}.dpp-url-result__status-icon{display:inline-grid;flex:0 0 28px;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--b8);color:#fff;font-family:Georgia,serif;font-weight:700}.dpp-url-result__status p{margin:3px 0 0;color:var(--m);font-size:.88rem}.dpp-url-result__grid,.dpp-blacklist__details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 0}.dpp-url-result__grid>div,.dpp-blacklist__details>div{min-width:0;padding:13px 14px;border:1px solid var(--bd);border-radius:10px;background:#fff}.dpp-url-result__grid dt,.dpp-blacklist__details dt{margin-bottom:3px;color:var(--m);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.dpp-url-result__grid dd,.dpp-blacklist__details dd{margin:0;overflow-wrap:anywhere;color:var(--b9);font-weight:750}.dpp-blacklist,.dpp-signals{margin-top:16px;padding-top:16px;border-top:1px solid var(--bd)}.dpp-blacklist__heading h4,.dpp-signals__heading h4{margin:0 0 3px;color:var(--b9);font-size:1rem}.dpp-blacklist__heading p,.dpp-signals__heading p{margin:0;color:var(--m);font-size:.86rem}.dpp-blacklist__status{display:flex;gap:12px;align-items:flex-start;margin-top:12px;padding:15px 16px;border:1px solid var(--bd);border-radius:12px}.dpp-blacklist__icon{display:inline-grid;flex:0 0 28px;width:28px;height:28px;place-items:center;border-radius:50%;font-weight:900}.dpp-blacklist__status p{margin:3px 0 0;font-size:.84rem}.dpp-blacklist__status--loading{background:#f8fafc;color:var(--m)}.dpp-blacklist__status--loading .dpp-blacklist__icon{background:#e8edf2;color:var(--b8)}.dpp-blacklist__status--clear{border-color:#cfe5da;background:var(--g1);color:#24563f}.dpp-blacklist__status--clear .dpp-blacklist__icon{background:var(--g);color:#fff}.dpp-blacklist__status--match{border-color:#efbaba;background:var(--r1);color:#862828}.dpp-blacklist__status--match .dpp-blacklist__icon{background:var(--r);color:#fff}.dpp-blacklist__status--error{border-color:#efd9af;background:var(--o1);color:#765000}.dpp-blacklist__status--error .dpp-blacklist__icon{background:var(--o);color:#fff}.dpp-blacklist__details-wide{grid-column:1/-1}.dpp-signals__none{display:flex;gap:12px;align-items:flex-start;margin-top:12px;padding:14px 16px;border:1px solid #cfe5da;border-radius:12px;background:var(--g1);color:#24563f}.dpp-signals__none>span{display:inline-grid;flex:0 0 26px;width:26px;height:26px;place-items:center;border-radius:50%;background:var(--g);color:#fff;font-weight:900}.dpp-signals__none p{margin:3px 0 0;color:#456a59;font-size:.84rem}.dpp-signals__list{display:grid;gap:10px;margin-top:12px}.dpp-signal{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--bd);border-radius:12px;background:#fff}.dpp-signal__badge{display:inline-block;min-width:74px;padding:4px 8px;border-radius:999px;font-size:.69rem;font-weight:850;line-height:1.25;text-align:center;white-space:nowrap}.dpp-signal strong{display:block;font-size:.92rem}.dpp-signal p{margin:3px 0 0;color:var(--m);font-size:.83rem}.dpp-signal--high{border-color:#efc4c4;background:#fff7f7}.dpp-signal--high .dpp-signal__badge{background:#fde3e3;color:#9f2424}.dpp-signal--medium{border-color:#efd9af;background:#fffaf0}.dpp-signal--medium .dpp-signal__badge{background:#f8e8c7;color:#7f5000}.dpp-signal--low{border-color:#d9e4ee;background:#f9fbfd}.dpp-signal--low .dpp-signal__badge{background:#e8f0f7;color:var(--b8)}.dpp-url-result__privacy{margin-top:14px;padding:14px 16px;border-left:4px solid var(--b7);border-radius:0 10px 10px 0;background:#f6f9fc}.dpp-url-result__privacy p{margin:4px 0 0;color:var(--m);font-size:.84rem}.dpp-next-step{background:var(--b05)}.dpp-tool__footer{display:flex;gap:12px;align-items:flex-start;margin-top:26px;padding-top:20px;border-top:1px solid var(--bd);color:var(--m);font-size:.84rem}.dpp-tool__footer-mark{flex:0 0 auto;padding:3px 7px;border-radius:6px;background:var(--b9);color:#fff;font-size:.7rem;font-weight:900}.dpp-tool__footer p{margin-bottom:0}.dpp-tool__notice{margin-top:18px;padding:14px 16px;border-radius:10px;background:var(--r1);color:#792424}.dpp-tool--error{border-color:var(--r)}[hidden]{display:none!important}@media(max-width:820px){.dpp-tool__hero{flex-direction:column}.dpp-privacy-badge{flex-basis:auto;width:100%}.dpp-tool__info-grid,.dpp-url-result__grid,.dpp-blacklist__details{grid-template-columns:1fr}.dpp-blacklist__details-wide{grid-column:auto}}@media(max-width:600px){.dpp-tool{padding:18px;border-radius:16px}.dpp-tool__input-card,.dpp-result-shell,.dpp-next-step{padding:18px}.dpp-tool__input-row{grid-template-columns:1fr}.dpp-tool__button{width:100%}.dpp-tool__input-actions{align-items:flex-start;flex-direction:column;gap:6px}.dpp-signal{grid-template-columns:1fr}.dpp-signal__badge{width:fit-content}}


.dpp-verdict {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 14px;
	align-items: flex-start;
	margin-top: 16px;
	padding: 18px 20px;
	border: 1px solid var(--dpp-border);
	border-radius: 14px;
}

.dpp-verdict__icon {
	display: inline-grid;
	width: 38px;
	height: 38px;
	place-items: center;
	border-radius: 50%;
	font-size: 1.05rem;
	font-weight: 900;
}

.dpp-verdict__label {
	margin: 0 0 2px !important;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.055em;
	text-transform: uppercase;
	opacity: 0.78;
}

.dpp-verdict h4 {
	margin: 0 0 3px;
	font-size: 1.08rem;
	line-height: 1.35;
}

.dpp-verdict__copy > p:last-child {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.5;
}

.dpp-verdict--pending {
	border-color: #d6e1eb;
	background: #f8fafc;
	color: #4c5c69;
}

.dpp-verdict--pending .dpp-verdict__icon {
	background: #e8edf2;
	color: var(--dpp-blue-800);
}

.dpp-verdict--green {
	border-color: #b9dfcb;
	background: var(--dpp-green-100);
	color: #1e5e42;
}

.dpp-verdict--green .dpp-verdict__icon {
	background: var(--dpp-green-700);
	color: #ffffff;
}

.dpp-verdict--orange {
	border-color: #ebce95;
	background: var(--dpp-orange-100);
	color: #704900;
}

.dpp-verdict--orange .dpp-verdict__icon {
	background: var(--dpp-orange-700);
	color: #ffffff;
}

.dpp-verdict--red {
	border-color: #efb4b4;
	background: var(--dpp-red-100);
	color: #842626;
}

.dpp-verdict--red .dpp-verdict__icon {
	background: var(--dpp-red-700);
	color: #ffffff;
}


.dpp-tool__button:disabled {
	opacity: 0.72;
	cursor: wait;
	filter: none;
}

.dpp-result-shell[aria-busy="true"] {
	position: relative;
}

.dpp-result-shell[aria-busy="true"]::after {
	content: "";
	position: absolute;
	top: 12px;
	right: 12px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--dpp-blue-700);
	animation: dpp-tools-pulse 1s ease-in-out infinite alternate;
}

@keyframes dpp-tools-pulse {
	from { opacity: 0.25; transform: scale(0.8); }
	to   { opacity: 1; transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
	.dpp-result-shell[aria-busy="true"]::after {
		animation: none;
	}
}


/* QR tool — krok 8/14 */
.dpp-qr-dropzone {
	display: grid;
	place-items: center;
	gap: 5px;
	margin-top: 20px;
	min-height: 170px;
	padding: 24px;
	border: 2px dashed #b9cbd9;
	border-radius: 14px;
	background: #ffffff;
	color: var(--dpp-blue-900);
	text-align: center;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.dpp-qr-dropzone:hover,
.dpp-qr-dropzone:focus-visible,
.dpp-qr-dropzone.is-dragover {
	border-color: var(--dpp-blue-700);
	background: var(--dpp-blue-050);
	outline: none;
}

.dpp-qr-dropzone.is-busy {
	opacity: 0.7;
	cursor: wait;
}

.dpp-qr-dropzone__icon {
	display: inline-grid;
	width: 44px;
	height: 44px;
	place-items: center;
	border-radius: 12px;
	background: var(--dpp-blue-100);
	color: var(--dpp-blue-800);
	font-size: 1.5rem;
	font-weight: 900;
}

.dpp-qr-dropzone p {
	margin: 0;
	color: var(--dpp-muted);
	font-size: 0.86rem;
}

.dpp-qr-file-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 12px;
	padding: 12px 14px;
	border: 1px solid var(--dpp-border);
	border-radius: 10px;
	background: #ffffff;
}

.dpp-qr-file-meta strong,
.dpp-qr-file-meta span {
	display: block;
	overflow-wrap: anywhere;
}

.dpp-qr-file-meta span {
	margin-top: 2px;
	color: var(--dpp-muted);
	font-size: 0.8rem;
}

.dpp-qr-preview-wrap {
	display: grid;
	place-items: center;
	margin-top: 14px;
	padding: 14px;
	border: 1px solid var(--dpp-border);
	border-radius: 12px;
	background:
		linear-gradient(45deg, #f3f5f7 25%, transparent 25%),
		linear-gradient(-45deg, #f3f5f7 25%, transparent 25%),
		linear-gradient(45deg, transparent 75%, #f3f5f7 75%),
		linear-gradient(-45deg, transparent 75%, #f3f5f7 75%);
	background-size: 18px 18px;
	background-position: 0 0, 0 9px, 9px -9px, -9px 0;
}

.dpp-qr-preview {
	display: block;
	max-width: min(100%, 420px);
	max-height: 360px;
	object-fit: contain;
	border-radius: 8px;
	background: #ffffff;
}

.dpp-qr-result {
	margin-top: 18px;
}

.dpp-qr-result__status {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 16px 18px;
	border: 1px solid #cddfec;
	border-radius: 12px;
	background: var(--dpp-blue-050);
}

.dpp-qr-result__status-icon {
	display: inline-grid;
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	place-items: center;
	border-radius: 50%;
	background: var(--dpp-blue-800);
	color: #ffffff;
	font-weight: 900;
}

.dpp-qr-result__status p {
	margin: 3px 0 0;
	color: var(--dpp-muted);
	font-size: 0.88rem;
}

.dpp-qr-result__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 14px 0 0;
}

.dpp-qr-result__grid > div {
	min-width: 0;
	padding: 13px 14px;
	border: 1px solid var(--dpp-border);
	border-radius: 10px;
	background: #ffffff;
}

.dpp-qr-result__grid dt {
	margin-bottom: 3px;
	color: var(--dpp-muted);
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.dpp-qr-result__grid dd {
	margin: 0;
	overflow-wrap: anywhere;
	color: var(--dpp-blue-900);
	font-weight: 750;
}

.dpp-qr-content-card {
	margin-top: 12px;
	padding: 15px 16px;
	border: 1px solid var(--dpp-border);
	border-radius: 12px;
	background: #f9fbfd;
}

.dpp-qr-content-card pre {
	max-height: 240px;
	margin: 8px 0 0;
	padding: 12px;
	overflow: auto;
	border-radius: 8px;
	background: #ffffff;
	color: var(--dpp-text);
	font: 0.86rem/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}

.dpp-qr-content-card > p {
	margin: 8px 0 0;
	color: var(--dpp-muted);
	font-size: 0.8rem;
}

.dpp-qr-url-note,
.dpp-qr-nonurl-note {
	margin-top: 12px;
	padding: 14px 16px;
	border-left: 4px solid var(--dpp-blue-700);
	border-radius: 0 10px 10px 0;
	background: var(--dpp-blue-050);
}

.dpp-qr-url-note p,
.dpp-qr-nonurl-note p {
	margin: 3px 0 0;
	color: var(--dpp-muted);
	font-size: 0.85rem;
}

/* URL engine embedded under the QR tool. Reuse functionality, not duplicate UI. */
.dpp-qr-linked-analysis {
	width: min(100%, 1040px);
	margin: 0 auto;
}

.dpp-tool--embedded-url {
	margin-top: 18px;
}

.dpp-tool--embedded-url > .dpp-tool__hero,
.dpp-tool--embedded-url > .dpp-tool__privacy-note,
.dpp-tool--embedded-url > .dpp-tool__input-card,
.dpp-tool--embedded-url > .dpp-tool__info-grid,
.dpp-tool--embedded-url > .dpp-tool__footer,
.dpp-tool--embedded-url > noscript {
	display: none;
}

.dpp-tool--embedded-url > .dpp-result-shell {
	margin-top: 0;
}

.dpp-tool--embedded-url > .dpp-result-shell > .dpp-tool__section-heading h3 {
	font-size: 1.15rem;
}

.dpp-tool--embedded-url[data-dpp-embedded-source="qr"] > .dpp-result-shell > .dpp-tool__section-heading h3::before {
	content: "Kontrola odkazu z QR — ";
}

.dpp-tool--embedded-url[data-dpp-embedded-source="message"] > .dpp-result-shell > .dpp-tool__section-heading h3::before {
	content: "Kontrola odkazu ze zprávy — ";
}

@media (max-width: 820px) {
	.dpp-qr-result__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.dpp-qr-file-meta {
		align-items: flex-start;
		flex-direction: column;
	}

	.dpp-qr-dropzone {
		min-height: 145px;
		padding: 20px;
	}
}


/* QR kamera — krok 9/14 */
.dpp-qr-method-divider {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 18px 0;
	color: var(--dpp-muted);
	font-size: 0.76rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.dpp-qr-method-divider::before,
.dpp-qr-method-divider::after {
	content: "";
	flex: 1 1 auto;
	height: 1px;
	background: var(--dpp-border);
}

.dpp-qr-camera-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 17px 18px;
	border: 1px solid var(--dpp-border);
	border-radius: 12px;
	background: #ffffff;
}

.dpp-qr-camera-card__copy strong {
	color: var(--dpp-blue-900);
}

.dpp-qr-camera-card__copy p {
	margin: 3px 0 0;
	color: var(--dpp-muted);
	font-size: 0.84rem;
}

.dpp-qr-camera-actions {
	display: flex;
	flex: 0 0 auto;
	gap: 8px;
}

.dpp-tool__button--secondary {
	background: var(--dpp-blue-800);
}

.dpp-tool__button--stop {
	background: var(--dpp-red-700);
}

.dpp-qr-camera-status {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-top: 12px;
	padding: 11px 13px;
	border-radius: 10px;
	background: #f7f9fb;
	color: var(--dpp-muted);
	font-size: 0.84rem;
}

.dpp-qr-camera-status__dot {
	flex: 0 0 9px;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #8393a1;
}

.dpp-qr-camera-status[data-state="starting"] .dpp-qr-camera-status__dot {
	background: var(--dpp-orange-700);
}

.dpp-qr-camera-status[data-state="scanning"] .dpp-qr-camera-status__dot {
	background: var(--dpp-green-700);
	box-shadow: 0 0 0 4px rgba(35, 122, 85, 0.12);
}

.dpp-qr-camera-status[data-state="success"] {
	background: var(--dpp-green-100);
	color: #24563f;
}

.dpp-qr-camera-status[data-state="success"] .dpp-qr-camera-status__dot {
	background: var(--dpp-green-700);
}

.dpp-qr-camera-status[data-state="error"] {
	background: var(--dpp-red-100);
	color: #7b2626;
}

.dpp-qr-camera-status[data-state="error"] .dpp-qr-camera-status__dot {
	background: var(--dpp-red-700);
}

.dpp-qr-camera-view {
	position: relative;
	overflow: hidden;
	margin-top: 12px;
	border: 1px solid var(--dpp-border);
	border-radius: 14px;
	background: #0b1117;
	aspect-ratio: 4 / 3;
}

.dpp-qr-camera-video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	background: #0b1117;
}

.dpp-qr-camera-guide {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	pointer-events: none;
}

.dpp-qr-camera-guide > span {
	display: block;
	width: min(62%, 330px);
	aspect-ratio: 1;
	border: 3px solid rgba(255, 255, 255, 0.92);
	border-radius: 18px;
	box-shadow:
		0 0 0 999px rgba(0, 0, 0, 0.18),
		0 0 18px rgba(0, 0, 0, 0.22);
}

@media (prefers-reduced-motion: no-preference) {
	.dpp-qr-camera-status[data-state="scanning"] .dpp-qr-camera-status__dot {
		animation: dpp-camera-pulse 1.1s ease-in-out infinite alternate;
	}

	@keyframes dpp-camera-pulse {
		from { opacity: 0.45; transform: scale(0.88); }
		to { opacity: 1; transform: scale(1.08); }
	}
}

@media (max-width: 600px) {
	.dpp-qr-camera-card {
		align-items: stretch;
		flex-direction: column;
	}

	.dpp-qr-camera-actions {
		width: 100%;
	}

	.dpp-qr-camera-actions .dpp-tool__button {
		width: 100%;
	}

	.dpp-qr-camera-view {
		aspect-ratio: 3 / 4;
	}
}


/* Sdílení varování — krok 10/14 */
.dpp-share {
	margin-top: 18px;
	padding: 20px;
	border: 1px solid var(--dpp-border);
	border-radius: 16px;
	background: #ffffff;
}

.dpp-share__heading {
	display: flex;
	gap: 13px;
	align-items: flex-start;
}

.dpp-share__icon {
	display: inline-grid;
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	place-items: center;
	border-radius: 50%;
	background: var(--dpp-blue-800);
	color: #ffffff;
	font-weight: 900;
}

.dpp-share__heading h3 {
	margin: 0 0 4px;
	color: var(--dpp-blue-900);
	font-size: 1.02rem;
}

.dpp-share__heading p {
	margin: 0;
	color: var(--dpp-muted);
	font-size: 0.88rem;
}

.dpp-share__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 16px;
}

.dpp-share__button {
	min-height: 42px;
	padding: 9px 14px;
	border: 1px solid #c8d5e0;
	border-radius: 9px;
	background: #ffffff;
	color: var(--dpp-blue-900);
	font: inherit;
	font-size: 0.84rem;
	font-weight: 800;
	cursor: pointer;
}

.dpp-share__button:hover {
	background: var(--dpp-blue-050);
	border-color: #aebfcd;
}

.dpp-share__button:focus-visible {
	outline: 3px solid rgba(27, 79, 134, 0.18);
	outline-offset: 2px;
}

.dpp-share__button--primary {
	border-color: var(--dpp-blue-800);
	background: var(--dpp-blue-800);
	color: #ffffff;
}

.dpp-share__button--primary:hover {
	background: var(--dpp-blue-900);
	border-color: var(--dpp-blue-900);
}

.dpp-share__privacy {
	margin-top: 15px;
	padding: 12px 14px;
	border-left: 4px solid var(--dpp-blue-700);
	border-radius: 0 9px 9px 0;
	background: #f7fafc;
}

.dpp-share__privacy strong {
	color: var(--dpp-blue-900);
	font-size: 0.82rem;
}

.dpp-share__privacy p {
	margin: 3px 0 0;
	color: var(--dpp-muted);
	font-size: 0.78rem;
	line-height: 1.5;
}

.dpp-share__status {
	margin: 10px 0 0;
	padding: 9px 11px;
	border-radius: 8px;
	background: var(--dpp-green-100);
	color: #24563f;
	font-size: 0.8rem;
}

.dpp-share__status.is-error {
	background: var(--dpp-red-100);
	color: #7b2626;
}

.dpp-tool--embedded-url > .dpp-share {
	margin-top: 16px;
}

@media (max-width: 600px) {
	.dpp-share {
		padding: 17px;
	}

	.dpp-share__actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.dpp-share__button {
		width: 100%;
	}

	.dpp-share__button--primary {
		grid-column: 1 / -1;
	}
}


/* Opravy 0.10.1 */
.dpp-share__button[hidden] {
	display: none !important;
}

/* Vyšší specificita kvůli Astra/Spectra pravidlům pro tlačítka. */
.dpp-share .dpp-share__button.dpp-share__button--primary {
	border-color: var(--dpp-blue-800) !important;
	background: var(--dpp-blue-800) !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff;
}

.dpp-share .dpp-share__button.dpp-share__button--primary:hover,
.dpp-share .dpp-share__button.dpp-share__button--primary:focus {
	border-color: var(--dpp-blue-900) !important;
	background: var(--dpp-blue-900) !important;
	color: #ffffff !important;
}

.dpp-result-shell--just-scanned {
	outline: 3px solid rgba(35, 122, 85, 0.22);
	outline-offset: 4px;
}

@media (prefers-reduced-motion: no-preference) {
	.dpp-result-shell--just-scanned {
		animation: dpp-result-arrived 1.1s ease-out 1;
	}

	@keyframes dpp-result-arrived {
		0% {
			box-shadow: 0 0 0 0 rgba(35, 122, 85, 0.34);
		}
		50% {
			box-shadow: 0 0 0 10px rgba(35, 122, 85, 0.10);
		}
		100% {
			box-shadow: 0 0 0 0 rgba(35, 122, 85, 0);
		}
	}
}


/* Opravy 0.10.2 */
.dpp-signals--blacklist-match .dpp-signals__none {
	border-color: #d9e4ee;
	background: #f8fafc;
	color: #45525e;
}

.dpp-signals--blacklist-match .dpp-signals__none > span {
	background: #8091a0;
	color: #ffffff;
}

.dpp-signals--blacklist-match .dpp-signals__none p {
	color: #65727d;
}

.dpp-qr-camera-view {
	scroll-margin-top: 24px;
}

.dpp-result-shell {
	scroll-margin-top: 24px;
}


/* Opravy 0.10.3 */
.dpp-verdict {
	scroll-margin-top: 28px;
}

.dpp-verdict.dpp-result-shell--just-scanned {
	outline: 3px solid rgba(35, 122, 85, 0.22);
	outline-offset: 5px;
}


/* Kontrola podezřelé zprávy — krok 11/14 */
.dpp-message-input {
	display: block;
	width: 100%;
	margin-top: 18px;
	min-height: 210px;
	padding: 14px 15px;
	resize: vertical;
	border: 1px solid #bdcad6;
	border-radius: 10px;
	background: #ffffff;
	color: var(--dpp-text);
	font: inherit;
	line-height: 1.55;
}

.dpp-message-input:focus {
	border-color: var(--dpp-blue-700);
	outline: 3px solid rgba(27, 79, 134, 0.15);
}

.dpp-message-input-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 7px;
	color: var(--dpp-muted);
	font-size: 0.78rem;
}

.dpp-message-submit {
	margin-top: 14px;
}

.dpp-message-result {
	margin-top: 18px;
}

.dpp-message-stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 12px;
}

.dpp-message-stats > div {
	padding: 13px 14px;
	border: 1px solid var(--dpp-border);
	border-radius: 10px;
	background: #ffffff;
}

.dpp-message-stats span,
.dpp-message-stats strong {
	display: block;
}

.dpp-message-stats span {
	color: var(--dpp-muted);
	font-size: 0.74rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.dpp-message-stats strong {
	margin-top: 2px;
	color: var(--dpp-blue-900);
	font-size: 1.15rem;
}

.dpp-message-signals,
.dpp-message-links {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--dpp-border);
}

.dpp-message-links__list {
	display: grid;
	gap: 8px;
	margin-top: 12px;
}

.dpp-message-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 11px 13px;
	border: 1px solid var(--dpp-border);
	border-radius: 9px;
	background: #f9fbfd;
}

.dpp-message-link strong {
	overflow-wrap: anywhere;
	color: var(--dpp-blue-900);
}

.dpp-message-link span {
	flex: 0 0 auto;
	color: var(--dpp-muted);
	font-size: 0.76rem;
}

@media (max-width: 600px) {
	.dpp-message-stats {
		grid-template-columns: 1fr 1fr;
	}

	.dpp-message-link {
		align-items: flex-start;
		flex-direction: column;
		gap: 2px;
	}
}


/* Opravy 0.11.2 — interní workflow zpráva → doména */
.dpp-message-link__info {
	min-width: 0;
}
.dpp-message-link__info strong,
.dpp-message-link__info span {
	display: block;
}
.dpp-message-link__action {
	flex: 0 0 auto;
	padding: 8px 11px;
	border: 1px solid var(--dpp-blue-800);
	border-radius: 8px;
	background: #ffffff;
	color: var(--dpp-blue-900);
	font: inherit;
	font-size: 0.78rem;
	font-weight: 800;
	cursor: pointer;
}
.dpp-message-link__action:hover {
	background: var(--dpp-blue-050);
}
.dpp-message-link-workflow {
	margin-top: 14px;
	padding: 13px 14px;
	border-left: 4px solid var(--dpp-blue-700);
	border-radius: 0 9px 9px 0;
	background: var(--dpp-blue-050);
}
.dpp-message-link-workflow strong {
	color: var(--dpp-blue-900);
	font-size: 0.84rem;
}
.dpp-message-link-workflow p {
	margin: 3px 0 0;
	color: var(--dpp-muted);
	font-size: 0.8rem;
	line-height: 1.5;
}
.dpp-message-linked-analysis {
	width: min(100%, 1040px);
	margin: 0 auto;
}
.dpp-message-linked-analysis .dpp-tool--embedded-url {
	margin-top: 18px;
}
@media (max-width: 600px) {
	.dpp-message-link__action {
		width: 100%;
		margin-top: 6px;
	}
}


/* Opravy 0.11.5 — kontextový interní proklik */
.dpp-message-link__actions {
	display: flex;
	flex: 0 0 auto;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 7px;
}

a.dpp-message-link__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.dpp-message-link__action--guide {
	border-color: #c8d5e0;
	background: var(--dpp-blue-050);
}

.dpp-message-link__action--guide:hover {
	border-color: var(--dpp-blue-700);
	background: #ffffff;
}

@media (max-width: 600px) {
	.dpp-message-link__actions {
		width: 100%;
		flex-direction: column;
	}

	.dpp-message-link__actions .dpp-message-link__action {
		width: 100%;
		margin-top: 0;
	}
}


/* Opravy 0.11.6 — edukace patří ke konkrétnímu signálu */
.dpp-signal__body {
	min-width: 0;
}

.dpp-signal__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 9px;
	padding: 7px 10px;
	border: 1px solid currentColor;
	border-radius: 7px;
	background: rgba(255, 255, 255, 0.72);
	color: inherit;
	font-size: 0.76rem;
	font-weight: 800;
	line-height: 1.25;
	text-decoration: none;
}

.dpp-signal__action:hover,
.dpp-signal__action:focus {
	background: #ffffff;
	text-decoration: none;
}

@media (max-width: 600px) {
	.dpp-signal__action {
		width: 100%;
	}
}


/* Čistič metadat — krok 12/14 */
.dpp-metadata-dropzone {
	display: grid;
	place-items: center;
	gap: 5px;
	margin-top: 18px;
	min-height: 160px;
	padding: 24px;
	border: 2px dashed #b9cbd9;
	border-radius: 14px;
	background: #ffffff;
	color: var(--dpp-blue-900);
	text-align: center;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.dpp-metadata-dropzone:hover,
.dpp-metadata-dropzone:focus-visible,
.dpp-metadata-dropzone.is-dragover {
	border-color: var(--dpp-blue-700);
	background: var(--dpp-blue-050);
	outline: none;
}

.dpp-metadata-dropzone p {
	margin: 0;
	color: var(--dpp-muted);
	font-size: 0.84rem;
}

.dpp-metadata-preview-wrap {
	display: grid;
	place-items: center;
	margin-top: 14px;
	padding: 14px;
	border: 1px solid var(--dpp-border);
	border-radius: 12px;
	background: #f7f9fb;
}

.dpp-metadata-preview-wrap img {
	display: block;
	max-width: min(100%, 520px);
	max-height: 420px;
	object-fit: contain;
	border-radius: 8px;
}

.dpp-metadata-summary {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 12px;
}

.dpp-metadata-summary > div {
	padding: 13px 14px;
	border: 1px solid var(--dpp-border);
	border-radius: 10px;
	background: #ffffff;
}

.dpp-metadata-summary span,
.dpp-metadata-summary strong {
	display: block;
}

.dpp-metadata-summary span {
	color: var(--dpp-muted);
	font-size: 0.74rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.dpp-metadata-summary strong {
	margin-top: 2px;
	color: var(--dpp-blue-900);
}

.dpp-metadata-list {
	display: grid;
	gap: 8px;
	margin-top: 14px;
}

.dpp-metadata-item {
	display: grid;
	grid-template-columns: minmax(150px, 0.8fr) minmax(0, 1.4fr);
	gap: 14px;
	align-items: start;
	padding: 12px 13px;
	border: 1px solid var(--dpp-border);
	border-radius: 9px;
	background: #ffffff;
}

.dpp-metadata-item--sensitive {
	border-color: #e5cf9f;
	background: #fffaf0;
}

.dpp-metadata-item__label span,
.dpp-metadata-item__label strong {
	display: block;
}

.dpp-metadata-item__label span {
	color: var(--dpp-muted);
	font-size: 0.7rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.dpp-metadata-item__label strong {
	margin-top: 2px;
	color: var(--dpp-blue-900);
}

.dpp-metadata-item__value {
	min-width: 0;
	overflow-wrap: anywhere;
	color: var(--dpp-text);
	font-size: 0.85rem;
	line-height: 1.5;
}

.dpp-metadata-empty {
	padding: 14px 16px;
	border: 1px solid #bddfcd;
	border-radius: 10px;
	background: var(--dpp-green-100);
}

.dpp-metadata-empty p {
	margin: 3px 0 0;
	color: var(--dpp-muted);
	font-size: 0.82rem;
}

.dpp-metadata-cleaner {
	margin-top: 18px;
	padding: 20px;
	border: 1px solid var(--dpp-border);
	border-radius: 16px;
	background: #ffffff;
}

.dpp-metadata-clean-result {
	margin-top: 14px;
	padding: 14px 15px;
	border: 1px solid #bddfcd;
	border-radius: 10px;
	background: var(--dpp-green-100);
}

.dpp-metadata-clean-result > strong {
	display: block;
	color: #24563f;
}

.dpp-metadata-clean-result > p {
	margin: 4px 0 12px;
	color: #53665c;
	font-size: 0.84rem;
}

.dpp-metadata-download {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.dpp-metadata-download:hover,
.dpp-metadata-download:focus {
	color: #ffffff;
	text-decoration: none;
}

@media (max-width: 600px) {
	.dpp-metadata-summary {
		grid-template-columns: 1fr;
	}

	.dpp-metadata-item {
		grid-template-columns: 1fr;
		gap: 5px;
	}

	.dpp-metadata-cleaner {
		padding: 17px;
	}

	.dpp-metadata-download {
		width: 100%;
	}
}


/* Opravy 0.12.1 — technická vs citlivá metadata */
.dpp-metadata-clean-result--warning {
	border-color: #edc985;
	background: #fff8e9;
}

.dpp-metadata-clean-result--warning > strong {
	color: #7a4d00;
}

.dpp-metadata-clean-result--warning > p {
	color: #6f5b35;
}


/* Kontrola úniků dat — krok 13/14 */
.dpp-breach-form {
	margin-top: 17px;
}

.dpp-breach-label {
	display: block;
	margin-bottom: 6px;
	color: var(--dpp-blue-900);
	font-size: 0.82rem;
	font-weight: 800;
}

.dpp-breach-input-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 9px;
}

.dpp-breach-input {
	width: 100%;
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid #bdcad6;
	border-radius: 9px;
	background: #ffffff;
	color: var(--dpp-text);
	font: inherit;
}

.dpp-breach-input:focus {
	border-color: var(--dpp-blue-700);
	outline: 3px solid rgba(27, 79, 134, 0.15);
}

.dpp-breach-input-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-top: 7px;
	color: var(--dpp-muted);
	font-size: 0.77rem;
}

.dpp-breach-result {
	margin-top: 16px;
}

.dpp-breach-ready {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	padding: 14px;
	border: 1px solid #bddfcd;
	border-radius: 10px;
	background: var(--dpp-green-100);
}

.dpp-breach-ready__icon {
	display: grid;
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	place-items: center;
	border-radius: 50%;
	background: var(--dpp-green-700);
	color: #ffffff;
	font-weight: 900;
}

.dpp-breach-ready strong {
	color: #24563f;
}

.dpp-breach-ready p {
	margin: 3px 0 0;
	color: #53665c;
	font-size: 0.82rem;
}

.dpp-breach-masked {
	margin-top: 10px;
	padding: 12px 14px;
	border: 1px solid var(--dpp-border);
	border-radius: 9px;
	background: #ffffff;
}

.dpp-breach-masked span,
.dpp-breach-masked strong {
	display: block;
}

.dpp-breach-masked span {
	color: var(--dpp-muted);
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.dpp-breach-masked strong {
	margin-top: 2px;
	color: var(--dpp-blue-900);
	overflow-wrap: anywhere;
}

.dpp-breach-copy-row {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 11px;
}

.dpp-breach-copy-row p {
	margin: 0;
	color: #3d6551;
	font-size: 0.8rem;
}

.dpp-breach-copy-row p.is-error {
	color: #8a3030;
}

.dpp-breach-services {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 11px;
	margin-top: 18px;
}

.dpp-breach-service {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 16px;
	padding: 16px;
	border: 1px solid var(--dpp-border);
	border-radius: 11px;
	background: #ffffff;
}

.dpp-breach-service__eyebrow {
	color: var(--dpp-muted);
	font-size: 0.69rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.dpp-breach-service h4 {
	margin: 4px 0 5px;
	color: var(--dpp-blue-900);
	font-size: 0.98rem;
}

.dpp-breach-service p {
	margin: 0;
	color: var(--dpp-muted);
	font-size: 0.82rem;
	line-height: 1.5;
}

.dpp-breach-service__button {
	width: 100%;
	min-height: 41px;
	padding: 8px 11px;
	border: 1px solid var(--dpp-blue-800);
	border-radius: 8px;
	background: #ffffff;
	color: var(--dpp-blue-900);
	font: inherit;
	font-size: 0.79rem;
	font-weight: 800;
	cursor: pointer;
}

.dpp-breach-service__button:hover,
.dpp-breach-service__button:focus {
	background: var(--dpp-blue-050);
}

@media (max-width: 650px) {
	.dpp-breach-input-row,
	.dpp-breach-services {
		grid-template-columns: 1fr;
	}

	.dpp-breach-copy-row {
		align-items: stretch;
		flex-direction: column;
	}

	.dpp-breach-copy-row .dpp-tool__button {
		width: 100%;
	}
}


/* =========================================================
   0.13.1 — Kontrola zprávy: Text / Screenshot + lokální OCR
   ========================================================= */

.dpp-message-mode-tabs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin: 17px 0;
	padding: 5px;
	border: 1px solid var(--dpp-border);
	border-radius: 11px;
	background: #f3f7fb;
}

.dpp-message-mode-tab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 42px;
	padding: 9px 12px;
	border: 1px solid transparent;
	border-radius: 8px;
	background: transparent;
	color: #55687b;
	font: inherit;
	font-size: 0.82rem;
	font-weight: 850;
	cursor: pointer;
}

.dpp-message-mode-tab:hover {
	background: rgba(255, 255, 255, 0.72);
	color: var(--dpp-blue-900);
}

.dpp-message-mode-tab.is-active {
	border-color: #b9cee1;
	background: #ffffff;
	color: var(--dpp-blue-900);
	box-shadow: 0 3px 10px rgba(15, 54, 92, 0.08);
}

.dpp-message-field-label {
	display: block;
	margin: 0 0 7px;
	color: var(--dpp-blue-900);
	font-size: 0.8rem;
	font-weight: 850;
}

.dpp-message-ocr-ready {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 10px;
	padding: 11px 12px;
	border: 1px solid #b9dec9;
	border-radius: 9px;
	background: var(--dpp-green-100);
}

.dpp-message-ocr-ready__icon {
	display: grid;
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	place-items: center;
	border-radius: 50%;
	background: var(--dpp-green-700);
	color: #fff;
	font-size: 0.74rem;
	font-weight: 900;
}

.dpp-message-ocr-ready strong {
	display: block;
	color: #24563f;
	font-size: 0.8rem;
}

.dpp-message-ocr-ready p {
	margin: 2px 0 0;
	color: #597065;
	font-size: 0.72rem;
	line-height: 1.45;
}

.dpp-message-image-dropzone {
	display: grid;
	place-items: center;
	gap: 5px;
	min-height: 150px;
	padding: 22px;
	border: 2px dashed #b9cad9;
	border-radius: 12px;
	background: #ffffff;
	color: var(--dpp-blue-900);
	text-align: center;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.dpp-message-image-dropzone:hover,
.dpp-message-image-dropzone:focus-visible,
.dpp-message-image-dropzone.is-dragover {
	border-color: var(--dpp-blue-700);
	background: var(--dpp-blue-050);
	outline: none;
}

.dpp-message-image-dropzone__icon {
	font-size: 1.5rem;
	line-height: 1;
}

.dpp-message-image-dropzone p {
	margin: 0;
	color: var(--dpp-muted);
	font-size: 0.73rem;
}

.dpp-message-image-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 9px;
	padding: 9px 11px;
	border: 1px solid var(--dpp-border);
	border-radius: 8px;
	background: #ffffff;
}

.dpp-message-image-meta strong,
.dpp-message-image-meta span {
	display: block;
}

.dpp-message-image-meta strong {
	color: var(--dpp-blue-900);
	font-size: 0.78rem;
	overflow-wrap: anywhere;
}

.dpp-message-image-meta span {
	margin-top: 2px;
	color: var(--dpp-muted);
	font-size: 0.69rem;
}

.dpp-message-image-preview {
	display: grid;
	place-items: center;
	margin-top: 10px;
	padding: 11px;
	border: 1px solid var(--dpp-border);
	border-radius: 10px;
	background: #f7f9fb;
}

.dpp-message-image-preview img {
	display: block;
	max-width: min(100%, 520px);
	max-height: 460px;
	object-fit: contain;
	border-radius: 7px;
}

.dpp-message-image-actions {
	margin-top: 11px;
}

.dpp-message-image-actions p {
	margin: 7px 0 0;
	color: var(--dpp-muted);
	font-size: 0.72rem;
	line-height: 1.45;
}

.dpp-message-ocr-progress {
	margin-top: 12px;
	padding: 12px 13px;
	border: 1px solid #bfd1e1;
	border-radius: 10px;
	background: #f5f9fd;
}

.dpp-message-ocr-progress__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.dpp-message-ocr-progress__row strong {
	color: var(--dpp-blue-900);
	font-size: 0.78rem;
}

.dpp-message-ocr-progress__row span {
	color: var(--dpp-blue-700);
	font-size: 0.74rem;
	font-weight: 850;
}

.dpp-message-ocr-progress__track {
	overflow: hidden;
	height: 7px;
	margin-top: 8px;
	border-radius: 999px;
	background: #dce7f0;
}

.dpp-message-ocr-progress__track span {
	display: block;
	width: 0;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #185b9e, #2563eb);
	transition: width 160ms ease;
}

.dpp-message-ocr-progress > p {
	margin: 7px 0 0;
	color: var(--dpp-muted);
	font-size: 0.7rem;
	line-height: 1.45;
}

.dpp-message-image-tip {
	margin-top: 12px;
	padding: 12px 13px;
	border-left: 3px solid var(--dpp-blue-700);
	border-radius: 0 9px 9px 0;
	background: #f6f9fc;
}

.dpp-message-image-tip strong {
	display: block;
	color: var(--dpp-blue-900);
	font-size: 0.76rem;
}

.dpp-message-image-tip p {
	margin: 3px 0 0;
	color: var(--dpp-muted);
	font-size: 0.71rem;
	line-height: 1.5;
}

@media (max-width: 600px) {
	.dpp-message-mode-tabs {
		grid-template-columns: 1fr;
	}

	.dpp-message-image-actions .dpp-tool__button {
		width: 100%;
	}

	.dpp-message-image-preview img {
		max-height: 390px;
	}
}


/* =========================================================
   0.13.4 — GLOBÁLNÍ TYPOGRAFIE VŠECH DPP NÁSTROJŮ
   URL / QR / MESSAGE / METADATA / BREACH
   Nezávislé na Gutenberg wrapperu stránky.
   ========================================================= */

/* -----------------------------
   Celková typografie
   ----------------------------- */

.dpp-tool {
	--dpp-heading: #081525;
	--dpp-heading-blue: #0b3269;
	color: #24364a;
	font-size: 15px;
	line-height: 1.62;
}


/* -----------------------------
   HEADER NÁSTROJE
   ----------------------------- */

.dpp-tool > .dpp-tool__hero {
	gap: 24px;
	padding-bottom: 24px;
	border-bottom-color: #d5e1ec;
}


/* DPP NÁSTROJE = červený pill */

.dpp-tool > .dpp-tool__hero .dpp-tool__eyebrow {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	margin: 0 0 12px;
	padding: 6px 10px;

	color: #fff;

	background:
		linear-gradient(
			135deg,
			#f12b34,
			#ca1018
		);

	border-radius: 999px;

	font-size: 10px;
	font-weight: 900;
	line-height: 1;

	letter-spacing: .07em;
	text-transform: uppercase;

	box-shadow:
		0 6px 15px rgba(227, 27, 35, .20);
}


/* hlavní název nástroje */

.dpp-tool > .dpp-tool__hero .dpp-tool__title {
	margin: 0 0 10px;

	color: var(--dpp-heading);

	font-size: clamp(25px, 3vw, 32px);
	font-weight: 900;
	line-height: 1.12;

	letter-spacing: -.035em;
}


/* úvodní popis */

.dpp-tool > .dpp-tool__hero .dpp-tool__lead {
	max-width: 60ch;
	margin: 0;

	color: #5e6e80;

	font-size: 14px;
	line-height: 1.65;
}


/* -----------------------------
   PRIVACY BADGE
   ----------------------------- */

.dpp-tool > .dpp-tool__hero .dpp-privacy-badge {
	padding: 13px 15px;
	border-radius: 12px;

	box-shadow:
		0 5px 14px rgba(21, 128, 61, .05);
}

.dpp-tool > .dpp-tool__hero .dpp-privacy-badge strong {
	color: #174d37;

	font-size: 13px;
	font-weight: 850;
}

.dpp-tool > .dpp-tool__hero .dpp-privacy-badge small {
	font-size: 11px;
	line-height: 1.45;
}


/* -----------------------------
   JAK PRACUJEME S DATY
   ----------------------------- */

.dpp-tool > .dpp-tool__privacy-note {
	margin: 23px 0;

	padding: 16px 18px;

	border-left: 4px solid #2563eb;
	border-radius: 0 12px 12px 0;

	background:
		linear-gradient(
			90deg,
			#f3f7fc,
			#f8fbff
		);
}

.dpp-tool > .dpp-tool__privacy-note strong {
	display: block;

	margin-bottom: 4px;

	color: var(--dpp-heading);

	font-size: 15px;
	font-weight: 900;

	letter-spacing: -.01em;
}

.dpp-tool > .dpp-tool__privacy-note p {
	color: #5b6d80;

	font-size: 13px;
	line-height: 1.65;
}


/* -----------------------------
   ČÍSLOVANÉ KROKY
   ----------------------------- */

.dpp-tool .dpp-tool__section-heading {
	gap: 12px;
	align-items: flex-start;
}

.dpp-tool .dpp-tool__step {
	display: grid;
	place-items: center;

	flex: 0 0 31px;

	width: 31px;
	height: 31px;

	margin-top: 1px;

	color: #fff;

	background:
		linear-gradient(
			145deg,
			#0a396e,
			#185b9e
		);

	border-radius: 50%;

	font-size: 12px;
	font-weight: 900;

	box-shadow:
		0 5px 12px rgba(11, 71, 131, .17);
}


/* názvy kroků */

.dpp-tool .dpp-tool__section-heading h3 {
	margin: 0 0 5px;

	color: var(--dpp-heading);

	font-size: 17px;
	font-weight: 900;
	line-height: 1.25;

	letter-spacing: -.018em;
}


/* vysvětlení pod krokem */

.dpp-tool .dpp-tool__section-heading p {
	margin: 0;

	color: #68788a;

	font-size: 12px;
	line-height: 1.55;
}


/* -----------------------------
   CO NÁSTROJ ZJISTÍ / NEZJISTÍ
   ----------------------------- */

.dpp-tool .dpp-info-card h3 {
	margin-bottom: 8px;

	color: var(--dpp-heading);

	font-size: 15px;
	font-weight: 900;

	letter-spacing: -.015em;
}

.dpp-tool .dpp-info-card ul {
	color: #465668;

	font-size: 12px;
	line-height: 1.7;
}


/* -----------------------------
   VÝSLEDKOVÉ PODSEKCE
   ----------------------------- */

.dpp-tool .dpp-blacklist__heading h4,
.dpp-tool .dpp-signals__heading h4 {
	margin-bottom: 4px;

	color: var(--dpp-heading);

	font-size: 15px;
	font-weight: 900;

	letter-spacing: -.01em;
}

.dpp-tool .dpp-blacklist__heading p,
.dpp-tool .dpp-signals__heading p {
	color: #68788a;

	font-size: 12px;
}


/* obecné strong ve výsledkových kartách */

.dpp-tool .dpp-url-result__status strong,
.dpp-tool .dpp-signals__none strong,
.dpp-tool .dpp-result-shell__placeholder strong,
.dpp-tool .dpp-blacklist__status strong {
	color: var(--dpp-heading);
	font-weight: 900;
}


/* nalezené signály */

.dpp-tool .dpp-signal strong {
	color: var(--dpp-heading);

	font-size: 13px;
	font-weight: 850;
}

.dpp-tool .dpp-signal p {
	color: #647487;

	font-size: 11.5px;
	line-height: 1.55;
}


/* -----------------------------
   CO UDĚLAT DÁL
   ----------------------------- */

.dpp-tool .dpp-next-step {
	background:
		linear-gradient(
			135deg,
			#f5f9fd,
			#f9fbfe
		);
}


/* -----------------------------
   FOOTER / DISCLAIMER
   ----------------------------- */

.dpp-tool .dpp-tool__footer {
	color: #69798b;

	font-size: 11.5px;
	line-height: 1.55;
}


/* -----------------------------
   METADATA – názvy položek
   ----------------------------- */

.dpp-tool--metadata .dpp-metadata-row dt,
.dpp-tool--metadata .dpp-metadata-summary dt {
	color: #6a7a8b;
	font-size: 10px;
	font-weight: 850;
	letter-spacing: .045em;
	text-transform: uppercase;
}

.dpp-tool--metadata .dpp-metadata-row dd,
.dpp-tool--metadata .dpp-metadata-summary dd {
	color: var(--dpp-heading);
	font-weight: 750;
}


/* -----------------------------
   QR – vlastní vnitřní mini nadpisy
   ----------------------------- */

.dpp-tool--qr .dpp-qr-camera-card strong,
.dpp-tool--qr .dpp-qr-content-card strong {
	color: var(--dpp-heading);
	font-weight: 850;
}


/* -----------------------------
   MESSAGE – vlastní UI
   ----------------------------- */

.dpp-tool--message .dpp-message-field-label {
	color: var(--dpp-heading);
	font-weight: 850;
}


/* -----------------------------
   URL – technické hodnoty
   ----------------------------- */

.dpp-tool--url .dpp-url-result__grid dd,
.dpp-tool--embedded-url .dpp-url-result__grid dd {
	color: var(--dpp-heading);
	font-weight: 800;
}


/* -----------------------------
   MOBIL
   ----------------------------- */

@media (max-width: 600px) {

	.dpp-tool > .dpp-tool__hero .dpp-tool__title {
		font-size: 25px;
	}

	.dpp-tool .dpp-tool__section-heading h3 {
		font-size: 16px;
	}

	.dpp-tool .dpp-tool__section-heading p {
		font-size: 11.5px;
	}
}

/* 0.14.0 — optional public domain lookup and manual report preparation. */
.dpp-tool .dpp-domain {margin-top:24px;padding:clamp(16px,3vw,28px);border:1px solid #cad9e9;border-radius:20px;background:linear-gradient(140deg,#f2f7ff,#fff);color:#17324f;}
.dpp-tool .dpp-domain[hidden], .dpp-tool .dpp-domain [hidden] {display:none!important;}
.dpp-tool .dpp-domain h4 {margin:0 0 8px;color:#17324f;font-size:1.06rem;}
.dpp-tool .dpp-domain p {color:#344a60;line-height:1.65;}
.dpp-tool .dpp-domain__target {font-weight:700;overflow-wrap:anywhere;}
.dpp-tool .dpp-domain__roles {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0;}
.dpp-tool .dpp-domain__roles article {padding:16px;background:#fff;border:1px solid #d4dfeb;border-radius:12px;}
.dpp-tool .dpp-domain__roles p {margin:0;font-size:.95rem;}
.dpp-tool .dpp-domain details {margin:14px 0;padding:16px;background:#fff;border:1px solid #d4dfeb;border-radius:12px;}
.dpp-tool .dpp-domain summary {cursor:pointer;font-size:1.05rem;font-weight:750;color:#154b83;}
.dpp-tool .dpp-domain details[open] summary {margin-bottom:16px;}
.dpp-tool .dpp-domain__consent {display:flex;gap:10px;align-items:flex-start;margin:16px 0;font-weight:600;}
.dpp-tool .dpp-domain input[type=checkbox] {width:20px;height:20px;flex:none;margin-top:3px;accent-color:#175da4;}
.dpp-tool .dpp-domain__facts {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;}
.dpp-tool .dpp-domain__facts div {padding:12px 0;border-bottom:1px solid #dfe6ee;}
.dpp-tool .dpp-domain__facts dt {font-size:.86rem;font-weight:700;color:#52687d;}
.dpp-tool .dpp-domain__facts dd {margin:5px 0;overflow-wrap:anywhere;}
.dpp-tool .dpp-domain__form {display:grid;gap:16px;}
.dpp-tool .dpp-domain__form label {display:grid;gap:7px;font-weight:650;color:#17324f;}
.dpp-tool .dpp-domain__form textarea, .dpp-tool .dpp-domain__form select, .dpp-tool .dpp-domain__form input {box-sizing:border-box;max-width:100%;width:100%;padding:12px;border:1px solid #a9bfd5;border-radius:9px;background:#fff;color:#17324f;font:inherit;font-weight:400;}
.dpp-tool .dpp-domain textarea {resize:vertical;}
.dpp-tool .dpp-domain :focus-visible {outline:3px solid #548bc2;outline-offset:3px;}
.dpp-tool .dpp-domain__actions {display:flex;flex-wrap:wrap;align-items:center;gap:14px;}
.dpp-tool .dpp-domain__advice {border-left:3px solid #356fa8;padding:10px 14px;background:#eef5fd;}
.dpp-tool .dpp-domain__dpp-link {font-weight:750;text-decoration:underline;}
.dpp-tool .dpp-domain button:disabled {opacity:.6;cursor:not-allowed;}
@media(max-width:720px){.dpp-tool .dpp-domain__roles,.dpp-tool .dpp-domain__facts {grid-template-columns:1fr;}.dpp-tool .dpp-domain details {padding:13px;}}
