/* ==========================================================
   Tender Detail — V4 Intelligence-Led layout
   Procuro tokens · Poppins · light, airy, transparent
   ========================================================== */

/* Tokens come from procuro-tokens.css. No local --td-* aliases. */
.tender-detail-page {
    background: var(--bg-light);
    color: var(--ink);
    padding: var(--space-xl-plus) 0 var(--space-6xl);
}

.tender-detail-page .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--space-xl);
}

/* ---------- STANY ---------- */
.tender-detail-page .tender-detail-state {
    padding: var(--space-4xl) var(--space-md);
    text-align: center;
    color: var(--muted);
}
.tender-detail-page .tender-detail-error-msg {
    font-size: 1.05rem;
}

/* ---------- BACK + CRUMB ---------- */
.tender-detail-page .crumb-bar {
    display: flex; align-items: center; justify-content: space-between;
    gap: var(--space-md);
    padding: 0 0 var(--space-lg);
}
.tender-detail-page .btn-back {
    display: inline-flex; align-items: center; gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm-plus); border-radius: var(--radius-md);
    background: #fff; border: 1px solid var(--border);
    color: var(--navy-800);
    font: inherit; font-size: 0.86rem; font-weight: var(--font-weight-medium);
    cursor: pointer; transition: all var(--transition-base);
}
.tender-detail-page .btn-back:hover {
    border-color: var(--teal-500); color: var(--teal-600);
    box-shadow: var(--shadow-xs);
}
.tender-detail-page .crumb {
    display: flex; align-items: center; gap: var(--space-xs);
    font-size: 0.82rem; color: var(--muted);
    flex-wrap: wrap;
}
.tender-detail-page .crumb a {
    color: var(--muted); text-decoration: none;
}
.tender-detail-page .crumb a:hover { color: var(--teal-600); }
.tender-detail-page .crumb__now {
    color: var(--navy-800); font-weight: var(--font-weight-medium);
}

/* ---------- TITLE BLOCK ---------- */
.tender-detail-page .title-block { margin-bottom: var(--space-lg); }
.tender-detail-page .title-block__meta {
    display: flex; align-items: center; gap: var(--space-xs);
    font-size: 0.82rem; flex-wrap: wrap;
    margin-bottom: var(--space-sm-plus);
}
.tender-detail-page .meta-dot { color: var(--border-strong); }
.tender-detail-page .meta-muted { color: var(--muted); }

.tender-detail-page .status-chip {
    display: inline-flex; align-items: center; gap: var(--space-2xs-plus);
    padding: var(--space-2xs) 11px; border-radius: var(--radius-pill);
    font-size: 0.76rem; font-weight: var(--font-weight-semibold); letter-spacing: 0.02em;
}
.tender-detail-page .status-chip__dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 3px rgba(46,125,50,0.16);
}
.tender-detail-page .status-chip--open    { color: var(--success); background: rgba(46,125,50,0.10); }
.tender-detail-page .status-chip--closed  { color: var(--error);   background: rgba(198,40,40,0.10); }
.tender-detail-page .status-chip--neutral { color: var(--navy-700); background: rgba(11,28,45,0.08); }
.tender-detail-page .status-chip--warn    { color: var(--warning);    background: rgba(230,81,0,0.10); }

.tender-detail-page .title-block__title {
    margin: 0 0 var(--space-xs-plus);
    font-size: clamp(1.5rem, 2.4vw, 1.95rem);
    font-weight: var(--font-weight-bold);
    letter-spacing: -0.025em;
    line-height: 1.2;
    color: var(--navy-900);
    max-width: 920px;
    text-wrap: pretty;
}
.tender-detail-page .title-block__buyer {
    margin: 0;
    display: inline-flex; align-items: center; gap: var(--space-xs);
    font-size: 0.95rem; color: var(--navy-700); font-weight: var(--font-weight-medium);
}
.tender-detail-page .title-block__buyer svg {
    color: var(--teal-500);
    flex-shrink: 0;
}

/* ---------- BUTTONS ---------- */
.tender-detail-page .btn {
    display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs);
    padding: var(--space-xs-plus) var(--space-md-plus); border-radius: var(--radius-md);
    font: inherit; font-size: 0.88rem; font-weight: var(--font-weight-semibold);
    cursor: pointer; border: 1px solid transparent;
    transition: all var(--transition-base); white-space: nowrap;
}
.tender-detail-page .btn--primary {
    background: var(--gradient-brand); color: #fff;
    box-shadow: 0 10px 28px rgba(14,165,164,0.22);
}
.tender-detail-page .btn--primary:hover { transform: translateY(-1px); }
.tender-detail-page .btn--ghost {
    background: #fff; color: var(--navy-800);
    border-color: var(--border);
}
.tender-detail-page .btn--ghost:hover {
    border-color: var(--teal-500); color: var(--teal-600);
    box-shadow: var(--shadow-xs);
}
.tender-detail-page .btn--link {
    display: inline-flex; align-items: center; gap: var(--space-2xs-plus);
    background: none; border: none; padding: var(--space-2xs-plus) 0;
    color: var(--teal-600);
    font: inherit; font-size: 0.88rem; font-weight: var(--font-weight-semibold);
    cursor: pointer;
}
.tender-detail-page .btn--link:hover { color: var(--teal-500); }

/* ---------- KEY FACTS ROW ---------- */
.tender-detail-page .facts-row {
    display: grid;
    grid-template-columns: 1.15fr 1fr 1fr;
    gap: var(--space-sm-plus);
    margin-bottom: var(--space-2xl);
}
.tender-detail-page .fact {
    padding: var(--space-lg) var(--space-lg-plus);
    border-radius: var(--radius-lg);
    background: #fff;
    border: 1px solid var(--border);
    position: relative; transition: all var(--transition-base);
}
.tender-detail-page .fact:hover {
    box-shadow: var(--shadow-sm);
    border-color: var(--border-strong);
}
.tender-detail-page .fact--deadline {
    background: linear-gradient(135deg, rgba(14,165,164,0.04), #fff 60%);
    border-color: rgba(14,165,164,0.35);
}
.tender-detail-page .fact--deadline::before {
    content: ""; position: absolute; left: 0; top: 12px; bottom: 12px;
    width: 3px; border-radius: 0 3px 3px 0;
    background: var(--gradient-brand);
}
.tender-detail-page .fact__label {
    display: inline-flex; align-items: center; gap: var(--space-2xs-plus);
    font-size: 0.72rem; font-weight: var(--font-weight-bold);
    letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--muted);
    margin-bottom: var(--space-xs-plus);
}
.tender-detail-page .fact--deadline .fact__label { color: var(--teal-600); }
.tender-detail-page .fact__value {
    font-size: 1.5rem; font-weight: var(--font-weight-bold);
    letter-spacing: -0.02em; line-height: 1.1;
    color: var(--navy-900);
}
.tender-detail-page .fact--deadline .fact__value { color: var(--teal-600); }
.tender-detail-page .fact__value-sub {
    font-size: 0.9rem; font-weight: var(--font-weight-medium);
    color: var(--muted); margin-left: var(--space-2xs);
}
.tender-detail-page .fact__sub {
    margin-top: var(--space-2xs-plus);
    font-size: 0.82rem;
    color: var(--navy-700);
}
.tender-detail-page .fact__sub.muted { color: var(--muted); }
.tender-detail-page .days-badge {
    display: inline-flex; align-items: center;
    padding: var(--space-3xs) var(--space-xs-plus); border-radius: var(--radius-pill);
    background: rgba(14,165,164,0.1);
    color: var(--teal-600); font-weight: var(--font-weight-semibold);
    font-size: 0.78rem; margin-right: var(--space-2xs);
}
.tender-detail-page .days-badge--urgent {
    background: rgba(230,81,0,0.1); color: var(--warning);
}
.tender-detail-page .days-badge--past {
    background: rgba(198,40,40,0.1); color: var(--error);
}

/* ---------- BODY GRID ---------- */
.tender-detail-page .body-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: var(--space-xl);
}
.tender-detail-page .body-main,
.tender-detail-page .body-side {
    display: flex; flex-direction: column; gap: var(--space-md-plus);
    min-width: 0;
}

/* ---------- CARD BASE ---------- */
.tender-detail-page .card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: var(--space-xl) 26px;
    box-shadow: var(--shadow-xs);
}
.tender-detail-page .card__title {
    margin: 0 0 var(--space-md);
    font-size: 1rem; font-weight: var(--font-weight-bold);
    letter-spacing: -0.01em;
    color: var(--navy-900);
    display: flex; align-items: center; gap: var(--space-xs-plus);
    flex-wrap: wrap;
}
.tender-detail-page .card__count {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 22px; height: 22px;
    padding: 0 7px; border-radius: var(--radius-pill);
    background: rgba(14,165,164,0.1);
    color: var(--teal-600);
    font-size: 0.72rem; font-weight: var(--font-weight-bold);
}
.tender-detail-page .card__hint {
    margin-left: auto;
    font-size: 0.78rem; font-weight: 400;
    color: var(--muted); letter-spacing: 0;
}
.tender-detail-page .side-card { padding: var(--space-lg) var(--space-lg-plus); }
.tender-detail-page .side-card__eyebrow {
    display: inline-flex; align-items: center; gap: var(--space-xs);
    font-size: 0.72rem; font-weight: var(--font-weight-bold);
    letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--muted);
    margin-bottom: var(--space-sm);
}

/* ---------- DESCRIPTION (collapsible) ---------- */
.tender-detail-page .shortdesc {
    position: relative;
    max-height: 7.5em;
    overflow: hidden;
    transition: max-height var(--transition-slow) ease;
}
.tender-detail-page .shortdesc.is-open { max-height: 200em; }
.tender-detail-page .shortdesc::after {
    content: ""; position: absolute; inset: auto 0 0 0;
    height: 2.4em;
    background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 85%);
    pointer-events: none;
    opacity: 1; transition: opacity var(--transition-base);
}
.tender-detail-page .shortdesc.is-open::after { opacity: 0; }
.tender-detail-page .shortdesc p,
.tender-detail-page .shortdesc li {
    color: var(--navy-700);
    font-size: 0.93rem; line-height: 1.65;
}
.tender-detail-page .shortdesc p { margin: 0 0 var(--space-sm); }
.tender-detail-page .shortdesc p:last-child { margin-bottom: 0; }
.tender-detail-page .shortdesc ul {
    margin: 0 0 var(--space-xs) var(--space-md-plus); padding: 0;
}

/* ---------- CRITERIA ---------- */
.tender-detail-page .criteria { display: flex; flex-direction: column; gap: var(--space-md); }
.tender-detail-page .criteria__part-head {
    font-size: 0.7rem; font-weight: var(--font-weight-bold);
    letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--muted);
    margin: var(--space-2xs) 0 var(--space-2xs);
}
.tender-detail-page .criteria__part + .criteria__part {
    margin-top: var(--space-sm); padding-top: var(--space-md);
    border-top: 1px solid var(--border);
}
.tender-detail-page .criteria__row { padding: var(--space-3xs) 0; }
.tender-detail-page .criteria__head {
    display: flex; justify-content: space-between; align-items: baseline;
    gap: var(--space-sm); margin-bottom: var(--space-xs);
}
.tender-detail-page .criteria__name {
    font-size: 0.95rem; font-weight: var(--font-weight-semibold); color: var(--navy-900);
}
.tender-detail-page .criteria__weight {
    font-size: 1.1rem; font-weight: var(--font-weight-bold);
    color: var(--teal-600);
    letter-spacing: -0.02em;
}
.tender-detail-page .criteria__bar {
    height: 6px; border-radius: 3px;
    background: rgba(14,165,164,0.1);
    overflow: hidden;
}
.tender-detail-page .criteria__bar-fill {
    height: 100%; border-radius: 3px;
    background: var(--gradient-brand);
    transition: width 0.5s cubic-bezier(.2,.7,.3,1);
}
.tender-detail-page .criteria__desc {
    margin: var(--space-2xs-plus) 0 0; font-size: 0.82rem; color: var(--muted);
}
.tender-detail-page .criteria__applied {
    margin: var(--space-2xs) 0 var(--space-xs);
    font-size: 0.82rem; color: var(--navy-700);
}

/* ---------- SOURCE SECTIONS (Treść ogłoszenia) ---------- */
.tender-detail-page .source-sections,
.tender-detail-page .source-sections * {
    font-family: 'Poppins', sans-serif;
}
.tender-detail-page .source-sections {
    display: flex; flex-direction: column; gap: var(--space-xs);
}
.tender-detail-page .source-sections__item {
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: var(--bg-white);
    overflow: hidden;
}
.tender-detail-page .source-sections__toggle {
    width: 100%;
    display: flex; align-items: center; gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: transparent; border: 0; cursor: pointer;
    text-align: left;
    font-size: 0.78rem; font-weight: var(--font-weight-bold);
    letter-spacing: 0.08em; text-transform: uppercase;
    color: var(--navy-900);
}
.tender-detail-page .source-sections__toggle:hover {
    background: var(--bg-soft);
}
.tender-detail-page .source-sections__chev {
    width: 1em; color: var(--teal-600);
}
.tender-detail-page .source-sections__heading { flex: 1; }
.tender-detail-page .source-sections__body {
    display: none;
    padding: 0 var(--space-md) var(--space-md);
}
.tender-detail-page .source-sections__body.is-open { display: block; }
.tender-detail-page .source-sections__fields {
    margin: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2xs);
}
.tender-detail-page .source-sections__label {
    font-size: 0.78rem; font-weight: var(--font-weight-semibold);
    color: var(--navy-700);
    margin: var(--space-xs) 0 var(--space-3xs);
}
.tender-detail-page .source-sections__label:first-child { margin-top: 0; }
.tender-detail-page .source-sections__value {
    margin: 0; padding: 0;
    font-size: 0.92rem; line-height: 1.55;
    color: var(--navy-900);
    white-space: pre-line;
}
.tender-detail-page .source-sections__value--empty { color: var(--muted); }

/* ---------- KV GRID ---------- */
.tender-detail-page .kv-grid {
    display: grid;
    grid-template-columns: minmax(160px, auto) 1fr;
    gap: var(--space-xs-plus) var(--space-xl);
    margin: 0;
}
.tender-detail-page .kv-grid dt {
    font-size: 0.82rem; color: var(--muted); font-weight: var(--font-weight-medium);
    min-width: 0; overflow-wrap: break-word; word-break: break-word;
}
.tender-detail-page .kv-grid dd {
    margin: 0; font-size: 0.93rem; font-weight: var(--font-weight-medium); color: var(--navy-900);
    min-width: 0; overflow-wrap: break-word; word-break: break-word;
}

/* ---------- TAGS ---------- */
.tender-detail-page .tag {
    display: inline-flex; padding: 1px 9px;
    border-radius: var(--radius-pill);
    font-size: 0.7rem; font-weight: var(--font-weight-bold);
    letter-spacing: 0.03em;
}
.tender-detail-page .tag--ok      { background: rgba(46,125,50,0.1); color: var(--success); }
.tender-detail-page .tag--warn    { background: rgba(230,81,0,0.1);  color: var(--warning); }
.tender-detail-page .tag--info    { background: rgba(14,165,164,0.12); color: var(--teal-600); }
.tender-detail-page .tag--neutral { background: rgba(11,28,45,0.08); color: var(--navy-800); }

/* ---------- SOURCE CARD (sidebar) ---------- */
.tender-detail-page .source-card {
    padding: var(--space-md) var(--space-lg);
}
.tender-detail-page .source-card__body {
    display: flex; align-items: center; gap: var(--space-xs-plus);
    margin-top: var(--space-xs);
}
.tender-detail-page .source-card__badge {
    flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    padding: 3px var(--space-xs-plus);
    border-radius: var(--radius-sm);
    font-size: 0.7rem; font-weight: var(--font-weight-extrabold);
    letter-spacing: 0.08em;
}
.tender-detail-page .source-card__badge--bzp {
    background: rgba(14,165,164,0.12);
    color: var(--teal-600);
    border: 1px solid rgba(14,165,164,0.3);
}
.tender-detail-page .source-card__badge--ted {
    background: rgba(25,110,210,0.1);
    color: #1964d2;
    border: 1px solid rgba(25,110,210,0.25);
}
.tender-detail-page .source-card__name {
    font-size: 0.88rem; font-weight: var(--font-weight-semibold);
    color: var(--navy-800);
}

/* ---------- BUYER (sidebar) ---------- */
.tender-detail-page .buyer-name {
    font-size: 1rem; font-weight: var(--font-weight-semibold);
    color: var(--navy-900); line-height: 1.35;
    margin-bottom: var(--space-sm-plus);
}
.tender-detail-page .side-kv {
    display: flex; flex-direction: column; gap: var(--space-xs-plus);
    margin: 0;
}
.tender-detail-page .side-kv > div { display: flex; flex-direction: column; gap: var(--space-3xs); }
.tender-detail-page .side-kv dt {
    font-size: 0.68rem; font-weight: var(--font-weight-bold);
    letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--muted);
}
.tender-detail-page .side-kv dd {
    margin: 0; font-size: 0.88rem; font-weight: var(--font-weight-medium); color: var(--navy-800);
}

/* ---------- CPV (sidebar) ---------- */
.tender-detail-page .body-side .cpv-card {
    padding: var(--space-lg) var(--space-lg-plus);
}
.tender-detail-page .body-side .cpv-card .cpv-main {
    padding: var(--space-sm) var(--space-sm-plus);
    margin-bottom: var(--space-sm-plus);
}
.tender-detail-page .body-side .cpv-card .cpv-main .cpv-code {
    font-size: 1rem;
}
.tender-detail-page .body-side .cpv-card .cpv-main .cpv-desc {
    font-size: 0.82rem;
}
.tender-detail-page .body-side .cpv-card .cpv-list {
    display: flex;
    flex-direction: column;
}
.tender-detail-page .body-side .cpv-card .cpv-list li {
    border-top: 1px solid var(--border);
    padding-top: 9px;
    padding-bottom: 9px;
}
.tender-detail-page .body-side .cpv-card .cpv-list li:first-child {
    border-top: none; padding-top: var(--space-2xs);
}
.tender-detail-page .body-side .cpv-card .cpv-list__code {
    font-size: 0.88rem;
}
.tender-detail-page .body-side .cpv-card .cpv-list__desc {
    font-size: 0.78rem;
}

.tender-detail-page .cpv-main {
    padding: var(--space-sm) var(--space-sm-plus);
    border-radius: var(--radius-md);
    background: var(--gradient-brand-soft);
    border: 1px solid rgba(14,165,164,0.2);
    margin-bottom: var(--space-sm);
}
.tender-detail-page .cpv-tag {
    display: inline-flex;
    padding: 1px var(--space-xs); border-radius: var(--radius-pill);
    background: var(--gradient-brand); color: #fff;
    font-size: 0.64rem; font-weight: var(--font-weight-bold);
    letter-spacing: 0.1em; text-transform: uppercase;
    margin-bottom: var(--space-2xs-plus);
}
.tender-detail-page .cpv-main .cpv-code {
    font-size: 0.98rem; font-weight: var(--font-weight-bold);
    color: var(--teal-600); letter-spacing: -0.01em;
}
.tender-detail-page .cpv-main .cpv-desc {
    font-size: 0.82rem; color: var(--navy-800); margin-top: var(--space-3xs);
}
.tender-detail-page .cpv-list {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column;
}
.tender-detail-page .cpv-list li {
    display: flex; flex-direction: column; gap: 1px;
    padding-top: var(--space-xs);
    padding-bottom: var(--space-xs);
    border-top: 1px solid var(--border);
}
.tender-detail-page .cpv-list li:first-child { border-top: none; padding-top: var(--space-2xs); }
.tender-detail-page .cpv-list__code {
    font-size: 0.85rem; font-weight: var(--font-weight-semibold); color: var(--navy-800);
}
.tender-detail-page .cpv-list__desc {
    font-size: 0.78rem; color: var(--muted);
}
.tender-detail-page .cpv-list__code-row {
    display: flex; align-items: center; gap: var(--space-xs); flex-wrap: wrap;
}
.tender-detail-page .cpv-list__item--matched {
    background: rgba(14,165,164,0.04);
    margin: 0 -8px; padding-left: var(--space-xs); padding-right: var(--space-xs);
    border-radius: var(--radius-sm);
}
.tender-detail-page .cpv-list__match-reason,
.tender-detail-page .cpv-main__reason {
    display: block;
    font-size: 0.74rem;
    font-style: italic;
    color: var(--teal-600);
    margin-top: var(--space-3xs);
}
.tender-detail-page .cpv-main__head {
    display: flex; align-items: center; gap: var(--space-xs); flex-wrap: wrap;
    margin-bottom: var(--space-2xs-plus);
}
.tender-detail-page .cpv-main__head .cpv-tag { margin-bottom: 0; }
.tender-detail-page .cpv-main--matched {
    border-color: rgba(14,165,164,0.45);
    box-shadow: 0 0 0 3px rgba(14,165,164,0.06);
}
.tender-detail-page .cpv-match-pill {
    display: inline-flex;
    padding: 1px 7px; border-radius: 4px;
    font-size: 0.6rem; font-weight: var(--font-weight-extrabold);
    letter-spacing: 0.08em; line-height: 1.5;
    white-space: nowrap;
}
.tender-detail-page .cpv-match-pill--class {
    background: var(--gradient-brand); color: #fff;
}
.tender-detail-page .cpv-match-pill--group {
    color: var(--teal-500);
    border: 2px solid var(--teal-500);
}
.tender-detail-page .cpv-match-pill--division {
    color: #8899a6;
    border: 2px solid #c4cdd5;
}

/* ---------- NOTES (sidebar) ---------- */
.tender-detail-page .notes-card {
    background: linear-gradient(180deg, #fff, #fafbfc);
}
.tender-detail-page .notes-card__head {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: var(--space-xs-plus);
    gap: var(--space-xs);
}
.tender-detail-page .notes-card__head .side-card__eyebrow { margin-bottom: 0; }
.tender-detail-page .notes-card__status {
    font-size: 0.74rem; font-weight: var(--font-weight-medium);
    color: var(--muted);
    min-height: 14px;
    transition: color var(--transition-base);
    text-align: right;
}
.tender-detail-page .notes-card__status.is-saved { color: var(--teal-600); }
.tender-detail-page .notes-card__status.is-saving { color: var(--muted); font-style: italic; }
.tender-detail-page .notes-card__status.is-error { color: var(--error); font-weight: var(--font-weight-semibold); }
.tender-detail-page .notes-ta {
    width: 100%;
    min-height: 96px;
    padding: var(--space-sm) var(--space-sm-plus);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: #fff;
    font: inherit; font-size: 0.88rem; line-height: 1.55;
    color: var(--navy-900);
    resize: vertical;
    transition: border-color var(--transition-base), box-shadow var(--transition-base);
}
.tender-detail-page .notes-ta:focus {
    outline: none;
    border-color: var(--teal-500);
    box-shadow: var(--shadow-focus-ring);
}
.tender-detail-page .notes-ta:disabled {
    background: #f3f4f6; color: var(--muted); cursor: not-allowed;
}
.tender-detail-page .notes-card__foot {
    display: flex; justify-content: space-between;
    font-size: 0.76rem; margin-top: var(--space-2xs-plus);
    color: var(--muted);
}
.tender-detail-page .notes-card__hint {
    font-size: 0.82rem; color: var(--muted);
    margin: var(--space-2xs) 0 var(--space-sm);
}

/* ---------- RELATED RECORDS (Ogłoszenia timeline — Variant B) ---------- */
.tender-detail-page .related-card { padding: 24px 28px 28px; }

.tender-detail-page .rel-header { margin-bottom: 20px; }
.tender-detail-page .rel-header__row {
    display: flex; align-items: center; gap: 8px;
}
.tender-detail-page .rel-header__title {
    margin: 0;
    font-size: 0.97rem;
    font-weight: 700;
    color: #102a43;
    letter-spacing: -0.015em;
    line-height: 1.3;
}
.tender-detail-page .rel-header__count {
    display: inline-flex; align-items: center; justify-content: center;
    width: 20px; height: 20px;
    background: rgba(14, 165, 164, 0.10);
    border: 1px solid rgba(14, 165, 164, 0.22);
    color: #0ea5a4;
    font-size: 0.65rem; font-weight: 700;
    border-radius: 50%;
    flex-shrink: 0;
}
.tender-detail-page .rel-proceeding-id {
    margin: 5px 0 0;
    font-size: 0.68rem;
    color: #b0b7c3;
    font-family: 'Poppins', monospace;
    letter-spacing: 0.005em;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.tender-detail-page .rel-timeline {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column;
}

/* Status palette per item (Variant B handoff) */
.tender-detail-page .rel-item--status-result {
    --rel-color: #1d6f2e;
    --rel-bg: rgba(29, 111, 46, 0.07);
    --rel-border: rgba(29, 111, 46, 0.18);
    --rel-dot: #2e7d32;
}
.tender-detail-page .rel-item--status-pub {
    --rel-color: #0b7a79;
    --rel-bg: rgba(14, 165, 164, 0.07);
    --rel-border: rgba(14, 165, 164, 0.20);
    --rel-dot: #0ea5a4;
}
.tender-detail-page .rel-item--status-change {
    --rel-color: #b94a0a;
    --rel-bg: rgba(185, 74, 10, 0.07);
    --rel-border: rgba(185, 74, 10, 0.18);
    --rel-dot: #c2500f;
}
.tender-detail-page .rel-item--status-initial {
    --rel-color: #555d6b;
    --rel-bg: rgba(107, 114, 128, 0.07);
    --rel-border: rgba(107, 114, 128, 0.16);
    --rel-dot: #9ca3af;
}

.tender-detail-page .rel-item {
    display: grid;
    grid-template-columns: 72px 28px 1fr;
    align-items: stretch;
}

/* Collapse: hide rows past threshold until expanded */
.tender-detail-page .rel-item--collapsed { display: none; }
.tender-detail-page .rel-timeline--expanded .rel-item--collapsed { display: grid; }

/* Date column */
.tender-detail-page .rel-item__date {
    display: flex; flex-direction: column; align-items: flex-end;
    padding-top: 3px;
    padding-bottom: 14px;
    font-variant-numeric: tabular-nums;
}
.tender-detail-page .rel-item--last .rel-item__date { padding-bottom: 0; }
.tender-detail-page .rel-item__day {
    font-size: 0.82rem; font-weight: 700; line-height: 1.2;
    color: #374151;
    letter-spacing: -0.01em;
}
.tender-detail-page .rel-item--latest .rel-item__day { color: var(--rel-color); }
.tender-detail-page .rel-item__year {
    font-size: 0.65rem; font-weight: 500; line-height: 1.2;
    color: #b0b7c3;
}

/* Rail + dot column */
.tender-detail-page .rel-item__rail {
    display: flex; flex-direction: column; align-items: center;
    position: relative;
}
.tender-detail-page .rel-item__rail-line {
    width: 1.5px;
    background: rgba(14, 165, 164, 0.18);
}
.tender-detail-page .rel-item__rail-line--top { flex: 0 0 8px; }
.tender-detail-page .rel-item__rail-line--bottom { flex: 1 1 auto; }
.tender-detail-page .rel-item--first .rel-item__rail-line--top { visibility: hidden; }
.tender-detail-page .rel-item--last .rel-item__rail-line--bottom { display: none; }
/* When collapsed, the 3rd (last visible) row should not show a dangling rail-line */
.tender-detail-page .rel-timeline:not(.rel-timeline--expanded) .rel-item:nth-child(3) .rel-item__rail-line--bottom { display: none; }

.tender-detail-page .rel-item__dot {
    width: 9px; height: 9px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid var(--rel-dot);
    box-sizing: border-box;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}
.tender-detail-page .rel-item--latest .rel-item__dot {
    width: 11px; height: 11px;
    background: var(--rel-dot);
    box-shadow: 0 0 0 3px var(--rel-bg);
}

/* Content column */
.tender-detail-page .rel-item__content {
    padding-left: 14px;
    padding-top: 2px;
    padding-bottom: 14px;
    min-width: 0;
}
.tender-detail-page .rel-item--last .rel-item__content { padding-bottom: 0; }

.tender-detail-page .rel-item__meta {
    display: flex; align-items: center; gap: 7px;
    flex-wrap: wrap;
    margin-bottom: 4px;
}
.tender-detail-page .rel-item__badge {
    display: inline-flex; align-items: center;
    padding: 2px 9px;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1.5;
    white-space: nowrap;
    color: var(--rel-color);
    background: var(--rel-bg);
    border: 1px solid var(--rel-border);
}
.tender-detail-page .rel-item__bzp {
    font-family: 'Poppins', monospace;
    font-size: 0.68rem;
    color: #8a93a2;
    letter-spacing: 0.01em;
    white-space: nowrap;
    background: none;
    border: none;
    padding: 0;
}
.tender-detail-page .rel-item__title {
    font-size: 0.85rem;
    font-weight: 500;
    color: #4b5563;
    line-height: 1.4;
    letter-spacing: -0.01em;
    margin-bottom: 6px;
}
.tender-detail-page .rel-item--latest .rel-item__title {
    font-weight: 600;
    color: #0b1c2d;
}

.tender-detail-page .rel-item__actions {
    display: flex; gap: 6px; flex-wrap: wrap;
}
.tender-detail-page .rel-item__source {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 4px 10px;
    font-size: 0.72rem;
    font-weight: 600;
    border-radius: 7px;
    border: 1px solid #e5e7eb;
    background: transparent;
    color: #9ca3af;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.15s ease, color 0.15s ease;
}
.tender-detail-page .rel-item__source:hover {
    border-color: #d1d5db;
    color: #374151;
}
.tender-detail-page .rel-item__source-icon {
    display: inline-flex; align-items: center;
    line-height: 0;
}

/* Expand / collapse button */
.tender-detail-page .rel-expand-btn {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 0;
    background: none;
    border: none;
    font-family: inherit;
    font-size: 0.78rem;
    font-weight: 600;
    color: #0ea5a4;
    cursor: pointer;
    margin-top: 16px;
    transition: color 0.15s;
}
.tender-detail-page .rel-expand-btn:hover { color: #0891b2; }
.tender-detail-page .rel-expand-btn__icon {
    display: inline-flex; align-items: center;
    line-height: 0;
}

/* ---------- CONTRACT RESULT (multi-part) ---------- */
.tender-detail-page .result-card {
    border: 1px solid rgba(14,165,164,0.28);
    background: linear-gradient(180deg, rgba(14,165,164,0.045), #fff 40%);
    position: relative; overflow: hidden;
}
.tender-detail-page .result-card::before {
    content: ""; position: absolute;
    left: 0; top: 0; bottom: 0; width: 3px;
    background: var(--gradient-brand);
}
.tender-detail-page .result-dot {
    display: inline-block;
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--gradient-brand);
    box-shadow: 0 0 0 3px rgba(14,165,164,0.18);
    margin-right: var(--space-3xs);
}

.tender-detail-page .result-part + .result-part {
    margin-top: var(--space-lg); padding-top: var(--space-lg);
    border-top: 1px solid var(--border);
}
.tender-detail-page .result-part__head {
    font-size: 0.72rem; font-weight: var(--font-weight-bold);
    letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--teal-600);
    margin-bottom: var(--space-sm);
    display: inline-flex; align-items: center; gap: var(--space-2xs-plus);
    padding: 3px var(--space-xs-plus);
    background: rgba(14,165,164,0.08);
    border-radius: var(--radius-pill);
}

.tender-detail-page .result-awarded {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: var(--space-md) var(--space-md-plus);
    margin-bottom: var(--space-md);
    box-shadow: var(--shadow-xs);
}
.tender-detail-page .result-awarded__badge {
    display: inline-flex; align-items: center; gap: var(--space-2xs-plus);
    padding: 3px var(--space-xs-plus) 3px var(--space-xs);
    border-radius: var(--radius-pill);
    background: var(--gradient-brand);
    color: #fff;
    font-size: 0.7rem; font-weight: var(--font-weight-bold);
    letter-spacing: 0.04em;
    margin-bottom: var(--space-xs-plus);
}
.tender-detail-page .result-awarded__badge--cancel {
    background: rgba(198,40,40,0.12); color: var(--error);
}
.tender-detail-page .result-awarded__name {
    font-size: 1.15rem; font-weight: var(--font-weight-bold);
    color: var(--navy-900); letter-spacing: -0.015em;
    line-height: 1.3;
    margin-bottom: var(--space-sm-plus);
    text-wrap: pretty;
}
.tender-detail-page .result-awarded__row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-sm-plus) var(--space-lg);
}
.tender-detail-page .kv-mini__lbl {
    font-size: 0.66rem; font-weight: var(--font-weight-bold);
    letter-spacing: 0.11em; text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 3px;
}
.tender-detail-page .kv-mini__val {
    font-size: 0.92rem; font-weight: var(--font-weight-semibold);
    color: var(--navy-900);
    font-variant-numeric: tabular-nums;
}
.tender-detail-page .kv-mini__val--big {
    font-size: 1.05rem; font-weight: var(--font-weight-bold);
    color: var(--teal-600);
    letter-spacing: -0.01em;
}

.tender-detail-page .result-extra.kv-grid {
    grid-template-columns: minmax(160px, auto) 1fr;
    padding: var(--space-2xs) var(--space-2xs) 0;
    gap: var(--space-xs) var(--space-lg);
}
.tender-detail-page .result-extra dt { font-size: 0.8rem; }
.tender-detail-page .result-extra dd { font-size: 0.88rem; font-weight: var(--font-weight-medium); }

.tender-detail-page .contractors-block {
    margin-top: var(--space-md-plus); padding-top: var(--space-md-plus);
    border-top: 1px solid var(--border);
}
.tender-detail-page .contractors-block__title {
    display: flex; align-items: center; gap: var(--space-xs);
    font-size: 0.85rem; font-weight: var(--font-weight-semibold);
    color: var(--navy-900);
    margin-bottom: var(--space-xs-plus);
}
.tender-detail-page .contractors-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: #fff;
}
.tender-detail-page .contractors-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}
.tender-detail-page .contractors-table th,
.tender-detail-page .contractors-table td {
    text-align: left;
    padding: var(--space-xs-plus) var(--space-sm-plus);
}
.tender-detail-page .contractors-table thead th {
    font-size: 0.7rem; font-weight: var(--font-weight-bold);
    letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--muted);
    background: var(--bg-light);
    border-bottom: 1px solid var(--border);
}
.tender-detail-page .contractors-table tbody tr + tr td {
    border-top: 1px solid var(--border);
}
.tender-detail-page .contractors-table td { color: var(--navy-800); }
.tender-detail-page .contractors-table__name {
    font-weight: var(--font-weight-semibold); color: var(--navy-900);
}
.tender-detail-page .contractors-table__nip {
    font-variant-numeric: tabular-nums;
    color: var(--navy-700);
}

/* ---------- CHANGES CARD (within procedure card) ---------- */
.tender-detail-page .changes-list {
    display: flex; flex-direction: column; gap: var(--space-sm);
    margin: 0; padding: 0; list-style: none;
}
.tender-detail-page .changes-group {
    padding: var(--space-sm) var(--space-sm-plus);
    background: var(--bg-light);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
}
.tender-detail-page .changes-group__section {
    font-size: 0.82rem; font-weight: var(--font-weight-semibold);
    color: var(--navy-700);
    margin: 0 0 var(--space-xs);
}
.tender-detail-page .changes-item {
    padding: var(--space-2xs-plus) 0;
    border-top: 1px dashed var(--border);
}
.tender-detail-page .changes-item:first-child { border-top: none; padding-top: 0; }
.tender-detail-page .changes-item__label {
    font-size: 0.85rem; font-weight: var(--font-weight-semibold);
    color: var(--navy-900);
    margin: 0 0 var(--space-2xs);
}
.tender-detail-page .changes-item__diff {
    display: grid;
    grid-template-columns: minmax(50px, auto) 1fr;
    gap: var(--space-2xs) var(--space-sm);
    font-size: 0.82rem;
    color: var(--navy-700);
}
.tender-detail-page .changes-item__diff dt {
    font-weight: var(--font-weight-bold); color: var(--muted);
    text-transform: uppercase; letter-spacing: 0.06em;
    font-size: 0.7rem;
}
.tender-detail-page .changes-item__diff dd { margin: 0; }

/* ---------- UPDATES CARD ---------- */
.tender-detail-page .updates-meta {
    margin: 0 0 var(--space-sm);
    font-size: 0.85rem;
    color: var(--navy-700);
}
.tender-detail-page .updates-meta.muted { color: var(--muted); }
.tender-detail-page .updates-block + .updates-block {
    margin-top: var(--space-md-plus);
    padding-top: var(--space-md-plus);
    border-top: 1px dashed var(--border);
}
.tender-detail-page .updates-block__title {
    display: flex; align-items: center; gap: var(--space-xs-plus);
    flex-wrap: wrap;
    margin: 0 0 var(--space-xs-plus);
    font-size: 0.86rem; font-weight: var(--font-weight-bold);
    color: var(--navy-900);
    letter-spacing: -0.005em;
}
.tender-detail-page .updates-block__link {
    margin-left: auto;
}

/* ---------- AI MATCH ZONE (full-width, above facts row) ---------- */
.tender-detail-page #tenderAiZone {
    margin-bottom: var(--space-lg);
}
.tender-detail-page #tenderAiZone:empty {
    display: none;
}

/* ---------- AI INTELLIGENCE CARD (redesign V5) ---------- */
.tender-detail-page .ai-card {
    padding: 0;
    overflow: hidden;
    position: relative;
    border: 1px solid rgba(14,165,164,0.20);
    border-radius: 20px;
    background:
        radial-gradient(ellipse 700px 320px at 85% 0%, rgba(14,165,164,0.10), transparent 65%),
        radial-gradient(ellipse 600px 280px at 0% 100%, rgba(8,145,178,0.07), transparent 65%),
        linear-gradient(180deg, #ffffff 0%, #f9fcfd 100%);
    box-shadow: 0 16px 40px rgba(11,28,45,0.06), 0 2px 6px rgba(11,28,45,0.03);
    color: var(--navy-900);
}
.tender-detail-page .ai-card--medium {
    border-color: rgba(14,165,164,0.14);
}
/* 3px gradient top bar */
.tender-detail-page .ai-card::after {
    content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px;
    background: linear-gradient(90deg, #0ea5a4 0%, #0891b2 50%, #1e3a8a 100%);
    z-index: 1;
}
.tender-detail-page .ai-card__inner {
    position: relative;
    padding: 28px 32px 22px;
}

/* ----- Top bar ----- */
.tender-detail-page .ai-card__header-row {
    display: flex; justify-content: space-between; align-items: center;
    gap: var(--space-md);
    flex-wrap: wrap;
    margin-bottom: 22px;
}
.tender-detail-page .ai-card__brand {
    display: inline-flex; align-items: center; gap: var(--space-2xs-plus);
    font-size: 0.75rem; font-weight: var(--font-weight-bold);
    letter-spacing: 0.08em; text-transform: uppercase;
    color: var(--teal-600);
}
.tender-detail-page .ai-card__brand-icon {
    display: inline-flex; align-items: center;
}
.tender-detail-page .ai-card__actions {
    display: flex; gap: var(--space-2xs-plus); flex-wrap: wrap;
}

/* ----- Hero ----- */
.tender-detail-page .ai-card__hero {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 28px;
    align-items: center;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--border);
}
.tender-detail-page .ai-card__score-block {
    display: flex; align-items: baseline; gap: 4px;
    line-height: 1;
}
.tender-detail-page .ai-card__score-num {
    font-size: 88px; font-weight: var(--font-weight-bold);
    letter-spacing: -0.04em;
    font-variant-numeric: tabular-nums;
    background: var(--gradient-brand);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.tender-detail-page .ai-card__score-pct {
    font-size: 36px; font-weight: var(--font-weight-bold);
    letter-spacing: -0.02em;
    color: var(--teal-600);
}
.tender-detail-page .ai-card__hero-text { min-width: 0; }
.tender-detail-page .ai-card__hero-eyebrow {
    display: flex; align-items: center; gap: var(--space-2xs-plus);
    font-size: 0.69rem; font-weight: var(--font-weight-bold);
    letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--teal-600);
    margin-bottom: var(--space-2xs);
}
.tender-detail-page .ai-card__hero-eyebrow-icon {
    display: inline-flex; align-items: center;
}
.tender-detail-page .ai-card__hero-headline {
    margin: 0;
    font-size: 1.5rem; font-weight: var(--font-weight-bold);
    letter-spacing: -0.025em; line-height: 1.2;
    color: var(--navy-900);
}
.tender-detail-page .ai-card--medium .ai-card__hero-headline {
    font-size: 1.35rem;
}
.tender-detail-page .ai-card__accent {
    background: var(--gradient-brand);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.tender-detail-page .ai-card__hero-sub {
    margin: var(--space-2xs) 0 0;
    font-size: 0.875rem; color: var(--muted);
    line-height: 1.55;
}

/* ----- Wymiary ----- */
.tender-detail-page .ai-card__dims {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    padding: 22px 0;
    border-bottom: 1px solid var(--border);
}
.tender-detail-page .ai-card__dim {
    display: flex; flex-direction: column; gap: var(--space-2xs);
}
.tender-detail-page .ai-card__dim-head {
    display: flex; align-items: baseline; justify-content: space-between;
}
.tender-detail-page .ai-card__dim-name {
    font-size: 0.75rem; font-weight: var(--font-weight-bold);
    letter-spacing: 0.06em; text-transform: uppercase;
    color: var(--navy-700);
}
.tender-detail-page .ai-card__dim-pct {
    font-size: 1.125rem; font-weight: var(--font-weight-bold);
    letter-spacing: -0.01em;
    color: var(--teal-600);
    font-variant-numeric: tabular-nums;
}
.tender-detail-page .ai-card__dim-track {
    height: 8px; border-radius: 999px;
    background: rgba(14,165,164,0.10);
    overflow: hidden;
}
.tender-detail-page .ai-card__dim-fill {
    height: 100%; border-radius: 999px;
    background: var(--gradient-brand);
    box-shadow: 0 1px 8px rgba(14,165,164,0.28);
    transition: width 0.6s cubic-bezier(.2,.7,.3,1);
}
.tender-detail-page .ai-card__dim-hint {
    font-size: 0.72rem; color: var(--muted);
}

/* ----- Powody ----- */
.tender-detail-page .ai-card__reasons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    padding-top: 22px;
    align-items: start;
}
/* V1 (BASIC): tylko CPV — jedna kolumna, bez pustej prawej. */
.tender-detail-page .ai-card__reasons--single {
    grid-template-columns: 1fr;
}
.tender-detail-page .ai-card__reasons-col {
    display: flex; flex-direction: column;
    gap: 14px;
    min-width: 0;
}
.tender-detail-page .ai-card__reason {
    display: grid;
    grid-template-columns: 30px 1fr;
    gap: var(--space-xs);
    align-items: start;
}
.tender-detail-page .ai-card__reason-icon {
    width: 30px; height: 30px;
    border-radius: 9px;
    display: inline-flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.tender-detail-page .ai-card__reason-icon--ok   { background: rgba(46,125,50,0.10);  color: var(--success); }
.tender-detail-page .ai-card__reason-icon--mid  { background: rgba(230,81,0,0.10);   color: var(--warning); }
.tender-detail-page .ai-card__reason-icon--info { background: rgba(14,165,164,0.10); color: var(--teal-600); }
.tender-detail-page .ai-card__reason-main { min-width: 0; }
.tender-detail-page .ai-card__reason-name {
    font-size: 0.66rem; font-weight: var(--font-weight-bold);
    letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 3px;
}
.tender-detail-page .ai-card__reason-text {
    font-size: 0.845rem; font-weight: var(--font-weight-medium);
    color: var(--navy-900); line-height: 1.45;
    overflow-wrap: anywhere;
}
/* Powód wielosegmentowy (CPV) — punkty rozdzielone delikatną linią */
.tender-detail-page .ai-card__reason-lines {
    display: flex; flex-direction: column;
}
.tender-detail-page .ai-card__reason-line {
    font-size: 0.845rem; font-weight: var(--font-weight-medium);
    color: var(--navy-900); line-height: 1.4;
    overflow-wrap: anywhere;
    padding: 5px 0;
}
.tender-detail-page .ai-card__reason-line:first-child { padding-top: 0; }
.tender-detail-page .ai-card__reason-line:last-child { padding-bottom: 0; }
.tender-detail-page .ai-card__reason-line:not(:last-child) {
    border-bottom: 1px solid var(--border);
}

/* ----- Sekcja semantyczna (PRO) ----- */
.tender-detail-page .ai-card__semantic {
    position: relative;
    border-top: 1px solid rgba(14,165,164,0.28);
    background: linear-gradient(135deg, rgba(14,165,164,0.08), #ffffff 65%);
    padding: 20px 32px 24px;
}
.tender-detail-page .ai-card__semantic::before {
    content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(14,165,164,0.5), transparent);
}
.tender-detail-page .ai-card__semantic-head {
    display: flex; align-items: center; gap: var(--space-2xs-plus);
    margin-bottom: var(--space-xs);
}
.tender-detail-page .ai-card__semantic-eyebrow {
    display: inline-flex; align-items: center; gap: var(--space-2xs);
    font-size: 0.69rem; font-weight: var(--font-weight-bold);
    letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--teal-600);
}
.tender-detail-page .ai-card__semantic-eyebrow .pro-badge-inline {
    letter-spacing: 0.04em;
}
.tender-detail-page .ai-card__semantic-body {
    display: flex; flex-direction: column; gap: 7px;
}
.tender-detail-page .ai-card__semantic-summary {
    margin: 0 0 2px;
    font-size: 0.845rem; font-weight: var(--font-weight-semibold);
    color: var(--navy-900); line-height: 1.4;
}
.tender-detail-page .ai-card__semantic-row {
    display: flex; align-items: baseline; gap: var(--space-2xs-plus);
    font-size: 0.845rem; line-height: 1.55;
}
.tender-detail-page .ai-card__semantic-row-icon {
    flex-shrink: 0; width: 14px;
    font-size: 0.82rem; font-weight: var(--font-weight-bold);
    line-height: 1.55;
}
.tender-detail-page .ai-card__semantic-row--ok   .ai-card__semantic-row-icon { color: #0f766e; }
.tender-detail-page .ai-card__semantic-row--warn .ai-card__semantic-row-icon { color: var(--warning); }
.tender-detail-page .ai-card__semantic-row-text { color: var(--navy-800); }
.tender-detail-page .ai-card__semantic-row-text b {
    font-weight: var(--font-weight-semibold); color: var(--navy-900);
}
.tender-detail-page .ai-card__semantic-link {
    color: var(--teal-600); font-weight: var(--font-weight-semibold);
    text-decoration: none; margin-left: 3px;
}
.tender-detail-page .ai-card__semantic-link:hover { text-decoration: underline; }

/* ----- Przyciski top-bara ----- */
.tender-detail-page .ai-card__follow-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: var(--space-3xs);
    box-sizing: border-box;
    padding: 7px 12px; border-radius: 10px;
    background: #fff; border: 1px solid var(--border);
    color: var(--navy-800);
    font: inherit; font-size: 0.75rem; font-weight: var(--font-weight-semibold);
    cursor: pointer; transition: all var(--transition-base); white-space: nowrap;
}
.tender-detail-page .ai-card__follow-btn:hover {
    border-color: var(--teal-500); color: var(--teal-600);
    box-shadow: var(--shadow-xs);
}
.tender-detail-page .ai-card__follow-btn.is-followed {
    background: rgba(14,165,164,0.08);
    border-color: rgba(14,165,164,0.40);
    color: var(--teal-600);
}

/* "Znajdź podobne" button — premium gradient pill */
.tender-detail-page .ai-card__similar-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: var(--space-3xs);
    box-sizing: border-box;
    padding: 7px 12px; border-radius: 10px;
    background: linear-gradient(135deg, #1fb6ff 0%, #3ddc97 100%);
    border: 1px solid transparent;
    color: #fff; text-decoration: none;
    font: inherit; font-size: 0.75rem; font-weight: var(--font-weight-semibold);
    line-height: 1; white-space: nowrap; cursor: pointer;
    box-shadow: 0 4px 12px rgba(8, 145, 178, 0.18), inset 0 1px 0 rgba(255,255,255,0.2);
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
    position: relative; overflow: hidden;
}
.tender-detail-page .ai-card__similar-btn::before {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.18) 50%, transparent 100%);
    transform: translateX(-100%); transition: transform 0.55s ease;
    pointer-events: none;
}
.tender-detail-page .ai-card__similar-btn:hover:not(:disabled)::before {
    transform: translateX(100%);
}
.tender-detail-page .ai-card__similar-btn:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(8, 145, 178, 0.28), inset 0 1px 0 rgba(255,255,255,0.25);
    filter: brightness(1.04);
}
.tender-detail-page .ai-card__similar-btn:active:not(:disabled) {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(8, 145, 178, 0.22), inset 0 1px 0 rgba(255,255,255,0.2);
}
.tender-detail-page .ai-card__similar-btn:disabled,
.tender-detail-page .ai-card__similar-btn.is-loading {
    cursor: progress; opacity: 0.85;
}
.tender-detail-page .ai-card__similar-btn.is-loading .ai-card__similar-btn__icon {
    animation: similar-spin 1s linear infinite;
}
.tender-detail-page .ai-card__similar-btn.is-active {
    background: linear-gradient(135deg, #0ea5a4 0%, #0891b2 60%, #1e3a8a 130%);
    box-shadow: 0 4px 14px rgba(11, 28, 45, 0.32), inset 0 1px 0 rgba(255,255,255,0.18);
}
.tender-detail-page .ai-card__similar-btn .pro-badge-inline {
    background: rgba(255,255,255,0.22);
    color: #fff; font-size: 0.6rem; padding: 1px 5px;
}
.tender-detail-page .ai-card__similar-btn__icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 14px; height: 14px;
}
@keyframes similar-spin {
    to { transform: rotate(360deg); }
}
/* Tablet / small laptop — węższe paddingi, akcje pod marką */
@media (max-width: 760px) {
    .tender-detail-page .ai-card__inner {
        padding: 24px 20px 18px;
    }
    .tender-detail-page .ai-card__header-row {
        align-items: flex-start;
    }
    .tender-detail-page .ai-card__actions {
        width: 100%;
    }
    .tender-detail-page .ai-card__actions > * {
        flex: 1;
    }
    .tender-detail-page .ai-card__hero {
        gap: 18px;
    }
    .tender-detail-page .ai-card__score-num { font-size: 64px; }
    .tender-detail-page .ai-card__score-pct { font-size: 28px; }
    .tender-detail-page .ai-card__hero-headline { font-size: 1.25rem; }
    .tender-detail-page .ai-card--medium .ai-card__hero-headline { font-size: 1.15rem; }
    .tender-detail-page .ai-card__semantic {
        padding: 18px 20px 22px;
    }
}

/* Phone — wszystko w jednej kolumnie */
@media (max-width: 480px) {
    .tender-detail-page .ai-card__hero {
        grid-template-columns: 1fr;
        gap: var(--space-2xs);
    }
    .tender-detail-page .ai-card__dims {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .tender-detail-page .ai-card__reasons {
        grid-template-columns: 1fr;
    }
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1080px) {
    .tender-detail-page .body-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
    .tender-detail-page .facts-row { grid-template-columns: 1fr; }
    .tender-detail-page .title-block__title { font-size: 1.4rem; }
    .tender-detail-page .result-awarded__row { grid-template-columns: 1fr 1fr; }
    .tender-detail-page .container { padding: 0 var(--space-md); }
    .tender-detail-page .crumb { display: none; }
}

@media (max-width: 600px) {
    .tender-detail-page .kv-grid {
        grid-template-columns: 1fr;
        gap: var(--space-3xs) 0;
    }

    .tender-detail-page .kv-grid dt {
        margin-top: var(--space-xs-plus);
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 0.03em;
    }

    .tender-detail-page .kv-grid dt:first-of-type {
        margin-top: 0;
    }

    .tender-detail-page .kv-grid dd {
        font-size: 0.88rem;
    }
}

@media (max-width: 480px) {
    .tender-detail-page .result-awarded__row { grid-template-columns: 1fr; }
    .tender-detail-page .card { padding: var(--space-md) var(--space-md-plus); }
    .tender-detail-page .side-card { padding: var(--space-sm-plus) var(--space-md); }
    .tender-detail-page .fact { padding: var(--space-sm-plus) var(--space-md); }
    .tender-detail-page .crumb-bar { padding: 0 0 var(--space-sm-plus); gap: var(--space-xs); }
    .tender-detail-page .title-block__title { font-size: 1.25rem; }
    /* .ai-card jest też .card — przywróć brak paddingu (inner/semantic mają własny) */
    .tender-detail-page .ai-card { padding: 0; }
}

/* ======================================================
   PAYWALL PLACEHOLDER (FREE users)
   ====================================================== */
.tender-detail-page .paid-section-paywall {
    border: 2px dashed var(--border);
    background: var(--bg-soft);
    border-radius: var(--radius-md);
    padding: var(--space-2xl) var(--space-xl);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm);
}

.tender-detail-page .paid-section-paywall .card__title {
    color: #475569;
    font-size: 1rem;
}

.tender-detail-page .paid-section-paywall .paywall-desc {
    color: var(--text-secondary);
    font-size: 0.875rem;
    max-width: 420px;
    margin: 0;
    line-height: 1.5;
}

/* ======================================================
   SIMILAR TENDERS — premium full-width expandable panel (PRO)
   ====================================================== */
.tender-detail-page #tenderSimilarSlot {
    width: 100%;
}
.tender-detail-page .similar-panel {
    position: relative;
    width: 100%;
    border-radius: var(--radius-lg, 16px);
    background:
        linear-gradient(180deg, #ffffff 0%, #f8fbfc 100%);
    border: 1px solid rgba(14, 165, 164, 0.18);
    box-shadow:
        0 1px 0 rgba(255,255,255,0.6) inset,
        0 12px 32px rgba(11, 28, 45, 0.08),
        0 2px 6px rgba(11, 28, 45, 0.04);
    overflow: hidden;
    height: auto;

    /* fade/slide animation — height fits content */
    opacity: 0;
    transform: translateY(-6px) scaleY(0.98);
    transform-origin: top center;
    transition: opacity 0.28s ease,
        transform 0.32s cubic-bezier(0.22, 0.61, 0.36, 1),
        margin 0.32s ease;
    margin-top: 0;
    margin-bottom: 0;
}
.tender-detail-page .similar-panel.is-open {
    opacity: 1;
    transform: translateY(0) scaleY(1);
    margin-top: var(--space-sm-plus);
    margin-bottom: var(--space-2xs);
}
/* Top accent bar — teal → indigo gradient */
.tender-detail-page .similar-panel::before {
    content: "";
    position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, #0ea5a4 0%, #0891b2 50%, #1e3a8a 100%);
    pointer-events: none;
}

.tender-detail-page .similar-panel__header {
    display: flex; align-items: center; justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-md-plus) var(--space-lg-plus) var(--space-sm);
    border-bottom: 1px solid rgba(14, 165, 164, 0.1);
}
.tender-detail-page .similar-panel__title {
    display: flex; align-items: center; gap: var(--space-xs-plus); flex-wrap: wrap;
}
.tender-detail-page .similar-panel__icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 32px; height: 32px;
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(14,165,164,0.14), rgba(30,58,138,0.14));
    color: var(--teal-600, #0d9488);
}
.tender-detail-page .similar-panel__heading {
    margin: 0;
    font-size: 1.02rem;
    font-weight: var(--font-weight-bold);
    color: var(--navy-900, #0b1c2d);
    letter-spacing: -0.01em;
}
.tender-detail-page .similar-panel__count {
    font-size: 0.78rem;
    color: var(--muted, #64748b);
    background: rgba(14,165,164,0.08);
    padding: 3px 9px;
    border-radius: 999px;
    font-weight: var(--font-weight-semibold);
}
.tender-detail-page .similar-panel__close {
    display: inline-flex; align-items: center; gap: var(--space-2xs-plus);
    padding: var(--space-2xs-plus) var(--space-sm);
    border-radius: var(--radius-md, 8px);
    background: #fff;
    border: 1px solid var(--border, #e2e8f0);
    color: var(--navy-700, #1e293b);
    font: inherit; font-size: 0.78rem; font-weight: var(--font-weight-semibold);
    cursor: pointer;
    transition: all 0.18s ease;
}
.tender-detail-page .similar-panel__close:hover {
    color: var(--teal-600, #0d9488);
    border-color: var(--teal-500, #14b8a6);
    box-shadow: var(--shadow-xs, 0 1px 2px rgba(0,0,0,0.04));
}
.tender-detail-page .similar-panel__body {
    padding: var(--space-md-plus) var(--space-lg-plus) var(--space-lg-plus);
}
/* Toolbar (toggle "Uwzględnij zamówienia europejskie") nad listą kafelków */
.tender-detail-page .similar-panel__toolbar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-bottom: var(--space-sm-plus);
    padding-bottom: var(--space-sm);
    border-bottom: 1px solid rgba(14, 165, 164, 0.1);
}
.tender-detail-page .similar-panel__toolbar .toggle-label {
    font-size: 0.8rem;
    color: var(--navy-700, #1e293b);
    font-weight: var(--font-weight-semibold);
}
.tender-detail-page .similar-panel__empty {
    padding: var(--space-xl) var(--space-xs);
    text-align: center;
    color: var(--muted, #64748b);
    font-size: 0.88rem;
}

/* Grid of similar items inside the panel — full-width, responsive */
.tender-detail-page .similar-panel .similar-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: var(--space-sm);
    list-style: none; margin: 0; padding: 0;
}
.tender-detail-page .similar-panel .similar-item {
    position: relative;
    display: flex; flex-direction: column; gap: var(--space-xs);
    padding: var(--space-sm-plus) var(--space-sm-plus) var(--space-sm);
    background: #fff;
    border: 1px solid var(--border, #e2e8f0);
    border-radius: var(--radius-lg, 12px);
    border-bottom: 1px solid var(--border, #e2e8f0); /* override base */
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.tender-detail-page .similar-panel .similar-item:hover {
    transform: translateY(-2px);
    border-color: rgba(14, 165, 164, 0.4);
    box-shadow: 0 8px 18px rgba(11, 28, 45, 0.08);
}
.tender-detail-page .similar-panel .similar-item__title {
    font-size: 0.9rem;
    font-weight: var(--font-weight-semibold);
    color: var(--navy-900, #0b1c2d);
    text-decoration: none;
    line-height: 1.4;
    margin-bottom: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.tender-detail-page .similar-panel .similar-item__title:hover {
    text-decoration: underline;
    color: var(--teal-600, #0d9488);
}
/* Zamawiający — jedna linia z elipsą (równy rytm w każdym kafelku) */
.tender-detail-page .similar-panel .similar-item__org {
    font-size: 0.74rem;
    color: var(--muted, #64748b);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* Stopka kafelka — termin (lewo) + dopasowanie % (prawo), dosunięta do dołu */
.tender-detail-page .similar-panel .similar-item__footer {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-xs);
}
.tender-detail-page .similar-panel .similar-item__deadline {
    font-size: 0.74rem;
    color: var(--muted, #64748b);
}
.tender-detail-page .similar-panel .similar-item__pct {
    font-size: 0.74rem;
    background: linear-gradient(135deg, rgba(14,165,164,0.18), rgba(30,58,138,0.18));
    color: var(--teal-700, #0f766e);
    font-weight: var(--font-weight-bold);
    padding: var(--space-3xs) var(--space-xs);
    border-radius: 999px;
}

/* Skeleton loading */
.tender-detail-page .similar-item--skeleton {
    pointer-events: none;
}
.tender-detail-page .similar-item--skeleton:hover {
    transform: none; box-shadow: none;
    border-color: var(--border, #e2e8f0);
}
.tender-detail-page .similar-skeleton__title,
.tender-detail-page .similar-skeleton__meta {
    border-radius: 6px;
    background: linear-gradient(90deg, #eef2f5 0%, #f7fafb 50%, #eef2f5 100%);
    background-size: 200% 100%;
    animation: similar-shimmer 1.4s ease-in-out infinite;
}
.tender-detail-page .similar-skeleton__title { height: 14px; width: 92%; }
.tender-detail-page .similar-skeleton__meta  { height: 10px; width: 60%; }
@keyframes similar-shimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

@media (max-width: 760px) {
    .tender-detail-page .similar-panel__header {
        flex-wrap: wrap;
        padding: var(--space-sm-plus) var(--space-md) var(--space-xs-plus);
    }
    .tender-detail-page .similar-panel__body {
        padding: var(--space-sm-plus) var(--space-md) var(--space-md-plus);
    }
    .tender-detail-page .similar-panel .similar-list {
        grid-template-columns: 1fr;
    }
}

/* CPV card eyebrow — count pill + hint sit obok labela */
.tender-detail-page .cpv-card .side-card__eyebrow {
    display: flex;
    width: 100%;
    align-items: center;
    gap: var(--space-xs);
}
.tender-detail-page .cpv-card .side-card__eyebrow .card__count {
    text-transform: none;
    letter-spacing: 0;
}
.tender-detail-page .cpv-card .side-card__eyebrow .card__hint {
    margin-left: auto;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 400;
    color: var(--muted);
}

.tender-detail-page .pro-badge-inline {
    display: inline-block;
    padding: 1px var(--space-2xs-plus);
    border-radius: 4px;
    background: linear-gradient(130deg, #1fb6ff, #3ddc97);
    color: #fff;
    font-size: 0.65rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.04em;
    vertical-align: middle;
}

/* ======================================================
   Sekcje szczegółów ogłoszenia renderowane przez tenderDetail.js
   (zastępują inline style= — wymóg CSP style-src bez 'unsafe-inline')
   ====================================================== */
.procedure-section,
.client-section {
    margin-top: var(--space-xs-plus);
}

.updates-section {
    margin-top: var(--space-md);
}

.criteria-section {
    margin-top: var(--space-lg);
}

.procedure-list {
    list-style-type: none;
    padding-left: 0;
}

.criteria-part-heading {
    margin-top: var(--space-xs-plus);
}
