/* Shared interaction and layout layer. Brand colours remain instance-owned. */
:root { --premium-radius: 12px; }
.premium-next { padding: 1.25rem; margin: 1rem 0; border: 1px solid var(--akcent); border-radius: 14px; background: var(--tlo-panelu); display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.premium-next > div { flex: 1 1 320px; min-width: 0; }
.premium-next h2 { margin: .4rem 0; }
.premium-next p { margin: .5rem 0; }
.premium-eyebrow { color: var(--tekst-slaby); text-transform: uppercase; letter-spacing: .09em; font-size: .72rem; }
.premium-case-barriers { flex-basis: 100%; margin: 0; padding-left: 1.25rem; }
.premium-case-barriers li { margin: .5rem 0; }
.premium-dimensions, .premium-form-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(240px,100%),1fr)); gap: 1rem; margin: 1rem 0; }
.premium-dimension { display: flex; flex-direction: column; gap: .6rem; padding: 1rem; margin-bottom: .5rem; border: 1px solid var(--ramka); background: var(--tlo-panelu); border-radius: 12px; color: var(--tekst); text-decoration: none; }
.premium-dimension span { color: var(--tekst-slaby); font-size: .85rem; }
.premium-form { display: flex; flex-direction: column; gap: 1rem; margin-top: 1rem; }
.premium-form label { display: flex; flex-direction: column; gap: .4rem; min-width: 0; }
.premium-form :is(input,select,textarea) { padding: .7rem; border: 1px solid var(--ramka); border-radius: 8px; color: var(--tekst); background: var(--tlo-panelu-2); width: 100%; min-height: 44px; }
.premium-form > button { align-self: flex-start; }
.premium-list-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem 0; border-bottom: 1px solid var(--ramka); }
.premium-handoff { border: 1px solid var(--ramka); padding: 1rem; border-radius: 12px; margin: 1rem 0; }
.premium-preserve { white-space: pre-wrap; overflow-wrap: anywhere; }
*, *::before, *::after { box-sizing: border-box; }
.main, .content, .card, .panel { min-width: 0; }
.content { overflow-wrap: break-word; }
body :is(button, a, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--akcent); outline-offset: 3px;
}
body .content h1 { font-size: clamp(1.4rem, 2.2vw, 1.85rem); line-height: 1.25; letter-spacing: -.025em; }
body .content h2 { line-height: 1.35; }
body .btn { border-radius: 8px; }
body .content :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { max-width: 100%; }
body a[href^="tel:"] { white-space: nowrap; }
[hidden] { display: none !important; }
.premium-menu-close, .premium-mobile-search, .premium-menu-mobile-actions, .premium-category-toggle { display: none; }
.premium-clamp { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.premium-filters { display: flex; align-items: end; flex-wrap: wrap; gap: .7rem; padding: 1rem; margin: 1rem 0;
  background: var(--tlo-panelu); border: 1px solid var(--ramka); border-radius: var(--premium-radius); }
.premium-filters label { display: flex; flex-direction: column; gap: .3rem; font-size: .8rem; color: var(--tekst-slaby); flex: 1 1 140px; }
.premium-filters label:first-child { flex-grow: 2; }
.premium-filters input, .premium-filters select { width: 100%; min-height: 40px; }
.premium-filter-result { margin: .5rem 0; color: var(--tekst-slaby); font-size: .85rem; }
.premium-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.premium-draft { padding: .75rem 1rem; margin: 1rem 0; border: 1px solid var(--ramka); border-radius: 10px; font-size: .85rem; }
.premium-steps { display: flex; gap: .5rem; overflow-x: auto; padding: .25rem 0 .75rem; }
.premium-steps button { flex: 1 0 auto; min-height: 44px; border: 1px solid var(--ramka); background: var(--tlo-panelu); color: var(--tekst); padding: .65rem .9rem; border-radius: 10px; cursor: pointer; }
.premium-steps [aria-current=step] { color: var(--tekst-mocny); border-color: var(--akcent); box-shadow: inset 0 -3px var(--akcent); font-weight: 700; }
.premium-step { border: 1px solid var(--ramka); border-radius: 14px; padding: 1.4rem; background: var(--tlo-panelu); }
.premium-step h2 { margin: 0 0 .85rem; }
.premium-step-fields { gap: 1rem; }
.premium-wizard .form-group { min-width: 0 !important; flex: 1 1 230px; }
.premium-wizard .sekcja { margin-top: .75rem; }
.premium-wizard-controls { display: flex; justify-content: space-between; margin: 1rem 0; }
.premium-offer-review li { padding: .7rem 0; border-bottom: 1px solid var(--ramka); }
.premium-quote-stale { font-size: .8rem; margin: .35rem 0; color: var(--tekst-mocny); }
.premium-calendar-agenda { display: none; }
.premium-calendar-event { display: flex; flex-direction: column; gap: .45rem; min-height: 44px; padding: 1rem; margin: .75rem 0; background: var(--tlo-panelu); border: 1px solid var(--ramka); border-radius: 12px; text-decoration: none; color: var(--tekst); }
body.premium-agenda-selected .premium-calendar-agenda { display: block; }
body.premium-agenda-selected .km-przewijak { display: none; }
body .km-strzalka, body .km-miesiac, body .km-pasek { min-height: 44px; }
body .km-strzalka { min-width: 44px; }
body .cen-para b, body .cen-narzut-etyk, body .cf-hint { color: var(--tekst); opacity: 1; }
body .cen-ustaw-grupa .cen-para { opacity: 1; }
body .cen-para:not(.on) { border-style: dashed; }
body .cen-w :is(button,summary) { min-height: 32px; }
.premium-assumptions { border: 1px solid var(--ramka); border-radius: 10px; padding: 1rem; margin: 1rem 0; }
.premium-assumptions summary { cursor: pointer; }
.premium-assumptions[open] summary { margin-bottom: 1rem; }
.premium-admin-search { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; margin: 1rem 0; padding: 1rem; background: var(--tlo-panelu); border: 1px solid var(--ramka); border-radius: 12px; }
.premium-admin-search input { min-height: 44px; flex: 1 1 240px; padding: .7rem; color: var(--tekst); background: var(--tlo-panelu-2); border: 1px solid var(--ramka); border-radius: 8px; }
body .cen-tab input::placeholder { color: var(--tekst-slaby); opacity: 1; }
body .str-karta:not(.otwarty) .str-panel { visibility: hidden; pointer-events: none; }
body .str-szczegoly { white-space: normal; }
body .premium-checkbox { display: flex; align-items: center; gap: .5rem; min-height: 32px; cursor: pointer; text-transform: none; letter-spacing: normal; }
.premium-field-actions { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .6rem; margin: 1rem 0; }
.premium-field-actions .akcja { min-height: 48px; white-space: normal; text-align: center; justify-content: center; }
body #materialy-montazu summary { cursor: pointer; font-weight: 700; padding: .5rem 0; }
body :is(#wgraj-z-budowy,#lista-kontrolna,#kontakt-realizacja,#zglos-problem) { scroll-margin-top: 80px; }
.premium-dialog { max-width: min(560px, calc(100vw - 2rem)); width: 100%; color: var(--tekst);
  background: var(--tlo-panelu); border: 1px solid var(--ramka); border-radius: 16px; padding: 1.5rem; }
.premium-dialog::backdrop { background: #081624a8; }
.premium-dialog h2 { margin-top: 0; }
.premium-dialog .btn { min-height: 44px; }
.premium-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
body .premium-source { padding: .75rem; margin: .5rem 0; border-left: 3px solid var(--akcent); background: var(--tlo-panelu-2); white-space: pre-wrap; }
body .premium-ai-meta { font-size: .8rem; color: var(--tekst-slaby); margin-bottom: .75rem; }
@media (max-width: 768px) {
  body .top { padding: .35rem .75rem; gap: .35rem; }
  body .top .right { gap: .4rem; }
  body .top .szukajka, body .top form[action="/logout"] { display: none; }
  body .top .crumbs { display: none; }
  body .top .konto-wejscie { flex: 0 0 36px; }
  body .premium-menu-mobile-actions { display: flex; flex-wrap: wrap; gap: .5rem; padding: .75rem; }
  body .premium-menu-mobile-actions form { margin: 0; }
  body .premium-mobile-search { display: inline-flex; min-height: 44px; align-items: center; }
  body .premium-menu-close { display: block; margin: .75rem; align-self: flex-end; min-height: 44px; }
  body .burger, body .theme-toggle { min-width: 44px; min-height: 44px; }
  body .content { padding: 1rem; }
  body .content :is(.btn,button,summary) { min-height: 44px; }
  body .content :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { font-size: 16px; }
  body .content :is(.card,.panel) { max-width: 100%; }
  body .premium-filters label { flex-basis: calc(50% - 1rem); min-width: 0; }
  body .premium-filters label:first-child { flex-basis: 100%; }
  body .side:not(.open) { visibility: hidden; }
  body .side.open { visibility: visible; }
}
@media (max-width: 640px) {
  body .premium-operational-table { display: block; width: 100%; }
  body .premium-operational-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  body .premium-operational-table tbody { display: block; }
  body .premium-operational-table tbody tr { display: block; border: 1px solid var(--ramka); border-radius: 12px; padding: .75rem; margin-bottom: .75rem; background: var(--tlo-panelu); }
  body .premium-operational-table tbody td { display: flex; justify-content: space-between; gap: .75rem; flex-wrap: wrap; border: 0; width: 100%; min-width: 0; max-width: 100%; white-space: normal; padding: .5rem 0; }
  body .premium-operational-table tbody td[data-premium-col]:not([data-premium-col=""])::before { content: attr(data-premium-col); color: var(--tekst-slaby); font-size: .75rem; }
  body .premium-operational-table tbody td > * { max-width: 100%; }
  body .page-header { flex-wrap: wrap; gap: .75rem; }
  body .page-header > div { flex-wrap: wrap; }
  body .pulpit-poz--zalegla { flex-wrap: wrap; }
  body .pulpit-akcja { max-width: 100%; white-space: normal; }
  body .pulpit-kafel__stopka, body .pulpit-stopka { flex-wrap: wrap; }
  body .vb-wiersz { grid-template-columns: minmax(0,1fr); }
  body .vb-wiersz > * { min-width: 0; }
  body .vb-przel { flex-direction: row; flex-wrap: wrap; }
  body .vb-przel label { flex: 1 1 120px; min-height: 44px; }
  body .content details.karta { overflow-x: auto; max-width: 100%; }
  body .premium-field-actions { grid-template-columns: 1fr 1fr; }
  body .premium-step { padding: 1rem; }
  body .premium-wizard :is(.params,.form-group) { max-width: 100%; min-width: 0 !important; }
  body .anx-table td { flex-wrap: wrap; overflow-wrap: anywhere; }
  body .anx-table td .btn { max-width: 100%; white-space: normal; }
  body :is(.cen-wybor-blok,.cen-kat-nazwa-form,.cen-ustaw-kat,.cen-ustaw-grupa,.cen-kat-glowa) { flex-wrap: wrap; min-width: 0; max-width: 100%; }
  body .cen-wybor-blok select, body .cen-kat-nazwa-form input { min-width: 0; max-width: 100%; width: 100%; }
  body .cen-kat-nazwa-form { flex-basis: 100%; }
  body .premium-category-toggle { display: block; width: 100%; white-space: normal; text-align: left; }
  body .cen-grupy.premium-categories:not(.premium-expanded) > :not(.premium-category-toggle) { display: none; }
  body .cen-grupy.premium-categories { margin-bottom: 1rem; }
  body .cen-uklad { display: block; }
  body :is(.cen-tab,.cen-grupy,.cen-prawa,.cen-lista,.cen-ramka) { min-width: 0; width: 100%; max-width: 100%; }
  body .cen-naglowek { display: none; }
  body .cen-w { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: .8rem;
    padding: 1rem; margin-bottom: .8rem; border: 1px solid var(--ramka); border-radius: var(--premium-radius); background: var(--tlo-panelu); }
  body .cen-w > :is(.cen-nazwa,.cen-lp,.cen-marza,.cen-akcja,details,.cen-narzut-wiersz) { grid-column: 1 / -1; min-width: 0; }
  body .cen-w > .cen-lp { text-align: left; }
  body .cen-w .cen-tozs { display: flex; flex-wrap: wrap; gap: .4rem; }
  body .cen-w .cen-tozs > * { min-width: 0; max-width: 100%; flex: 1 1 100px; }
  body .cen-w .cen-nazwa--wariant { padding-left: 0; }
  body .cen-w .cen-akcja { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-start; }
  body .cen-w .cen-akcja button { padding: .5rem .75rem; }
  body .cen-w > [data-premium-label]::before { content: attr(data-premium-label); display: block; font-size: .75rem; color: var(--tekst-slaby); margin-bottom: .4rem; }
  body .cen-w input[type=text], body .cen-w select { width: 100%; min-height: 44px; text-align: left; }
  body .cen-tech-pola { display: flex; flex-direction: column; }
  body .cen-tech-pola > *, body .cen-narzut-wiersz > * { min-width: 0; max-width: 100%; }
  body .cen-tech-pola label { width: 100%; }
  body .cen-tech-pola :is(.cen-tech-hurt,.cen-tech-wymiary) { display: flex; flex-wrap: wrap; }
  body .cen-tech-pola input.cen-pole-tozs, body .cen-tech-pola select { font-size: 16px !important; }
  body .cen-progi { overflow-x: auto; max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .001ms !important; animation-duration: .001ms !important; } }

body .premium-form .premium-task-choice { flex-direction: row; align-items: center; gap: .8rem; }
body .premium-task-choice input[type=checkbox] { width: 22px; height: 22px; min-height: 22px; flex: 0 0 22px; }

body .premium-standard-form :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),select,textarea) { min-height:44px; padding:.65rem .8rem; border:1px solid var(--ramka); border-radius:8px; background:var(--tlo-panelu-2); color:var(--tekst); font-family:inherit; font-size:.95rem; }
body .premium-standard-form :is(h1,h2) { color:var(--tekst); }
body .premium-standard-form :is(input,select,textarea):disabled { opacity:.65; cursor:not-allowed; }
body .premium-settings-record > div { margin-top:1rem; }
/* Inactive definitions remain readable and editable. */
body .ea-etap.nieaktywny { opacity:1; border-style:dashed; }
html[data-theme=light] { --akcent-napis:#07576b; }
[data-theme=light] .cen-pstr--dost.cen-pstr--on { color:#145943 !important; }
body tr[data-stan] td a[href^="/zamowienia/"] { display:inline-block; min-height:28px; line-height:1.8; }
@media(max-width:700px) { body tr[data-stan] td a[href^="/zamowienia/"] { min-height:44px; padding:.5rem 0; } }
html[data-theme=light] body :is(.alert,.pm-pas,.wy-pas) a,
html[data-theme=light] body a[href$="porownanie#dziennik"] { color:#07576b !important; }
body .premium-filters :is(input:not([type=hidden]),select) { min-height:44px; padding:.65rem .75rem; border:1px solid var(--ramka); border-radius:8px; background:var(--tlo-panelu-2); color:var(--tekst); font-family:inherit; }
body .premium-filters input::placeholder { color:var(--tekst-slaby); opacity:1; }
