/* Podzbiór łaciński zachowuje osie 200–900; pozostałe alfabety używają oryginału. */
@font-face {
  font-family: "Source Sans 3";
  src: url('/assets/fonts/source-sans-3/source-sans-3-normal.woff2') format('woff2');
  font-style: normal;
  font-weight: 200 900;
  font-display: block;
  unicode-range: U+0250-02FF, U+0370-1DFF, U+1F00-1FFF, U+2070-209F, U+20D0-20FF, U+2150-218F, U+2300-25FF, U+2700-FAFF, U+FB07-FEFE, U+FF00-FFFC, U+FFFE-10FFFF;
}
@font-face {
  font-family: "Source Sans 3";
  src: url('/assets/fonts/source-sans-3/source-sans-3-italic.woff2') format('woff2');
  font-style: italic;
  font-weight: 200 900;
  font-display: swap;
}

:root {
  --font-family: "Source Sans 3", "Segoe UI", Arial, Helvetica, sans-serif;
  --navy: #174c77;
  --navy-deep: #10191f;
  --blue: #246092;
  --blue-hover: #163f62;
  --blue-soft: #dbeaf4;
  --danger: #ae2824;
  --ink: #262526;
  --muted: #53606a;
  --paper: #f5f7f8;
  --line: #d6dde2;
  --white: #fff;
  --text-primary: #173f5d;
  --text-muted: #667781;
  --line-strong: #b9c6cf;
  --line-default: #e5edf2;
  --surface-subtle: #f7fafc;
  --surface-default: #fff;
  --status-progress: #4f88c4;
  --status-progress-soft: #edf6fb;
  --status-action: #d9962f;
  --status-action-soft: #fff0d4;
  --status-action-border: #f0d8aa;
  --status-ready: #58b574;
  --status-ready-soft: #edf7f1;
  --status-neutral: #5e6e78;
  --status-neutral-soft: #eff3f5;
  --status-neutral-marker: #e8edf1;
  --max: 1180px;
  --photo-hero-height: 560px;
}

/* Customer portal - order-first premium layout */
.client-panel-eyebrow {
  display: block;
  margin-bottom: 8px;
  color: var(--blue);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.client-attention {
  margin: 0 0 38px;
  padding: 26px 30px;
  border: 1px solid var(--status-action-border);
  border-top: 3px solid var(--status-action);
  background: var(--status-action-soft);
  box-shadow: 0 18px 42px rgba(185, 111, 38, .08);
}
.client-attention__heading { margin-bottom: 17px; }
.client-attention__heading h2 { margin: 0; font-size: 1.45rem; letter-spacing: -.03em; }
.client-attention__card { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 20px 0 0; border-top: 1px solid rgba(185,111,38,.2); }
.client-attention__order { color: var(--status-action); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.client-attention__card h3 { margin: 5px 0 4px; font-size: 1.08rem; }
.client-attention__card p { max-width: 660px; margin: 0 0 7px; color: var(--muted); }
.client-attention__card strong, .client-attention__card small { display: block; margin-top: 5px; }
.client-attention__card small { color: var(--muted); }
.client-orders-search { display: block; max-width: 520px; margin: 0 0 14px; }
.client-orders-search input { width: 100%; min-height: 46px; padding: 0 16px; border: 1px solid rgba(23,76,119,.18); border-radius: 9px; background: #fff; color: var(--ink); box-shadow: 0 8px 22px rgba(16,45,64,.035); }
.client-orders-search input:focus { border-color: var(--blue); outline: 3px solid rgba(23,76,119,.13); }
.client-order-history-list { display: grid; gap: 0; overflow: hidden; border: 1px solid rgba(23,76,119,.1); border-radius: 0 0 11px 11px; background: #fbfcfd; }
.client-order-history-list__head,
.client-order-history-list .client-order-row { display: grid; grid-template-columns: 40px minmax(280px, 1fr) 132px 150px 130px 126px 24px; align-items: center; gap: 16px; }
.client-order-history-list__head { min-height: 38px; padding: 8px 16px; color: #84929a; border-bottom: 1px solid rgba(23,76,119,.08); border-radius: 11px 11px 0 0; font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.client-order-history-list .client-order-row { min-height: 68px; padding-inline: 16px; border-top: 1px solid rgba(23,76,119,.07); background: #fbfcfd; box-shadow: none; }
.client-order-history-list .client-order-row:first-child { border-top: 0; }
.client-order-history-list .client-order-row + .client-order-row { border-top-color: rgba(23,76,119,.07); }
.client-order-detail-card { overflow: hidden; border: 1px solid #e5edf2; border-radius: 18px; background: #fff; box-shadow: 0 16px 34px rgba(16,45,64,.06); }
.client-order-detail__topbar { display: contents; }
.client-order-detail__share { display: none; }
.client-order-detail__mobile-intro { display: none; }
.client-order-detail-tabs { display: flex; gap: 32px; margin: 0; padding: 0 32px; border: 0; border-bottom: 1px solid #dfe8ee; border-radius: 0; background: #fff; }
.client-order-detail-tabs button { position: relative; display: inline-flex; align-items: center; gap: 0; padding: 16px 2px 14px; border: 0; border-radius: 0; appearance: none; -webkit-appearance: none; background: transparent; box-shadow: none; color: #5f7080; font: inherit; font-size: .78rem; font-weight: 700; cursor: pointer; -webkit-tap-highlight-color: transparent; -webkit-user-select: none; user-select: none; }
.client-order-detail-tabs button::after { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: transparent; content: ''; pointer-events: none; }
.client-order-detail-tabs button[aria-selected="true"] { color: var(--blue); background: transparent; box-shadow: none; }
.client-order-detail-tabs button[aria-selected="true"]::after { background: var(--blue); }
.client-order-detail-tabs button:hover { color: var(--blue); background: transparent; }
.client-order-detail-tabs button:focus-visible { color: var(--blue); background: transparent; box-shadow: none; outline: 0; }
.client-order-detail-tabs button:focus-visible::after { background: var(--blue); }
.client-order-detail-tabs button:disabled {
  opacity: .38;
  cursor: not-allowed;
}
.client-order-detail-tabs button:disabled:hover,
.client-order-detail-tabs button:disabled:focus-visible {
  color: #5f7080;
  background: transparent;
  box-shadow: none;
}
.client-order-action { margin: 0 0 30px; padding: 24px 28px; border: 1px solid var(--status-action-border); border-left: 3px solid var(--status-action); background: var(--status-action-soft); }
.client-order-action h2 { margin: 0 0 8px; font-size: 1.35rem; }
.client-order-action p { margin: 0 0 9px; color: var(--muted); }
.client-order-action__buttons { display: flex; gap: 9px; margin-top: 16px; }
.client-order-placeholder { margin-top: 24px; padding: 34px; border: 1px solid rgba(23,76,119,.14); background: #fff; }
.client-order-placeholder h2 { margin: 0 0 8px; font-size: 1.04rem; font-weight: 760; }
.client-order-placeholder p { margin: 0; color: var(--muted); font-size: .84rem; }
.client-order-detail__auxiliary { margin: 0; padding: 28px; border: 0; border-top: 1px solid #edf2f5; background: #f7fafc; }

@media (max-width: 700px) {
  .client-attention { padding: 22px; }
  .client-attention__card { align-items: flex-start; flex-direction: column; }
  .client-attention__card .button { width: 100%; }
  .client-order-detail-tabs { overflow-x: auto; }
  .client-order-detail-tabs button { flex: 0 0 auto; }
  .client-order-action__buttons { flex-wrap: wrap; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font: 16px/1.6 var(--font-family); }
body.page-customer-portal { position: relative; isolation: isolate; display: flex; min-height: 100dvh; flex-direction: column; }
@media (min-width: 801px) {
  html {
    overflow-y: auto;
    scrollbar-gutter: stable;
  }
  html:has(body.page-customer-portal) {
    --client-site-header-height: 75px;
    background: #fff;
  }
}
/* Wspólna grafika statusu, logowania, wyboru firmy i zalogowanego panelu.
   Pełny kadr pokrywa desktop bez powtarzania i dodatkowego rozjaśniania. */
@media (min-width: 901px) {
  html:has(body.page-customer-portal), body.page-customer-portal { background: #f2f5f7; }
  body.page-customer-portal::before { position: fixed; inset: 0; z-index: -3; pointer-events: none; background: url('/assets/media/portal-status-background-1303-a.png') center / cover no-repeat; content: ""; }
}
@media (max-width: 800px) {
  html:has(body.page-customer-portal),
  body.page-customer-portal { scrollbar-width: none; }
  html:has(body.page-customer-portal)::-webkit-scrollbar,
  body.page-customer-portal::-webkit-scrollbar { display: none; width: 0; height: 0; }
}
body.page-customer-portal > main { flex: 1 0 auto; }
a { color: inherit; }
.text-nowrap { white-space: nowrap; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.container { width: min(var(--max), calc(100% - 40px)); margin-inline: auto; }
.skip-link { position: absolute; top: -100px; left: 12px; z-index: 20; padding: 10px; background: #fff; }
.skip-link:focus { top: 12px; }

.site-header { position: relative; z-index: 5; border-bottom: 1px solid var(--line); background: #fff; }
@media (min-width: 801px) {
  .site-header { position: sticky; top: 0; z-index: 50; }
}
.nav-row { display: flex; align-items: center; gap: 28px; min-height: 74px; }
.brand { display: block; width: 176px; flex: 0 0 auto; line-height: 1; }
.brand img { display: block; width: 100%; height: auto; }
.mobile-portal-context { display: none; }
.main-nav { display: flex; flex: 1; align-items: center; justify-content: flex-end; gap: 14px; }
.main-nav a { padding: 9px 0; border-bottom: 2px solid transparent; font-size: .84rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.main-nav a:hover:not(.nav-action-cta), .main-nav a[aria-current="page"]:not(.nav-action-cta) { border-color: var(--blue); color: var(--blue); }
.main-nav .nav-action-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
  margin-left: 0;
  padding: 9px 0;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  color: var(--blue);
  background: transparent;
  box-shadow: none;
  font-size: .84rem;
  font-weight: 700;
  line-height: 1.2;
  transition: border-color .2s ease, color .2s ease;
}
.main-nav .nav-order-cta { margin-left: 6px; }
.main-nav .nav-action-cta:hover, .main-nav .nav-action-cta:focus-visible, .main-nav .nav-action-cta[aria-current="page"] { border-bottom-color: var(--blue); color: var(--blue); }
.nav-action-cta svg { width: 16px; height: 16px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.mobile-nav-account { display: none; }
.menu-toggle { display: none; margin-left: auto; border: 0; background: none; color: var(--navy); font: inherit; font-weight: 800; }
.menu-toggle__icon { display: block; font-size: 1.05rem; line-height: 1; }

.hero { overflow: hidden; color: #fff; background: linear-gradient(110deg, var(--navy-deep), #173f60 58%, var(--navy)); }
.hero-grid { display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 72px; min-height: var(--photo-hero-height); }
.hero-copy { padding: 72px 0; }
.hero h1, .page-hero h1 { max-width: 750px; margin: 0; font-size: clamp(2.35rem, 4.2vw, 4.3rem); line-height: 1.06; letter-spacing: -.042em; }
.lead { max-width: 660px; margin: 26px 0 0; font-size: clamp(1.05rem, 1.6vw, 1.3rem); opacity: .9; }
.hero .lead { max-width: none; font-size: clamp(1.06rem, 1.55vw, 1.25rem); letter-spacing: -.012em; }
.hero-motto { margin: 28px 0 0; color: rgba(255,255,255,.82); font-size: .98rem; font-weight: 600; letter-spacing: .01em; }
.hero-motto em { font-style: italic; }
.action-row { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 36px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 19px; border: 1px solid transparent; border-radius: 999px; cursor: pointer; font: inherit; font-weight: 700; text-decoration: none; transition: border-color .2s ease, color .2s ease, background .2s ease, box-shadow .2s ease; }
.button--primary, .button--secondary, .button--secondary-dark { border-color: rgba(23,76,119,.42); color: var(--navy); background: #fff; box-shadow: 0 6px 16px rgba(16,45,64,.12); }
.button--primary:hover, .button--secondary:hover, .button--secondary-dark:hover { border-color: var(--blue); color: #fff; background: var(--blue); box-shadow: 0 10px 24px rgba(16,45,64,.18); }
.hero-visual { position: relative; width: min(100%, 430px); min-height: 0; aspect-ratio: 1; align-self: center; margin-left: auto; overflow: hidden; isolation: isolate; border: 1px solid rgba(190,222,239,.22); border-radius: 50%; background: #123956; box-shadow: 0 32px 72px rgba(0,0,0,.33), inset 0 0 0 14px rgba(16,25,31,.12); }
.hero-visual::before { position: absolute; inset: 0; z-index: 1; content: ""; background: radial-gradient(circle at 52% 43%, transparent 34%, rgba(8,25,37,.08) 66%, rgba(8,25,37,.42) 100%); pointer-events: none; }
.hero-visual > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 52% 42%; transform: scale(1.02) translateY(3%); filter: saturate(.88) contrast(1.03) brightness(.96); }
.cooperation-hero { color: var(--ink); background: linear-gradient(120deg, #f5f7f8, #edf2f5); }
.cooperation-hero .lead { color: var(--muted); opacity: 1; }
.cooperation-hero .button--secondary { border-color: var(--blue); color: var(--blue); }
.cooperation-hero .button--secondary:hover { color: #fff; background: var(--blue); }
.cooperation-hero .hero-visual { margin-right: 18px; border-color: rgba(23, 63, 96, .2); background: #dce8ee; box-shadow: none; }
.cooperation-hero .hero-visual::before { background: radial-gradient(circle at 52% 43%, transparent 38%, rgba(8,25,37,.05) 70%, rgba(8,25,37,.24) 100%); }
.cooperation-hero__visual > img { object-position: 54% 46%; transform: scale(1.07); filter: saturate(.88) contrast(1.04) brightness(.97); }
.contact-hero__details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 30px; max-width: 580px; margin-top: 30px; }
.contact-hero__details div { display: grid; gap: 3px; }
.contact-hero__details span { color: var(--blue); font-size: .74rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.contact-hero__details > div a { color: var(--ink); font-size: 1.08rem; font-weight: 800; text-decoration: none; }
.contact-hero__details > p { grid-column: 1 / -1; margin: 1px 0 0; padding-top: 16px; border-top: 1px solid rgba(23,76,119,.18); color: var(--muted); font-size: .92rem; line-height: 1.6; }
.contact-hero__details > p a { color: var(--blue-hover); font-size: inherit; }
.hero .hero-copy > .action-row, .catalog-hero:not(.about-company-hero) .catalog-hero__grid > div > .button { display: none; }

.section { padding: 80px 0; }
.section--muted, .page-hero { background: var(--paper); }
.section-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 22px; margin-bottom: 34px; }
.section-heading h2, .cta-panel h2 { margin: 0; font-size: clamp(1.65rem, 2.65vw, 2.65rem); line-height: 1.14; letter-spacing: -.032em; }
.section-heading > p:last-child, .cta-panel p { margin: 0; color: var(--muted); }
.catalog-section .section-heading { grid-template-columns: 1fr; gap: 12px; max-width: none; }
.homepage-paths { padding-bottom: 66px; }
.homepage-paths__intro { max-width: 660px; margin-bottom: 34px; }
.homepage-paths__intro h2 { margin: 0 0 13px; font-size: clamp(1.65rem, 2.65vw, 2.65rem); line-height: 1.14; letter-spacing: -.032em; }
.homepage-paths__intro p { margin: 0; color: var(--muted); }
.home-paths { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.home-path { display: flex; flex-direction: column; min-height: 466px; overflow: hidden; color: var(--ink); background: #fff; text-decoration: none; transition: background .2s ease; }
.home-path:hover { background: #f7fafc; }
.home-path > img { display: block; width: 100%; height: 248px; padding: 6px; object-fit: contain; background: linear-gradient(145deg, #f5f8fa, #edf2f5); filter: saturate(.7) contrast(1.03); }
.home-path > img.home-path__products-image { padding: 6px; object-fit: contain; object-position: center; filter: saturate(.82) contrast(1.03); }
.home-path__content { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 30px; }
.home-path__label { margin-bottom: 16px; color: var(--blue); font: 800 .8rem var(--font-family); letter-spacing: .04em; text-transform: uppercase; }
.home-path strong { max-width: 430px; margin-bottom: 14px; font-size: clamp(1.35rem, 2vw, 1.8rem); line-height: 1.13; letter-spacing: -.028em; }
.home-path__content > span:not(.home-path__label) { max-width: 460px; color: var(--muted); line-height: 1.55; }
.home-path b { margin-top: auto; padding-top: 24px; color: var(--blue); font-size: .95rem; }
.home-path b i { font-style: normal; }
.home-control { padding: 38px; color: var(--ink); border: 1px solid var(--line); border-left: 4px solid var(--blue); background: linear-gradient(115deg, #f7fafb, #eaf2f6); box-shadow: 0 14px 34px rgba(16,25,31,.08); }
.home-control__grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 56px; }
.home-control h2 { max-width: 470px; margin: 0 0 20px; font-size: clamp(1.8rem, 2.7vw, 2.85rem); line-height: 1.12; letter-spacing: -.036em; }
.home-control p { max-width: 660px; margin: 0; color: var(--muted); }
.home-control > .button { justify-self: end; white-space: nowrap; }
.about-company-hero { background: linear-gradient(120deg, #f5f7f8, #edf2f5); }
.about-company-hero .catalog-hero__grid { grid-template-columns: 1.08fr .92fr; min-height: var(--photo-hero-height); }
.about-company-hero .lead { color: var(--muted); }
.about-company-hero__portrait {
  position: relative;
  isolation: isolate;
  align-self: center;
  justify-self: end;
  width: min(100%, 430px);
  margin: 0 18px 0 0;
  aspect-ratio: 1;
}
.about-company-hero__portrait::before {
  position: absolute;
  inset: 18px -18px -18px 18px;
  z-index: -1;
  content: "";
  background: var(--navy);
}
.about-company-hero__portrait img {
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(23,76,119,.18);
  object-fit: cover;
  object-position: center 34%;
  box-shadow: 0 24px 55px rgba(16,25,31,.18);
}
.cta-section { padding: 64px 0; }
.cta-panel { display: flex; align-items: center; justify-content: space-between; box-sizing: border-box; width: 100%; gap: 28px; margin: 0 auto; padding: 34px 38px; border: 1px solid var(--line); border-left: 4px solid var(--blue); background: linear-gradient(115deg, #f7fafb, #eaf2f6); box-shadow: 0 14px 34px rgba(16,25,31,.08); }
.container.cta-panel { width: min(var(--max), calc(100% - 40px)); }
.cta-panel p { max-width: 590px; }
.cta-panel .button { flex: 0 0 auto; white-space: nowrap; }
.cta-panel .action-row { justify-content: flex-end; margin-top: 0; }
.page-hero { padding: 64px 0 48px; border-bottom: 1px solid var(--line); }
.page-hero .lead { color: var(--muted); }
/* Ekran wejścia korzysta ze wspólnego tła Panelu Klienta. */
.client-entry-section { position: relative; isolation: isolate; display: grid; align-items: center; min-height: calc(100dvh - var(--client-site-header-height, 59px)); overflow: clip; padding: 48px 0; background: transparent; }
.client-entry-section[hidden], .client-dashboard[hidden] { display: none; }
.client-login { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 380px); align-items: center; gap: clamp(48px, 6vw, 96px); width: min(960px, calc(100% - 80px)); margin: auto; }
.client-login__intro { min-width: 0; min-height: 600px; padding-top: 36px; }
/* Nagłówek logowania i wyboru firmy zachowuje typografię publicznego statusu. */
.client-login__intro-copy h1 { margin: 0; color: #2c4f69; font-size: clamp(32px, 2.65vw, 42px); font-weight: 430; line-height: 1.15; letter-spacing: -.03em; }
.client-login__intro-copy h1 span { display: block; white-space: nowrap; }
.client-login__intro-copy h1 span + span { margin-top: 9px; }
.client-login__intro-copy p { max-width: 350px; margin: 22px 0 0; color: #334a5d; font-size: 1rem; font-weight: 500; line-height: 1.6; }
.client-login__content { min-width: 0; padding: 24px 0; }
.client-login__heading h2 { margin: 0 0 12px; font-size: clamp(1.85rem, 2.6vw, 2.4rem); font-weight: 650; line-height: 1.15; letter-spacing: -.035em; }
.client-login__heading p { margin: 0; color: #405362; font-size: 1rem; line-height: 1.55; }
.client-login__form { display: grid; gap: 16px; margin-top: 28px; }
.client-login__form label { display: grid; min-width: 0; gap: 8px; color: #263d4d; font-size: .9rem; font-weight: 600; }
.client-login__form input:where(:not([type="checkbox"])) { width: 100%; min-width: 0; min-height: 52px; margin: 0; padding: 12px 15px; border: 1px solid #c5d2dc; border-radius: 10px; background: #fff; font-size: 16px; transition: border-color .2s ease, box-shadow .2s ease; }
/* Podpowiedzi logowania mają zwykłą grubość niezależnie od etykiet pól. */
.client-login__input-field input::placeholder { font-weight: 400; }
.client-login__form input:focus-visible { border-color: var(--blue); outline: 2px solid var(--blue); outline-offset: 2px; }
.client-login__form input:not([type="checkbox"]), .client-login__form .button, .client-login__password-toggle, .client-login__link { -webkit-appearance: none; appearance: none; }
/* Natywny checkbox pozostaje dostępny z klawiatury i ma pełną etykietę. */
.client-login__form .client-login__remember { grid-template-columns: 18px minmax(0, 1fr); align-items: center; gap: 10px; min-height: 44px; margin-bottom: -8px; font-weight: 400; cursor: pointer; }
.client-login__remember input { width: 18px; height: 18px; margin: 0; accent-color: var(--blue); cursor: pointer; }
.client-login__password-field { position: relative; display: block; }
.client-login__password-field input { width: 100%; padding-right: 52px; }
/* Ikony uzupełniają istniejące pola logowania bez zmiany ich oprawy. */
.client-login__input-field { position: relative; display: block; }
.client-login__input-field input { padding-left: 48px; }
.client-login__field-icon { position: absolute; top: 50%; left: 16px; width: 19px; height: 19px; transform: translateY(-50%); color: #5a7182; pointer-events: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.client-login__submit-arrow { width: 20px; height: 20px; margin-left: 10px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.client-login__password-toggle { position: absolute; top: 50%; right: 4px; display: grid; width: 44px; height: 44px; padding: 0; place-items: center; transform: translateY(-50%); border: 0; border-radius: 8px; color: var(--blue); background: transparent; cursor: pointer; }
.client-login__password-toggle:hover, .client-login__password-toggle:focus-visible { background: #eef5fa; }
.client-login__password-toggle svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.client-login__form .button { width: 100%; min-height: 52px; border-color: var(--blue); border-radius: 10px; color: #fff; background: linear-gradient(120deg, #286695, #1b4c74); box-shadow: 0 6px 18px rgba(23, 76, 119, .14); }
.client-login__form .button:hover, .client-login__form .button:focus-visible { border-color: var(--blue-hover); background: var(--blue-hover); box-shadow: 0 8px 22px rgba(23, 76, 119, .18); }
.client-login__form .button:disabled { opacity: .65; cursor: wait; box-shadow: none; }
.client-login__submit-group { display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
.client-login__register { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0 6px; margin: 0; color: #334a5d; font-size: .9375rem; }
.client-login__register .client-login__link { margin-top: 0; }
.client-login__link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 16px; padding: 0; border: 0; color: var(--blue); background: transparent; font-family: inherit; font-size: .9rem; line-height: 1.4; font-weight: 600; cursor: pointer; }
.client-login__link--forgot { justify-self: end; margin: -14px 0 -8px; font-size: .875rem; }
.client-login__link--back { display: flex; width: max-content; margin-left: auto; }
.client-login__link:disabled { color: var(--muted); cursor: default; text-decoration: none; opacity: .72; }
.client-login__link:not(:disabled):hover, .client-login__link:not(:disabled):focus-visible { color: var(--ink); text-decoration: underline; }
.client-login__links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; margin-top: 18px; }
.client-login__links .client-login__link { margin-top: 0; }
.client-login__field-help { margin: -7px 0 0; color: var(--muted); font-size: .8rem; line-height: 1.45; }
.client-login__support { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0 5px; margin: 22px 0 0; color: #334a5d; font-size: .875rem; }
.client-login__support a { display: inline-flex; align-items: center; min-height: 44px; color: var(--blue); text-decoration: none; }
.client-login__support a:hover, .client-login__support a:focus-visible { text-decoration: underline; }
.client-login__support--details { gap: 16px; }
.client-login__support-icon { width: 26px; height: 26px; color: var(--blue); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.client-login__support-copy { display: grid; gap: 4px; }
.client-login__support-copy a { min-height: 0; line-height: 1.5; }
.client-login__support-copy a[href^="tel:"] { font-weight: 600; }
.client-dashboard__logout { padding: 0; border: 0; color: var(--blue); background: transparent; font: inherit; font-weight: 800; cursor: pointer; }
.client-login__noscript { margin: 26px 0 0; color: #8a3029; font-size: .84rem; }
.client-login__form .notice { margin: 0; }
.client-dashboard { min-height: calc(100vh - 168px); padding: 0 0 92px; background: transparent; font-size: 1.04rem; }
.client-dashboard__shell { padding-top: 0; }
.client-dashboard__statistics:not([hidden]) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}
.client-dashboard__statistics--finances { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.client-dashboard__statistics article {
  display: grid;
  gap: 8px;
  min-height: 90px;
  padding: 18px 20px;
  border: 1px solid #dbe6ed;
  border-radius: 12px;
  background: #fff;
}
.client-dashboard__statistics span {
  color: #6d7d86;
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.25;
}
.client-dashboard__statistics strong {
  color: #173f5d;
  font-size: 1.65rem;
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: 1;
}
.client-dashboard__logout { padding: 6px 0; border: 0; color: var(--blue); background: transparent; font-size: .8rem; }
.client-dashboard__logout:hover, .client-dashboard__logout:focus-visible { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.client-tab-panel { padding-top: 0; }
.client-status { display: inline-flex; align-items: center; gap: 6px; width: fit-content; min-height: 25px; padding: 5px 9px; border: 1px solid; font-size: .69rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.client-status::before { display: inline-grid; width: 13px; height: 13px; place-items: center; border-radius: 50%; font-size: .62rem; line-height: 1; content: ""; }
.client-status--in_progress::before { background: currentColor; box-shadow: inset 0 0 0 3px rgba(255,255,255,.72); }
.client-status--ready::before { color: var(--status-ready); background: currentColor; box-shadow: inset 0 0 0 3px rgba(255,255,255,.72); }
.client-status--paused::before { content: "Ⅱ"; color: currentColor; background: rgba(255,255,255,.7); }
.client-status--completed::before { color: #fff; background: currentColor; content: "✓"; }
.client-status--ready { color: var(--status-ready); border-color: #a9d2b9; background: var(--status-ready-soft); }
.client-status--in_progress { color: var(--status-progress); border-color: #b5cede; background: var(--status-progress-soft); }
.client-status--paused { color: var(--status-action); border-color: var(--status-action-border); background: var(--status-action-soft); }
.client-status--completed { color: var(--status-neutral); border-color: #ccd4d8; background: var(--status-neutral-soft); }
.client-order-list { overflow: hidden; border: 1px solid rgba(23,76,119,.16); background: #fff; box-shadow: 0 14px 34px rgba(16,45,64,.045); }
.client-order-row { display: grid; grid-template-columns: 130px minmax(260px, 1fr) 190px 76px 20px; align-items: center; gap: 14px; }
.client-order-list__head { min-height: 46px; padding: 9px 24px; color: var(--muted); border-bottom: 1px solid rgba(23,76,119,.14); background: #f6f9fa; font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.client-order-row { width: 100%; min-height: 76px; padding: 12px 20px; border: 0; color: var(--ink); background: #fff; font: inherit; text-align: left; cursor: pointer; transition: background .2s ease; }
.client-order-list .client-order-row--history { grid-template-columns: 56px minmax(260px, 1fr) 150px 150px 130px minmax(150px, .8fr) 20px; }
.client-order-list .client-order-row--history .client-order-history-state__label { display: none; }
.client-order-list__head { display: none; }
.client-order-row + .client-order-row { border-top: 1px solid rgba(23,76,119,.12); }
.client-order-row:hover, .client-order-row:focus-visible { background: #f7fafc; }
.client-order-row__name { display: grid; gap: 1px; min-width: 0; }
.client-order-row__name small { overflow: hidden; color: var(--muted); font-size: .7rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.client-order-row__name strong { overflow: hidden; font-size: .98rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.client-order-row__schedule { display: grid; gap: 2px; min-width: 0; }
.client-order-row__schedule strong { overflow: hidden; font-size: .79rem; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.client-order-row__schedule small { overflow: hidden; color: var(--muted); font-size: .68rem; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.client-order-row__delivery, .client-order-row__payment, .client-order-row__value { font-size: .86rem; font-variant-numeric: tabular-nums; }
.client-order-row__delivery { color: var(--muted); font-size: .78rem; font-weight: 700; line-height: 1.35; }
.client-order-row__payment { color: var(--muted); font-size: .78rem; font-weight: 700; line-height: 1.35; }
.client-order-row__value { text-align: right; }
.client-order-row__arrow {
  display: inline-grid;
  width: 24px;
  height: 24px;
  place-items: center;
  justify-self: end;
  color: #6f8ca0;
  font-size: 0;
  text-align: right;
  transition: color .18s ease, transform .18s ease;
}
.client-order-row__arrow-icon {
  display: block;
  width: 22px;
  height: auto;
  opacity: .68;
  object-fit: contain;
  transition: opacity .18s ease;
}
.client-order-row:hover .client-order-row__arrow,
.client-order-row:focus-visible .client-order-row__arrow {
  color: var(--blue);
  transform: translateX(2px);
}
.client-order-row:hover .client-order-row__arrow-icon,
.client-order-row:focus-visible .client-order-row__arrow-icon {
  opacity: 1;
}
.client-order-detail { scroll-margin-top: 152px; }
.client-order-detail__consultation { position: fixed; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); z-index: 44; display: grid; place-items: center; width: 52px; height: 52px; padding: 0; border: 0; border-radius: 50%; background: var(--surface-default); box-shadow: 0 4px 18px rgba(15, 38, 54, .2); cursor: pointer; }
.client-order-detail__consultation img { width: 28px; height: 28px; object-fit: contain; }
.client-order-detail__consultation:hover { background: var(--status-progress-soft); }
.client-order-detail__consultation:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.client-public-order:not(.status-order-view) {
  min-height: 100dvh;
  padding: 0 0 92px;
  background: #f5f8fa;
}
.client-public-order[hidden] { display: none; }
/* Publiczny szczegół korzysta z całego ekranu; zamknięcie widoku przywraca nagłówek. */
html:has([data-client-public-order]:not([hidden])) { --client-site-header-height: 0px; background: #eef3f5; }
body.page-customer-portal:has([data-client-public-order]:not([hidden])) > .site-header { display: none; }
.client-public-order .client-order-detail { margin: 0; }
.client-order-detail--public .client-order-detail__back,
.client-order-detail--public .client-order-action { display: none; }
.client-order-detail__back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 28px;
  margin: 14px 0 12px;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: var(--blue);
  background: transparent;
  box-shadow: none;
  font: inherit;
  font-size: .8rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: color .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.client-order-detail__back > img { display: block; flex: 0 0 19px; width: 19px; height: 19px; object-fit: contain; }
.client-order-detail__back-number { display: none; }
.client-order-detail__back:hover,
.client-order-detail__back:focus-visible {
  color: var(--blue-hover);
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  transform: none;
}
.client-order-detail__header { position: relative; display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; overflow: hidden; padding: 30px 34px 22px; color: var(--ink); border: 0; background: #fff; box-shadow: none; }
.client-order-detail__header > * { position: relative; z-index: 1; }
.client-order-detail__header h1 { max-width: 700px; margin: 0 0 12px; color: #14233f; font-size: 1.04rem; font-weight: 760; line-height: 1.25; letter-spacing: -.017em; }
.client-order-detail__header h1:focus { outline: none; }
.client-order-detail__header p { margin: 0; color: var(--muted); }
.client-order-detail__meta { display: flex; align-items: center; gap: 10px; margin: 0; font-size: .74rem; line-height: 1.35; }
.client-order-detail__number { display: inline-flex; align-items: center; min-height: 36px; color: var(--navy); font-size: 1rem; font-weight: 760; line-height: 1; }
.client-order-detail__identifier { padding: 5px 10px; color: var(--navy); border: 1px solid #dce8ff; border-radius: 8px; background: #f2f6ff; font-weight: 700; text-transform: uppercase; }
.client-order-detail__labels { display: flex; align-items: center; gap: 9px; }
.client-order-detail__express { padding: 5px 9px; color: var(--status-action); background: var(--status-action-soft); font-size: .74rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.client-order-detail__state { min-width: 0; }
.client-order-detail__state strong { color: var(--navy); font-size: 1.04rem; font-weight: 760; line-height: 1.25; text-transform: uppercase; }
.client-order-realization-overview { display: grid; gap: 12px; margin: 0 0 12px; }
.client-order-progress { --client-order-progress-color: var(--status-neutral); display: grid; grid-template-columns: 104px minmax(0, 1fr); grid-template-areas: "ring copy" "estimate estimate"; align-items: center; gap: 18px 24px; margin: 0; padding: 22px 24px; border: 1px solid #e5edf2; border-radius: 16px; background: #fff; box-shadow: 0 8px 20px rgba(16,45,64,.035); }
.client-order-progress--state-2 { --client-order-progress-color: var(--status-progress); }
.client-order-progress--state-3 { --client-order-progress-color: var(--status-action); }
.client-order-progress--state-4 { --client-order-progress-color: var(--status-ready); }
.client-order-progress-ring--detail { grid-area: ring; width: 96px; height: 96px; justify-self: center; }
.client-order-progress-ring--detail svg { width: 96px; height: 96px; }
.client-order-progress-ring.client-order-progress-ring--detail circle { stroke-width: 4.2; }
.client-order-progress-ring--detail .client-order-progress-ring__value { stroke: var(--client-order-progress-color); }
.client-order-progress-ring--detail strong { color: var(--client-order-progress-color); font-size: 1rem; font-weight: 760; }
.client-order-progress__copy { grid-area: copy; min-width: 0; }
.client-order-progress__copy .client-order-detail__state { margin-bottom: 9px; }
.client-order-progress .client-order-detail__state strong { color: var(--client-order-progress-color); text-transform: none; }
.client-order-progress__current, .client-order-progress__work { margin: 0; color: #40536e; font-size: .84rem; line-height: 1.35; }
.client-order-progress__work { margin-top: 10px; color: #253d59; }
.client-order-progress__estimate { grid-area: estimate; display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 6px; min-width: 0; padding-top: 16px; }
.client-order-progress__estimate-icon { display: block; width: 22px; height: 22px; object-fit: contain; }
.client-order-progress__estimate p { margin: 0; color: #40536e; font-size: .84rem; line-height: 1.35; }
.client-order-progress__estimate strong { color: #14233f; font-weight: 700; }
.client-order-progress__relative { display: inline-flex; align-items: center; min-height: 28px; padding: 4px 10px; border: 0; border-radius: 999px; color: var(--status-progress); background: var(--status-progress-soft); font-size: .74rem; font-weight: 700; white-space: nowrap; }
.client-order-schedule { padding: 22px 24px; border: 1px solid #e5edf2; border-radius: 16px; background: #fff; box-shadow: 0 8px 20px rgba(16,45,64,.035); }
.client-order-schedule__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.client-order-schedule__item { position: relative; display: grid; grid-template-rows: 48px auto; justify-items: center; gap: 8px; min-width: 0; color: var(--status-neutral); text-align: center; }
.client-order-schedule__item:not(:last-child)::after { position: absolute; top: 23px; left: calc(50% + 28px); width: calc(100% - 56px); height: 2px; background: repeating-linear-gradient(90deg, var(--line-strong) 0 4px, transparent 4px 8px); content: ""; }
.client-order-schedule__item--state-4:not(:last-child)::after { background: var(--line-strong); }
.client-order-schedule__marker { position: relative; z-index: 1; display: grid; width: 48px; height: 48px; border: 1px solid #cbd6de; border-radius: 50%; background: var(--status-neutral-marker); box-shadow: 0 2px 7px rgba(20,35,63,.11); place-items: center; }
.client-order-schedule__icon { display: block; width: 25px; height: 25px; object-fit: contain; filter: brightness(0) saturate(100%) invert(39%) sepia(14%) saturate(493%) hue-rotate(158deg) brightness(92%) contrast(89%); opacity: 1; }
.client-order-schedule__item--delivery .client-order-schedule__icon { width: 27px; height: 27px; }
.client-order-schedule__item--state-2 { color: var(--status-progress); }
.client-order-schedule__item--state-2 .client-order-schedule__marker { border-color: var(--status-progress); background: var(--status-progress); box-shadow: 0 3px 9px rgba(79,136,196,.17); }
.client-order-schedule__item--state-2 .client-order-schedule__icon { filter: invert(1); }
.client-order-schedule__item--state-3 { color: var(--status-action); }
.client-order-schedule__item--state-3 .client-order-schedule__marker { border-color: #c98220; background: var(--status-action); box-shadow: 0 3px 9px rgba(201,130,32,.17); }
.client-order-schedule__item--state-3 .client-order-schedule__icon { filter: invert(1); }
.client-order-schedule__item--state-4 { color: var(--status-ready); }
.client-order-schedule__item--state-4 .client-order-schedule__marker { border-color: #4daa67; background: var(--status-ready); box-shadow: 0 3px 9px rgba(77,170,103,.16); }
.client-order-schedule__item--state-4 .client-order-schedule__icon { filter: invert(1); }
.client-order-schedule__copy { display: grid; gap: 4px; min-width: 0; }
.client-order-schedule__copy strong { color: currentColor; font-size: .84rem; line-height: 1.25; }
.client-order-schedule__copy small { color: #52637a; font-size: .74rem; line-height: 1.3; overflow-wrap: anywhere; }
.client-order-schedule__shipment { display: flex; justify-content: space-between; gap: 16px; margin: 18px 0 0; padding-top: 14px; color: #52637a; border-top: 1px solid #e5edf2; font-size: .74rem; }
.client-order-schedule__shipment strong { color: #14233f; font-size: .84rem; }
.client-data-grid dt { color: var(--text-muted); font-size: .68rem; font-weight: 600; }
.client-data-grid dd { margin: 4px 0 0; color: var(--text-primary); font-size: .86rem; font-weight: 700; overflow-wrap: anywhere; }
.client-order-processes { margin-top: 0; padding: 27px 28px 32px; border-top: 1px solid #edf2f5; background: #f7fafc; }
.client-process-list { display: grid; gap: 10px; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.client-process { padding: 0; overflow: hidden; border: 1px solid #e1eaf0; border-radius: 14px; background: #fff; }
.client-process-list > .client-process:not(:last-child), .client-process-list > .client-process + .client-process { padding: 0; }
.client-process__header { display: block; padding: 12px 14px; background: var(--status-progress-soft); }
.client-process--completed .client-process__header { background: var(--status-ready-soft); }
.client-process__heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 0 10px; }
.client-process__heading > div { min-width: 0; }
.client-process__sequence { align-self: start; color: #6d7e87; font-size: .76rem; font-weight: 600; line-height: 1.3; white-space: nowrap; }
.client-process__header h3 { max-width: 760px; margin: 0; font-size: .84375rem; font-weight: 700; line-height: 1.25; letter-spacing: -.017em; }
.client-process__name { margin: 3px 0 0; color: #6d7e87; font-size: .84rem; font-weight: 400; line-height: 1.25; }
.client-process__info { margin: 5px 0 6px; padding: 0; border: 0; color: #226994; background: transparent; font-size: .78rem; font-weight: 400; line-height: 1.3; }
.client-process-stages { display: grid; max-width: 100%; margin: 0; padding: 10px 14px 12px; list-style: none; }
.client-process-stage { position: relative; display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 38px; margin: 0; padding: 4px 0; border: 0; border-radius: 0; background: transparent; }
.client-process-stage[hidden] { display: none; }
.client-process-stage:last-child { margin-bottom: 0; }
.client-process-stage__marker { position: relative; z-index: 1; display: grid; width: 30px; height: 30px; border: 1px solid #cbd6de; border-radius: 50%; background: var(--status-neutral-marker); box-shadow: 0 2px 7px rgba(20,35,63,.11); place-items: center; }
.client-process-stage > div:not(.client-process-stage__meta) { display: flex; align-items: center; min-height: 30px; }
.client-process-stage__icon { display: block; width: 17px; height: 17px; background-position: center; background-repeat: no-repeat; background-size: contain; filter: brightness(0) saturate(100%) invert(39%) sepia(14%) saturate(493%) hue-rotate(158deg) brightness(92%) contrast(89%); }
.client-process-stage--icon-1 .client-process-stage__icon { display: none; }
.client-process-stage--icon-2 .client-process-stage__marker { border-color: var(--status-progress); background: var(--status-progress); box-shadow: 0 3px 9px rgba(79,136,196,.17); }
.client-process-stage--icon-2 .client-process-stage__icon { background-image: url('/assets/media/process-state-icons/active.png?v=1'); filter: invert(1); }
.client-process-stage--icon-3 .client-process-stage__marker { border-color: #c98220; background: var(--status-action); box-shadow: 0 3px 9px rgba(201,130,32,.17); }
.client-process-stage--icon-3 .client-process-stage__icon { background-image: url('/assets/media/process-state-icons/on-hold.png?v=1'); filter: invert(1); }
.client-process-stage--icon-4 .client-process-stage__marker { border-color: #4daa67; background: var(--status-ready); box-shadow: 0 3px 9px rgba(77,170,103,.16); }
.client-process-stage--icon-4 .client-process-stage__icon { background-image: url('/assets/media/process-state-icons/completed.png?v=1'); filter: invert(1); }
.client-process-stage strong { display: inline; color: #14233f; font-size: .84rem; font-weight: 400; line-height: 1.35; }
.client-process-stage__meta { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-width: 155px; }
.client-process-stage__meta time { color: #52637a; font-size: .74rem; white-space: nowrap; }
.client-process__more {
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 34px;
  margin: 10px auto 12px;
  padding: 0 15px;
  border: 1px solid #c3ddec;
  border-radius: 999px;
  color: #226994;
  background: #edf6fb;
  cursor: pointer;
  font: inherit;
  font-size: .76rem;
  font-weight: 720;
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  user-select: none;
  transition: border-color .18s ease, color .18s ease, background .18s ease;
}
.client-process__more:hover,
.client-process__more:focus-visible { border-color: #76a5c5; color: var(--blue); outline: 0; }
.client-process__empty, .client-processes-empty { margin: 0; padding: 22px 28px; color: var(--muted); border-top: 1px solid rgba(23,76,119,.11); background: #f8fafb; font-size: .84rem; }
.client-orders-empty { display: flex; min-height: 400px; padding: 36px 28px 46px; align-items: center; justify-content: flex-start; flex-direction: column; color: var(--text-primary); background: #fff; text-align: center; }
.client-orders-empty__illustration { width: min(100%, 280px); margin-bottom: 16px; }
.client-orders-empty__illustration img { display: block; width: 100%; height: auto; }
.client-orders-empty h2 { margin: 0 0 8px; font-size: 1.0625rem; font-weight: 700; line-height: 1.35; }
.client-orders-empty p { max-width: 280px; margin: 0; color: var(--text-muted); font-size: .84375rem; line-height: 1.5; }
.client-order-detail__offers { margin-top: 0; padding: 27px 28px 32px; border-top: 1px solid #edf2f5; background: #f7fafc; }
.client-order-detail__finance { margin-top: 0; padding: 27px 28px 32px; border-top: 1px solid #edf2f5; background: #f7fafc; }
.client-order-detail__settlement { margin-top: 0; padding: 27px 28px 32px; border-top: 1px solid #edf2f5; background: #f7fafc; }
.client-order-expertise { display: grid; gap: 12px; margin: 0; padding: 14px 16px 18px; border-top: 1px solid var(--line-default); background: var(--surface-subtle); }
.client-order-expertise[hidden] { display: none; }
.client-expertise-card { overflow: hidden; color: var(--text-primary); border: 1px solid var(--line-default); border-radius: 14px; background: var(--surface-default); box-shadow: 0 8px 20px rgba(16,45,64,.035); }
.client-expertise-card__header { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 9px 14px; border-bottom: 1px solid var(--line-default); }
.client-expertise-card.has-data .client-expertise-card__header { background: var(--status-ready-soft); }
.client-expertise-card.is-empty .client-expertise-card__header { border-bottom: 0; background: var(--status-neutral-soft); }
.client-expertise-card__heading { display: grid; min-width: 0; gap: 3px; }
.client-expertise-card__heading h2, .client-expertise-card__number { margin: 0; color: var(--text-primary); font-size: 1.04rem; font-weight: 760; line-height: 1.25; }
.client-expertise-card__empty-description { margin: 0; color: var(--text-muted); font-size: .78rem; font-weight: 400; line-height: 1.35; }
.client-expertise-card__badge { display: inline-flex; width: fit-content; padding: 3px 7px; align-items: center; border: 1px solid #a9d2b9; border-radius: 999px; color: var(--status-ready); background: var(--status-ready-soft); font-size: .71rem; font-weight: 600; line-height: 1.2; white-space: nowrap; }
.client-expertise-card__body { padding: 10px 14px 12px; }
.client-expertise-card__meta { display: flex; align-items: center; gap: 7px; margin: 0 0 8px; color: var(--text-muted); font-size: .78rem; line-height: 1.35; }
.client-expertise-card__meta > * + *::before { margin-right: 7px; content: '·'; }
.client-expertise-opinion { margin: 0; }
.client-expertise-opinion + .client-expertise-opinion { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line-default); }
.client-expertise-opinion__text { margin: 0; color: var(--text-primary); font-size: .84rem; line-height: 1.55; white-space: pre-line; }
.client-expertise-opinion__summary { display: flex; align-items: start; justify-content: space-between; gap: 12px; margin: 0 0 10px; }
.client-expertise-opinion.is-numbered .client-expertise-opinion__summary { display: grid; grid-template-columns: 12px minmax(0, 1fr) auto; column-gap: 12px; }
.client-expertise-opinion.is-numbered .client-expertise-opinion__number { grid-column: 1; }
.client-expertise-opinion.is-numbered .client-expertise-opinion__labels { grid-column: 2; }
.client-expertise-opinion.is-numbered .client-expertise-opinion__summary time { grid-column: 3; }
.client-expertise-opinion.is-numbered .client-expertise-opinion__text { margin-left: 24px; }
.client-expertise-opinion__number { flex: 0 0 auto; color: var(--text-primary); font-size: .84375rem; font-weight: 700; line-height: 1.2; }
.client-expertise-opinion__labels { display: grid; flex: 1 1 auto; gap: 2px; min-width: 0; }
.client-expertise-opinion__labels strong { overflow: hidden; color: var(--text-primary); font-size: .84375rem; font-weight: 700; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.client-expertise-opinion__labels small { overflow: hidden; color: var(--text-primary); font-size: .84375rem; font-weight: 400; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.client-expertise-opinion__summary time { flex: 0 0 auto; color: var(--text-muted); font-size: .75rem; line-height: 1.3; text-align: right; }
.client-order-expertise.is-unavailable { min-height: 520px; }
.client-expertise-unavailable { display: flex; width: 100%; min-height: 486px; padding: 30px 12px 0; flex-direction: column; align-items: center; color: var(--text-primary); text-align: center; }
.client-expertise-unavailable__illustration { width: min(100%, 300px); margin-bottom: 14px; }
.client-expertise-unavailable__illustration img { display: block; width: 100%; height: auto; }
.client-expertise-unavailable h2 { margin: 0 0 8px; font-size: 1.0625rem; font-weight: 700; line-height: 1.35; }
.client-expertise-unavailable__description { margin: 0; color: var(--text-muted); font-size: .84375rem; line-height: 1.55; }
.client-expertise-unavailable__phone { margin: 10px 0 0; color: var(--text-muted); font-size: .84375rem; line-height: 1.55; }

.client-expertise-document { display: flex; width: 100%; min-height: 48px; margin: 12px 0 0; padding: 7px 12px; align-items: center; gap: 10px; border: 1px solid var(--line-default); border-radius: 10px; color: var(--blue); background: var(--status-progress-soft); cursor: pointer; font: inherit; font-size: .84rem; font-weight: 700; text-align: left; }
.client-expertise-document > img { display: block; flex: 0 0 auto; width: 28px; height: 28px; object-fit: contain; }
.client-expertise-document__arrow { width: 9px; height: 9px; margin-left: auto; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); }
.client-expertise-document:hover, .client-expertise-document:focus-visible { border-color: var(--line-strong); color: var(--blue); background: var(--status-progress-soft); outline: 0; }
.client-order-expertise > .client-expertise-document { margin-top: 0; }
.client-expertise-measurements { margin-top: 10px; }
.client-expertise-measurements__row { display: grid; grid-template-columns: 34px minmax(0, 1fr) minmax(100px, max-content); align-items: center; gap: 10px; min-height: 34px; padding: 5px 0; border-top: 1px solid var(--line-default); color: var(--text-primary); font-size: .78rem; line-height: 1.3; }
.client-expertise-measurements__head { min-height: 30px; border-top: 0; border-bottom: 1px solid var(--line-strong); font-size: .74rem; font-weight: 700; }
.client-expertise-measurements__row > :last-child { text-align: right; white-space: nowrap; }
.client-expertise-measurements__row.is-ready > strong { color: var(--status-ready); }
.client-expertise-measurements__row.is-progress > strong { color: var(--status-progress); }
.client-expertise-measurements__row.is-action > strong { color: var(--status-action); }
.client-expertise-measurements__row.is-danger > strong { color: var(--danger); }
.client-expertise-measurement-groups { display: grid; gap: 12px; margin-top: 10px; }
.client-expertise-measurement-entry + .client-expertise-measurement-entry { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line-default); }
.client-expertise-measurement-entry .client-expertise-opinion__summary { margin-bottom: 0; }
.client-expertise-measurement-entry .client-expertise-opinion__labels strong { font-size: .78rem; line-height: 1.3; }
.client-expertise-measurement-group { margin: 0; }
.client-expertise-measurement-group h3 { margin: 0 0 2px; color: var(--text-primary); font-size: .78rem; font-weight: 700; line-height: 1.3; }
.client-expertise-measurement-group__items { display: grid; margin-top: -4px; }
.client-expertise-measurement-group__row { display: grid; grid-template-columns: minmax(0, 1fr) max-content; align-items: center; gap: 12px; min-height: 30px; padding: 3px 0; color: var(--text-primary); font-size: .78rem; line-height: 1.3; }
.client-expertise-measurement-group__row.has-previous-item { position: relative; }
.client-expertise-measurement-group__row.has-previous-item::before { position: absolute; top: 0; right: 0; left: 12px; border-top: 1px dashed #d1dce2; content: ''; }
.client-expertise-measurement-group__name { padding-left: 12px; }
.client-expertise-measurement-group__row strong { color: var(--text-primary); font-weight: 700; text-align: right; white-space: nowrap; }
.client-expertise-chart, .client-expertise-document-graph { margin: 12px 0 4px; }
.client-expertise-document-graph { min-height: 120px; overflow: hidden; border-radius: 8px; background: var(--surface-subtle); }
.client-expertise-document-graph > img { display: block; width: 100%; height: auto; min-height: 120px; object-fit: contain; }
.client-expertise-chart__legend { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 4px; color: var(--text-primary); font-size: .74rem; line-height: 1.3; }
.client-expertise-chart__legend-item { display: inline-flex; align-items: center; gap: 6px; }
.client-expertise-chart__legend-marker { width: 18px; height: 2px; background: currentColor; }
.client-expertise-chart > svg { display: block; width: 100%; height: auto; overflow: visible; }
.client-expertise-chart__grid { stroke: var(--line-default); stroke-width: 1; }
.client-expertise-chart__axis { stroke: var(--line-strong); stroke-width: 1.2; }
.client-expertise-chart__tick, .client-expertise-chart__axis-label { fill: var(--text-muted); font-family: inherit; font-size: .74rem; }
.client-expertise-chart__series { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; vector-effect: non-scaling-stroke; }
.client-expertise-chart__point { fill: currentColor; stroke: var(--surface-default); stroke-width: 2; vector-effect: non-scaling-stroke; }
.client-expertise-chart__point-label { fill: currentColor; font-family: inherit; font-size: .74rem; font-weight: 700; }
.client-expertise-chart .is-series-1 { color: var(--danger); }
.client-expertise-chart .is-series-2 { color: var(--status-ready); }
.client-expertise-chart .is-series-3 { color: var(--status-progress); }
.client-expertise-chart .is-series-4 { color: var(--status-neutral); }
.client-expertise-gallery { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.client-expertise-gallery__item { display: block; overflow: hidden; aspect-ratio: 4 / 3; border-radius: 8px; background: var(--status-neutral-soft); }
.client-expertise-gallery__item img { display: block; width: 100%; height: 100%; object-fit: cover; }
.client-order-settlement-empty { display: flex; min-height: 520px; padding: 34px 28px 24px; flex-direction: column; align-items: center; color: var(--text-primary); text-align: center; }
.client-order-settlement-empty__illustration { width: min(100%, 300px); margin-bottom: 18px; }
.client-order-settlement-empty__illustration img { display: block; width: 100%; height: auto; }
.client-order-settlement-empty h2 { margin: 0 0 9px; font-size: 1.0625rem; font-weight: 700; line-height: 1.35; }
.client-order-settlement-empty__description { margin: 0; color: var(--text-muted); font-size: .84375rem; line-height: 1.55; }
.client-order-settlement-empty__description span { display: block; }


.client-order-finance-list { overflow: hidden; border: 1px solid #e5edf2; border-radius: 16px; background: #fff; box-shadow: 0 8px 20px rgba(16,45,64,.035); }
.client-order-finance-list__head,
.client-order-finance-row { display: grid; grid-template-columns: minmax(170px, 1.25fr) minmax(120px, .8fr) minmax(170px, 1.1fr) minmax(120px, .8fr) minmax(120px, .75fr); align-items: center; gap: 16px; }
.client-order-finance-list__head { min-height: 44px; padding: 8px 22px; color: #84929a; border-bottom: 1px solid rgba(23,76,119,.12); background: #f8fafb; font-size: .74rem; font-weight: 700; letter-spacing: .07em; line-height: 1; text-transform: uppercase; }
.client-order-finance-row { min-height: 72px; padding: 13px 22px; color: var(--ink); border-top: 1px solid rgba(23,76,119,.09); font-size: .84rem; transition: background .18s ease; }
.client-order-finance-list__head + .client-order-finance-row { border-top: 0; }
.client-order-finance-row[data-finance-document]:hover { background: #f8fbfc; }
.client-order-finance-row__document { display: grid; min-width: 0; gap: 3px; }
.client-order-finance-row__document strong { overflow: hidden; font-size: .84rem; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.client-order-finance-row__document small { overflow: hidden; color: #71828d; font-size: .74rem; text-overflow: ellipsis; white-space: nowrap; }
.client-order-finance-row__value { color: var(--blue); font-size: .84rem; white-space: nowrap; }
.client-order-finance-row__status { justify-self: start; padding: 6px 10px; border-radius: 999px; font-size: .74rem; font-weight: 700; white-space: nowrap; }
.client-order-finance-row__status.is-settled { color: #1e6840; background: #e8f5ed; }
.client-order-finance-row__status.is-unsettled { color: #8a3029; background: #fff0ee; }
.client-order-finance-row__mobile-document,
.client-order-finance-row__arrow { display: none; }
.client-order-detail__documents { margin-top: 48px; }
.client-order-detail__section-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 36px; margin-bottom: 22px; }
.client-order-detail__section-heading span { display: block; margin-bottom: 8px; color: var(--blue); font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.client-order-detail__section-heading h2 { margin: 0; font-size: 1.04rem; font-weight: 760; line-height: 1.25; letter-spacing: -.017em; }
.client-order-detail__section-heading p { margin: 0; color: var(--muted); font-size: .84rem; }
.client-offers { display: grid; gap: 16px; padding: 0; background: transparent; }
.client-offer-set { display: grid; gap: 10px; }
.client-offer { overflow: hidden; padding: 0; border: 1px solid #e1eaf0; border-radius: 14px; background: #fff; }
.client-estimate__header { display: block; padding: 12px 14px; background: var(--status-neutral-soft); }
.client-estimate__header[data-client-estimate-toggle] { cursor: pointer; -webkit-tap-highlight-color: transparent; -webkit-user-select: none; user-select: none; touch-action: manipulation; }
.client-estimate__header[data-client-estimate-toggle]:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
.client-estimate--state-1 .client-estimate__header { background: var(--status-neutral-soft); }
.client-estimate--state-2 .client-estimate__header { background: var(--status-action-soft); }
.client-estimate--state-3 .client-estimate__header { background: var(--status-ready-soft); }
.client-estimate__heading { grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: 8px; row-gap: 1px; }
.client-estimate__heading > .client-estimate__title { grid-column: 1; grid-row: 1; min-width: 0; }
.client-estimate__header h2 { max-width: 760px; margin: 0; color: var(--ink); font-size: 1.04rem; font-weight: 760; line-height: 1.25; letter-spacing: -.017em; }
.client-estimate__info { grid-column: 1; grid-row: 2; margin: 0; }
.client-estimate__heading > .client-estimate__toggle-arrow { grid-column: 2; grid-row: 1; }
.client-estimate__heading > .client-estimate__meta-net { grid-column: 2; grid-row: 2; align-self: end; color: #667781; font-size: .71rem; line-height: 1.3; white-space: nowrap; }
.client-estimate__meta { display: flex; justify-content: space-between; gap: 12px; margin-top: 2px; color: #52637a; font-size: .76rem; line-height: 1.25; }
.client-estimate__meta-count { font-weight: 700; }
.client-estimate__discount { display: inline-flex; align-items: center; gap: 5px; width: fit-content; padding: 3px 7px; border: 1px solid #c8d4da; border-radius: 999px; color: var(--status-neutral); background: var(--status-neutral-soft); font-size: .71rem; font-weight: 600; line-height: 1.2; white-space: nowrap; }
.client-estimate__discount::before { display: inline-grid; width: 13px; height: 13px; border-radius: 50%; place-items: center; color: #fff; background: var(--status-neutral); content: '%'; font-size: .56rem; font-weight: 700; line-height: 1; }
.client-estimate--state-2 .client-estimate__discount { border-color: var(--status-action-border); color: var(--status-action); background: var(--status-action-soft); }
.client-estimate--state-2 .client-estimate__discount::before { background: var(--status-action); }
.client-estimate--state-3 .client-estimate__discount { border-color: #a9d2b9; color: var(--status-ready); background: var(--status-ready-soft); }
.client-estimate--state-3 .client-estimate__discount::before { background: var(--status-ready); }
.client-estimate__meta-gross { margin-left: auto; color: #173f5d; font-weight: 700; white-space: nowrap; }
.client-estimate__price-summary { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; }
.client-estimate__price-summary .client-estimate__meta-gross { margin-left: 0; }
.client-estimate-items { display: grid; gap: 0; margin: 0; padding: 6px 14px 4px; background: #fff; list-style: none; }
.client-estimate-items[hidden] { display: none; }
.client-estimate-items__header, .client-estimate-item { display: grid; grid-template-columns: 24px minmax(0, 1fr) minmax(58px, max-content) minmax(70px, max-content); align-items: center; gap: 10px; margin: 0; }
.client-estimate-items__header { min-height: 29px; padding: 0; border-bottom: 1px solid #dfe9ef; color: var(--text-primary); font-size: .68rem; font-weight: 700; line-height: 1.2; }
.client-estimate-items__header span:nth-child(3) { text-align: center; }
.client-estimate-items__header span:nth-child(4) { text-align: right; }
.client-estimate-item { min-height: 38px; padding: 4px 0; }
.client-estimate-item__number, .client-estimate-item__quantity, .client-estimate-item__name, .client-estimate-item__gross { font-size: .78rem; line-height: 1.35; }
.client-estimate-item__number { color: #6d7e87; text-align: left; }
.client-estimate-item__quantity { color: #52637a; white-space: nowrap; text-align: center; }
.client-estimate-item__name { min-width: 0; overflow: hidden; color: #14233f; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
.client-estimate-item__gross { color: #14233f; font-weight: 700; text-align: right; white-space: nowrap; }
.client-estimate__toggle-arrow { justify-self: end; flex: 0 0 auto; width: 8px; height: 8px; margin: 3px 3px 0 8px; border-right: 1.5px solid #527080; border-bottom: 1.5px solid #527080; transform: rotate(-45deg); transition: transform .18s ease; }
.client-estimate__header[data-client-estimate-toggle][aria-expanded="true"] .client-estimate__toggle-arrow { transform: rotate(45deg) translateY(-2px); }
.client-estimate > .client-estimate__pdf-preview { display: none; }
.client-estimate > .client-estimate__header[aria-expanded="true"] ~ .client-estimate__pdf-preview { display: flex; }
.client-estimate__pdf-preview { display: flex; align-items: center; gap: 9px; width: fit-content; min-height: 40px; margin: 10px 14px 12px 11px; padding: 4px 0; border: 0; border-radius: 0; color: var(--blue); background: transparent; cursor: pointer; font: inherit; font-size: .84375rem; font-weight: 500; line-height: 1.2; text-align: left; }
.client-estimate__pdf-preview img { display: block; flex: 0 0 auto; width: 27px; height: 27px; object-fit: contain; }
.client-estimate__pdf-preview::after { width: 8px; height: 8px; margin-left: 8px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; content: ''; transform: rotate(45deg); }
.client-estimate > .client-estimate__pdf-preview .client-estimate__pdf-label { transform: translate(-8px, -1px); }
.client-estimate > .client-estimate__pdf-preview::after { transform: translate(-8px, -1px) rotate(45deg); }
.client-estimate__pdf-preview:hover, .client-estimate__pdf-preview:focus-visible { color: var(--blue); background: transparent; outline: 0; }
.client-estimate__accept-note { position: relative; left: -1px; display: flex; align-items: center; gap: 8px; margin: 8px 14px 5px; color: var(--status-action); font-size: .76rem; line-height: 1.3; text-align: left; }
.client-estimate > .client-estimate__header[aria-expanded="true"] ~ .client-estimate__accept-note { padding-top: 8px; border-top: 1px dashed #d1dce2; }
.client-estimate__accept-note-icon { display: inline-grid; flex: 0 0 auto; width: 18px; height: 16px; place-items: center; color: #fff; background: var(--status-action); clip-path: polygon(50% 0, 100% 100%, 0 100%); font-size: .68rem; font-weight: 800; line-height: 1; }
.client-estimate__accept { display: flex; align-items: center; justify-content: center; width: 190px; min-height: 34px; margin: 4px auto 14px; padding: 0 16px; border: 1px solid var(--status-action-border); border-radius: 9px; color: var(--status-action); background: var(--status-action-soft); box-shadow: none; cursor: pointer; font: inherit; font-size: .84rem; font-weight: 500; transition: border-color .18s ease, background .18s ease; }
.client-estimate__accept::before { width: 8px; height: 4px; margin: -2px 9px 0 0; border-bottom: 2px solid currentColor; border-left: 2px solid currentColor; content: ''; transform: rotate(-45deg); }
.client-estimate__accept:hover, .client-estimate__accept:focus-visible { border-color: var(--status-action-border); color: var(--status-action); background: var(--status-action-soft); outline: 0; }
.client-estimate__accept:disabled { cursor: wait; opacity: .68; }
.client-order-detail--public .client-estimate__accept-note, .client-order-detail--public .client-estimate__accept { display: none; }
.client-current-offer { display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; color: var(--text-primary); border: 1px solid var(--line-default); border-radius: 14px; background: var(--surface-default); box-shadow: 0 8px 20px rgba(16,45,64,.035); }
.client-current-offer__heading { display: grid; grid-template-columns: 40px minmax(0, 1fr); align-items: center; gap: 11px; min-width: 0; padding: 14px 16px; border-bottom: 1px solid var(--line-default); background: var(--status-progress-soft); }
.client-current-offer__heading-icon { display: block; width: 40px; height: 40px; padding: 7px; border: 1px solid var(--line-default); border-radius: 10px; background: var(--surface-default); object-fit: contain; }
.client-current-offer__heading-copy { display: grid; min-width: 0; gap: 2px; }
.client-current-offer__heading-copy h2 { margin: 0; color: var(--text-primary); font-size: 1.0625rem; font-weight: 700; line-height: 1.2; }
.client-current-offer__heading-copy p { margin: 0; color: var(--text-muted); font-size: .75rem; line-height: 1.3; }
.client-document-banner { display: flex; align-items: center; justify-content: flex-start; width: auto; min-height: 58px; margin: 0 0 20px; padding: 10px 16px; border-color: var(--line-default); border-radius: 10px; color: var(--blue); background: var(--status-progress-soft); font-size: .84375rem; font-weight: 500; white-space: nowrap; }
.client-document-banner img { width: 30px; height: 30px; }
.client-document-banner::after { flex: 0 0 auto; width: 9px; height: 9px; margin: 0 3px 0 auto; border-top: 0; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; border-left: 0; content: ''; transform: rotate(-45deg); }
.client-document-banner:hover,
.client-document-banner:focus-visible { border-color: var(--line-strong); color: var(--blue); background: var(--status-progress-soft); outline: 0; }
.client-current-offer__totals,
.client-current-offer__breakdown { display: grid; align-items: stretch; min-width: 0; }
.client-current-offer__breakdown { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 22px 30px 10px; }
.client-current-offer__totals { padding: 0 30px 12px; }
.client-current-offer__metric { display: grid; grid-template-columns: 42px minmax(0, 1fr); grid-template-rows: auto auto; align-content: start; align-items: start; min-width: 0; gap: 4px 10px; color: var(--text-muted); font-size: .75rem; line-height: 1.25; }
.client-current-offer__breakdown .client-current-offer__metric { padding: 0 24px; }
.client-current-offer__metric-label { display: contents; }
.client-current-offer__metric-label img { display: block; grid-column: 1; grid-row: 1 / span 2; width: 42px; height: 42px; object-fit: contain; }
.client-current-offer__metric-label span { grid-column: 2; grid-row: 1; align-self: start; color: var(--text-primary); font-size: .75rem; }
.client-current-offer__metric:first-child { padding-left: 0; border-left: 0; }
.client-current-offer__metric:last-child { padding-right: 0; }
.client-current-offer__metric + .client-current-offer__metric { border-left: 1px solid var(--line-default); }
.client-current-offer__value { display: grid; grid-column: 2; grid-row: 2; gap: 2px; color: var(--text-primary); font-size: .84375rem; font-weight: 700; line-height: 1.15; white-space: nowrap; }
.client-current-offer__value strong { font-size: inherit; font-weight: inherit; line-height: inherit; }
.client-current-offer__value small { display: block; margin: 0; color: var(--text-muted); font-size: .75rem; font-weight: 500; letter-spacing: 0; }
.client-current-offer__discount { display: block; grid-column: 1 / -1; grid-row: 3; width: 100%; margin-top: 10px; color: var(--status-ready); font-size: .75rem; font-weight: 700; line-height: 1.25; text-align: center; }
.client-current-offer__discount-summary { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 34px; margin: 10px 30px 8px; padding: 6px 12px; color: var(--status-ready); border: 1px solid #cfe7d8; border-radius: 8px; background: var(--status-ready-soft); font-size: .75rem; font-weight: 500; line-height: 1.25; text-align: center; }
.client-current-offer__discount-summary strong { font-weight: 700; }
.client-current-offer__discount-summary-icon { display: inline-grid; flex: 0 0 auto; width: 13px; height: 13px; place-items: center; color: #fff; border: 0; border-radius: 50%; background: var(--status-ready); font-size: .56rem; font-weight: 700; line-height: 1; }
.client-current-offer__summary-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; min-height: 52px; padding: 10px 0; color: var(--text-muted); border-bottom: 1px solid var(--line-default); font-size: .875rem; line-height: 1.2; }
.client-current-offer__summary-row strong { color: var(--text-primary); font-size: .9375rem; font-weight: 700; letter-spacing: 0; white-space: nowrap; }
.client-current-offer__summary-row--gross { min-height: 60px; border-bottom: 0; color: var(--blue); font-size: .9375rem; font-weight: 700; }
.client-current-offer__summary-row--gross strong { color: var(--blue); font-size: 1.0625rem; font-weight: 700; }
.client-current-offer-note { display: grid; grid-template-columns: 32px minmax(0, 1fr); align-items: center; gap: 12px; min-height: 72px; margin: 0 30px 20px; padding: 12px 16px; color: var(--text-muted); border: 1px solid var(--line-default); border-radius: 10px; background: var(--status-progress-soft); font-size: .75rem; line-height: 1.45; }
.client-current-offer-note__icon { display: inline-grid; width: 32px; height: 32px; place-items: center; color: var(--blue); border: 1.5px solid var(--blue); border-radius: 50%; background: var(--surface-default); font-family: Georgia, serif; font-size: 1.125rem; font-weight: 700; line-height: 1; }
.client-current-offer-note__copy { display: grid; min-width: 0; gap: 2px; }
.client-current-offer-note__copy strong { color: var(--text-primary); font-size: .84375rem; font-weight: 700; }
.client-current-offer-note__copy p,
.client-current-offer-note__copy span { margin: 0; }
.client-order-documents { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.client-order-document { display: flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 96px; padding: 20px 22px; color: var(--ink); border: 1px solid rgba(23,76,119,.14); background: #fff; box-shadow: 0 10px 24px rgba(16,45,64,.035); }
.client-order-document::before { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 50%; background: #e9f2f7; content: ""; }
.client-order-document > span { display: grid; flex: 1; gap: 4px; min-width: 0; }
.client-order-document small { color: var(--muted); font-size: .74rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.client-order-document strong { overflow: hidden; font-size: 1.04rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.client-order-document b { color: var(--blue); font-size: .78rem; white-space: nowrap; }
.client-order-document:hover, .client-order-document:focus-visible { color: var(--ink); border-color: rgba(23,76,119,.4); background: #f8fbfc; box-shadow: 0 16px 30px rgba(16,45,64,.08); }
.client-account { display: grid; min-height: 0; gap: 12px; color: var(--text-primary); font-size: .875rem; }
.client-account[aria-busy="true"] { opacity: .58; pointer-events: none; }
.client-account__readonly { display: grid; gap: 10px; }
.client-account__notifications { grid-column: 1 / -1; display: grid; justify-items: start; gap: 0; padding: 16px; }
.client-account__notifications h3 { margin: 0; font-size: .875rem; }
/* Cała etykieta przełącza natywny checkbox; stan potwierdza istniejąca obsługa push. */
.client-account__notification-toggle { display: flex; align-items: flex-start; gap: 10px; min-height: 44px; padding-top: 2px; color: var(--ink); font-size: .875rem; font-weight: 400; line-height: 1.4; cursor: pointer; }
.client-account__notification-toggle input { flex: 0 0 18px; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--blue); cursor: pointer; }
.client-account__notification-toggle:has(input:disabled) { opacity: .6; cursor: default; }
.client-account__notification-toggle input:disabled { cursor: default; }
.client-account__readonly[hidden],
.client-activation[hidden] { display: none; }
.client-account__readonly-note { margin: 0; }
.client-data-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.client-data-grid section { min-width: 0; padding: 14px; border: 1px solid var(--line-default); border-radius: 10px; background: var(--surface-default); }
.client-data-grid h3 { margin: 0 0 12px; color: var(--text-primary); font-size: .84rem; line-height: 1.2; }
.client-data-grid h3 button { display: grid; width: 100%; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 0; border: 0; color: inherit; background: transparent; font: inherit; font-weight: 700; line-height: inherit; text-align: left; }
.client-data-section__number { display: grid; width: 22px; height: 22px; border-radius: 7px; place-items: center; color: var(--blue); background: var(--status-progress-soft); font-size: .56rem; letter-spacing: .03em; }
.client-data-section__chevron { display: block; justify-self: end; width: 8px; height: 8px; margin-right: 3px; border-right: 1.5px solid #527080; border-bottom: 1.5px solid #527080; transform: rotate(-45deg); transition: transform .18s ease; }
.client-data-section.is-open .client-data-section__chevron { transform: rotate(45deg) translateY(-2px); }
.client-data-section__body { display: grid; grid-template-rows: 0fr; opacity: .72; background: var(--surface-default); transition: grid-template-rows .18s ease, opacity .18s ease; }
.client-data-section.is-open .client-data-section__body { grid-template-rows: 1fr; opacity: 1; }
.client-data-section__body > dl { min-height: 0; overflow: hidden; }
.client-data-grid dl { display: grid; gap: 10px; margin: 0; }
.client-data-grid dl div { min-width: 0; padding-bottom: 8px; border-bottom: 1px solid var(--line-default); }
.client-data-grid dl div:last-child { padding-bottom: 0; border-bottom: 0; }
.client-data-grid dd { line-height: 1.35; }
.client-data-grid [data-customer-field="address"] { white-space: pre-line; }
.client-data-status { margin: 14px 0 0; color: var(--muted); font-size: .82rem; }
.client-data-status.is-error { color: #8a3029; }
.client-public-order .client-data-status.is-error { display: flex; min-height: min(420px, calc(100dvh - 128px)); margin: 0; padding: 38px 22px; flex-direction: column; align-items: center; justify-content: flex-start; color: var(--text-primary); }
.client-public-order-error { display: grid; width: min(100%, 360px); grid-template-columns: 42px minmax(0, 1fr); gap: 13px; padding: 18px; align-items: start; border: 1px solid #efd6d2; border-radius: 14px; background: #fffafa; box-shadow: 0 8px 20px rgba(84, 36, 30, .045); text-align: left; }
.client-public-order-error__icon { display: grid; width: 42px; height: 42px; place-items: center; color: #aa4035; border-radius: 50%; background: #fdeceb; font-size: 1.15rem; font-weight: 700; line-height: 1; }
.client-public-order-error__copy { min-width: 0; padding-top: 1px; }
.client-public-order-error__copy strong { display: block; margin: 0 0 4px; color: #7d3029; font-size: .9375rem; font-weight: 700; line-height: 1.3; }
.client-public-order-error__copy p { margin: 0; color: #92524b; font-size: .8125rem; line-height: 1.5; }
.client-activation { overflow: hidden; border: 1px solid #d7e3e9; border-radius: 16px; background: #fff; box-shadow: 0 16px 34px rgba(16,45,64,.06); }
.client-activation__header { display: flex; gap: 18px; padding: 28px 30px; border-bottom: 1px solid #dfe8ed; background: linear-gradient(110deg, #eef5f8 0%, #f8fbfc 68%, #fff 100%); }
.client-activation__header-icon { display: grid; flex: 0 0 auto; width: 48px; height: 48px; border-radius: 14px; place-items: center; color: #fff; background: var(--blue); box-shadow: 0 8px 18px rgba(23,76,119,.16); }
.client-activation__header-icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.client-activation__header span { color: var(--blue); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.client-activation__header h2 { margin: 4px 0 7px; color: var(--ink); font-size: clamp(1.4rem, 2.4vw, 2rem); line-height: 1.1; }
.client-activation__header p { max-width: 720px; margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.55; }
.client-activation__section { padding: 28px 30px 30px; border-bottom: 1px solid #e1e9ed; }
.client-activation__section-heading { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 13px; margin-bottom: 22px; }
.client-activation__section-heading > span { display: grid; width: 32px; height: 32px; border-radius: 9px; place-items: center; color: var(--blue); background: #eaf2f6; font-size: .72rem; font-weight: 850; }
.client-activation__section-heading h3 { margin: 1px 0 3px; color: var(--ink); font-size: 1.04rem; }
.client-activation__section-heading p { margin: 0; color: var(--muted); font-size: .76rem; }
.client-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px 18px; padding-left: 45px; }
.client-form-grid--tin { grid-template-columns: minmax(220px,.7fr) minmax(320px,1.3fr); }
.client-form-grid--address { grid-template-columns: repeat(2, minmax(0,1fr)); }
.client-field { display: grid; align-content: start; gap: 7px; min-width: 0; color: var(--ink); }
.client-field--wide { grid-column: 1 / -1; }
.client-field > span:first-child { font-size: .72rem; font-weight: 760; }
.client-field small { color: var(--muted); font-size: .66rem; font-weight: 500; }
.client-field input,
.client-field select { width: 100%; height: 46px; margin: 0; padding: 0 13px; border: 1px solid #cbd9e0; border-radius: 9px; color: var(--ink); background: #fff; box-shadow: none; font: inherit; font-size: .86rem; }
.client-field select { padding-right: 36px; cursor: pointer; }
.client-field input:hover,
.client-field select:hover { border-color: #9eb6c3; }
.client-field input:focus,
.client-field select:focus { border-color: var(--blue); outline: 0; box-shadow: 0 0 0 3px rgba(23,76,119,.1); }
.client-field__with-action { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.client-field__with-action button { min-width: 144px; padding: 0 14px; border: 1px solid #9fb8c6; border-radius: 9px; color: var(--blue); cursor: pointer; background: #f5f9fa; font-size: .72rem; font-weight: 800; }
.client-field__with-action button:hover,
.client-field__with-action button:focus-visible { color: #fff; border-color: var(--blue); background: var(--blue); outline: 0; }
.client-field__with-action button:disabled { cursor: not-allowed; opacity: .45; }
.client-activation__footer { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 22px 30px; background: #f8fafb; }
.client-activation__footer p { max-width: 650px; margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.45; }
.client-activation__footer .button { flex: 0 0 auto; min-width: 220px; }
.client-dashboard--activation-required .client-tabs__links button[aria-disabled="true"] { cursor: not-allowed; opacity: .42; }
.download-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.download-list a { display: flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 82px; padding: 22px 26px; color: var(--ink); background: #fff; font-weight: 800; text-decoration: none; transition: color .2s ease, background .2s ease; }
.download-list a:hover, .download-list a:focus-visible { color: #fff; background: var(--navy); outline: none; }
.download-list b { color: var(--blue); font-size: 1.25rem; }
.download-list a:hover b, .download-list a:focus-visible b { color: #fff; }
.about-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: start; }
.about-intro h2 { margin: 0; font-size: clamp(1.85rem, 3vw, 3.2rem); line-height: 1.08; letter-spacing: -.04em; }
.about-intro p { margin: 0 0 20px; color: var(--muted); font-size: 1.08rem; }
.about-intro p:last-child { margin-bottom: 0; }
.about-history { display: grid; grid-template-columns: 1.1fr .9fr; gap: 72px; align-items: start; }
.about-history__copy h2 { margin: 0 0 26px; font-size: clamp(1.85rem, 2.85vw, 3.05rem); line-height: 1.08; letter-spacing: -.04em; }
.about-history__copy > p { max-width: 690px; margin: 0 0 20px; color: var(--muted); font-size: 1.05rem; }
.about-history__copy > p:last-child { margin-bottom: 0; }
.about-history__note { overflow: hidden; border: 1px solid var(--line); color: var(--ink); background: #fff; }
.about-history__note img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: center; }
.about-history__note div { padding: 26px 30px 30px; }
.about-history__note span { color: var(--blue); font: 800 .76rem var(--font-family); letter-spacing: .06em; }
.about-history__note h3 { margin: 15px 0 12px; font-size: 1.65rem; line-height: 1.08; }
.about-history__note p { margin: 0; color: var(--muted); }
.about-story { background: #fff; }
.about-film { overflow: hidden; background: var(--paper); }
.about-film__heading { max-width: 680px; margin-bottom: 42px; }
.about-film__heading h2 { max-width: 680px; margin: 0 0 14px; font-size: clamp(1.85rem, 2.85vw, 3rem); line-height: 1.08; letter-spacing: -.04em; }
.about-film__heading p { max-width: 780px; margin: 0; color: var(--muted); font-size: 1.06rem; }
.about-film__frame { position: relative; width: 100%; margin: 0; background: var(--navy-deep); box-shadow: 0 30px 70px rgba(16,25,31,.18); }
.about-film__frame::before { position: absolute; top: -12px; right: -12px; z-index: -1; width: 34%; height: 45%; content: ""; background: var(--blue); }
.about-film__frame video { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: center; background: #000; }
.about-story__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 86px; align-items: start; }
.about-story__title span { display: block; margin: -8px 0 18px; color: var(--blue); font-size: clamp(4.2rem, 8vw, 7rem); font-weight: 900; line-height: .88; letter-spacing: -.075em; opacity: .18; }
.about-story__title h2 { max-width: 460px; margin: 0; font-size: clamp(1.85rem, 2.85vw, 3rem); line-height: 1.08; letter-spacing: -.04em; }
.about-story__copy p { max-width: 650px; margin: 0 0 20px; color: var(--muted); font-size: 1.06rem; }
.about-story__copy p:last-child { margin-bottom: 0; }
.about-timeline { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 34px; margin: 68px 0 0; padding: 30px 0 0; list-style: none; }
.about-timeline::before { position: absolute; top: 0; right: 0; left: 0; height: 1px; content: ""; background: linear-gradient(90deg, var(--blue), rgba(23,76,119,.2)); }
.about-timeline::after { position: absolute; top: -4px; right: 0; width: 9px; height: 9px; content: ""; border-top: 1px solid rgba(23,76,119,.48); border-right: 1px solid rgba(23,76,119,.48); transform: rotate(45deg); }
.about-timeline li { position: relative; min-height: 190px; padding: 2px 0 0; }
.about-timeline li::before { position: absolute; top: -36px; left: 0; box-sizing: border-box; width: 12px; height: 12px; content: ""; border: 3px solid var(--paper); border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 1px rgba(23,76,119,.36); }
.about-timeline li:last-child::before { width: 16px; height: 16px; top: -38px; border-color: var(--paper); box-shadow: 0 0 0 4px rgba(23,76,119,.13); }
.about-timeline strong { display: block; margin: 0 0 30px; color: var(--blue); font: 850 clamp(1.55rem, 2.2vw, 2rem) / 1 var(--font-family); letter-spacing: -.07em; }
.about-timeline h3 { max-width: 220px; margin: 0 0 12px; font-size: 1.23rem; line-height: 1.14; letter-spacing: -.03em; }
.about-timeline p { max-width: 250px; margin: 0; color: var(--muted); font-size: .94rem; line-height: 1.55; }
.about-standards .section-heading { display: block; max-width: 720px; margin-bottom: 48px; }
.about-standards .section-heading h2 { margin-bottom: 14px; }
.about-standards__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.about-standards__grid article { position: relative; min-height: 210px; padding: 32px 0 0; border-top: 3px solid var(--blue); }
.about-standards__grid h3 { margin: 0 0 14px; font-size: 1.35rem; line-height: 1.14; letter-spacing: -.025em; }
.about-standards__grid p { margin: 0; color: var(--muted); }
.cooperation-process .section-heading { max-width: none; margin-bottom: 42px; }
.cooperation-documents__heading { display: flex; flex-direction: column; align-items: flex-start; max-width: 680px; margin-bottom: 34px; }
.cooperation-documents__heading h2 { margin: 0 0 14px; font-size: clamp(1.85rem, 2.85vw, 3rem); line-height: 1.08; letter-spacing: -.04em; }
.cooperation-documents__heading p { max-width: 590px; margin: 0; color: var(--muted); font-size: 1.06rem; }
.cooperation-documents .download-list { gap: 12px; border: 0; background: transparent; }
.cooperation-documents .download-list a { position: relative; min-height: 108px; padding: 25px 28px 25px 82px; overflow: hidden; border: 1px solid var(--line); background: #fff; box-shadow: 0 12px 28px rgba(16,25,31,.055); }
.cooperation-documents .download-list a::before { position: absolute; top: 50%; left: 22px; width: 40px; height: 40px; border-radius: 50%; background: var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3.5h6.8L18.5 8v12.5H7zM13 3.5V8h5.5M9.5 12h6M9.5 15.5h5' fill='none' stroke='%23fff' stroke-width='1.45' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 19px no-repeat; content: ""; transform: translateY(-50%); }
.cooperation-documents .download-list a > span { display: grid; gap: 5px; }
.cooperation-documents .download-list strong { font-size: 1rem; line-height: 1.25; }
.cooperation-documents .download-list small { color: var(--muted); font-size: .78rem; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; }
.cooperation-documents .download-list a:hover, .cooperation-documents .download-list a:focus-visible { color: var(--ink); border-color: rgba(32,111,168,.45); background: #f8fbfd; box-shadow: 0 18px 38px rgba(16,25,31,.11); transform: translateY(-2px); }
.cooperation-documents .download-list a:hover b, .cooperation-documents .download-list a:focus-visible b { color: var(--blue); }
.about-achievements { background: var(--paper); }
.about-achievements__heading { max-width: 900px; margin-bottom: 44px; }
.about-achievements__heading h2 { max-width: none; margin: 0; font-size: clamp(1.85rem, 2.85vw, 3rem); line-height: 1.08; letter-spacing: -.04em; }
.about-achievements__heading h2 + p { margin-top: 14px; }
.about-achievements__heading p { max-width: 610px; margin-bottom: 0; color: var(--muted); }
.about-achievements__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.about-achievement { display: flex; min-height: 310px; flex-direction: column; justify-content: space-between; padding: 36px; color: var(--ink); background: #fff; }
.about-achievement h3 { max-width: 440px; margin: 0 0 16px; font-size: clamp(1.3rem, 2vw, 1.75rem); line-height: 1.12; letter-spacing: -.03em; }
.about-achievement p { max-width: 510px; margin: 0; color: var(--muted); }
.about-achievement a { align-self: flex-start; margin-top: 32px; color: var(--blue); font-weight: 900; text-decoration: none; }
.about-achievement p a { margin: 0; font-weight: 900; }
.about-achievement a:hover { color: var(--blue-hover); }
.about-achievement--newen, .about-achievement--oldtimers, .about-achievement--welding, .about-achievement--products { position: relative; isolation: isolate; overflow: hidden; }
.about-achievement--newen::before, .about-achievement--oldtimers::before, .about-achievement--welding::before, .about-achievement--products::before { position: absolute; inset: 0; z-index: -2; content: ""; background-position: right center; background-size: cover; background-repeat: no-repeat; }
.about-achievement--newen::before { background-image: url("../media/about-newen.webp?v=2"); background-position: center 43%; }
.about-achievement--oldtimers::before { background-image: url("../media/about-oldtimers.webp?v=2"); }
.about-achievement--welding::before { background-image: url("../media/about-welding.webp?v=2"); background-position: center 52%; }
.about-achievement--products::before { background-image: url("../media/about-products.webp?v=2"); background-position: center 48%; }
.about-achievement--newen::after, .about-achievement--oldtimers::after, .about-achievement--welding::after, .about-achievement--products::after { position: absolute; inset: 0; z-index: -1; content: ""; background: linear-gradient(105deg, rgba(255,255,255,.96) 8%, rgba(239,247,251,.89) 64%, rgba(224,239,247,.72)); }

.video-frame { position: relative; aspect-ratio: 16 / 9; background: var(--navy-deep); }
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-poster { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; }
.video-poster img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.video-poster__play { position: relative; display: grid; place-items: center; width: 72px; height: 50px; border-radius: 13px; background: #e62117; box-shadow: 0 4px 16px rgba(0,0,0,.2); }
.video-poster__play svg { width: 28px; height: 28px; }
.video-poster:hover .video-poster__play { background: #c81d14; }
.video-poster:focus-visible { outline: 3px solid #fff; outline-offset: -6px; }
.video-poster:focus-visible .video-poster__play { outline: 3px solid var(--blue); outline-offset: 3px; }
.video-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 18px; }
.multimedia-hero { overflow: hidden; color: var(--ink); background: var(--paper); border-bottom: 1px solid var(--line); }
.multimedia-hero__copy { max-width: 760px; padding: 78px 0 74px; }
.multimedia-hero .eyebrow,
.multimedia-section-head .eyebrow { display: block; margin: 0 0 10px; font-size: .68rem; font-weight: 850; letter-spacing: .14em; line-height: 1.2; text-transform: uppercase; }
.multimedia-hero .eyebrow { color: var(--blue); }
.multimedia-hero h1 { max-width: 620px; margin: 0; font-size: clamp(2.6rem, 5vw, 4.8rem); letter-spacing: -.055em; line-height: .98; }
.multimedia-hero p { margin: 22px 0 0; color: var(--muted); font-size: 1.08rem; }
.multimedia-section-head { display: flex; align-items: flex-start; justify-content: flex-start; gap: 24px; margin-bottom: 26px; text-align: left; }
.multimedia-section-head .eyebrow { color: var(--blue); }
.multimedia-section-head h2 { margin: 0; font-size: clamp(1.8rem, 3vw, 2.65rem); letter-spacing: -.045em; line-height: 1.05; }
.video-feature { display: grid; grid-template-columns: 1fr; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: #fff; box-shadow: 0 16px 36px rgba(16,25,31,.08); }
.video-card { overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: 0 10px 24px rgba(16,25,31,.05); }
.catalog-hero { overflow: hidden; background: var(--paper); }
.catalog-hero__grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 84px; min-height: var(--photo-hero-height); }
.catalog-hero__grid > div { padding: 70px 0; }
.catalog-hero h1 { max-width: 730px; margin: 0; font-size: clamp(2.3rem, 3.7vw, 3.9rem); line-height: 1.06; letter-spacing: -.042em; }
.catalog-hero__grid .button { margin-top: 30px; }
.catalog-hero__grid > img { width: 100%; height: 100%; min-height: var(--photo-hero-height); object-fit: cover; }
.catalog-hero__grid > img.catalog-hero__visual--products { height: var(--photo-hero-height); min-height: 0; object-position: center 54%; }
.catalog-hero--services .catalog-hero__grid > img { padding: 20px 0; object-fit: contain; }
.catalog-hero--services .catalog-hero__grid > img.catalog-hero__visual--services { align-self: center; justify-self: end; width: min(100%, 430px); height: 430px; min-height: 0; margin: 0 18px 0 0; padding: 0; aspect-ratio: 1; border: 1px solid rgba(23, 63, 96, .2); border-radius: 50%; background: #dce8ee; object-fit: cover; object-position: center 42%; filter: saturate(.9) contrast(1.02) brightness(.98); }
.oldtimer-hero__visual { position: relative; isolation: isolate; align-self: center; width: 100%; margin: 0 18px 0 0; aspect-ratio: 1800 / 1198; background: var(--paper); }
.oldtimer-hero__visual::before { position: absolute; inset: 18px -18px -18px 18px; z-index: -1; content: ""; background: var(--navy); }
.oldtimer-hero__visual img { display: block; width: 100%; height: 100%; object-fit: contain; background: var(--paper); }
.catalog-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.catalog-grid article { display: flex; flex-direction: column; min-height: 400px; padding: 27px; background: #fff; }
.catalog-grid article.catalog-card--wide { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 3fr; grid-template-rows: auto 1fr; grid-template-areas: "media title" "media copy"; align-content: start; align-items: start; min-height: 0; padding: 0; overflow: hidden; column-gap: 0; }
.catalog-grid article.catalog-card--wide .catalog-card__media { grid-area: media; width: 100%; height: auto; min-height: 0; align-self: start; margin: 0; aspect-ratio: 3 / 2; object-fit: cover; }
.catalog-grid article.catalog-card--wide h3 { grid-area: title; align-self: start; margin: 0 0 12px; padding: 30px 34px 0 36px; }
.catalog-grid article.catalog-card--wide p { grid-area: copy; align-self: start; margin: 0; padding: 0 34px 24px 36px; }
.catalog-card__media { width: calc(100% + 54px); height: 168px; margin: -27px -27px 23px; object-fit: contain; background: linear-gradient(145deg, #f3f6f8, #e7edf1); }
.catalog-card--welding .catalog-card__media { object-fit: contain; background: linear-gradient(145deg, #f3f6f8, #e7edf1); }
.catalog-grid h3 { margin: 14px 0 12px; font-size: 1.25rem; line-height: 1.14; }
.catalog-grid p { margin: 0; color: var(--muted); font-size: .94rem; }
.catalog-grid a { margin-top: auto; padding-top: 20px; color: var(--blue); font-size: .88rem; font-weight: 800; text-decoration: none; }
.catalog-grid a b { font-size: 1.05rem; }

.contact-form { display: grid; gap: 20px; }
.honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
label { font-size: .92rem; font-weight: 800; }
input, textarea { display: block; width: 100%; margin-top: 7px; padding: 12px; border: 1px solid #a8b5bf; border-radius: 0; background: #fff; font: inherit; }
textarea { resize: vertical; }
.contact-form .button { justify-self: end; }
.notice { margin: 24px 0; padding: 17px 19px; border-left: 4px solid; }
.notice p { margin: 0; }
.notice--error { border-color: var(--danger); background: #fff5f4; }
.notice--success { border-color: #238344; background: #edf8f0; }
.notice dl { display: grid; gap: 10px; margin: 18px 0 0; }
.notice dl div { display: grid; grid-template-columns: 190px 1fr; gap: 15px; }
.notice dt { font-weight: 800; }
.notice dd { margin: 0; }
.contact-message__heading { margin: 0 0 29px; }
.contact-message__heading h2 { margin: 0 0 10px; }
.contact-message__heading p { margin: 0; color: var(--muted); }
.contact-form[data-variant="wide"] { padding: 34px; border: 1px solid var(--line); background: #fff; box-shadow: 0 14px 34px rgba(16,25,31,.05); }
.contact-form__columns { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.contact-team .section-heading { grid-template-columns: 1fr; gap: 10px; max-width: 680px; }
.contact-team__grid, .contact-company__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.contact-team__grid { gap: 0 54px; border-top: 1px solid rgba(23,76,119,.22); }
.contact-team__grid article { min-height: 0; padding: 27px 0; border-bottom: 1px solid rgba(23,76,119,.22); }
.contact-team__grid article:nth-last-child(-n + 2) { border-bottom: 0; }
.contact-team__grid h3, .contact-company h3 { margin: 0 0 19px; font-size: 1.12rem; line-height: 1.2; }
.contact-team__grid p { margin: 0 0 18px; color: var(--muted); font-size: .93rem; line-height: 1.55; }
.contact-team__grid p:last-child { margin-bottom: 0; }
.contact-team__grid strong { color: var(--ink); }
.contact-team__grid a { color: var(--blue-hover); font-weight: 700; text-decoration: none; }
.contact-company__grid { grid-template-columns: repeat(2, 1fr); gap: 0 54px; overflow: visible; border: 0; border-top: 1px solid rgba(23,76,119,.22); border-radius: 0; background: transparent; box-shadow: none; }
.contact-company .section-heading { grid-template-columns: 1fr; gap: 10px; margin-bottom: 34px; }
.contact-company { padding-top: 64px; padding-bottom: 64px; }
.contact-company__grid article { padding: 27px 0 23px; border: 0; background: transparent; }
.contact-company__grid article + article { border-left: 0; }
.contact-company__registration { background: transparent !important; }
.contact-company h3 { margin: 0 0 14px; font-size: 1.18rem; }
.contact-company__grid address { margin: 0 0 12px; color: var(--muted); font-size: .9rem; font-style: normal; line-height: 1.4; }
.contact-company__grid address strong { display: block; margin-bottom: 5px; color: var(--ink); font-size: .95rem; }
.contact-company__grid dl { display: grid; gap: 3px; margin: 0; }
.contact-company__grid dl div { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 14px; align-items: baseline; line-height: 1.3; }
.contact-company__grid dt { color: var(--muted); font-size: .78rem; font-weight: 700; letter-spacing: 0; text-transform: none; }
.contact-company__grid dd { margin: 0; color: var(--ink); font-size: .9rem; font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: .01em; }
.contact-company__accounts h3 { margin-bottom: 14px; }

.site-footer { padding: 46px 0 14px; border-top: 1px solid rgba(255,255,255,.16); color: #ced8df; background: var(--navy-deep); }
.footer-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.site-footer h2 { color: #fff; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; }
.site-footer a:not(.brand) { display: block; margin: 6px 0; text-decoration: none; }
.footer-meta { margin-top: 30px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.15); font-size: .8rem; }
.footer-mobile { display: none; }

@media (max-width: 1050px) {
  .hero-grid { gap: 32px; }
  .about-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 46px; }
}

@media (max-width: 1120px) {
  .nav-row { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 0 28px; min-height: 76px; }
  .brand { width: 158px; }
  .menu-toggle { display: inline-flex; align-items: center; gap: 7px; padding: 9px 0; color: var(--navy); cursor: pointer; font-size: .9rem; line-height: 1; }
  .main-nav { position: absolute; top: calc(100% - 4px); right: 0; z-index: 20; display: none; width: min(292px, calc(100vw - 28px)); align-items: stretch; flex-direction: column; gap: 2px; padding: 12px 14px 14px; border: 1px solid var(--line); border-radius: 14px; background: #f8fafb; box-shadow: 0 18px 42px rgba(16,45,64,.16); }
  .main-nav.is-open { display: flex; }
  .main-nav a { display: flex; align-items: center; min-height: 42px; padding: 0 8px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; font-size: .9rem; }
  .main-nav a:hover:not(.nav-action-cta), .main-nav a[aria-current="page"]:not(.nav-action-cta) { border: 0; border-bottom: 2px solid var(--blue); color: var(--blue); background: transparent; box-shadow: none; }
  .main-nav .nav-action-cta {
    order: 1;
    width: 100%;
    min-height: 42px;
    margin: 10px 0 0;
    padding: 9px 16px;
    border: 1px solid rgba(23,76,119,.42);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 6px 16px rgba(16,45,64,.12);
  }
  .main-nav .nav-action-cta:hover,
  .main-nav .nav-action-cta:focus-visible { border-color: var(--blue); color: #fff; background: var(--blue); box-shadow: 0 10px 24px rgba(16,45,64,.18); }
}

@media (max-width: 980px) {
  .client-order-list__head { display: none; }
  .client-order-history-list__head { display: none; }
  .client-order-row { gap: 8px 14px; min-height: 0; padding: 14px 18px; }
  .client-order-row__value { text-align: right; }
  .client-order-history-list .client-order-row__delivery::before { content: "Odbiór: "; color: var(--muted); font-weight: 400; }
  .client-order-history-list .client-order-row__payment::before { content: "Płatność: "; color: var(--muted); font-weight: 400; }
  .client-order-history-list .client-order-row--history .client-order-row__value::before { content: "Dokumenty: "; color: var(--muted); font-weight: 400; }
  .client-order-documents { grid-template-columns: 1fr; }
  .client-order-detail__section-heading { grid-template-columns: 1fr; align-items: start; gap: 13px; }
}

@media (max-width: 800px) {
  .hero-lead-break { display: none; }
  .hero-grid, .home-control__grid, .section-heading, .about-intro, .about-history, .contact-team__grid, .contact-company__grid { grid-template-columns: 1fr; }
  .about-story__grid { grid-template-columns: 1fr; }
  .catalog-hero__grid { grid-template-columns: 1fr; gap: 0; min-height: 0; }
  .catalog-hero__grid > div { padding: 68px 0 44px; }
  .catalog-hero__grid > img { min-height: 250px; margin-right: -20px; }
  .catalog-hero__grid > img.catalog-hero__visual--products { height: 300px; min-height: 0; margin-right: 0; object-fit: contain; object-position: center; }
  .catalog-hero--services .catalog-hero__grid > img { margin-right: 0; padding: 12px 0; }
  .catalog-hero--services .catalog-hero__grid > img.catalog-hero__visual--services { width: min(100%, 360px); height: auto; min-height: 0; margin: 0 auto 38px; padding: 0; }
  .oldtimer-hero__visual { margin: 0 12px 30px 0; }
  .oldtimer-hero__visual::before { inset: 12px -12px -12px 12px; }
  .oldtimer-hero__visual img { margin: 0; }
  .about-company-hero .catalog-hero__grid { grid-template-columns: 1fr; min-height: 0; }
  .about-company-hero__portrait { justify-self: center; width: min(calc(100% - 18px), 360px); margin: 0 0 46px; }
  .hero-grid { gap: 0; min-height: 0; }
  .hero-copy { padding: 68px 0 44px; }
  .hero-visual { width: min(100%, 360px); min-height: 0; margin: 0 auto; }
  .cooperation-hero .hero-visual { margin: 0 auto 38px; box-shadow: none; }
  .contact-hero__details { grid-template-columns: 1fr; }
  .contact-hero__details > p { grid-column: auto; }
  .section { padding: 58px 0; }
  .site-footer {
    padding: 13px 16px 15px;
    border-top: 1px solid #e1e8ed;
    color: #87949c;
    background: #f7fafb;
  }
  .site-footer .footer-grid,
  .site-footer .footer-meta { display: none; }
  .site-footer .footer-mobile {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 3px 8px;
    padding: 0;
    color: #87949c;
    font-size: .68rem;
    line-height: 1.45;
    text-align: center;
  }
  .site-footer .footer-mobile a {
    display: inline;
    margin: 0;
    color: inherit;
    text-decoration: none;
  }
  .catalog-grid { grid-template-columns: repeat(2, 1fr); }
  .contact-form[data-variant="wide"] { padding: 27px; }
  .contact-form__columns { grid-template-columns: 1fr; }
  .contact-team__grid article { min-height: 0; }
  .contact-team__grid article:nth-last-child(-n + 2) { border-bottom: 1px solid rgba(23,76,119,.22); }
  .contact-team__grid article:last-child { border-bottom: 0; }
  .contact-company__grid article { padding: 27px 0 24px; }
  .contact-company__grid article + article { border-top: 1px solid rgba(23,76,119,.16); border-left: 0; }
  .contact-company__accounts h3 { margin-bottom: 22px; }
  .section-heading { margin-bottom: 26px; }
  .homepage-paths { padding-bottom: 52px; }
  .homepage-paths__intro { margin-bottom: 26px; }
  .home-paths { grid-template-columns: 1fr; }
  .home-path { min-height: 0; }
  .home-path > img { height: auto; aspect-ratio: 16 / 9; }
  .home-path__content { min-height: 250px; padding: 28px; }
  .home-control { padding: 30px; }
  .home-control__grid { gap: 36px; }
  .home-control > .button { justify-self: start; }
  .about-intro { gap: 28px; }
  .cooperation-documents .download-list a { min-height: 96px; padding: 22px 22px 22px 72px; }
  .cooperation-documents .download-list a::before { left: 18px; }
  .about-history { gap: 32px; }
  .about-film__heading { margin-bottom: 32px; }
  .about-film__frame::before { top: -8px; right: -8px; }
  .about-story__grid { gap: 28px; }
  .about-story__title span { margin-bottom: 12px; }
  .about-timeline, .about-standards__grid, .about-achievements__grid { grid-template-columns: 1fr; }
  .about-timeline { gap: 34px; margin-top: 42px; padding: 0 0 0 28px; }
  .about-timeline::before { top: 0; bottom: 0; left: 4px; width: 1px; height: auto; background: linear-gradient(180deg, var(--blue), rgba(23,76,119,.2)); }
  .about-timeline::after { top: auto; right: auto; bottom: 0; left: 0; transform: rotate(135deg); }
  .about-timeline li { min-height: 0; padding: 0; }
  .about-timeline li::before { top: 4px; left: -30px; }
  .about-timeline li:last-child::before { top: 2px; left: -32px; }
  .about-timeline strong { margin-bottom: 15px; }
  .about-standards__grid { gap: 36px; }
  .about-standards__grid article { min-height: 0; }
  .about-achievement { min-height: 280px; padding: 30px; }
  .cta-panel { align-items: flex-start; flex-direction: column; padding: 30px; }
  .cta-panel .action-row { justify-content: flex-start; }
  .download-list { grid-template-columns: 1fr; }
  .page-hero { padding: 52px 0 42px; }
  /* Telefon zachowuje krótkie wprowadzenie na tym samym spokojnym tle. */
  .client-login { grid-template-columns: minmax(0, 1fr); gap: 28px; width: min(440px, calc(100% - 40px)); margin: 0 auto; }
  .client-entry-section { align-items: start; padding: 28px 0 max(24px, env(safe-area-inset-bottom)); }
  .client-login__intro { min-height: 0; padding: 8px 0 0; }
  .client-login__intro-copy h1 { font-size: 1.75rem; }
  .client-login__intro-copy p { display: none; }
  .client-login__content { padding: 0; }
  .client-login__heading h2 { font-size: 1.9rem; }
  .client-login__form { gap: 14px; margin-top: 24px; }
  .client-login__support { margin-top: 12px; }
  .client-dashboard { min-height: 0; padding-bottom: 58px; }
  .client-process__heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 0 8px; }
  .client-process-stages { max-width: 100%; padding: 5px 0 8px; }
  .client-data-grid { grid-template-columns: 1fr; }
  .client-data-grid section { padding: 24px; }
  .client-form-grid,
  .client-form-grid--tin,
  .client-form-grid--address { grid-template-columns: 1fr; padding-left: 0; }
  .client-field--wide { grid-column: auto; }
  .video-list { grid-template-columns: 1fr; }
  .multimedia-hero__copy { padding: 56px 0 52px; }
  .multimedia-section-head { align-items: flex-start; flex-direction: column; gap: 4px; }
  .notice dl div { grid-template-columns: 1fr; gap: 2px; }
}

/* Finanse: jedna, spokojna struktura tabelaryczna dla obu zbiorów dokumentów. */
.client-finances {
  display: grid;
  gap: 16px;
  padding-top: 0;
}
.client-finances__section {
  display: grid;
  gap: 10px;
}
.client-section-heading {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
  min-height: 32px;
  margin: 0;
  padding: 0 4px;
  gap: 10px;
  color: #687982;
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1;
  text-transform: uppercase;
}
.client-section-heading::before {
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #9aa8af;
  box-shadow: 0 0 0 3px rgba(154, 168, 175, .14);
  content: "";
}
.client-section-heading > h2,
.client-section-heading > span {
  display: inline-flex;
  align-items: center;
  min-height: inherit;
  margin: 0;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  text-transform: inherit;
}
.client-section-heading__pagination {
  display: flex;
  align-items: center;
  margin-left: auto;
}
.client-section-heading__pagination .client-history-pagination {
  width: auto;
  gap: 5px;
}
.client-section-heading__pagination .client-history-pagination button {
  display: grid;
  width: 26px;
  min-width: 26px;
  min-height: 26px;
  padding: 0;
  place-items: center;
  border-radius: 50%;
  font-size: 0;
}
.client-section-heading__pagination .client-history-pagination button::before {
  color: currentColor;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1;
}
.client-section-heading__pagination .client-history-pagination button[data-client-active-prev]::before,
.client-section-heading__pagination .client-history-pagination button[data-client-history-prev]::before,
.client-section-heading__pagination .client-history-pagination button[data-finances-unsettled-prev]::before,
.client-section-heading__pagination .client-history-pagination button[data-finances-prev]::before { content: "‹"; }
.client-section-heading__pagination .client-history-pagination button[data-client-active-next]::before,
.client-section-heading__pagination .client-history-pagination button[data-client-history-next]::before,
.client-section-heading__pagination .client-history-pagination button[data-finances-unsettled-next]::before,
.client-section-heading__pagination .client-history-pagination button[data-finances-next]::before { content: "›"; }
.client-section-heading__pagination .client-history-pagination span {
  min-width: 30px;
  font-size: .67rem;
  font-weight: 800;
}
.client-section-heading--active::before,
.client-section-heading--finished::before,
.client-section-heading--settled::before {
  background: #3a9b6b;
  box-shadow: 0 0 0 3px rgba(58, 155, 107, .12);
}
.client-section-heading--unsettled::before {
  background: #c65b52;
  box-shadow: 0 0 0 3px rgba(198, 91, 82, .12);
}
[data-client-active-heading] {
  margin-bottom: 10px;
}
.client-orders-finished {
  margin-top: 24px;
}
.client-orders-finished > .client-section-heading {
  margin-bottom: 10px;
}
.client-finance-list {
  overflow: hidden;
  border: 1px solid rgba(23, 76, 119, .16);
  border-radius: 11px;
  background: #fff;
  box-shadow: none;
}
.client-finance-list-group {
  min-width: 0;
}
.client-finance-list__head,
.client-finance-row {
  display: grid;
  grid-template-columns: minmax(120px, .9fr) minmax(140px, 1fr) minmax(86px, .6fr) minmax(110px, .75fr) minmax(140px, 1fr) minmax(130px, .8fr) 24px;
  align-items: center;
  gap: 16px;
}
.client-finance-list__head {
  min-height: 44px;
  padding: 8px 20px;
  color: #84929a;
  border-bottom: 1px solid rgba(23, 76, 119, .12);
  background: #f6f9fa;
  font-family: inherit;
  font-size: .62rem;
  font-weight: 760;
  line-height: 1;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.client-finance-row {
  min-height: 44px;
  padding: 6px 20px;
  color: var(--ink);
  border-top: 1px solid rgba(23, 76, 119, .09);
  background: var(--client-finance-row-background, transparent);
  font-variant-numeric: tabular-nums;
  transition: background .18s ease;
}
.client-finance-list__head + .client-finance-row {
  border-top: 0;
}
.client-finance-row[data-finance-document]:hover {
  background: var(--client-finance-row-hover-background, #f7fafc);
}
.client-finance-row[data-finance-document],
.client-order-finance-row[data-finance-document] { cursor: pointer; }
.client-finance-row[data-finance-document]:focus-visible,
.client-order-finance-row[data-finance-document]:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
.client-finance-row__mobile-document { display: none; }
.client-finance-row__order {
  min-width: 0;
  color: #173f5d;
  font-size: .82rem;
  font-weight: 750;
  line-height: 1.2;
  white-space: nowrap;
}
@media (max-width: 1120px) {
  .client-finance-list__head {
    display: none;
  }
  .client-finance-row {
    min-width: 0;
    min-height: 44px;
    grid-template-columns: minmax(0, 1fr) max-content minmax(0, 1fr);
    grid-template-areas: "document order value";
    align-items: center;
    gap: 10px;
    padding: 6px 16px;
  }
  .client-finance-row > .client-order-row__name,
  .client-finance-row > .client-order-row__delivery,
  .client-finance-row > .client-order-row__payment { display: none; }
  .client-finance-row__mobile-document {
    display: block;
    grid-area: document;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    color: var(--ink);
    font-size: .85rem;
    font-weight: 400;
    line-height: 1.2;
    text-overflow: ellipsis;
  }
  .client-finance-row__order {
    grid-area: order;
    align-self: center;
    justify-self: center;
    overflow: hidden;
    font-size: .78rem;
    text-align: center;
    text-overflow: ellipsis;
  }
  .client-finance-row > .client-order-row__value {
    grid-area: value;
    align-self: center;
    justify-self: end;
    text-align: right;
    white-space: nowrap;
  }
  .client-finance-row > .client-order-row__value strong { font-size: .84rem; }
  .client-finance-row > .client-order-row__arrow {
    display: none;
  }
}

@media (max-width: 800px) {
  .client-finance-row {
    min-height: 38px;
    grid-template-columns: minmax(0, 1.2fr) max-content minmax(0, .8fr);
    padding-block: 3px;
  }
}

/* Customer portal premium pass */
.client-orders-search {
  max-width: 620px;
  margin-bottom: 10px;
}
.client-orders-search input {
  min-height: 44px;
  border-radius: 11px;
  box-shadow: 0 5px 16px rgba(16, 45, 64, .025);
}
.client-order-list {
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.client-order-list__head {
  min-height: 34px;
  padding: 0 18px 8px;
  border-bottom: 1px solid rgba(23, 76, 119, .1);
  background: transparent;
}
.client-order-list .client-order-row {
  min-height: 82px;
  margin-top: 8px;
  padding: 14px 18px;
  border: 1px solid rgba(23, 76, 119, .13);
  border-radius: 12px;
  background: var(--client-order-row-background, #fff);
  box-shadow: 0 7px 20px rgba(16, 45, 64, .045);
}
.client-order-list .client-order-row + .client-order-row {
  border-top: 1px solid rgba(23, 76, 119, .13);
}
.client-order-list .client-order-row:hover,
.client-order-list .client-order-row:focus-visible {
  border-color: rgba(23, 76, 119, .28);
  box-shadow: 0 10px 24px rgba(16, 45, 64, .08);
}
.client-order-history-list {
  border: 0;
  border-top: 1px solid rgba(23, 76, 119, .08);
  background: transparent;
}
.client-order-history-list__head {
  min-height: 32px;
  padding: 0 16px 7px;
  border-bottom: 0;
}
.client-order-history-list .client-order-row {
  min-height: 62px;
  padding: 12px 16px;
  border-top: 1px solid rgba(23, 76, 119, .07);
  background: rgba(255, 255, 255, .62);
}
.client-order-history-list .client-order-row:hover,
.client-order-history-list .client-order-row:focus-visible {
  background: #f9fbfc;
  box-shadow: none;
}

/* Ikony statusu z API pozostają samodzielnymi grafikami, bez obwódki dodawanej przez panel. */
.client-order-list .client-status--asset {
  display: inline-grid;
  min-height: 0;
  width: 34px;
  height: 34px;
  gap: 0;
  margin-right: 20px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: 0;
  line-height: 0;
}
.client-order-list .client-status--asset .client-status__icon {
  width: 34px;
  height: 34px;
}
.client-order-history-state__icon--asset {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.client-order-history-state__icon--asset .client-status__icon {
  width: 28px;
  height: 28px;
}

/* Ikony statusu dostarczane przez order_state_iconid. */
.client-status--asset::before {
  display: none;
}
.client-status__icon {
  display: block;
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  object-fit: contain;
}
.client-order-list .client-status:not(.client-status--asset) .client-status__icon {
  width: 29px;
  height: 29px;
}
.client-order-history-state__icon:not(.client-order-history-state__icon--asset) .client-status__icon {
  width: 19px;
  height: 19px;
}

@media (max-width: 980px) {
  .client-order-list .client-order-row {
    min-height: 0;
    margin-top: 7px;
    padding: 14px 18px;
  }
  .client-order-history-list .client-order-row {
    margin-top: 0;
  }
}

@media (max-width: 800px) {
  .client-order-list__head,
  .client-order-history-list__head {
    display: none;
  }
  .client-order-list {
    display: grid;
    gap: 0;
    border: 1px solid rgba(23, 76, 119, .14);
    border-radius: 0;
    background: var(--client-order-row-background, #fff);
    box-shadow: 0 10px 24px rgba(16, 45, 64, .045);
  }
  .client-order-list .client-order-row {
    min-height: 96px;
    margin: 0;
    padding: 14px 13px;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
  }
  .client-order-list .client-order-row + .client-order-row {
    border-top: 1px solid rgba(23, 76, 119, .1);
  }
  .client-order-list .client-order-row:hover,
  .client-order-list .client-order-row:focus-visible {
    border-color: transparent;
    background: #f8fbfd;
    box-shadow: none;
  }
}

@media (min-width: 801px) {
  .about-achievements__heading h2 { white-space: nowrap; }
}

@media (max-width: 460px) {
  .container { width: min(var(--max), calc(100% - 40px)); }
  .hero h1, .page-hero h1 { font-size: 2.3rem; }
  .action-row .button { width: 100%; }
  .catalog-grid { grid-template-columns: 1fr; }
  .catalog-grid article.catalog-card--wide { grid-template-columns: 1fr; grid-template-rows: auto auto auto; grid-template-areas: "media" "title" "copy"; min-height: 0; row-gap: 0; }
  .catalog-grid article.catalog-card--wide .catalog-card__media { grid-area: media; height: 190px; min-height: 190px; margin: 0; }
  .catalog-grid article.catalog-card--wide h3 { grid-area: title; padding: 24px 27px 0; }
  .catalog-grid article.catalog-card--wide p { grid-area: copy; margin: 0; padding: 0 27px 24px; }
  .client-process__heading { gap: 7px; }
  .client-process-stages { max-width: 100%; }
}

/* Panel Klienta - spokojniejszy, produktowy układ zamiast marketingowej karty. */
.client-order-detail-card .client-order-detail-tabs { margin: 0; }
.client-order-detail__documents { margin-top: 34px; padding: 0 30px 30px; }
.client-order-detail__section-heading { gap: 28px; margin-bottom: 18px; }
.client-order-detail__section-heading h2 { font-size: 1.04rem; font-weight: 760; }
.client-order-list { box-shadow: none; }

@media screen {
  .client-order-finance-list__head { display: none; }
  .client-order-finance-row {
    grid-template-columns: minmax(0, 1fr) max-content 9px 18px;
    grid-template-areas: "mobile-document value status arrow";
    align-items: center;
    gap: 10px;
    min-height: 54px;
    padding: 11px 14px;
  }
  .client-order-finance-row__document,
  .client-order-finance-row > span:nth-child(2),
  .client-order-finance-row > span:nth-child(3) { display: none; }
  .client-order-finance-row__mobile-document {
    display: block;
    grid-area: mobile-document;
    min-width: 0;
    color: var(--ink);
    font-size: .78rem;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
  }
  .client-order-finance-row__value {
    grid-area: value;
    font-size: .8rem;
    text-align: right;
  }
  .client-order-finance-row__status {
    display: block;
    grid-area: status;
    align-self: center;
    justify-self: center;
    box-sizing: border-box;
    width: 12px;
    height: 12px;
    padding: 0;
    border: 2px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 1px currentColor;
    font-size: 0;
  }
  .client-order-finance-row__status.is-settled { color: #29935a; background: #38ad6c; }
  .client-order-finance-row__status.is-unsettled { color: #b94e46; background: #d45f56; }
  .client-order-finance-row__arrow {
    display: grid;
    grid-area: arrow;
    width: 18px;
    height: 18px;
    place-items: center;
  }
  .client-order-finance-row__arrow img {
    display: block;
    width: 15px;
    height: 15px;
    object-fit: contain;
  }
}

/* Naprzemienny rytm teł po uproszczeniu sekcji Współpracy i Kontaktu. */
.cooperation-process { background: var(--paper); }
.cooperation-documents { background: #fff; }
.contact-team { background: #fff; }
.contact-company { background: var(--paper); }
.contact-message { background: #fff; }

/* Panel klienta: wspólna hierarchia nagłówka, zakładek i listy zleceń. */
.client-tabs {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 22px;
  min-height: 50px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #cfdce3;
  border-radius: 0;
  background: transparent;
}
.client-tabs__links {
  display: flex;
  align-items: stretch;
  gap: 4px;
  min-width: 0;
}
.client-tabs__links button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  min-height: 46px;
  padding: 11px 18px 9px;
  border: 1px solid transparent;
  border-bottom: 3px solid transparent;
  border-radius: 9px 9px 0 0;
  color: #52616a;
  font-size: .8rem;
  font-weight: 760;
  background: transparent;
}
.client-tabs__icon {
  display: none;
}
.client-tabs__contact {
  display: none;
}
.client-tabs__label {
  display: inline-block;
}
.client-tabs__label-desktop { display: none; }
.client-tabs__links button::after {
  display: none;
}
.client-tabs__links button:hover {
  color: var(--blue);
  border-color: rgba(23, 76, 119, .08);
  background: rgba(255, 255, 255, .55);
}
.client-tabs__links button[aria-selected="true"] {
  color: var(--blue);
  background: #fff;
  border-color: #d7e3e9;
  border-bottom-color: var(--blue);
  box-shadow: none;
}
.client-tabs__utilities {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  min-width: 0;
  margin-left: auto;
}
.client-tabs__new-order {
  min-height: 36px;
  padding: 8px 15px;
  border-color: rgba(23, 76, 119, .42);
  color: var(--navy);
  background: #fff;
  box-shadow: 0 4px 10px rgba(16, 45, 64, .08);
  font-size: .74rem;
  white-space: nowrap;
}
.client-tabs__new-order-break { display: none; }
.client-tabs__new-order:hover,
.client-tabs__new-order:focus-visible {
  border-color: #174f77;
  color: #fff;
  background: #174f77;
  box-shadow: 0 6px 14px rgba(22, 75, 108, .14);
}
.client-tabs__new-order:disabled {
  border-color: #d5dde2;
  color: #8b989f;
  background: #f2f5f6;
  box-shadow: none;
  cursor: not-allowed;
}
.client-attention {
  border-radius: 14px;
}
.client-attention[hidden],
.client-data-status[hidden] {
  display: none !important;
}
.client-data-status[data-orders-status].is-error {
  display: block;
  margin: 0 0 18px;
  padding: 14px 17px;
  border: 1px solid rgba(154, 70, 55, .24);
  border-left: 3px solid #a34a3a;
  border-radius: 10px;
  background: #fff8f5;
  color: #8a3029;
  font-weight: 650;
}
.client-history-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 14px;
}
.client-history-footer .client-orders-search {
  width: min(100%, 535px);
  margin: 0;
}
.client-history-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 0;
}
.client-history-pagination[hidden] {
  display: none !important;
}
.client-history-pagination button {
  min-height: 34px;
  padding: 7px 13px;
  border: 1px solid rgba(23, 76, 119, .16);
  border-radius: 999px;
  background: #fff;
  color: var(--blue);
  font: inherit;
  font-size: .76rem;
  font-weight: 800;
  cursor: pointer;
}
.client-history-pagination button:hover:not(:disabled),
.client-history-pagination button:focus-visible:not(:disabled) {
  border-color: rgba(23, 76, 119, .34);
  background: #eaf2f6;
  outline: 0;
}
.client-history-pagination button:disabled {
  cursor: default;
  opacity: .42;
}
.client-history-pagination span {
  min-width: 90px;
  color: var(--muted);
  font-size: .76rem;
  font-weight: 750;
  text-align: center;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
/* Mobile layout is defined once in the final panel contract below. */

/* Panel zleceń: jedna mocna bieżąca realizacja i cicha, użyteczna historia. */
.client-orders-toolbar {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 14px;
}
.client-orders-toolbar .client-orders-search {
  flex: 0 1 535px;
  margin: 0;
}
.client-orders-toolbar > .button {
  flex: none;
  min-height: 42px;
  margin-left: auto;
  padding-inline: 19px;
  box-shadow: 0 8px 18px rgba(16, 45, 64, .09);
}
.client-orders-search {
  max-width: 535px;
  margin-bottom: 8px;
}
.client-orders-search input {
  min-height: 42px;
  padding-inline: 15px;
  border-color: rgba(23, 76, 119, .16);
  border-radius: 10px;
  background: rgba(255, 255, 255, .82);
  box-shadow: none;
  font-size: .82rem;
}
.client-orders-search input:hover {
  border-color: rgba(23, 76, 119, .24);
  background: #fff;
  box-shadow: none;
}
.client-orders-search input:focus-visible {
  border-color: rgba(31, 97, 146, .58);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(31, 97, 146, .1);
  outline: 0;
}
.client-order-list {
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.client-order-list .client-order-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(165px, .28fr) auto;
  align-items: center;
  min-height: 102px;
  margin: 0;
  padding: 19px 22px;
  border: 1px solid rgba(23, 76, 119, .14);
  border-top: 3px solid #21679b;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(16, 45, 64, .055);
}
.client-order-list .client-order-row:hover,
.client-order-list .client-order-row:focus-visible {
  border-color: rgba(31, 97, 146, .36);
  background: #fbfdfe;
  box-shadow: 0 12px 28px rgba(16, 45, 64, .065);
  transform: none;
}
.client-order-list .client-status:not(.client-status--asset) {
  position: relative;
  display: inline-grid;
  width: 38px;
  height: 38px;
  place-items: center;
  flex: none;
  margin-right: 20px;
  padding: 0;
  border: 1px solid rgba(31, 97, 146, .2);
  border-radius: 50%;
  background: linear-gradient(145deg, #fff 0%, #f2f8fb 100%);
  color: #1c5d8d;
  font-size: 0;
  font-weight: 820;
}
.client-order-list .client-status:not(.client-status--asset)::before {
  width: 29px;
  height: 29px;
  margin: 0;
  border: 0;
  box-shadow: none;
  font-size: .72rem;
  font-weight: 850;
}
.client-order-list .client-status--ready::before {
  content: "✓";
  color: #fff;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(145deg, #3b9b69 0%, #24764b 100%);
  box-shadow: 0 2px 5px rgba(36, 118, 75, .2);
  font-size: .9rem;
}
.client-order-list .client-status--paused::before {
  content: "Ⅱ";
  color: var(--status-action);
  border: 1px solid var(--status-action-border);
  border-radius: 50%;
  background: var(--status-action-soft);
  box-shadow: 0 2px 5px rgba(185, 111, 38, .14);
  font-size: .75rem;
}
.client-order-list .client-status--completed::before {
  content: "✓";
  color: #285a78;
  border: 1px solid #b8cdd9;
  border-radius: 50%;
  background: linear-gradient(145deg, #f7fbfd 0%, #e6f0f5 100%);
  box-shadow: 0 2px 5px rgba(40, 90, 120, .12);
  font-size: .9rem;
}
.client-order-list .client-order-row__name strong {
  order: 1;
  margin-bottom: 5px;
  font-size: 1.04rem;
  font-weight: 760;
  letter-spacing: -.017em;
}
.client-order-list .client-order-row__name small {
  order: 2;
  margin-bottom: 0;
  color: #6d7e87;
  font-size: .74rem;
}
.client-order-list .client-order-row__schedule {
  padding-left: 20px;
  border-left: 1px solid rgba(23, 76, 119, .12);
}
.client-order-list .client-order-row__schedule strong {
  color: #20435d;
  font-size: .84rem;
}
.client-order-list .client-order-row__schedule small {
  margin-top: 5px;
  color: #6e7d85;
  font-size: .73rem;
}
.client-order-progress-ring {
  position: relative;
  text-align: center;
}
.client-order-progress-ring svg {
  display: block;
  width: 50px;
  height: 50px;
  transform: rotate(-90deg);
}
.client-order-progress-ring circle {
  fill: none;
  stroke-width: 3;
}
.client-order-progress-ring__track { stroke: #e5edf3; }
.client-order-progress-ring__value {
  stroke: var(--blue);
  stroke-linecap: round;
  transition: stroke-dasharray .25s ease;
}
.client-order-progress-ring.is-unavailable .client-order-progress-ring__value { stroke: transparent; }
.client-order-progress-ring strong {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--blue);
  font-size: .78rem;
  font-weight: 800;
  line-height: 1;
}
.client-order-progress-ring.is-unavailable strong { color: #7d8b94; }
.client-order-list .client-order-row__arrow {
  margin-left: 17px;
  color: #6f8ca0;
}
.client-order-history-list__head {
  min-height: 30px;
  margin-bottom: 6px;
  padding: 9px 15px;
  border: 1px solid rgba(23, 76, 119, .1);
  background: #f4f8fa;
  color: #687983;
  font-size: .6rem;
}
.client-order-history-list {
  overflow: hidden;
  border: 1px solid rgba(23, 76, 119, .1);
  background: rgba(255, 255, 255, .46);
  box-shadow: none;
}
.client-order-history-list .client-order-row {
  min-height: 55px;
  padding: 10px 15px;
  background: transparent;
  color: #5d6e78;
}
.client-order-history-list .client-order-row + .client-order-row {
  border-top-color: rgba(23, 76, 119, .08);
}
.client-order-history-list .client-order-row:hover,
.client-order-history-list .client-order-row:focus-visible {
  background: #fff;
}
.client-order-history-list .client-order-row__name strong,
.client-finance-row .client-order-row__name strong {
  order: 1;
  margin-bottom: 2px;
  font-size: .93rem;
  font-weight: 700;
}
.client-order-history-list .client-order-row__name small,
.client-finance-row .client-order-row__name small {
  order: 2;
  margin-bottom: 0;
  color: #7b8990;
  font-size: .72rem;
}
.client-order-history-list .client-order-row__schedule strong,
.client-finance-row .client-order-row__schedule strong {
  color: #53646e;
  font-size: .79rem;
}
.client-order-history-list .client-order-row__schedule small,
.client-finance-row .client-order-row__schedule small {
  margin-top: 2px;
  font-size: .7rem;
}
.client-order-history-list .client-order-row__delivery,
.client-order-history-list .client-order-row__payment,
.client-order-history-list .client-order-row__value,
.client-finance-row .client-order-row__delivery,
.client-finance-row .client-order-row__payment,
.client-finance-row .client-order-row__value {
  color: #687883;
  font-size: .78rem;
  font-weight: 650;
}
.client-order-history-list .client-order-row__payment {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.client-order-history-list .client-order-row__value {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
}
.client-finance-row .client-order-row__value {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  text-align: left;
}
.client-order-history-list .client-order-row__value strong,
.client-finance-row .client-order-row__value strong {
  color: #4d626f;
  font-size: .72rem;
  line-height: 1.15;
}
.client-finance-row .client-order-row__value strong {
  color: var(--blue);
}
.client-finance-row .client-finance-balance--due strong {
  color: #b64b45;
}
.client-finance-row .client-finance-balance--credit strong {
  color: #3a9166;
}
.client-finance-row .client-finance-balance--zero strong,
.client-finance-row .client-finance-balance--empty strong {
  color: #687883;
}
.client-order-history-list .client-order-row__value-meta {
  color: #8a989f;
  font-size: .64rem;
  font-weight: 600;
  line-height: 1.15;
  white-space: nowrap;
}
.client-order-history-list .client-order-row__arrow {
  color: #6f8ca0;
}
.client-order-history-state {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #64747d;
  font-size: 0;
  font-weight: 780;
  letter-spacing: .025em;
  text-transform: uppercase;
}
.client-order-history-state__icon:not(.client-order-history-state__icon--asset) {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid #b8cdd9;
  border-radius: 50%;
  background: linear-gradient(145deg, #fff 0%, #e8f2f7 100%);
  color: #285a78;
  box-shadow: 0 2px 5px rgba(40, 90, 120, .1);
  font-size: .82rem;
  font-weight: 800;
  line-height: 1;
}
.client-order-history-state__label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
@media (min-width: 801px) and (max-width: 980px) {
  .client-order-list .client-order-row {
    grid-template-columns: auto minmax(0, 1fr) minmax(145px, .28fr) minmax(66px, .12fr) auto;
    gap: 12px;
  }
  .client-order-list .client-order-row > .client-status,
  .client-order-list .client-order-row__name,
  .client-order-list .client-order-row__schedule,
  .client-order-list .client-order-row__value,
  .client-order-list .client-order-row__arrow {
    grid-column: auto;
    grid-row: auto;
  }
  .client-order-list .client-order-row__value { text-align: right; }
.client-order-history-list__head,
.client-order-history-list .client-order-row {
    grid-template-columns: 40px minmax(185px, 1fr) 106px 128px 92px 18px;
    gap: 9px;
  }
  .client-order-history-list .client-order-history-state,
  .client-order-history-list .client-order-row__name,
  .client-order-history-list .client-order-row__schedule,
  .client-order-history-list .client-order-row__delivery,
  .client-order-history-list .client-order-row__value,
  .client-order-history-list .client-order-row__arrow {
    grid-column: auto;
    grid-row: auto;
  }
  .client-order-history-list .client-order-row__arrow { align-self: center; }
}

@media screen {
  .client-history-footer {
    align-items: stretch;
    flex-direction: column;
  }
  .client-history-footer .client-orders-search {
    width: 100%;
  }
  .client-history-pagination {
    justify-content: flex-end;
  }
  .client-orders-toolbar { align-items: stretch; flex-direction: column; gap: 10px; }
  .client-orders-toolbar .client-orders-search { flex-basis: auto; max-width: none; }
  .client-orders-toolbar > .button { margin-left: 0; align-self: flex-start; }
}

.client-order-history-list__head {
  min-height: 36px;
  margin-bottom: 0;
  padding: 0 16px;
  border: 1px solid rgba(23, 76, 119, .12);
  border-bottom: 0;
  background: #f7fafb;
  color: #718089;
  font-family: inherit;
  font-size: .62rem;
  font-weight: 760;
  letter-spacing: .07em;
  line-height: 1;
}
.client-order-history-list__head > span {
  white-space: nowrap;
}
@media (min-width: 801px) {
  .client-order-history-list__head,
  .client-order-history-list .client-order-row {
    grid-template-columns: 40px minmax(260px, 1fr) 132px 156px 150px 24px;
  }
}
.client-order-history-list {
  margin-top: 0;
  border-top: 0;
  align-content: start;
}

.client-order-list {
  display: block;
  overflow: hidden;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 25px rgba(16, 45, 64, .045);
}
.client-order-list .client-order-row {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.client-order-list .client-order-row + .client-order-row {
  border-top: 1px solid rgba(23, 76, 119, .1);
}
.client-order-list .client-order-row:hover,
.client-order-list .client-order-row:focus-visible {
  background: var(--client-order-row-hover-background, #f9fbfc);
  box-shadow: none;
}
.client-orders-active .client-order-list {
  --client-order-row-background: #fff;
}
.client-order-list__head {
  grid-template-columns: 56px minmax(0, 1fr) minmax(165px, .28fr) minmax(70px, .12fr) auto;
  min-height: 36px;
  padding: 0 22px;
  align-items: center;
  border-bottom: 1px solid rgba(23, 76, 119, .1);
  background: #f7fafb;
  color: #718089;
  font-size: .61rem;
  font-weight: 780;
  letter-spacing: .07em;
  line-height: 1;
  text-transform: uppercase;
}
.client-order-list__head > span {
  white-space: nowrap;
}
@media (min-width: 801px) {
  .client-order-list__head { display: grid; }
  .client-order-list .client-order-row {
    grid-template-columns: 56px minmax(0, 1fr) minmax(165px, .28fr) minmax(70px, .12fr) auto;
    height: 68px;
    min-height: 68px;
    padding: 12px 22px;
  }
  .client-order-list .client-status:not(.client-status--asset) {
    width: 30px;
    height: 30px;
    margin-right: 16px;
  }
  .client-order-list .client-status:not(.client-status--asset)::before {
    width: 25px;
    height: 25px;
    font-size: 14px;
  }
}
@media (min-width: 801px) and (max-width: 980px) {
  .client-order-history-list__head,
  .client-order-history-list .client-order-row {
    grid-template-columns: 88px minmax(170px, 1fr) 106px 128px 116px 18px;
  }
}

/* Komunikaty są niezależną warstwą interfejsu i nie przesuwają zawartości strony. */
.site-toast,
.notice {
  position: fixed;
  z-index: 1200;
  top: 88px;
  right: clamp(16px, 4vw, 52px);
  width: min(440px, calc(100vw - 32px));
  margin: 0 !important;
  padding: 15px 18px;
  border: 1px solid rgba(23, 76, 119, .18);
  border-color: #e3d4d1;
  border-radius: 12px;
  color: #6f2d26;
  background: #fff;
  box-shadow: 0 12px 36px rgba(16, 45, 64, .12);
  font-size: .86rem;
  font-weight: 650;
  line-height: 1.45;
  backdrop-filter: blur(12px);
}

.site-toast[hidden],
.notice[hidden] {
  display: none !important;
}
.site-toast--success,
.notice--success {
  border-color: #dce8e0;
  color: #205b38;
  background: #fff;
}
.site-toast--info {
  border-color: #dce6ee;
  color: #245a7e;
  background: #fff;
}
.site-toast p,
.notice p {
  margin: 0;
}
.site-toast {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) 26px;
  align-items: start;
  gap: 10px;
}
.site-toast__message { min-width: 0; overflow-wrap: anywhere; }
.site-toast__icon { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; color: #913b32; background: #fff0ec; font-weight: 700; }
.site-toast--success .site-toast__icon { color: #fff; background: var(--blue); }
.site-toast--info .site-toast__icon { color: var(--blue); background: #edf5fb; }
.site-toast__close {
  display: grid;
  width: 26px;
  height: 26px;
  margin: -3px -5px 0 0;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 50%;
  color: currentColor;
  background: transparent;
  font-size: 1.35rem;
  line-height: 1;
}
.site-toast__close:hover,
.site-toast__close:focus-visible { background: rgba(23, 76, 119, .1); outline: 0; }
@media (max-width: 800px) {
  .site-toast,
  .notice {
    top: 76px;
    right: 16px;
    width: calc(100vw - 32px);
  }
}

/* Mobilna propozycja instalacji PWA — osobna warstwa, bez wpływu na układ panelu. */
.pwa-install-dialog[hidden] {
  display: none !important;
}
.pwa-install-dialog {
  position: fixed;
  z-index: 1400;
  inset: 0;
  display: grid;
  align-items: end;
  justify-items: center;
  padding: 20px;
}
.pwa-install-dialog__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: rgba(7, 28, 43, .48);
  box-shadow: none;
  backdrop-filter: blur(3px);
}
.pwa-install-dialog__card {
  position: relative;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 14px 16px;
  width: min(100%, 440px);
  padding: 20px;
  border: 1px solid rgba(23, 76, 119, .14);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 24px 64px rgba(7, 28, 43, .24);
}
.pwa-install-dialog__icon {
  display: block;
  width: 56px;
  height: 56px;
  border-radius: 14px;
}
.pwa-install-dialog__content {
  align-self: center;
}
.pwa-install-dialog__content h2 {
  margin: 0 0 5px;
  color: var(--navy);
  font-size: 1.05rem;
  line-height: 1.2;
}
.pwa-install-dialog__content p {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.5;
}
.pwa-install-dialog__actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.pwa-install-dialog__actions .button {
  min-height: 42px;
  padding: 9px 16px;
  font-size: .82rem;
}
.pwa-install-dialog__dismiss {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}
.has-pwa-install-dialog {
  overflow: hidden;
}
@media (min-width: 801px) {
  .pwa-install-dialog {
    display: none !important;
  }
}

/* Wyszukiwanie jest częścią tabeli: ikona prowadzi wzrok, a pasek łączy się z jej stopką. */
.client-history-footer {
  position: relative;
  z-index: 1;
  margin-top: -1px;
  padding: 12px 14px 14px;
  border: 1px solid rgba(23, 76, 119, .1);
  border-top: 0;
  background: #f7fafb;
}
.client-history-footer .client-orders-search {
  position: relative;
  width: min(100%, 535px);
  max-width: none;
  margin: 0;
}
.client-history-footer .client-orders-search input {
  box-sizing: border-box;
  min-height: 42px;
  padding-left: 48px;
  border-color: rgba(23, 76, 119, .16);
  background: #fff;
  box-shadow: 0 3px 12px rgba(16, 45, 64, .035);
}
.client-history-footer .client-orders-search input:focus-visible {
  border-color: rgba(31, 97, 146, .58);
  box-shadow: 0 0 0 3px rgba(31, 97, 146, .1);
}
@media screen {
  .client-history-footer {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
    padding: 12px;
  }
  .client-history-footer .client-orders-search {
    width: 100%;
  }
}


/* Więcej miejsca na dane końcowych kolumn historii zleceń. */
@media (min-width: 801px) {
  .client-order-history-list__head,
  .client-order-history-list .client-order-row {
    grid-template-columns: 40px minmax(220px, 1fr) 160px 150px 140px minmax(230px, 260px) 28px;
  }
}
@media (min-width: 801px) and (max-width: 980px) {
  .client-order-history-list__head,
  .client-order-history-list .client-order-row {
    grid-template-columns: 40px minmax(150px, 1fr) 130px 140px 120px 150px 24px;
  }
}

/* Delikatnie oddziel nagłówek i stopkę historii od właściwych wierszy. */
.client-order-history-list__head {
  border-color: rgba(23, 76, 119, .18);
  border-bottom: 1px solid rgba(23, 76, 119, .14);
  background: #f7fafb;
  color: #718089;
}
.client-order-history-list {
  border-color: rgba(23, 76, 119, .16);
  background: #fff;
}
.client-order-history-list .client-order-row {
  background: #fff;
}
.client-order-history-list .client-order-row + .client-order-row {
  border-top-color: rgba(23, 76, 119, .1);
}
.client-history-footer {
  margin-top: 14px;
  border: 1px solid rgba(23, 76, 119, .16);
  border-radius: 11px;
  background: #f7fafb;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}
.client-order-history-list__head {
  border-top: 1px solid rgba(23, 76, 119, .16);
}
.client-order-history-list {
  border-top: 0;
}

/* Lista wyników i jej stopka są jednym komponentem: filtrowanie nie przesuwa wyszukiwarki ani paginacji. */
.client-paged-list {
  --client-paged-results-height: 570px;
  min-width: 0;
}
.client-paged-list--finances {
  --client-paged-results-height: 684px;
}
.client-paged-list > .client-order-history-list,
.client-paged-list > .client-finance-list {
  min-height: var(--client-paged-results-height);
  align-content: start;
}
@media screen {
  .client-paged-list--orders {
    --client-paged-results-height: 424px;
  }
  .client-paged-list--finances {
    --client-paged-results-height: 384px;
  }
}

/* Dokument sprzedaży: stała, czytelna kolumna bez przypadkowych przełamań. */
@media (min-width: 801px) {
  .client-order-history-list__head,
  .client-order-history-list .client-order-row {
    grid-template-columns: 40px minmax(0, 1fr) 160px 150px 140px minmax(230px, 260px) 28px;
  }
}
.client-order-history-list .client-order-row__value {
  min-width: 0;
  text-align: left;
}
.client-order-history-list .client-order-row__value strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


/* Hover zakończonych zleceń ma ten sam, subtelny kontrast co aktywnych. */
.client-order-history-list .client-order-row:hover,
.client-order-history-list .client-order-row:focus-visible {
  background: #f9fbfc;
  box-shadow: none;
}

/* Lupa jest pozycjonowana względem własnego pola w każdej odmianie wyszukiwarki. */
.client-orders-search {
  position: relative;
}
.client-history-footer .client-orders-search {
  display: block;
  width: min(100%, 535px);
  max-width: none;
  margin: 0;
}
.client-orders-search__icon {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 16px;
  width: 19px;
  height: 19px;
  transform: translateY(-50%);
  pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.8' cy='10.8' r='6.2' fill='none' stroke='%23205f8c' stroke-width='1.8'/%3E%3Cpath d='m15.5 15.5 5 5' fill='none' stroke='%23205f8c' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.client-orders-search input {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-height: 42px;
  margin: 0;
  padding-left: 50px;
  line-height: 1.2;
}

/* Jedna lista firm służy wyborowi po logowaniu i zmianie aktywnego kontekstu. */
.client-account-picker__list { display: grid; gap: 12px; margin: 28px 0 24px; }
.client-account-picker__logout { display: flex; justify-content: center; padding-top: 4px; border-top: 1px solid #dde7ee; }
.client-account-picker__logout .client-login__link { margin-top: 0; }
.client-company-option { appearance: none; display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 14px; width: 100%; min-height: 80px; margin: 0; padding: 16px; border: 1px solid #d9e4ec; border-radius: 12px; color: #17374e; background: #fff; cursor: pointer; font: inherit; text-align: left; transition: background .18s ease, border-color .18s ease; }
.client-company-option:hover:not(:disabled) { border-color: #9bb9d0; background: #f6fafd; }
.client-company-option:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.client-company-option:disabled { opacity: .65; cursor: wait; }
.client-company-option[aria-current="true"] { border-color: transparent; background: #edf6fc; }
.client-company-option__icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; color: var(--blue); background: #edf5fb; }
.client-company-option[aria-current="true"] .client-company-option__icon { background: #fff; }
.client-company-option__icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.client-company-option__copy { display: grid; min-width: 0; gap: 5px; overflow-wrap: anywhere; }
.client-company-option__copy strong { font-size: .9375rem; font-weight: 650; line-height: 1.4; }
.client-company-option__copy small { color: #5a7182; font-size: .8125rem; line-height: 1.4; }
.client-company-option__state { display: flex; align-items: center; gap: 8px; }
.client-company-option__active { padding: 2px 8px; border-radius: 999px; color: var(--blue); background: #dceefb; font-size: .6875rem; font-weight: 650; line-height: 1.4; white-space: nowrap; }
.client-company-option__marker { display: grid; place-items: center; width: 20px; color: var(--blue); font-size: 1.35rem; line-height: 1; }
.client-company-option:not([aria-current="true"]) .client-company-option__marker::before { width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; content: ''; transform: rotate(-45deg); }
.client-account-picker__status, .client-context-dialog__status { margin: 0; padding: 12px 14px; border-radius: 10px; color: #913b32; background: #fff5f3; font-size: .875rem; line-height: 1.5; }
.client-account-picker__status[hidden] { display: none; }
/* Notification inbox: shared desktop and mobile component. */
.client-notifications-bell { position: relative; display: grid; place-items: center; flex: 0 0 auto; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 8px; background: transparent; color: var(--blue); cursor: pointer; }
.client-notifications-bell[hidden], .client-notifications-badge[hidden] { display: none; }
.client-notifications-bell svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.client-notifications-badge { position: absolute; top: -5px; right: -7px; display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: #b73535; color: #fff; font-size: 11px; font-weight: 700; line-height: 1; }
.client-notifications-dialog { position: fixed; inset: var(--notifications-top, 86px) var(--notifications-right, 24px) auto auto; width: min(460px, calc(100vw - 32px)); max-height: min(680px, calc(100dvh - var(--notifications-top, 86px) - 16px)); margin: 0; padding: 0; border: 1px solid #e1e9ef; border-radius: 20px; color: var(--ink); background: #fff; box-shadow: 0 24px 80px #102d4030; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; scroll-padding-block: 110px 80px; }
.client-notifications-dialog::backdrop { background: #102d4038; }
.client-notifications-header { position: sticky; top: 0; z-index: 1; padding: 22px 22px 6px; background: #fff; }
.client-notifications-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.client-notifications-heading h2 { margin: 0; font-size: 1.125rem; font-weight: 700; letter-spacing: -.025em; }
.client-notifications-heading p { margin: 5px 0 0; color: var(--muted); font-size: .75rem; }
.client-notifications-heading button { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 10px; background: #f1f5f8; color: var(--navy); font-size: 24px; line-height: 1; cursor: pointer; }
.client-notifications-footer { position: sticky; bottom: 0; z-index: 1; padding: 12px 16px; border-top: 1px solid #eaf0f4; background: #fff; }
.client-notifications-footer button { display: flex; align-items: center; justify-content: center; gap: 9px; width: 100%; min-height: 44px; padding: 11px 12px; border: 0; border-radius: 10px; background: #eaf3fa; color: var(--blue); font: inherit; font-size: .75rem; font-weight: 650; line-height: 1.4; cursor: pointer; }
.client-notifications-footer button:hover:not(:disabled) { background: #dcebf6; }
.client-notifications-footer button:disabled { background: #f3f5f7; color: #7e8c99; cursor: default; }
.client-notifications-footer svg { flex: 0 0 20px; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.client-notifications-status { margin: 0; padding: 38px 26px; color: var(--muted); font-size: .875rem; line-height: 1.6; text-align: center; }
.client-notifications-status[data-state="loading"]::before { content: ''; display: block; width: 20px; height: 20px; margin: 0 auto 14px; border: 2px solid #e1e9ef; border-top-color: var(--blue); border-radius: 50%; animation: client-notifications-spin .8s linear infinite; }
@keyframes client-notifications-spin { to { transform: rotate(360deg); } }
.client-notifications-status[hidden], .client-notifications-more[hidden] { display: none; }
.client-notifications-day { margin: 0; padding: 8px 22px 8px; color: #718292; font-size: .6875rem; font-weight: 650; letter-spacing: .035em; }
.client-notifications-list { padding-bottom: 4px; }
.client-notification { position: relative; display: grid; grid-template-columns: 34px minmax(0, 1fr) 10px; align-items: start; gap: 12px; width: calc(100% - 16px); margin: 2px 8px; padding: 14px; border: 0; border-radius: 12px; background: #fff; color: var(--ink); font: inherit; text-align: left; cursor: pointer; overflow-wrap: anywhere; transition: background .15s ease; }
.client-notification:hover { background: #f4f7fa; }
.client-notification.is-unread { background: #f0f6fb; }
.client-notification.is-unread:hover { background: #e7f1f9; }
.client-notification__icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: #edf2f6; color: #698193; }
.client-notification.is-unread .client-notification__icon { background: #dcebf6; color: var(--blue); }
.client-notification__icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.client-notification__content { display: grid; min-width: 0; gap: 5px; }
.client-notification__meta { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; color: #718292; font-size: .6875rem; line-height: 1.4; }
.client-notification time { flex: 0 0 auto; font-variant-numeric: tabular-nums; }
.client-notification strong { font-size: .8125rem; font-weight: 550; line-height: 1.45; }
.client-notification.is-unread strong { font-weight: 700; }
.client-notification__body { color: #536979; font-size: .75rem; line-height: 1.55; white-space: pre-line; }
.client-notification__indicator { margin-top: 5px; width: 7px; height: 7px; border-radius: 50%; background: transparent; }
.client-notification.is-unread .client-notification__indicator { background: var(--blue); }
.client-notifications-dialog button:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
.client-notifications-more { display: block; width: calc(100% - 44px); margin: 12px 22px; padding: 12px; border: 0; border-radius: 10px; background: #f0f5f7; color: var(--blue); font: inherit; font-size: .8125rem; font-weight: 600; cursor: pointer; }
.client-notifications-more:disabled { opacity: .6; cursor: progress; }
@media (prefers-reduced-motion: reduce) { .client-notification { transition: none; } .client-notifications-status[data-state="loading"]::before { animation: none; } }
.client-push-dialog { width: min(420px, calc(100vw - 32px)); padding: 30px; border: 0; border-radius: 22px; color: var(--ink); box-shadow: 0 24px 80px #173f5d33; }
.client-push-dialog::backdrop { background: #102d4070; }
.client-push-dialog h2 { margin: 18px 0 10px; font-size: 1.3rem; line-height: 1.3; }
.client-push-dialog p { margin: 0 0 22px; color: var(--muted); font-size: .9rem; line-height: 1.6; }
.client-push-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.client-push-actions .button { font-size: .83rem; }
.client-push-actions [hidden], .client-push-dialog [hidden] { display: none; }
@media (max-width: 800px) {
 .client-notifications-dialog { inset: max(12px, env(safe-area-inset-top)) 12px auto; width: calc(100vw - 24px); max-height: calc(100dvh - max(12px, env(safe-area-inset-top)) - max(12px, env(safe-area-inset-bottom))); border-radius: 18px; }
 .client-push-dialog { padding: 24px; }
}

.client-dashboard__mobile-header { display: none; }
.client-dashboard__contact { display: none; }
.client-dashboard__header-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
}
.client-dashboard__header-account { display: none; }
.client-context-dialog__status[hidden] { display: none; }
.client-contact-dialog[hidden] { display: none; }
.client-dashboard--pending {
  visibility: hidden;
}
.client-dashboard__company-selector {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: min(100%, 720px);
  padding: 0;
  border: 0;
  color: #173f5d;
  background: transparent;
  font: inherit;
  font-size: 1rem;
  font-weight: 760;
  text-align: left;
  cursor: pointer;
}
.client-dashboard__company-selector-arrow {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 3px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  color: var(--blue);
  transform: rotate(-45deg);
}
.client-dashboard__company-selector:disabled { cursor: default; }
.client-dashboard__company-selector.is-single-account .client-dashboard__company-selector-arrow { display: none; }
.client-list-search--top {
  padding: 0 0 16px;
}
.client-list-toolbar { display: contents; }
.client-list-search--top .client-orders-search {
  margin: 0;
}
.client-order-filters {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: -4px 0 16px;
}
.client-order-filters button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 34px;
  padding: 0 15px;
  border: 1px solid #cfdee6;
  border-radius: 999px;
  color: #516b79;
  background: #fff;
  cursor: pointer;
  font: inherit;
  font-size: .76rem;
  font-weight: 720;
  transition: border-color .18s ease, color .18s ease, background .18s ease;
}
.client-order-filters button strong {
  display: inline-grid;
  min-width: 20px;
  height: 20px;
  padding-inline: 5px;
  place-items: center;
  border-radius: 999px;
  color: var(--blue);
  background: var(--status-progress-soft);
  font-size: .68rem;
  font-weight: 700;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.client-order-filters button:hover,
.client-order-filters button:focus-visible {
  border-color: #76a5c5;
  color: var(--blue);
  outline: 0;
}
.client-order-filters button.is-active {
  border-color: var(--blue);
  color: #fff;
  background: var(--blue);
}
.client-order-filters button.is-active strong {
  color: var(--blue);
  background: var(--blue-soft);
}
.client-tabs__support { display: none; }
.client-list-loader {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #627986;
  font-size: .78rem;
}
.client-list-loader[hidden] { display: none; }
.client-list-loader[data-state="idle"] {
  min-height: 1px;
  height: 1px;
  overflow: hidden;
}
.client-list-loader__spinner {
  display: none;
  width: 18px;
  height: 18px;
  box-sizing: border-box;
  border: 2px solid #d6e2e9;
  border-top-color: var(--blue);
  border-radius: 50%;
  animation: client-list-loader-spin .7s linear infinite;
}
.client-list-loader[data-state="loading"] .client-list-loader__spinner { display: block; }
.client-list-loader button {
  min-height: 32px;
  padding: 0 14px;
  border: 1px solid #b9cfdd;
  border-radius: 999px;
  color: var(--blue);
  background: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 760;
}
@keyframes client-list-loader-spin { to { transform: rotate(360deg); } }

/* Globalny limit API: dialog w najwyższej warstwie, również nad skanerem. */
body.api-rate-limit-open { overflow: hidden; }
.api-rate-limit { position: fixed; inset: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 24px; border: 0; color: var(--text-primary); background: rgba(237, 246, 251, .98); font: inherit; }
.api-rate-limit[open] { display: grid; place-items: center; }
.api-rate-limit::backdrop { background: rgba(20, 35, 63, .45); }
.api-rate-limit__content { width: min(100%, 460px); text-align: center; }
.api-rate-limit__content h2 { margin: 0 0 20px; font-size: clamp(1.5rem, 5vw, 2rem); line-height: 1.2; }
.api-rate-limit__content p { margin: 0 0 20px; color: var(--text-muted); }
.api-rate-limit__content .button { margin-top: 12px; }
.api-rate-limit__content .button:disabled { opacity: .55; cursor: wait; }

.client-orders-detail-placeholder { display: none; }
@media (min-width: 1121px) { .client-orders-detail-placeholder:not([hidden]) { display: block; } }

/* Zamów usługę: jeden renderer i kontrakt, układ projektowany od telefonu. */
.client-service-order { --thumbnail-size: 48px; --service-section-heading-size: 1.04rem; --service-section-heading-gap: 10px; --service-choice-height: 76px; font-family: var(--font-family); font-size: .84375rem; width: min(100%, 920px); margin: 0 auto; color: var(--text-primary); scroll-margin-top: 64px; }
.client-service-order__card { display: flex; flex-direction: column; border: 1px solid var(--line-default); border-radius: 12px; background: var(--surface-default); }
.client-service-order__step-content { min-width: 0; }
.client-service-order__progress-header { padding: 22px 22px 0; background: var(--surface-default); }
.client-service-order__header { padding: 0 22px var(--service-section-heading-gap); }
.client-service-order__header h2 { margin: 22px 0 0; color: var(--text-primary); font-size: var(--service-section-heading-size); font-weight: 400; line-height: 1.3; letter-spacing: -.017em; }
.client-service-order__header h2:focus { outline: none; }
.client-service-order__progress { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.client-service-order__progress::before, .client-service-order__progress::after { position: absolute; top: 16px; left: 16.6667%; height: 2px; content: ''; }
.client-service-order__progress::before { right: 16.6667%; background: repeating-linear-gradient(90deg, var(--line-strong) 0 4px, transparent 4px 8px); }
.client-service-order__progress::after { width: 0; background: var(--status-ready); }
.client-service-order__progress.is-step-2::after { width: 33.3333%; }
.client-service-order__progress.is-step-3::after { width: 66.6666%; }
.client-service-order__progress-step { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: 34px auto; justify-items: center; gap: 7px; min-width: 0; color: var(--status-neutral); text-align: center; }
.client-service-order__progress-marker { position: relative; z-index: 1; grid-row: 1; display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid #cbd6de; border-radius: 50%; color: var(--text-primary); background: var(--status-neutral-marker); box-shadow: 0 2px 7px rgba(20, 35, 63, .11); font-size: .84375rem; font-weight: 400; line-height: 1; }
.client-service-order__progress-label { grid-row: 2; color: currentColor; font-size: .84375rem; font-weight: 700; line-height: 1.25; }
.client-service-order__progress-caption { display: none; }
.client-service-order__progress-step.is-current { color: var(--status-progress); }
.client-service-order__progress-step.is-current .client-service-order__progress-marker { border-color: var(--status-progress); color: #fff; background: var(--status-progress); box-shadow: 0 3px 9px rgba(79, 136, 196, .17); }
.client-service-order__progress-step.is-completed { color: var(--status-ready); }
.client-service-order__progress-step.is-completed .client-service-order__progress-marker { border-color: #4daa67; color: #fff; background: var(--status-ready); box-shadow: 0 3px 9px rgba(77, 170, 103, .16); }
.client-service-order__body { min-width: 0; margin: 0; border: 0; padding: 0 22px 18px; }
.client-service-order__body h3 { margin: 24px 0 var(--service-section-heading-gap); font-size: var(--service-section-heading-size); font-weight: 400; line-height: 1.3; letter-spacing: -.017em; }
.client-service-choices { display: grid; gap: 10px; }
.client-service-choices--paired { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.client-service-choice { position: relative; display: flex; align-items: center; gap: 12px; width: 100%; min-width: 0; min-height: var(--service-choice-height); padding: 8px 36px 8px 14px; border: 1px solid var(--line-default); border-radius: 12px; color: var(--text-primary); background: var(--surface-default); cursor: pointer; font: inherit; text-align: left; }
.client-service-choice:hover:not(:disabled), .client-service-choice.is-selected { border-color: var(--blue); background: var(--status-progress-soft); }
.client-service-choice:focus-visible, .client-service-product:focus-visible, .client-service-link:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.client-service-choice:disabled { cursor: default; opacity: .58; }
.client-service-choice__copy { display: grid; min-width: 0; gap: 5px; }
.client-service-choice__copy strong { color: var(--text-primary); font-size: .84375rem; line-height: 1.3; font-weight: 700; }
.client-service-free-badge { display: inline-flex; align-items: center; margin-left: 7px; padding: 2px 6px; border-radius: 999px; color: #24634d; background: #dceee5; font-size: .65rem; font-weight: 500; line-height: 1.3; vertical-align: middle; white-space: nowrap; }
.client-service-choice__copy > span { color: var(--text-muted); font-size: .78rem; line-height: 1.4; }
.client-service-symbol { display: flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 30px; height: 30px; color: var(--blue); }
.client-service-symbol svg { display: block; width: 100%; height: 100%; }
.client-service-choice__marker { position: absolute; right: 12px; top: calc(50% - 9px); display: grid; width: 18px; height: 18px; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; color: transparent; font-size: .68rem; }
.client-service-choice.is-selected .client-service-choice__marker,
.client-service-product.is-selected .client-service-choice__marker { border-color: var(--blue); color: #fff; background: var(--blue); }
.client-service-choices--paired .client-service-choice__copy > span { font-size: .74rem; }
.client-service-note, .client-service-address, .client-service-terms { margin: 12px 0 0; color: var(--text-muted); font-size: .78rem; line-height: 1.5; }
.client-service-note { padding: 12px; border-radius: 10px; background: var(--status-progress-soft); }
.client-service-loading-note { margin: 0 0 12px; color: var(--text-muted); font-size: .78rem; line-height: 1.5; }
.client-service-terms { white-space: pre-line; }
.client-service-divider { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 10px; margin: 12px 0; color: var(--text-muted); font-size: .74rem; text-align: center; }
.client-service-divider::before, .client-service-divider::after { height: 1px; background: var(--line-default); content: ''; }
.client-service-order__field { display: grid; gap: 7px; margin: 0; }
.client-service-order__field > span { font-size: .78rem; }
.client-service-order__field input, .client-service-order__field textarea { min-width: 0; width: 100%; min-height: 48px; margin: 0; font-size: 1rem; font-weight: 400; scroll-margin-block: 80px 180px; }
.client-service-order__field textarea { min-height: 106px; resize: vertical; }
.client-service-order__field textarea[name="comment"]::placeholder { color: var(--text-muted); font-size: .78rem; font-weight: 400; opacity: 1; }
.client-service-vin-field { position: relative; min-width: 0; }
.client-service-vin-field input[name="vin"] { padding-right: 58px; }
.vin-scanner__camera { position: absolute; top: 2px; right: 2px; display: grid; width: 44px; height: 44px; place-items: center; padding: 0; border: 0; border-radius: 8px; color: var(--blue); background: transparent; cursor: pointer; }
.vin-scanner__camera:hover { background: var(--status-progress-soft); }
.vin-scanner__camera:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.vin-scanner__camera svg { width: 23px; height: 23px; }
.vin-scanner__feedback { margin: 8px 0 0; color: var(--status-ready); font-size: .78rem; font-weight: 600; text-align: left; }
.vin-scanner__feedback.is-error { color: var(--danger); }
.vin-scanner__feedback:empty { display: none; }
.vin-scanner__file { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.vin-scanner__panel { position: fixed; inset: 0; width: min(680px, calc(100% - 48px)); max-width: none; max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); margin: auto; padding: 0; overflow: hidden; border: 1px solid var(--line-default); border-radius: 16px; color: var(--text-primary); background: var(--surface-default); box-shadow: 0 24px 80px rgba(16, 25, 31, .25); }
.vin-scanner__panel[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; }
.vin-scanner__panel[hidden] { display: none; }
.vin-scanner__panel::backdrop { background: rgba(16, 25, 31, .65); }
html:has(.vin-scanner__panel[open]), body:has(> .vin-scanner__panel[open]) { overflow: hidden; overscroll-behavior: none; }
.vin-scanner__heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 20px; }
.vin-scanner__heading h2 { margin: 0; font-size: 1rem; font-weight: 700; }
.vin-scanner__close { position: relative; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 8px; background: transparent; color: var(--text-primary); cursor: pointer; }
.vin-scanner__close::before, .vin-scanner__close::after { position: absolute; top: 50%; left: 50%; width: 20px; height: 2px; background: currentColor; content: ''; }
.vin-scanner__close::before { transform: translate(-50%, -50%) rotate(45deg); }
.vin-scanner__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.vin-scanner__close:hover { background: var(--surface-subtle); }
.vin-scanner__close:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
.vin-scanner__viewport { position: relative; min-height: 0; margin-inline: 20px; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 10px; background: #14283b; }
.vin-scanner__viewport video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.vin-scanner__frame { position: absolute; top: 50%; left: 50%; width: 86%; aspect-ratio: 6 / 1; transform: translate(-50%, -50%); border: 2px solid #fff; border-radius: 6px; box-shadow: 0 0 0 999px rgba(0, 0, 0, .28), 0 0 0 1px rgba(0, 0, 0, .25); pointer-events: none; }
.vin-scanner__footer { padding: 16px 20px 20px; }
.vin-scanner__instruction { margin: 0 0 3px; color: var(--text-primary); font-size: .84375rem; font-weight: 600; }
.vin-scanner__status { min-height: 20px; margin: 0; color: var(--text-muted); font-size: .78rem; line-height: 1.4; }
@media (max-width: 800px), (hover: none) and (pointer: coarse) {
  .vin-scanner__panel { width: 100%; height: 100vh; height: 100dvh; max-height: none; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
  .vin-scanner__heading { padding: calc(8px + env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px)) 8px max(16px, env(safe-area-inset-left, 0px)); }
  .vin-scanner__viewport { margin: 0; aspect-ratio: auto; border-radius: 0; }
  .vin-scanner__footer { padding: 14px max(16px, env(safe-area-inset-right, 0px)) calc(16px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px)); }
}
.client-service-file { position: relative; display: flex; align-items: center; gap: 12px; width: 100%; min-height: 88px; padding: 16px 12px; border: 1px dashed var(--blue); border-radius: 12px; color: inherit; background: var(--surface-default); cursor: pointer; font: inherit; text-align: left; }
.client-service-file[hidden] { display: none; }
.client-service-file:focus-within { outline: 2px solid var(--blue); outline-offset: 3px; }
.client-service-file__copy { display: grid; flex: 1; min-width: 0; gap: 4px; }
.client-service-file__copy strong { color: var(--blue); font-size: .84375rem; }
.client-service-file__copy small { color: var(--text-muted); font-size: .74rem; }
.client-service-file__input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.client-service-upload__preview { display: grid; grid-template-columns: 70px minmax(0, 1fr) 22px auto; align-items: center; gap: 12px; padding: 12px; border: 1px solid #c3ddec; border-radius: 12px; background: var(--status-progress-soft); }
.client-service-upload__preview > img { width: 70px; height: 70px; border-radius: 8px; object-fit: cover; }
.client-service-upload__copy { min-width: 0; }
.client-service-upload__copy strong { display: block; font-size: .84375rem; }
.client-service-upload__copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text-muted); font-size: .74rem; }
.client-service-upload__copy .client-service-link[data-service-remove-file] { display: inline-flex; align-items: center; justify-content: flex-start; width: fit-content; min-height: 28px; padding: 4px 0 0; color: #9d4039; font-size: .74rem; font-weight: 500; }
.client-service-upload__preview > .client-service-link[data-service-replace-file] { min-height: 40px; padding: 7px 2px; color: var(--blue); font-size: .78rem; font-weight: 700; }
.client-service-upload__loading { display: grid; min-height: 88px; padding: 14px 12px; place-items: center; align-content: center; gap: 5px; border: 1px dashed var(--blue); border-radius: 12px; color: var(--text-muted); background: var(--status-progress-soft); text-align: center; }
.client-service-upload__loading strong { color: var(--blue); font-size: .84375rem; }
.client-service-upload__loading small { font-size: .74rem; }
.client-service-upload__spinner { width: 24px; height: 24px; margin-bottom: 2px; border: 3px solid #c3ddec; border-top-color: var(--blue); border-radius: 50%; animation: client-service-upload-spin .8s linear infinite; }
.client-service-upload__error { margin: 8px 0 0; color: #9d4039; font-size: .78rem; line-height: 1.4; }
@keyframes client-service-upload-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .client-service-upload__spinner { animation: none; } }
.client-service-link { min-height: 44px; padding: 8px 0; border: 0; background: transparent; color: var(--blue); cursor: pointer; font: inherit; font-size: .78rem; text-align: left; }
.client-service-link:disabled { opacity: .5; cursor: default; }
.client-service-products-frame { display: flex; flex-direction: column; min-height: 0; margin-top: 10px; overflow: hidden; border: 1px solid var(--line-default); border-radius: 12px; background: var(--surface-default); }
.client-service-products { display: grid; align-content: start; min-height: 0; }
.client-service-order.has-product-picker { height: 100%; }
.client-service-order.has-product-picker .client-service-order__card { height: 100%; min-height: 0; }
.client-service-order.has-product-picker .client-service-order__step-content,
.client-service-order.has-product-picker .client-service-order__body,
.client-service-order.has-product-picker .client-service-product-picker { display: flex; flex: 1 1 auto; min-height: 0; flex-direction: column; }
.client-service-order.has-product-picker .client-service-order__body { overflow: hidden; }
.client-service-order.has-product-picker .client-service-products-frame { flex: 1 1 auto; }
.client-service-order.has-product-picker .client-service-products { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
.client-service-order.has-product-picker .client-service-order__actions { flex: 0 0 auto; }
.client-service-product { position: relative; z-index: 1; display: flex; align-items: center; gap: 10px; width: 100%; min-height: calc(var(--thumbnail-size) + 16px); padding: 8px 36px 8px 12px; border: 0; border-radius: 0; color: var(--text-primary); background: transparent; font: inherit; font-size: .84375rem; text-align: left; cursor: pointer; transition: background-color .18s ease; }
.client-service-product + .client-service-product::before { position: absolute; top: 0; right: 12px; left: 12px; height: 1px; background: var(--line-default); content: ''; }
.client-service-product:hover, .client-service-product.is-selected { background: var(--status-progress-soft); }
.client-service-products .client-service-product:focus-visible { outline-offset: -3px; }
.client-service-product > span:not(.client-service-choice__marker) { flex: 1; }
.client-service-selection { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr) 22px auto; align-items: center; gap: 12px; min-height: var(--service-choice-height); padding: 8px 10px 8px 12px; border: 1px solid #c3ddec; border-radius: 12px; background: var(--status-progress-soft); box-shadow: none; }
.client-service-selection.has-image { grid-template-columns: auto minmax(0, 1fr) 22px auto; }
.client-service-selection.has-symbol { grid-template-columns: 38px minmax(0, 1fr) 22px auto; }
.client-service-selection--info { grid-template-columns: minmax(0, 1fr); }
.client-service-selection.has-symbol .client-service-symbol { width: 34px; height: 34px; }
.client-service-pickup-address-result { min-width: 0; }
.client-service-selection__copy { display: grid; min-width: 0; gap: 2px; }
.client-service-selection__copy strong { overflow: hidden; color: var(--text-primary); font-size: .84375rem; font-weight: 700; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.client-service-selection--info .client-service-selection__copy strong, .client-service-selection--address .client-service-selection__copy strong, .client-service-selection__copy strong.client-service-selection__handoff-title { overflow: visible; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; }
.client-service-selection--info .client-service-selection__copy strong.client-service-selection__address, .client-service-selection--address .client-service-selection__copy strong.client-service-selection__address { white-space: pre-line; }
.client-service-selection__copy small { color: var(--blue); font-size: .68rem; font-weight: 700; line-height: 1.2; }
.client-service-selection__marker { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; color: #fff; background: var(--blue); font-size: .68rem; font-weight: 700; }
.client-service-selection .client-service-link { min-height: 40px; padding: 7px 2px; font-weight: 700; }
.client-service-handoff-view, .client-service-handoff-followup, .client-service-loading-view, .client-service-loading-result, .client-service-loading-followup { min-width: 0; }
.client-service-handoff-followup--shipment { width: min(100%, 360px); }
.client-service-loading-heading { display: none; }
.client-service-start { min-width: 0; }
.client-service-expectation-view { min-width: 0; }
.client-service-additional-info { min-width: 0; }
.client-service-optional { margin-top: 24px; padding: 0 0 8px; }
.client-service-optional + .client-service-optional { margin-top: 10px; }
.client-service-optional > h3 { margin: 0 0 var(--service-section-heading-gap); }
.client-service-vin-decode { margin-top: 10px; padding: 12px 14px; border-radius: 10px; background: var(--surface-subtle); }
.client-service-vin-decode[hidden] { display: none; }
.client-service-vin-decode__status { margin: 0; color: var(--text-muted); font-size: .78rem; line-height: 1.4; }
.client-service-vin-decode__details { display: grid; gap: 6px; margin: 0; font-size: .78rem; }
.client-service-vin-decode__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 12px; }
.client-service-vin-decode__row dt { color: var(--text-muted); }
.client-service-vin-decode__row dd { margin: 0; color: var(--text-primary); font-weight: 600; }
.client-service-vin-decode .client-service-link { margin-top: 6px; }
.client-service-vin-summary { display: contents; }
.client-service-order__actions { position: relative; display: grid; gap: 8px; padding: 12px 22px 18px; background: var(--surface-default); border-radius: 0 0 12px 12px; }
.client-service-order__navigation { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.client-service-order__navigation.has-back { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.client-service-order__actions .button { width: 100%; min-width: 0; min-height: 48px; font-size: .84375rem; }
.client-service-order__actions .button--primary { border-color: var(--blue); color: #fff; background: var(--blue); box-shadow: none; font-weight: 700; }
.client-service-order__actions .button--primary:hover:not(:disabled) { border-color: var(--blue); color: #fff; background: var(--blue); }
.client-service-order__actions .button--secondary { border-color: var(--line-strong); color: var(--navy); background: var(--surface-default); box-shadow: none; }
.client-service-order__actions .button--secondary:hover { border-color: var(--blue); color: var(--blue); background: var(--status-progress-soft); }
.client-service-order__actions .button:disabled { border-color: var(--line-default); color: var(--text-muted); background: var(--line-default); cursor: default; box-shadow: none; }
.client-service-hint { margin: 0; color: var(--text-muted); font-size: .74rem; text-align: center; }
.client-service-draft-notice { margin: 0 22px 14px; color: var(--text-muted); font-size: .74rem; line-height: 1.4; }
.client-service-order__error { margin: 0 22px 14px; padding: 12px; border-radius: 8px; color: #9d4039; background: var(--status-action-soft); font-size: .78rem; }
.client-service-order__error p { margin: 0; }
.client-service-review { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.client-service-review__section { min-width: 0; overflow: hidden; border: 1px solid var(--line-default); border-radius: 12px; background: var(--surface-default); }
.client-service-review__heading { display: flex; min-height: 54px; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 14px; background: var(--status-progress-soft); }
.client-service-review__heading h3 { margin: 0; font-size: .84375rem; font-weight: 400; }
.client-service-review__heading .client-service-link { flex: 0 0 auto; min-height: 40px; padding: 7px 0 7px 8px; font-weight: 700; }
.client-service-summary { display: grid; margin: 0; padding: 2px 14px; }
.client-service-summary__row { display: grid; grid-template-columns: 132px minmax(0, 1fr); align-items: start; gap: 12px; min-width: 0; padding: 10px 0; }
.client-service-summary__row + .client-service-summary__row,
.client-service-summary__row + .client-service-vin-summary > .client-service-summary__row:first-child { border-top: 1px solid var(--line-default); }
.client-service-summary dt { color: var(--text-muted); font-size: .74rem; line-height: 1.3; }
.client-service-summary dd { margin: 0; color: var(--text-primary); font-size: .84375rem; font-weight: 400; line-height: 1.4; white-space: pre-line; overflow-wrap: anywhere; }
.client-service-review__terms { margin-top: 16px; padding: 14px 16px; border: 1px solid var(--line-default); border-radius: 12px; background: var(--status-neutral-soft); }
.client-service-review__terms h3 { margin: 0; font-size: var(--service-section-heading-size); font-weight: 400; line-height: 1.35; }
.client-service-review__terms .client-service-terms { margin-top: var(--service-section-heading-gap); }
.client-service-success { display: grid; width: min(100%, 560px); align-content: start; justify-items: center; margin: auto; padding: 48px 22px; text-align: center; }
.client-service-success__icon { display: grid; width: 56px; height: 56px; place-items: center; border-radius: 50%; color: #fff; background: var(--status-ready); font-size: 1.04rem; font-weight: 700; }
.client-service-success h2 { margin: 20px 0 0; color: var(--text-primary); font-size: 1.04rem; font-weight: 400; line-height: 1.25; }
.client-service-success__description { max-width: 440px; margin: 10px 0 0; color: var(--text-muted); font-size: .84375rem; line-height: 1.5; }
.client-service-success__receipt { display: grid; width: 100%; gap: 5px; margin-top: 26px; padding: 18px 20px; border: 1px solid #c3ddec; border-radius: 12px; background: var(--status-progress-soft); text-align: left; }
.client-service-success__receipt span { color: var(--text-muted); font-size: .74rem; line-height: 1.3; }
.client-service-success__receipt strong { color: var(--text-primary); font-size: 1.04rem; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.client-service-success__next-step { width: 100%; margin: 16px 0 0; color: var(--text-muted); font-size: .84375rem; line-height: 1.5; text-align: left; white-space: pre-line; }
.client-service-success__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 10px; margin-top: 28px; }
.client-service-success__actions .button { min-width: 0; min-height: 48px; font-size: .84375rem; }
.client-service-success__actions .button--primary { border-color: var(--blue); color: #fff; background: var(--blue); box-shadow: none; }
.client-service-success__actions .button--primary:hover { border-color: var(--navy); background: var(--navy); }
@media (min-width: 801px) {
  .client-dashboard__shell > .client-service-order-panel { padding: 16px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .client-service-order { --service-form-padding: 24px; width: min(100%, 1100px); }
  .client-service-order__card { display: grid; grid-template-columns: minmax(0, 1fr) 244px; grid-template-rows: minmax(0, 1fr) auto auto auto; align-items: start; overflow: hidden; border: 1px solid var(--line-default); border-radius: 12px; background: var(--surface-default); box-shadow: 0 10px 28px rgba(16, 45, 64, .04); }
  .client-service-order__step-content { grid-column: 1; grid-row: 1; align-self: stretch; padding: var(--service-form-padding) var(--service-form-padding) 0; }
  .client-service-order__progress-header { display: flex; flex-direction: column; gap: 24px; grid-column: 2; grid-row: 1 / -1; align-self: stretch; padding: var(--service-form-padding); background: var(--status-progress-soft); }
  .client-service-order__transport-illustration { display: block; flex: 0 1 auto; min-height: 0; width: calc(100% + 2 * var(--service-form-padding)); max-width: none; max-height: 340px; margin: auto calc(-1 * var(--service-form-padding)) calc(-1 * var(--service-form-padding)); object-fit: contain; object-position: center bottom; opacity: .7; pointer-events: none; }
  .client-service-order__progress { flex: 0 0 auto; width: 100%; grid-template-columns: minmax(0, 1fr); }
  .client-service-order__progress::before, .client-service-order__progress::after { content: none; }
  .client-service-order__progress-step { grid-template-columns: 34px minmax(0, 1fr); grid-template-rows: 18px 16px; justify-items: stretch; column-gap: 12px; row-gap: 4px; padding-bottom: 38px; text-align: left; }
  .client-service-order__progress-step:last-child { padding-bottom: 0; }
  .client-service-order__progress-step:not(:last-child)::after { position: absolute; left: 16px; top: 34px; bottom: -17px; width: 2px; background: repeating-linear-gradient(180deg, var(--line-strong) 0 4px, transparent 4px 8px); content: ''; }
  .client-service-order__progress-step.is-completed::after { background: var(--status-ready); }
  .client-service-order__progress-marker { grid-column: 1; grid-row: 1 / 3; }
  .client-service-order__progress-label { grid-column: 2; grid-row: 1; align-self: center; color: var(--text-primary); font-size: .84375rem; }
  .client-service-order__progress-caption { display: block; grid-column: 2; grid-row: 2; color: var(--text-muted); font-size: .74rem; line-height: 16px; }
  .client-service-success { grid-column: 1 / -1; grid-row: 1 / -1; border-radius: 12px; background: var(--surface-default); }
  .client-service-order__header { padding: 0 0 var(--service-section-heading-gap); }
  .client-service-order__header h2 { margin: 0; }
  .client-service-order__body { padding: 0; }
  .client-service-choices--paired { gap: 16px; }
  .client-service-choices--paired .client-service-choice { flex-direction: row; align-items: center; gap: 16px; padding: 8px 42px 8px 20px; }
  .client-service-choices--paired .client-service-choice__marker { top: calc(50% - 9px); right: 18px; }
  .client-service-choices--paired .client-service-symbol { width: 42px; height: 42px; }
  .client-service-choices--paired .client-service-choice__copy > span { font-size: .78rem; }
  .client-service-selection { padding: 12px 16px; }
  .client-service-handoff-followup { margin-top: var(--service-form-padding); }
  .client-service-handoff-followup > h3 { margin: 0 0 var(--service-section-heading-gap); }
  .client-service-loading-note { margin: 0 0 14px; }
  .client-service-handoff-followup.has-selected-loading > h3 { display: none; }
  .client-service-order__body .client-service-loading-heading { display: block; margin: 0 0 var(--service-section-heading-gap); }
  .client-service-loading-result { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 20px; }
  .client-service-loading-result.has-address:not(.has-address-choices) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .client-service-loading-followup > h3 { margin: 0 0 var(--service-section-heading-gap); }
  .client-service-loading-result.has-address-choices .client-service-address-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .client-service-start { margin-top: var(--service-form-padding); }
  .client-service-start > h3 { margin: 0 0 var(--service-section-heading-gap); }
  .client-service-expectation-view > .client-service-choices { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 16px; }
  .client-service-expectation-view .client-service-choice { padding: 8px 38px 8px 18px; }
  .client-service-expectation-view .client-service-choice__marker { right: 16px; }
  .client-service-additional-info { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 16px; margin-top: var(--service-form-padding); }
  .client-service-optional, .client-service-optional + .client-service-optional { min-width: 0; margin: 0; padding: 0 0 8px; }
  .client-service-optional .client-service-order__field { max-width: 360px; }
  .client-service-optional .client-service-vin-field,
  .client-service-optional .client-service-vin-decode { width: min(100%, 360px); }
  .client-service-optional .client-service-order__field textarea { min-height: 156px; }
  .client-service-order__actions { grid-column: 1; grid-row: 4; padding: var(--service-form-padding); border-radius: 0; background: transparent; }
  .client-service-order__card > .client-service-draft-notice, .client-service-order__card > .client-service-order__error { margin-inline: var(--service-form-padding); }
  .client-service-order__card > .client-service-order__error { grid-column: 1; grid-row: 2; }
  .client-service-order__card > .client-service-draft-notice { grid-column: 1; grid-row: 3; }
  .client-service-order__navigation { width: 100%; grid-template-columns: minmax(0, 208px); justify-content: end; }
  .client-service-order__navigation.has-back { grid-template-columns: repeat(2, minmax(0, 208px)); justify-content: space-between; gap: 16px; }
  .client-service-review { gap: 16px; }
  .client-service-review__heading { padding-inline: 18px; }
  .client-service-summary { padding-inline: 18px; }
  .client-service-review__terms { margin-top: 20px; padding: 18px; }
}
@media (max-width: 800px) {
  .client-service-choices--paired { grid-template-columns: minmax(0, 1fr); }
  .client-service-order-panel { padding: 0; }
  .client-service-order.has-product-picker { height: calc(100svh - 50px - var(--client-mobile-navigation-height) - 14px - env(safe-area-inset-bottom)); }
  .client-service-order__card { min-height: calc(100svh - 50px - var(--client-mobile-navigation-height) - 14px - env(safe-area-inset-bottom)); border: 0; border-radius: 0; }
  .client-service-order { scroll-margin-top: 50px; }
  .client-service-order__progress-header { position: sticky; top: 50px; z-index: 36; padding: 10px 0 8px; }
  .client-service-order__progress { margin-inline: 14px; }
  .client-service-order__progress::before, .client-service-order__progress::after { left: 38px; }
  .client-service-order__progress::before { right: 38px; }
  .client-service-order__progress.is-step-2::after { width: calc(50% - 38px); }
  .client-service-order__progress.is-step-3::after { width: calc(100% - 76px); }
  .client-service-order__progress-step:first-child .client-service-order__progress-marker { justify-self: start; margin-left: 21px; }
  .client-service-order__progress-step:last-child .client-service-order__progress-marker { justify-self: end; margin-right: 21px; }
  .client-service-order__progress-step:first-child .client-service-order__progress-label { justify-self: stretch; text-align: left; }
  .client-service-order__progress-step:last-child .client-service-order__progress-label { justify-self: stretch; text-align: right; }
  .client-service-order__header { padding: 0 16px var(--service-section-heading-gap); }
  .client-service-order__body { padding: 0 16px 18px; }
  .client-service-order__actions { position: static; padding: 10px 16px 20px; border-radius: 0; box-shadow: none; }
  .client-service-draft-notice, .client-service-order__error { margin-inline: 16px; }
  .client-service-review { grid-template-columns: minmax(0, 1fr); }
  .client-service-success { padding: 32px 20px; }
  .client-service-success__actions { grid-template-columns: minmax(0, 1fr); }
}

.client-order-visual {
  position: relative;
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  justify-self: center;
}
.client-order-visual > .client-status,
.client-order-visual > .client-order-history-state {
  margin: 0;
  justify-self: center;
}
.client-order-visual__picture {
  display: block;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 9px;
  object-fit: cover;
  background: #eef3f5;
}
.client-order-visual.has-picture > .client-status,
.client-order-visual.has-picture > .client-order-history-state {
  position: absolute;
  right: -5px;
  bottom: -5px;
  width: 22px;
  height: 22px;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.client-order-visual.has-picture .client-status__icon,
.client-order-visual.has-picture .client-order-history-state__icon,
.client-order-visual.has-picture .client-order-history-state__icon .client-status__icon {
  width: 18px;
  height: 18px;
}
.client-account__overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  margin: 0;
}
.client-account__context {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-height: 0;
  gap: 6px;
  padding: 12px 14px;
  border: 1px solid var(--line-default);
  border-radius: 10px;
  background: var(--surface-default);
}
.client-account__context-label {
  display: block;
  color: var(--text-muted);
  font-size: .68rem;
  font-weight: 600;
}
.client-account__context .client-dashboard__company-selector {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  max-width: 100%;
  min-width: 0;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--line-default);
  border-radius: 12px;
  color: var(--text-primary);
  font-size: .92rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: left;
}
.client-account__company-icon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 9px;
  color: var(--blue);
  background: var(--surface-default);
}
.client-account__company-icon svg, .client-dashboard__header-context-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.client-account__company-copy {
  display: grid;
  min-width: 0;
  gap: 3px;
}
.client-account__company-copy > span:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.client-account__company-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 0;
  color: var(--text-muted);
  font-size: .7rem;
  font-weight: 400;
  line-height: 1.3;
}
.client-account__company-meta > span { overflow-wrap: anywhere; }
.client-account__company-meta > span:not(:empty) ~ span:not(:empty)::before { content: ',\00a0'; }
.client-account__logout {
  display: flex;
  justify-content: flex-end;
  margin: 0;
  padding: 0;
}
.client-account__logout .button {
  width: auto;
  min-height: 34px;
  padding: 7px 10px;
  justify-content: center;
  gap: 6px;
  border-color: #edccc8;
  color: #a23d37;
  background: #fffafa;
  box-shadow: none;
  font-size: .72rem;
}
.client-account__logout .button svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.client-account__logout .button:hover,
.client-account__logout .button:focus-visible {
  border-color: #a23d37;
  color: #fff;
  background: #a23d37;
  box-shadow: none;
}
/* Order settlement summary and history */
.client-order-detail__settlement { --settlement-action-soft: var(--status-action-soft); }
.client-order-settlement-content { display: flex; width: min(100%, 760px); margin: 0 auto; flex-direction: column; gap: 12px; }
.client-order-settlement-summary { overflow: hidden; color: var(--text-primary); border: 1px solid var(--line-default); border-radius: 14px; background: var(--surface-default); }
.client-order-settlement-summary__header { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; min-height: 88px; padding: 14px 18px; align-items: center; gap: 13px; border-bottom: 1px solid var(--line-default); background: var(--status-neutral-soft); }
.client-order-settlement-summary.is-unsettled .client-order-settlement-summary__header { background: var(--settlement-action-soft); }
.client-order-settlement-summary.is-settled .client-order-settlement-summary__header { background: var(--status-ready-soft); }
.client-order-settlement-summary__icon { display: grid; width: 48px; height: 48px; place-items: center; color: var(--status-neutral); border-radius: 50%; background: var(--surface-default); }
.client-order-settlement-summary__icon::before { width: 27px; height: 27px; background: currentColor; content: ""; -webkit-mask: url('/assets/media/wallet.png') center / contain no-repeat; mask: url('/assets/media/wallet.png') center / contain no-repeat; }
.client-order-settlement-summary.is-unsettled .client-order-settlement-summary__icon { color: var(--status-action); }
.client-order-settlement-summary.is-settled .client-order-settlement-summary__icon { color: var(--status-ready); }
.client-order-settlement-summary__title { display: grid; gap: 3px; }
.client-order-settlement-summary__title h2 { margin: 0; font-size: 1rem; font-weight: 700; line-height: 1.25; }
.client-order-settlement-summary__title small { color: var(--text-muted); font-size: .75rem; }
.client-order-settlement-summary__state { display: grid; justify-items: end; gap: 2px; text-align: right; }
.client-order-settlement-summary__state small { color: var(--text-muted); font-size: .75rem; }
.client-order-settlement-summary__state > strong { color: var(--status-action); font-size: 1.0625rem; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.client-order-settlement-summary__state > strong.client-order-settlement-summary__badge { display: inline-flex; min-height: 34px; padding: 6px 12px; align-items: center; justify-content: center; color: var(--status-ready); border: 1px solid #cfe7d8; border-radius: 8px; background: var(--status-ready-soft); font-size: .75rem; font-weight: 500; line-height: 1.25; }
.client-order-settlement-summary__body { display: grid; padding: 8px 18px 13px; }
.client-order-settlement-summary__row { display: flex; min-height: 44px; padding: 10px 0; align-items: center; justify-content: space-between; gap: 16px; color: var(--text-primary); border-bottom: 1px solid var(--line-default); font-size: .84375rem; }
.client-order-settlement-summary__row strong { font-size: .9375rem; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.client-order-settlement-summary__row.is-payment strong { color: var(--status-ready); }
.client-order-settlement-summary.is-settled .client-order-settlement-summary__row.is-payment { border-bottom: 0; }
.client-order-settlement-summary__row.is-due { border-bottom: 0; }
.client-order-settlement-summary__row.is-due strong { color: var(--status-action); }
.client-order-settlement-summary__pay { display: flex; min-height: 42px; margin-top: 5px; align-items: center; justify-content: center; color: var(--status-action); border: 1px solid var(--status-action-border); border-radius: 9px; background: var(--settlement-action-soft); font-size: .84375rem; font-weight: 600; text-decoration: none; }
.client-order-settlement-summary__pay:hover, .client-order-settlement-summary__pay:focus-visible { color: var(--status-action); background: var(--surface-default); outline: 0; }
.client-order-settlement-deadline { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; min-height: 58px; padding: 10px 11px; align-items: center; column-gap: 9px; color: var(--status-action); border: 0; border-left: 3px solid var(--status-action); border-radius: 0; background: transparent; font-size: .84375rem; }
.client-order-settlement-deadline img { grid-row: span 2; width: 26px; height: 26px; object-fit: contain; }
.client-order-settlement-deadline span { font-weight: 700; }
.client-order-settlement-deadline strong { justify-self: end; font-weight: 700; white-space: nowrap; }
.client-order-settlement-deadline small { grid-column: 2 / -1; color: var(--status-action); font-size: .75rem; }
.client-order-settlement-history { overflow: hidden; color: var(--text-primary); border: 1px solid var(--line-default); border-radius: 12px; background: var(--surface-default); }
.client-order-settlement-history > h2 { margin: 0; padding: 13px 16px 10px; border-bottom: 1px solid var(--line-default); background: var(--status-ready-soft); font-size: .9375rem; font-weight: 700; }
.client-order-settlement-history__row { position: relative; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; min-height: 66px; padding: 10px 16px; align-items: center; gap: 11px; }
.client-order-settlement-history__row + .client-order-settlement-history__row::before { position: absolute; top: 0; right: 16px; left: 16px; height: 1px; background: var(--line-default); content: ''; }
.client-order-settlement-history__row[data-finance-document] { padding-right: 36px; cursor: pointer; }
.client-order-settlement-history__row[data-finance-document]::after { position: absolute; right: 16px; width: 8px; height: 8px; border-top: 2px solid var(--blue); border-right: 2px solid var(--blue); content: ""; transform: rotate(45deg); }
.client-order-settlement-history__row[data-finance-document]:hover { background: var(--surface-subtle); }
.client-order-settlement-history__row[data-finance-document]:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
.client-order-settlement-history__icon { position: relative; display: grid; width: 34px; height: 34px; place-items: center; overflow: hidden; border-radius: 50%; background: var(--status-progress-soft); }
.client-order-settlement-history__icon img { display: block; width: 28px; height: 28px; object-fit: contain; }
.client-order-settlement-history__row.is-payment .client-order-settlement-history__icon { background: var(--status-ready-soft); }
.client-order-settlement-history__row.is-payment .client-order-settlement-history__icon::before { width: 21px; height: 13px; border: 1.5px solid var(--status-ready); border-radius: 2px; content: ""; }
.client-order-settlement-history__row.is-payment .client-order-settlement-history__icon::after { position: absolute; width: 5px; height: 5px; border: 1.5px solid var(--status-ready); border-radius: 50%; content: ""; }
.client-order-settlement-history__copy { display: grid; min-width: 0; gap: 2px; }
.client-order-settlement-history__copy strong { overflow: hidden; font-size: .84375rem; font-weight: 700; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.client-order-settlement-history__copy time { color: var(--text-muted); font-size: .75rem; }
.client-order-settlement-history__value { font-size: .84375rem; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.client-order-settlement-history__row.is-payment .client-order-settlement-history__value { color: var(--status-ready); }


/*
 * Customer panel application layout: one coherent rhythm for navigation,
 * lists and detail on phones as well as in desktop browsers.
 */
@media screen {
  /* Pełne menu strony jest dostępne również przed zalogowaniem na telefonie. */
  body.page-customer-portal:not(:has(.client-entry-section:not([hidden]))) > .site-header { display: none; }

  .page-customer-portal .site-header .nav-row {
    display: flex;
    align-items: center;
    min-height: 58px;
    gap: 0;
  }
  .page-customer-portal .site-header .brand { width: 124px; }
  .page-customer-portal .site-header .mobile-portal-context {
    display: inline-flex;
    align-items: center;
    flex: 0 1 auto;
    min-width: 0;
    margin-left: 10px;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .02em;
    line-height: 1;
    white-space: nowrap;
  }
  .page-customer-portal .site-header .mobile-portal-context--current { color: var(--blue); }
  .page-customer-portal .site-header .mobile-portal-context--link {
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid #a9c5d9;
    border-radius: 999px;
    color: var(--blue);
    background: #fff;
    box-shadow: 0 3px 10px rgba(16, 45, 64, .08);
    text-decoration: none;
    transition: border-color .2s ease, color .2s ease, background .2s ease, box-shadow .2s ease;
  }
  .page-customer-portal .site-header .mobile-portal-context--link:hover,
  .page-customer-portal .site-header .mobile-portal-context--link:focus-visible {
    border-color: var(--blue);
    color: #fff;
    background: var(--blue);
    box-shadow: 0 5px 14px rgba(16, 45, 64, .16);
  }
  .page-customer-portal .site-header .menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    font-size: 0;
  }
  .page-customer-portal .site-header .menu-toggle__icon { font-size: 1.1rem; }

  .client-dashboard {
    --client-mobile-navigation-height: 68px;
    padding-bottom: calc(var(--client-mobile-navigation-height) + 14px + env(safe-area-inset-bottom));
    overflow-x: clip;
    font-size: 1.08rem;
  }

  .client-dashboard__mobile-header {
    position: sticky;
    top: 0;
    z-index: 38;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 50px;
    padding: 5px 12px;
    border-bottom: 1px solid #d7e2e8;
    background: #fff;
  }
  .client-dashboard[data-client-active-tab="new-order"] .client-dashboard__mobile-header { border-bottom: 0; }
  .client-dashboard__mobile-header a {
    display: inline-flex;
    align-items: center;
  }
  .client-dashboard__mobile-header [hidden] { display: none; }
  .client-dashboard__mobile-header img {
    display: block;
    width: 110px;
    height: auto;
  }
  .client-dashboard__mobile-header .client-dashboard__mobile-title {
    color: var(--navy);
    font-size: 1.12rem;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.2;
  }

  .client-dashboard__contact {
    display: grid;
    width: 36px;
    height: 36px;
    margin-left: auto;
    padding: 0;
    place-items: center;
    border: 0;
    color: var(--blue);
    background: transparent;
    cursor: pointer;
  }
  .client-dashboard__contact:focus { outline: 0; }
  .client-dashboard__contact:focus-visible { outline: 2px solid rgba(31, 97, 146, .45); outline-offset: 2px; border-radius: 8px; }
  .client-dashboard__contact svg {
    width: 28px;
    height: 28px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transform: translateY(-1px);
  }

  .client-contact-dialog:not([hidden]) {
    position: fixed;
    z-index: 60;
    inset: 0;
    display: grid;
    align-items: center;
    justify-items: center;
  }
  .client-contact-dialog__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(22, 43, 59, .30);
  }
  .client-contact-dialog__sheet {
    position: relative;
    display: grid;
    gap: 12px;
    width: min(calc(100% - 32px), 460px);
    max-height: calc(100dvh - 32px);
    overflow-y: auto;
    padding: clamp(20px, 4vw, 28px);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 20px 60px rgba(15, 38, 54, .16);
  }
  .client-contact-dialog__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 0 2px;
  }
  .client-contact-dialog__heading h2 {
    margin: 0;
    color: var(--navy);
    font-size: 1.25rem;
    font-weight: 650;
    line-height: 1.2;
  }
  .client-contact-dialog__close {
    position: relative;
    display: grid;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    padding: 0;
    place-items: center;
    border: 0;
    border-radius: 50%;
    color: #667984;
    background: #f2f6f8;
    cursor: pointer;
  }
  .client-contact-dialog__close::before,
  .client-contact-dialog__close::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 13px;
    height: 1.5px;
    border-radius: 999px;
    background: currentColor;
    content: '';
  }
  .client-contact-dialog__close::before { transform: translate(-50%, -50%) rotate(45deg); }
  .client-contact-dialog__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
  .client-contact-dialog__option {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) 20px;
    align-items: center;
    gap: 14px;
    width: 100%;
    min-height: 80px;
    padding: 16px;
    border: 1px solid #e1e9ed;
    border-radius: 12px;
    color: var(--navy);
    background: #fff;
    cursor: pointer;
    text-align: left;
  }
  .client-contact-dialog__option:disabled {
    opacity: 1;
    cursor: not-allowed;
    color: #71808a;
    border-color: #e4eaed;
    background: #f7f9fa;
  }
  .client-contact-dialog__option:disabled .client-contact-dialog__icon { color: #84929a; background: #edf1f3; }
  .client-contact-dialog__option:disabled .client-contact-dialog__arrow { visibility: hidden; }
  .client-contact-dialog__option > span:nth-child(2) { min-width: 0; }
  .client-contact-dialog__option strong,
  .client-contact-dialog__option small { display: block; }
  .client-contact-dialog__option strong {
    margin-bottom: 3px;
    font-size: .9375rem;
    font-weight: 650;
    line-height: 1.2;
  }
  .client-contact-dialog__option small {
    color: #74848c;
    font-size: .77rem;
    line-height: 1.3;
  }
  .client-contact-dialog__icon {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 10px;
  }
  .client-contact-dialog__icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.1;
  }
  .client-contact-dialog__option--call .client-contact-dialog__icon {
    color: #1c9462;
    background: #eaf8f0;
  }
  .client-contact-dialog__option--request .client-contact-dialog__icon {
    color: #1e67a0;
    background: #edf5fc;
  }
  .client-photo-dialog__option--camera .client-contact-dialog__icon {
    color: #1e67a0;
    background: #edf5fc;
  }
  .client-photo-dialog__option--gallery .client-contact-dialog__icon {
    color: #1c9462;
    background: #eaf8f0;
  }
  .client-contact-dialog__arrow {
    color: #82929b;
    font-size: 2rem;
    font-weight: 300;
    line-height: 1;
  }
  .client-context-dialog__list {
    display: grid;
    gap: 8px;
    max-height: min(420px, calc(100dvh - 180px));
    overflow-y: auto;
  }
  .client-context-dialog__description { margin: -12px 0 8px; color: #5a7182; font-size: .9375rem; line-height: 1.5; }

  .client-dashboard .container,
  .client-public-order__container:not(.status-order-container) {
    width: 100%;
    max-width: none;
    margin-inline: 0;
  }

  .client-dashboard__statistics { display: none; }

  .client-tabs {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 40;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: stretch;
    gap: 0;
    min-height: var(--client-mobile-navigation-height);
    padding: 0;
    padding-bottom: env(safe-area-inset-bottom);
    border-top: 1px solid #d5e1e7;
    background: #fff;
    box-shadow: 0 -8px 24px rgba(16, 45, 64, .1);
    backdrop-filter: blur(12px);
  }
  .client-tabs__links {
    display: contents;
  }

  .client-tabs__links button {
    display: flex;
    grid-row: 1;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    min-width: 0;
    min-height: 68px;
    padding: 8px 4px 7px;
    border: 0;
    border-top: 0;
    border-radius: 0;
    color: #63717a;
    background: transparent;
    font-size: .75rem;
    font-weight: 500;
    line-height: 1.15;
    white-space: nowrap;
  }

  .client-tabs__links button[data-client-tab="orders"] { grid-column: 1; }
  .client-tabs__links button[data-client-tab="documents"] { grid-column: 4; }
  .client-tabs__links button[data-client-tab="company"] { grid-column: 5; }

  .client-tabs__icon {
    display: block;
    flex: 0 0 auto;
    width: 29px;
    height: 29px;
    margin: 0 auto 4px;
    color: currentColor;
    background-color: currentColor;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
  }

  .client-tabs__icon--orders {
    -webkit-mask-image: url('/assets/polok_svg_icons/zlecenia.svg');
    mask-image: url('/assets/polok_svg_icons/zlecenia.svg');
  }
  .client-tabs__icon--finance {
    -webkit-mask-image: url('/assets/polok_svg_icons/finanse.svg');
    mask-image: url('/assets/polok_svg_icons/finanse.svg');
  }
  .client-tabs__icon--company {
    -webkit-mask-image: url('/assets/polok_svg_icons/dane-firmy.svg');
    mask-image: url('/assets/polok_svg_icons/dane-firmy.svg');
  }
  .client-tabs__icon--contact {
    -webkit-mask-image: url('/assets/polok_svg_icons/wiadomosci-kontakt.svg');
    mask-image: url('/assets/polok_svg_icons/wiadomosci-kontakt.svg');
  }
  .client-tabs__icon--new-order {
    width: 29px;
    height: 29px;
    margin: 0 auto 4px;
    -webkit-mask-image: url('/assets/polok_svg_icons/dodaj-zlecenie.svg');
    mask-image: url('/assets/polok_svg_icons/dodaj-zlecenie.svg');
  }
  .client-tabs__icon--new-order::before,
  .client-tabs__icon--new-order::after {
    display: none;
  }

  .client-tabs__links button .client-tabs__label,
  .client-tabs__contact .client-tabs__label,
  .client-tabs__new-order .client-tabs__label {
    display: block;
    max-width: 100%;
  }
  .client-tabs__new-order .client-tabs__label {
    font-size: inherit;
    line-height: inherit;
    white-space: normal;
  }
  .client-tabs__new-order-break { display: block; }

  .client-tabs__links button:hover {
    border-color: transparent;
    color: var(--blue);
    background: transparent;
  }

  .client-tabs__links button[aria-selected="true"],
  .client-tabs__contact[aria-selected="true"],
  .client-tabs__new-order[aria-selected="true"] {
    border-color: transparent;
    color: var(--blue);
    background: transparent;
    box-shadow: none;
    font-weight: 700;
  }
  .client-tabs__links button[aria-selected="true"] .client-tabs__icon,
  .client-tabs__contact[aria-selected="true"] .client-tabs__icon,
  .client-tabs__new-order[aria-selected="true"] .client-tabs__icon {
    color: var(--blue);
    background-color: currentColor;
    filter: drop-shadow(0 2px 3px rgba(23, 76, 119, .2));
    transform: scale(1.12);
  }
  .client-tabs__links button[aria-selected="true"] .client-tabs__label,
  .client-tabs__contact[aria-selected="true"] .client-tabs__label,
  .client-tabs__new-order[aria-selected="true"] .client-tabs__label {
    font-weight: 700;
  }

  .client-tabs__contact {
    display: flex;
    grid-column: 2;
    grid-row: 1;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    min-width: 0;
    min-height: 68px;
    padding: 8px 4px 7px;
    border: 0;
    border-radius: 0;
    color: #63717a;
    background: transparent;
    box-shadow: none;
    font-size: .75rem;
    font-weight: 500;
    line-height: 1.15;
    text-decoration: none;
    white-space: nowrap;
  }

  .client-tabs__contact:hover,
  .client-tabs__contact:focus-visible {
    color: var(--blue);
    background: transparent;
  }
  .client-tabs__contact.is-disabled,
  .client-tabs__contact.is-disabled:hover {
    color: #8b989f;
    background: transparent;
    cursor: not-allowed;
  }
  .client-tabs__contact.is-disabled .client-tabs__icon {
    background-color: currentColor;
  }

  .client-tabs__utilities {
    display: contents;
  }

  .client-tabs__new-order {
    display: flex;
    grid-column: 3;
    grid-row: 1;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    min-width: 0;
    min-height: 68px;
    margin: 0;
    padding: 8px 4px 7px;
    border: 0;
    border-radius: 0;
    color: var(--text-primary);
    background: transparent;
    box-shadow: none;
    font-size: .75rem;
    font-weight: 500;
    line-height: 1.15;
    white-space: nowrap;
  }

  .client-tabs__new-order:hover,
  .client-tabs__new-order:focus-visible {
    border: 0;
    color: var(--blue);
    background: transparent;
    box-shadow: none;
  }
  .client-tabs__new-order:disabled,
  .client-tabs__new-order:disabled:hover,
  .client-tabs__new-order:disabled:focus-visible {
    color: #8b989f;
    background: transparent;
    box-shadow: none;
    cursor: not-allowed;
  }
  .client-tabs__new-order:disabled .client-tabs__icon--new-order,
  .client-tabs__new-order:disabled:hover .client-tabs__icon--new-order,
  .client-tabs__new-order:disabled:focus-visible .client-tabs__icon--new-order {
    background-color: #aab5bb;
  }

  .page-customer-portal .main-nav {
    width: min(278px, calc(100vw - 24px));
    padding: 12px 12px 14px;
  }

  .page-customer-portal .mobile-nav-account:not([hidden]) {
    order: 99;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    margin-top: 8px;
    padding: 13px 8px 0;
    border-top: 1px solid #dce6eb;
  }
  .page-customer-portal .mobile-nav-account__identity {
    display: grid;
    min-width: 0;
    gap: 3px;
  }
  .page-customer-portal .mobile-nav-account__identity strong,
  .page-customer-portal .mobile-nav-account__identity span {
    white-space: nowrap;
  }
  .page-customer-portal .mobile-nav-account__identity strong { color: var(--navy); font-size: .76rem; }
  .page-customer-portal .mobile-nav-account__identity span { color: var(--muted); font-size: .7rem; }
  .page-customer-portal .mobile-nav-account form { flex: 0 0 auto; margin: 0; }
  .page-customer-portal .mobile-nav-account button {
    padding: 6px 0;
    border: 0;
    color: var(--blue);
    background: transparent;
    cursor: pointer;
    font: inherit;
    font-size: .72rem;
    font-weight: 760;
  }
  .page-customer-portal .mobile-nav-legal {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 3px 6px;
    padding-top: 10px;
    border-top: 1px solid #edf2f4;
    color: #87949c;
    font-size: .62rem;
    line-height: 1.4;
  }
  .page-customer-portal .mobile-nav-legal a {
    display: inline;
    min-height: 0;
    padding: 0;
    border: 0;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
    text-decoration: none;
  }

  .client-account { min-height: 0; gap: 8px; }
  .client-account__overview {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .client-account__context {
    min-height: 0;
    gap: 7px;
    padding: 12px;
    border-inline: 0;
    border-bottom: 0;
    border-radius: 0;
  }
  .client-account__readonly { gap: 8px; }
  .client-data-grid { gap: 0; }
  .client-data-grid section {
    padding: 12px 16px;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 0;
  }
  .client-data-grid section:last-child { border-bottom: 1px solid #dbe6eb; }
  .client-data-grid h3 { margin-bottom: 10px; font-size: .84rem; }
  .client-data-grid dl { gap: 7px; }
  .client-data-grid dl div { padding-bottom: 6px; }

  .client-activation {
    border-right: 0;
    border-left: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .client-activation__header { gap: 13px; padding: 20px 16px; }
  .client-activation__header-icon { width: 42px; height: 42px; border-radius: 12px; }
  .client-activation__header-icon svg { width: 23px; height: 23px; }
  .client-activation__header h2 { margin-top: 3px; font-size: 1.38rem; }
  .client-activation__header p { font-size: .78rem; line-height: 1.48; }
  .client-activation__section { padding: 20px 16px 22px; }
  .client-activation__section-heading {
    grid-template-columns: 29px minmax(0, 1fr);
    gap: 10px;
    margin-bottom: 17px;
  }
  .client-activation__section-heading > span { width: 29px; height: 29px; border-radius: 8px; }
  .client-activation__section-heading h3 { font-size: .98rem; }
  .client-activation__section-heading p { font-size: .72rem; line-height: 1.4; }
  .client-form-grid { gap: 13px; }
  .client-field input,
  .client-field select { height: 44px; font-size: .82rem; }
  .client-field__with-action { grid-template-columns: minmax(0, 1fr); }
  .client-field__with-action button { min-height: 40px; }
  .client-activation__footer {
    align-items: stretch;
    flex-direction: column;
    gap: 14px;
    padding: 18px 16px 20px;
  }
  .client-activation__footer .button { width: 100%; min-width: 0; }


  .client-section-heading {
    min-height: 30px;
    margin: 0;
    padding: 0 16px;
    font-size: .68rem;
    letter-spacing: .13em;
  }

  .client-list-search--top { padding: 10px 10px 12px; }
  .client-list-search--top .client-orders-search { max-width: none; }

  :is([data-client-panel="orders"], [data-client-panel="documents"]) .client-list-search--top {
    position: sticky;
    top: 58px;
    z-index: 37;
    background: #fff;
    box-shadow: 0 1px 0 rgba(23, 76, 119, .08);
  }

  .client-order-filters {
    flex-wrap: nowrap;
    gap: 6px;
    margin: 0;
    padding: 0 10px 12px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .client-order-filters::-webkit-scrollbar { display: none; }
  .client-order-filters button {
    min-height: 26px;
    padding-inline: 8px;
    flex: 0 0 auto;
    border-color: #e1e9ed;
    color: #617681;
    font-size: .66rem;
    font-weight: 680;
  }
  .client-order-filters button.is-active {
    border-color: #4f8db6;
    color: #fff;
    background: #4f8db6;
    box-shadow: none;
  }

  .client-order-list .client-order-row {
    grid-template-columns: 34px minmax(0, 1fr) 52px 22px;
    grid-template-areas: "status name value arrow";
    align-items: center;
    gap: 10px;
    min-height: 76px;
    margin: 0;
    padding: 14px 13px;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
  }
  .client-order-list .client-order-visual {
    grid-area: status;
    width: 42px;
    height: 42px;
  }
  .client-order-list .client-order-visual__picture {
    width: 42px;
    height: 42px;
    border-radius: 7px;
  }
  .client-order-list .client-order-visual.has-picture > .client-status,
  .client-order-list .client-order-visual.has-picture > .client-order-history-state {
    right: -4px;
    bottom: -3px;
    width: 17px;
    height: 17px;
    border-width: 1px;
  }
  .client-order-list .client-order-visual.has-picture .client-status__icon,
  .client-order-list .client-order-visual.has-picture .client-order-history-state__icon,
  .client-order-list .client-order-visual.has-picture .client-order-history-state__icon .client-status__icon {
    width: 15px;
    height: 15px;
  }
  .client-order-list .client-order-row--history {
    grid-template-columns: 34px minmax(0, 1fr) 22px;
    grid-template-areas: "status name arrow";
  }
  .client-order-list .client-order-row--history .client-order-history-state { grid-area: status; }
  .client-order-list .client-order-row--history .client-order-row__schedule,
  .client-order-list .client-order-row--history .client-order-row__delivery,
  .client-order-list .client-order-row--history .client-order-row__payment,
  .client-order-list .client-order-row--history .client-order-row__value { display: none; }
  .client-order-list .client-order-row--history .client-order-row__name { grid-area: name; }
  .client-order-list .client-order-row--history .client-order-row__arrow { grid-area: arrow; }

  .client-order-list .client-order-row > .client-status,
  .client-order-list .client-status--asset {
    grid-area: status;
    width: 30px;
    height: 30px;
    margin: 0;
    justify-self: center;
  }

  .client-order-list .client-status--asset .client-status__icon {
    width: 30px;
    height: 30px;
  }

  .client-order-list .client-order-row__name,
  .client-order-list .client-order-row__schedule {
    min-width: 0;
  }

  .client-order-list .client-order-row__name { grid-area: name; }
  .client-order-list .client-order-row__name strong {
    display: block;
    margin-bottom: 2px;
    font-size: .96rem;
    line-height: 1.25;
    white-space: nowrap;
  }

  .client-order-list .client-order-row__name small {
    display: block;
    font-size: .74rem;
    line-height: 1.3;
    white-space: nowrap;
  }

  .client-order-list .client-order-row__schedule {
    display: none;
  }

  .client-order-list .client-order-row__value {
    grid-area: value;
    display: grid;
    width: 48px;
    height: 48px;
    align-self: center;
    justify-self: center;
    color: #145b94;
    font-size: 1.05rem;
    font-weight: 760;
    line-height: 1;
    white-space: nowrap;
  }

  .client-order-progress-ring svg {
    width: 48px;
    height: 48px;
  }

  .client-order-list .client-order-row__arrow {
    grid-area: arrow;
    margin: 0;
    align-self: center;
  }

  .client-order-list {
    border-inline-width: 0;
    border-radius: 0;
  }
  .client-orders-empty { min-height: calc(100dvh - 210px); padding: 28px 22px 38px; }
  .client-orders-empty__illustration { width: min(100%, 250px); margin-bottom: 12px; }

  .client-order-history-list {
    border-inline-width: 0;
    border-radius: 0;
  }

  .client-order-history-list__head { display: none; }

  .client-order-history-list .client-order-row {
    grid-template-columns: 30px minmax(0, 1fr) 22px;
    grid-template-areas: "status name arrow";
    align-items: center;
    gap: 10px;
    min-height: 68px;
    padding: 14px 13px;
  }

  .client-order-history-list .client-order-history-state {
    grid-area: status;
    align-self: center;
    margin: 0;
  }

  .client-order-history-state__icon--asset,
  .client-order-history-state__icon--asset .client-status__icon {
    width: 26px;
    height: 26px;
  }

  .client-order-history-list .client-order-row__name,
  .client-order-history-list .client-order-row__value {
    min-width: 0;
  }

  .client-order-history-list .client-order-row__schedule,
  .client-order-history-list .client-order-row__value,
  .client-order-history-list .client-order-row__delivery,
  .client-order-history-list .client-order-row__payment {
    display: none;
  }

  .client-order-history-list .client-order-row__name { grid-area: name; }
  .client-order-history-list .client-order-row__name strong {
    display: block;
    font-size: .94rem;
    line-height: 1.25;
    white-space: nowrap;
  }
  .client-order-history-list .client-order-row__name small {
    font-size: .72rem;
    line-height: 1.3;
  }
  .client-order-history-list .client-order-row__arrow {
    grid-area: arrow;
    align-self: center;
    margin: 0;
  }

  .client-history-footer {
    gap: 10px;
    margin-top: 0;
    padding: 10px;
    border-radius: 0;
  }

  .client-history-footer .client-orders-search input {
    min-height: 40px;
    padding-left: 46px;
  }

  /* Stopka paginowanych list pozostaje zawsze dostępna ponad dolną nawigacją aplikacji. */
  .client-paged-list { padding-bottom: 0; }
  .client-orders-finished {
    padding-bottom: calc(var(--client-mobile-navigation-height) + 44px + env(safe-area-inset-bottom));
  }
  .client-paged-list > .client-history-footer {
    position: fixed;
    right: 0;
    bottom: calc(var(--client-mobile-navigation-height) + env(safe-area-inset-bottom));
    left: 0;
    z-index: 39;
    margin: 0;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    box-shadow: 0 -8px 20px rgba(16, 45, 64, .08);
  }

  .client-finances { gap: 0; }
  .client-finances__section { gap: 7px; }
  .client-finance-list {
    border-inline-width: 0;
    border-radius: 0;
  }

  .client-order-detail-card { overflow: visible; border: 0; border-radius: 0; box-shadow: none; }

  .client-order-detail__topbar {
    position: sticky;
    top: 0;
    z-index: 43;
    display: block;
    height: 80px;
    border-bottom: 0;
    background: var(--surface-default);
    backdrop-filter: blur(12px);
  }
  .client-order-detail__back {
    position: relative;
    z-index: auto;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) 28px;
    width: 100%;
    min-height: 50px;
    margin: 0;
    padding: 0 14px;
    border-bottom: 0;
    background: transparent;
    backdrop-filter: none;
  }
  .client-order-detail__back > img { grid-column: 1; width: 20px; height: 20px; }
  .client-order-detail__share { position: absolute; top: 9px; right: 14px; z-index: 1; display: grid; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; color: #226994; background: transparent; place-items: center; }
  .client-order-detail__share img { display: block; width: 22px; height: 22px; object-fit: contain; }
  .client-order-detail__share:hover, .client-order-detail__share:focus-visible { background: #edf6fb; outline: 0; }
  .client-order-detail__back-label { display: none; }
  .client-order-detail__back-number {
    display: block;
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: center;
    color: var(--text-primary);
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1;
  }

  .client-order-detail__mobile-intro {
    display: grid;
    gap: 2px;
    margin-top: -16px;
    padding: 0 20px 10px;
    color: var(--text-primary);
    text-align: center;
  }
  .client-public-order:not(.status-order-view) { min-height: 100dvh; padding-top: 0; }
  .client-order-detail--public .client-order-detail__back { display: grid; pointer-events: none; }
  .client-order-detail--public .client-order-detail__back > img { visibility: hidden; }

  .client-order-detail__mobile-intro h1 {
    margin: 0;
    color: var(--text-primary);
    font-size: .9375rem;
    font-weight: 700;
    line-height: 1.15;
    white-space: nowrap;
  }
  .client-order-detail__mobile-identifier {
    margin: 0;
    color: var(--text-muted);
    font-size: .84375rem;
    font-weight: 400;
    line-height: 1.25;
  }

  .client-order-detail__header {
    display: none;
  }

  .client-order-detail__header h1 {
    max-width: 100%;
    margin-bottom: 9px;
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.2;
  }

  .client-order-detail__meta { flex-wrap: wrap; gap: 7px; font-size: .84375rem; }
  .client-order-detail__meta .client-order-detail__number { display: none; }
  .client-order-detail__identifier { padding: 0; border: 0; background: transparent; font-weight: 400; text-transform: none; }
  .client-order-detail__state strong { font-size: 1.0625rem; font-weight: 700; text-transform: uppercase; }

  .client-order-progress {
    grid-template-columns: 88px minmax(0, 1fr);
    grid-template-areas: "ring copy" "estimate estimate";
    gap: 14px 12px;
    margin: 0;
    padding: 16px;
    border-color: var(--line-default);
    border-radius: 12px;
    background: var(--surface-default);
  }
  .client-order-progress-ring--detail { width: 84px; height: 84px; }
  .client-order-progress-ring--detail svg { width: 84px; height: 84px; }
  .client-order-progress-ring--detail strong { font-size: 1.0625rem; font-weight: 700; }
  .client-order-progress__copy, .client-order-progress__estimate { min-width: 0; }
  .client-order-progress__copy { grid-area: copy; }
  .client-order-progress__copy p { color: var(--text-primary); font-size: .84375rem; }
  .client-order-progress__estimate { grid-template-columns: 20px minmax(0, 1fr) auto; gap: 5px; padding-top: 12px; }
  .client-order-progress__estimate-icon { width: 20px; height: 20px; }
  .client-order-progress__estimate p { color: var(--text-primary); font-size: .75rem; }
  .client-order-progress__relative { min-height: 26px; padding: 3px 8px; font-size: .75rem; }
  .client-order-realization-overview { gap: 12px; margin-bottom: 12px; }
  .client-order-schedule { padding: 15px 10px; border-color: var(--line-default); border-radius: 12px; background: var(--surface-default); }
  .client-order-schedule__item { grid-template-rows: 40px auto; gap: 6px; }
  .client-order-schedule__item:not(:last-child)::after { top: 19px; left: calc(50% + 22px); width: calc(100% - 44px); }
  .client-order-schedule__marker { width: 40px; height: 40px; border-color: var(--line-strong); }
  .client-order-schedule__icon { width: 22px; height: 22px; }
  .client-order-schedule__item--delivery .client-order-schedule__icon { width: 24px; height: 24px; }
  .client-order-schedule__copy { gap: 3px; }
  .client-order-schedule__copy strong { font-size: .75rem; }
  .client-order-schedule__copy small { color: var(--text-primary); font-size: .75rem; }
  .client-order-schedule__shipment { margin-top: 14px; padding: 12px 4px 0; color: var(--text-primary); border-color: var(--line-default); font-size: .75rem; }
  .client-order-schedule__shipment strong { color: var(--text-primary); font-size: .84375rem; }
  .client-order-detail-tabs {
    position: sticky;
    top: 80px;
    z-index: 42;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    padding: 0 8px;
    overflow: visible;
    background: var(--surface-default);
  }

  .client-order-detail-tabs button { justify-content: center; min-width: 0; padding: 12px 2px 10px; color: var(--text-muted); font-size: .75rem; font-weight: 600; }
  .client-order-processes,
  .client-order-detail__offers,
  .client-order-detail__finance,
  .client-order-detail__settlement,
  .client-order-detail__auxiliary { padding: 12px 12px 18px; border-top: 0; background: var(--surface-subtle); }
  .client-order-detail__settlement:not([hidden]) { display: flex; }
  .client-order-expertise { gap: 8px; padding: 12px 12px 18px; border-top: 0; background: var(--surface-subtle); }
  .client-expertise-card { border-radius: 12px; }
  .client-expertise-card__header { min-height: 42px; padding: 9px 12px; }
  .client-expertise-card__heading { gap: 7px; }
  .client-expertise-card__heading h2, .client-expertise-card__number { font-size: .9375rem; font-weight: 700; }
  .client-expertise-card__body { padding: 8px 12px 10px; }
  .client-expertise-card__meta { margin-bottom: 7px; font-size: .75rem; }
  .client-expertise-opinion { font-size: .84375rem; line-height: 1.45; }
  .client-expertise-unavailable { padding: 22px 0 0; }
  .client-expertise-unavailable__illustration { width: min(100%, 280px); margin-bottom: 12px; }

  .client-expertise-document { min-height: 44px; margin-top: 10px; padding: 6px 10px; font-size: .84375rem; }
  .client-expertise-document > img { width: 26px; height: 26px; }
  .client-expertise-measurements__row { grid-template-columns: 24px minmax(0, 1fr) minmax(82px, max-content); gap: 6px; min-height: 30px; padding: 4px 0; font-size: .75rem; }
  .client-expertise-measurements__head { min-height: 26px; font-size: .6875rem; }
  .client-expertise-chart { margin-top: 10px; }
  .client-expertise-chart__legend { gap: 6px 12px; font-size: .6875rem; }
  .client-expertise-chart__tick, .client-expertise-chart__axis-label, .client-expertise-chart__point-label { font-size: .6875rem; }
  .client-expertise-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
  .client-order-settlement-empty { width: 100%; min-height: 0; padding: 24px 0 12px; flex: 1 1 auto; }
  .client-order-settlement-empty__illustration { width: min(100%, 280px); margin-bottom: 16px; }

  .client-order-settlement-content { width: 100%; min-height: 0; flex: 0 1 auto; }
  .client-order-settlement-summary { border-radius: 12px; }
  .client-order-settlement-summary__header { grid-template-columns: 44px minmax(0, 1fr) auto; min-height: 84px; padding: 12px; gap: 10px; }
  .client-order-settlement-summary__icon { width: 44px; height: 44px; }
  .client-order-settlement-summary__icon::before { width: 25px; height: 25px; }
  .client-order-settlement-summary__title h2 { font-size: .9375rem; }
  .client-order-settlement-summary__title small,
  .client-order-settlement-summary__state small { font-size: .6875rem; }
  .client-order-settlement-summary__state > strong { font-size: 1.0625rem; }
  .client-order-settlement-summary__body { padding: 7px 12px 12px; }
  .client-order-settlement-summary__row { min-height: 42px; padding: 9px 0; font-size: .84375rem; }
  .client-order-settlement-summary__row strong { font-size: .9375rem; }
  .client-order-settlement-deadline { min-height: 46px; padding: 8px 11px; font-size: .75rem; }
  .client-order-settlement-deadline img { width: 25px; height: 25px; }
  .client-order-settlement-history > h2 { padding: 12px 12px 9px; font-size: .9375rem; }
  .client-order-settlement-history__row { grid-template-columns: 36px minmax(0, 1fr) auto; min-height: 64px; padding: 9px 12px; gap: 9px; }
  .client-order-settlement-history__row + .client-order-settlement-history__row::before { right: 12px; left: 12px; }
  .client-order-settlement-history__row[data-finance-document] { padding-right: 32px; }
  .client-order-settlement-history__row[data-finance-document]::after { right: 13px; }
  .client-order-settlement-history__copy strong,
  .client-order-settlement-history__value { font-size: .75rem; }
  .client-order-settlement-history__copy time { font-size: .6875rem; }

  .client-order-detail .client-order-placeholder h2 { font-size: 1.0625rem; font-weight: 700; }
  .client-order-detail .client-order-placeholder p { font-size: .84375rem; }
  .client-order-detail .client-order-finance-row__value { font-size: .9375rem; font-weight: 700; }
  .client-order-detail .client-order-finance-row__mobile-document { font-size: .84375rem; font-weight: 700; }
  .client-offers { gap: 12px; }
  .client-offer-set { gap: 8px; }
  .client-offer { border-color: var(--line-default); border-radius: 12px; background: var(--surface-default); }
  .client-estimate__header { padding: 10px 12px; }
  .client-order-detail .client-estimate__header h2 { color: var(--text-primary); font-size: .9375rem; font-weight: 700; line-height: 1.15; }
  .client-estimate-items { gap: 6px; padding: 6px 12px 4px; background: var(--surface-default); }
  .client-estimate__meta { margin-top: 2px; color: var(--text-muted); font-size: .75rem; }
  .client-estimate__heading > .client-estimate__meta-net { color: var(--text-muted); font-size: .6875rem; }
  .client-estimate__meta-gross { color: var(--text-primary); }
  .client-estimate-items__header, .client-estimate-item { grid-template-columns: 20px minmax(0, 1fr) minmax(50px, max-content) minmax(64px, max-content); gap: 6px; }
  .client-estimate-items__header { min-height: 25px; padding: 0; font-size: .6875rem; }
  .client-estimate-item { min-height: 21px; padding: 0; }
  .client-estimate-item__number, .client-estimate-item__quantity, .client-estimate-item__name, .client-estimate-item__gross { font-size: .75rem; line-height: 1.2; }
  .client-estimate-item__number { color: var(--text-muted); }
  .client-estimate-item__quantity, .client-estimate-item__name, .client-estimate-item__gross { color: var(--text-primary); }
  .client-process-list { gap: 8px; border-radius: 0; }
  .client-process { padding: 0; border-color: var(--line-default); border-radius: 12px; background: var(--surface-default); }
  .client-process__header { padding: 10px 12px; }
  .client-process__heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 0 8px; }
  .client-process__heading > div { min-width: 0; }
  .client-process__sequence { color: var(--text-muted); font-size: .75rem; line-height: 1.15; }
  .client-process__header h3 { color: var(--text-primary); font-size: .84375rem; font-weight: 700; line-height: 1.15; }
  .client-process__name { margin-top: 2px; color: var(--text-muted); font-size: .84375rem; line-height: 1.25; }
  .client-process__info { margin: 5px 0 6px; font-size: .84375rem; line-height: 1.3; }
  .client-process__more { min-height: 25px; padding-inline: 6px; border-color: #c3ddec; color: #226994; background: #edf6fb; font-size: .6875rem; font-weight: 500; }
  .client-estimate__pdf-preview { min-height: 38px; margin: 8px 12px 10px; padding: 4px 0; font-size: .84375rem; }
  .client-estimate__pdf-preview img { width: 25px; height: 25px; }
  .client-current-offer { border-radius: 12px; }
  .client-current-offer__heading { grid-template-columns: 36px minmax(0, 1fr); gap: 10px; padding: 12px 14px; }
  .client-current-offer__heading-icon { width: 36px; height: 36px; padding: 6px; border-radius: 9px; }
  .client-current-offer__heading-copy { gap: 2px; }
  .client-current-offer__heading-copy h2 { font-size: .9375rem; font-weight: 700; }
  .client-current-offer__heading-copy p { font-size: .75rem; }
  .client-current-offer__totals,
  .client-current-offer__breakdown { grid-column: 1; }
  .client-current-offer__breakdown { grid-row: 2; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 16px 14px 8px; }
  .client-current-offer__discount-summary { grid-row: 3; }
  .client-current-offer__totals { grid-row: 4; padding: 0 14px 6px; }
  .client-current-offer > .client-current-offer-note { grid-row: 5; }
  .client-current-offer__metric { grid-template-columns: 34px minmax(0, 1fr); gap: 3px 7px; font-size: .6875rem; }
  .client-current-offer__breakdown .client-current-offer__metric { padding: 0 8px; }
  .client-current-offer__metric-label img { width: 34px; height: 34px; }
  .client-current-offer__metric-label span { font-size: .75rem; }
  .client-current-offer__value { gap: 2px; font-size: .84375rem; }
  .client-current-offer__value small { font-size: .75rem; }
  .client-current-offer__discount { margin-top: 10px; font-size: .75rem; }
  .client-current-offer__discount-summary { min-height: 32px; margin: 10px 14px 6px; padding: 6px 8px; border-radius: 7px; font-size: .6875rem; }
  .client-current-offer__discount-summary-icon { width: 13px; height: 13px; font-size: .56rem; }
  .client-current-offer__summary-row { min-height: 50px; padding: 9px 0; font-size: .84375rem; }
  .client-current-offer__summary-row strong { font-size: .9375rem; }
  .client-current-offer__summary-row--gross { min-height: 56px; font-size: .9375rem; }
  .client-current-offer__summary-row--gross strong { font-size: 1.0625rem; }
  .client-document-banner { justify-self: stretch; width: auto; max-width: none; min-height: 58px; margin: 0 0 14px; padding: 10px 14px; font-size: .84375rem; line-height: 1.2; white-space: nowrap; }
  .client-document-banner img { width: 28px; height: 28px; }
  .client-current-offer-note { grid-template-columns: 30px minmax(0, 1fr); gap: 11px; min-height: 72px; margin: 0 14px 12px; padding: 12px 14px; border-radius: 9px; font-size: .75rem; line-height: 1.45; }
  .client-current-offer-note__icon { width: 30px; height: 30px; font-size: 1.0625rem; }
  .client-current-offer-note__copy { gap: 2px; }
  .client-current-offer-note__copy strong { font-size: .84375rem; }
  .client-estimate__accept-note { margin: 7px 12px 5px; padding-top: 7px; font-size: .75rem; }
  .client-estimate__accept { width: 180px; min-height: 33px; margin: 4px auto 12px; font-size: .84375rem; }
  .client-process-stages { gap: 6px; padding: 8px 12px 10px; background: var(--surface-default); }
  .client-process-stage {
    grid-template-columns: 21px minmax(0, 1fr) auto;
    gap: 5px;
    margin-bottom: 0;
    min-height: 21px;
    border: 0; border-radius: 0;
    padding: 0;
    background: transparent;
  }
  .client-process-stage__marker { width: 21px; height: 21px; border-color: var(--line-strong); }
  .client-process-stage__icon { width: 12px; height: 12px; }
  .client-process-stage > div:not(.client-process-stage__meta) { min-height: 21px; }
  .client-process-stage strong { color: var(--text-primary); font-size: .84375rem; line-height: 1.25; }
  .client-process-stage__meta {
    grid-column: 3;
    grid-row: 1;
    justify-content: flex-start;
    min-width: 0;
    gap: 8px;
  }
  .client-process-stage__meta time { color: var(--text-primary); font-size: .75rem; }
}
@media (max-width: 1120px) {
  .client-dashboard--order-detail .client-tabs,
  .client-dashboard--order-detail .client-dashboard__mobile-header { display: none; }
  .client-dashboard--order-detail { padding-bottom: 0; }
  .client-dashboard--order-detail [data-client-order-detail]:not([hidden]) {
    position: fixed;
    inset: 0;
    z-index: 41;
    overflow-y: auto;
    background: var(--surface-subtle);
    animation: none;
    transition: none;
    transform: none;
  }
}

@media (max-width: 380px) {
  .client-current-offer__breakdown { grid-template-columns: minmax(0, 1fr); padding-block: 6px; }
  .client-current-offer__breakdown .client-current-offer__metric { grid-template-columns: 34px minmax(0, 1fr); gap: 3px 8px; padding: 9px 0; }
  .client-current-offer__breakdown .client-current-offer__metric + .client-current-offer__metric { border-top: 1px solid var(--line-default); border-left: 0; }
}
/* Mobilna iteracja listy Zleceń: kompaktowy sticky header i bardziej informacyjne wiersze. */
.client-order-row__number,
.client-order-row__context,
.client-order-row__summary,
.client-order-row__date { display: none; }

@media screen {
  :is([data-client-panel="orders"], [data-client-panel="documents"], [data-client-panel="consultation"]) .client-list-search--top {
    top: 50px;
    padding: 6px 10px 8px;
    box-shadow: 0 1px 0 rgba(23, 76, 119, .08), 0 5px 12px rgba(16, 45, 64, .025);
  }
  :is([data-client-panel="orders"], [data-client-panel="documents"], [data-client-panel="consultation"]) .client-orders-search input {
    min-height: 40px;
    border-color: var(--line-default);
    border-radius: 10px;
    background: var(--surface-subtle);
    box-shadow: none;
    font-size: .9375rem;
    font-weight: 400;
  }
  :is([data-client-panel="orders"], [data-client-panel="documents"], [data-client-panel="consultation"]) .client-orders-search input::placeholder {
    color: var(--text-muted);
    font-size: .9375rem;
    font-weight: 400;
    opacity: 1;
  }
  :is([data-client-panel="orders"], [data-client-panel="documents"], [data-client-panel="consultation"]) .client-orders-search input:focus-visible {
    border-color: #8eb5ce;
    background: #fff;
    box-shadow: 0 0 0 2px rgba(31, 97, 146, .08);
  }

  :is([data-client-panel="orders"], [data-client-panel="documents"], [data-client-panel="consultation"]) .client-order-filters {
    flex-wrap: nowrap;
    gap: 3px;
    overflow-x: auto;
    padding: 2px 10px 10px;
    background: var(--surface-default);
    scrollbar-width: none;
  }
  :is([data-client-panel="orders"], [data-client-panel="documents"], [data-client-panel="consultation"]) .client-order-filters.is-scrollable { overflow-x: auto; }
  :is([data-client-panel="orders"], [data-client-panel="documents"], [data-client-panel="consultation"]) .client-order-filters::-webkit-scrollbar { display: none; }
  :is([data-client-panel="orders"], [data-client-panel="documents"], [data-client-panel="consultation"]) .client-order-filters button {
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none;
    user-select: none;
    flex: 0 0 auto;
    min-height: 25px;
    padding-inline: 5px;
    border-color: var(--line-default);
    color: var(--text-muted);
    background: var(--surface-default);
    font-size: .6875rem;
    font-weight: 500;
  }
  :is([data-client-panel="orders"], [data-client-panel="documents"], [data-client-panel="consultation"]) .client-order-filters button strong {
    min-width: 18px;
    height: 18px;
    padding-inline: 4px;
    font-size: .625rem;
  }
  :is([data-client-panel="orders"], [data-client-panel="documents"], [data-client-panel="consultation"]) .client-order-filters button.is-active {
    border-color: #c3ddec;
    color: #226994;
    background: #edf6fb;
  }
  [data-client-panel="documents"] .client-order-filters button { flex: 1 0 auto; }

  [data-client-panel="orders"] .client-order-list .client-order-row,
  [data-client-panel="orders"] .client-order-list .client-order-row--history {
    height: auto;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    grid-template-areas: "visual name summary" ". context context";
    align-items: start;
    gap: 4px 10px;
    min-height: 96px;
    padding: 10px 11px;
  }
  [data-client-panel="orders"] .client-order-list .client-order-visual {
    grid-area: visual;
    width: 58px;
    height: 58px;
  }
  [data-client-panel="orders"] .client-order-list .client-order-visual__picture,
  .client-service-order .client-order-visual__picture {
    width: var(--thumbnail-size, 58px);
    height: var(--thumbnail-size, 58px);
    border-radius: 7px;
  }
  [data-client-panel="orders"] .client-order-visual > .client-status,
  [data-client-panel="orders"] .client-order-visual > .client-order-history-state {
    display: none;
  }

  [data-client-panel="orders"] .client-order-row__context {
    grid-area: context;
    display: inline-flex;
    align-items: center;
    justify-self: end;
    gap: 5px;
    max-width: 100%;
    min-width: 0;
    color: var(--text-primary);
    font-size: .75rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: right;
    white-space: nowrap;
  }
  [data-client-panel="orders"] .client-order-row__context-icon {
    width: 12px;
    height: 12px;
    flex: 0 0 12px;
    object-fit: contain;
    opacity: .78;
  }
  [data-client-panel="orders"] .client-order-row__context > span {
    white-space: nowrap;
  }
  [data-client-panel="orders"] .client-order-row__number {
    display: block;
    color: var(--text-primary);
    font-size: .875rem;
    font-weight: 700;
    line-height: 1.15;
    white-space: nowrap;
  }
  [data-client-panel="orders"] .client-order-list .client-order-row__name {
    grid-area: name;
    align-self: start;
  }
  [data-client-panel="orders"] .client-order-list .client-order-row__name strong {
    margin-bottom: 1px;
    color: var(--text-primary);
    font-size: .84375rem;
    font-weight: 700;
    line-height: 1.2;
  }
  [data-client-panel="orders"] .client-order-list .client-order-row__name small {
    color: var(--text-primary);
    font-size: .84375rem;
    font-weight: 400;
    line-height: 1.25;
  }

  [data-client-panel="orders"] .client-order-row__summary {
    grid-area: summary;
    display: flex;
    align-self: stretch;
    align-items: flex-end;
    flex-direction: column;
    justify-content: flex-start;
    gap: 8px;
    min-width: 88px;
  }
  [data-client-panel="orders"] .client-order-row__status {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
  }
  [data-client-panel="orders"] .client-order-row__status--progress {
    color: var(--status-progress);
    background: var(--status-progress-soft);
  }
  [data-client-panel="orders"] .client-order-row__status--ready {
    color: var(--status-ready);
    background: var(--status-ready-soft);
  }
  [data-client-panel="orders"] .client-order-row__status--action {
    color: var(--status-action);
    background: var(--status-action-soft);
  }
  [data-client-panel="orders"] .client-order-row__status--neutral {
    color: var(--status-neutral);
    background: var(--status-neutral-soft);
  }
  [data-client-panel="orders"] .client-order-row__mobile-price {
    display: block;
    color: var(--text-primary);
    font-size: .875rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: right;
    white-space: nowrap;
  }
  [data-client-panel="orders"] .client-order-row .client-order-progress-ring strong {
    font-size: .75rem;
    font-weight: 600;
  }
  [data-client-panel="orders"] .client-order-row .client-order-progress-ring,
  [data-client-panel="orders"] .client-order-row--history .client-order-row__value,
  [data-client-panel="orders"] .client-order-row__schedule,
  [data-client-panel="orders"] .client-order-row__delivery,
  [data-client-panel="orders"] .client-order-row__payment {
    display: none;
  }
  [data-client-panel="orders"] .client-order-list .client-order-row__arrow {
    display: none;
  }
  [data-client-panel="documents"] .client-finance-list {
    border: 0;
    background: var(--surface-default);
    box-shadow: none;
  }

  [data-client-panel="orders"] .client-order-list__head { display: none; }
  [data-client-panel="orders"] .client-order-list {
    border: 0;
    background: var(--surface-default);
    box-shadow: none;
  }
  [data-client-panel="orders"] .client-order-list .client-order-row,
  [data-client-panel="orders"] .client-order-list .client-order-row--history {
    border: 0;
    border-bottom: 1px solid var(--line-default);
    background: var(--surface-default);
    box-shadow: none;
  }
  [data-client-panel="orders"] .client-order-list .client-order-row + .client-order-row {
    border-top: 0;
  }
  [data-client-panel="orders"] .client-order-list .client-order-row:hover,
  [data-client-panel="orders"] .client-order-list .client-order-row:focus-visible {
    background: var(--surface-default);
    box-shadow: none;
  }
  .client-dashboard:is([data-client-active-tab="orders"], [data-client-active-tab="documents"]) .client-dashboard__mobile-header {
    border-bottom: 0;
  }
  :is([data-client-panel="orders"], [data-client-panel="documents"]) .client-list-search--top {
    box-shadow: none;
  }
}


/* Desktop keeps the same application shell as mobile, with a calm centered canvas. */
@media (min-width: 801px) {
  body.page-customer-portal:not(:has([data-client-public-order]:not([hidden]))) > .site-header { display: block; }

  .page-customer-portal .site-header .nav-row {
    position: relative;
    display: flex;
    grid-template-columns: none;
    min-height: 74px;
    gap: 28px;
  }
  .page-customer-portal .site-header .brand { width: 176px; }
  .page-customer-portal .site-header .mobile-portal-context { display: none; }
  .page-customer-portal .site-header .menu-toggle { display: none; }
  .page-customer-portal .main-nav {
    position: static;
    display: flex;
    width: auto;
    align-items: center;
    flex-direction: row;
    gap: 14px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .page-customer-portal .mobile-nav-account:not([hidden]) { display: none; }

  .client-dashboard__mobile-header [data-client-mobile-brand] { display: none; }
  .client-dashboard__mobile-header .client-dashboard__mobile-title { display: block; }
  .client-dashboard__mobile-title:empty::before { content: "Zlecenia"; }

  .client-dashboard {
    --client-desktop-app-width: min(920px, calc(100vw - 64px));
    --client-panel-header-height: 50px;
    min-height: calc(100dvh - var(--client-site-header-height));
  }

  .client-dashboard__mobile-header,
  .client-dashboard .container {
    width: var(--client-desktop-app-width);
    margin-inline: auto;
    border-right: 1px solid var(--line-default);
    border-left: 1px solid var(--line-default);
    background: var(--surface-default);
  }

  .client-dashboard__mobile-header {
    top: var(--client-site-header-height);
    box-shadow: 0 8px 24px rgba(16, 45, 64, .04);
  }
  :is([data-client-panel="orders"], [data-client-panel="documents"]) .client-list-search--top {
    top: calc(var(--client-site-header-height) + var(--client-panel-header-height));
  }
  [data-client-panel="orders"] .client-order-list__head { display: none; }

  .client-dashboard .container {
    min-height: calc(100dvh - var(--client-site-header-height) - var(--client-panel-header-height));
  }

  .client-tabs {
    right: 50%;
    left: auto;
    width: var(--client-desktop-app-width);
    border-right: 1px solid var(--line-default);
    border-left: 1px solid var(--line-default);
    transform: translateX(50%);
  }

  .client-public-order:not(.status-order-view) {
    background: #eef3f5;
  }

  .client-public-order__container:not(.status-order-container) {
    width: min(920px, calc(100vw - 64px));
    min-height: 100dvh;
    margin-inline: auto;
    border-right: 1px solid var(--line-default);
    border-left: 1px solid var(--line-default);
    background: var(--surface-default);
    box-shadow: 0 0 36px rgba(16, 45, 64, .08);
  }
  .client-paged-list > .client-history-footer {
    right: 50%;
    left: auto;
    width: var(--client-desktop-app-width);
    border-right: 1px solid var(--line-default);
    border-left: 1px solid var(--line-default);
    transform: translateX(50%);
  }
}

@media (min-width: 801px) and (max-width: 1120px) {
  .client-dashboard--order-detail [data-client-order-detail]:not([hidden]) {
    inset: var(--client-site-header-height) auto 0 50%;
    width: var(--client-desktop-app-width);
    border-right: 1px solid var(--line-default);
    border-left: 1px solid var(--line-default);
    box-shadow: 0 0 36px rgba(16, 45, 64, .08);
    transform: translateX(-50%);
  }
  html:has(body.page-customer-portal) { --client-site-header-height: 77px; }
  .page-customer-portal .site-header .nav-row {
    display: grid;
    grid-template-columns: 1fr auto;
    min-height: 76px;
    gap: 0 28px;
  }
  .page-customer-portal .site-header .brand { width: 158px; }
  .page-customer-portal .site-header .menu-toggle {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 0;
  }
  .page-customer-portal .main-nav {
    position: absolute;
    top: calc(100% - 4px);
    right: 0;
    z-index: 20;
    display: none;
    width: min(292px, calc(100vw - 28px));
    align-items: stretch;
    flex-direction: column;
    gap: 2px;
    padding: 12px 14px 14px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #f8fafb;
    box-shadow: 0 18px 42px rgba(16, 45, 64, .16);
  }
  .page-customer-portal .main-nav.is-open { display: flex; }
  .page-customer-portal .main-nav .nav-action-cta {
    display: flex;
    order: 1;
    width: 100%;
    margin: 10px 0 0;
    padding: 9px 16px;
    border-radius: 12px;
  }
}

/* Szeroki desktop Panelu Klienta: nawigacja boczna i informacyjna tabela. */
@media (min-width: 1121px) {
  /* Wybór kontekstu mieści długie nazwy kont w szerszym oknie desktopowym. */
  .client-context-dialog__sheet { width: min(calc(100% - 32px), 552px); }
  .client-dashboard {
    --client-desktop-app-width: min(1280px, calc(100vw - 48px));
    --client-desktop-sidebar-width: 218px;
    --client-desktop-gap: 10px;
    --client-desktop-bottom-gap: 20px;
    --client-panel-header-height: 56px;
    --client-desktop-workspace-min-height: calc(100dvh - var(--client-site-header-height) - var(--client-panel-header-height) - var(--client-desktop-bottom-gap));
    --client-desktop-sidebar-min-height: 380px;
    --client-desktop-panel-min-height: 260px;
    padding-bottom: var(--client-desktop-bottom-gap);
  }
  .client-order-detail__consultation { right: calc((100vw - var(--client-desktop-app-width)) / 2 + 16px); bottom: calc(var(--client-desktop-bottom-gap) + 16px); }

  .client-dashboard__mobile-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    width: var(--client-desktop-app-width);
    height: var(--client-panel-header-height);
    min-height: var(--client-panel-header-height);
    padding: 5px 12px;
    border: 0;
    background: transparent;
    box-shadow: none;
  }
  /* Desktop pokazuje aktywny kontekst po lewej i stałe akcje po prawej.
     Mobilny tytuł i marka pozostają dostępne wyłącznie w węższych układach. */
  .client-dashboard__mobile-header [data-client-mobile-brand],
  .client-dashboard__mobile-header .client-dashboard__mobile-title { display: none; }
  .client-dashboard__header-actions {
    justify-self: end;
    margin-left: 0;
    gap: 8px;
  }
  .client-dashboard__header-account {
    display: grid;
    justify-self: start;
    min-width: 0;
    grid-template-columns: 36px minmax(0, 1fr) 14px;
    align-items: center;
    gap: 9px;
    max-width: min(640px, 100%);
    min-height: 42px;
    padding: 3px 5px 3px 0;
    border: 0;
    color: var(--text-primary);
    background: transparent;
    cursor: pointer;
    font: inherit;
    text-align: left;
  }
  .client-dashboard__header-account:focus-visible {
    border-radius: 8px;
    outline: 2px solid var(--blue);
    outline-offset: 2px;
  }
  .client-dashboard__header-account:disabled { cursor: default; }
  .client-dashboard__header-context-icon {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 50%;
    color: var(--status-progress);
    background: var(--surface-default);
    font-size: .75rem;
    font-weight: 700;
  }
  .client-dashboard__header-company {
    overflow: hidden;
    font-size: .78rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .client-dashboard__header-company-copy {
    display: grid;
    min-width: 0;
    gap: 2px;
  }
  .client-dashboard__header-company-meta {
    color: var(--text-muted);
    font-size: .68rem;
    font-weight: 400;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }
  .client-dashboard__header-company-arrow {
    color: var(--blue);
    font-size: 1.2rem;
    line-height: 1;
    transform: rotate(90deg);
  }
  .client-dashboard__header-account.is-single-account .client-dashboard__header-company-arrow { display: none; }
  .client-dashboard__header-account.is-single-account {
    grid-template-columns: 36px minmax(0, 1fr);
  }
  .client-dashboard__header-actions .client-dashboard__contact { margin-left: 2px; }

  .client-dashboard .client-dashboard__shell {
    display: grid;
    grid-template-columns: var(--client-desktop-sidebar-width) minmax(0, 1fr);
    width: var(--client-desktop-app-width);
    height: var(--client-desktop-workspace-min-height);
    min-height: 0;
    overflow-anchor: none;
    align-items: start;
    gap: var(--client-desktop-gap);
    border: 0;
    background: transparent;
  }

  .client-tabs {
    position: sticky;
    top: calc(var(--client-site-header-height) + var(--client-panel-header-height));
    right: auto;
    bottom: auto;
    left: auto;
    z-index: 30;
    display: flex;
    width: auto;
    height: var(--client-desktop-workspace-min-height);
    min-height: var(--client-desktop-sidebar-min-height);
    align-items: stretch;
    align-self: start;
    flex-direction: column;
    gap: 8px;
    padding: 10px;
    border: 1px solid var(--line-default);
    border-radius: 12px;
    background: var(--surface-default);
    box-shadow: 0 10px 28px rgba(16, 45, 64, .055);
    transform: none;
  }
  .client-tabs::before { content: none; }
  .client-tabs__links,
  .client-tabs__utilities {
    display: contents;
  }
  .client-tabs__links button,
  .client-tabs__contact,
  .client-tabs__new-order {
    position: relative;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    grid-row: auto;
    min-height: 46px;
    align-items: center;
    justify-content: stretch;
    gap: 11px;
    padding: 9px 11px;
    border: 1px solid transparent;
    border-left: 3px solid transparent;
    border-radius: 8px;
    color: var(--text-primary);
    background: transparent;
    cursor: pointer;
    font: inherit;
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: left;
  }
  .client-tabs__links button:hover,
  .client-tabs__contact:hover,
  .client-tabs__contact:focus-visible,
  .client-tabs__new-order:hover,
  .client-tabs__new-order:focus-visible {
    border: 1px solid transparent;
    border-left: 3px solid var(--line-default);
    color: var(--blue);
    background: var(--surface-subtle);
  }
  .client-tabs__links button[aria-selected="true"],
  .client-tabs__contact[aria-selected="true"],
  .client-tabs__new-order[aria-selected="true"] {
    border: 1px solid transparent;
    border-left: 3px solid var(--blue);
    color: var(--blue);
    background: var(--status-progress-soft);
    box-shadow: none;
  }
  .client-tabs__icon {
    display: block;
    width: 22px;
    height: 22px;
    margin: 0;
  }
  .client-tabs__links button[aria-selected="true"] .client-tabs__icon,
  .client-tabs__contact[aria-selected="true"] .client-tabs__icon,
  .client-tabs__new-order[aria-selected="true"] .client-tabs__icon { transform: none; }
  .client-tabs__label { display: block; }
  .client-tabs__links [data-client-tab="orders"] { order: 1; }
  .client-tabs__contact { order: 2; }
  .client-tabs__new-order { order: 3; }
  .client-tabs__links [data-client-tab="documents"] { order: 4; }
  .client-tabs__links [data-client-tab="company"] { order: 5; }
  .client-tabs__new-order {
    margin: 0;
    border: 1px solid transparent;
    border-left: 3px solid transparent;
    color: var(--text-primary);
    background: transparent;
    box-shadow: none;
    font-weight: 700;
    white-space: nowrap;
  }
  .client-tabs__new-order .client-tabs__label { font-size: inherit; line-height: inherit; white-space: nowrap; }
  .client-tabs__new-order-break { display: none; }
  .client-tabs__new-order .client-tabs__icon--new-order {
    width: 25px;
    height: 25px;
    margin: 0;
    border-radius: 0;
    color: currentColor;
    background-color: currentColor;
    box-shadow: none;
  }
  .client-tabs__new-order .client-tabs__icon--new-order::before,
  .client-tabs__new-order .client-tabs__icon--new-order::after { display: none; }
  .client-tabs__new-order[aria-selected="true"] .client-tabs__icon--new-order {
    filter: none;
    transform: none;
  }
  .client-tabs__contact {
    text-decoration: none;
  }
  .client-tabs__contact .client-tabs__icon {
    width: 22px;
    height: 22px;
    margin: 0;
  }
  .client-tabs__label--consultation .client-tabs__label-mobile { display: none; }
  .client-tabs__label--consultation .client-tabs__label-desktop { display: inline; }
  .client-tabs__support {
    order: 10;
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    align-items: start;
    gap: 9px;
    margin-top: auto;
    padding: 14px 11px;
    border-radius: 9px;
    color: var(--text-primary);
    background: var(--status-progress-soft);
  }
  .client-tabs__support > svg {
    width: 24px;
    height: 24px;
    color: var(--blue);
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .client-tabs__support > div {
    display: grid;
    gap: 5px;
    min-width: 0;
  }
  .client-tabs__support strong {
    font-size: .72rem;
    line-height: 1.25;
  }
  .client-tabs__support span {
    color: var(--text-muted);
    font-size: .68rem;
    line-height: 1.3;
  }
  .client-tabs__support a {
    color: var(--blue);
    font-size: .75rem;
    font-weight: 700;
    line-height: 1.25;
    text-decoration: none;
  }
  .client-tabs__support a:hover,
  .client-tabs__support a:focus-visible { color: var(--blue-hover); }

  .client-dashboard__shell > .client-tab-panel {
    grid-column: 2;
    position: sticky;
    top: calc(var(--client-site-header-height) + var(--client-panel-header-height));
    z-index: 29;
    height: var(--client-desktop-workspace-min-height);
    min-height: var(--client-desktop-panel-min-height);
    align-self: start;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: none;
    min-width: 0;
  }
  .client-dashboard__shell > .client-tab-panel:where(:not(.client-service-order-panel, .client-consultation-panel)) {
    padding: 16px;
    border: 1px solid var(--line-default);
    border-radius: 12px;
    background: var(--surface-default);
    box-shadow: 0 10px 28px rgba(16, 45, 64, .04);
  }
  .client-dashboard__shell > .client-service-order-panel {
    min-height: var(--client-desktop-sidebar-min-height);
    padding: 0;
    overflow: hidden;
  }
  .client-service-order,
  .client-service-order__card { height: 100%; min-height: 0; }
  .client-service-order__step-content { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
  .client-service-order__progress-header { min-height: 0; overflow-y: auto; }
  .client-service-success { height: 100%; overflow-y: auto; }
  .client-dashboard__shell > :is([data-client-panel="orders"], [data-client-panel="documents"]) {
    padding: 0 10px 10px;
  }
  .client-dashboard__shell > .client-tab-panel::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }

  [data-client-orders-view="list"],
  .client-finances { display: grid; gap: 0; }
  [data-client-orders-view="list"] > .client-data-status,
  [data-client-orders-view="list"] > .client-list-toolbar,
  .client-finances > .client-data-status,
  .client-finances > .client-list-toolbar,
  [data-client-orders-view="list"] > .client-order-list,
  [data-client-orders-view="list"] > .client-list-loader,
  .client-finances > .client-finance-list,
  .client-finances > .client-list-loader { grid-column: 1 / -1; }

  [data-client-orders-view="list"] > .client-list-toolbar,
  .client-finances > .client-list-toolbar {
    position: sticky;
    top: calc(var(--client-site-header-height) + var(--client-panel-header-height));
    z-index: 37;
    min-height: 56px;
    align-items: center;
    margin: 0;
    padding: 7px 0 9px;
    background: var(--surface-default);
    box-shadow: none;
  }
  :is([data-client-orders-view="list"], .client-finances, .client-consultations__sidebar) > .client-list-toolbar {
    display: grid;
    grid-template-columns: minmax(260px, .8fr) minmax(0, 1.35fr);
    column-gap: 14px;
    width: auto;
    top: 0;
    margin: 0;
    padding: 10px 0 6px;
    background: var(--surface-default);
    box-shadow: none;
  }
  :is([data-client-orders-view="list"], .client-finances, .client-consultations__sidebar) > .client-list-toolbar > .client-list-search--top,
  :is([data-client-orders-view="list"], .client-finances, .client-consultations__sidebar) > .client-list-toolbar > .client-order-filters {
    position: static;
    top: auto;
    z-index: auto;
    margin: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
  }
  :is([data-client-panel="orders"], [data-client-panel="documents"], [data-client-panel="consultation"]) .client-orders-search {
    width: 100%;
    max-width: none;
    margin: 0;
  }
  :is([data-client-panel="orders"], [data-client-panel="documents"], [data-client-panel="consultation"]) .client-orders-search input { min-height: 40px; }
  :is([data-client-panel="orders"], [data-client-panel="documents"], [data-client-panel="consultation"]) .client-order-filters {
    display: flex;
    gap: 6px;
    overflow: visible;
  }
  :is([data-client-panel="orders"], [data-client-panel="documents"], [data-client-panel="consultation"]) .client-order-filters button {
    flex: 0 0 auto;
    min-width: 0;
    padding-inline: 7px;
    font-size: .7rem;
  }
  .client-finances > .client-list-toolbar > .client-order-filters { min-height: 40px; }
  [data-client-panel="documents"] .client-order-filters button { flex: 1 1 0; min-height: 38px; }

  [data-client-panel="documents"] .client-finance-list {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: var(--surface-default);
    box-shadow: none;
  }
  [data-client-panel="documents"] .client-finance-list__head,
  [data-client-panel="documents"] .client-finance-row {
    display: grid;
    grid-template-columns: minmax(120px, .85fr) minmax(104px, .72fr) 82px minmax(98px, .7fr) minmax(124px, .9fr) minmax(96px, .65fr) 18px;
    grid-template-areas: none;
    align-items: center;
    gap: 10px;
  }
  [data-client-panel="documents"] .client-finance-list__head {
    position: sticky;
    top: 56px;
    z-index: 36;
    min-height: 28px;
    padding: 3px 14px;
    border-bottom: 0;
    background: var(--surface-subtle);
    font-size: .61rem;
    letter-spacing: .01em;
    text-transform: none;
  }
  [data-client-panel="documents"] .client-finance-row {
    min-height: 44px;
    padding: 4px 14px;
    border: 0;
    border-bottom: 1px solid var(--line-default);
    background: var(--surface-default);
  }
  [data-client-panel="documents"] .client-finance-row:last-child { border-bottom: 0; }
  [data-client-panel="documents"] .client-finance-row[data-finance-document]:hover,
  [data-client-panel="documents"] .client-finance-row[data-finance-document]:focus-visible { background: #f7fafc; }
  [data-client-panel="documents"] .client-finance-row > .client-order-row__name { display: grid; }
  [data-client-panel="documents"] .client-finance-row > .client-order-row__name strong { font-size: .82rem; }
  [data-client-panel="documents"] .client-finance-row > .client-order-row__delivery,
  [data-client-panel="documents"] .client-finance-row > .client-order-row__payment { display: block; }
  [data-client-panel="documents"] .client-finance-row > .client-order-row__value,
  [data-client-panel="documents"] .client-finance-row > .client-order-row__arrow { grid-area: auto; }
  [data-client-panel="documents"] .client-finance-row__order {
    grid-area: auto;
    font-size: .78rem;
  }
  [data-client-panel="documents"] .client-finance-row__mobile-document { display: none; }

  [data-client-panel="company"] .client-account {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px 12px;
  }
  [data-client-panel="company"] .client-account__overview {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    gap: 8px;
  }
  [data-client-panel="company"] .client-account__readonly:not([hidden]) { display: contents; }
  [data-client-panel="company"] .client-account__readonly[hidden] { display: none; }
  [data-client-panel="company"] .client-account__context {
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
    padding: 0;
    border: 0;
    background: transparent;
  }
  [data-client-panel="company"] .client-account__context-label {
    color: var(--text-primary);
    font-size: .75rem;
    font-weight: 700;
  }
  [data-client-panel="company"] .client-account__context .client-dashboard__company-selector {
    grid-template-columns: 40px minmax(0, 1fr) 18px;
    height: 68px;
    min-height: 68px;
    padding: 10px 14px;
    background: linear-gradient(105deg, #f2f8fc 0%, var(--status-progress-soft) 100%);
  }
  [data-client-panel="company"] .client-account__company-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    box-shadow: 0 3px 10px rgba(31, 97, 146, .08);
  }
  [data-client-panel="company"] .client-account__company-icon svg { width: 25px; height: 25px; }
  [data-client-panel="company"] .client-account__company-copy { gap: 2px; }
  [data-client-panel="company"] .client-account__company-copy > span:first-child {
    font-size: .8125rem;
    line-height: 1.22;
  }
  [data-client-panel="company"] .client-dashboard__company-selector-arrow {
    justify-self: end;
    color: var(--text-primary);
  }
  [data-client-panel="company"] .client-data-grid {
    grid-column: 1 / -1;
    grid-row: 2;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: 12px;
  }
  [data-client-panel="company"] .client-data-grid section,
  [data-client-panel="company"] .client-data-grid section:last-child {
    overflow: hidden;
    padding: 0;
    border: 1px solid var(--line-default);
    border-radius: 12px;
    background: var(--surface-default);
  }
  [data-client-panel="company"] .client-data-grid h3 { margin: 0; }
  [data-client-panel="company"] .client-data-grid h3 button {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 48px;
    padding: 11px 14px;
    background: var(--status-progress-soft);
    cursor: pointer;
    font-size: .9375rem;
    font-weight: 700;
    line-height: 1.15;
    opacity: 1;
  }
  [data-client-panel="company"] .client-data-section__number { display: none; }
  [data-client-panel="company"] .client-data-section__body {
    background: var(--surface-default);
  }
  [data-client-panel="company"] .client-data-section__body > dl {
    gap: 0;
    padding: 0 14px;
  }
  [data-client-panel="company"] .client-data-section.is-open .client-data-section__body > dl { padding-block: 4px 6px; }
  [data-client-panel="company"] .client-data-section__body dl div {
    display: grid;
    grid-template-columns: minmax(88px, .8fr) minmax(0, 1.2fr);
    align-items: baseline;
    gap: 14px;
    min-height: 40px;
    padding: 8px 0;
  }
  [data-client-panel="company"] .client-data-section__body dt {
    color: var(--text-muted);
    font-size: .6875rem;
    line-height: 1.25;
  }
  [data-client-panel="company"] .client-data-section__body dd {
    margin: 0;
    color: #40536e;
    font-size: .75rem;
    font-weight: 500;
    line-height: 1.35;
    text-align: right;
  }
  [data-client-panel="company"] .client-account__readonly-note {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    width: fit-content;
    height: 68px;
    min-height: 68px;
    max-width: 100%;
    justify-self: start;
    margin: 0;
  }
  [data-client-panel="company"] .client-account__logout {
    grid-column: 1 / -1;
    grid-row: 4;
    align-self: start;
    width: fit-content;
    max-width: 100%;
    margin: 0;
    justify-self: end;
  }
  [data-client-panel="company"] .client-account__logout .button {
    width: auto;
    max-width: 100%;
    padding-inline: 14px;
  }

  .client-dashboard__shell > [data-client-panel="orders"]:not([hidden]) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--client-desktop-gap);
    padding: 0;
    overflow: hidden;
    border: 0;
    background: transparent;
    box-shadow: none;
  }
  [data-client-panel="orders"] > .client-attention { grid-column: 1 / -1; }
  [data-client-orders-view="list"], .client-orders-detail-pane {
    min-width: 0;
    min-height: 0;
    height: 100%;
    overflow-y: auto;
    border: 1px solid var(--line-default);
    border-radius: 12px;
  }
  [data-client-orders-view="list"] { display: block; padding: 0 10px 10px; background: var(--surface-default); }
  /* Przewijanie szczegółów nie zajmuje miejsca obok karty ani nie zmienia jej szerokości. */
  .client-orders-detail-pane { background: var(--surface-subtle); scrollbar-width: none; }
  .client-orders-detail-pane::-webkit-scrollbar { display: none; }
  [data-client-orders-view="list"] > .client-list-toolbar { grid-template-columns: minmax(0, 1fr); row-gap: 6px; }
  /* Filtry zaczynają się przy lewej krawędzi; przy małej szerokości zawijają się bez ucinania. */
  [data-client-panel="orders"] .client-order-filters { justify-content: flex-start; flex-wrap: wrap; column-gap: clamp(1px, .4%, 2px); row-gap: 4px; overflow: visible; }
  [data-client-panel="orders"] .client-order-filters button { flex: 0 0 auto; gap: 3px; padding-inline: 6px; font-size: .6875rem; white-space: nowrap; }
  [data-client-panel="orders"] .client-order-list .client-order-row[aria-current="true"] {
    background: var(--status-progress-soft);
  }
  .client-orders-detail-pane [data-client-order-detail]:not([hidden]) { position: relative; width: 100%; overflow: visible; }
  .client-orders-detail-pane .client-order-detail__back { pointer-events: none; }
  .client-orders-detail-pane .client-order-detail__back > img { visibility: hidden; }
  .client-orders-detail-placeholder { margin: 0; padding: 24px; color: var(--text-muted); font-size: .84375rem; }

}

@media (max-width: 1120px) {
  [data-client-panel="company"] .client-account__readonly-note { margin: 0 12px 12px; }
  [data-client-panel="company"] .client-account__logout { margin: 0 12px 12px; }
  [data-client-panel="company"] .client-account__context {
    gap: 7px;
    padding: 0 12px;
    border: 0;
    background: transparent;
  }
  [data-client-panel="company"] .client-account__context-label {
    color: var(--text-primary);
    font-size: .75rem;
    font-weight: 700;
  }
  [data-client-panel="company"] .client-account__context .client-dashboard__company-selector {
    grid-template-columns: 38px minmax(0, 1fr) 16px;
    min-height: 62px;
    padding: 9px 12px;
    background: linear-gradient(105deg, #f2f8fc 0%, var(--status-progress-soft) 100%);
  }
  [data-client-panel="company"] .client-account__company-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    box-shadow: 0 3px 10px rgba(31, 97, 146, .08);
  }
  [data-client-panel="company"] .client-account__company-icon svg { width: 24px; height: 24px; }
  [data-client-panel="company"] .client-account__company-copy { gap: 2px; }
  [data-client-panel="company"] .client-account__company-copy > span:first-child {
    font-size: .75rem;
    line-height: 1.22;
    white-space: normal;
  }
  [data-client-panel="company"] .client-account__company-meta { font-size: .6875rem; }
  [data-client-panel="company"] .client-dashboard__company-selector-arrow {
    justify-self: end;
    color: var(--text-primary);
    transform: rotate(-45deg);
  }
  [data-client-panel="company"] .client-data-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 0 12px 12px;
  }
  [data-client-panel="company"] .client-data-grid section,
  [data-client-panel="company"] .client-data-grid section:last-child {
    overflow: hidden;
    padding: 0;
    border: 1px solid var(--line-default);
    border-radius: 12px;
    background: var(--surface-default);
  }
  [data-client-panel="company"] .client-data-grid h3 { margin: 0; }
  [data-client-panel="company"] .client-data-grid h3 button {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 44px;
    padding: 10px 12px;
    background: var(--status-progress-soft);
    cursor: pointer;
    font-size: .9375rem;
    font-weight: 700;
    line-height: 1.15;
  }
  [data-client-panel="company"] .client-data-section__number {
    display: none;
  }
  [data-client-panel="company"] .client-data-section__body > dl {
    gap: 0;
    padding: 0 12px;
  }
  [data-client-panel="company"] .client-data-section.is-open .client-data-section__body > dl { padding-bottom: 5px; }
  [data-client-panel="company"] .client-data-section__body dl div {
    display: grid;
    grid-template-columns: minmax(90px, .85fr) minmax(0, 1.15fr);
    align-items: baseline;
    gap: 12px;
    min-height: 36px;
    padding: 7px 0;
  }
  [data-client-panel="company"] .client-data-section__body dt {
    color: var(--text-muted);
    font-size: .6875rem;
    line-height: 1.2;
  }
  [data-client-panel="company"] .client-data-section__body dd {
    margin: 0;
    color: #40536e;
    font-size: .75rem;
    font-weight: 500;
    line-height: 1.3;
    text-align: right;
  }
}

@media (prefers-reduced-motion: reduce) {
  .client-data-section__body, .client-data-section__chevron { transition: none; }
}

@media (max-width: 800px) {
  .client-dashboard:is([data-client-active-tab="company"], [data-client-active-tab="consultation"]) .client-dashboard__mobile-header { border-bottom: 0; }
  [data-client-panel="orders"] .client-order-filters button strong { display: none; }
}

/* Interakcje nie pozostawiają wizualnego zaznaczenia po kliknięciu ani po Esc. */
*,
*::before,
*::after {
  -webkit-tap-highlight-color: transparent;
}
:focus,
:focus-visible {
  outline: 0 !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
}

/* Konsultacje: lista i rozmowa korzystają z jednego komponentu. */
.client-consultations { display: grid; grid-template-columns: 320px minmax(0, 1fr); height: 100%; min-height: 0; overflow: hidden; color: var(--text-primary, #17364d); }
.client-consultations [hidden] { display: none; }
.client-consultations button:not([data-consultation-filter]), .client-consultations textarea { font: inherit; }
.client-consultations input, .client-consultations textarea { font-weight: 400; }
.client-consultations button { cursor: pointer; }
.client-consultations button:disabled { cursor: wait; opacity: .55; }
.client-consultations button:focus-visible, .client-consultations summary:focus-visible, .client-consultations a:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
.client-consultations :where(svg) { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.client-consultations__sidebar { position: relative; min-height: 0; display: flex; flex-direction: column; border-right: 1px solid var(--line-default); background: #fff; }
.client-consultations__new { flex-shrink: 0; margin: 16px 20px 20px; min-height: 46px; display: flex; justify-content: center; align-items: center; gap: 10px; border: 0; border-radius: 9px; background: var(--blue); color: #fff; font-weight: 600 !important; }
.client-consultations__new svg { width: 22px; height: 22px; stroke-width: 1.6; }
.client-consultations__new:hover, .client-consultations__send:hover { background: var(--blue-hover); }
.client-consultations__sidebar > .client-list-toolbar { flex-shrink: 0; }
.client-consultations__list-scroll { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.client-consultations__status { padding: 20px; margin: 0; font-size: .95rem; color: #63798b; line-height: 1.5; }
.client-consultations__row { width: 100%; display: grid; grid-template-columns: 40px minmax(0, 1fr) auto 8px; gap: 10px; align-items: center; padding: 10px 16px; background: #fff; border: 0; border-bottom: 1px solid #edf1f4; text-align: left; color: inherit; }
.client-consultations__row:hover, .client-consultations__row[aria-current="true"] { background: #f0f7fc; }
.client-consultations__row-icon { position: relative; width: 40px; height: 42px; display: grid; place-items: center; border-radius: 9px; background: #edf5fa; color: #174c77; }
.client-consultations__row-icon.has-preview { overflow: hidden; }
.client-consultations__row-icon.is-preview-pending svg { visibility: hidden; }
.client-consultations__row-icon img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.client-consultations__row-copy { display: grid; gap: 2px; min-width: 0; line-height: 1.25; }
.client-consultations__row-title, .client-consultations__preview { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.client-consultations__row-copy strong { font-size: .95rem; font-weight: 600; }
.client-consultations__row-heading { display: flex; align-items: center; gap: 6px; min-width: 0; }
.client-consultations__row-id { flex: 0 0 auto; padding: 2px 5px; border-radius: 5px; background: #e3f0fa; color: #28658f; font-size: .75rem; font-weight: 600; line-height: 1.25; white-space: nowrap; }
.client-consultations__row-id.is-order { background: #e7f4eb; color: #36744b; }
.client-consultations__row-title { flex: 1; min-width: 0; }
.client-consultations__preview { font-size: .85rem; color: #435f75; }
.client-consultations__row-meta { display: flex; align-items: flex-end; align-self: start; flex-direction: column; gap: 4px; font-size: .75rem; line-height: 1.25; color: #6b8193; white-space: nowrap; }
.client-consultations__badge { min-width: 22px; height: 22px; padding: 0 5px; border-radius: 20px; background: var(--blue); color: #fff; display: grid; place-items: center; font-size: .8rem; }
.client-consultations__chevron { color: #8ea3b3; font-size: 1.5rem; }
.client-consultations__conversation { min-width: 0; min-height: 0; display: flex; flex-direction: column; background: #f0f7fb; position: relative; }
.client-consultations__welcome { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; padding: 36px; text-align: center; }
.client-consultations__welcome > svg { width: 62px; height: 62px; stroke-width: 1.2; margin-bottom: 18px; color: #5683a3; }
.client-consultations__welcome h3 { margin: 0; font-size: 1.3rem; font-weight: 600; }
.client-consultations__welcome p { color: #6b8193; font-size: .95rem; }
.client-consultations__thread { display: flex; flex-direction: column; flex: 1; min-height: 0; position: relative; background-color: #f0f7fb; background-image: linear-gradient(#f0f7fbed, #f0f7fbed), url('../media/consultation-wallpaper-v7.webp'); background-size: auto, 440px 440px; background-repeat: repeat; }
.client-consultations__thread-header, .client-consultations__photo-header { position: var(--consultation-header-position, sticky); top: 0; z-index: 2; flex-shrink: 0; display: grid; align-items: center; grid-template-columns: 42px minmax(0, 1fr) 42px; grid-template-rows: 50px auto; gap: 0; padding: 0; min-height: 50px; background: var(--consultation-header-background, #fff); border: 0; }
.client-consultations__thread-header > div, .client-consultations__photo-header > div { grid-column: 1 / -1; grid-row: 2; align-self: start; min-width: 0; margin-top: -16px; padding: 0 20px 10px; text-align: center; }
.client-consultations__thread-header > div:has(> h3[hidden]) { display: none; }
.client-consultations__thread-header h3, .client-consultations__photo-header h2 { margin: 0; color: var(--text-primary); font-size: .9375rem; font-weight: 700; line-height: 1.15; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.client-consultations__order-link { color: inherit; font: inherit; text-decoration: none; }
.client-consultations__order-link:hover { text-decoration: underline; }
.client-consultations__thread-header.is-resolving :is([data-consultation-number], [data-consultation-title]) { visibility: hidden; }
.client-consultations__back { display: none; border: 0; background: none; color: #174c77; padding: 0; }
.client-consultations__back img { display: block; width: 20px; height: 20px; object-fit: contain; }
.client-consultations__number { display: block; grid-column: 2; grid-row: 1; text-align: center; color: var(--text-primary); font-size: 1.0625rem; font-weight: 700; line-height: 1; }
.client-consultations__messages { flex: 1; min-height: 0; overflow-y: auto; padding: 14px 24px 22px; mask-image: linear-gradient(to bottom, #000 calc(100% - 22px), transparent); -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 22px), transparent); overscroll-behavior: contain; overflow-anchor: none; scrollbar-width: thin; }
.client-consultations__day, .client-consultations__floating-day > span { display: block; width: fit-content; padding: 6px 12px; border-radius: 999px; background: #e3eef7; color: #31546d; box-shadow: 0 1px 3px #18395118; font-size: .75rem; font-weight: 600; line-height: 1.25; text-align: center; }
.client-consultations__day { margin: 12px auto 18px; }
.client-consultations__floating-day { position: sticky; top: 8px; z-index: 3; display: flex; justify-content: center; align-items: flex-start; height: 0; pointer-events: none; }
.client-consultations__message { display: flex; flex-direction: column; align-items: flex-start; margin: 0 0 18px; }
.client-consultations__message.is-own { align-items: flex-end; }
.client-consultations__sender { display: flex; align-items: center; gap: 6px; font-size: .78rem; font-weight: 600; color: #617a90; margin: 0 0 6px; overflow-wrap: anywhere; }
.client-consultations__brand { flex-shrink: 0; width: 27px; height: 18px; background: url('../media/polok-mark-hd512.png') center / contain no-repeat; }
.client-consultations__bubble { min-width: 100px; max-width: 86%; padding: 12px 15px 8px; background: #fff; border-radius: 13px 13px 13px 3px; color: #183951; }
.client-consultations__message.is-own .client-consultations__bubble { background: #dceffc; border-radius: 13px 13px 3px 13px; }
.client-consultations__bubble p { margin: 0 0 5px; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.5; font-size: 1rem; }
.client-consultations__bubble:has(> .client-consultations__attachment:is(.has-preview, .is-preview-pending), > .client-consultations__gallery) { width: calc(var(--photo-width, 230px) + 4px); min-width: 0; padding: 2px 2px 6px; }
.client-consultations__bubble:has(> .client-consultations__gallery) { width: 324px; }
.client-consultations__bubble:has(> .client-consultations__attachment:is(.has-preview, .is-preview-pending), > .client-consultations__gallery) > .client-consultations__sender { margin: 6px 9px; }
.client-consultations__bubble:has(> .client-consultations__attachment:is(.has-preview, .is-preview-pending), > .client-consultations__gallery) > p { margin: 7px 9px 5px; }
.client-consultations__bubble:has(> .client-consultations__attachment:is(.has-preview, .is-preview-pending), > .client-consultations__gallery) > .client-consultations__time { padding: 0 9px; }
.client-consultations__time { display: block; text-align: right; font-size: .75rem; color: #648098; }
.client-consultations__sent { display: inline-flex; width: 20px; height: 14px; margin-left: 4px; vertical-align: -2px; color: #a9b5be; }
.client-consultations__sent svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.client-consultations__sent.is-read { color: #34a9df; }
.client-consultations__event { text-align: center; font-size: .8rem; color: #607d93; margin: 18px 0; }
.client-consultations__intro { color: #6a8194; text-align: center; font-size: .96rem; line-height: 1.5; padding: 26px 14px; }
.client-consultations__attachment { display: block; max-width: 260px; border: 1px solid #b7cede; background: #e6f0f8; color: #174c77; border-radius: 9px; padding: 11px 12px; margin: 5px 0 8px; text-align: left; overflow-wrap: anywhere; font-size: .9rem !important; }
.client-consultations__attachment.has-preview { max-width: 230px; padding: 0; border: 0; background: transparent; overflow: hidden; margin-top: 0; }
.client-consultations__attachment.is-preview-pending { color: transparent; border: 0; }
.client-consultations__bubble > .client-consultations__attachment.is-preview-pending { width: 230px; max-width: 100%; min-height: 120px; padding: 0; }
.client-consultations__attachment img { display: block; width: var(--preview-width, auto); height: auto; max-width: min(100%, 230px); max-height: 320px; object-fit: contain; }
.client-consultations__gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; width: 320px; max-width: 100%; margin: 0 0 8px; }
.client-consultations__gallery > .client-consultations__attachment { position: relative; display: grid; place-items: center; width: 100%; min-width: 0; max-width: none; aspect-ratio: 1; margin: 0; }
.client-consultations__gallery > .client-consultations__attachment:last-child:nth-child(odd) { grid-column: 1 / -1; aspect-ratio: 2; }
.client-consultations__gallery .client-consultations__attachment img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: cover; }
.client-consultations__more, .client-consultations__retry { display: block; margin: 12px auto; padding: 10px 16px; border: 0; border-radius: 7px; background: #eaf3f9; color: #174c77; font-size: .86rem !important; }
.client-consultations__retry { margin-left: 0; }
.client-consultations__unseen { align-self: center; border: 1px solid #d3e3ee; border-radius: 20px; padding: 8px 16px; margin: 0 0 8px; background: #fff; color: var(--blue); font-size: .84rem !important; }
.client-consultations__feedback { margin: 0; padding: 8px 20px; color: #526c7e; font-size: .85rem; background: #f7fbfe; }
.client-consultations__feedback.is-error { color: #963c36; background: #fff5f2; }
.client-consultations__composer { flex-shrink: 0; margin: 0; padding: 12px 18px; background: transparent; border: 0; }
.client-consultations__composer-row { display: flex; align-items: flex-end; gap: 9px; }
.client-consultations__message-field { position: relative; flex: 1; min-width: 0; border: 1px solid #dce6ed; border-radius: 23px; background: #fff; }
.client-consultations__message-field textarea { display: block; resize: none; overflow-y: hidden; min-height: 44px; max-height: 128px; width: 100%; margin: 0; padding: 10px 16px 10px 45px; border: 0; border-radius: 23px; line-height: 24px; color: inherit; background: transparent; outline: none; box-sizing: border-box; }
.client-consultations__message-field:focus-within { border-color: var(--blue); }
.client-consultations__send { width: 46px; height: 46px; display: grid; place-items: center; flex-shrink: 0; border: 0; border-radius: 50%; background: var(--blue); color: #fff; }
.client-consultations__composer.is-sending .client-consultations__send svg { opacity: .4; }
.client-consultations__add-file { position: absolute; left: 8px; bottom: 0; width: 32px; height: 44px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #174c77; }
.client-consultations__pending-attachments { padding: 12px 12px 4px; }
.client-consultations__pending-attachments:has(> .client-consultations__pending-files:empty) { display: none; }
.client-consultations__pending-label { display: block; margin-bottom: 8px; color: #63798b; font-size: .75rem; line-height: 1.25; }
.client-consultations__pending-files { display: flex; gap: 8px; overflow-x: auto; overscroll-behavior-x: contain; }
.client-consultations__file-chip { position: relative; display: flex; align-items: center; width: 180px; height: 112px; flex-shrink: 0; padding: 38px 12px 12px; border-radius: 9px; background: #edf5fa; font-size: .8rem; overflow: hidden; }
.client-consultations__file-chip.is-photo { width: 112px; padding: 0; background: transparent; }
.client-consultations__file-chip img { display: block; width: 100%; height: 100%; object-fit: cover; }
.client-consultations__file-chip span { overflow-wrap: anywhere; max-height: 100%; overflow: hidden; }
.client-consultations__file-chip button { position: absolute; top: 5px; right: 5px; display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%; background: #183951e6; color: #fff; font-size: 1.3rem; line-height: 1; box-shadow: 0 1px 4px #0003; }
.client-consultations__photo { --text-primary: #f5f7fa; --blue: #f5f7fa; --consultation-header-background: linear-gradient(#080c10ed, #080c1066); --photo-control-hover: #ffffff1f; position: fixed; inset: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; border-radius: 0; background: #080c10; overflow: hidden; }
.client-consultations__photo[open] { display: flex; flex-direction: column; }
.client-consultations__photo-viewer { position: relative; display: flex; flex-direction: column; flex: 1; width: 100%; height: 100%; min-height: 0; background: #080c10; }
.client-consultations__photo.is-image { --consultation-header-position: absolute; --photo-image-size: 100%; }
.client-consultations__photo::backdrop { background: #0b2535c9; }
.client-consultations__photo-header { inset-inline: 0; }
.client-consultations__photo-header[hidden] { display: none; }
.client-consultations__photo-header :is(button, a) { display: grid; place-items: center; grid-row: 1; width: 42px; height: 50px; padding: 0; border: 0; border-radius: 8px; background: transparent; color: var(--blue); text-decoration: none; }
.client-consultations__photo-header button { grid-column: 1; justify-items: start; padding-left: 14px; }
.client-consultations__photo-header a { grid-column: 3; }
.client-consultations__photo-header :is(button, a):hover { background: var(--photo-control-hover, var(--status-progress-soft)); }
.client-consultations__photo-header button img { display: block; width: 20px; height: 20px; object-fit: contain; filter: brightness(0) invert(1); }
.client-consultations__photo-content { position: relative; flex: 1; min-height: 0; display: grid; grid-template: minmax(0, 1fr) / minmax(0, 1fr); place-items: center; padding: 0; }
.client-consultations__photo.is-image .client-consultations__photo-content { overflow: hidden; }
.client-consultations__photo-content img { touch-action: none; user-select: none; -webkit-user-select: none; transform-origin: center; cursor: pointer; display: block; width: var(--photo-image-size, auto); height: var(--photo-image-size, auto); max-width: 100%; max-height: 100%; object-fit: contain; }
.client-consultations__pdf-pages { position: relative; width: 100%; height: 100%; min-width: 0; min-height: 0; padding-bottom: var(--pdf-nav-space, 0); overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; background: #080c10; }
.client-consultations__pdf-page { width: 100%; max-width: 100%; background: #fff; margin: 0 auto 8px; overflow: hidden; color: #183951; }
.client-consultations__pdf-page canvas { display: block; width: 100%; height: auto; }
.client-consultations__pdf-navigation { position: absolute; bottom: 16px; left: 50%; z-index: 1; transform: translateX(-50%); display: flex; align-items: center; gap: 12px; padding: 4px 6px; border-radius: 24px; background: #17212bed; color: #f5f7fa; box-shadow: 0 2px 12px #0004; font-size: .85rem; }
.client-consultations__pdf-navigation button { width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: inherit; font-size: 1.5rem; cursor: pointer; }
.client-consultations__pdf-navigation button:hover { background: #ffffff1f; }
.client-consultations__pdf-navigation button:disabled { opacity: .35; cursor: default; }
.client-consultations__photo-header [hidden] { display: none; }
.client-consultations__photo-loading { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 24px; background: #080c10; color: #c8d3dc; text-align: center; }
.client-consultations__photo-loading p { margin: 0; font-size: .9rem; }
.client-consultations__photo-spinner { display: block; flex-shrink: 0; width: 34px; height: 34px; border: 3px solid #ffffff26; border-top-color: #d4eaff; border-radius: 50%; will-change: transform; animation: consultation-photo-spin .8s linear infinite; }
.client-consultations__photo-loading.is-error .client-consultations__photo-spinner { display: none; }
@keyframes consultation-photo-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .client-consultations__photo-spinner { animation-duration: 1.6s; } }
.client-consultations__photo-content [hidden] { display: none; }
.client-consultations__dialog { width: min(calc(100% - 32px), 430px); box-sizing: border-box; padding: 0; border: 0; border-radius: 20px; background: #fff; color: var(--navy); box-shadow: 0 -18px 42px rgba(15, 38, 54, .18); }
.client-consultations__dialog::backdrop { background: #0b1e2c6b; }
.client-consultations__dialog > .client-contact-dialog__sheet { width: 100%; box-sizing: border-box; margin: 0; border-radius: inherit; box-shadow: none; }
.client-consultations__dialog input { box-sizing: border-box; width: 100%; min-height: 42px; border: 1px solid var(--line-strong); border-radius: 8px; padding: 9px 12px; color: var(--text-primary); background: var(--surface-default); font: 400 16px/1.25 var(--font-family); }
.client-consultations__dialog input:focus { border-color: var(--blue); outline: 2px solid var(--status-progress-soft); outline-offset: 1px; }
.client-consultations__dialog button.client-consultations__dialog-submit { justify-self: end; width: auto; min-height: 36px; padding: 8px 16px; border: 0; border-radius: 8px; color: #fff; background: var(--blue); font: 600 .84375rem/1.2 var(--font-family); }
.client-consultations__dialog-submit:hover { background: var(--blue-hover); }
@media (min-width: 1121px) {
  .client-dashboard__shell > .client-consultation-panel { padding: 0; overflow: hidden; border: 0; background: transparent; }
  .client-consultations { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--client-desktop-gap); }
  .client-consultations__sidebar, .client-consultations__conversation { border: 1px solid var(--line-default); border-radius: 12px; overflow: hidden; }
  .client-consultations__sidebar { padding: 0 10px 10px; }
  .client-consultations__sidebar > .client-list-toolbar { grid-template-columns: minmax(0, 1fr); row-gap: 6px; min-height: 0; }
}
@media (max-width: 1120px) {
  .client-consultation-panel { position: sticky; top: calc(var(--client-site-header-height, 0px) + var(--consultation-header-height, 50px)); height: calc(100dvh - var(--client-site-header-height, 0px) - var(--consultation-header-height, 50px) - var(--consultation-navigation-height, var(--client-mobile-navigation-height, 68px)) - 14px); min-height: 320px; }
  .client-consultations { grid-template-columns: 1fr; }
  .client-consultations__conversation { display: none; }
  .client-consultations.has-thread .client-consultations__sidebar { display: none; }
  .client-consultations.has-thread .client-consultations__conversation { display: flex; }
  .client-consultations__sidebar { border: 0; }
  .client-dashboard--consultation-detail { --consultation-header-height: 0px; }
  .client-dashboard--consultation-detail .client-dashboard__mobile-header,
  .client-dashboard--consultation-detail .client-tabs { display: none; }
  .client-consultations__back { display: grid; place-items: start; align-items: center; grid-column: 1; grid-row: 1; width: 42px; height: 50px; padding-left: 14px; }
  .client-consultations__new { position: absolute; z-index: 3; bottom: 18px; right: 18px; width: 52px; min-height: 52px; margin: 0; padding: 0; border-radius: 50%; box-shadow: 0 6px 18px #174c7733; }
  .client-consultations__new span { display: none; }
  .client-consultations__list-scroll { padding-bottom: 84px; }
}
@media (max-width: 800px) {
  .client-dashboard[data-client-active-tab="consultation"] { padding-bottom: 0; }
  .client-consultation-panel { position: fixed; z-index: 30; top: calc(var(--consultation-viewport-top, 0px) + var(--consultation-header-height, 50px)); left: 0; right: 0; height: calc(var(--consultation-viewport-height, 100dvh) - var(--consultation-header-height, 50px) - var(--consultation-navigation-height, calc(var(--client-mobile-navigation-height, 68px) + env(safe-area-inset-bottom)))); min-height: 0; background: #fff; }

  .client-consultations__messages { padding: 0 16px; }
  .client-consultations__messages > [data-consultation-history] { padding: 10px 0 18px; }
  .client-consultations__bubble { max-width: 88%; padding: 11px 13px 7px; }
  .client-consultations__bubble p { font-size: 1rem; }
  .client-consultations__composer { padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); }
  .client-consultations__composer-row { gap: 7px; }
  .client-consultations__message-field textarea { font-size: 16px; }
}
