/* MD2: MYDWOJE_003 Panel 2.0 - chrome stylesheet (L0). F0 skeleton (00305) + F1 chrome 1:1 (00313 desktop, 00314 mobile).
   ASCII only. Loaded last (after BS3 + style_home_res.css); every rule is prefixed .md2- so legacy content in
   .md2-legacy keeps its own look until each page is redesigned (L2). Budget: <= 120 KB (00310). */

:root {
	/* G1 palette (closed) */
	--md2-navy: #003368;
	--md2-navy-2: #33475A;
	--md2-red: #AD0000;
	--md2-green: #7AC319;
	--md2-green-2: #61AA00;
	--md2-green-dark: #3D6600;
	--md2-bg: #EDF3F7;
	--md2-bg-2: #F3F7FA;
	--md2-bg-3: #E8EFF5;
	--md2-field: #E9EEF2;
	--md2-line: #D7E2EB;
	--md2-line-2: #C9D6E2;
	--md2-line-3: #E2EAF1;
	--md2-muted: #8CA0B3;
	--md2-muted-2: #B7C6D4;
	--md2-text: #33475A;
	--md2-text-2: #5A6B7C;
	--md2-white: #FFFFFF;
	/* G1 radius: one token in the whole panel (owner 02.09) */
	--md2-radius: 6px;
	/* G2 typography (owner 02.09): Albert Sans UI, Space Mono for numbers/codes/logins */
	--md2-font: "Albert Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
	--md2-font-mono: "Space Mono", "SFMono-Regular", Menlo, Consolas, monospace;
	/* A3 spacing scale */
	--md2-space-1: 8px;
	--md2-space-2: 16px;
	--md2-space-3: 24px;
	--md2-space-4: 40px;
	/* layout */
	--md2-container: 1200px;
	--md2-gutter: 24px; /* A3 scale (R3) */
	--md2-header-h: 72px; /* mockup 1b: logo bar 72 px */
	--md2-nav-h: 52px; /* mockup 1b: pillar bar 52 px, hit >= 44 px */
	--md2-l2-h: 52px; /* mockup 2b: red L2 bar */
	--md2-path-h: 40px; /* mockup 1b: breadcrumb C12 40 px */
	--md2-tabbar-h: 64px; /* mockup 1c/2d tab bar (00314) */
	--md2-shadow: 0px 5px 10px rgba(0, 52, 102, 0.08); /* theme/scss shadow (R3 O3) */
	--md2-shadow-pop: 0 16px 44px rgba(0, 35, 74, 0.22); /* mockup 1b: user menu */
	--md2-focus: 0 0 0 3px rgba(122, 195, 25, 0.6); /* G1 green #7AC319 - visible on white and navy */
}

/* ---- base (scoped to body.md2-body so legacy body rules do not fight) ---- */
body.md2-body {
	margin: 0;
	background: var(--md2-bg-2);
	color: var(--md2-text);
	font-family: var(--md2-font);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}
.md2-mono { font-family: var(--md2-font-mono); }
.md2-visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0; white-space: nowrap; }
.md2-container {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--md2-container);
	margin: 0 auto;
	padding: 0 var(--md2-gutter);
}
.md2-header a, .md2-footer a, .md2-tabbar a, .md2-l2 a, .md2-path a, .md2-sheet a { text-decoration: none; }
.md2-header :focus-visible, .md2-footer :focus-visible, .md2-tabbar :focus-visible, .md2-l2 :focus-visible, .md2-path :focus-visible, .md2-sheet :focus-visible {
	outline: none;
	box-shadow: var(--md2-focus);
	border-radius: var(--md2-radius);
}
.md2-skip {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 1000;
	padding: var(--md2-space-1) var(--md2-space-2);
	background: var(--md2-navy);
	color: var(--md2-white);
	border-radius: 0 0 var(--md2-radius) 0;
}
.md2-skip:focus { left: 0; }

/* ---- atoms shared by the chrome: badge (C05), progress bar (C04), buttons ---- */
.md2-badge {
	display: inline-grid;
	place-items: center;
	box-sizing: border-box;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: 99px; /* counter pill = shape exception (mockup 1b), not a radius token */
	background: var(--md2-red);
	color: var(--md2-white);
	font-size: 11.5px;
	font-weight: 700;
	line-height: 1;
	vertical-align: middle;
}
.md2-badge--new { border-radius: var(--md2-radius); font-family: var(--md2-font); font-weight: 900; font-size: 11px; letter-spacing: 0.04em; padding: 2px 8px; height: auto; }
.md2-badge--online { background: var(--md2-green-2); }
.md2-badge--muted { background: var(--md2-muted); }
.md2-progress {
	display: block;
	width: 100%;
	height: 8px;
	border-radius: 99px;
	background: var(--md2-line-3);
	overflow: hidden;
}
.md2-progress__bar { display: block; height: 100%; width: 0; background: var(--md2-green); border-radius: 99px; }
.md2-progress--onnavy { background: rgba(255, 255, 255, 0.25); }
.md2-btn:focus-visible { outline: none; box-shadow: var(--md2-focus); } /* R3-00325 K8: the token ring on every 2.0 button (a + button); modal buttons keep their :focus rule */
@media (forced-colors: active) { .md2-btn:focus-visible { outline: 2px solid CanvasText; outline-offset: 2px; } }
.md2-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	box-sizing: border-box;
	min-height: 44px;
	padding: 0 var(--md2-space-2);
	border: 1px solid transparent;
	border-radius: var(--md2-radius);
	font-family: var(--md2-font);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}
.md2-btn--primary { background: var(--md2-green); color: var(--md2-navy); }
.md2-btn--primary:hover { background: var(--md2-green); color: var(--md2-navy); box-shadow:inset 0 0 0 2px var(--md2-navy); }
.md2-btn--secondary { background: var(--md2-navy); color: var(--md2-white); }
.md2-btn--ghost { background: var(--md2-white); color: var(--md2-navy); border-color: var(--md2-line-2); }
.md2-btn--ghost:hover { background: var(--md2-bg); }
.md2-btn--danger { background: var(--md2-red); color: var(--md2-white); }
a.md2-btn--danger, a.md2-btn--danger:hover, a.md2-btn--danger:focus, a.md2-btn--secondary, a.md2-btn--secondary:hover, a.md2-btn--secondary:focus { color: var(--md2-white); text-decoration: none; }   /* R3-00316 K7 + BLOCK: link-buttons keep the white label whatever the surrounding anchor rules say */
.md2-btn--link { background: transparent; color: var(--md2-navy); text-decoration: underline; }
.md2-btn--sm { min-height: 28px; padding: 4px 10px; font-size: 12px; font-weight: 900; }
.md2-btn--lg { min-height: 52px; font-size: 16px; }
.md2-btn[disabled] { opacity: 0.55; cursor: default; }

/* ---- header row 1: logo bar 72 px (mockup 1b) ---- */
.md2-header {
	position: relative;
	z-index: 50;
	background: var(--md2-white);
}
.md2-header__top { position: relative; background: var(--md2-white); }
.md2-header__row {
	display: flex;
	align-items: center;
	min-height: var(--md2-header-h);
	gap: 14px;
}
.md2-logo { display: inline-flex; align-items: center; min-height: 44px; }
.md2-logo img { display: block; height: 42px; width: auto; }
.md2-tagline {
	font-size: 12.5px;
	font-weight: 600;
	color: var(--md2-navy);
	border-left: 1px solid var(--md2-line-3);
	padding-left: 14px;
	white-space: nowrap;
}
/* legacy red line + notch under the logo bar (top_hr / top_hr_arrow; owner 31.08, mockup 2b) */
.md2-header__hr { display: block; position: relative; height: 2px; background: var(--md2-red); } /* mockup 2b: 2 px (R3 K2) */
.md2-header__notch {
	position: absolute;
	top: -5px;
	right: max(var(--md2-gutter), calc(50% - var(--md2-container) / 2 + 84px));
	width: 14px;
	height: 14px;
	z-index: 2;
	background: var(--md2-white);
	border: 2px solid var(--md2-red);
	border-width: 2px 0 0 2px;
	transform: rotate(45deg);
	box-sizing: border-box;
}
.md2-user {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-left: auto;
	min-width: 0;
}
.md2-user__label { font-size: 13px; color: var(--md2-text-2); white-space: nowrap; }
.md2-user__code {
	font-size: 13.5px;
	font-weight: 700; /* Space Mono 700 */
	color: var(--md2-navy);
	letter-spacing: 0.02em;
	max-width: 34vw;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap; /* long logins never push the header (R3 r3 N5) */
}
.md2-user__login {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 var(--md2-space-2);
	border: 1px solid var(--md2-line-2);
	border-radius: var(--md2-radius);
	color: var(--md2-navy);
	font-weight: 600;
	font-size: 14px;
	background: var(--md2-white);
}
.md2-user__login:hover { background: var(--md2-bg); }

/* avatar = initials on navy inside the profile-% ring (mockup 1b: conic-gradient 60%) */
.md2-avatar {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%; /* circle = shape exception (avatars, rings) */
	background: conic-gradient(var(--md2-green) var(--md2-pct, 0%), var(--md2-line-3) 0);
	flex: 0 0 auto;
}
.md2-avatar__initials {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--md2-navy);
	color: var(--md2-white);
	font-family: var(--md2-font);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.02em;
}
.md2-avatar--plain { width: 40px; height: 40px; background: rgba(0, 0, 0, 0.28); }
.md2-avatar--plain .md2-avatar__initials { width: 40px; height: 40px; background: transparent; }

/* user menu (mockup 1b): <details> = works without JS; panel.js adds outside-click / Esc close */
.md2-user-menu { position: relative; }
.md2-user-menu__toggle {
	display: flex;
	align-items: center;
	gap: 7px;
	min-height: 44px;
	padding: 4px 6px;
	border-radius: var(--md2-radius);
	cursor: pointer;
	list-style: none;
	user-select: none;
}
.md2-user-menu__toggle::-webkit-details-marker { display: none; }
.md2-user-menu__toggle::marker { content: ""; }
.md2-user-menu__toggle:hover { background: var(--md2-bg-2); }
.md2-user-menu__caret {
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 6px solid var(--md2-text-2);
	transition: transform 0.25s ease;
}
.md2-user-menu[open] .md2-user-menu__caret { transform: rotate(180deg); }
.md2-user-menu__panel {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	width: 300px;
	box-sizing: border-box;
	background: var(--md2-white);
	border: 1px solid var(--md2-line);
	border-radius: var(--md2-radius);
	box-shadow: var(--md2-shadow-pop);
	overflow: hidden;
	z-index: 70;
	text-align: left;
}
.md2-user-menu__handle { display: none; }
.md2-user-menu__scrim { display: none; }
.md2-user-menu__head {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	background: var(--md2-navy);
	color: var(--md2-white);
}
.md2-user-menu__who { flex: 1 1 auto; min-width: 0; }
.md2-user-menu__code { display: block; font-size: 13px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.md2-user-menu__progress { display: block; margin-top: 6px; color: inherit; }
.md2-user-menu__pct { display: block; margin-top: 4px; font-size: 11px; color: var(--md2-muted-2); }
a.md2-user-menu__progress:hover .md2-user-menu__pct { color: var(--md2-white); }
.md2-user-menu__group { list-style: none; margin: 0; padding: 6px 0; border-bottom: 1px solid var(--md2-bg); }
.md2-user-menu__item { margin: 0; padding: 0; }
.md2-user-menu__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 38px;
	padding: 0 16px;
	font-size: 13.5px;
	color: var(--md2-text);
}
.md2-user-menu__link:hover { background: var(--md2-bg); color: var(--md2-navy); }
.md2-user-menu__count { color: var(--md2-navy); font-size: 12px; }
.md2-user-menu__ext { margin-left: 4px; color: var(--md2-red); transform: rotate(-45deg); } /* arrow "leaves the panel" (mockup 1b) */
.md2-user-menu__btn { flex: 0 0 auto; }
.md2-user-menu__row { padding-right: 12px; }
.md2-user-menu__rowlink { display: flex; align-items: center; flex: 1 1 auto; min-height: 38px; color: inherit; text-decoration: none; }
.md2-user-menu__row:hover { background: transparent; }
.md2-user-menu__rowlink:hover { color: var(--md2-navy); text-decoration: underline; }
.md2-user-menu__contact { margin: 0; padding: 10px 16px; font-size: 11.5px; line-height: 1.45; color: var(--md2-text-2); border-bottom: 1px solid var(--md2-bg); }
.md2-user-menu__contact a { color: var(--md2-navy); font-weight: 600; text-decoration: underline; }
.md2-user-menu__logout {
	display: flex;
	align-items: center;
	min-height: 42px;
	padding: 0 16px;
	font-size: 13.5px;
	font-weight: 900;
	color: var(--md2-red);
}
.md2-user-menu__logout:hover { background: rgba(173, 0, 0, 0.06); }
.md2-user-menu__logout .md2-user-menu__ext { color: var(--md2-red); }

/* ---- page title strip: legacy div_page_header (pillar title, right-aligned) - A2 continuity, owner 31.08 ---- */
.md2-pagehead { background: var(--md2-white); border-bottom: 1px solid var(--md2-line-3); }
.md2-pagehead__title {
	margin: 0;
	min-height: 44px;
	line-height: 44px;
	text-align: right;
	font-size: 20px;
	font-weight: 600;
	color: var(--md2-navy);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* ---- header row 2: L1 nav (6 pillars, mockup 1b: 52 px navy, active = red block) ---- */
.md2-nav { background: var(--md2-navy); }
.md2-nav__list {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	min-height: var(--md2-nav-h);
	list-style: none;
	margin: 0 auto;
	padding: 0 var(--md2-gutter);
	max-width: var(--md2-container);
	box-sizing: border-box;
}
.md2-nav__item { margin: 0; padding: 0; display: flex; }
.md2-nav__link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-height: var(--md2-nav-h);
	padding: 0 20px;
	color: rgba(255, 255, 255, 0.92);
	font-weight: 600;
	font-size: 14.5px;
	white-space: nowrap;
	transition: background 0.2s ease;
}
.md2-nav__link:hover { background: rgba(255, 255, 255, 0.1); color: var(--md2-white); }
.md2-nav__item--active .md2-nav__link, .md2-nav__item--active .md2-nav__link:hover { background: var(--md2-red); color: var(--md2-white); font-weight: 900; } /* G2: 400/600/900 (R3 K9) */
.md2-nav__icon { margin: 0; flex: 0 0 auto; }
.md2-nav__badge { margin-left: 2px; }
.md2-nav__item--active .md2-badge { background: var(--md2-white); color: var(--md2-red); }

/* ---- L2: red bar of the active pillar (owner 31.08, mockup 2b) with % chips, counters and L3 dropdowns ---- */
.md2-l2 { background: var(--md2-red); }
.md2-subnav__list {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	list-style: none;
	margin: 0;
	padding: 0;
	min-height: var(--md2-l2-h);
}
.md2-subnav__item { margin: 0; padding: 0; display: flex; position: relative; }
.md2-subnav__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	box-sizing: border-box;
	min-height: var(--md2-l2-h);
	padding: 0 16px;
	color: var(--md2-white);
	font-size: 15px;
	font-weight: 600;
	white-space: nowrap;
	border-bottom: 3px solid transparent;
}
.md2-subnav__link:hover { background: rgba(255, 255, 255, 0.1); color: var(--md2-white); }
.md2-subnav__item--active > .md2-subnav__link { border-bottom-color: var(--md2-white); font-weight: 900; }
.md2-subnav__pct { font-size: 11px; font-weight: 700; padding: 1px 6px; border-radius: 99px; background: rgba(255, 255, 255, 0.18); }
.md2-subnav .md2-badge { background: var(--md2-white); color: var(--md2-red); }
.md2-subnav__ext { transform: rotate(-45deg); }
.md2-subnav__caret {
	width: 0;
	height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid rgba(255, 255, 255, 0.85);
}
.md2-subnav__sub {
	display: none;
	position: absolute;
	left: 0;
	top: 100%;
	min-width: 240px;
	margin: 0;
	padding: 6px 0;
	list-style: none;
	background: var(--md2-white);
	border: 1px solid var(--md2-line);
	border-radius: 0 0 var(--md2-radius) var(--md2-radius);
	box-shadow: var(--md2-shadow-pop);
	z-index: 65;
}
.md2-subnav__item--parent:hover .md2-subnav__sub, .md2-subnav__item--parent:focus-within .md2-subnav__sub, .md2-subnav__item--open .md2-subnav__sub { display: block; }
.md2-subnav__sub-item { margin: 0; padding: 0; }
.md2-subnav__sub-link {
	display: flex;
	align-items: center;
	min-height: 40px;
	padding: 0 16px;
	color: var(--md2-navy);
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	border-left: 3px solid transparent;
}
.md2-subnav__sub-link:hover { background: var(--md2-bg); color: var(--md2-navy); }
.md2-subnav__sub-item--active .md2-subnav__sub-link { border-left-color: var(--md2-red); font-weight: 900; }
.md2-subnav__mobile { display: none; }
.md2-subnav__select-label { display: flex; align-items: center; gap: 10px; min-height: var(--md2-l2-h); font-weight: 400; } /* 00387 A18: <label> = Bootstrap 700 -> regular (the text span sets 600) */
.md2-subnav__select-text { order: 1; font-size: 13px; font-weight: 600; color: rgba(255, 255, 255, 0.85); white-space: nowrap; }
.md2-subnav__select {
	order: 0;
	flex: 1 1 auto;
	min-width: 0;
	box-sizing: border-box;
	height: 48px; /* owner 02.09: native select 48 px */
	margin: 2px 0;
	padding: 0 40px 0 12px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: var(--md2-radius);
	background-color: var(--md2-red);
	color: var(--md2-white);
	font-family: var(--md2-font);
	font-size: 16px; /* G7: >= 16 px, no iOS zoom */
	font-weight: 900;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.md2-subnav__select-wrap { position: relative; flex: 1 1 auto; min-width: 0; display: flex; }
.md2-subnav__select-caret { position: absolute; right: 16px; top: 50%; margin-top: -3px; width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 6px solid var(--md2-white); pointer-events: none; } /* chevron like .md2-user-menu__caret (R3-00313 K13) */
.md2-subnav__select option { color: var(--md2-text); background: var(--md2-white); font-weight: 400; }

/* ---- breadcrumb strip (C12, 40 px) + legacy profile % bar on the same pages as legacy ---- */
.md2-path { background: var(--md2-white); border-bottom: 1px solid var(--md2-line-3); }
.md2-path__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--md2-space-1) var(--md2-space-2); min-height: var(--md2-path-h); }
.md2-legacy.md2-legacy--path { line-height: 1.4; /* the breadcrumb is chrome, not sandbox content: own line-height (R3-00315 r2: 1 px shift after the 14 px / 1.43 sandbox base) */ padding: 0; font-size: 12.5px; min-height: 0; box-sizing: border-box; font-family: var(--md2-font); }
.md2-path__crumbs a, .md2-path__crumbs .path { color: var(--md2-text-2); text-decoration: none; }
.md2-path__crumbs a:hover { color: var(--md2-navy); text-decoration: underline; }
.md2-path__crumbs .pathb, .md2-path__current { color: var(--md2-navy); font-weight: 900; }
.md2-path__sep { color: var(--md2-muted-2); }
.md2-profilebar { display: flex; align-items: center; gap: 10px; font-size: 12.5px; color: var(--md2-text-2); white-space: nowrap; }
.md2-profilebar__link { display: inline-flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; }
.md2-profilebar .md2-progress { width: 200px; }
.md2-profilebar__pct { font-weight: 700; color: var(--md2-navy); } /* Space Mono */

/* ---- main / sandbox ---- */
.md2-main { padding: var(--md2-space-3) 0 var(--md2-space-4); }
.md2-legacy {
	/* L1 sandbox: legacy content keeps its typography (Bootstrap 3 body defaults, as rendered on :8888) until redesigned.
	   No padding/border on desktop: legacy rows need the full 1152 px (p=53: 3 x 345 px tiles - R3 S1). */
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; /* legacy effective body font = Bootstrap 3 default (style_home_res.css has PT Sans commented out) - R3-00315 K3 */
	font-size: 14px; /* legacy BS3 base (body.md2-body is 16 px): keeps legacy table widths on mobile (R1-00315 N2) */
	line-height: 1.42857143; /* BS3 body line-height (R3-00315 K2) */
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
	overflow-x: auto;
}
.md2-legacy.md2-legacy--path {
	background: transparent;
	border: 0;
	border-radius: 0;
	overflow: visible;
}

/* ---- footer ---- */
.md2-footer {
	background: var(--md2-navy-2);
	color: var(--md2-white);
	font-size: 14px;
}
.md2-footer__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--md2-space-2) var(--md2-space-3);
	padding-top: var(--md2-space-3);
	padding-bottom: var(--md2-space-3);
}
.md2-footer__logo img { display: block; height: 24px; width: auto; }
.md2-footer__note, .md2-footer__copy { margin: 0; }
.md2-footer__note a { color: var(--md2-white); text-decoration: underline; }
.md2-footer__copy { margin-left: auto; color: var(--md2-muted-2); }
.md2-footer__row--links { flex-wrap: wrap; row-gap: 8px; padding-top: 0; }
.md2-footer__menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 16px; }
.md2-footer__menu-item { margin: 0; }
.md2-footer__link { display: inline-flex; align-items: center; min-height: 44px; padding: 0 2px; color: var(--md2-white); text-decoration: none; font-size: 13px; } /* real hit area >= 44 px (R3 r3 B2) */
.md2-footer__link:hover, .md2-footer__link:focus { text-decoration: underline; }

/* 00401: compact utility footer after sign-in; public/guest footer keeps its own layout. */
.md2-footer--panel { background: var(--md2-white); color: var(--md2-navy); border-top: 1px solid var(--md2-line); }
.md2-footer__panel-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 24px; padding-top: 16px; padding-bottom: 16px; }
.md2-footer__panel-row nav { min-width: 0; }
.md2-footer--panel .md2-footer__menu { gap: 0 24px; }
.md2-footer--panel .md2-footer__link { color: var(--md2-navy); font-size: 14px; line-height: 20px; padding: 8px 0; overflow-wrap: break-word; }
.md2-footer--panel .md2-footer__link:hover, .md2-footer--panel .md2-footer__link:focus { color: var(--md2-navy); text-decoration: underline; text-underline-offset: 3px; }
.md2-footer--panel .md2-footer__link:focus-visible { outline: 2px solid var(--md2-navy); outline-offset: 2px; box-shadow: none; }
.md2-footer--panel .md2-footer__copy { color: var(--md2-text-2); font-size: 13px; line-height: 20px; }
/* Mobile uses the existing Menu sheet for utility links (owner 16.09); no page footer. */
@media (max-width: 1023.98px) { .md2-footer--panel { display: none; } }
.md2-menu__utility { display: flex; flex-wrap: wrap; gap: 0 16px; border-top: 1px solid var(--md2-line); padding: 8px 16px; }
.md2-menu__utility a { display: inline-flex; align-items: center; min-height: 48px; color: var(--md2-navy); font-size: 13px; line-height: 20px; }
.md2-menu__utility a:hover { text-decoration: underline; }
.md2-menu__utility a:focus-visible { outline: 2px solid var(--md2-navy); outline-offset: 2px; box-shadow: none; }

/* ---- mobile tab bar (C11, 00314): 5 positions, 64 px, navy (mockup 1c/2d; the canvas' darker navy -> palette navy, D11), shown < 1024 (task) ---- */
.md2-tabbar {
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 60;
	height: calc(var(--md2-tabbar-h) + env(safe-area-inset-bottom, 0px)); /* iOS home indicator (R3 r2 K2) */
	padding-bottom: env(safe-area-inset-bottom, 0px);
	box-sizing: border-box;
	background: var(--md2-navy);
	box-shadow: 0px -5px 10px rgba(0, 52, 102, 0.08); /* theme/scss shadow mirrored */
}
.md2-tabbar__item {
	position: relative;
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	gap: 3px;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	min-width: 0;
	padding: 0 2px;
	color: var(--md2-white); /* card 1c: white labels (R3-00314 K4) */
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-align: center;
	overflow: hidden;
}
.md2-tabbar__item:hover { color: var(--md2-white); background: rgba(255, 255, 255, 0.07); border-radius: var(--md2-radius); }
.md2-tabbar :focus:not(:focus-visible), .md2-sheet :focus:not(:focus-visible) { outline: none; } /* a browser without :focus-visible drops this rule and keeps its outline (R1 r2 N5) */
/* legacy Bootstrap 3 `a:hover, a:focus` link colour (0,1,1) outranks the component colour (0,1,0): restate the colours on :focus (hover is restated per component already) - R3-00314 K1 follow-up */
.md2-tabbar__item:focus, .md2-nav__link:focus, .md2-subnav__link:focus, .md2-footer__link:focus { color: var(--md2-white); }
.md2-subnav__sub-link:focus, .md2-menu__pillar-link:focus, .md2-user__code:focus, .md2-user__login:focus, .md2-logo:focus, .md2-user-menu__rowlink:focus { color: var(--md2-navy); }
.md2-menu__sub-link:focus { color: var(--md2-text-2); }
.md2-menu__sub-item--active .md2-menu__sub-link:focus { color: var(--md2-navy); }
.md2-user-menu__link:focus { color: var(--md2-text); }
.md2-user-menu__logout:focus { color: var(--md2-red); }
.md2-user-menu__progress:focus, .md2-profilebar__link:focus { color: inherit; }
.md2-tabbar__item--active { color: var(--md2-white); background: var(--md2-red); border-radius: var(--md2-radius); margin: 5px 2px; min-height: 54px; } /* card 1c: active = red tile (one "you are here" metaphor with the desktop pillar, A4; R3-00314 B) */
.md2-tabbar__item--active .md2-badge { background: var(--md2-white); color: var(--md2-red); border-color: var(--md2-red); }
.md2-tabbar__item--active:hover { background: var(--md2-red); } /* hover must not undo the red tile (R3 r2 K9; same clause as the desktop pillar) */
.md2-menu__pillar--active > .md2-menu__pillar-link:focus-visible { box-shadow: inset 3px 0 0 var(--md2-red), var(--md2-focus); } /* keep the G1 focus ring together with the active inset bar (R3 r2 K10) */
.md2-tabbar__label { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.md2-tabbar__icon { margin: 0; }
.md2-tabbar__badge { position: absolute; top: 7px; left: 50%; margin-left: 6px; min-width: 17px; height: 17px; font-size: 10px; padding: 0 4px; border: 2px solid var(--md2-navy); box-sizing: content-box; }
.md2-tabbar__item--menu[aria-expanded="true"] { color: var(--md2-white); background: rgba(255, 255, 255, 0.07); }

/* ---- bottom sheet (mobile) + "Menu" site map (00314) ---- */
.md2-sheet { display: none; position: fixed; left: 0; top: 0; right: 0; bottom: 0; z-index: 75; } /* the sheet itself is the overlay (has a size -> visible for AT/tests); backdrop + panel are its children */
.md2-sheet__backdrop { position: absolute; left: 0; top: 0; right: 0; bottom: 0; background: rgba(0, 20, 40, 0.45); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); z-index: 0; }
.md2-sheet__panel {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	max-height: 88%;
	display: flex;
	flex-direction: column;
	background: var(--md2-white);
	border-radius: var(--md2-radius) var(--md2-radius) 0 0;
	box-shadow: var(--md2-shadow-pop);
}
.md2-sheet__handle { flex: 0 0 auto; width: 44px; height: 5px; margin: 10px auto 4px; border-radius: 99px; background: var(--md2-line-2); }
.md2-sheet__head { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; padding: 4px 16px 8px; border-bottom: 2px solid var(--md2-red); }
.md2-sheet__title { margin: 0; font-size: 18px; font-weight: 900; color: var(--md2-navy); }
.md2-sheet__close { display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--md2-radius); background: var(--md2-field); color: var(--md2-navy); }
.md2-sheet__body { flex: 1 1 auto; overflow-y: auto; padding: 8px 0 calc(16px + env(safe-area-inset-bottom, 0px)); -webkit-overflow-scrolling: touch; } /* iOS home indicator (R1 r4 N8) */
.md2-menu__pillar { border-bottom: 1px solid rgba(0, 51, 104, 0.08); }
.md2-menu__pillar-link { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 16px; color: var(--md2-navy); font-size: 15px; font-weight: 600; text-decoration: none; }
.md2-menu__pillar--active > .md2-menu__pillar-link { background: var(--md2-bg); box-shadow: inset 3px 0 0 var(--md2-red); font-weight: 900; }
.md2-menu__name { flex: 1 1 auto; min-width: 0; }
.md2-menu__here { font-size: 10px; font-weight: 900; letter-spacing: 0.06em; text-transform: uppercase; color: var(--md2-white); background: var(--md2-red); border-radius: var(--md2-radius); padding: 3px 7px; }
.md2-menu__pct { font-size: 12px; font-weight: 700; color: var(--md2-navy); }
.md2-menu__progress { display: block; height: 6px; margin: 0 16px 4px; width: auto; }
.md2-menu__sub { list-style: none; margin: 0; padding: 0 16px 12px; }
.md2-menu__sub-item { margin: 0; }
.md2-menu__sub-link { display: flex; align-items: center; gap: 10px; min-height: 44px; font-size: 14px; color: var(--md2-text-2); text-decoration: none; } /* card 1c: label, then status/check inline */
.md2-menu__sub-link > span:first-child { flex: 0 1 auto; min-width: 0; }
.md2-menu__sub-item--active .md2-menu__sub-link { color: var(--md2-navy); font-weight: 900; }
.md2-menu__done { color: var(--md2-navy); } /* card 1c: navy check */
.md2-menu__status { font-size: 12px; font-weight: 600; color: var(--md2-text-2); white-space: nowrap; }
.md2-menu__status--todo { color: var(--md2-red); } /* card 1c: "do wypelnienia" in red */
.md2-menu__pillar--account .md2-menu__status { color: var(--md2-text-2); }
.md2-sheet a:hover, .md2-sheet a:focus { text-decoration: none; }
.md2-menu__pillar-link:hover { background: var(--md2-bg); color: var(--md2-navy); }
.md2-menu__sub-link:hover { color: var(--md2-navy); }
.md2-menu__logout { display: flex; align-items: center; justify-content: center; min-height: 48px; margin: 12px 16px 0; border-radius: var(--md2-radius); background: var(--md2-red); color: var(--md2-white); font-size: 14px; font-weight: 600; text-decoration: none; }
.md2-menu__logout:hover, .md2-menu__logout:focus { color: var(--md2-white); background: rgba(173, 0, 0, 0.88); }


/* ---- breakpoints (G2): 576 / 768 / 1024 / 1380 ---- */
@media (max-width: 1023.98px) {
	.md2-tagline { display: none; }
	/* 00314: mobile anatomy (A5) below the theme lg breakpoint - tab bar + "Menu" sheet instead of the pillar bar and the title strip */
	body.md2-body { padding-bottom: calc(var(--md2-tabbar-h) + env(safe-area-inset-bottom, 0px)); }   /* reserve under the tab bar incl. the iOS home indicator (R1 r4 N8) */
	body.md2-body:not(.md2-logged) { padding-bottom: 0; }   /* guests have no tab bar (00317 R3 K) */
	.md2-legacy .md2-login .md2-field__control, .md2-legacy .md2-pass .md2-field__control { min-height: 48px; }   /* R3-00317 r2 N2: canvas 48 px (legacy-bridge.css:39 = 44 px for sandbox inputs) */
	html { scroll-padding-bottom: calc(var(--md2-tabbar-h) + env(safe-area-inset-bottom, 0px)); } /* scrollIntoView / anchors / focus never land under the fixed tab bar (00315: footer hit test at 64 px) */
	.md2-tabbar { display: flex; }
	.md2-pagehead { display: none; } /* the page title is the h1 of the content (mockup 2d) */
	.md2-nav { display: none; }
	.md2-nav__link { padding: 0 14px; font-size: 14px; }
	.md2-subnav__link { padding: 0 12px; font-size: 14px; }
	.md2-header__notch { right: var(--md2-gutter); }
}
@media (max-width: 767.98px) {
	.md2-header__row { min-height: 56px; gap: 10px; } /* mockup mobile: top bar 56 px */
	.md2-logo img { height: 30px; }
	.md2-user { gap: 10px; }
	.md2-user__label { display: none; }
	.md2-user__code { font-size: 12px; max-width: 40vw; }
	.md2-user-menu__toggle { min-height: 48px; min-width: 48px; padding: 4px; justify-content: center; position: relative; z-index: 90; } /* R3 r2 B2: the toggle stays above the scrim - native <details> close by touch, also without JS */
	.md2-user-menu__caret { display: none; }
	.md2-avatar { width: 38px; height: 38px; }
	.md2-avatar__initials { width: 31px; height: 31px; font-size: 11px; }
	.md2-header__hr { height: 2px; }
	.md2-header__notch { display: none; }
	/* user menu = bottom sheet (mockup 1a/2d) */
	/* R3 r2 B2: the scrim is a real <button> (mockup: "Zamknij" over the whole backdrop), not a pseudo-element that swallowed the taps */
	.md2-user-menu[open] .md2-user-menu__scrim { display: block; position: fixed; left: 0; top: 0; right: 0; bottom: 0; width: auto; height: auto; margin: 0; padding: 0; border: 0; border-radius: 0; background: rgba(0, 20, 40, 0.45); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); z-index: 75; cursor: pointer; -webkit-appearance: none; appearance: none; }
	.md2-user-menu__panel {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		top: auto;
		width: auto;
		max-height: 78%;
		overflow-y: auto;
		border-radius: var(--md2-radius) var(--md2-radius) 0 0;
		border-width: 1px 0 0;
		z-index: 80;
		padding-bottom: calc(var(--md2-tabbar-h) + env(safe-area-inset-bottom, 0px)); /* R3-00313 B1 fallback: last item ("Wyloguj") never under the fixed tab bar; + iOS home indicator (R1 r4 N8) */
	}
	/* R3-00313 B1: the tab bar disappears while the user-menu sheet is open (mockup rule for bottom sheets); :has() + JS body class */
	body.md2-sheet-open .md2-tabbar { display: none; }
	body.md2-sheet-open .md2-user-menu__panel { padding-bottom: 0; }
	body:has(.md2-user-menu[open]) .md2-tabbar { display: none; } /* separate rule: a browser without :has() drops only this one (R1 r2 N2) */
	body:has(.md2-user-menu[open]) .md2-user-menu__panel { padding-bottom: 0; }
	.md2-user-menu__handle { display: block; width: 44px; height: 5px; margin: 10px auto 4px; border-radius: 99px; background: var(--md2-line-2); }
	.md2-user-menu__head { margin: 10px 14px; border-radius: var(--md2-radius); padding: 12px 14px; }
	.md2-user-menu__link { min-height: 48px; padding: 0 20px; font-size: 14.5px; }
	/* F7 R2-01 (19.09.2026): 44 px hit areas in the user-menu sheet - the row link fills the 48 px row, the small button and the progress link get an invisible ::after extension; look unchanged */
	.md2-user-menu__rowlink { align-self: stretch; }
	.md2-user-menu__row .md2-btn--sm, a.md2-user-menu__progress { position: relative; }
	.md2-user-menu__row .md2-btn--sm::after { content: ""; position: absolute; left: -4px; right: -4px; top: -10px; bottom: -10px; }
	a.md2-user-menu__progress::after { content: ""; position: absolute; left: 0; right: 0; top: -8px; bottom: -8px; }
	.md2-user-menu__contact { padding: 12px 20px; font-size: 12px; }
	.md2-user-menu__logout { justify-content: center; min-height: 52px; margin: 0 14px 18px; border: 1px solid rgba(173, 0, 0, 0.35); border-radius: var(--md2-radius); font-size: 14.5px; }
	/* L2 mobile = native select 48 px (owner 02.09); without JS the select cannot navigate -> the list stays (progressive enhancement) */
	.md2-js .md2-subnav__list { display: none; }
	.md2-js .md2-subnav__mobile { display: block; }
	.md2-path__row { min-height: 44px; padding-top: 4px; padding-bottom: 4px; }
	/* Keep the label and linked progress track within narrow mobile headers. */
	.md2-profilebar { max-width: 100%; flex-wrap: wrap; }
	.md2-profilebar .md2-progress { width: 120px; }
	.md2-legacy { padding: 0; background: transparent; border: 0; border-radius: 0; } /* 00315: mobile sandbox without the F0 card (its 16 px padding squeezed legacy tables of 350 px; D26) */
	.md2-main > .md2-container > .md2-legacy { margin-left: calc(15px - var(--md2-gutter)); margin-right: calc(15px - var(--md2-gutter)); } /* 00315: legacy content width on mobile = 360 px (BS3 .container 15 px), not 342 px (2.0 gutter 24 px) */
	.md2-legacy.md2-legacy--path { padding: 0; background: transparent; border: 0; border-radius: 0; } /* breadcrumb is not a card on mobile (R3 r2 N2) */
	.md2-main { padding-top: var(--md2-space-2); }
	.md2-footer__copy { margin-left: 0; }
	.md2-footer__link { min-height: 48px; } /* one mobile target size (R3 r4 N8) */
}
@media (max-width: 575.98px) {
	.md2-user__code { max-width: 36vw; }
}
@media (min-width: 768px) {
	.md2-js .md2-user-menu__panel { display: block; }
}
@media (min-width: 1200px) {
	/* S1: legacy pages are built for a 1200 px BS3 container (p=53: 3 x 383 px tiles) - the sandbox takes the chrome gutter back */
	.md2-main > .md2-container > .md2-legacy { margin-left: calc(-1 * var(--md2-gutter)); margin-right: calc(-1 * var(--md2-gutter)); }
}
@media (min-width: 1380px) {
	.md2-container, .md2-nav__list { max-width: var(--md2-container); }
}

@media (max-width: 1023.98px) {
	.md2-sheet:target, .md2-sheet--open { display: block; }
	/* the tab bar disappears while a sheet is open (mockup rule); two rules so a browser without :target-sibling support keeps the JS one */
	.md2-sheet:target ~ .md2-tabbar { display: none; }
	body.md2-sheet-open .md2-tabbar { display: none; }
	body.md2-sheet-open { overflow: hidden; }
	.md2-menu__status.md2-mono { font-weight: 700; } /* Space Mono 700 for the % (G2) */
}

/* ---- icons (00307): sprite symbols, currentColor ---- */
.md2-icon { display: inline-block; vertical-align: middle; fill: none; flex: 0 0 auto; }
/* G04: photo placeholders + blur overlay (no bitmaps) */
.md2-ph { display: block; width: 100%; height: auto; border-radius: var(--md2-radius); background: var(--md2-field); }
.md2-blur { position: relative; overflow: hidden; border-radius: var(--md2-radius); }
.md2-blur > img { filter: blur(8px); transform: scale(1.06); }
.md2-blur__lock { position: absolute; left: 50%; top: 50%; width: 40px; height: 40px; margin: -20px 0 0 -20px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255, 255, 255, 0.9); color: var(--md2-navy); }

/* ---- V01 pulpit (00316): boxes (L3 md2_box), onboarding bar C04, counter cards, offers table, C01 mini cards, alerts,
   banner G07, D25 subscription card, empty state C08, M06 confirm modal (minimal - 00318 extends). Tokens only. ---- */
.md2-pulpit { font-family: var(--md2-font); color: var(--md2-text); }
/* no global `.md2-pulpit a` colour (R3-00316 r1 BLOCK: 0,1,1 beat the component link colours - danger button, counters, CTA) */
.md2-box { font-family: var(--md2-font); display: block; margin: 0 0 var(--md2-space-2); background: var(--md2-white); border: 1px solid var(--md2-line-3); border-radius: var(--md2-radius); box-shadow: var(--md2-shadow); }
.md2-box__head { display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 8px 16px 8px 20px; }
.md2-box__title { display: flex; align-items: center; gap: 12px; margin: 0; font-family: var(--md2-font); font-size: 18px; font-weight: 900; line-height: 1.2; color: var(--md2-navy); }
.md2-box__icon { flex: 0 0 auto; width: 28px; height: 28px; padding: 5px; border-radius: 4px; background: var(--md2-navy); color: var(--md2-white); }
.md2-box__actions { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.md2-box__body { padding: 0 20px 20px; }
.md2-box--collapsible > .md2-box__head { cursor: pointer; list-style: none; }
.md2-box--collapsible > .md2-box__head::-webkit-details-marker { display: none; }
.md2-box--collapsible > .md2-box__head::marker { content: ""; }
.md2-box__toggle { margin-left: auto; display: inline-flex; align-items: center; gap: 5px; min-height: 44px; font-size: 12px; font-weight: 600; color: var(--md2-text-2); white-space: nowrap; }
.md2-box__actions + .md2-box__toggle { margin-left: 0; }
.md2-box__toggle::after { content: ""; width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-bottom: 5px solid currentColor; }
.md2-box--collapsible:not([open]) > .md2-box__head .md2-box__toggle::after { border-bottom: 0; border-top: 5px solid currentColor; }
.md2-box--collapsible:not([open]) .md2-box__toggle-open, .md2-box--collapsible[open] .md2-box__toggle-closed { display: none; }
.md2-box__sub { margin: var(--md2-space-2) 0 10px; font-family: var(--md2-font); font-size: 14px; font-weight: 600; color: var(--md2-navy); }
.md2-box__sub a { color: inherit; }
.md2-box__sub--hr { border-top: 1px dashed var(--md2-line-3); padding-top: var(--md2-space-2); }
.md2-box__more-wrap { margin: 8px 0 0; text-align: right; }
.md2-box__more { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; font-size: 13px; font-weight: 600; color: var(--md2-navy); text-decoration: underline; }
/* empty state C08 */
.md2-empty { font-family: var(--md2-font); padding: 14px 16px; border: 1px dashed var(--md2-line-3); border-radius: var(--md2-radius); color: var(--md2-text-2); font-size: 14px; } /* R3-00324 r2 K13: text was --md2-muted-2 (1.7:1) */
.md2-empty__text { margin: 0; }
.md2-empty__hint { margin: 4px 0 0; font-size: 13px; }
.md2-empty__cta { margin-top: 10px; }
/* onboarding C04 */
.md2-onb { display: flex; align-items: center; gap: var(--md2-space-3); padding: 18px 20px; margin: 0 0 var(--md2-space-2); background: var(--md2-white); border: 1px solid var(--md2-line-3); border-radius: var(--md2-radius); box-shadow: var(--md2-shadow); }
.md2-onb__main { flex: 1 1 auto; min-width: 0; }
.md2-onb__text { margin: 0 0 10px; font-size: 14px; font-weight: 600; color: var(--md2-navy); }
.md2-onb__pct { font-size: 24px; font-weight: 700; color: var(--md2-green-2); margin-left: 6px; }
.md2-onb__bar { display: flex; gap: 4px; }
.md2-onb__seg { height: 10px; border-radius: 99px; background: var(--md2-line-3); }
.md2-onb__seg--done { background: var(--md2-green); }
.md2-onb__action { flex: 0 0 auto; }
/* alerts (legacy criteria notices): palette tokens only - the canvas beige/orange banner is off-palette (D34) */
.md2-alert { margin: 0 0 var(--md2-space-2); padding: 12px 16px; background: var(--md2-white); border: 1px solid var(--md2-line-3); border-left: 4px solid var(--md2-red); border-radius: var(--md2-radius); font-size: 14px; line-height: 1.5; color: var(--md2-text); }
.md2-alert p { margin: 0; }
.md2-alert p + p { margin-top: 4px; }
.md2-alert__title { font-weight: 600; color: var(--md2-navy); }
.md2-alert a { color: var(--md2-red); font-weight: 600; text-decoration: underline; }
.md2-alert__body [style*="color:white"], .md2-alert__body [style*="color: white"], .md2-alert__body [style*="color:#fff"], .md2-alert__body [style*="color: #fff"], .md2-alert__body [style*="color:#FFF"], .md2-alert__body [style*="color:#ffffff"], .md2-alert__body [style*="color:#FFFFFF"] { color: var(--md2-red) !important; text-decoration: underline; }   /* R1-00317 r3 N1: browsers without the `i` flag (IE11 / Safari <= 8) keep the fallback - a separate rule on purpose */
.md2-alert__body [style*="color:white" i], .md2-alert__body [style*="color: white" i], .md2-alert__body [style*="color:#fff" i], .md2-alert__body [style*="color: #fff" i] { color: var(--md2-red) !important; text-decoration: underline; }   /* R3-00317 B1: legacy CMS/inline white text (message=10, page 5853) on the white banner - !important is the only way over an inline style */
/* banner G07 */
.md2-banner { margin: 0 0 var(--md2-space-2); text-align: center; }
.md2-banner__img { width: 100%; max-width: 1170px; height: auto; border-radius: var(--md2-radius); }
/* D25 subscription card (canary without a subscription) */
.md2-abo > .md2-box__body { display: flex; align-items: center; gap: var(--md2-space-3); padding-top: 20px; }
.md2-abo__main { flex: 1 1 auto; min-width: 0; }
.md2-abo__lead { margin: 0 0 8px; font-size: 14px; font-weight: 600; color: var(--md2-navy); }
.md2-abo__offer { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; font-size: 14px; }
.md2-abo__months { font-size: 22px; font-weight: 700; color: var(--md2-navy); }
.md2-abo__name { font-weight: 600; }
.md2-abo__premium { color: var(--md2-red); }
.md2-abo__amount { font-size: 22px; font-weight: 700; color: var(--md2-red); }
.md2-abo__old { color: var(--md2-muted-2); }
.md2-abo__monthly { color: var(--md2-text-2); }
.md2-abo__action { flex: 0 0 auto; }
/* counter cards (Poczta) */
.md2-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--md2-space-2); padding-top: 4px; }
.md2-stat { border: 1px solid var(--md2-line-3); border-top: 3px solid var(--md2-muted-2); border-radius: var(--md2-radius); padding: 12px 14px 6px; background: var(--md2-white); }
.md2-stat--danger { border-top-color: var(--md2-red); }
.md2-stat--info { border-top-color: var(--md2-navy); }
.md2-stat__title { margin: 0 0 6px; font-family: var(--md2-font); font-size: 13px; font-weight: 600; color: var(--md2-text-2); }
.md2-stat--danger .md2-stat__title { color: var(--md2-red); }
.md2-stat--info .md2-stat__title { color: var(--md2-navy); }
.md2-stat__rows { list-style: none; margin: 0; padding: 0; }
.md2-stat__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 36px; margin: 0; border-top: 1px solid var(--md2-bg); }
.md2-stat__label { flex: 1 1 auto; font-size: 14px; color: var(--md2-text); text-decoration: none; }
.md2-stat__label a { color: var(--md2-text); text-decoration: none; }
a.md2-stat__label:hover, a.md2-stat__label:focus, .md2-stat__label a:hover, .md2-stat__label a:focus { color: var(--md2-navy); text-decoration: underline; }
.md2-stat__value, a.md2-stat__value, a.md2-stat__value:hover, a.md2-stat__value:focus { font-size: 22px; font-weight: 700; color: var(--md2-red); text-decoration: none; }
.md2-stat__value a { color: inherit; text-decoration: none; }
.md2-stat__value--zero, a.md2-stat__value--zero, a.md2-stat__value--zero:hover, a.md2-stat__value--zero:focus, .md2-stat__value--zero a { color: var(--md2-muted-2); }
/* offers table */
.md2-otable, .md2-legacy table.md2-otable { width: 100%; max-width: 760px; border-collapse: separate; border-spacing: 0; border: 1px solid var(--md2-line-3); border-radius: var(--md2-radius); overflow: hidden; font-family: var(--md2-font); }
.md2-otable th { background: var(--md2-navy); color: var(--md2-white); font-size: 13px; font-weight: 600; text-align: left; padding: 10px 14px; }
.md2-otable th.md2-otable__th-all, .md2-otable th.md2-otable__th-new { text-align: center; width: 96px; }
.md2-otable th.md2-otable__th-new { background: var(--md2-red); }
.md2-otable td { padding: 0; border-top: 1px solid var(--md2-bg); font-size: 14px; }
.md2-otable td a { display: block; padding: 9px 14px; color: var(--md2-navy); text-decoration: none; font-weight: 600; min-height: 36px; }
.md2-otable td.md2-otable__num { text-align: center; }
.md2-otable td.md2-otable__num a { font-family: var(--md2-font-mono); font-weight: 700; }
.md2-otable td.md2-otable__num a.md2-otable__zero { color: var(--md2-muted-2); font-weight: 400; }
.md2-otable tr:nth-child(even) td { background: var(--md2-bg-2); }
/* C01 mini cards */
.md2-cards { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--md2-space-2); list-style: none; margin: 0; padding: 0; }
.md2-cards > li { list-style: none; margin: 0; padding: 0; }
.md2-card { position: relative; display: flex; flex-direction: column; height: 100%; box-sizing: border-box; background: var(--md2-white); border: 1px solid var(--md2-line-3); border-radius: var(--md2-radius); padding: 10px; }
.md2-card__login { margin: 0 0 8px; font-size: 13px; font-weight: 700; text-align: center; }
.md2-card__login a { color: var(--md2-navy); text-decoration: underline; }
.md2-card__photo { position: relative; display: flex; justify-content: center; min-height: 137px; background: url(../../images/svg/profile-picture.svg) center 48px / 40px 40px no-repeat; } /* 00386 H5 for C01 (R3 N3): the silhouette shows through a photo cell whose file is missing (0 B); a loaded photo covers it */
.md2-card__photo table { margin: 0 auto; }
.md2-card__photo td { border: 0; padding: 0; }
.md2-card__new { position: absolute; top: 6px; left: 6px; }
.md2-card__note { margin: 8px 0 0; font-size: 13px; color: var(--md2-text); text-align: center; }
.md2-card__info { margin: 8px 0 2px; min-height: 36px; font-size: 12.5px; line-height: 1.45; color: var(--md2-text); }
.md2-card__date { margin: 0; font-size: 10px; color: var(--md2-text-2); } /* F7 D6: was --md2-muted-2 (1.74:1 on white); --md2-text-2 = 5.6:1 */
.md2-card__actions { display: flex; justify-content: flex-end; gap: 4px; margin: auto 0 0; padding: 7px 0 0; border-top: 1px solid var(--md2-bg); list-style: none; }
.md2-card__actions li { margin: 0; list-style: none; }
.md2-card__actions a { display: grid; place-items: center; width: 36px; height: 36px; border-radius: var(--md2-radius); } /* 00389 D-F3-12 a: the cells of the regional strip (36 desktop / 44 mobile) */
.md2-card__actions img { display: block; }
.md2-card__actions a:hover { background: var(--md2-bg); }
.md2-cards .md2-card__actions { gap: 4px; }
.md2-cards .md2-card__actions .md2-offer__icon { position: relative; display: inline-flex; align-items: center; justify-content: center; color: var(--md2-navy); } /* 00389 D-F3-12: md2_card_icons() glyphs in the pulpit mini card */
.md2-cards .md2-card__actions .md2-icon, .md2-cards .md2-card__actions img { width: 20px; height: 20px; }
.md2-cards .md2-card__actions .md2-offer__heart-mark { position: absolute; right: -4px; bottom: -4px; font: 700 12px/14px var(--md2-font-mono); background: var(--md2-white); border-radius: 50%; }
@media (max-width: 767.98px) { .md2-cards .md2-card__actions { gap: 0; } .md2-cards .md2-card__actions a { width: 44px; height: 44px; } } /* D-F3-8 b = D-F3-12: 44 px cells on mobile */
/* M06 confirm modal (minimal, pattern H: desktop card 40 px from the top, mobile bottom-sheet) */
.md2-modal { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1100; display: flex; align-items: flex-start; justify-content: center; padding: 40px 16px; font-family: var(--md2-font); }
.md2-modal[hidden] { display: none; }
.md2-modal__backdrop { position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: var(--md2-navy); opacity: 0.55; }
.md2-modal__card { position: relative; width: 100%; max-width: 520px; background: var(--md2-white); border-radius: var(--md2-radius); box-shadow: var(--md2-shadow-pop); padding: 20px 24px 24px; }
.md2-modal--sm .md2-modal__card { max-width: 440px; }
.md2-modal__handle { display: none; }
.md2-modal__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.md2-modal__title { margin: 0; font-size: 18px; font-weight: 900; line-height: 1.3; color: var(--md2-navy); }
.md2-modal__close { flex: 0 0 auto; min-width: 44px; min-height: 44px; margin: -10px -12px 0 0; border: 0; background: transparent; font-size: 26px; line-height: 1; color: var(--md2-text-2); cursor: pointer; }
.md2-modal__body { margin-top: 8px; font-size: 14px; line-height: 1.5; color: var(--md2-text); }
.md2-modal__actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 16px; }
body.md2-modal-open { overflow: hidden; }
@media (max-width: 1023.98px) {
	.md2-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
	.md2-box__head { min-height: 52px; padding: 6px 12px 6px 14px; }
	.md2-box__title { font-size: 17px; }
	.md2-box__body { padding: 0 14px 14px; }
	.md2-onb { flex-direction: column; align-items: stretch; gap: 12px; padding: 14px 16px; }
	.md2-onb__text { display: flex; justify-content: space-between; align-items: baseline; }
	.md2-onb__cta { width: 100%; justify-content: center; min-height: 48px; }
	.md2-abo > .md2-box__body { flex-direction: column; align-items: stretch; gap: 12px; }
	.md2-abo__cta { width: 100%; justify-content: center; min-height: 48px; }
	.md2-stats { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.md2-stat { border-top-width: 1px; border-top-color: var(--md2-line-3); border-left: 4px solid var(--md2-muted-2); }
	.md2-stat--danger { border-left-color: var(--md2-red); }
	.md2-stat--info { border-left-color: var(--md2-navy); }
	.md2-stat__row { min-height: 44px; }
	.md2-stat__label, .md2-stat__value { display: flex; align-items: center; min-height: 44px; }
	.md2-card__actions a { width: 44px; height: 44px; }
	.md2-box__sub a { display: inline-flex; align-items: center; min-height: 44px; }
	.md2-box__more { min-height: 44px; padding: 0 4px; }
	.md2-alert a { display: inline-block; padding: 10px 0; }
	.md2-card__login a { display: inline-block; padding: 12px 6px; }
	.md2-otable { max-width: none; border: 0; border-radius: 0; overflow: visible; }
	.md2-otable, .md2-otable tbody, .md2-otable tr, .md2-otable th, .md2-otable td { display: block; }
	.md2-otable tr { display: flex; align-items: center; margin: 0 0 6px; background: var(--md2-white); border: 1px solid var(--md2-line-3); border-radius: var(--md2-radius); }
	.md2-otable tr:nth-child(even) td { background: transparent; }
	.md2-otable tr:first-child { border: 0; background: transparent; margin-bottom: 2px; }
	.md2-otable th.md2-otable__th-title { flex: 1 1 auto; background: transparent; color: var(--md2-text-2); text-transform: uppercase; letter-spacing: 0.04em; font-size: 12px; padding: 6px 0; }
	.md2-otable th.md2-otable__th-all, .md2-otable th.md2-otable__th-new { display: none; }
	.md2-otable td { border-top: 0; }
	.md2-otable td.md2-otable__label { flex: 1 1 auto; }
	.md2-otable td.md2-otable__num { flex: 0 0 auto; min-width: 44px; }
	.md2-otable td a { min-height: 44px; display: flex; align-items: center; padding: 9px 10px; }
	.md2-otable td.md2-otable__num a { justify-content: center; }
	.md2-otable tr:not(:first-child)::after { content: "\203A"; padding: 0 12px 0 4px; color: var(--md2-muted-2); font-size: 18px; }
	.md2-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.md2-modal { align-items: flex-end; padding: 0; }
	.md2-modal__card { max-width: none; border-radius: var(--md2-radius) var(--md2-radius) 0 0; padding-bottom: calc(20px + env(safe-area-inset-bottom)); }
	.md2-modal--sm .md2-modal__card { max-width: none; }
	/* MD2: M06 stays inside the device viewport even when legacy mail expands the page. */
	.md2-modal[id^="md2-confirm-"] { width: 100vw; max-width: 100vw; right: auto; }
	.md2-modal[id^="md2-confirm-"] .md2-modal__card { box-sizing: border-box; min-width: 0; max-width: 100%; }
	.md2-modal__handle { display: block; width: 40px; height: 4px; margin: 0 auto 12px; border-radius: 99px; background: var(--md2-line-3); }
	.md2-modal__actions { flex-direction: column-reverse; }
	.md2-modal__actions .md2-btn { width: 100%; justify-content: center; }
}

/* ---- V02 login / V03 password recovery (00317): guest chrome pages (index/login.php, index/password.php), alerts with tones
   (C10), stepper, login card on a navy canvas, recovery card. Tokens only. ---- */
/* alert tones (C10) - extends the 00316 .md2-alert (default = warn look: white card, red left bar) */
.md2-alert { display: flex; gap: 12px; align-items: flex-start; }
.md2-alert__icon { flex: 0 0 auto; margin-top: 1px; }
.md2-alert__body { flex: 1 1 auto; min-width: 0; }
.md2-alert--ok { border-left-color: var(--md2-green-2); }
.md2-alert--ok .md2-alert__body { color: var(--md2-green-dark); }
.md2-alert--err { border-left-color: var(--md2-red); }
.md2-alert--err .md2-alert__body { color: var(--md2-red); font-weight: 600; }
.md2-alert--info { border-left-color: var(--md2-navy); }
.md2-alert--warn { border-left-color: var(--md2-red); }
/* form field C09 (md2_field partial from 00306 - first styled here): label above, 48 px control, inline error */
.md2-field { display: block; margin: 0 0 12px; }
.md2-field__label { display: block; margin: 0 0 6px; font-family: var(--md2-font); font-size: 14px; font-weight: 600; color: var(--md2-navy); } /* 00387 A18: Albert Sans 700 is not loaded (400/600/900) - 700 rendered as 900 */
.md2-field__req { color: var(--md2-red); margin-left: 2px; }
.md2-field__control { display: block; width: 100%; min-height: 48px; padding: 10px 14px; box-sizing: border-box; font-family: var(--md2-font); font-size: 16px; color: var(--md2-text); background: var(--md2-white); border: 1px solid var(--md2-line-2); border-radius: var(--md2-radius); }
.md2-field__control:focus { outline: none; box-shadow: var(--md2-focus); border-color: var(--md2-navy); }
@media (forced-colors: active) { .md2-field__control:focus { outline: 2px solid CanvasText; outline-offset: 1px; } }   /* R1-00317 r2 N5: box-shadow is dropped in forced-colors mode */   /* R3-00317 B3: --md2-focus is a box-shadow triple (G1 green ring, visible on white and navy) */
.md2-field__control::placeholder { color: var(--md2-muted); }
.md2-field__hint { margin: 6px 0 0; font-size: 13px; color: var(--md2-text-2); }
.md2-field__error { display: flex; align-items: flex-start; gap: 6px; margin: 6px 0 0; font-size: 13px; font-weight: 600; color: var(--md2-red); } /* 00386 H10: cross.svg (theme/images/svg) before the inline error as a CSS mask in currentColor - the errors made by panel.js / panel-poczta.js get it too (R3-00379 N7; canon: bramka D pkt 8) */
.md2-field__error[hidden] { display: none; }
.md2-field__error::before { content: ""; flex: 0 0 16px; width: 16px; height: 16px; margin-top: 1px; background-color: currentColor; -webkit-mask: url(../../images/svg/cross.svg) center / 12px 12px no-repeat; mask: url(../../images/svg/cross.svg) center / 12px 12px no-repeat; }
.md2-field--error .md2-field__control, .md2-field__control[aria-invalid="true"] { border-color: var(--md2-red); }
/* guest pages: no L1/L2 (nav.php returns for guests), the legacy sandbox keeps the CMS text */
.md2-body:not(.md2-logged) .md2-main { padding-top: 24px; }
/* guest pages: the legacy h1.head4 (start_70/85/59 print the CMS name) moves into the 2.0 card title ($_name_, verbatim) */
.md2-body:not(.md2-logged) #md2-legacy h1:not(.md2-pass__title):not(.md2-login__title) { display: none; }
.md2-tpl-70 .md2-user__login { display: none; }   /* the login page does not advertise itself (canvas V02) */
/* V02 login: navy canvas, centered card 432 px */
.md2-tpl-70 .md2-main { background: var(--md2-navy); padding: 0; }
.md2-tpl-70 .md2-main > .md2-container { max-width: none; }
.md2-tpl-70 .md2-legacy { margin: 0; padding: 0; background: transparent; overflow: visible; }
/* template 70 wrappers (start_70.php: #div_rejestracja > .container > .row + h1.head4 with the CMS name) - neutralised, the
   2.0 card carries the title; BS3 .row negative margins would overflow the 390 px viewport (R-00317 mobile) */
.md2-tpl-70 .md2-legacy #div_rejestracja, .md2-tpl-70 .md2-legacy .container, .md2-tpl-70 .md2-legacy .row { margin: 0; padding: 0; width: auto; max-width: none; }
.md2-tpl-70 .md2-legacy .row::before, .md2-tpl-70 .md2-legacy .row::after { display: none; }
.md2-tpl-70 .md2-legacy h1.head4, .md2-tpl-70 .md2-legacy > br, .md2-login__card > br, .md2-tpl-70 .md2-legacy .flash_img_ph { display: none; }   /* R3/R1-00317 r2 B4: only the legacy <BR> before the form - the <br> inside message texts (message=1/10) must stay */
body.md2-tpl-70 { min-height: 100vh; display: flex; flex-direction: column; }
.md2-tpl-70 .md2-main { flex: 1 0 auto; }
.md2-login { display: flex; flex-direction: column; align-items: center; padding: 96px 16px 120px; color: var(--md2-white); }
.md2-login .md2-alert { width: 100%; max-width: 432px; margin-bottom: 20px; }
.md2-login, .md2-pass, .md2-stepper, .md2-alert, .md2-field { font-family: var(--md2-font); }   /* G2: 2.0 components inside the legacy sandbox (Helvetica) keep Albert Sans */
.md2-login__card { width: 100%; max-width: 432px; display: flex; flex-direction: column; gap: 16px; }
.md2-login__card > form { display: flex; flex-direction: column; gap: 12px; }   /* R3-00317 r2 K1: the controls live inside the legacy <form> */
.md2-login__title { margin: 0 0 12px; font-family: var(--md2-font); font-size: 32px; font-weight: 900; line-height: 1.2; text-align: center; color: var(--md2-white); }
.md2-login__fb, a.md2-login__fb, a.md2-login__fb:hover, a.md2-login__fb:focus { display: flex; justify-content: center; width: 100%; min-height: 48px; background: var(--md2-navy); border: 1px solid var(--md2-line-2); color: var(--md2-white); font-weight: 700; text-decoration: none; }
.md2-login__or { margin: 2px 0; text-align: center; font-size: 14px; line-height: 1.4; color: var(--md2-white); }
.md2-login__field { position: relative; }
.md2-login__field .md2-field__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.md2-login__ico { position: absolute; left: 14px; top: 14px; width: 20px; height: 20px; color: var(--md2-muted); pointer-events: none; z-index: 1; }
.md2-login__field .md2-field__control, .md2-login__field input { width: 100%; min-height: 48px; padding-left: 44px; background: var(--md2-white); border-radius: var(--md2-radius); font-size: 16px; }
.md2-login__field .md2-field__error { color: var(--md2-white); background: var(--md2-red); border-radius: var(--md2-radius); padding: 6px 10px; margin-top: 6px; font-size: 13px; font-weight: 600; }
.md2-login__forgot { margin: 0; text-align: right; }
.md2-login__forgot a, .md2-login__forgot a:hover, .md2-login__forgot a:focus { color: var(--md2-white); font-size: 13px; font-weight: 700; text-decoration: underline; display: inline-block; padding: 13px 0; line-height: 1.4; }   /* 44.2 px target (R1/R3 r2 N2) */
.md2-login__submit, button.md2-login__submit { width: 100%; min-height: 48px; font-size: 16px; font-weight: 700; }
.md2-login .md2-btn, .md2-pass .md2-btn { font-size: 16px; }   /* fields and buttons >= 16 px on the guest pages (canon: mobile fields >= 16 px) */
.md2-login__register { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 12px; font-size: 14px; }
.md2-login__register-btn, a.md2-login__register-btn, a.md2-login__register-btn:hover, a.md2-login__register-btn:focus { min-height: 48px; font-weight: 700; color: var(--md2-white); text-decoration: none; }
/* V03 password recovery: stepper + card 720 px on the light ground */
.md2-pass { max-width: 720px; margin: 0; padding: 24px 0 64px; }   /* left-aligned like the canvas and legacy (R3 K) */
.md2-stepper { display: flex; align-items: center; gap: 8px; list-style: none; margin: 0 0 24px; padding: 0; flex-wrap: wrap; }
.md2-stepper__step { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--md2-text-2); }
.md2-stepper__num { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--md2-bg-3); color: var(--md2-muted); font-size: 13px; font-weight: 700; }
.md2-stepper__step--active { color: var(--md2-navy); }
.md2-stepper__step--active .md2-stepper__num { background: var(--md2-navy); color: var(--md2-white); }
.md2-stepper__step--done .md2-stepper__num { background: var(--md2-green); color: var(--md2-white); }
.md2-stepper__line { display: inline-block; width: 40px; height: 1px; background: var(--md2-line-2); margin-left: 8px; }
.md2-pass__card { background: var(--md2-white); border: 1px solid var(--md2-line-3); border-radius: var(--md2-radius); box-shadow: var(--md2-shadow); padding: 28px 32px 32px; }
.md2-pass__title { margin: 0 0 12px; font-family: var(--md2-font); font-size: 28px; font-weight: 900; line-height: 1.2; color: var(--md2-navy); }
.md2-pass__intro, .md2-pass__card .md2-legacy--cms { font-size: 15px; line-height: 1.5; color: var(--md2-text); }
.md2-pass__intro p, .md2-pass__card p { margin: 0 0 12px; }
.md2-pass__form { margin-top: 20px; }
.md2-pass__form .md2-field { margin-bottom: 12px; }
.md2-pass__submit, button.md2-pass__submit { width: 100%; min-height: 48px; font-size: 16px; font-weight: 700; }
.md2-pass__hr { border: 0; border-top: 1px solid var(--md2-line-3); margin: 24px 0 16px; }
.md2-pass__help { margin: 0 0 8px; font-size: 14px; color: var(--md2-text-2); }
.md2-pass__help a { color: var(--md2-navy); font-weight: 700; text-decoration: underline; display: inline-block; padding: 13px 0; line-height: 1.4; }   /* 45.6 px target (R1/R3 r2 N2) without the 44 px line-height gap */
@media (max-width: 767.98px) {
	.md2-login { padding: 40px 20px 80px; }
	.md2-login__title { font-size: 24px; }
	.md2-login__register { flex-direction: column; text-align: center; }
	.md2-login__register-btn { min-width: 160px; }
	.md2-pass { padding: 16px 0 48px; }
	.md2-pass__card { padding: 20px 16px 24px; }
	.md2-pass__title { font-size: 22px; }
	.md2-stepper__label { display: none; }
	.md2-stepper__step--active .md2-stepper__label { display: inline; }
	.md2-stepper__line { width: 16px; }
}

/* ---- C09 toast (M05 success after PRG) + M07 loader (00318); tones as md2_toast(): success | error | info | warning ---- */
.md2-toasts { position: fixed; right: 24px; bottom: 24px; z-index: 1200; display: flex; flex-direction: column; gap: 8px; width: 480px; max-width: calc(100% - 32px); pointer-events: none; }   /* R3-00318 K1: bottom-right on desktop (canvas 1a), centred on mobile */
.md2-toast { display: flex; align-items: flex-start; gap: 12px; padding: 12px 8px 12px 16px; background: var(--md2-white); color: var(--md2-navy); border-left: 4px solid var(--md2-green);   /* R3-00318 K3: white card like the status bar (canvas 1a) */ border-radius: var(--md2-radius); box-shadow: var(--md2-shadow-pop); font-family: var(--md2-font); font-size: 14px; line-height: 1.4; opacity: 1; transition: opacity .3s, transform .3s; pointer-events: auto; }
.md2-toast--success { border-left-color: var(--md2-green); }
.md2-toast--error { border-left-color: var(--md2-red); }
.md2-toast--info, .md2-toast--warning { border-left-color: var(--md2-navy); }
.md2-toast--hide { opacity: 0; transform: translateY(8px); }
.md2-toast__icon { flex: 0 0 auto; width: 8px; height: 8px; margin-top: 6px; border-radius: 50%; background: var(--md2-green); }
.md2-toast--error .md2-toast__icon { background: var(--md2-red); }
.md2-toast--info .md2-toast__icon, .md2-toast--warning .md2-toast__icon { background: var(--md2-navy); }
.md2-toast__text { flex: 1 1 auto; padding-top: 2px; }
.md2-toast__text a { color: var(--md2-navy); text-decoration: underline; }
.md2-toast__close { flex: 0 0 auto; min-width: 44px; min-height: 44px; margin: -12px 0 -12px 0; border: 0; background: transparent; color: var(--md2-navy); font-size: 22px; line-height: 1; cursor: pointer; }
.md2-toast__close:focus { outline: none; box-shadow: var(--md2-focus); border-radius: var(--md2-radius); }
.md2-modal__actions .md2-btn:focus { outline: none; box-shadow: var(--md2-focus); }   /* R3-00318 r2 N3: the token ring, not the browser default, on the modal buttons */
.md2-legacy .md2-status { margin: 0 0 16px; }
.md2-legacy .md2-status [style*="color:#ff0"], .md2-legacy .md2-status [style*="color:#FF0"], .md2-legacy .md2-status [style*="color:red"], .md2-legacy .md2-status [style*="color: red"] { color: var(--md2-red) !important; }   /* R3-00318 K6: inline CMS red (hex ff0000, 4.0:1) -> token (7.56:1), like 00317 B1; fallback rule without the `i` flag */
.md2-legacy .md2-status [style*="color:#ff0" i], .md2-legacy .md2-status [style*="color:red" i], .md2-legacy .md2-status [style*="color: red" i] { color: var(--md2-red) !important; }   /* prefix #ff0 = the ff0000 / ff0033 reds of the CMS markup; no 6-hex literal (00305 T8 palette scan) */
.md2-legacy .md2-status font[color^="#ff0"], .md2-legacy .md2-status font[color^="#FF0"], .md2-legacy .md2-status font[color^="#ff0" i], .md2-legacy .md2-status font[color="red"] { color: var(--md2-red) !important; }   /* R1-00318 r2 K4: the CMS 699/700 markup of p=6 uses <FONT color=red-ish hex ff0000 / ff0033> (4.0:1) -> token (7.56:1) */
.md2-loading { position: relative; pointer-events: none; opacity: .6; }
.md2-loading::after { content: ""; position: absolute; left: 50%; top: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px; border: 2px solid var(--md2-line-2); border-top-color: var(--md2-navy); border-radius: 50%; animation: md2-spin .8s linear infinite; }
@keyframes md2-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .md2-toast { transition: none; } .md2-loading::after { animation: none; border-style: dashed; } }   /* R3-00318: no spin under reduced motion */
@media (max-width: 767.98px) { .md2-toasts { left: 50%; right: auto; transform: translateX(-50%); bottom: calc(var(--md2-tabbar-h) + 12px); } body.md2-body:not(.md2-logged) .md2-toasts { bottom: 12px; } }

/* ---- consent panel of production on 2.0 pages (MD2: 00406, R3-1) ---- */
/* _css/consent.css of master anchors #md-consent-panel at bottom:8px - on a phone that covers 56 of the 64 px of our tab bar (88 %),
   and below 1024 px the panel footer is hidden, so the tab bar is the only navigation. The retired 2.0 bar solved this for itself
   (bottom: var(--md2-tabbar-h)); the production panel knows nothing about our chrome, so we lift it here - only on 2.0 pages of a
   logged-in user, only below the tab-bar breakpoint. Nothing in master and nothing of task 00401 is touched. */
@media (max-width: 1023.98px) {
	body.md2-body.md2-logged #md-consent-panel { bottom: calc(var(--md2-tabbar-h) + env(safe-area-inset-bottom, 0px) + 8px); }
}

/* ---- M04 CMS modal (00319) ---- */   /* MD2: 00406 - the M01 consent bar was retired; the site uses the production panel (_css/consent.css) */
.md2-footer__cookies { color: var(--md2-white); text-decoration: underline; display: inline-block; padding: 12px 0; }
#md2-modal-cms .md2-modal__body { min-height: 120px; max-height: calc(100vh - 240px); overflow-y: auto; }
#md2-modal-cms .md2-cms__content { padding: 0; margin: 0; background: transparent; border: 0; box-shadow: none; }   /* the CMS text, not the F0 sandbox card */
#md2-modal-cms .md2-cms__content img { max-width: 100%; height: auto; }
#md2-modal-cms .md2-cms__content p[align="justify"], #md2-modal-cms .md2-cms__content [align="justify"] { text-align: left; }   /* canon: left-aligned text (R3 K) */   /* long CMS pages scroll inside the card (the page scroll is locked while a modal is open) */
@media (max-width: 767.98px) { #md2-modal-cms .md2-modal__body { max-height: 55vh; } }

/* ---- M02 session toast + M03 login modal (00320) ---- */
.md2-toast--session .md2-toast__text { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.md2-session__extend { flex: 0 0 auto; min-height: 44px; }   /* 44 px target on mobile */
.md2-session__text { display: flex; flex-direction: column; gap: 2px; flex: 1 1 160px; }
.md2-session__title { font-weight: 700; color: var(--md2-navy); }
.md2-session__sub { font-size: 12px; color: var(--md2-muted); }   /* canvas 7e: 12 px subtext */
.md2-login-modal__form { display: flex; flex-direction: column; gap: 12px; }
.md2-login-modal__submit { margin: 4px 0 0; }
.md2-login-modal__submit .md2-btn { width: 100%; }
.md2-login-modal__fb, .md2-login-modal__register { margin: 8px 0 0; font-size: 14px; text-align: center; }
.md2-login-modal__fb a, .md2-login-modal__register a { color: var(--md2-navy); font-weight: 700; text-decoration: underline; display: inline-block; min-height: 44px; line-height: 20px; padding: 12px 0; }

/* ---- M08-M11 auto-popups in #md2-modal-auto (00321): the legacy fragments (.white-popup-block2 markup) inside the sandbox ---- */
#md2-modal-auto.md2-modal--lg .md2-modal__card { max-width: 760px; }   /* M08 (slider of profile cards) + M10 (consent text) get the wide card - class set by panel.js; M09/M11 keep the default 520 px (R3-00321 K1); scoped: M04 keeps 520 px (R1-00321 C3) */
#md2-modal-auto .md2-modal__body { max-height: calc(100vh - 240px); overflow-y: auto; }
#md2-modal-auto .md2-auto__content { padding: 0; margin: 0; background: transparent; border: 0; box-shadow: none; }
#md2-modal-auto .md2-auto__content .box_wysz_wiecej img { display: none; }   /* R3-00321 K5: legacy red arrow icon inside the tokenized green button */
#md2-modal-auto .md2-auto__content td[width] > img { max-width: none; }   /* R3-00321 r2 K10: the speech-bubble tail (13500.jpg in td width=20) collapsed to 0 under the sandbox max-width:100% - the fragment's tables are fixed-width legacy cards */
#md2-modal-auto .md2-auto__content input[type="radio"]:focus, #md2-modal-auto .md2-auto__content input[type="checkbox"]:focus { outline: none; box-shadow: var(--md2-focus); border-radius: 3px; }   /* R3-00321 r2 K11 */
@media (forced-colors: active) { #md2-modal-auto .md2-auto__content input[type="radio"]:focus, #md2-modal-auto .md2-auto__content input[type="checkbox"]:focus { outline: 2px solid CanvasText; outline-offset: 1px; } }
#md2-modal-auto .md2-auto__content .menu_user_btn3, #md2-modal-auto .md2-auto__content .box_wysz_wiecej { display: inline-block; min-height: 44px; line-height: 20px; padding: 12px 20px; border-radius: var(--md2-radius); background: var(--md2-green) !important; color: var(--md2-white) !important; font-weight: 700; text-decoration: none; }   /* !important: legacy style_home_res.css sets .menu_user_btn3:link/:visited/:hover/:active with !important */
#md2-modal-auto .md2-auto__content input[type="radio"], #md2-modal-auto .md2-auto__content input[type="checkbox"] { width: 20px; height: 20px; margin: 0 8px 0 0; vertical-align: middle; }
@media (max-width: 767.98px) { #md2-modal-auto.md2-modal--lg .md2-modal__card { max-width: none; } #md2-modal-auto .md2-modal__body { max-height: 60vh; } }
.md2-modal__close:focus { outline: none; box-shadow: var(--md2-focus); border-radius: var(--md2-radius); }   /* R3-00321 K3 (systemic, all md2_modal): the x had the default Chromium ring */
@media (forced-colors: active) { .md2-modal__close:focus { outline: 2px solid CanvasText; outline-offset: 1px; } }

/* F2 (Poczta pillar) rules live in css/panel-poczta.css (loaded by top.php right after this file; per-pillar split like js/panel-poczta.js) - keeps this file inside the 120 KB budget of plan Design section 2. */

/* ---- 00385: M13/M15 photo popup (_ajax/edytuj_zdjecie.php: 'Zdjecie oczekuje oswiadczenia woli' / 'Edytujesz zdjecie') inside #md2-modal-auto ---- */
#md2-modal-auto #div_myedpics { font-family: var(--md2-font); } /* fix-d (R3 N3): the restyled fragment uses the panel face, not the sandbox fallback */
#md2-modal-auto #div_myedpics .row { display: flex; flex-wrap: wrap; gap: 16px 24px; margin: 0; }
#md2-modal-auto #div_myedpics .row::before, #md2-modal-auto #div_myedpics .row::after { display: none; } /* fix-d (R3 B1): the bootstrap clearfix would become flex items and shift column 1 by 24 px */
#md2-modal-auto #div_myedpics .col-sm-6 { flex: 1 1 260px; min-width: 0; padding: 0; float: none; width: auto; }
#md2-modal-auto #div_myedpics .my_h1 { display: none; } /* the heading becomes the modal title (MD2.autoModal) */
#md2-modal-auto #div_myedpics .my_pic { margin: 0 0 12px; }
#md2-modal-auto #div_myedpics .my_pic img { display: block; max-width: 100%; max-height: 280px; width: auto; height: auto; margin: 0 auto; border: 1px solid var(--md2-line-2); border-radius: var(--md2-radius); background: var(--md2-bg-2); } /* fix-c: the decision (legal text + buttons) stays above the fold */
#md2-modal-auto #div_myedpics .my_info { font-size: 13px; color: var(--md2-text-2); margin: 0 0 8px; }
#md2-modal-auto #div_myedpics .my_descr { padding: 8px 12px; border: 1px dashed var(--md2-line-2); border-radius: var(--md2-radius); font-size: 14px; cursor: text; max-height: 120px; overflow: auto; overflow-wrap: anywhere; } /* fix-d (R3 N5): a long description scrolls inside its box instead of pushing the decision down; fix-f (R3 r2 N10): unbreakable tokens wrap instead of a horizontal scroll */
#md2-modal-auto #div_myedpics .md2-auto__band-empty { display: none !important; } /* fix-d (R3 N6): the empty legacy band (opis_zdjecia() = &nbsp; + duza_*.gif) - hidden by MD2.autoModal.tidy */
#md2-modal-auto #div_myedpics .md2-auto__band { background: var(--md2-bg-2) !important; border-radius: var(--md2-radius); padding: 8px 12px; margin: 0 0 8px !important; } /* the band with a real description / blurred preview (M15) as a 2.0 note; !important x2 beat the fragment's inline style="background efefef / margin-top 5px" (R1 r2 K7) */
#md2-modal-auto #div_myedpics .md2-auto__band table { width: 100%; margin: 0; }
#md2-modal-auto #div_myedpics .md2-auto__band small { font-size: 13px; color: var(--md2-text-2); }
#md2-modal-auto #div_myedpics #div_myedpics_descr_input { display: block; box-sizing: border-box; width: 100%; min-height: 88px; padding: 8px 12px; font: inherit; font-size: 16px; line-height: 1.4; color: var(--md2-text); border: 1px solid var(--md2-line-2); border-radius: var(--md2-radius); } /* fix-d (R3 N7): the inline description editor as a 2.0 field */
#md2-modal-auto #div_myedpics #div_myedpics_descr_btn input[type="button"] { min-height: 44px; padding: 0 16px; margin: 8px 8px 0 0; font: inherit; font-size: 14px; font-weight: 600; color: var(--md2-navy); background: var(--md2-white); border: 1px solid var(--md2-line-2); border-radius: var(--md2-radius); cursor: pointer; }
#md2-modal-auto #div_myedpics #div_myedpics_descr_btn #div_myedpics_descr_save { color: var(--md2-white); background: var(--md2-green); border-color: transparent; } /* fix-f (R3 r2 N11): four ids - wins over the generic input[type=button] rule above */
#md2-modal-auto #div_myedpics a.reload-ajax-window { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; font-size: 14px; font-weight: 600; color: var(--md2-navy); text-decoration: none; background: var(--md2-white); border: 1px solid var(--md2-line-2); border-radius: var(--md2-radius); } /* fix-d (R3 N8): the M15 sub-links (hide / show for all) as secondary buttons, 44 px */
#md2-modal-auto #div_myedpics a.reload-ajax-window:hover { background: var(--md2-bg-2); }
#md2-modal-auto #div_myedpics a.reload-ajax-window:focus { outline: none; box-shadow: var(--md2-focus); }
#md2-modal-auto #div_myedpics a.reload-ajax-window[href*="ukryj_"] { color: var(--md2-red); border-color: var(--md2-red); } /* fix-f (R3 r2 N12): the hiding actions ("Zamknij" = hide for all / for one) read as danger-outline, unlike the footer "Zamknij" of the modal (copy verbatim - D129 note) */
#md2-modal-auto #div_myedpics .col-sm-6 > br { display: none; }
#md2-modal-auto #div_myedpics .col-sm-6 > p > strong { display: block; padding: 12px 16px; margin: 0 0 12px; font-weight: 600; font-size: 14px; line-height: 1.5; color: var(--md2-navy); background: var(--md2-bg-2); border-left: 4px solid var(--md2-navy); border-radius: var(--md2-radius); }
#md2-modal-auto #div_myedpics a.menu_user_btn3, #md2-modal-auto #div_myedpics a.menu_user_btn4 { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 44px; padding: 10px 18px; margin: 0 8px 8px 0; border-radius: var(--md2-radius); font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.2; text-decoration: none !important; background-image: none !important; border: 1px solid transparent; } /* text-decoration / background-image !important: defensive against the legacy :link/:hover rules of _css/compact.css on .menu_user_btn3/4, which carry !important themselves (R1 r2 K7) */
/* fix-d (R1 N1/N2, R3 N1/N2): !important like the 00321 rule above - _css/compact.css sets .menu_user_btn4:link{background c00 !important} and the 00321 btn3 rule wins otherwise; tokens only (#AD0000 / #7AC319 / #61AA00) */
#md2-modal-auto #div_myedpics a.menu_user_btn3 { background: var(--md2-green) !important; color: var(--md2-white) !important; }
#md2-modal-auto #div_myedpics a.menu_user_btn3:hover, #md2-modal-auto #div_myedpics a.menu_user_btn3:focus { background: var(--md2-green-2) !important; }
#md2-modal-auto #div_myedpics a.menu_user_btn4 { background: var(--md2-red) !important; color: var(--md2-white) !important; }
#md2-modal-auto #div_myedpics a.menu_user_btn4:hover, #md2-modal-auto #div_myedpics a.menu_user_btn4:focus { filter: brightness(0.9); }
#md2-modal-auto #div_myedpics a.menu_user_btn3:focus, #md2-modal-auto #div_myedpics a.menu_user_btn4:focus { outline: none; box-shadow: var(--md2-focus); }
#md2-modal-auto #div_myedpics .my_header { margin: 12px 0 6px; font-size: 14px; font-weight: 600; color: var(--md2-navy); }
@media (max-width: 767.98px) {
	#md2-modal-auto #div_myedpics a.menu_user_btn3, #md2-modal-auto #div_myedpics a.menu_user_btn4 { display: flex; width: 100%; margin-right: 0; }
	#md2-modal-auto #div_myedpics a.reload-ajax-window { display: flex; width: 100%; justify-content: center; margin-bottom: 8px; } /* fix-f (R3 r2 K8): full-width like the other actions in the sheet */
	#md2-modal-auto #div_myedpics .my_pic img { max-height: 140px; } /* fix-d: the decision (legal text + both buttons) fits the 60vh sheet body on a 390x844 phone */
	#md2-modal-auto #div_myedpics .my_pic { margin-bottom: 8px; }
	#md2-modal-auto #div_myedpics table img[width="100"] { width: 64px; } /* legacy silhouette (duza_m/duza_k.gif) compact on phones */
}

/* MD2 00330: C01 detailed card. Reference 6a/V16; desktop proportions and icon metaphors from legacy (A2/A4).
   All rules are scoped to this component; original mini cards and oferta_prosta are unaffected. */
.md2-legacy .md2-offer { background:#fff; border:1px solid #E9EEF2; border-radius:6px; padding:24px; margin:16px 0 24px; color:#003368; font-family:"Albert Sans",sans-serif; font-size:14px; }
.md2-legacy .md2-offer *, .md2-legacy .md2-offer td { font-family:inherit; }
.md2-legacy .md2-offer a { color:#003368; }
.md2-legacy .md2-offer > .row { margin:0 -16px; }
.md2-legacy .md2-offer > .row > [class*="col-md-"] { padding:0 16px; }
.md2-legacy .md2-offer .profilz_h1 { margin:0; font-size:17px; line-height:26px; }
.md2-legacy .md2-offer .profilz_h1 a { color:#AD0000; font:700 17px/26px "Space Mono",monospace; display:inline-flex; align-items:center; min-height:44px; background-size:18px; background-position:right center; padding-right:28px; text-decoration:underline; }
.md2-legacy .md2-offer .profilz_imie { margin:0 0 12px; }
.md2-legacy .md2-offer .profilz_imie a { color:#5A6B7C; font:400 13px/20px "Albert Sans",sans-serif; text-decoration:underline; display:inline-flex; align-items:center; min-height:44px; }
.md2-legacy .md2-offer .profilz_h2 { font:italic 600 17px/24px "Albert Sans",sans-serif; color:#AD0000; margin:0 0 12px; }
.md2-legacy .md2-offer .profilz_img_frame { border:1px solid #E9EEF2; border-radius:6px; width:137px; margin:0; }
.md2-legacy .md2-offer .profilz_img_frame > table { border-radius:6px; overflow:hidden; }
.md2-legacy .md2-offer .profilz_img_frame td { background-size:cover; }
.md2-legacy .md2-offer .profilz_info_frame { width:calc(100% - 161px); margin:0 0 0 20px; padding:16px; min-height:202px; border:1px solid #E9EEF2; border-radius:6px; display:inline-block; }
.md2-legacy .md2-offer .profilz_info_arrow { display:none; }
.md2-legacy .md2-offer .profilz_info_ico { width:32px; height:30px; padding-right:8px; }
.md2-legacy .md2-offer .profilz_info_ico img { max-width:24px; max-height:24px; }
.md2-legacy .md2-offer .profilz_info_text { font-size:14px !important; line-height:21px; color:#5A6B7C; overflow-wrap:anywhere; }
.md2-legacy .md2-offer .profilz_info_frame > table > tbody > tr + tr > td { border-top:1px solid #EDF3F7; }
.md2-legacy .md2-offer .profilz_info_frame > table td table { display:inline; }
.md2-legacy .md2-offer .profilz_5pic { margin:16px 16px 0 0; width:336px; max-width:100%; }
.md2-legacy .md2-offer .nav_5zdjec { padding:0; margin:0; }
.md2-legacy .md2-offer .nav_5zdjec > li { margin:0 4px 0 0; }
.md2-legacy .md2-offer .prfilz_cite { margin:16px 0 0; padding-left:26px; width:calc(100% - 356px); font:italic 400 14px/21px "Albert Sans",sans-serif; color:#003368; }
.md2-legacy .md2-offer .profil_div_zgodnosc2 { margin:0 0 24px; padding:0; }
.md2-legacy .md2-offer .profil_div_zgodnosc2 table { margin-left:auto; }
.md2-legacy .md2-offer .profilz_zgodnosc { font:italic 400 16px/22px "Albert Sans",sans-serif; color:#5A6B7C; padding-right:16px; }
.md2-legacy .md2-offer .md2-offer__ring { width:102px; height:102px; padding:14px; }
.md2-legacy .md2-offer .md2-zo__val { font:700 20px/1 "Space Mono",monospace; }
.md2-legacy .md2-offer .profilz_dopasowanie { margin:0; }
.md2-legacy .md2-offer .nav_profil_dopasowanie { display:flex; gap:8px; }
.md2-legacy .md2-offer .nav_profil_dopasowanie > li { flex:1; width:auto; padding:0 0 12px; background:none; }
.md2-legacy .md2-offer .nav_profil_dopasowanie > li > a { display:block; height:128px; width:100%; min-width:44px; background-size:86px; background-position:top center; position:relative; border-bottom:2px solid transparent; }
.md2-legacy .md2-offer .nav_profil_dopasowanie > li.active > a { border-bottom-color:#AD0000; }
.md2-legacy .md2-offer .nav_profil_dopasowanie_liczba { width:100%; top:28px; left:0; font:700 18px/22px "Space Mono",monospace; }
.md2-legacy .md2-offer .md2-offer__tab-label { position:absolute; top:92px; left:0; width:100%; color:#003368; font-size:13px; font-weight:600; line-height:16px; }
.md2-legacy .md2-offer .div_tab_dopasowanie > div { background:#EDF3F7; border:1px solid #E9EEF2; border-radius:6px; }
.md2-legacy .md2-offer .div_tab_dopasowanie > div > div { min-height:118px; padding:16px; }
.md2-legacy .md2-offer .div_tab_dopasowanie p { margin:0; font-size:14px; line-height:24px; }
.md2-legacy .md2-offer .div_tab_dopasowanie a { display:inline-block; min-height:24px; }
.md2-legacy .md2-offer .div_tab_info { display:none; }
.md2-legacy .md2-offer .my_red { color:#AD0000; font-weight:600; }
.md2-legacy .md2-offer .profilz_hr { height:1px; background:#E9EEF2; margin:24px 0 16px; }
.md2-legacy .md2-offer .md2-offer__actions { display:flex; flex-wrap:wrap; gap:16px; justify-content:flex-start; text-align:left; }
.md2-legacy .md2-offer .md2-offer__actions > li { margin:0; max-width:120px; }
.md2-legacy .md2-offer .md2-offer__actions > li > a { min-height:44px; min-width:44px; display:flex; align-items:center; flex-direction:column; justify-content:center; gap:6px; }
.md2-legacy .md2-offer .md2-offer__actions > li > a > span, .md2-legacy .md2-offer .md2-offer__actions > li > span { display:block; color:#5A6B7C; font-size:12px; line-height:16px; font-weight:400; }
.md2-legacy .md2-offer .md2-offer__actions img { width:24px; height:24px; object-fit:contain; }
.md2-legacy .md2-offer .profilz_log { width:auto; height:auto; }
.md2-legacy .md2-offer .profilz_log_row { font-size:12px; line-height:18px; color:#5A6B7C; padding:0 0 0 4px; }
.md2-legacy .md2-offer .profilz_log_row > span { font:400 12px/18px "Space Mono",monospace; color:#AD0000; }
.md2-legacy .md2-offer .profilz_log tr:first-child .profilz_log_row > span { color:#5A6B7C; }
.md2-legacy .md2-offer .md2-offer__new { position:absolute; top:4px; left:4px; }
@media (max-width:1379px) and (min-width:1024px) {
 .md2-legacy .md2-offer .profilz_5pic { width:100%; }
 .md2-legacy .md2-offer .prfilz_cite { width:100%; }
}
@media (max-width:1023px) {
 .md2-legacy .md2-offer { padding:16px; }
 .md2-legacy .md2-offer > .row > [class*="col-md-"] { width:100%; float:none; }
 .md2-legacy .md2-offer .profil_div_zgodnosc2 { display:none !important; }
 .md2-legacy .md2-offer .profilz_img_dopasowanie { display:block !important; left:-8px; bottom:-8px; }
 .md2-legacy .md2-offer .md2-offer__ring { width:52px; height:52px; padding:7px; }
 .md2-legacy .md2-offer .md2-zo__val { font-size:12px; }
 .md2-legacy .md2-offer .profilz_img_frame { width:107px; }
 .md2-legacy .md2-offer .profilz_img_frame > table, .md2-legacy .md2-offer .profilz_img_frame > table img { width:105px; height:156px; }
 .md2-legacy .md2-offer .profilz_info_frame { width:calc(100% - 123px); margin-left:12px; padding:0; border:0; min-height:156px; }
 .md2-legacy .md2-offer .profilz_info_ico { display:none; }
 .md2-legacy .md2-offer .profilz_info_text { font-size:13px !important; line-height:19px; }
 .md2-legacy .md2-offer .profilz_h2 { font-size:15px; line-height:21px; margin-bottom:8px; }
 .md2-legacy .md2-offer .profilz_info_frame > table > tbody > tr + tr > td { border:0; }
 .md2-legacy .md2-offer .profilz_info_frame td table td { display:inline; }
 .md2-legacy .md2-offer .profilz_info_frame td table img { max-height:16px; }
 .md2-legacy .md2-offer .profilz_5pic { display:none; }
 .md2-legacy .md2-offer .row > .col-md-12.hidden-xs.hidden-sm { display:block !important; }
 .md2-legacy .md2-offer .prfilz_cite { display:block !important; width:100%; margin:16px 0 24px; }
 .md2-legacy .md2-offer .nav_profil_dopasowanie > li > a { background:none; height:52px; }
 .md2-legacy .md2-offer .md2-offer__tab-label { top:4px; }
 .md2-legacy .md2-offer .nav_profil_dopasowanie_liczba { display:none; }
 .md2-legacy .md2-offer .div_tab_dopasowanie a { min-height:44px; }
 .md2-legacy .md2-offer .profilz_log_row { font-size:11px; }
 .md2-legacy .md2-offer .md2-offer__actions { gap:16px 12px; }
}
/* Intrinsic image sizes and nested legacy thumbnail lists need explicit component rules. */
.md2-legacy .md2-offer .profilz_info_text table img { width:auto; height:25px; max-height:25px; }
.md2-legacy .md2-offer .nav_5zdjec { display:inline-flex; gap:4px; max-width:100%; }
.md2-legacy .md2-offer .nav_5zdjec > li { margin:0; flex:none; }
@media (max-width:1023px) {
 .md2-legacy .md2-offer .profil_div_zgodnosc2.hidden-sm.hidden-xs { display:none !important; }
 .md2-legacy .md2-offer .profilz_info_text table img { height:16px; max-height:16px; }
}
.md2-legacy .md2-offer .md2-offer__ring::before { inset:14px; }
@media (max-width:1023px) { .md2-legacy .md2-offer .md2-offer__ring::before { inset:7px; } }

/* C01 icon variants share the existing sprite; hidden bitmap nodes support legacy named hover targets. */
.md2-legacy .md2-offer--detail2 { border-color:#003368; }
.md2-legacy .md2-offer .md2-offer__subscription { margin-left:12px; vertical-align:middle; background:#003368; color:#fff; }
.md2-legacy .md2-offer .md2-offer__bitmap[hidden] { display:none !important; }
.md2-legacy .md2-offer .md2-offer__icon { display:inline-flex; position:relative; align-items:center; justify-content:center; color:#003368; }
.md2-legacy .md2-offer .profilz_img_fav a { display:flex; align-items:center; justify-content:center; width:44px; height:44px; background:#fff; border:1px solid #E9EEF2; border-radius:50%; }
.md2-legacy .md2-offer .md2-offer__heart-mark { position:absolute; right:-3px; bottom:-3px; font:700 15px/18px "Space Mono",monospace; background:#fff; border-radius:50%; }
.md2-legacy .md2-offer .profilz_h1 a { background:none; padding-right:0; gap:8px; }
.md2-legacy .md2-offer .nav_profil_dopasowanie > li > a { background:none; }
.md2-legacy .md2-offer .md2-offer__match-icon { display:block; margin:auto; }
.md2-legacy .md2-offer .nav_profil_dopasowanie_liczba { z-index:1; }
@media(max-width:1023px) { .md2-legacy .md2-offer .md2-offer__match-icon { display:none; } }

.md2-legacy .md2-offer .prfilz_cite { background:none; position:relative; }
.md2-legacy .md2-offer .md2-offer__quote-icon { position:absolute; left:0; top:2px; }
/* C01 interactive states: artboard 6a action hover and shared G1 keyboard focus. */
.md2-legacy .md2-offer .md2-offer__actions > li > a { border-radius:6px; }
.md2-legacy .md2-offer .md2-offer__actions > li > a:hover { background:#EDF3F7; }
.md2-legacy .md2-offer a:focus-visible { outline:none; box-shadow:var(--md2-focus); }
@media (forced-colors:active) { .md2-legacy .md2-offer a:focus-visible { outline:2px solid CanvasText; outline-offset:2px; } }

/* 00330: universal profile modal, shared with later offer/gallery/paywall callers. */
.md2-modal--with-profile .md2-modal__card { max-width:840px; position:sticky; top:40px; display:grid; grid-template-columns:230px minmax(0,1fr); grid-template-rows:auto 1fr auto; grid-template-areas:"head head" "profile body" "profile actions"; column-gap:24px; }
.md2-modal--with-profile .md2-modal__head { grid-area:head; margin-bottom:16px; }
.md2-modal--with-profile .md2-modal__title { font-weight:600; }
.md2-modal--with-profile .md2-modal__profile { grid-area:profile; min-width:0; border-right:1px solid #E9EEF2; padding-right:24px; }
.md2-modal--with-profile .md2-modal__body { grid-area:body; min-width:0; }
.md2-modal--with-profile .md2-modal__actions { grid-area:actions; align-self:end; }
.md2-modal--with-profile .md2-btn, .md2-modal--with-profile .md2-modal__close { min-height:48px; }
.md2-offer-profile__photo { position:relative; width:93px; height:137px; margin:0 auto 16px; }
.md2-offer-profile__photo table, .md2-offer-profile__photo td, .md2-offer-profile__photo img { width:93px; height:137px; border-radius:6px; background-size:cover; }
.md2-offer-profile .md2-offer-profile__ring { position:absolute; bottom:-6px; right:-14px; width:52px; height:52px; padding:7px; }
.md2-offer-profile .md2-offer-profile__ring::before { inset:7px; }
.md2-offer-profile__ring .md2-zo__val { font-size:12px; }
.md2-offer-profile__login { margin:0 0 8px; font-size:15px; font-weight:700; color:#AD0000; }
.md2-offer-profile__info { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; margin:0 0 8px; }
.md2-offer-profile__date { font:400 11px/17px "Space Mono",monospace; color:#5A6B7C; margin:0; }
body.md2-profile-modal-open .md2-tabbar { display:none; }
@media(max-width:767.98px) {
 .md2-modal--with-profile .md2-modal__card { top:auto; max-height:88vh; overflow-y:auto; display:block; padding:16px 20px calc(20px + env(safe-area-inset-bottom)); }
 .md2-modal--with-profile .md2-modal__handle { width:44px; height:5px; }
 .md2-modal--with-profile .md2-modal__profile { border-right:0; border-bottom:1px solid #E9EEF2; padding:0 0 16px; margin-bottom:16px; }
 .md2-offer-profile { display:grid; grid-template-columns:93px minmax(0,1fr); grid-template-rows:auto auto 1fr; gap:8px 24px; }
 .md2-offer-profile__photo { grid-row:1 / 4; margin:0; }
 .md2-offer-profile__login, .md2-offer-profile__info, .md2-offer-profile__date { margin:0; }
}

.md2-modal--with-profile .md2-modal__backdrop { background:rgba(0,51,104,.55); opacity:1; -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); }

/* MD2: 00334 M16. The existing Magnific container, image list and controls remain in use. */
.mfp-bg.md2-lightbox { background:rgba(0,51,104,.72); opacity:1; backdrop-filter:blur(3px); }
.md2-lightbox.mfp-wrap { position:fixed !important; inset:0 !important; height:100% !important; overflow-y:auto !important; font-family:var(--md2-font); color:var(--md2-text); }
.md2-lightbox .mfp-container { padding:40px 24px; text-align:left; }
.md2-lightbox .mfp-container::before { display:none; }
.md2-lightbox__card { position:relative; width:100%; max-width:840px; margin:0 auto; display:grid; grid-template-columns:230px minmax(0,1fr); grid-template-areas:"head head" "profile body" "profile nav"; background:#FFF; border-radius:6px; overflow:hidden; box-shadow:0 24px 60px rgba(0,51,104,.35); }
.md2-lightbox__head { grid-area:head; display:flex; align-items:center; gap:16px; padding:8px 18px; background:#003368; color:#FFF; }
.md2-lightbox__head h2 { margin:0; flex:1; font:600 16px/24px var(--md2-font); color:inherit; }
.md2-lightbox__close { width:48px; min-width:48px; height:48px; padding:0; border:0; background:transparent; color:#FFF; font-size:28px; cursor:pointer; }
.md2-lightbox__profile { grid-area:profile; padding:18px; background:#EDF3F7; border-right:1px solid #E9EEF2; min-width:0; }
.md2-lightbox__profile .md2-offer-profile__info { white-space:normal; }
.md2-lightbox__profile img, #md2-modal-photo-request .md2-offer-profile__photo img { object-fit:contain; }
.md2-lightbox__profile .md2-offer-profile__photo > img, #md2-modal-photo-request .md2-offer-profile__photo > img { display:block; font-size:0; line-height:0; }
.md2-offer-profile--no-photo { display:block; }
.md2-offer-profile__photo--missing::before { content:""; position:absolute; inset:0; border-radius:6px; background:#EDF3F7 url('/theme/images/svg/picture.svg') no-repeat center / 32px; }
.md2-lightbox__profile .md2-offer-profile__photo { width:135px; height:200px; }
.md2-lightbox__profile .md2-offer-profile__photo table, .md2-lightbox__profile .md2-offer-profile__photo td, .md2-lightbox__profile .md2-offer-profile__photo img { width:135px; height:200px; }
.md2-lightbox__body { grid-area:body; min-width:0; padding:18px; }
.md2-lightbox .mfp-content { width:100%; display:block; margin:0; }
.md2-lightbox .mfp-figure::after { display:none; }
.md2-lightbox .mfp-figure, .md2-lightbox figure { margin:0; }
.md2-lightbox img.mfp-img { width:100%; height:380px; max-height:60vh !important; padding:0; object-fit:contain; background:#EDF3F7; border-radius:6px; }
.md2-lightbox .mfp-close { display:none; }
.md2-lightbox .mfp-bottom-bar { position:static; margin:8px 0 0; min-height:20px; }
.md2-lightbox .mfp-counter { position:static; color:#5A6B7C; text-align:right; font:400 12px/20px var(--md2-font-mono); }
.md2-lightbox .mfp-title { color:#33475A; }
.md2-lightbox #custom-content { width:auto; max-width:none; margin:0; padding:0; background:transparent; box-shadow:none; }
.md2-lightbox #div_oferta_galeria { padding:0; font:400 15px/1.65 var(--md2-font); }
.md2-lightbox #div_oferta_galeria > .menu_user_btn3 { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:8px 24px; margin-top:16px; background:#7AC319 !important; color:#FFF; font:600 15px/24px var(--md2-font); border-radius:6px; text-decoration:none; white-space:normal; }
.md2-lightbox__blur > p { position:relative; padding:56px 24px 24px; border-radius:6px; background:#003368; color:#FFF; }
.md2-lightbox__blur > p::before { content:""; position:absolute; top:20px; left:calc(50% - 12px); width:24px; height:24px; background:center/contain no-repeat url('/theme/images/svg/lock.svg'); filter:brightness(0) invert(1); }
.md2-lightbox__nav { grid-area:nav; display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:0 18px 18px; }
.md2-lightbox__nav[hidden], .md2-lightbox__profile[hidden] { display:none; }
.md2-lightbox .mfp-arrow { -webkit-transform:none; transform:none; position:relative; top:auto; left:auto; right:auto; margin:0; width:48px; height:48px; border:1px solid #E9EEF2; border-radius:6px; background:#FFF; opacity:1; }
.md2-lightbox .mfp-arrow::before { display:none; }
.md2-lightbox .mfp-arrow::after { inset:0; width:16px; height:16px; margin:auto; border:0; background:center/contain no-repeat url('/theme/images/svg/carousel-arrow-right.svg'); }
.md2-lightbox .mfp-arrow-left::after { background-image:url('/theme/images/svg/carousel-arrow-left.svg'); }
.md2-lightbox__thumbs { order:1; flex-basis:100%; display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.md2-lightbox__thumbs button { width:58px; height:78px; padding:0; border:2px solid #E9EEF2; border-radius:6px; overflow:hidden; background:#EDF3F7; cursor:pointer; }
.md2-lightbox__thumbs button[aria-current="true"] { border-color:#7AC319; }
.md2-lightbox__thumbs img { width:100%; height:100%; object-fit:contain; }
.md2-lightbox :is(button,a):focus-visible, #md2-modal-photo-request :is(button,a):focus-visible { outline:0; box-shadow:var(--md2-focus); }
.md2-lightbox__card--solo { grid-template-columns:minmax(0,1fr); grid-template-areas:"head" "body" "nav"; max-width:640px; }
.md2-lightbox__handle { display:none; }
.md2-lightbox-open .md2-tabbar { display:none; }
#md2-modal-photo-request .md2-modal__card { max-width:640px; }
#md2-modal-photo-request .md2-modal__title { font-weight:600; }
#md2-modal-photo-request.md2-modal--with-profile .md2-modal__card { grid-template-columns:150px minmax(0,1fr); gap:0 20px; }
#md2-modal-photo-request .md2-modal__profile[hidden] { display:none; }
#md2-modal-photo-request .md2-offer-profile__info { white-space:normal; }
#md2-modal-photo-request .md2-offer-profile { grid-template-rows:auto auto auto; }
#md2-modal-photo-request .md2-modal__actions { flex-wrap:wrap; }
#md2-modal-photo-request .md2-modal__actions > * { min-height:48px; white-space:normal; }
#md2-modal-photo-request .md2-photo-request__content { padding:0; }
@media (max-width:767px) {
 .md2-lightbox .mfp-container { display:flex; align-items:flex-end; padding:0; }
 .md2-lightbox__card { display:block; max-width:100%; max-height:88vh; overflow-y:auto; border-radius:6px 6px 0 0; padding-bottom:env(safe-area-inset-bottom); }
 .md2-lightbox__handle { display:block; width:44px; height:5px; margin:8px auto; border-radius:6px; background:#B7C6D4; }
 .md2-lightbox__head { padding:4px 16px; }
 .md2-lightbox__profile { border-right:0; border-bottom:1px solid #E9EEF2; padding:16px; }
 .md2-lightbox__profile .md2-offer-profile { grid-template-rows:auto auto auto; align-items:start; }
 .md2-lightbox__profile .md2-offer-profile__photo, .md2-lightbox__profile .md2-offer-profile__photo table, .md2-lightbox__profile .md2-offer-profile__photo td, .md2-lightbox__profile .md2-offer-profile__photo img { width:93px; height:137px; }
 .md2-lightbox__body { padding:16px; }
 .md2-lightbox img.mfp-img { height:260px; max-height:42vh !important; }
 .md2-lightbox__nav { padding:0 16px 16px; }
 #md2-modal-photo-request .md2-modal__actions { flex-direction:column; }
}
@media (forced-colors:active) {
 .md2-lightbox :is(button,a):focus-visible, #md2-modal-photo-request :is(button,a):focus-visible { outline:2px solid CanvasText; outline-offset:2px; }
}

/* MD2: 00336 M17 - the subscription gate pages (CMS 549-553 via my/abonament.php Location, CMS 5802 daily free choice) in the 2.0 chrome:
   canon 9a "Paywall M17" as a page card (max 840 px): profile column 230 px (only when panel-oferty.js hands over the clicked card's own
   gated data - MD2.oferty.paywall), the CMS reason, the CMS CTA + "Wroc", the CMS privileges as a check list, transfer link, help line.
   Tokens only; radius 6; CTA 48 px; mobile one column, CTA full width. */
.md2-paywall-box { max-width:840px; margin:0 auto 24px; }
.md2-paywall { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
.md2-paywall--with-profile { grid-template-columns:230px minmax(0,1fr); }
.md2-paywall__profile { min-width:0; border-right:1px solid var(--md2-line); padding-right:24px; }
.md2-paywall__profile[hidden] { display:none; }
.md2-paywall__profile .md2-offer-profile__photo { margin-left:0; }
.md2-offer-profile__lock { position:absolute; left:50%; top:50%; width:32px; height:32px; margin:-16px 0 0 -16px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(255,255,255,.92); color:var(--md2-navy); box-shadow:0 1px 3px rgba(0,51,104,.18); } /* 00389 A8: the lock on a blurred photo of the profile column (M06/M16/M17), as the gallery tiles */
.md2-paywall__profile .md2-offer-profile__info { white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; } /* 00389 A8: two lines instead of a mid-word cut */
.md2-paywall__body { min-width:0; }
.md2-paywall__lead { margin:0 0 16px; font:400 15px/1.5 var(--md2-font); color:var(--md2-text); }
.md2-paywall__lead p { margin:0 0 8px; }
.md2-paywall__lead p:last-child { margin:0; }
.md2-paywall__lead strong { color:var(--md2-navy); }
.md2-paywall__actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:0 0 24px; }
.md2-paywall__actions .md2-btn { min-height:48px; }
.md2-paywall__title { margin:0 0 8px; font:600 16px/24px var(--md2-font); color:var(--md2-navy); }
.md2-paywall__list { display:grid; gap:6px; margin:0 0 16px; padding:0; list-style:none; }
.md2-paywall__item { display:flex; align-items:flex-start; gap:8px; margin:0; font:400 14px/20px var(--md2-font); color:var(--md2-text); }
.md2-paywall__check { flex:none; margin-top:1px; color:var(--md2-green-2); }
.md2-paywall__transfer { margin:0 0 8px; font:600 14px/20px var(--md2-font); }
.md2-paywall__transfer a, .md2-paywall__help a { color:var(--md2-navy); }
.md2-paywall__help { margin:0; font:400 13px/19px var(--md2-font); color:var(--md2-text-2); }
.md2-paywall__note { margin:16px 0 0; padding:12px 16px; border-left:3px solid var(--md2-red); border-radius:0 var(--md2-radius) var(--md2-radius) 0; background:var(--md2-bg-2); font:400 13px/19px var(--md2-font); color:var(--md2-text); }
.md2-paywall__note strong { color:var(--md2-navy); }
@media (max-width:767px) {
 .md2-paywall--with-profile { grid-template-columns:minmax(0,1fr); gap:16px; }
 .md2-paywall__profile { border-right:0; border-bottom:1px solid var(--md2-line); padding:0 0 16px; }
 .md2-paywall__actions .md2-btn { width:100%; justify-content:center; }
}

/* MD2: F4H-13 readable brand CTA, including anchor states. */
a.md2-btn--primary, a.md2-btn--primary:hover, a.md2-btn--primary:focus { color:var(--md2-navy); text-decoration:none; }

/* MD2: F7 00363 (19.09.2026) - mobile touch targets >= 44 px (canon PANEL_DESIGN_RULES). The hit boxes grow, the layout does not move:
   the login code sits in the 56 px mobile header row (--md2-header-h) and grows by line-height only; the profile-bar link pads itself and takes the padding back with negative margins. */
@media (max-width: 1023.98px) {
	.md2-user__code { line-height: 44px; }   /* R1 K-1: stays a block-level flex item, so max-width + text-overflow: ellipsis of a long login keep working */
	.md2-profilebar__link { padding: 8px 0 18px; margin: -8px 0 -18px; }
}
