/* MD2: MYDWOJE_003 Panel 2.0 - F2 Poczta pillar stylesheet (00323-00382), split out of panel.css on 07.09.2026 (00382): the chrome file
   keeps the 120 KB budget (plan Design section 2, spec 00305 T8); this file is loaded by theme/panel/top.php right after panel.css, so the
   cascade order is unchanged. ASCII only. New F2/F3 pillar rules go here (F2 addendum sections). */

/* ---- F2 Poczta (00323): C03 envelope (md2_envelope) + C02 message row (md2_msg_row) - card 5d render; tokens only.
   The envelope also renders inside legacy markup until 00324/00326 (p=63/64 tables, po_frame bubbles), so the unlabelled
   variant keeps the 30x30 footprint of the legacy GIF. Meaning = symbol + marker + hidden word + title, never the colour alone. ---- */
.md2-env { display: inline-flex; align-items: center; gap: 6px; vertical-align: middle; font-family: var(--md2-font); font-size: 13px; font-weight: 600; line-height: 1; color: var(--md2-text-2); white-space: nowrap; }
.md2-env__glyph { position: relative; display: inline-flex; flex: 0 0 auto; }
.md2-env__icon { display: block; }
.md2-env--unread { color: var(--md2-navy); }
.md2-env--read .md2-env__icon, .md2-env--seen .md2-env__icon { opacity: 0.55; }
.md2-env--answered { color: var(--md2-text-2); }
.md2-env__mark { position: absolute; display: block; }
.md2-env__mark--dot { top: -3px; right: -4px; width: 8px; height: 8px; border-radius: 50%; background: var(--md2-red); box-shadow: 0 0 0 2px var(--md2-white); }
.md2-env__mark--check { right: -7px; bottom: -6px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: 14px; height: 14px; border: 1px solid var(--md2-green); border-radius: 50%; background: var(--md2-white); color: var(--md2-navy); } /* card 5d: white circle, green ring, navy check, outside the envelope corner */
.md2-env__mark-icon { display: block; width: 10px; height: 10px; }
.md2-env:not(.md2-env--labelled) { width: 30px; height: 30px; justify-content: center; gap: 0; }
/* legacy bubbles (thread / quote on p=27, until 00324): own message = white on the blue po_frame_fr bubble */
.md2-legacy .po_frame_fr .po_frame_dym .md2-env, .md2-legacy .po_frame_fr .po_frame_dym .md2-env--answered { color: var(--md2-white); }
.md2-legacy .po_frame_fr .po_frame_dym .md2-env--read .md2-env__icon { opacity: 0.8; }
.md2-legacy .po_frame_fr .po_frame_dym .md2-env__mark--dot { box-shadow: none; }
.md2-legacy .po_frame_fr .po_frame_dym .md2-env__mark--check { background: transparent; border-color: transparent; color: var(--md2-white); }
/* legacy p=63/64 tables (until 00326): the envelope cell is 40 px wide, the icon sits centred like the GIF */
.md2-legacy td > div[id^="kop_"] > .md2-env, .md2-legacy td > div[id^="kop_"] > a > .md2-env { margin: 0 auto; }
/* C02 row: card = header (checkbox | envelope | thumbnail | meta + subject) + collapsible body */
.md2-msg { display: block; margin: 0 0 var(--md2-space-1); background: var(--md2-white); border: 1px solid var(--md2-line-3); border-radius: var(--md2-radius); font-family: var(--md2-font); color: var(--md2-text); } /* 00386 H15: 1 px border only, no card shadow on the C02 rows (backlog K11 / 00324) */
.md2-msg--unread { border-color: var(--md2-line-2); }
.md2-msg--checked { border-color: var(--md2-muted); box-shadow: inset 3px 0 0 var(--md2-navy); }
.md2-msg__head { display: flex; align-items: flex-start; gap: 12px; padding: 12px 16px 8px 8px; }
.md2-msg__check { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 44px; height: 44px; margin: -4px 0 0 0; cursor: pointer; }
.md2-msg__check input { width: 20px; height: 20px; margin: 0; cursor: pointer; accent-color: var(--md2-navy); }
.md2-msg__env { flex: 0 0 auto; padding-top: 3px; }
.md2-msg__env-link { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin: -7px; text-decoration: none; border-radius: var(--md2-radius); } /* G7: 44 px target around the 30 px glyph, same rhythm */ /* 00329 R3 K3: G1 6 px */
.md2-msg__photo { flex: 0 0 auto; }
.md2-msg__photo a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; border-radius: var(--md2-radius); } /* 00329 R3 K3: G1 6 px */
.md2-msg__photo img { display: block; max-width: 48px; height: auto; border: 1px solid var(--md2-line-3); border-radius: var(--md2-radius); } /* 00329 R3 K3: G1 6 px */
.md2-msg__main { flex: 1 1 auto; min-width: 0; }
.md2-msg__meta { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; min-height: 20px; font-size: 13px; line-height: 20px; }
.md2-msg__who { min-width: 0; color: var(--md2-text-2); }
.md2-msg__who-label { font-weight: 600; }
.md2-msg__who a { color: var(--md2-navy); font-family: var(--md2-font-mono); font-weight: 700; text-decoration: underline; }
.md2-msg__who-note { font-size: 12px; color: var(--md2-text-2); }
.md2-msg__date { margin-left: auto; font-size: 12px; color: var(--md2-text-2); white-space: nowrap; }
.md2-msg__subject { display: flex; align-items: center; gap: 10px; min-height: 44px; color: var(--md2-navy); font-size: 15px; font-weight: 600; text-decoration: none; border-radius: var(--md2-radius); } /* 00329 R3 K3: G1 6 px */
.md2-msg--unread .md2-msg__subject { font-weight: 900; }
.md2-msg__subject-text { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.md2-msg__toggle { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; }
.md2-msg__chev { display: block; width: 12px; height: 12px; transform: rotate(90deg); transition: transform 0.15s ease; } /* sprite arrow-right turned down (card 5d) */
.md2-msg--open .md2-msg__chev { transform: rotate(-90deg); }
.md2-msg__body { min-width: 0; overflow: hidden; padding: 4px 0 0; } /* inside the main column - indented like the render; only this part collapses; min-width 0 = a wide legacy body (tables) cannot inflate the grid column (00326 mobile) */
.md2-js .md2-msg:not(.md2-msg--open) .md2-msg__body { display: none; } /* progressive: without JS every body is visible (legacy: visible until zwinwszystko()) */
.md2-msg__text { margin: 0 0 4px; padding: 12px 16px; background: var(--md2-bg-2); border: 1px solid var(--md2-line-3); border-radius: var(--md2-radius); font-size: 15px; line-height: 1.5; overflow-x: auto; /* wide legacy content (quote tables, long tokens) scrolls inside the box, never the page (00326) */ overflow-wrap: anywhere; }
.md2-msg__text:empty { display: none; }
.md2-msg__text img { max-width: 100%; height: auto; }
.md2-msg__text table { max-width: 100%; }
.md2-msg__actions { min-width: 0; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0 4px; margin: 4px 0 0; padding: 4px 0 0; border-top: 1px solid var(--md2-line-3); list-style: none; }
.md2-msg__action-item { margin: 0; padding: 0; }
.md2-msg__action { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 44px; min-height: 44px; padding: 0 10px; color: var(--md2-navy); font-size: 14px; font-weight: 600; text-decoration: underline; border-radius: var(--md2-radius); } /* 00329 R3 K3: G1 6 px */
.md2-msg__action--icon { text-decoration: none; color: var(--md2-navy); }
.md2-msg__action--quotemarks { color: var(--md2-red); } /* card 5d: only the quote marks are red */
.md2-msg__action:hover, .md2-msg__action--icon:hover { color: var(--md2-red); }
.md2-msg__action--quotemarks:hover { color: var(--md2-navy); }
.md2-conv__action--cytuj { color: var(--md2-red); } /* R3-00324 K1: the same glyph, the same colour as the C02 row */
.md2-conv__action--cytuj:hover { color: var(--md2-navy); }
.md2-conv__action--usunhistorie { color: var(--md2-red); } /* R3-00324 K2: the whole-history bin reads as the destructive one (legacy: two different bitmaps) */
.md2-conv__action--usunhistorie:hover { color: var(--md2-navy); }
.md2-msg__action-icon { flex: 0 0 auto; display: block; }
.md2-msg__action:focus, .md2-msg__subject:focus, .md2-msg__check input:focus, .md2-msg__env-link:focus, .md2-msg__photo a:focus { outline: none; box-shadow: var(--md2-focus); }
@media (forced-colors: active) {
	.md2-msg__action:focus, .md2-msg__subject:focus, .md2-msg__check input:focus, .md2-msg__env-link:focus, .md2-msg__photo a:focus { outline: 2px solid CanvasText; outline-offset: 2px; }
	.md2-env__mark--dot { border: 2px solid CanvasText; }
}
@media (max-width: 767.98px) {
	/* card 5d mobile 390: checkbox | thumbnail | "Od: LOGIN" + date on the first line, the small envelope INLINE before the subject on the second */
	.md2-msg__head { display: grid; grid-template-columns: 44px auto auto minmax(0, 1fr); grid-template-areas: "check photo meta meta" "check photo env subject" ". . body body" ". . actions actions"; align-items: center; column-gap: 8px; row-gap: 2px; padding: 10px 12px 8px 4px; }
	.md2-msg__main { display: contents; }
	.md2-msg__check { grid-area: check; align-self: start; }
	.md2-msg__photo { grid-area: photo; align-self: start; }
	.md2-msg__photo img { max-width: 40px; }
	.md2-msg__meta { grid-area: meta; font-size: 12px; }
	.md2-msg__env { grid-area: env; padding-top: 0; }
	.md2-msg__env .md2-env:not(.md2-env--labelled) { width: 24px; height: 24px; }
	.md2-msg__env-link { margin: -10px -8px; } /* 44x44 target, 28x24 footprint inline before the subject */
	.md2-msg__subject { grid-area: subject; }
	.md2-msg--plain .md2-msg__subject { grid-column: env / span 2; }
	.md2-msg__body { grid-area: body; padding: 4px 0 0; } /* render 5d mobile: the text box is indented under the meta column too */
	.md2-msg__actions { grid-area: actions; }
	.md2-msg__text { padding: 10px 12px; font-size: 16px; }
}

/* ---- F2 Poczta (00324): V28 ?p=129 - conversations list (card 5e) and thread (card 9e, bubbles = A2 exception); tokens only.
   Markup: md2_poczta_toolbar / md2_conv_row / md2_thread_head / md2_bubble (theme/panel/parts/md2_poczta.php) inside a md2_box. ---- */
.md2-poczta { font-family: var(--md2-font); color: var(--md2-text); }
.md2-poczta > .md2-box__body { padding: 16px 20px 20px; }
/* toolbar: flag toggle + partner select + thread counter */
.md2-poczta-bar { font-family: var(--md2-font); display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin: 0 0 var(--md2-space-2); padding: 12px 16px; background: var(--md2-white); border: 1px solid var(--md2-line-3); border-radius: var(--md2-radius); }
.md2-poczta-bar__flag { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 1px solid var(--md2-line-2); border-radius: var(--md2-radius); color: var(--md2-navy); font-size: 14px; font-weight: 600; text-decoration: none; }
.md2-poczta-bar__flag--on { background: var(--md2-navy); color: var(--md2-white); border-color: var(--md2-navy); }
.md2-poczta-bar__star { flex: 0 0 auto; }
.md2-poczta-bar__form { display: inline-flex; margin: 0; }
.md2-poczta-bar__label { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 400; color: var(--md2-text-2); } /* 00387 A18: <label> = Bootstrap 700 -> regular */
.md2-poczta-bar__select { min-width: 220px; min-height: 44px; padding: 0 12px; font-family: var(--md2-font-mono); font-size: 14px; color: var(--md2-navy); background: var(--md2-field); border: 1px solid var(--md2-line-2); border-radius: var(--md2-radius); }
.md2-poczta-bar__count { margin-left: auto; font-size: 13px; color: var(--md2-text-2); }
.md2-poczta-bar__flag:focus, .md2-poczta-bar__select:focus { outline: none; box-shadow: var(--md2-focus); }
/* ZO ring (legacy canvas obwodka) */
.md2-zo { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: conic-gradient(var(--md2-red) var(--md2-zo, 0%), var(--md2-line-3) 0); }
.md2-zo::before { content: ""; position: absolute; inset: 5px; border-radius: 50%; background: var(--md2-white); }
.md2-zo__val { position: relative; font-size: 11px; font-weight: 600; color: var(--md2-red); } /* 00329 R3 K2: Albert Sans 700 not loaded -> 600 */
/* conversation row (5e) */
.md2-conv { position: relative; display: flex; gap: 16px; align-items: flex-start; margin: 0 0 var(--md2-space-1); padding: 12px 16px 8px; background: var(--md2-white); border: 1px solid var(--md2-line-3); border-radius: var(--md2-radius); }
.md2-conv--unread { background: var(--md2-bg-2); border-color: var(--md2-line-2); }
.md2-conv--deleted { opacity: 0.7; }
.md2-conv--admin { border-left: 4px solid var(--md2-navy); }
.md2-conv__side { position: relative; flex: 0 0 72px; min-height: 60px; }
.md2-conv__side a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; border-radius: var(--md2-radius); } /* R3 r1 B4: the photo link is a 44 px target on 390 px too */ /* 00329 R3 K3: G1 6 px */
.md2-conv__side a:focus { outline: none; box-shadow: var(--md2-focus); }
.md2-conv__side img { display: block; width: 60px; height: 60px; object-fit: cover; overflow: hidden; font-size: 0; color: transparent; border-radius: var(--md2-radius); } /* square avatar like card 5e; a broken image (local mirror miss) keeps the box instead of spilling its alt text */ /* 00329 R3 K3: G1 6 px */
.md2-conv__zo { position: absolute; left: -10px; top: -10px; width: 40px; height: 40px; }
.md2-conv__zo .md2-zo__val { font-size: 10px; }
.md2-conv__main { flex: 1 1 auto; min-width: 0; }
.md2-conv__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; font-size: 13px; }
.md2-conv__name a, .md2-conv__name b { font-family: var(--md2-font-mono); font-weight: 700; color: var(--md2-navy); }
.md2-conv__name a { text-decoration: underline; }
.md2-conv__tags { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 12px; color: var(--md2-text-2); }
.md2-conv__tags img { vertical-align: middle; }
.md2-conv__date { margin-left: auto; font-size: 12px; color: var(--md2-text-2); white-space: nowrap; }
.md2-conv__info { margin: 2px 0 6px; font-size: 13px; color: var(--md2-text-2); }
.md2-conv__zk a { display: inline-flex; align-items: center; gap: 4px; color: var(--md2-navy); font-weight: 600; text-decoration: none; }
.md2-conv__msg { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "env subject" "env excerpt"; column-gap: 8px; align-items: center; min-height: 44px; color: var(--md2-text); text-decoration: none; border-radius: var(--md2-radius); } /* 00329 R3 K3: G1 6 px */
.md2-conv__env { grid-area: env; }
.md2-conv__subject { grid-area: subject; font-size: 15px; font-weight: 600; color: var(--md2-navy); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.md2-conv--unread .md2-conv__subject { font-weight: 900; }
.md2-conv__excerpt { grid-area: excerpt; font-size: 13px; color: var(--md2-text-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.md2-conv__kop { font-weight: 600; }
.md2-conv__actions { justify-content: flex-end; margin-top: 2px; }
.md2-conv__action-img { display: block; width: 18px; height: 18px; }
.md2-conv__msg:focus { outline: none; box-shadow: var(--md2-focus); }
/* thread (9e): header = partner | me, then the bubbles */
.md2-thread__head { font-family: var(--md2-font); display: flex; justify-content: space-between; gap: 16px; padding: 4px 0 16px; margin: 0 0 var(--md2-space-2); border-bottom: 1px solid var(--md2-line-3); }
.md2-thread__who { display: flex; align-items: center; gap: 14px; min-width: 0; }
.md2-thread__who--me { text-align: right; }
.md2-thread__pic { position: relative; flex: 0 0 auto; }
.md2-thread__pic img { display: block; width: 60px; height: 60px; object-fit: cover; overflow: hidden; font-size: 0; color: transparent; border-radius: var(--md2-radius); } /* 00386 H1 (R3 K1): G1 radius 6 px like the avatar and the tile */
.md2-thread__zo { position: absolute; left: -12px; top: -12px; }
.md2-thread__info { font-size: 13px; color: var(--md2-text-2); }
.md2-thread__info a { font-family: var(--md2-font-mono); font-weight: 700; color: var(--md2-navy); }
.md2-thread__info .po_frame_partner_info_more { display: block; margin-top: 2px; }
.md2-thread__info .btn_ico_zk { display: inline-block; vertical-align: middle; }
.md2-bubble { position: relative; display: flex; margin: 0 0 var(--md2-space-2); } /* anchor s<id> positions against the bubble (R1 r1 K2) */
.md2-bubble--own { justify-content: flex-end; }
.md2-bubble__anchor { position: absolute; }
.md2-bubble__card { position: relative; width: min(100%, 760px); padding: 12px 16px 6px; background: var(--md2-white); border: 1px solid var(--md2-line-3); border-radius: var(--md2-radius); }
.md2-bubble--partner .md2-bubble__card { border-bottom-left-radius: 2px; }
.md2-bubble--own .md2-bubble__card { background: var(--md2-bg-2); border-color: var(--md2-line-2); border-bottom-right-radius: 2px; }
.md2-bubble--unread .md2-bubble__card { border-color: var(--md2-navy); }
.md2-bubble__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0 0 6px; font-size: 12px; color: var(--md2-text-2); }
.md2-bubble__env { margin-left: auto; }
.md2-bubble__subject { margin: 0 0 6px; font-size: 15px; font-weight: 900; color: var(--md2-navy); }
.md2-bubble__text { font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
.md2-bubble__text img { max-width: 100%; height: auto; }
.md2-bubble__text table { max-width: 100%; }
.md2-bubble .md2-msg__actions { justify-content: flex-end; margin-top: 4px; }
@media (max-width: 767.98px) {
	.md2-poczta > .md2-box__body { padding: 12px; }
	.md2-poczta-bar { padding: 10px 12px; }
	.md2-poczta-bar__form, .md2-poczta-bar__label, .md2-poczta-bar__select { width: 100%; }
	.md2-poczta-bar__select { font-size: 16px; } /* 00386 H14: canon G7 - fields >= 16 px on phones (backlog K7 / 00324) */
	.md2-poczta-bar__count { margin-left: 0; }
	.md2-conv { gap: 12px; padding: 10px 12px 6px; }
	.md2-conv__side { flex-basis: 56px; }
	.md2-conv__side img { width: 48px; height: 48px; }
	.md2-conv__subject, .md2-conv__excerpt { white-space: normal; }
	.md2-thread__head { flex-direction: column; }
	.md2-thread__who--me { flex-direction: row-reverse; text-align: left; }
	/* .md2-bubble__card { width: 100%; } - superseded by the 00380 flex card (width: auto; flex: 1 1 auto), R1-00380 K2 */
}

/* ---- C07 pager (md2_pager, parts 00305) - first page use: 00324 (p=129 list + thread). Ranges "1-15" like legacy pages_(), current = filled
   navy pill, every link a 44 px target, wraps on mobile; tokens only. ---- */
.md2-pager { margin: var(--md2-space-2) 0 0; font-family: var(--md2-font); }
.md2-pager__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.md2-pager__item { margin: 0; padding: 0; }
.md2-pager__item--gap { display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px; color: var(--md2-muted); }
.md2-pager__link { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 12px; border: 1px solid var(--md2-line-2); border-radius: var(--md2-radius); background: var(--md2-white); color: var(--md2-navy); font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap; } /* 00329 R3 K2: Albert Sans 700 not loaded -> 600 */
a.md2-pager__link:hover { border-color: var(--md2-navy); background: var(--md2-bg-2); }
.md2-pager__link:focus { outline: none; box-shadow: var(--md2-focus); }
.md2-pager__link--current { border-color: var(--md2-navy); background: var(--md2-navy); color: var(--md2-white); }
.md2-pager__link--disabled { color: var(--md2-muted); border-color: var(--md2-line-3); }
@media (forced-colors: active) {
	.md2-pager__link--current { border: 2px solid CanvasText; }
	.md2-pager__link:focus { outline: 2px solid CanvasText; outline-offset: 2px; }
}
@media (max-width: 767.98px) {
	.md2-pager__link { padding: 0 10px; font-size: 12px; }
}

/* ---- F2 Poczta (00325): V29 compose (md2_compose_form / md2_compose_head, card 5c) + p=68 recipient cards (md2_pick_card); tokens only.
   The form keeps the legacy ids the autosave script drives (#div_msg_autosave, #span_msg_loader, #span_msg_info, #msg_temat, #msg_tresc). ---- */
.md2-compose { margin: 0 0 var(--md2-space-3); padding: var(--md2-space-3) var(--md2-space-3) 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); font-family: var(--md2-font); color: var(--md2-text); }
.md2-compose__title { margin: 0 0 var(--md2-space-2); font-size: 20px; font-weight: 900; color: var(--md2-navy); }
.md2-compose__autosave { display: flex; align-items: center; gap: 8px; min-height: 44px; margin: 0 0 var(--md2-space-2); padding: 0 12px; background: var(--md2-bg-2); border: 1px solid var(--md2-line-3); border-radius: var(--md2-radius); font-size: 13px; color: var(--md2-text-2); }
.md2-compose__loader { display: inline-flex; }
.md2-compose__spin { display: inline-block; width: 20px; height: 20px; } /* .md2-loading::after (M07, 00318) draws the spinner inside this box */
.md2-compose__autosave-info { flex: 1 1 auto; min-width: 0; }
.md2-compose__form .md2-field { margin: 0 0 var(--md2-space-2); }
.md2-field__opt { font-weight: 400; color: var(--md2-text-2); }
.md2-compose__cms { margin: 0 0 var(--md2-space-2); }
.md2-compose__count { font-family: var(--md2-font-mono); }
.md2-compose__error { margin: -8px 0 var(--md2-space-2); }
.md2-compose__emos { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 0 0 var(--md2-space-2); padding: 0 0 var(--md2-space-2); border-bottom: 1px solid var(--md2-line-3); }
.md2-compose__emos-label { font-size: 13px; font-weight: 600; color: var(--md2-navy); }
.md2-compose__emos-hint { font-weight: 400; color: var(--md2-text-2); }
.md2-compose__emos-list { display: flex; flex-wrap: wrap; gap: 4px; }
.md2-compose__emo { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; background: var(--md2-white); border: 1px solid var(--md2-line-3); border-radius: var(--md2-radius); cursor: pointer; }
.md2-compose__emo:hover { border-color: var(--md2-navy); background: var(--md2-bg-2); }
.md2-compose__emo:focus { outline: none; box-shadow: var(--md2-focus); }
.md2-compose__emo img { display: block; width: 20px; height: 20px; }
.md2-compose__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.md2-compose__head { margin: 0 0 var(--md2-space-2); }
.md2-compose__head-actions { margin-left: auto; align-self: center; }
/* p=68 recipient cards */
.md2-pick__admin { display: flex; flex-wrap: wrap; gap: 8px; }
.md2-pick { display: flex; align-items: center; gap: 12px; margin: 0 0 var(--md2-space-1); padding: 12px 16px; background: var(--md2-white); border: 1px solid var(--md2-line-3); border-radius: var(--md2-radius); box-shadow: var(--md2-shadow); font-family: var(--md2-font); }
.md2-pick__main { flex: 1 1 auto; min-width: 0; }
.md2-pick__name { font-size: 15px; font-weight: 600; color: var(--md2-navy); overflow-wrap: anywhere; }
.md2-pick__name a { display: inline-flex; align-items: center; min-height: 44px; color: var(--md2-navy); font-family: var(--md2-font-mono); font-weight: 700; } /* 44 px target (G7) */
.md2-pick__online { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 10px; background: var(--md2-green); color: var(--md2-white); font-size: 11px; font-weight: 600; vertical-align: middle; } /* 00329 R3 K2: Albert Sans 700 not loaded -> 600 */
.md2-pick__zk { margin-top: 4px; font-size: 13px; color: var(--md2-text-2); }
.md2-pick__zk-link { display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-width: 44px; min-height: 44px; color: var(--md2-navy); text-decoration: none; } /* R3-00325 K7: 44 px target, token colour */
.md2-pick__zk-link:hover { text-decoration: underline; }
.md2-pick__zk-link:focus, .md2-pick__zo-link:focus { outline: none; box-shadow: var(--md2-focus); border-radius: 50%; }
.md2-pick__zo-link { display: block; }
.md2-pick__cta { flex: 0 0 auto; }
@media (forced-colors: active) {
	.md2-compose__emo:focus { outline: 2px solid CanvasText; outline-offset: 2px; }
}
@media (max-width: 767.98px) {
	.md2-compose { padding: var(--md2-space-2) 12px 12px; }
	.md2-compose__actions .md2-btn { flex: 1 1 100%; }
	.md2-compose__head { flex-wrap: wrap; }
	.md2-compose__head-actions { flex: 1 1 100%; margin: 8px 0 0; }
	.md2-pick { flex-wrap: wrap; }
	.md2-pick__cta { flex: 1 1 100%; }
	.md2-pick__cta .md2-btn { width: 100%; }
}

/* ---- F2 Poczta (00326): V30 bins / drafts p=63/64/65 (md2_kosz_*), card 5d: tabs inside the box, select-all bar, C02 rows (00323),
   bulk action buttons (visible once something is selected; always visible without JS), legend, mobile "Zaznacz" mode; tokens only. ---- */
.md2-kosz__tabs { margin: 0 0 var(--md2-space-2); font-family: var(--md2-font); }
.md2-kosz__tabs-list { display: flex; flex-wrap: wrap; gap: 4px; margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--md2-line-3); }
.md2-kosz__tab-link { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; color: var(--md2-navy); font-size: 14px; font-weight: 600; text-decoration: none; border: 1px solid transparent; border-bottom: 0; border-radius: var(--md2-radius) var(--md2-radius) 0 0; }
.md2-kosz__tab-link:hover { background: var(--md2-bg-2); }
.md2-kosz__tab-link:focus { outline: none; box-shadow: var(--md2-focus); }
.md2-kosz__tab--active .md2-kosz__tab-link { background: var(--md2-navy); color: var(--md2-white); border-color: var(--md2-navy); }
.md2-kosz__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; min-height: 44px; margin: 0 0 var(--md2-space-2); padding: 0 12px; background: var(--md2-white); border: 1px solid var(--md2-line-3); border-radius: var(--md2-radius); font-family: var(--md2-font); font-size: 13px; color: var(--md2-text-2); }
.md2-kosz__all { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; color: var(--md2-navy); font-weight: 600; }
.md2-kosz__all input { width: 20px; height: 20px; margin: 0; accent-color: var(--md2-navy); cursor: pointer; }
.md2-kosz__all input:focus-visible { outline: 0; box-shadow: var(--md2-focus); border-radius: 3px; } /* token focus ring (R3-00326 K8) */
.md2-kosz__actions-count { display: none; } /* desktop: the counter lives in the select bar; shown inside the fixed bar on mobile only */
.md2-kosz__count { margin-left: auto; }
.md2-kosz__count b { font-family: var(--md2-font-mono); }
.md2-kosz__selected b { font-family: var(--md2-font-mono); color: var(--md2-navy); }
.md2-kosz__mode { display: none; } /* mobile only */
.md2-kosz__list { margin: 0; }
.md2-kosz__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: var(--md2-space-2) 0; }
.md2-js .md2-kosz__actions:not(.md2-kosz__actions--on) { display: none; } /* progressive: without JS the buttons stay visible (legacy links were always there) */
.md2-kosz__legend { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; margin: var(--md2-space-2) 0 0; padding: 12px 16px; background: var(--md2-bg-2); border-radius: var(--md2-radius); font-family: var(--md2-font); font-size: 13px; color: var(--md2-text-2); }
.md2-kosz__legend-title { font-weight: 600; color: var(--md2-navy); }
@media (forced-colors: active) {
	.md2-kosz__tab--active .md2-kosz__tab-link { border: 2px solid CanvasText; }
	.md2-kosz__tab-link:focus { outline: 2px solid CanvasText; outline-offset: 2px; }
}
@media (max-width: 767.98px) {
	.md2-kosz__tab-link { padding: 0 12px; font-size: 13px; }
	.md2-kosz__bar { padding: 0 8px; }
	.md2-kosz__count { flex: 1 1 100%; margin: 0; }
	.md2-kosz__mode { display: inline-flex; margin-left: auto; min-height: 44px; }
	/* select mode (D87): checkboxes hidden until "Zaznacz"; the bar's select-all too */
	.md2-js body:not(.md2-bulk-mode) .md2-kosz__list .md2-msg__check, .md2-js body:not(.md2-bulk-mode) .md2-kosz__bar .md2-kosz__all { display: none; } /* scoped to the bins (R1-00326 N3) */
	.md2-js body:not(.md2-bulk-mode) .md2-kosz__list .md2-msg__head { grid-template-columns: 0 auto auto minmax(0, 1fr); }
	/* sticky bulk actions above the tab bar (HANDOFF 8.2c) */
	/* fixed, not sticky: #md2-legacy is the scroll container (overflow-x: auto, D26/00315), so a sticky bar inside it never engages (R3-00326 B1) */
	.md2-js .md2-kosz__actions--on { position: fixed; left: 8px; right: 8px; bottom: calc(var(--md2-tabbar-h, 64px) + 8px); z-index: 30; margin: 0; padding: 8px; background: var(--md2-white); border: 1px solid var(--md2-line-2); border-radius: var(--md2-radius); box-shadow: var(--md2-shadow-pop); }
	.md2-js body.md2-bulk-fixed .md2-box:has(.md2-kosz__list) { padding-bottom: 84px; } /* room under the last row / pager / legend for the fixed bar */
	.md2-js .md2-kosz__actions--on .md2-kosz__actions-count { display: block; flex: 1 1 100%; margin: 0 0 6px; font-size: 13px; font-weight: 600; color: var(--md2-text-2); }
	.md2-kosz__actions .md2-btn { flex: 1 1 45%; }
}

/* ---- Owner 06.09 (D97): quotes inside message bodies (thread bubbles 00324, bin rows 00326). Legacy [quote] = table bgcolor 945B23 (attribute selectors without '#': the palette guard of 00305 T8 scans hex literals)
   (1 px frame via cellspacing) + peach "Cytat:" cell + body cell (my/func.php:1354) - in the sandbox the frame is invisible, so only the
   header marked the quote. Now: a quote block with a navy rule and a tint around the whole quoted text, "Cytat:" as a small label. ---- */
.md2-msg__text table[bgcolor*="945B23"], .md2-bubble__text table[bgcolor*="945B23"] { display: block; width: auto !important; max-width: 100%; margin: 6px 0 12px; padding: 0; border: 0; border-left: 3px solid var(--md2-navy); border-radius: 0 var(--md2-radius) var(--md2-radius) 0; background: rgba(0, 51, 104, 0.06) !important; border-collapse: collapse; border-spacing: 0; }
.md2-msg__text table[bgcolor*="945B23"] tbody, .md2-bubble__text table[bgcolor*="945B23"] tbody, .md2-msg__text table[bgcolor*="945B23"] tr, .md2-bubble__text table[bgcolor*="945B23"] tr { display: block; }
.md2-msg__text table[bgcolor*="945B23"] td, .md2-bubble__text table[bgcolor*="945B23"] td { display: block; padding: 8px 14px 10px; background: transparent !important; color: var(--md2-text); }
.md2-msg__text table[bgcolor*="945B23"] td[bgcolor*="f4d2a8"], .md2-bubble__text table[bgcolor*="945B23"] td[bgcolor*="f4d2a8"] { padding: 8px 14px 0; }
.md2-msg__text table[bgcolor*="945B23"] .braz, .md2-bubble__text table[bgcolor*="945B23"] .braz { display: inline-block; font-size: 12px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--md2-text-2); }
.md2-msg__text table[bgcolor*="945B23"] td:last-child, .md2-bubble__text table[bgcolor*="945B23"] td:last-child { font-size: 14px; line-height: 1.5; }
.md2-msg__text table[bgcolor*="945B23"] + br, .md2-bubble__text table[bgcolor*="945B23"] + br { display: none; } /* the blank line legacy prints right after [/quote] */

/* ---- F2 Poczta (00327): V57 limit pozdrowien - ?p=123 card (canvas V57) + M21 modal body; the meter reuses .md2-progress ---- */
.md2-limit { font-family: var(--md2-font); max-width: 900px; margin: 0 0 var(--md2-space-2); padding: var(--md2-space-2) var(--md2-space-3); /* tokens 16/24 (R3-00327 K9; canvas 18/22) */ background: var(--md2-white); border: 1px solid var(--md2-line); border-radius: var(--md2-radius); box-shadow: var(--md2-shadow); color: var(--md2-text); }
.md2-limit__title { margin: 0 0 10px; font-size: 22px; font-weight: 600; line-height: 1.3; color: var(--md2-navy); }
.md2-limit__cms { font-size: 15px; line-height: 1.6; color: var(--md2-text); }
.md2-limit__cms font { color: inherit; } /* CMS 5410 verbatim: the legacy red <font> reads as body text in the card (D91) */
.md2-limit__cms a, .md2-limit__cms a font { color: var(--md2-navy); text-decoration: underline; }
.md2-limit__cms a { display: inline-block; min-height: 24px; padding: 4px 0; } /* inline CMS link: comfortable but still a text link */
.md2-limit__cms a:focus-visible { outline: 0; box-shadow: var(--md2-focus); border-radius: 3px; } /* token focus ring (R3-00327 K3) */
.md2-limit__cms br:last-child { display: none; } /* CMS 5410 ends with <br> (a blank line in legacy) - the card's own spacing replaces it (D91; R1-00327 K3) */
.md2-limit__meter { display: flex; align-items: center; gap: 12px; margin-top: 14px; }
.md2-limit__bar { flex: 1 1 auto; width: auto; height: 10px; background: var(--md2-bg); }
.md2-limit__bar .md2-progress__bar { background: var(--md2-green); }
.md2-limit--full .md2-limit__bar .md2-progress__bar { background: var(--md2-red); }
.md2-limit__count { font-family: var(--md2-font-mono); font-size: 13px; font-weight: 700; color: var(--md2-navy); white-space: nowrap; }
.md2-limit--full .md2-limit__count { color: var(--md2-red); }
.md2-limit__hint { margin: 8px 0 0; font-size: 13px; color: var(--md2-text-2); }
.md2-limit__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.md2-limit__actions .md2-btn { min-height: 48px; }
.md2-limit--compact { max-width: none; margin: 0; padding: 0; border: 0; box-shadow: none; background: transparent; }
#md2-limit-modal .md2-modal__actions .md2-btn { min-height: 44px; }
#md2-limit-modal .md2-modal__body { max-height: min(60vh, 520px); overflow: auto; } /* CMS 5410 is owner-edited: a long text scrolls inside, the buttons stay reachable (R3-00327 K5) */
@media (max-width: 767.98px) {
	.md2-limit { padding: 16px; }
	.md2-limit__title { font-size: 20px; }
	.md2-limit__actions .md2-btn { flex: 1 1 100%; justify-content: center; }
	#md2-limit-modal .md2-modal__body { max-height: 50vh; }
}

/* ---- F2 Poczta (00328): J-poczta in the sandbox - bulk buttons of V31 (p=39 / p=56) inside the legacy table + a minimal bridge for the
   legacy table_simple lists (kontakty p=39, kontakty usuniete p=56; the admin mail has no table_simple): typography and spacing from the tokens, cells and
   header readable, nothing about the columns or fields changes ---- */
.md2-jp { font-family: var(--md2-font); display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 12px 0 4px; }
.md2-jp__hint { flex: 1 1 100%; font-size: 13px; color: var(--md2-text-2); }
.md2-jp__actions { display: flex; flex-wrap: wrap; gap: 8px 12px; }
.md2-jp__actions .md2-btn { min-height: 44px; }
.md2-legacy table.table_simple { font-family: var(--md2-font); font-size: 14px; border-collapse: separate; border-spacing: 0; border: 1px solid var(--md2-line-3); border-radius: var(--md2-radius); overflow: hidden; background: var(--md2-white); }
.md2-legacy table.table_simple th, .md2-legacy table.table_simple td { padding: 8px 10px; overflow-wrap: anywhere; }   /* R3 K3: no forced vertical-align (legacy valign attrs still apply); K4: long tokens wrap */
.md2-legacy table.table_simple th { background: var(--md2-navy); color: var(--md2-white); font-weight: 600; text-align: left; }
.md2-legacy table.table_simple tr + tr td { border-top: 1px solid var(--md2-line-3); }
.md2-legacy table.table_simple a { color: var(--md2-navy); }
.md2-legacy table.table_simple input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--md2-navy); }
.md2-legacy .po_nav_options li a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }   /* R3 K2: 44 px hit area for the legacy icon links of the admin mail (napisz/odpisz/usun) */
@media (max-width: 767.98px) {
	.md2-jp__actions { flex-direction: column; align-items: stretch; width: 100%; }
	.md2-jp__actions .md2-btn { justify-content: center; }
	.md2-legacy table.table_simple { display: block; overflow-x: auto; max-width: 100%; }   /* wide legacy tables scroll inside, never the page */
}

/* ---- F2 addendum (00378): V31 Kontakty 2.0 - p=39 Moje Kontakty / p=56 Kontakty usuniete as contact rows C13 (mockup 07.09, owner GO):
   checkbox | photo tile with the match ring | who / meta / motto / when | last contact + status action. Tokens only; the select-all bar,
   the bulk block and the mobile select mode reuse the V30 classes (md2-kosz__bar / md2-kosz__actions / md2-kosz__list, 00326). ---- */
.md2-kt__box { font-family: var(--md2-font); }
.md2-kt__lead { margin: -8px 0 16px; font-size: 14px; color: var(--md2-text-2); } /* R3 K1: above the box (artboard Main: margin -8px 0 16px) */
.md2-kt__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin: 0 0 var(--md2-space-2); }
.md2-kt__count { margin: 0; font-size: 14px; color: var(--md2-text-2); }
.md2-kt__count b { font-family: var(--md2-font-mono); color: var(--md2-navy); }
.md2-kt__sort { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--md2-text-2); }
.md2-kt__sort-label { white-space: nowrap; }
.md2-kt__sort form { margin: 0; display: inline-flex; align-items: center; }
.md2-kt__sort select { box-sizing: border-box; min-width: 240px; min-height: 44px; padding: 0 12px; background: var(--md2-field); border: 1px solid var(--md2-line-2); border-radius: var(--md2-radius); color: var(--md2-navy); font-family: var(--md2-font); font-size: 14px; font-weight: 600; }
.md2-kt__sort select:focus { outline: none; box-shadow: var(--md2-focus); }
.md2-kt__list { margin: 0; }
.md2-kt { position: relative; display: flex; align-items: flex-start; gap: 16px; margin: 0 0 var(--md2-space-1); padding: 12px 16px 12px 8px; background: var(--md2-white); border: 1px solid var(--md2-line-3); border-radius: var(--md2-radius); color: var(--md2-text); }
.md2-kt--checked { border-color: var(--md2-muted); box-shadow: inset 3px 0 0 var(--md2-navy); } /* 00386 H15 (R3 K2): the V31 rows are flat like the C02 rows - 1 px border, inset bar when checked */
.md2-kt--deleted { opacity: 0.7; }
.md2-kt__check { flex: 0 0 auto; margin: -4px 0 0 0; }
.md2-kt__photo { position: relative; flex: 0 0 auto; width: 60px; }
.md2-kt__photo-link { display: block; width: 60px; height: 60px; border-radius: var(--md2-radius); text-decoration: none; } /* 00386 H1: G1 radius 6 px (R1-00378 K4) */
.md2-kt__photo-link:focus { outline: none; box-shadow: var(--md2-focus); }
.md2-kt__tile { position: relative; display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 60px; height: 60px; border-radius: var(--md2-radius); border: 1px solid var(--md2-line-3); background: var(--md2-bg-3); overflow: hidden; color: var(--md2-muted); }
.md2-kt__tile img { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; object-fit: cover; } /* 00386 H5: the photo covers the always-printed silhouette; alt="" + a broken file = nothing painted, the silhouette shows (R3-00380 K10) */
.md2-kt__tile--blur img { filter: blur(3px); }
.md2-kt__lock { position: absolute; right: -6px; bottom: -6px; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: var(--md2-white); border: 1px solid var(--md2-line-2); color: var(--md2-navy); }
.md2-kt__zo { position: absolute; left: -8px; top: -8px; width: 40px; height: 40px; }
.md2-kt__zo .md2-zo__val { font-family: var(--md2-font-mono); font-size: 10px; }
.md2-kt__zo-link { text-decoration: none; }
.md2-kt__zo-link:focus { outline: none; }
.md2-kt__zo-link:focus .md2-zo { box-shadow: var(--md2-focus); }
.md2-kt__main { flex: 1 1 auto; min-width: 0; }
.md2-kt__who { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; min-height: 24px; }
.md2-kt__login { font-family: var(--md2-font-mono); font-size: 14px; font-weight: 700; color: var(--md2-navy); text-decoration: underline; }
.md2-kt__login--plain { color: var(--md2-text-2); text-decoration: none; }
.md2-kt__login--struck { text-decoration: line-through; }
.md2-kt__name { font-size: 13px; color: var(--md2-text-2); }
.md2-kt__online { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 600; color: var(--md2-green-2); }
.md2-kt__online::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--md2-green); }
.md2-chip { display: inline-flex; align-items: center; gap: 4px; min-height: 20px; padding: 0 6px; border-radius: var(--md2-radius); /* R3 K6: canon G1 6 px (artboard had 4 px) */ font-size: 11px; font-weight: 600; letter-spacing: 0.02em; text-decoration: none; } /* 00329 R3 K2: Albert Sans 700 not loaded -> 600 */
.md2-chip--ph { background: var(--md2-bg-3); color: var(--md2-navy); border: 1px solid var(--md2-line-2); }
.md2-chip--muted { background: var(--md2-bg-3); color: var(--md2-text-2); }
.md2-chip--chat { background: var(--md2-green); color: var(--md2-white); min-height: 24px; }
.md2-chip--chat:hover { background: var(--md2-green-2); color: var(--md2-white); }
.md2-kt__meta { margin: 2px 0 0; font-size: 13px; line-height: 20px; color: var(--md2-text-2); }
.md2-kt__crit { display: inline-flex; align-items: center; gap: 6px; margin-left: 10px; min-height: 24px; font-size: 12.5px; color: var(--md2-navy); text-decoration: none; }
.md2-kt__crit b { font-family: var(--md2-font-mono); }
.md2-kt__motto { display: flex; gap: 8px; align-items: flex-start; margin: 4px 0 0; font-size: 13.5px; line-height: 20px; color: var(--md2-text); font-style: italic; }
.md2-kt__quote { flex: 0 0 auto; margin-top: 4px; color: var(--md2-red); }
.md2-kt__motto--none { color: var(--md2-muted); }
.md2-kt__when { margin: 4px 0 0; font-size: 12.5px; line-height: 18px; color: var(--md2-text-2); }
.md2-kt__when b { font-family: var(--md2-font-mono); font-weight: 400; color: var(--md2-text); }
.md2-kt__side { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; min-width: 210px; }
.md2-kt__date { font-family: var(--md2-font-mono); font-size: 12px; color: var(--md2-text-2); white-space: nowrap; }
.md2-kt__date small { font-family: var(--md2-font); font-size: 12px; margin-right: 6px; }
.md2-kt__btn { white-space: nowrap; }
.md2-kt__btn .md2-env, .md2-kt__status .md2-env { display: inline-flex; color: inherit; }
.md2-kt__status { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 8px; color: var(--md2-text-2); font-size: 14px; text-decoration: none; border-radius: var(--md2-radius); }
.md2-kt__status:hover { color: var(--md2-navy); background: var(--md2-bg); }
.md2-kt__status:focus, .md2-kt__btn:focus, .md2-kt__login:focus, .md2-kt__crit:focus { outline: none; box-shadow: var(--md2-focus); }
.md2-kt__actions { flex-wrap: wrap; }
.md2-kt__legend-item { display: inline-flex; align-items: center; gap: 6px; }
.md2-kt__legend-zo { width: 28px; height: 28px; }
.md2-kt__legend-zo .md2-zo__val { font-size: 8px; }
@media (max-width: 767.98px) {
	.md2-kt__head { margin-bottom: 12px; }
	.md2-kt__sort { width: 100%; }
	.md2-kt__sort form, .md2-kt__sort select { flex: 1 1 auto; min-width: 0; width: 100%; }
	.md2-kt__sort select { font-size: 16px; } /* R3 K7: canon G7 (fields >= 16 px on mobile); the artboard and ?p=129 have 14 px - CP */
	.md2-kt__lead { display: none; } /* R3 K13: the Mobile artboard has no lead */
	.md2-kt { flex-wrap: wrap; gap: 10px; padding: 12px 12px 12px 4px; }
	.md2-kt__photo { width: 56px; }
	.md2-kt__photo-link, .md2-kt__tile { width: 56px; height: 56px; }
	.md2-kt__side { flex: 1 1 100%; align-items: stretch; min-width: 0; }
	.md2-kt__btn, .md2-kt__status { width: 100%; justify-content: center; white-space: normal; }
	/* select mode (D87): the checkbox column collapses until "Zaznacz" (the md2-msg__check rule of 00326 hides the box itself) */
	.md2-js body:not(.md2-bulk-mode) .md2-kt__check { display: none; }
	.md2-js body.md2-bulk-mode .md2-kt { padding-left: 4px; }
}

/* ---- F2 addendum (00380): Poczta gaps vs the 2.0 mockups - flat L2 marker, big C08, bubble avatars (card 9e) ---- */
/* 00380: the external marker (arrow) of the Czat item is printed by md2_subnav() itself (desktop link + mobile option) - no CSS duplicate */
.md2-subnav__sep { flex: 0 0 auto; align-self: center; width: 1px; height: 24px; margin: 0 8px; background: rgba(255, 255, 255, 0.45); } /* R3-00380 B1: the group leaving the panel (cards 5c/5e) */
.md2-menu__ext { margin-left: 6px; vertical-align: middle; transform: rotate(-45deg); } /* R3-00380 r2 N5: the Czat row of the Menu sheet, like .md2-subnav__ext */
.md2-legacy .md2-bubble__avatar img, .md2-bubble__avatar img { display: block; width: 100%; height: 100%; object-fit: cover; } /* R3-00380 B2: wins over legacy-bridge .md2-legacy img { height: auto } */
.md2-legacy .md2-kt__tile img, .md2-kt__tile img { display: block; width: 100%; height: 100%; object-fit: cover; } /* R3-00380 B2: the same collision on the V31 tile (00378) */
.md2-empty--big { padding: 40px 24px 36px; text-align: center; background: var(--md2-white); border-style: solid; }
.md2-empty--big .md2-empty__icon { display: inline-flex; align-items: center; justify-content: center; width: 96px; height: 96px; margin: 0 auto 20px; border-radius: 50%; background: var(--md2-bg-2); color: var(--md2-navy); }
.md2-empty--big .md2-empty__text { font-size: 24px; font-weight: 900; line-height: 1.25; color: var(--md2-navy); }
.md2-empty--big .md2-empty__hint { margin: 8px auto 0; max-width: 560px; font-size: 15px; color: var(--md2-text-2); overflow-wrap: anywhere; } /* R3-00384 K-2 (merged here, 00386 H27): an unbreakable word must not widen the card */
.md2-empty--big .md2-empty__cta { margin-top: 20px; }
.md2-bubble { align-items: flex-end; gap: 12px; }
.md2-bubble--own { flex-direction: row-reverse; justify-content: flex-start; }
.md2-bubble__avatar { flex: 0 0 auto; display: block; width: 44px; height: 44px; border: 1px solid var(--md2-line-3); border-radius: var(--md2-radius); background: var(--md2-bg-3); overflow: hidden; } /* 00386 H1: G1 radius 6 px (R3-00380 K4) */
.md2-bubble__avatar img { display: block; width: 100%; height: 100%; object-fit: cover; font-size: 0; color: transparent; }
.md2-bubble__card { flex: 1 1 auto; max-width: 760px; width: auto; }
@media (max-width: 767.98px) {
	.md2-bubble { gap: 8px; }
	.md2-bubble__avatar { width: 32px; height: 32px; }
	.md2-empty--big { padding: 28px 16px; }
	.md2-empty--big .md2-empty__icon { width: 72px; height: 72px; margin-bottom: 14px; } /* R3-00380 r2 N4: same specificity as the desktop rule */
	.md2-empty--big .md2-empty__text { font-size: 20px; }
	.md2-empty--big .md2-empty__cta .md2-btn { width: 100%; justify-content: center; } /* 00384 (merged here, 00386 H27 / R3-00384 K-4): the CTA fills the width on phones */
}

/* ---- F2 addendum (00379): V33 conversation with the Administrator (p=50/51/84/85 - V28 thread anatomy: md2_thread_head + md2_bubble of
   00324) and the p=52 form (md2_field). Tokens only; the bubbles/thread head/actions inherit the 00324 rules. ---- */
.md2-adm__box { font-family: var(--md2-font); }
.md2-adm__lead { margin: 0 0 var(--md2-space-2); font-size: 14px; color: var(--md2-text-2); }
.md2-adm__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin: 0 0 var(--md2-space-2); }
.md2-adm__count { margin: 0; font-size: 14px; color: var(--md2-text-2); }
.md2-adm__count b { font-family: var(--md2-font-mono); color: var(--md2-navy); }
.md2-adm__thread .md2-thread__pic img, .md2-adm__thread .md2-thread__pic > img { border-radius: var(--md2-radius); }
.md2-adm__list { margin: 0; }
.md2-adm__actions { justify-content: flex-end; }
.md2-adm__form { max-width: 720px; }
.md2-adm__field { margin: 0 0 var(--md2-space-2); }
.md2-adm__form .md2-field__control--textarea { min-height: 180px; }
.md2-adm__form .md2-field--error .md2-field__control { border-color: var(--md2-red); box-shadow: 0 0 0 3px rgba(173, 0, 0, 0.12); }
.md2-adm__actions-form { display: flex; flex-wrap: wrap; gap: 12px; margin-top: var(--md2-space-1); }
.md2-bubble--new .md2-bubble__card { box-shadow: 0 0 0 3px rgba(122, 195, 25, 0.35); } /* R1-00379 K2: the message just sent (D112) */
.md2-adm__lead { margin: -8px 0 16px; } /* R3-00379 N3: above the box like the V31/V35 leads */
.md2-toast + .md2-adm__lead, .md2-toast + .md2-box { margin-top: 16px; } /* 00386 H9: the in-flow M05 toast keeps the 16 px step (A3 scale) to the lead / box (R3-00379 N6) */
@media (max-width: 767.98px) {
	.md2-adm__head .md2-btn { width: 100%; justify-content: center; }
	.md2-adm__actions-form .md2-btn { flex: 1 1 100%; justify-content: center; }
}

/* ---- F2 addendum (00381): V35 karta statusu kontaktu (prepare_news: p=28/41/42/43/57/58/47/54) + pasek "Inne profile" (md2_reco) ---- */
.md2-sn__lead { margin: -8px 0 16px; font-size: 14px; color: var(--md2-text-2); }
.md2-sn__head { margin: 0 0 4px; }
.md2-sn__to { margin: 0 0 4px; font-size: 12px; color: var(--md2-text-2); }
.md2-sn__info, .md2-sn__gate { margin: 0 0 var(--md2-space-2); }
.md2-sn__info .md2-alert__body p, .md2-sn__gate .md2-alert__body p { margin: 0 0 8px; }
.md2-sn__tpl { margin: 0 0 var(--md2-space-2); }
.md2-sn__tpl-head { margin: 0 0 8px; font-size: 14px; font-weight: 600; color: var(--md2-navy); }
.md2-sn__tplform { margin: 0; }
.md2-sn__tpl-list { display: grid; gap: 8px; }
.md2-sn__tpl-item { display: flex; align-items: center; gap: 12px; box-sizing: border-box; min-width: 0; min-height: 44px; padding: 8px 12px; font-weight: 400; /* 00387 A18: <label> = Bootstrap 700 -> regular; --on keeps 600 */ background: var(--md2-white); border: 1px solid var(--md2-line-3); border-radius: var(--md2-radius); font-size: 14px; color: var(--md2-text); cursor: pointer; }
.md2-sn__tpl-item--on, .md2-sn__tpl-item:has(input:checked) { border-color: var(--md2-navy); box-shadow: inset 3px 0 0 var(--md2-navy); font-weight: 600; }
.md2-sn__tpl-radio { flex: 0 0 auto; width: 20px; height: 20px; margin: 0; accent-color: var(--md2-navy); }
.md2-sn__tpl-text { min-width: 0; overflow-wrap: anywhere; } /* R3 N3: unbreakable tokens wrap inside the tile */
.md2-sn__form { margin: 0; }
.md2-sn__prepared { margin: 0 0 8px; font-size: 14px; color: var(--md2-text-2); }
.md2-sn__popup { margin: 0 0 12px; font-size: 14px; }
.md2-sn__msg { box-sizing: border-box; width: min(100%, 760px); margin: 0 0 12px; padding: 12px 16px; background: var(--md2-bg-2); border: 1px solid var(--md2-line-2); border-radius: var(--md2-radius); border-bottom-right-radius: 2px; }
.md2-sn__msg--edit { padding: 8px 16px; margin-bottom: 8px; }
.md2-sn__subject { margin: 0 0 6px; font-size: 15px; font-weight: 900; color: var(--md2-navy); }
.md2-sn__msg--edit .md2-sn__subject { margin: 0; }
.md2-sn__text { margin: 0; font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
.md2-sn__form .md2-field--textarea { max-width: 760px; } /* R3 B2: the field = the bubble width (md2_field() emits no option class) */
.md2-sn__confirm { margin: 16px 0 12px; font-size: 13px; color: var(--md2-text-2); }
.md2-sn__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.md2-reco { margin: 24px 0 0; }
.md2-reco__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; margin: 0 0 12px; }
.md2-reco__title { margin: 0; font-size: 18px; font-weight: 900; color: var(--md2-navy); }
.md2-reco__all { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; color: var(--md2-navy); }
.md2-reco__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; max-width: 640px; margin: 0; padding: 0; list-style: none; }
.md2-reco__grid li { list-style: none; margin: 0; }
@media (max-width: 767.98px) {
	/* R3 N1: the lead stays on mobile - artboard V35Mobile shows it under the H1 */
	.md2-sn__actions .md2-btn { width: 100%; justify-content: center; }
	.md2-sn__msg { width: 100%; }
	.md2-reco__grid { display: flex; overflow-x: auto; gap: 12px; padding: 0 0 8px; max-width: none; }
	.md2-reco__grid li { flex: 0 0 150px; } /* R3 N6: the third card peeks in at 390 (2 x 150 + 12 < 360) */
}

/* ---- F2 addendum (00382): V55 Profil skasowany / nieaktywny (CMS 1142/1141 in the 2.0 chrome) ---- */
.md2-pg__box .md2-box__body { padding-top: 16px; } /* R3 N1: the card does not touch the box edge (box without a head) */
.md2-pg__alert { margin: 0 0 16px; font-size: 15px; line-height: 1.5; }
.md2-pg__alert .md2-alert__body a { display: inline; padding: 0; min-height: 0; } /* R3 N2: CMS text links stay inline on mobile (the buttons below are the touch targets) */
.md2-pg__alert .md2-alert__body p, .md2-pg__alert .md2-alert__body P { margin: 0 0 8px; }
.md2-pg__alert .md2-alert__body p:last-child, .md2-pg__alert .md2-alert__body P:last-child { margin: 0; }
.md2-pg__alert .md2-alert__body a { color: var(--md2-navy); }
.md2-pg__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
@media (max-width: 767.98px) {
	.md2-pg__actions .md2-btn { width: 100%; justify-content: center; }
}

/* ---- F2 addendum (00383): V56 Czat wrapper (/chat/?p=1) ---- */
.md2-chat__lead { margin: -8px 0 16px; font-size: 14px; color: var(--md2-text-2); }
.md2-chat { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; }
.md2-chat--aside { grid-template-columns: minmax(0, 1fr) 300px; }
.md2-chat__main { min-width: 0; }
.md2-chat__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin: 0 0 16px; }
.md2-chat__title { margin: 0; font-size: 14px; font-weight: 600; color: var(--md2-navy); }
.md2-chat__frame { min-height: 550px; background: var(--md2-bg-3); border: 1px solid var(--md2-line-3); border-radius: var(--md2-radius); overflow: hidden; }
.md2-chat__frame iframe { display: block; width: 100%; border: 0; }
.md2-chat__how { margin: 16px 0 0; border-top: 1px solid var(--md2-line-3); }
.md2-chat__sum { display: flex; align-items: center; gap: 8px; min-height: 44px; font-size: 14px; font-weight: 600; color: var(--md2-navy); cursor: pointer; list-style: none; }
.md2-chat__sum::-webkit-details-marker { display: none; }
.md2-chat__how[open] .md2-chat__chev { transform: rotate(90deg); } /* R1 K1: arrow-right points down when open */
.md2-chat__cms { font-size: 14.5px; line-height: 1.6; color: var(--md2-text); }
.md2-chat__cms p { margin: 0 0 10px; }
.md2-chat__cms a { color: var(--md2-navy); }
@media (min-width: 768px) {
	/* explicit placement (auto-placement put the spanning aside into column 1): main col 1 row 1, aside col 2 rows 1-2, help col 1 row 2 */
	.md2-chat--aside .md2-chat__main { grid-column: 1; grid-row: 1; }
	.md2-chat--aside .md2-chat__aside { grid-column: 2; grid-row: 1 / span 2; }
	.md2-chat--aside .md2-chat__help { grid-column: 1; grid-row: 2; }
}
.md2-chat__cms--help { font-size: 13.5px; }
.md2-chat__asidebox { padding: 12px; }
.md2-chat__lastbox table { width: 100%; }
.md2-chat__lastbox td { padding: 2px 0; font-size: 13px; color: var(--md2-text-2); }
.md2-chat__lastbox a { font-family: var(--md2-font-mono); font-weight: 700; color: var(--md2-navy); }
.md2-chat__lastbox img { max-width: 100%; height: auto; border-radius: var(--md2-radius); } /* 00329 R3 K3: G1 6 px */
.md2-chat__cms--gate .menu_user_btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 16px; margin: 8px 0; background: var(--md2-green); color: var(--md2-white); border-radius: var(--md2-radius); font-weight: 600; text-decoration: none; }
.md2-chat__gatetitle { margin: 0 0 12px; font-size: 20px; font-weight: 900; line-height: 1.25; color: var(--md2-navy); }
.md2-chat__cms--gate .md2-chat__cta { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 44px; padding: 10px 16px; margin: 6px 8px 6px 0; border-radius: var(--md2-radius); font-weight: 600; text-decoration: none; }
.md2-chat__cms--gate .md2-chat__cta.md2-btn--secondary { background: var(--md2-navy); color: var(--md2-white); }
.md2-chat__cms--gate .menu_user_btn.md2-chat__cta { background: var(--md2-green) !important; color: var(--md2-white) !important; } /* R3 N5: the legacy .menu_user_btn rule carries !important (#6CA323) - token green wins like panel.css M-popups */
@media (max-width: 767.98px) {
	/* R1 N4: the lead stays on mobile - artboard V56Mobile shows it */
	.md2-chat__cms--gate .md2-chat__cta { width: 100%; margin-right: 0; }
	.md2-chat--aside { grid-template-columns: minmax(0, 1fr); }
	.md2-chat__frame { min-height: 480px; }
	.md2-chat__open { width: 100%; justify-content: center; }
}
.md2-chat__chev { transition: transform .15s; }
/* 00329 R3 K1: components rendered inside the .md2-legacy sandbox inherit its Helvetica Neue - declare the 2.0 font explicitly (lesson 00325) */
.md2-kt__lead, .md2-adm__lead, .md2-sn__lead, .md2-chat__lead, .md2-reco__title, .md2-reco__all, .md2-card__info { font-family: var(--md2-font); }
/* 00387 A3 (H26): the dead sort form over the big C08 stays in the DOM (contract) but hidden - the author display beats the hidden attribute */
.md2-kt__sort[hidden], .md2-kt__head[hidden] { display: none; }   /* 00387 A3 + R3 K1 */
/* 00387 A14 (owner GO 08.09, canon G7): the inline targets of the V31 row reach 44 px on phones */
@media (max-width: 767.98px) {
	.md2-kt__login, .md2-kt__crit { display: inline-flex; align-items: center; min-height: 44px; }
	.md2-kt__crit { margin-left: 8px; }   /* R3 K2: spacing scale */
}
/* 00387 A4 (D109, owner: b "logo z makiety"): the Administrator avatar = the red 60 px circle with the white "My" mark of the artboard V33 =
   the legacy admin_md.png (60x70) inside a circular mask, the heart glyph below the circle cropped (R3-00387 r1 C1) */
.md2-adm__logo { display: inline-block; width: 60px; height: 60px; border-radius: 50%; overflow: hidden; background: var(--md2-red); vertical-align: top; }
.md2-adm__logo-img { display: block; width: 60px; height: 70px; object-fit: cover; object-position: top center; }
/* 00387 R3 r2 K5: the row / sandbox image rules (.md2-conv__side img 60/48 px, .md2-legacy img height:auto) must not resize the masked bitmap */
.md2-conv__side .md2-adm__logo-img, .md2-legacy .md2-adm__logo-img, .md2-thread__pic .md2-adm__logo-img { width: 60px; height: 70px; object-fit: cover; object-position: top center; }
@media (max-width: 767.98px) {
	.md2-conv__side .md2-adm__logo { width: 48px; height: 48px; }
	.md2-conv__side .md2-adm__logo-img, .md2-legacy .md2-conv__side .md2-adm__logo-img { width: 48px; height: 56px; }
}
/* 00387 R3 r2 K6: the blocked-status card (box without a head) keeps 16 px to the alert and to the back button; <p> = Bootstrap 10 px bottom margin neutralised */
.md2-sn__box--blocked .md2-box__body { padding-top: 16px; }
.md2-sn__box--blocked .md2-sn__actions { margin: 16px 0 0; }
/* 00387 A19: blocked ?p=27 (status 8/12) = V55 card + partner mini card; desktop grid "alert | partner" / "buttons | partner", mobile one column */
.md2-sb__box .md2-box__body { display: grid; grid-template-columns: minmax(0, 1fr) 220px; grid-template-rows: auto auto 1fr; grid-template-areas: "alert partner" "actions partner" ". partner"; align-items: start; column-gap: 24px; row-gap: 16px; }
.md2-sb__box--solo .md2-box__body { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; grid-template-areas: "alert" "actions"; } /* K8: no partner card */
.md2-sb__card { grid-area: alert; min-width: 0; }
.md2-sb__card .md2-pg__alert { margin: 0; }
.md2-sb__partner { grid-area: partner; }
.md2-sb__actions { grid-area: actions; }
.md2-sb__partner-lead { margin: 0 0 8px; font-family: var(--md2-font); font-size: 13px; color: var(--md2-text-2); }
.md2-sb__cards { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 767.98px) {
	.md2-sb__box .md2-box__body { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; grid-template-areas: "alert" "partner" "actions"; }
}
