/* WCAG: wspólny kontrast, widoczny fokus i dostępne cele interakcji. */
:root{--muted:#526078;--focus:#0f3f93;--control-border:#778497}
:root[data-theme=dark]{--control-border:#8c9fb9}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:3px;scroll-margin:24px}
input:focus,textarea:focus,select:focus{outline-color:var(--focus)}
input:not([type=checkbox]):not([type=range]),select,textarea,.media-tools-row select{border-color:var(--control-border)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
button,summary{min-width:24px;min-height:24px}
input[type=checkbox]{width:24px;height:24px;min-width:24px;min-height:24px;flex-shrink:0}
label.check{min-height:28px}
.table-wrap{max-width:100%;min-width:0}
.card,.panel{min-width:0;overflow-wrap:anywhere}
#notice.visible{display:flex;align-items:flex-start;gap:14px;max-height:45dvh;overflow:auto;max-width:min(430px,calc(100vw - 32px))}
#notice-message{min-width:0;overflow-wrap:anywhere}
#notice-dismiss{min-width:32px;min-height:32px;padding:2px 8px;border:1px solid currentColor;background:transparent;color:inherit;flex-shrink:0}
#notice-dismiss:focus-visible{outline-color:#fff}
@media(max-width:600px){.cards:not(.media-counts){grid-template-columns:minmax(0,1fr)}.dialog-header{align-items:flex-start}.dialog-header h2{overflow-wrap:anywhere;min-width:0}.dialog-actions{flex-wrap:wrap}.pagination{flex-wrap:wrap}#notice{right:16px;bottom:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(forced-colors:active){button,input,select,textarea{border:1px solid ButtonText}:focus-visible{outline-color:Highlight}.pill{border:1px solid CanvasText}}
/* Ukryte etykiety pozostają wewnątrz komórek przewijanej tabeli. */
.table-wrap th,.table-wrap td{position:relative}
@media(max-width:600px){.toolbar>p{flex-basis:100%}}
/* Jawne tokeny obu motywów zapobiegają dziedziczeniu poprzednich kolorów. */
:root{--ink:#17243a;--canvas:#f5f7fb;--surface:#fff;--surface-subtle:#f8fafc;--selection:#eaf0fb}
:root[data-theme=dark]{--ink:#e5ecf5;--canvas:#101722;--surface:#182230;--surface-subtle:#202d3e;--selection:#243959}
body{color:var(--ink)}
dialog{background:var(--surface);color:var(--ink)}
@media(max-width:400px){.dashboard-counts{grid-template-columns:minmax(0,1fr)}.dashboard-count{flex-direction:row;align-items:center;gap:14px;padding:12px 16px}.dashboard-count>strong{min-width:3ch;margin:0;font-size:26px}.dashboard-count>span{font-size:14px}}
.login-card{width:100%;min-width:0;overflow-wrap:anywhere}
@media(max-width:400px){.login{padding:16px}.login-card{padding:22px 18px}.login-card input{min-width:0}}
/* Długie daty publikacji zawijają się także przy zwiększonych odstępach tekstu. */
@media(max-width:600px){.video-publication .publication-date{white-space:normal;overflow-wrap:anywhere}.video-select input[type=checkbox]{margin:0}}

/* Telefon: wygodne cele dotyku (co najmniej 44 px) dla przycisków w treści. */
@media (max-width:760px){main button,main select{min-height:44px}}
