/*
 * Studfolio — motyw „Płyta konstrukcyjna” (rdzeń; od 0.90.0 jedyny motyw aplikacji)
 *
 * Ładowany jako ostatni arkusz (po stylach lokalnych podstron i theme-v2.css),
 * więc zmienia wyłącznie wygląd: trasy, formularze, atrybuty danych i skrypty
 * podstron zostają bez zmian. Dwa jawne tryby (jasny/ciemny) pochodzą
 * z preferencji konta (html[data-ui-theme]); kolor wiodący (--ui-accent)
 * nadal ustawia użytkownik w „Wygląd”.
 */

/* ---------- Czcionki (lokalne, SIL OFL; bez zapytań do Google) ---------- */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("../vendor/fonts/inter-latin-ext-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("../vendor/fonts/inter-latin-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Bricolage Grotesque";
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url("../vendor/fonts/bricolage-grotesque-latin-ext-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Bricolage Grotesque";
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url("../vendor/fonts/bricolage-grotesque-latin-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- Tokeny: ciemny (domyślny) ---------- */
html {
  --ui-bg: #10141B;
  --ui-surface: #1A202A;
  --ui-surface-raised: #212836;
  --ui-line: #2E3846;
  --ui-ink: #EEF2F8;
  --ui-muted: #A7B1C2;
  --ui-positive: #5BE39A;
  --ui-negative: #FF8B95;
  --ui-warning: #FFC93C;
  --ui-card: #1A202A;
  --ui-card-soft: #212836;
  --ui-card-hover: #222A37;
  --ui-field: #141921;
  --ui-shadow: 0 10px 24px rgba(0, 0, 0, .28);
  --ui-radius: 14px;
  --ui-radius-small: 10px;

  --b-plate: #10141B;
  --b-stud: #1B212C;
  --b-stud-edge: rgba(0, 0, 0, .45);
  --b-bar: #151A22;
  --b-brick-edge: #262E3B;
  --b-red: #E0313F;
  --b-red-text: #FF8B95;
  --b-yellow: #FFC93C;
  --b-yellow-ink: #1A1400;
  --b-blue: #4DA3FF;
  --b-green: #5BE39A;
  --b-font-display: "Bricolage Grotesque", Inter, ui-sans-serif, system-ui, sans-serif;
  --b-font: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  color-scheme: dark;
}

/* ---------- Tokeny: jasny ---------- */
html[data-ui-theme="light"] {
  --ui-bg: #E9ECF1;
  --ui-surface: #FFFFFF;
  --ui-surface-raised: #F6F7F9;
  --ui-line: #D5DAE2;
  --ui-ink: #141A24;
  --ui-muted: #4F5867;
  --ui-positive: #1E7A45;
  --ui-negative: #B00E28;
  --ui-warning: #8A6400;
  --ui-card: #FFFFFF;
  --ui-card-soft: #F6F7F9;
  --ui-card-hover: #FBFCFD;
  --ui-field: #FFFFFF;
  --ui-shadow: 0 8px 20px rgba(20, 35, 60, .08);

  --b-plate: #E9ECF1;
  --b-stud: #F6F7F9;
  --b-stud-edge: rgba(15, 30, 60, .08);
  --b-bar: #FFFFFF;
  --b-brick-edge: #D5DAE2;
  --b-red: #C8102E;
  --b-red-text: #A50D26;
  --b-yellow: #F2B705;
  --b-blue: #0057A8;
  --b-green: #1E8A4C;
  color-scheme: light;
}

/* ---------- Płyta: tło z wypustkami ---------- */
html { background: var(--b-plate); }
body {
  background-color: var(--b-plate) !important;
  /* 0.94.0: warstwa przyciemniająca zmiękcza płytki, żeby nie zlewały się z treścią. */
  background-image: linear-gradient(rgba(14, 18, 25, .62), rgba(14, 18, 25, .62)), url("plates-dark.svg?v=0923") !important;
  background-size: auto, 1120px 1120px !important;
  color: var(--ui-ink);
  font-family: var(--b-font) !important;
}
html[data-ui-theme="light"] body { background-image: url("plates-light.svg?v=0923") !important; background-size: 1120px 1120px !important; }
:is(h1, h2, h3) { font-family: var(--b-font-display); letter-spacing: -.01em; }
a { color: var(--b-blue); }
/* border-box: padding nie powiększa szerokości (bez poziomego przewijania). */
html[data-ui-theme] .main-content { box-sizing: border-box; width: 100%; max-width: 1440px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

/* ---------- Nagłówek Studfolio ---------- */
.sf-header {
  position: sticky;
  top: 0;
  z-index: 2400;
  background: var(--b-bar);
  border-bottom: 4px solid var(--b-red);
  color: var(--ui-ink);
  font-family: var(--b-font);
  box-shadow: 0 6px 18px rgba(0, 0, 0, .08);
}
.sf-header-inner {
  max-width: 1920px; /* 0.92.3: na każdej stronie tak szeroko jak na Pulpicie */
  margin: 0 auto;
  padding: 10px 24px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.sf-brand { display: inline-flex; align-items: center; flex: 0 0 auto; text-decoration: none; }
.sf-brand img { display: block; height: 38px; width: auto; }
.sf-brand .sf-brand-dark { display: none; }
html:not([data-ui-theme="light"]) .sf-brand .sf-brand-light { display: none; }
html:not([data-ui-theme="light"]) .sf-brand .sf-brand-dark { display: block; }

.sf-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; flex: 1 1 520px; }
/* html[data-ui-theme] w selektorach: wygrywa z jasnymi regułami theme-v2 (!important). */
html[data-ui-theme] .sf-nav-link,
html[data-ui-theme] .sf-nav .nav-dropdown-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 13px;
  border-radius: 12px;
  color: var(--ui-ink) !important;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.1;
  text-decoration: none;
  background: transparent !important;
  box-shadow: none !important;
}
html[data-ui-theme] .sf-nav-link:hover,
html[data-ui-theme] .sf-nav .nav-dropdown-toggle:hover { background: color-mix(in srgb, var(--ui-ink) 7%, transparent) !important; }
html[data-ui-theme] .sf-nav-link.active,
html[data-ui-theme] .sf-nav .nav-dropdown-toggle.active {
  background: var(--b-yellow) !important;
  color: var(--b-yellow-ink) !important;
  font-weight: 800;
  box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .18) !important;
}
.sf-caret { font-size: 10px; opacity: .7; }

.nav-dropdown { position: relative; display: inline-flex; align-items: center; }
.nav-dropdown-menu {
  display: none;
  position: absolute;
  z-index: 2500;
  top: 100%;
  left: 0;
  min-width: 220px;
  padding: 8px;
  border: 2px solid var(--ui-line) !important;
  border-radius: 14px !important;
  background: var(--ui-card) !important;
  box-shadow: inset 0 -5px 0 var(--ui-line), 0 16px 32px rgba(0, 0, 0, .22) !important;
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu { display: block; }
.nav-dropdown-menu a {
  display: block;
  padding: 9px 11px;
  border-radius: 10px;
  color: var(--ui-ink) !important;
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.nav-dropdown-menu a small { display: block; margin-top: 2px; color: var(--ui-muted); font-size: 11.5px; font-weight: 500; white-space: normal; }
.nav-dropdown-menu a:hover,
.nav-dropdown-menu a.active { background: color-mix(in srgb, var(--b-yellow) 22%, transparent) !important; color: var(--ui-ink) !important; }
.nav-dropdown-menu.align-right { left: auto; right: 0; min-width: 270px; }
.nav-dropdown-menu hr { margin: 6px 4px; border: 0; border-top: 1px solid var(--ui-line); }
.sf-menu-label { margin: 4px 8px 6px; color: var(--ui-muted); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }

.sf-tools { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.sf-icon-button {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0 !important;
  border-radius: 12px !important;
  border: 2px solid var(--ui-line) !important;
  background: var(--ui-card) !important;
  color: var(--ui-ink) !important;
  cursor: pointer;
  text-decoration: none;
  box-shadow: none !important;
}
.sf-icon-button:hover { border-color: color-mix(in srgb, var(--b-yellow) 70%, var(--ui-line)) !important; }
.sf-icon-button svg { width: 18px; height: 18px; }
.sf-theme-form { margin: 0; display: inline-flex; }

.sf-admin-button {
  height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 13px;
  border-radius: 12px;
  border: 2px dashed var(--b-red);
  background: transparent;
  color: var(--b-red-text) !important;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.sf-admin-button:hover,
.sf-admin-button.active { background: color-mix(in srgb, var(--b-red) 10%, transparent); }
.sf-admin-button svg { width: 16px; height: 16px; }

.sf-account-button {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--b-blue);
  color: #FFFFFF !important;
  font-family: var(--b-font-display);
  font-size: 17px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: inset 0 -4px 0 rgba(0, 0, 0, .22);
}
html:not([data-ui-theme="light"]) .sf-account-button { background: #2F7FE0; }
.sf-account-head { padding: 6px 10px 8px; }
.sf-account-head b { display: block; font-size: 14px; }
.sf-account-head span { color: var(--ui-muted); font-size: 12px; }
.sf-account-menu .language-switcher { display: flex; margin: 4px 6px 6px; }
.sf-account-menu .language-switcher select { width: 100%; max-width: none; padding: 7px 9px; border-radius: 10px; border: 2px solid var(--ui-line); background: var(--ui-field); color: var(--ui-ink); font: 600 13px var(--b-font); }
.sf-account-menu .logout-inline { display: block; }
.sf-account-menu .logout-inline button {
  width: 100%;
  padding: 9px 11px;
  border: 0;
  border-radius: 10px;
  background: transparent !important;
  color: var(--b-red-text) !important;
  font: 700 13.5px var(--b-font);
  text-align: left;
  cursor: pointer;
  box-shadow: none !important;
}
.sf-account-menu .logout-inline button:hover { background: color-mix(in srgb, var(--b-red) 10%, transparent) !important; }
.sf-login-link { padding: 9px 14px; border-radius: 12px; background: var(--b-yellow); color: var(--b-yellow-ink) !important; font-weight: 800; text-decoration: none; box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .18); }

@media (max-width: 980px) {
  .sf-header { position: static; }
  .sf-header-inner { padding: 10px 14px; }
  .sf-nav { order: 3; flex-basis: 100%; }
}
@media (max-width: 580px) {
  .nav-dropdown-menu { position: fixed; left: 12px; right: 12px; top: auto; min-width: 0; }
}

/* ---------- Stopka ---------- */
.sf-footer {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px 14px;
  padding: 18px 20px;
  border-top: 4px solid var(--ui-line);
  background: var(--b-bar);
  color: var(--ui-muted);
  font-size: 13px;
}
.sf-footer img { height: 22px; width: auto; display: block; }
.sf-footer .sf-brand-dark { display: none; }
html:not([data-ui-theme="light"]) .sf-footer .sf-brand-light { display: none; }
html:not([data-ui-theme="light"]) .sf-footer .sf-brand-dark { display: block; }
.app-version-badge {
  border: 2px solid var(--ui-line) !important;
  background: var(--ui-card) !important;
  color: var(--ui-muted) !important;
  font-size: 11px !important;
}

/* ---------- Klocki: karty, panele, okna ---------- */
html[data-ui-theme] .main-content :is(table, .modal-content, .async-task-dialog, .pc-submit-dialog),
html[data-ui-theme] :is(form.simple-form, .chart-box, .summary-box),
html[data-ui-theme] :is(.settings-overview-card, .settings-language-form, .settings-security-note, .settings-tabs, .settings-hero, .settings-page-heading),
html[data-ui-theme] :is(.pc-hero, .pc-card, .pc-price, .pc-source-column, .pc-source-snapshot, .pc-offer, .pc-fact, .pc-cache-item, .pc-chart),
html[data-ui-theme] :is(.catalog-head, .catalog-heading, .catalog-hero, .mf-hero, .parts-head, .parts-page-header, .minifig-page-header, .new-sets-header, .news-page-header),
html[data-ui-theme] :is(.catalog-filters, .mf-panel, .mf-search, .parts-filter, .parts-list-panel, .minifig-filter-bar, .news-filter, .news-sidebar, .catalog-tree, .catalog-explore, .catalog-scope-note),
html[data-ui-theme] :is(.simple-form, .edit-page, .edit-section, .catalog-section, .add-set-progress-card, .cmf-card, .cmf-panel, .cmf-summary, .admin-hero, .admin-operation, .admin-pricing, .admin-theme-logos, .admin-task-monitor, .admin-price-check-monitor, .admin-openai-audit, .admin-ldraw-history),
html[data-ui-theme] :is(.expenses-metric, .expenses-panel, .expenses-period-panel, .mf-stat, .mf-status-item, .mf-empty) {
  border: 2px solid var(--b-brick-edge) !important;
  border-radius: var(--ui-radius) !important;
  background: var(--ui-card) !important;
  box-shadow: inset 0 -6px 0 var(--b-brick-edge), var(--ui-shadow) !important;
}
html[data-ui-theme] :is(.part-card, .mf-card, .minifig-card, .part-details, .news-history-item, .new-set-card, .watch-item) {
  border: 2px solid var(--b-brick-edge) !important;
  border-radius: var(--ui-radius) !important;
  background: var(--ui-card) !important;
  box-shadow: inset 0 -5px 0 var(--b-brick-edge) !important;
  transition: transform .15s ease, border-color .15s ease;
}
html[data-ui-theme] :is(.part-card, .mf-card, .minifig-card, .news-history-item, .new-set-card):hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--b-yellow) 70%, var(--b-brick-edge)) !important;
  box-shadow: inset 0 -5px 0 color-mix(in srgb, var(--b-yellow) 70%, var(--b-brick-edge)), var(--ui-shadow) !important;
}
html[data-ui-theme] .main-content table { border-collapse: separate; border-spacing: 0; overflow: hidden; }
html[data-ui-theme] .main-content table th { font-size: 12px; letter-spacing: .03em; text-transform: uppercase; }

/* Okna (modale) */
html[data-ui-theme] .modal { background: rgba(6, 10, 16, .72) !important; backdrop-filter: blur(2px); }
html[data-ui-theme] .main-content .modal-content,
html[data-ui-theme] .modal .modal-content { border-radius: 20px !important; }

/* ---------- Pola formularzy ---------- */
html[data-ui-theme] .main-content :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]), select, textarea) {
  border: 2px solid var(--ui-line) !important;
  border-radius: var(--ui-radius-small) !important;
  background: var(--ui-field) !important;
  color: var(--ui-ink) !important;
  font-family: var(--b-font);
}
html[data-ui-theme] .main-content :is(input, select, textarea):focus {
  border-color: var(--b-blue) !important;
  outline: 3px solid color-mix(in srgb, var(--b-blue) 22%, transparent) !important;
  outline-offset: 1px;
}
html[data-ui-theme] .main-content :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--b-blue); }

/* ---------- Przyciski jak klocki ----------
   Przyciski z kolorem w atrybucie style (np. próbki koloru wiodącego,
   kolory kategorii) zachowują swój kolor — dlatego :not([style*="background"]).
   Przyciski komponentów Studfolio (klasy sf-*) mają własne style. */
html[data-ui-theme] .main-content button:not(.close-btn):not([style*="background"]):not(.accent-swatch):not([class*="sf-"]),
html[data-ui-theme] .main-content .settings-button {
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--ui-accent) !important;
  color: #141A24 !important;
  font-family: var(--b-font);
  font-weight: 700;
  box-shadow: inset 0 -4px 0 rgba(0, 0, 0, .22) !important;
  transition: filter .12s ease, transform .12s ease;
}
html[data-ui-theme] .main-content button:not(.close-btn):not([style*="background"]):not(.accent-swatch):not([class*="sf-"]):hover,
html[data-ui-theme] .main-content .settings-button:hover { filter: brightness(1.06); }
html[data-ui-theme] .main-content button:not(.close-btn):active { transform: translateY(1px); box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .22) !important; }
html[data-ui-theme] .main-content :is(.btn-danger, button.btn-danger, .expense-delete) {
  background: var(--b-red) !important;
  color: #FFFFFF !important;
}
html[data-ui-theme] .main-content :is(button, .settings-button):disabled { opacity: .55; cursor: not-allowed; filter: none; }
html[data-ui-theme] .main-content :is(button, a, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--b-blue) !important;
  outline-offset: 2px;
}

/* Paginacja jak rząd klocków 1×1 */
html[data-ui-theme] :is(.catalog-pagination, .mf-pagination, .pagination, .news-pagination, .catalog-pages) :is(a, span, button) {
  border: 2px solid var(--ui-line) !important;
  border-radius: 10px !important;
  background: var(--ui-card) !important;
  color: var(--ui-ink) !important;
}
html[data-ui-theme] :is(.catalog-pagination, .mf-pagination, .pagination, .news-pagination, .catalog-pages) :is(.active, .current-page) {
  border-color: var(--b-yellow) !important;
  background: var(--b-yellow) !important;
  color: var(--b-yellow-ink) !important;
}

/* ---------- Logowanie ---------- */
html[data-ui-theme] .auth-card {
  border: 2px solid var(--b-brick-edge) !important;
  border-top: 6px solid var(--b-yellow) !important;
  border-radius: 20px !important;
  background: var(--ui-card) !important;
  box-shadow: inset 0 -7px 0 var(--b-brick-edge), var(--ui-shadow) !important;
}
html[data-ui-theme] .auth-card-head { background: transparent !important; border-bottom-color: var(--ui-line) !important; text-align: center; }
html[data-ui-theme] .auth-card-head h1 { color: var(--ui-ink) !important; font-family: var(--b-font-display); }
html[data-ui-theme] .auth-card-head p,
html[data-ui-theme] .auth-footer-note { color: var(--ui-muted) !important; }
html[data-ui-theme] .auth-field { color: var(--ui-ink) !important; }
html[data-ui-theme] .auth-alert { border-left-color: var(--b-red) !important; background: color-mix(in srgb, var(--b-red) 12%, var(--ui-card)) !important; color: var(--ui-ink) !important; }
.auth-brand { display: block; width: auto; height: 96px; margin: 0 auto 14px; }
.auth-card .sf-brand-dark { display: none; }
html:not([data-ui-theme="light"]) .auth-card .sf-brand-light { display: none; }
html:not([data-ui-theme="light"]) .auth-card .sf-brand-dark { display: block; }

/* ---------- 0.89.4: okno potwierdzenia (studfolio-confirm.js) ---------- */
.sf-confirm { position: fixed; inset: 0; z-index: 4000; display: grid; place-items: center; padding: 16px; background: rgba(6, 10, 16, .72); }
.sf-confirm[hidden] { display: none; }
.sf-confirm-card {
  width: min(460px, 100%);
  padding: 22px;
  border: 2px solid var(--b-brick-edge);
  border-top: 8px solid var(--b-yellow);
  border-radius: 20px;
  background: var(--ui-card);
  color: var(--ui-ink);
  box-shadow: inset 0 -7px 0 var(--b-brick-edge), 0 24px 48px rgba(0, 0, 0, .35);
  font-family: var(--b-font);
}
.sf-confirm-card h2 { margin: 0 0 8px; font-family: var(--b-font-display); font-size: 22px; font-weight: 800; }
.sf-confirm-card p { margin: 0 0 18px; color: var(--ui-muted); line-height: 1.5; white-space: pre-line; }
.sf-confirm-actions { display: flex; justify-content: flex-end; gap: 10px; }
.sf-confirm-actions button { min-height: 42px; padding: 0 16px; border-radius: 10px; font: 700 14px var(--b-font); cursor: pointer; }
.sf-confirm-cancel { border: 2px solid var(--ui-line); background: transparent; color: var(--ui-ink); }
.sf-confirm-ok { border: 0; background: var(--b-yellow); color: var(--b-yellow-ink); box-shadow: inset 0 -4px 0 rgba(0, 0, 0, .2); }
.sf-confirm-ok.is-danger { background: var(--b-red); color: #FFFFFF; }
.sf-confirm-actions button:focus-visible { outline: 3px solid var(--b-blue); outline-offset: 2px; }

/* Statusy i plakietki */
.status-badge { border-radius: 8px; font-weight: 800; }
html[data-ui-theme] .status-active { background: color-mix(in srgb, var(--ui-positive) 16%, transparent); color: var(--ui-positive); border-color: color-mix(in srgb, var(--ui-positive) 40%, transparent); }
html[data-ui-theme] .status-retired { background: color-mix(in srgb, var(--ui-negative) 14%, transparent); color: var(--ui-negative); border-color: color-mix(in srgb, var(--ui-negative) 40%, transparent); }

/* ---------- 0.91.0 · wyszukiwarka w nagłówku (makieta B-Nawigacja) ---------- */
.sf-search { position: relative; display: flex; align-items: center; gap: 8px; height: 42px; margin: 0; padding: 0 12px; border-radius: 12px; border: 2px solid var(--ui-line); background: var(--ui-card); color: var(--ui-muted); box-sizing: border-box; }
.sf-search:focus-within { border-color: var(--b-yellow); }
html[data-ui-theme] .sf-search input[type="search"] { width: 100px; text-overflow: ellipsis; height: 36px; min-height: 0; padding: 0; border: 0; outline: 0; background: transparent; color: var(--ui-ink); font: 500 14px var(--b-font); box-shadow: none; }
.sf-search-pop { position: absolute; z-index: 5000; top: calc(100% + 8px); right: 0; width: min(420px, 92vw); max-height: 70vh; overflow: auto; padding: 8px; border-radius: 14px; border: 2px solid var(--ui-line); background: var(--ui-card); box-shadow: 0 20px 44px rgba(0, 0, 0, .35); }
.sf-search-group-label { margin: 8px 8px 4px; font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--ui-muted); }
.sf-search-item { display: flex; align-items: center; gap: 10px; padding: 6px 8px; border-radius: 10px; color: var(--ui-ink); text-decoration: none; }
.sf-search-item:hover, .sf-search-item.is-active { background: var(--ui-card-soft); }
.sf-search-thumb { flex: 0 0 44px; height: 36px; border-radius: 7px; background: #FFFFFF; display: grid; place-items: center; overflow: hidden; }
.sf-search-thumb img { max-width: 90%; max-height: 90%; object-fit: contain; }
.sf-search-item-text { min-width: 0; display: flex; flex-direction: column; }
.sf-search-item-text strong { font-size: 13.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sf-search-item-text small { font-size: 12px; color: var(--ui-muted); }
.sf-search-all { display: block; margin-top: 6px; padding: 8px; border-radius: 10px; background: var(--ui-card-soft); color: var(--ui-ink); font-size: 13px; font-weight: 700; text-align: center; text-decoration: none; }
.sf-search-empty { margin: 6px 8px; font-size: 13px; color: var(--ui-muted); }
@media (min-width: 1600px) { html[data-ui-theme] .sf-search input[type="search"] { width: 170px; } }
@media (max-width: 760px) { .sf-search { order: 10; flex: 1 1 100%; } html[data-ui-theme] .sf-search input[type="search"] { width: 100%; } }

/* ---------- 0.92.0 · stan usług API (Pulpit admina i Warsztat) ---------- */
.sf-health { display: flex; flex-direction: column; gap: 6px; }
.sf-health-row { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 12px; background: var(--ui-card-soft); }
.sf-health-dot { flex: 0 0 auto; width: 12px; height: 12px; border-radius: 50%; background: #8A93A3; box-shadow: 0 0 0 3px color-mix(in srgb, #8A93A3 25%, transparent); }
.sf-health-row.is-ok .sf-health-dot { background: #1E9E5A; box-shadow: 0 0 0 3px rgba(30, 158, 90, .25); }
.sf-health-row.is-warn .sf-health-dot { background: #FFC93C; box-shadow: 0 0 0 3px rgba(255, 201, 60, .3); }
.sf-health-row.is-err .sf-health-dot { background: #E0313F; box-shadow: 0 0 0 3px rgba(224, 49, 63, .3); }
.sf-health-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.sf-health-main strong { font-size: 14px; }
.sf-health-main small { font-size: 12px; color: var(--ui-muted); overflow-wrap: anywhere; }
.sf-health.is-compact .sf-health-main small { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.sf-health-meta { display: flex; flex-direction: column; align-items: flex-end; gap: 1px; font-size: 11.5px; color: var(--ui-muted); white-space: nowrap; }
.sf-health-state { font-weight: 800; }
.sf-health-row.is-ok .sf-health-state { color: var(--ui-positive); }
.sf-health-row.is-err .sf-health-state { color: var(--ui-negative); }
.sf-health-row.is-warn .sf-health-state { color: #B88A00; }
html:not([data-ui-theme="light"]) .sf-health-row.is-warn .sf-health-state { color: #FFD66B; }
.sf-health-foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin: 4px 0 0; font-size: 12px; color: var(--ui-muted); }
html[data-ui-theme] button.sf-health-btn { height: 34px; min-height: 0; padding: 0 12px; border-radius: 10px; border: 2px solid var(--ui-line) !important; background: transparent !important; color: var(--ui-ink) !important; font: 700 12.5px var(--b-font); cursor: pointer; box-shadow: none !important; }
.sf-pd-admin-tag { padding: 2px 8px; border-radius: 6px; border: 1px dashed #E0313F; color: #FF8B95; font-size: 11px; font-weight: 700; }

/* 0.92.4 · węższe okno: menu nadal w jednym rzędzie */
@media (min-width: 981px) and (max-width: 1599px) {
  .sf-header-inner { gap: 8px; }
  .sf-brand img { height: 30px; }
  .sf-nav { gap: 2px; }
  html[data-ui-theme] .sf-nav-link,
  html[data-ui-theme] .sf-nav .nav-dropdown-toggle { padding: 9px 8px; font-size: 13.5px; }
  html[data-ui-theme] .sf-search input[type="search"] { width: 80px; }
}

/* ---------- 0.95.0: Zapisane, powiadomienia, pasek motywów ---------- */
html[data-ui-theme] .sf-save-btn { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 12px; border: 2px solid var(--b-yellow); border-radius: 10px; background: transparent; color: var(--ui-ink); font: 800 13px var(--b-font); text-decoration: none; cursor: pointer; box-shadow: none; }
html[data-ui-theme] .sf-save-btn svg { fill: none; }
html[data-ui-theme] .sf-save-btn.is-saved { background: var(--b-yellow); color: #1A1400; }
html[data-ui-theme] .sf-save-btn.is-saved svg { fill: currentColor; }
html[data-ui-theme] .sf-save-btn.is-big { height: 42px; margin: 6px 0 4px; font-size: 14px; }
.sf-notif { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 10px; padding: 9px 10px; border-radius: 10px; color: var(--ui-ink); text-decoration: none; }
.sf-notif + .sf-notif { margin-top: 4px; }
.sf-notif b { font-size: 13.5px; }
.sf-notif span { grid-column: 1; font-size: 12.5px; color: var(--ui-muted); }
.sf-notif time { grid-row: 1; grid-column: 2; font-size: 11.5px; color: var(--ui-muted); }
.sf-notif.is-unread { background: color-mix(in srgb, var(--b-yellow) 13%, transparent); }
.sf-notif:hover { background: var(--ui-surface-raised); text-decoration: none; }
.sf-notif-count { display: inline-block; min-width: 22px; padding: 0 7px; border-radius: 999px; background: var(--b-red); color: #fff; font-size: 12px; line-height: 22px; text-align: center; vertical-align: middle; }
.sf-saved { max-width: 1360px; margin: 0 auto; display: grid; gap: 16px; color: var(--ui-ink); }
.sf-saved-head { display: flex; flex-wrap: wrap; gap: 14px; align-items: flex-end; justify-content: space-between; }
.sf-saved-head h1 { margin: 4px 0 0; font: 800 40px/1.05 var(--b-font-display); }
.sf-saved-head p { margin: 6px 0 0; max-width: 640px; color: var(--ui-muted); font-size: 14px; }
.sf-saved-kicker { margin: 0 !important; font-size: 13px !important; font-weight: 700; }
.sf-saved-msg { margin: 0; padding: 10px 12px; border-radius: 10px; background: color-mix(in srgb, var(--ui-positive) 16%, var(--ui-card)); font-weight: 700; }
.sf-saved-msg.is-err { background: color-mix(in srgb, var(--ui-negative) 16%, var(--ui-card)); }
.sf-saved-add { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; padding: 16px; border: 2px solid var(--ui-line); border-top: 8px solid var(--b-yellow); border-radius: 16px; background: var(--ui-card); }
.sf-saved-add label { display: grid; gap: 5px; font-size: 12px; font-weight: 800; color: var(--ui-muted); }
.sf-saved-add label.is-wide { flex: 1 1 220px; }
.sf-saved-add label[hidden] { display: none; }
.sf-saved-add :is(input, select) { height: 44px; box-sizing: border-box; padding: 0 12px; border: 2px solid var(--ui-line); border-radius: 10px; background: var(--ui-surface-raised); color: var(--ui-ink); font: 500 14px var(--b-font); }
.sf-saved-add p { flex-basis: 100%; margin: 0; font-size: 12.5px; color: var(--ui-muted); }
html[data-ui-theme] .main-content .sf-saved-btn { height: 44px; padding: 0 18px; border: 0; border-radius: 10px; background: var(--b-green); color: #fff; font-weight: 800; cursor: pointer; box-shadow: inset 0 -4px 0 rgba(0, 0, 0, .2); }
.sf-saved-notes { padding: 12px; border: 2px solid var(--ui-line); border-radius: 14px; background: var(--ui-card); }
.sf-saved-notes h2 { margin: 0 0 6px; font: 800 17px var(--b-font-display); }
.sf-saved-tabs { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.sf-saved-tabs > a { padding: 8px 14px; border: 2px solid var(--ui-line); border-radius: 10px; color: var(--ui-ink); font-size: 13px; font-weight: 600; text-decoration: none; }
.sf-saved-tabs > a.is-active { border-color: var(--ui-ink); background: var(--ui-ink); color: var(--ui-card); font-weight: 800; }
.sf-saved-sort { margin-left: auto; }
.sf-saved-sort label { display: flex; gap: 8px; align-items: center; font-size: 13px; color: var(--ui-muted); }
.sf-saved-sort select { height: 38px; padding: 0 8px; border: 2px solid var(--ui-line); border-radius: 10px; background: var(--ui-surface-raised); color: var(--ui-ink); }
.sf-saved-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(290px, 100%), 1fr)); gap: 14px; }
.sf-saved-card { display: flex; flex-direction: column; min-width: 0; border: 2px solid var(--ui-line); border-radius: 14px; background: var(--ui-card); box-shadow: inset 0 -5px 0 var(--ui-line); }
.sf-saved-img { display: grid; place-items: center; height: 150px; margin: 10px 10px 0; border-radius: 10px; background: #fff; color: #6B7686; font-size: 12px; font-weight: 700; text-decoration: none; }
.sf-saved-img img { max-width: 88%; max-height: 136px; object-fit: contain; }
.sf-saved-body { flex: 1; display: grid; align-content: start; gap: 4px; padding: 10px 12px 0; }
.sf-saved-ids { margin: 0; display: flex; gap: 6px; align-items: center; font-size: 11.5px; font-weight: 700; color: var(--ui-muted); }
.sf-saved-ids .is-num { padding: 2px 8px; border-radius: 6px; background: #FFC93C; color: #1A1400; font-size: 12px; font-weight: 800; }
.sf-saved-body h2 { margin: 0; font: 700 16px/1.25 var(--b-font-display); }
.sf-saved-body h2 a { color: inherit; }
.sf-saved-meta { margin: 0; font-size: 12.5px; color: var(--ui-muted); }
.sf-saved-badges { margin: 2px 0 0; display: flex; flex-wrap: wrap; gap: 6px; }
.sf-saved-badges > * { padding: 2px 8px; border-radius: 6px; font-size: 11.5px; font-weight: 800; text-decoration: none; }
.sf-saved-badges .is-warn { background: color-mix(in srgb, var(--b-yellow) 22%, transparent); color: var(--ui-ink); }
.sf-saved-badges .is-off { background: var(--ui-surface-raised); color: var(--ui-muted); }
.sf-saved-badges .is-own { background: color-mix(in srgb, var(--ui-positive) 20%, transparent); color: var(--ui-ink); }
.sf-saved-foot { display: flex; gap: 8px; align-items: center; justify-content: space-between; padding: 10px 12px 14px; font-size: 13px; color: var(--ui-muted); }
.sf-saved-foot b { color: var(--ui-ink); }
html[data-ui-theme] .main-content .sf-saved-remove { height: 34px; padding: 0 12px; border: 2px solid var(--ui-line); border-radius: 9px; background: transparent; color: var(--ui-negative); font-weight: 700; cursor: pointer; box-shadow: none; }
.sf-saved-empty { grid-column: 1 / -1; padding: 40px; border: 2px dashed var(--ui-line); border-radius: 14px; text-align: center; color: var(--ui-muted); }
.sf-theme-band { --band-bg: #000; --band-bar: rgba(255, 255, 255, .25); --band-thumb: #fff; position: relative; margin: 2px 0 18px; padding: 20px 0 16px; background: var(--band-bg); box-shadow: 0 0 0 100vmax var(--band-bg); clip-path: inset(0 -100vmax); }
html[data-ui-theme="light"] .sf-theme-band { --band-bg: #fff; --band-bar: rgba(16, 20, 27, .18); --band-thumb: #10141B; }
/* 0.95.4: rząd kafelków wychodzi z kolumny strony na całą szerokość okna (Moja kolekcja i Baza zestawów). */
.sf-theme-band-row { position: relative; width: 100vw; margin-inline: calc(50% - 50vw); padding-inline: 28px; box-sizing: border-box; }
html:has(.sf-theme-band) { overflow-x: clip; }
.sf-theme-band-track { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 2px; }
.sf-theme-band-track::-webkit-scrollbar { display: none; }
.sf-theme-tile { flex: 0 0 200px; height: 300px; scroll-snap-align: start; display: flex; flex-direction: column; overflow: hidden; border: 3px solid transparent; border-radius: 14px; background: #1A202A; color: #fff; text-decoration: none; }
html[data-ui-theme="light"] .sf-theme-tile { background: #EEF1F5; }
.sf-theme-tile:hover { border-color: color-mix(in srgb, var(--b-yellow) 60%, transparent); text-decoration: none; }
.sf-theme-tile.is-active { border-color: var(--b-yellow); }
/* 0.95.1: w trybie ciemnym kafelek jest ciemny, w jasnym biały; logo motywu na jasnej plakietce, żeby czarne logo było widać. */
.sf-theme-tile-art { position: relative; flex: 1; min-height: 0; display: grid; place-items: center; background: #232A36; }
html[data-ui-theme="light"] .sf-theme-tile-art { background: #fff; }
.sf-theme-tile-art > img { max-width: 86%; max-height: 82%; object-fit: contain; }
.sf-theme-tile-art.is-cover > img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: cover; }
.sf-theme-tile-art.is-collage { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; padding: 10px; box-sizing: border-box; }
.sf-theme-tile-art.is-collage > img { max-width: 100%; max-height: 100%; }
img.sf-theme-tile-logo { position: absolute; left: 10px; top: 10px; max-width: 62% !important; max-height: 38px !important; object-fit: contain; padding: 4px 8px; border-radius: 8px; background: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, .35); }
html[data-ui-theme="light"] img.sf-theme-tile-logo { padding: 0; background: transparent; box-shadow: none; }
.sf-theme-tile-label { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; padding: 10px 12px; background: rgba(10, 13, 18, .86); }
.sf-theme-tile-label b { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font: 800 16px var(--b-font-display); }
.sf-theme-tile-label small { flex: none; font-size: 12px; color: #D5DBE4; }
html[data-ui-theme] .sf-theme-band-arrow { position: absolute; top: 128px; z-index: 2; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: #fff; color: #10141B; font-size: 24px; line-height: 1; cursor: pointer; box-shadow: 0 4px 14px rgba(0, 0, 0, .45); }
.sf-theme-band-arrow.is-prev { left: 10px; } .sf-theme-band-arrow.is-next { right: 26px; }
.sf-theme-band.is-static .sf-theme-band-arrow, .sf-theme-band.is-static .sf-theme-band-bar { display: none; }
.sf-theme-band-more { margin: 10px 0 0; text-align: center; font-size: 12px; color: rgba(255, 255, 255, .6); }
html[data-ui-theme="light"] .sf-theme-band-more { color: #5B6573; }
/* 0.95.4: linia pozycji jest suwakiem — szeroka strefa kliknięcia, grubsza po najechaniu i w trakcie przeciągania. */
.sf-theme-band-bar { position: relative; height: 4px; margin: 14px 20% 0; border-radius: 3px; background: var(--band-bar); cursor: pointer; touch-action: none; user-select: none; transition: height .12s; }
.sf-theme-band-bar::before { content: ""; position: absolute; inset: -12px 0; }
.sf-theme-band-bar:hover, .sf-theme-band.is-dragging .sf-theme-band-bar { height: 8px; }
.sf-theme-band-bar span { position: absolute; top: 0; height: 100%; border-radius: 3px; background: var(--band-thumb); cursor: grab; }
.sf-theme-band.is-dragging .sf-theme-band-bar span { cursor: grabbing; }
@media (max-width: 620px) { .sf-theme-band-bar { margin-inline: 8%; height: 6px; } }
@media (hover: none) { .sf-theme-band-arrow { display: none; } }
@media (max-width: 620px) { .sf-theme-tile { flex-basis: 150px; height: 230px; } .sf-theme-band-arrow { top: 92px; } .sf-theme-band-row { padding-inline: 16px; } }

/* ---------- 0.95.0: kompletność zestawu, historia rozpoznań ---------- */
.sf-cpl { max-width: 1240px; margin: 0 auto; display: grid; gap: 14px; color: var(--ui-ink); }
.sf-cpl-head { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.sf-cpl-head > div:not(.sf-cpl-actions) { flex: 1 1 360px; min-width: 0; }
.sf-cpl-img { width: 120px; height: 90px; padding: 6px; box-sizing: border-box; border-radius: 10px; background: #fff; object-fit: contain; }
.sf-cpl-kicker { margin: 0; font-size: 13px; font-weight: 700; color: var(--ui-muted); }
.sf-cpl-head h1 { margin: 4px 0; font: 800 30px/1.1 var(--b-font-display); }
.sf-cpl-head p { margin: 0; color: var(--ui-muted); font-size: 14px; }
.sf-cpl-actions { display: flex; flex-wrap: wrap; gap: 8px; }
html[data-ui-theme] .main-content .sf-cpl-btn, html[data-ui-theme] .sf-cpl-btn { display: inline-flex; align-items: center; height: 40px; padding: 0 14px; border-radius: 10px; font: 800 13px var(--b-font); text-decoration: none; cursor: pointer; box-shadow: none; }
html[data-ui-theme] .main-content .sf-cpl-btn.is-outline, html[data-ui-theme] .sf-cpl-btn.is-outline { border: 2px solid var(--ui-line); background: transparent; color: var(--ui-ink); }
html[data-ui-theme] .main-content .sf-cpl-btn.is-green { border: 0; background: var(--b-green); color: #fff; }
.sf-cpl-msg { margin: 0; padding: 10px 12px; border-radius: 10px; background: color-mix(in srgb, var(--ui-positive) 16%, var(--ui-card)); font-weight: 600; }
.sf-cpl-msg.is-err { background: color-mix(in srgb, var(--ui-negative) 16%, var(--ui-card)); }
.sf-cpl-toolbar { position: sticky; top: 0; z-index: 2; display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; padding: 12px; border: 2px solid var(--ui-line); border-radius: 14px; background: var(--ui-card); }
.sf-cpl-search { display: grid; gap: 4px; flex: 1 1 220px; font-size: 12px; font-weight: 800; color: var(--ui-muted); }
.sf-cpl-search input { height: 40px; box-sizing: border-box; padding: 0 10px; border: 2px solid var(--ui-line); border-radius: 10px; background: var(--ui-surface-raised); color: var(--ui-ink); }
.sf-cpl-only { display: flex; gap: 6px; align-items: center; font-size: 13px; color: var(--ui-muted); }
.sf-cpl-count { font-size: 13px; color: var(--ui-muted); }
.sf-cpl-table { width: 100%; border-collapse: collapse; margin-top: 10px; font-size: 13.5px; }
.sf-cpl-table th { padding: 8px; text-align: left; font-size: 12px; color: var(--ui-muted); }
.sf-cpl-table td { padding: 6px 8px; border-top: 1px solid var(--ui-line); vertical-align: middle; }
.sf-cpl-table small { color: var(--ui-muted); }
.sf-cpl-check { width: 90px; text-align: center; }
.sf-cpl-check input[type=checkbox] { width: 20px; height: 20px; }
.sf-cpl-check input[type=number] { width: 70px; height: 34px; padding: 0 6px; border: 2px solid var(--ui-line); border-radius: 8px; background: var(--ui-surface-raised); color: var(--ui-ink); }
.sf-cpl-thumb { display: grid; place-items: center; width: 56px; height: 44px; border-radius: 6px; background: #fff; }
.sf-cpl-thumb img { max-width: 52px; max-height: 40px; object-fit: contain; }
.sf-cpl-table tr.is-missing td { background: color-mix(in srgb, var(--ui-negative) 10%, transparent); }
.sf-cpl-saved { color: var(--ui-positive) !important; }
@media (max-width: 700px) { .sf-cpl-table th:nth-child(2), .sf-cpl-table td:nth-child(2) { display: none; } }
@media print {
  .sf-header, header.sf-header, footer, .sf-footer, .sf-cpl-actions, .sf-cpl-toolbar, .sf-cpl-msg { display: none !important; }
  body { background: #fff !important; color: #000 !important; }
  .sf-cpl, .sf-cpl-table td, .sf-cpl-table th { color: #000 !important; }
  .sf-cpl-table tr { break-inside: avoid; }
}
.sf-rec-history { margin-top: 18px; }
.sf-rec-history-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); gap: 10px; margin-top: 10px; }
.sf-rec-history-item { display: flex; gap: 10px; align-items: center; min-width: 0; padding: 8px; border: 1px solid var(--ui-line); border-radius: 12px; background: var(--ui-surface-raised); }
.sf-rec-history-img { flex: none; width: 64px; height: 64px; display: grid; place-items: center; overflow: hidden; border-radius: 8px; background: #fff; }
.sf-rec-history-img img { width: 100%; height: 100%; object-fit: cover; }
.sf-rec-history-text { flex: 1; min-width: 0; display: grid; gap: 2px; font-size: 13px; }
.sf-rec-history-text b { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.sf-rec-history-text small { color: var(--ui-muted); font-size: 11.5px; }
.sf-rec-history-text a { color: var(--ui-ink); }

/* ---------- 0.96.0: stopka z informacjami prawnymi i baner zgody na pliki cookie ---------- */
.sf-footer.sf-footer-legal { display: block; padding: 28px 24px 30px; text-align: left; }
.sf-footer-legal > * { max-width: 1320px; margin-left: auto; margin-right: auto; }
.sf-footer-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 20px; }
.sf-footer-brand { display: flex; align-items: center; gap: 14px; }
.sf-footer-legal .sf-footer-brand img { height: 30px; }
.sf-footer-links { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.sf-footer-links a, html[data-ui-theme] body .sf-footer-links button.sf-cookie-link { padding: 0; border: 0; background: none; color: var(--ui-ink); font: 700 13.5px var(--b-font); text-decoration: none; cursor: pointer; box-shadow: none; }
.sf-footer-links a:hover, .sf-footer-links button.sf-cookie-link:hover { text-decoration: underline; }
.sf-footer-contacts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; margin-top: 16px; }
.sf-footer-contacts a { font-weight: 800; color: var(--ui-ink); }
.sf-footer-disclaimer { margin-top: 12px; margin-bottom: 0; max-width: 1100px; font-size: 12.5px; line-height: 1.6; }
.sf-footer-legal .sf-footer-disclaimer + .sf-footer-disclaimer { margin-top: 4px; }

.sf-cookie-banner { position: fixed; left: 50%; bottom: 20px; z-index: 1200; width: min(1100px, calc(100% - 24px)); box-sizing: border-box; transform: translateX(-50%);
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 22px 26px; border-radius: 20px;
  background: #F7F8FA; color: #10141B; box-shadow: 0 24px 70px rgba(0, 0, 0, .45); font-family: var(--b-font); }
.sf-cookie-banner[hidden] { display: none; }
.sf-cookie-banner h2 { margin: 0 0 6px; font: 800 21px var(--b-font-display); color: #10141B; }
.sf-cookie-banner p { margin: 0; font-size: 14px; line-height: 1.55; color: #3F4A5A; }
.sf-cookie-banner a { color: #1A5FB4; font-weight: 700; }
.sf-cookie-small { margin-top: 6px !important; font-size: 13px !important; }
.sf-cookie-actions { display: flex; flex-direction: column; gap: 8px; min-width: 230px; }
html[data-ui-theme] body button.sf-cookie-btn { min-height: 46px; padding: 0 18px; border: 0; border-radius: 12px; background: #10141B; color: #FFFFFF; font: 800 14.5px var(--b-font); cursor: pointer; box-shadow: none; filter: none; }
html[data-ui-theme] body button.sf-cookie-btn.is-quiet { border: 1.5px solid #C5CDD8; background: transparent; color: #10141B; font-weight: 700; }
.sf-cookie-dialog { width: min(640px, calc(100% - 24px)); padding: 0; border: 0; border-radius: 22px; background: #F7F8FA; color: #10141B; box-shadow: 0 30px 90px rgba(0, 0, 0, .55); }
.sf-cookie-dialog::backdrop { background: rgba(6, 8, 11, .62); }
.sf-cookie-dialog-inner { display: flex; flex-direction: column; gap: 14px; padding: 28px; font-family: var(--b-font); }
.sf-cookie-dialog-inner > p { margin: 0; font-size: 14px; color: #3F4A5A; }
.sf-cookie-dialog-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.sf-cookie-dialog-head h2 { margin: 0; font: 800 24px var(--b-font-display); color: #10141B; }
html[data-ui-theme] body button.sf-cookie-close { width: 40px; height: 40px; min-height: 0; padding: 0; border: 0; border-radius: 50%; background: #E6EAF0; color: #10141B; font-size: 16px; cursor: pointer; box-shadow: none; }
.sf-cookie-cat { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 14px 16px; border-radius: 14px; background: #FFFFFF; border: 1px solid #E1E6EE; cursor: pointer; }
.sf-cookie-cat span { display: grid; gap: 3px; }
.sf-cookie-cat b { font-size: 15px; }
.sf-cookie-cat small { font-size: 13px; line-height: 1.5; color: #5B6676; }
.sf-cookie-cat input { width: 22px; height: 22px; accent-color: #1E7A44; }
.sf-cookie-dialog-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
@media (max-width: 720px) {
  .sf-cookie-banner { grid-template-columns: minmax(0, 1fr); bottom: 10px; padding: 18px; }
  .sf-cookie-actions { min-width: 0; }
}
.sf-account-danger { border-color: color-mix(in srgb, var(--ac-red, #C8102E) 45%, var(--ui-line)) !important; }
.sf-account-delete { display: grid; gap: 10px; max-width: 520px; margin-top: 10px; }
.sf-account-delete label { display: grid; gap: 6px; font-size: 13px; font-weight: 700; }
.sf-account-delete input[name="confirm_login"] { height: 42px; box-sizing: border-box; padding: 0 12px; border: 1px solid var(--ui-line); border-radius: 10px; background: var(--ui-surface-raised); color: var(--ui-ink); font-size: 14px; }
.sf-account-delete .sf-account-check { display: flex; gap: 8px; align-items: center; font-weight: 600; }
.users-actions { display: flex; gap: 6px; }

/* 0.96.0 · przełącznik języka z flagami (nagłówek) */
.sf-lang { display: inline-flex; align-items: center; gap: 4px; margin: 0; padding: 3px; border-radius: 10px; border: 1px solid var(--ui-line); }
html[data-ui-theme] .sf-lang button.sf-lang-btn { display: inline-grid; place-items: center; width: 32px; height: 26px; min-height: 0; padding: 0; border: 0; border-radius: 7px; background: transparent; cursor: pointer; opacity: .55; box-shadow: none; transition: opacity .15s, background .15s; }
html[data-ui-theme] .sf-lang button.sf-lang-btn:hover { opacity: 1; background: color-mix(in srgb, var(--ui-ink) 8%, transparent); }
html[data-ui-theme] .sf-lang button.sf-lang-btn.is-active { opacity: 1; background: color-mix(in srgb, var(--ui-accent) 22%, transparent); }
.sf-lang-btn svg { display: block; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .18); }
/* 0.96.1 · stopka: projekt i współpraca DQH Solutions */
.sf-footer-contacts a.sf-footer-partner { display: inline-flex; align-items: center; gap: 10px; font-weight: 500; color: var(--ui-muted); text-decoration: none; }
.sf-footer-contacts a.sf-footer-partner b { color: var(--ui-ink); font-weight: 800; }
.sf-footer-contacts a.sf-footer-partner:hover b { text-decoration: underline; }
.sf-footer-partner img { height: 24px; width: auto; opacity: .85; transition: opacity .15s; }
.sf-footer-partner:hover img { opacity: 1; }
/* 0.96.2 · przełącznik motywu dla gości: ikona według motywu widocznego w przeglądarce */
html[data-ui-theme="light"] .sf-theme-guest .sf-ico-sun { display: none; }
html:not([data-ui-theme="light"]) .sf-theme-guest .sf-ico-moon { display: none; }
