/* Platform-framed tender card (site + admin preview). Colours come from the platform: --c accent, --tint frame. */
.tcard { --c: #142C52; --tint: #F6F8FB; display: flex; flex-direction: column; overflow: hidden; border-radius: 18px; background: #fff;
  border: 1px solid color-mix(in srgb, var(--c) 28%, #E4E7EC); box-shadow: 0 1px 3px rgba(15,27,45,.06); transition: box-shadow .35s, transform .35s cubic-bezier(.22,1,.36,1); font-family: inherit; color: #0F1B2D; }
.tcard:hover { transform: translateY(-4px); box-shadow: 0 14px 30px -16px rgba(15,27,45,.28); }
.tcard svg { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.tcard__head { position: relative; display: flex; align-items: center; gap: 12px; padding: 16px 18px; background: var(--tint); border-bottom: 1px solid color-mix(in srgb, var(--c) 18%, #fff); }
.tcard__head::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: var(--c); }
.tcard__logo { flex-shrink: 0; height: 46px; min-width: 46px; max-width: 160px; display: grid; place-items: center; padding: 6px 10px; border-radius: 12px; background: #fff; border: 1px solid color-mix(in srgb, var(--c) 22%, #fff); }
.tcard__logo img { height: 32px; width: auto; max-width: 140px; object-fit: contain; }
.tcard__logo b { font-size: 1rem; color: var(--c); white-space: nowrap; }
.tcard__src { display: grid; line-height: 1.35; min-width: 0; }
.tcard__src small { font-size: .8rem; color: #5B6676; }
.tcard__src b { font-size: 1rem; color: #0F1B2D; }
.tcard__src i { font-style: normal; font-size: .8rem; color: color-mix(in srgb, var(--c) 50%, #0F1B2D); }
.tcard__left { margin-inline-start: auto; flex-shrink: 0; padding: 5px 12px; border-radius: 999px; font-size: .8rem; font-weight: 600; color: color-mix(in srgb, var(--c) 50%, #0F1B2D); background: #fff; border: 1px solid color-mix(in srgb, var(--c) 35%, #fff); }
.tcard--soon .tcard__left { color: #fff; background: #B3541E; border-color: #B3541E; }
.tcard--closed { opacity: .7; } .tcard--closed .tcard__left { color: #5B6676; }
.tcard__body { flex: 1; padding: 18px 20px 6px; }
.tcard__ref { display: inline-block; margin-bottom: 8px; font-size: .8rem; color: #5B6676; }
.tcard__ref bdi { font-weight: 600; color: #0F1B2D; }
.tcard h3 { margin: 0 0 10px; font-size: 1.1rem; line-height: 1.6; font-weight: 700; color: #0F1B2D; }
.tcard__entity { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: .9rem; font-weight: 500; color: #142C52; }
.tcard__entity svg { color: var(--c); }
.tcard__sum { margin: 0 0 12px; font-size: .9rem; line-height: 1.75; color: #5B6676; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tcard__meta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; margin: 0; padding: 12px 0; border-top: 1px dashed #E4E7EC; }
.tcard__meta dt { display: flex; align-items: center; gap: 6px; font-size: .8rem; color: #5B6676; }
.tcard__meta dt svg { color: var(--c); }
.tcard__meta dd { margin: 2px 0 0; font-size: .9rem; font-weight: 600; color: #0F1B2D; }
.tcard__foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding: 12px 18px; background: var(--tint); border-top: 1px solid color-mix(in srgb, var(--c) 15%, #fff); }
.tcard__contact { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.tcard__contact a { display: inline-flex; align-items: center; gap: 6px; font-size: .8rem; color: #142C52; text-decoration: none; }
.tcard__contact a:hover { color: var(--c); }
.tcard__contact svg { color: var(--c); }
.tcard__cta { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; font-size: .9rem; font-weight: 600; color: #fff; background: #142C52; text-decoration: none; transition: background .25s; }
.tcard__cta:hover { background: color-mix(in srgb, var(--c) 55%, #142C52); }
