/* ==========================================================================
   Rehber — Teknik Bilgi sayfası (.tb- önekli) + hizmet sayfası küçük eklemeleri (.svc-photo)
   v4 açık tema (ana sayfadaki .groups / .srv4 dili): beyaz/paper zemin, bordo vurgu, tek kart seviyesi, sıkı ritim.
   Yalnızca site.css tokenları; sabit renk yok (saydamlık için color-mix).
   rehber.css hizmet.php tarafından da yüklenir: Teknik Bilgi stilleri .tb- önekiyle kapsanmıştır.
   ========================================================================== */

.tb-page {
  --tb-toc-w: 252px;
  --tb-strip-h: 52px;
  --tb-r: 8px;            /* kart köşesi */
  --tb-r-sm: 6px;         /* iç öğe köşesi */
  --tb-gap: 22px;         /* bölümler arası */
  --tb-hatch: repeating-linear-gradient(135deg, var(--paper-2) 0 5px, var(--line-2) 5px 7px);
}
.tb-page [hidden] { display: none !important; }
.tb-page :focus-visible { outline: 3px solid var(--bordo); outline-offset: 2px; }

/* ==========================================================================
   HERO — açık (beyaz) sayfa başlığı + konu arama + konu kartları
   ========================================================================== */
.tb-hero { background: var(--white); border-bottom: 1px solid var(--line); padding-block: clamp(22px, 2.6vw, 34px) clamp(26px, 3vw, 40px); }
.tb-hero__in { display: grid; gap: clamp(20px, 2.4vw, 28px); }
.tb-crumbs { display: flex; flex-wrap: wrap; gap: 6px; font-size: .84rem; color: var(--muted); }
.tb-crumbs a:hover { color: var(--bordo); }
.tb-crumbs span[aria-hidden] { opacity: .5; }
.tb-crumbs [aria-current] { color: var(--steel-800); font-weight: 600; }

.tb-hero__top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 360px); gap: 18px 48px; align-items: end; }
.tb-hero__copy { display: grid; gap: 14px; justify-items: start; }
.tb-hero__t { font-size: clamp(2.2rem, 3vw + 1rem, 3.6rem); }
.tb-hero__copy .lead { max-width: 64ch; }
@media (max-width: 900px) { .tb-hero__top { grid-template-columns: minmax(0, 1fr); } }

.tb-search { display: grid; gap: 8px; }
.tb-search__l { font: 700 .74rem/1 var(--f-head); letter-spacing: .2em; text-transform: uppercase; color: var(--steel-600); }
.tb-search__box {
  display: flex; align-items: center; gap: 10px; padding: 0 14px; min-height: 50px;
  background: var(--paper); border: 1.5px solid var(--line-2); border-radius: var(--tb-r-sm);
  transition: border-color .15s, background-color .15s, box-shadow .15s;
}
.tb-search__box:focus-within { border-color: var(--bordo); background: var(--white); box-shadow: 0 0 0 4px var(--bordo-50); }
.tb-search__box .ic { color: var(--bordo); }
.tb-search__in { flex: 1; min-width: 0; min-height: 46px; border: 0; background: transparent; color: var(--ink); font-weight: 600; }
.tb-search__in::placeholder { color: var(--muted); font-weight: 500; }
.tb-search__in:focus, .tb-search__in:focus-visible { outline: none; }
.tb-search__res { min-height: 1.3em; font-size: .84rem; color: var(--muted); }

/* konu kartları: grup etiketi solda, kartlar sağda (≥1100) */
.tb-jump { display: grid; gap: 12px; }
.tb-jump__grp { display: grid; gap: 10px; }
.tb-jump__gt { display: flex; align-items: baseline; gap: 10px; padding-left: 10px; border-left: 3px solid var(--bordo); line-height: 1.1; }
.tb-jump__gt strong { font: 700 .95rem/1.2 var(--f-head); color: var(--ink); }
.tb-jump__gt small { font-size: .78rem; color: var(--muted); }
.tb-jump__grp--hizmet .tb-jump__gt { border-left-color: var(--line-2); }
.tb-jump__list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.tb-jump__grp--hizmet .tb-jump__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tb-jump__card {
  height: 100%; display: flex; align-items: center; gap: 12px; padding: 12px 14px; min-height: 70px;
  background: var(--white); border: 1px solid var(--line); border-radius: var(--tb-r-sm); box-shadow: var(--shadow-1);
  transition: transform .2s var(--ease), box-shadow .2s, border-color .2s, background-color .2s;
}
.tb-jump__card:hover { transform: translateY(-3px); box-shadow: var(--shadow-2); border-color: var(--bordo-100); }
.tb-jump__ic { width: 42px; height: 42px; flex: none; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--bordo-50); color: var(--bordo); }
.tb-jump__txt { display: grid; gap: 3px; min-width: 0; }
.tb-jump__t { font: 700 .98rem/1.2 var(--f-head); color: var(--ink); }
.tb-jump__d { font-size: .78rem; line-height: 1.35; color: var(--muted); }
/* ek hizmet kartları: ikincil (paper zemin, gölgesiz) */
.tb-jump__grp--hizmet .tb-jump__card { background: var(--paper); box-shadow: none; }
.tb-jump__grp--hizmet .tb-jump__card:hover { background: var(--white); }
.tb-jump__grp--hizmet .tb-jump__ic { background: var(--white); color: var(--steel-700); border: 1px solid var(--line); }
.tb-jump__item.is-match .tb-jump__card { border-color: var(--bordo); background: var(--bordo-50); }

@media (max-width: 1180px) { .tb-jump__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .tb-jump__list, .tb-jump__grp--hizmet .tb-jump__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .tb-jump__card { padding: 10px; gap: 10px; min-height: 58px; }
  .tb-jump__ic { width: 34px; height: 34px; }
  .tb-jump__ic .ic { width: 17px; height: 17px; }
  .tb-jump__t { font-size: .88rem; }
  .tb-jump__d { display: none; }
}

/* ==========================================================================
   YERLEŞİM + İÇİNDEKİLER
   ========================================================================== */
.tb-guide-sec { background: var(--paper); padding-block: clamp(28px, 3.4vw, 44px) clamp(48px, 5vw, 72px); }
.tb-guide { display: grid; grid-template-columns: var(--tb-toc-w) minmax(0, 1fr); gap: clamp(24px, 3.4vw, 44px); align-items: start; }
.tb-body { display: grid; gap: clamp(32px, 3.4vw, 44px); min-width: 0; }

.tb-toc {
  position: sticky; top: calc(var(--hdr-h) + 20px); z-index: 5;
  background: var(--white); border: 1px solid var(--line); border-radius: var(--tb-r); padding: 16px 12px 14px;
}
.tb-toc__head { display: flex; justify-content: space-between; align-items: baseline; padding-inline: 8px; }
.tb-toc__t { font: 700 .74rem/1 var(--f-head); letter-spacing: .2em; text-transform: uppercase; color: var(--steel-600); }
.tb-toc__pct { font: 700 .9rem/1 var(--f-head); color: var(--bordo); font-variant-numeric: tabular-nums; }
.tb-toc__bar { height: 4px; margin: 12px 8px 6px; background: var(--paper-2); border-radius: 2px; overflow: hidden; }
.tb-toc__fill { display: block; height: 100%; background: var(--bordo); transform-origin: left; transform: scaleX(0); }
.tb-toc__list { display: grid; gap: 4px; position: relative; }
.tb-toc__grp { display: grid; gap: 1px; }
.tb-toc__g { padding: 10px 8px 4px; font: 700 .7rem/1.2 var(--f-head); letter-spacing: .14em; text-transform: uppercase; color: var(--bordo); }
.tb-toc__grp + .tb-toc__grp .tb-toc__g { border-top: 1px solid var(--line); margin-top: 6px; padding-top: 14px; color: var(--steel-600); }
.tb-toc__ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; }
.tb-toc__link {
  display: flex; gap: 10px; align-items: baseline; padding: 7px 8px; border-left: 3px solid transparent; border-radius: 0 4px 4px 0;
  font-weight: 600; font-size: .9rem; line-height: 1.3; color: var(--steel-600);
  transition: color .15s, background-color .15s, border-color .15s;
}
.tb-toc__link:hover { color: var(--ink); background: var(--paper); }
.tb-toc__link[aria-current] { color: var(--bordo); border-left-color: var(--bordo); background: var(--bordo-50); font-weight: 700; }
.tb-toc__n { font: 700 .78rem/1 var(--f-head); letter-spacing: .04em; color: var(--bordo); flex: none; }
.tb-toc__short { display: none; }
.tb-toc__item.is-dim .tb-toc__link { opacity: .38; }
.tb-toc__cta { margin-top: 12px; }

@media (max-width: 960px) {
  .tb-guide { grid-template-columns: minmax(0, 1fr); }
  .tb-toc {
    top: var(--hdr-h); z-index: 30; margin-inline: calc(var(--gutter) * -1); padding: 0;
    border: 0; border-bottom: 1px solid var(--line); border-radius: 0;
    box-shadow: 0 12px 24px -18px color-mix(in srgb, var(--ink) 40%, transparent);
  }
  .tb-toc__head, .tb-toc__cta { display: none; }
  .tb-toc__bar { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; margin: 0; background: transparent; border-radius: 0; }
  .tb-toc__list {
    display: flex; align-items: center; gap: 6px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity;
    padding: 9px var(--gutter); scrollbar-width: none;
  }
  .tb-toc__list::-webkit-scrollbar { display: none; }
  .tb-toc__grp { display: flex; align-items: center; gap: 6px; flex: none; }
  .tb-toc__grp + .tb-toc__grp { padding-left: 8px; margin-left: 2px; border-left: 1px solid var(--line); }
  .tb-toc__g, .tb-toc__grp + .tb-toc__grp .tb-toc__g { flex: none; padding: 0 2px; margin: 0; border: 0; font-size: .64rem; white-space: nowrap; }
  .tb-toc__ol { display: flex; gap: 6px; }
  .tb-toc__item { flex: none; scroll-snap-align: center; }
  .tb-toc__link {
    min-height: 34px; align-items: center; padding: 6px 12px; border: 1px solid var(--line); border-radius: 999px;
    color: var(--steel-700); white-space: nowrap; font-size: .84rem;
  }
  .tb-toc__link[aria-current] { background: var(--bordo); border-color: var(--bordo); color: var(--white); }
  .tb-toc__link[aria-current] .tb-toc__n { color: var(--white); }
  .tb-toc__full { display: none; }
  .tb-toc__short { display: inline; }
}

/* ==========================================================================
   GRUP + BÖLÜM — düz hiyerarşi: bölümler kart değil, yalnızca araçlar kart
   ========================================================================== */
.tb-grp { display: grid; min-width: 0; scroll-margin-top: calc(var(--hdr-h) + 20px); }
.tb-grp__head {
  display: flex; gap: 16px; align-items: flex-start; padding: 18px 22px;
  background: var(--white); border: 1px solid var(--line); border-left: 4px solid var(--bordo); border-radius: var(--tb-r);
}
.tb-grp__ic { width: 52px; height: 52px; flex: none; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--bordo); color: var(--white); }
.tb-grp__txt { display: grid; gap: 4px; min-width: 0; }
.tb-grp__eb { font: 700 .72rem/1.2 var(--f-head); letter-spacing: .18em; text-transform: uppercase; color: var(--bordo); }
.tb-grp__t { font: 800 clamp(1.5rem, 1.2vw + 1rem, 2.1rem)/1.1 var(--f-head); letter-spacing: -.015em; }
.tb-grp__lead { color: var(--muted); font-size: .95rem; max-width: 72ch; }
.tb-grp--hizmet .tb-grp__head { border-left-color: var(--steel-600); }
.tb-grp--hizmet .tb-grp__ic { background: var(--bordo-50); color: var(--bordo); }
.tb-grp--hizmet .tb-grp__eb { color: var(--steel-600); }
@media (max-width: 520px) { .tb-grp__head { padding: 16px; gap: 12px; } .tb-grp__ic { width: 42px; height: 42px; } .tb-grp__ic .ic { width: 22px; height: 22px; } }

.tb-sec { position: relative; min-width: 0; margin-top: var(--tb-gap); padding-top: var(--tb-gap); border-top: 1px solid var(--line); scroll-margin-top: calc(var(--hdr-h) + 20px); }
.tb-grp__head + .tb-sec { margin-top: 24px; padding-top: 0; border-top: 0; }
@media (max-width: 960px) { .tb-sec, .tb-grp { scroll-margin-top: calc(var(--hdr-h) + var(--tb-strip-h) + 14px); } }

.tb-sec__head { display: grid; gap: 8px; }
.tb-sec__eb { display: inline-flex; align-items: center; gap: 10px; font: 700 .72rem/1 var(--f-head); letter-spacing: .2em; text-transform: uppercase; color: var(--bordo); }
.tb-sec__num { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 22px; padding: 0 6px; border-radius: 4px; background: var(--bordo); color: var(--white); font: 700 .74rem/1 var(--f-head); letter-spacing: .02em; }
.tb-sec__t { font: 800 clamp(1.4rem, .9vw + 1rem, 1.85rem)/1.15 var(--f-head); letter-spacing: -.015em; overflow-wrap: anywhere; }
.tb-sec__lead { margin: 10px 0 18px; color: var(--muted); font-size: 1rem; max-width: 72ch; }
.tb-small { margin-top: 12px; font-size: .86rem; color: var(--muted); max-width: 76ch; }
.tb-sec .note { margin-top: 14px; border-radius: 0 var(--tb-r-sm) var(--tb-r-sm) 0; background: var(--bordo-50); border-left-color: var(--bordo); color: var(--steel-800); }
.tb-sec .note .ic { color: var(--bordo); }
.tb-sec code { font-size: .86em; background: var(--paper-2); padding: 1px 6px; border-radius: 3px; overflow-wrap: anywhere; }

/* görünme animasyonu (yalnızca JS + hareket izni varsa) */
@media (prefers-reduced-motion: no-preference) {
  .tb-anim .tb-sec { opacity: 0; transform: translateY(16px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
  .tb-anim .tb-sec.is-in { opacity: 1; transform: none; }
}

.tb-tips { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 10px 24px; margin-top: 18px; font-size: .92rem; }
.tb-tips li { display: flex; gap: 10px; align-items: flex-start; color: var(--steel-700); }
.tb-tips .ic { margin-top: 5px; color: var(--ok); }
.tb-tips strong { color: var(--ink); }

.tb-linkbtn { border: 0; background: none; padding: 4px 2px; font-weight: 700; font-size: .84rem; color: var(--bordo); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.tb-linkbtn:hover { color: var(--bordo-700); }

/* ==========================================================================
   ÖLÇÜ — sekmeler + çizim + yazım sırası
   ========================================================================== */
.tb-measure { background: var(--white); border: 1px solid var(--line); border-radius: var(--tb-r); overflow: hidden; }
.tb-tabs { display: flex; overflow-x: auto; scrollbar-width: thin; background: var(--paper); border-bottom: 1px solid var(--line); }
.tb-tab {
  flex: 1 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 48px; padding: 8px 10px;
  border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--steel-600);
  font: 700 .86rem/1 var(--f-head); white-space: nowrap; cursor: pointer;
  transition: color .15s, background-color .15s, border-color .15s;
}
.tb-tab:hover { color: var(--ink); background: var(--white); }
.tb-tab[aria-selected="true"] { color: var(--bordo); background: var(--white); border-bottom-color: var(--bordo); }
.tb-tab:focus-visible { outline-offset: -3px; }
.tb-tab__shape { width: 26px; height: 20px; flex: none; padding: 2px; background: var(--white); border: 1px solid var(--line); border-radius: 3px; }
.tb-tab__shape .sh-dim, .tb-tab__shape .sh-txt { display: none; }

.tb-panel {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "fig body" "ex ex"; align-content: start;
  gap: 14px clamp(16px, 2.4vw, 28px); padding: clamp(14px, 2vw, 22px);
}
.tb-panel__fig { grid-area: fig; width: 100%; max-width: 380px; justify-self: center; }
.tb-panel__body { grid-area: body; }
.tb-panel > .tb-example { grid-area: ex; align-self: start; }
@media (min-width: 761px) {
  .tb-panel > .tb-example { grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 14px; }
  .tb-panel > .tb-example .tb-example__t, .tb-panel > .tb-example .tb-example__status { grid-column: 1 / -1; }
}
.tb-panel + .tb-panel { border-top: 1px solid var(--line); }
.tb-tabs:not([hidden]) ~ .tb-panel + .tb-panel { border-top: 0; }
@media (prefers-reduced-motion: no-preference) { .tb-panel.is-entering { animation: tb-fade .3s var(--ease); } }
@keyframes tb-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.tb-panel__fig {
  margin: 0; align-self: start; padding: clamp(8px, 1.6vw, 18px); background: var(--paper); border: 1px solid var(--line); border-radius: var(--tb-r-sm);
  background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 20px 20px; background-position: -1px -1px;
}
.tb-panel__cap { margin-top: 4px; font-size: .74rem; color: var(--muted); text-align: center; }
.tb-panel__body { display: grid; gap: 10px; align-content: start; min-width: 0; }
.tb-panel__t { font: 800 1.35rem/1.15 var(--f-head); }
.tb-panel__t a:hover { color: var(--bordo); }
.tb-panel__how { font-weight: 600; line-height: 1.45; font-size: .95rem; }
.tb-panel__order-t { font: 700 .7rem/1 var(--f-head); letter-spacing: .18em; text-transform: uppercase; color: var(--steel-600); margin-top: 2px; }
.tb-panel__stock { display: flex; gap: 7px; align-items: flex-start; font-size: .82rem; color: var(--muted); }
.tb-panel__stock .ic { margin-top: 3px; color: var(--bordo); }
@media (max-width: 760px) { .tb-panel { grid-template-columns: minmax(0, 1fr); grid-template-areas: "fig" "body" "ex"; } .tb-panel__fig { max-width: 440px; width: 100%; justify-self: center; } }

/* ölçü çizimi */
.tb-ms { width: 100%; height: auto; overflow: visible; }
.tb-ms .tb-ms-body { fill: var(--steel-600); }
.tb-ms .tb-ms-hole { fill: var(--paper); }
.tb-ms .tb-ms-cut { fill: none; stroke: var(--muted); stroke-width: 1; stroke-dasharray: 3 3; }
.tb-ms .tb-ms-axis { fill: none; stroke: var(--muted); stroke-width: .8; stroke-dasharray: 8 3 2 3; }
.tb-ms .tb-ms-note { fill: var(--muted); font: 600 11px var(--f-body); }

/* ölçü hattı (çizimlerde ortak): normal → bordo, vurgulu → koyu bordo, kalın */
.tb-dim { color: var(--bordo); transition: color .18s, opacity .18s; }
.tb-dim__ln, .tb-dim__ld { stroke: currentColor; stroke-width: 1.3; fill: none; transition: stroke-width .18s; }
.tb-dim__ld { stroke-width: 1; }
.tb-dim__ar, .tb-dim__dot { fill: currentColor; }
.tb-dim__tx { fill: currentColor; font: 700 13px var(--f-head); letter-spacing: .03em; }
.tb-dim__fill { fill: var(--tape); opacity: 0; transition: opacity .18s; }
.tb-dim__ring { fill: none; stroke: var(--tape); stroke-width: 8; opacity: 0; transition: opacity .18s; }
[data-dimscope].has-hot .tb-dim:not(.is-hot) { opacity: .35; }
.tb-dim.is-hot { color: var(--bordo-700); }
.tb-dim.is-hot .tb-dim__ln { stroke-width: 2.6; }
.tb-dim.is-hot .tb-dim__ld { stroke-width: 2; }
.tb-dim.is-hot .tb-dim__fill, .tb-dim.is-hot .tb-dim__ring { opacity: .85; }
.tb-dim.is-hot .tb-dim__tx { font-size: 15px; }

/* yazım sırası */
.tb-terms { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; counter-reset: term; }
.tb-terms li { counter-increment: term; }
.tb-term {
  width: 100%; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 10px;
  min-height: 42px; padding: 4px 12px 4px 4px; text-align: left; cursor: default;
  background: var(--paper); border: 1px solid var(--line); border-left: 3px solid var(--bordo); border-radius: var(--tb-r-sm);
  transition: background-color .15s, border-color .15s, transform .15s var(--ease);
}
.tb-term__sym { width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border-radius: 4px; background: var(--bordo); color: var(--white); font: 800 1.05rem/1 var(--f-head); }
.tb-term__lbl { font-weight: 700; font-size: .95rem; }
.tb-term__lbl::before { content: counter(term) ". "; color: var(--muted); font-weight: 600; }
.tb-term__hint { font-size: .78rem; color: var(--muted); text-align: right; }
.tb-term:hover, .tb-term:focus-visible, .tb-term.is-hot { background: var(--bordo-50); border-left-color: var(--bordo); transform: translateX(3px); }
.tb-term:hover .tb-term__sym, .tb-term:focus-visible .tb-term__sym, .tb-term.is-hot .tb-term__sym { background: var(--bordo-700); }
@media (max-width: 420px) { .tb-term { grid-template-columns: 34px minmax(0, 1fr); } .tb-term__hint { grid-column: 2; text-align: left; margin-top: -6px; } }

/* örnek mesaj + kopyala */
.tb-example { display: grid; gap: 8px; padding: 12px; background: color-mix(in srgb, var(--wa) 6%, var(--white)); border: 1px solid var(--line); border-left: 4px solid var(--wa); border-radius: var(--tb-r-sm); }
.tb-example__t { display: flex; align-items: center; gap: 8px; font: 700 .72rem/1 var(--f-head); letter-spacing: .14em; text-transform: uppercase; color: var(--wa-700); }
.tb-example__msg code { display: block; padding: 8px 10px; background: var(--white); border: 1px dashed var(--line-2); border-radius: 4px; font: 600 .92rem/1.4 ui-monospace, "SFMono-Regular", Menlo, monospace; color: var(--ink); overflow-wrap: anywhere; }
.tb-example__btns { display: flex; flex-wrap: wrap; gap: 8px; }
.tb-example .btn--outline { --b: var(--white); }
.tb-copy.is-ok { border-color: var(--wa); --c: var(--wa-700); --b: color-mix(in srgb, var(--wa) 12%, var(--white)); }
.tb-example__status { min-height: 1.2em; font-size: .8rem; color: var(--muted); }
.tb-example__status:empty { min-height: 0; margin-top: -8px; }
.tb-example__status.is-err { color: var(--danger); }

/* ==========================================================================
   SAC LEVHA — hesaplayıcı + tablo (geniş ekranda yan yana)
   ========================================================================== */
.tb-levha { display: grid; gap: 16px; align-items: start; }
@media (min-width: 1180px) {
  .tb-levha { grid-template-columns: minmax(0, 300px) minmax(0, 1fr); }
  .tb-levha .tb-calc { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .tb-levha .tb-seg--wide { flex-wrap: nowrap; }
  .tb-levha .tb-seg--wide label { flex: 1 1 0; min-width: 0; padding-inline: 4px; font-size: .82rem; }
  .tb-levha .tb-calc__qty { grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 12px; }
  .tb-levha .tb-calc__qty .tb-calc__lg { margin: 0; }
}

.tb-calc {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px 20px;
  padding: 16px; background: var(--white); border: 1px solid var(--line); border-top: 3px solid var(--bordo); border-radius: var(--tb-r);
}
.tb-calc__set { grid-column: 1 / -1; margin: 0; padding: 0; border: 0; min-width: 0; }
.tb-calc__lg { display: block; margin-bottom: 8px; font: 700 .7rem/1 var(--f-head); letter-spacing: .16em; text-transform: uppercase; color: var(--steel-600); }
.tb-seg { display: flex; flex-wrap: wrap; gap: 6px; position: relative; }
.tb-seg input { position: absolute; opacity: 0; pointer-events: none; }
.tb-seg label {
  min-width: 46px; min-height: 38px; display: inline-flex; align-items: center; justify-content: center; padding: 6px 8px;
  background: var(--white); border: 1.5px solid var(--line-2); border-radius: 4px; font: 700 .95rem/1 var(--f-head); cursor: pointer;
  transition: background-color .15s, border-color .15s, color .15s;
}
.tb-seg label:hover { border-color: var(--bordo); }
.tb-seg__u { font: 600 .68rem/1 var(--f-body); color: var(--muted); margin-left: 2px; }
.tb-seg input:checked + label { background: var(--bordo); border-color: var(--bordo); color: var(--white); }
.tb-seg input:checked + label .tb-seg__u { color: color-mix(in srgb, var(--white) 80%, transparent); }
.tb-seg input:focus-visible + label { outline: 3px solid var(--bordo); outline-offset: 2px; }
.tb-seg--wide label { flex: 1 1 auto; min-width: 110px; }
.tb-calc__qty { display: grid; align-content: start; }
.tb-calc__in { max-width: 160px; min-height: 42px; padding: 8px 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.tb-calc__out { display: grid; gap: 4px; align-content: center; padding: 12px 16px; background: var(--bordo); color: var(--white); border-radius: var(--tb-r-sm); min-width: 200px; }
.tb-calc__k { font: 700 .68rem/1 var(--f-head); letter-spacing: .14em; text-transform: uppercase; color: color-mix(in srgb, var(--white) 82%, transparent); }
.tb-calc__v { font: 800 2rem/1 var(--f-head); font-variant-numeric: tabular-nums; }
.tb-calc__sub { font-size: .78rem; color: color-mix(in srgb, var(--white) 82%, transparent); }
@media (max-width: 560px) {
  .tb-calc { grid-template-columns: minmax(0, 1fr); }
  .tb-calc__out { min-width: 0; }
  .tb-seg--wide label { flex: 1 1 100%; }
}

.tb-tbl-wrap { border-radius: var(--tb-r); }
.tb-tbl th, .tb-tbl td { padding: 7px 12px; line-height: 1.3; }
.tb-tbl thead th { font-size: .68rem; letter-spacing: .1em; }
.tb-tbl tbody th { background: var(--white); color: var(--ink); font: 700 .9rem/1.2 var(--f-body); letter-spacing: 0; text-transform: none; }
.tb-tbl tbody tr:nth-child(even) th { background: var(--paper); }
.tb-tbl td.num, .tb-tbl th.num { text-align: right; }
.tb-tbl thead th:not(:first-child) { text-align: right; }
/* mobilde yatay kaydırırken kalınlık sütunu sabit kalsın */
.tb-tbl thead th:first-child, .tb-tbl tbody th { position: sticky; left: 0; z-index: 1; box-shadow: inset -1px 0 0 var(--line); }
.tb-tbl__unit { display: block; margin-top: 3px; font-size: .62rem; letter-spacing: .06em; opacity: .7; }
.tb-tbl td, .tb-tbl tbody th { transition: background-color .15s, color .15s; }
.tb-tbl thead th.is-col { background: var(--bordo-700); color: var(--white); }
.tb-tbl tbody td.is-col { background: var(--bordo-50); }
.tb-tbl tbody tr.is-sel th, .tb-tbl tbody tr.is-sel td { background: var(--bordo-50); color: var(--bordo); font-weight: 800; }
.tb-tbl tbody tr.is-sel th { box-shadow: inset 4px 0 0 var(--bordo), inset -1px 0 0 var(--line); }
.tb-tbl tbody tr.is-sel td.is-col { background: var(--bordo); color: var(--white); }

/* ==========================================================================
   NPI / IPE / NPU
   ========================================================================== */
.tb-profiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.tb-profile {
  margin: 0; display: grid; gap: 10px; align-content: start; padding: 14px;
  background: var(--white); border: 1px solid var(--line); border-top: 3px solid var(--bordo); border-radius: var(--tb-r);
  transition: box-shadow .2s, transform .2s var(--ease);
}
.tb-profile:hover { transform: translateY(-2px); box-shadow: var(--shadow-1); }
.tb-pf {
  width: 100%; max-width: 118px; height: auto; margin-inline: auto; overflow: visible; aspect-ratio: 170 / 162; padding: 6px;
  background-color: var(--paper); border-radius: 4px;
  background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 14px 14px;
}
.tb-pf .tb-pf-body { fill: var(--steel-600); }
.tb-profile figcaption { font-size: .86rem; line-height: 1.55; color: var(--muted); }
.tb-profile figcaption strong { display: block; font: 800 1.3rem/1 var(--f-head); color: var(--ink); margin-bottom: 4px; }
@media (max-width: 860px) {
  .tb-profiles { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .tb-profile { grid-template-columns: 110px minmax(0, 1fr); align-items: center; gap: 14px; padding: 12px; }
  .tb-pf { max-width: 110px; }
}

.tb-cmp-wrap { margin-top: 12px; overflow-x: auto; background: var(--white); border: 1px solid var(--line); border-radius: var(--tb-r); }
.tb-cmp { width: 100%; border-collapse: collapse; font-size: .9rem; }
.tb-cmp__cap { caption-side: top; text-align: left; padding: 10px 14px; font: 700 .7rem/1 var(--f-head); letter-spacing: .16em; text-transform: uppercase; color: var(--bordo); background: var(--paper); }
.tb-cmp th, .tb-cmp td { padding: 9px 14px; text-align: left; border-top: 1px solid var(--line); vertical-align: top; }
.tb-cmp thead th { font: 700 .68rem/1.2 var(--f-head); letter-spacing: .1em; text-transform: uppercase; color: var(--steel-600); background: var(--paper); }
.tb-cmp tbody th { font: 800 1.05rem/1.2 var(--f-head); color: var(--ink); white-space: nowrap; }
.tb-cmp td { color: var(--steel-700); }
.tb-cmp td:nth-child(2) { font: 800 1.05rem/1.2 var(--f-head); color: var(--bordo); }
.tb-cmp tbody tr:hover th, .tb-cmp tbody tr:hover td { background: var(--paper); }
@media (max-width: 560px) {
  .tb-cmp thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .tb-cmp, .tb-cmp tbody, .tb-cmp tr, .tb-cmp th, .tb-cmp td { display: block; }
  .tb-cmp__cap { display: block; }
  .tb-cmp tbody tr { padding: 10px 14px; border-top: 1px solid var(--line); }
  .tb-cmp tbody th, .tb-cmp td { padding: 2px 0; border: 0; }
  .tb-cmp tbody th { margin-bottom: 4px; }
  .tb-cmp td { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 10px; }
  .tb-cmp td::before { content: attr(data-label); font: 700 .66rem/1.7 var(--f-head); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
}

/* ==========================================================================
   AĞIRLIK CETVELİ — açık bağlantı kartı (ana sayfadaki .tool4 dili)
   ========================================================================== */
.tb-cetvel {
  display: flex; align-items: center; gap: 18px; padding: 18px 22px;
  background: var(--white); border: 1px solid var(--line); border-left: 4px solid var(--bordo); border-radius: var(--tb-r);
  transition: box-shadow .2s, transform .2s var(--ease);
}
.tb-cetvel:hover { box-shadow: var(--shadow-2); transform: translateY(-2px); }
.tb-cetvel__ic { width: 60px; height: 60px; flex: none; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--bordo-50); color: var(--bordo); }
.tb-cetvel__body { display: grid; gap: 6px; min-width: 0; }
.tb-cetvel__t { font: 800 clamp(1.3rem, .8vw + 1rem, 1.6rem)/1.15 var(--f-head); }
.tb-cetvel__p { color: var(--muted); font-size: .94rem; max-width: 62ch; }
.tb-cetvel__go { margin-left: auto; flex: none; display: inline-flex; align-items: center; gap: 7px; font-weight: 700; color: var(--bordo); }
.tb-cetvel__go .ic { transition: transform .15s var(--ease); }
.tb-cetvel:hover .tb-cetvel__go .ic { transform: translateX(4px); }
@media (max-width: 640px) { .tb-cetvel { flex-wrap: wrap; padding: 16px; gap: 12px 14px; } .tb-cetvel__ic { width: 48px; height: 48px; } .tb-cetvel__body { flex: 1 1 200px; } .tb-cetvel__go { margin-left: 62px; } }

/* ==========================================================================
   ORTAK: işaretlenebilir satır (lazer listesi + teklif)
   ========================================================================== */
.tb-check, .tb-req__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.tb-check__li, .tb-req__item { position: relative; min-width: 0; }
.tb-check__box { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tb-check__item {
  height: 100%; display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 12px; align-items: start;
  padding: 11px 14px; background: var(--white); border: 1px solid var(--line); border-left: 3px solid var(--line-2); border-radius: var(--tb-r-sm);
  color: var(--muted); font-size: .92rem; line-height: 1.5; cursor: pointer; transition: border-color .2s, background-color .2s;
}
.tb-check__item:hover { border-left-color: var(--bordo); }
.tb-check__mark {
  width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; border-radius: 4px;
  border: 2px solid var(--line-2); background: var(--white); color: transparent; transition: background-color .2s, border-color .2s, color .2s, transform .2s var(--ease);
}
.tb-check__n { font-family: var(--f-head); color: var(--bordo); }
.tb-check__txt strong { color: var(--ink); }
.tb-check__box:checked + .tb-check__item { border-left-color: var(--ok); background: color-mix(in srgb, var(--ok) 5%, var(--white)); }
.tb-check__box:checked + .tb-check__item .tb-check__mark { background: var(--ok); border-color: var(--ok); color: var(--white); transform: scale(1.06); }
.tb-check__box:checked + .tb-check__item .tb-check__txt strong { text-decoration: line-through; text-decoration-color: color-mix(in srgb, var(--ok) 70%, transparent); text-decoration-thickness: 2px; }
.tb-check__box:focus-visible + .tb-check__item { outline: 3px solid var(--bordo); outline-offset: 2px; }
.tb-check__txt code { background: var(--paper-2); }

/* ==========================================================================
   TEKLİF — kontrol listesi → WhatsApp mesajı
   ========================================================================== */
.tb-req { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); background: var(--white); border: 1px solid var(--line); border-top: 3px solid var(--bordo); border-radius: var(--tb-r); overflow: hidden; }
.tb-req__main { display: grid; gap: 12px; align-content: start; padding: clamp(14px, 2vw, 22px); min-width: 0; }
.tb-req__count { font: 700 1.02rem/1 var(--f-head); }
.tb-req__count strong { color: var(--bordo); }
.tb-req__item .tb-check__item { background: var(--paper); }
@media (min-width: 1180px) { .tb-req { grid-template-columns: minmax(0, 1fr) 300px; } .tb-req__list { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; } .tb-req__val { padding-left: 0; } }
.tb-req__val { display: none; padding: 6px 0 2px 40px; }
.tb-req__item:has(.tb-check__box:checked) .tb-req__val { display: block; }
.tb-req__in { min-height: 42px; padding: 8px 12px; }
.tb-req__note .textarea { min-height: 72px; }
.tb-req__side { display: grid; gap: 12px; align-content: start; padding: clamp(14px, 2vw, 22px); background: var(--paper); border-left: 1px solid var(--line); min-width: 0; }
.tb-req__pt { font: 700 .7rem/1 var(--f-head); letter-spacing: .16em; text-transform: uppercase; color: var(--steel-600); }
.tb-req__preview {
  margin: 0; min-height: 120px; max-height: 300px; overflow: auto; padding: 12px; white-space: pre-wrap; overflow-wrap: anywhere;
  background: color-mix(in srgb, var(--wa) 6%, var(--white)); border: 1px solid var(--line); border-left: 3px solid var(--wa); border-radius: 4px;
  font: 500 .88rem/1.55 var(--f-body); color: var(--ink);
}
.tb-req__btns { display: grid; gap: 8px; }
.tb-req__btns .btn { white-space: normal; }
.tb-req__btns .btn--outline { --b: var(--white); }
.tb-req__foot { font-size: .82rem; color: var(--muted); }
@media (max-width: 860px) { .tb-req { grid-template-columns: minmax(0, 1fr); } .tb-req__side { border-left: 0; border-top: 1px solid var(--line); } }

/* ==========================================================================
   LAZER DOSYASI — kontrol listesi (2 sütun) + gönderme şeridi
   ========================================================================== */
.tb-dos { display: grid; gap: 10px; }
.tb-dos .tb-check { grid-template-columns: repeat(auto-fit, minmax(min(330px, 100%), 1fr)); }
.tb-progress { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px 14px; padding: 12px 14px; background: var(--white); border: 1px solid var(--line); border-radius: var(--tb-r); }
.tb-progress__t { font: 700 1.02rem/1 var(--f-head); }
.tb-progress__bar { grid-column: 1 / -1; grid-row: 2; height: 6px; background: var(--paper-2); border-radius: 3px; overflow: hidden; }
.tb-progress__fill { display: block; height: 100%; background: var(--bordo); transform-origin: left; transform: scaleX(0); transition: transform .35s var(--ease); }
.tb-progress.is-done .tb-progress__fill { background: var(--ok); }
.tb-progress.is-done .tb-progress__t { color: var(--ok); }

.tb-dos__alt {
  display: flex; align-items: center; gap: 14px 24px; padding: 16px 20px;
  background: var(--white); border: 1px solid var(--line); border-left: 4px solid var(--bordo); border-radius: var(--tb-r);
  transition: box-shadow .3s, border-color .3s;
}
.tb-dos__copy { display: grid; gap: 6px; flex: 1; min-width: 0; }
.tb-dos__t { display: flex; align-items: center; gap: 8px; font: 700 1.08rem/1.2 var(--f-head); }
.tb-dos__t .ic { color: var(--bordo); }
.tb-dos__copy > p:not(.tb-dos__ready) { color: var(--muted); font-size: .9rem; }
.tb-dos__btns { display: flex; flex-direction: column; gap: 8px; flex: none; }
.tb-dos__btns .btn { white-space: normal; }
.tb-dos__btns .btn--outline { --b: var(--white); }
.tb-dos__ready { display: flex; gap: 8px; align-items: center; justify-self: start; padding: 6px 10px; border-radius: 4px; background: color-mix(in srgb, var(--ok) 12%, var(--white)); color: var(--ok); font-weight: 700; font-size: .88rem; }
.tb-dos__alt.is-ready { border-left-color: var(--ok); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ok) 40%, transparent); }
@media (prefers-reduced-motion: no-preference) { .tb-dos__alt.is-ready .btn--wa { animation: tb-pulse 1.6s var(--ease) 2; } }
@keyframes tb-pulse { 0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--wa) 60%, transparent); } 50% { box-shadow: 0 0 0 10px transparent; } }
@media (max-width: 760px) { .tb-dos__alt { flex-direction: column; align-items: stretch; padding: 16px; } .tb-dos__btns { flex-direction: row; flex-wrap: wrap; } .tb-dos__btns .btn { flex: 1 1 180px; } }

/* ==========================================================================
   ABKANT BÜKÜM — şema + kavramlar
   ========================================================================== */
.tb-bend { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.tb-bend__side { display: grid; gap: 4px; min-width: 0; }
.tb-bend__side .tb-tips { grid-template-columns: minmax(0, 1fr); gap: 8px; margin-top: 12px; }
.tb-bend__fig { margin: 0; padding: 16px; background: var(--white); border: 1px solid var(--line); border-radius: var(--tb-r); }
.tb-bend__fig figcaption { margin-top: 4px; font-size: .76rem; color: var(--muted); text-align: center; }
.tb-bend-svg { width: 100%; height: auto; overflow: visible; }
.tb-bend-svg .tb-pf-body { fill: var(--steel-600); }
.tb-pf-lead { fill: none; stroke: var(--muted); stroke-width: 1; }
.tb-pf-note { fill: var(--steel-600); font: 600 11px var(--f-body); }
.tb-part { transition: opacity .2s; }
.tb-part__fill { fill: var(--tape); opacity: 0; transition: opacity .2s; }
.tb-part__tx { fill: var(--steel-600); font: 600 11px var(--f-body); transition: fill .2s; }
.tb-part__ln { stroke: var(--bordo); stroke-width: 1.4; }
.tb-part__dot { fill: var(--bordo); }
.tb-part__ld { fill: none; stroke: var(--muted); stroke-width: 1; }
.tb-part__neutral { fill: none; stroke: var(--bordo); stroke-width: 1.4; stroke-dasharray: 6 4; transition: stroke-width .2s; }
.tb-part__flat { fill: var(--line-2); transition: fill .2s; }
.tb-bend.has-hot .tb-part:not(.is-hot), .tb-bend.has-hot .tb-dim { opacity: .3; }
.tb-part.is-hot .tb-part__fill { opacity: .9; }
.tb-part.is-hot .tb-part__tx { fill: var(--bordo-700); font-weight: 800; }
.tb-part.is-hot .tb-part__neutral { stroke-width: 3; }
.tb-part.is-hot .tb-part__flat { fill: var(--tape); }
@media (prefers-reduced-motion: no-preference) { .tb-part.is-hot .tb-part__neutral { animation: tb-dash 1.2s linear infinite; } }
@keyframes tb-dash { to { stroke-dashoffset: -20; } }

.tb-concepts { display: grid; gap: 6px; }
.tb-concept__btn {
  width: 100%; display: grid; gap: 3px; padding: 10px 14px; text-align: left; cursor: pointer;
  background: var(--white); border: 1px solid var(--line); border-left: 3px solid var(--bordo); border-radius: var(--tb-r-sm);
  transition: background-color .15s, border-color .15s, transform .15s var(--ease);
}
.tb-concept__t { display: flex; justify-content: space-between; align-items: center; gap: 10px; font: 700 1rem/1.2 var(--f-head); }
.tb-concept__t::after { content: ""; width: 9px; height: 9px; flex: none; border: 2px solid var(--line-2); transform: rotate(45deg); transition: background-color .15s, border-color .15s; }
.tb-concept__d { color: var(--muted); font-size: .88rem; line-height: 1.5; }
.tb-concept__btn:hover, .tb-concept__btn.is-hot { background: var(--bordo-50); transform: translateX(3px); }
.tb-concept__btn[aria-pressed="true"] { background: var(--bordo); border-color: var(--bordo); border-left-color: var(--bordo-900); }
.tb-concept__btn[aria-pressed="true"] .tb-concept__t { color: var(--white); }
.tb-concept__btn[aria-pressed="true"] .tb-concept__t::after { background: var(--white); border-color: var(--white); }
.tb-concept__btn[aria-pressed="true"] .tb-concept__d { color: color-mix(in srgb, var(--white) 86%, transparent); }
@media (max-width: 860px) { .tb-bend { grid-template-columns: minmax(0, 1fr); } .tb-bend__side { display: contents; } .tb-bend__side .tb-tips { order: 3; } }

/* ==========================================================================
   KESİM OPTİMİZASYONU
   ========================================================================== */
.tb-ns-fig { margin: 0 0 14px; padding: 16px; background: var(--white); border: 1px solid var(--line); border-radius: var(--tb-r); }
.tb-ns { width: 100%; height: auto; }
.tb-ns .tb-ns-h { fill: var(--ink); font: 700 11px var(--f-body); letter-spacing: .06em; text-transform: uppercase; }
.tb-ns .tb-ns-bar { fill: var(--paper-2); stroke: var(--line-2); stroke-width: 1; }
.tb-ns .tb-ns-a { fill: var(--bordo); stroke: var(--white); stroke-width: 1; }
.tb-ns .tb-ns-b { fill: var(--steel-600); stroke: var(--white); stroke-width: 1; }
.tb-ns .tb-ns-t { fill: var(--white); font: 700 10px var(--f-head); text-anchor: middle; letter-spacing: .03em; }
.tb-ns .tb-ns-t--waste { fill: var(--steel-600); }
.tb-ns-fig figcaption { margin-top: 10px; font-size: .86rem; color: var(--muted); }

.tb-nest { display: grid; gap: 12px; }
.tb-nest__form { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 14px 22px; padding: clamp(14px, 2vw, 20px); background: var(--white); border: 1px solid var(--line); border-top: 3px solid var(--bordo); border-radius: var(--tb-r); }
.tb-nest__stock { display: grid; gap: 12px; align-content: start; }
.tb-nest__stock .input { min-height: 42px; padding: 8px 12px; }
.tb-nest__parts { margin: 0; padding: 0; border: 0; min-width: 0; display: grid; gap: 8px; align-content: start; }
.tb-nest__parts legend { margin-bottom: 8px; padding: 0; }
.tb-nest__rows { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.tb-row { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto minmax(0, 100px) 42px; gap: 8px; align-items: center; }
.tb-row__n { width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--bordo); color: var(--white); font: 700 .85rem/1 var(--f-head); }
.tb-row .input { min-height: 42px; padding: 8px 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.tb-row__x { font-weight: 800; color: var(--muted); }
.tb-row__del { width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border: 1.5px solid var(--line-2); border-radius: 4px; background: var(--white); color: var(--steel-600); cursor: pointer; transition: color .15s, border-color .15s; }
.tb-row__del:hover { color: var(--danger); border-color: var(--danger); }
.tb-row__del:disabled { opacity: .4; cursor: not-allowed; }
.tb-row__err { grid-column: 2 / -1; }
.tb-err { font-size: .8rem; font-weight: 700; color: var(--danger); }
.tb-err:empty { display: none; }
.tb-page .input[aria-invalid="true"] { border-color: var(--danger); box-shadow: 0 0 0 3px color-mix(in srgb, var(--danger) 14%, transparent); }
.tb-nest__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.tb-nest__actions .btn--outline { --b: var(--white); }
@media (max-width: 760px) { .tb-nest__form { grid-template-columns: minmax(0, 1fr); } .tb-nest__stock { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 420px) { .tb-nest__stock { grid-template-columns: minmax(0, 1fr); } .tb-row { grid-template-columns: 22px minmax(0, 1fr) auto minmax(0, 72px) 42px; gap: 6px; } .tb-row .input { padding-inline: 8px; } }

.tb-nest__summary { padding: 12px 14px; background: var(--bordo-50); color: var(--ink); font-weight: 600; border-left: 4px solid var(--bordo); border-radius: 0 var(--tb-r-sm) var(--tb-r-sm) 0; }
.tb-nest__summary:empty { display: none; }
.tb-nest__summary strong { color: var(--bordo); }
.tb-nest__summary.is-warn { border-left-color: var(--danger); }

.tb-nest__results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 860px) { .tb-nest__results { grid-template-columns: minmax(0, 1fr); } }
.tb-res { display: grid; gap: 10px; align-content: start; padding: 16px; background: var(--white); border: 1px solid var(--line); border-top: 3px solid var(--steel-600); border-radius: var(--tb-r); min-width: 0; }
.tb-res--plan { border-top-color: var(--bordo); }
.tb-res__t { display: flex; align-items: center; gap: 10px; font: 700 1.12rem/1.1 var(--f-head); }
.tb-res__tag { width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--steel-600); color: var(--white); font-size: .95rem; }
.tb-res--plan .tb-res__tag { background: var(--bordo); }
.tb-res__how { font-size: .84rem; color: var(--muted); }
.tb-stats { margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 4px; overflow: hidden; }
.tb-stats > div { display: grid; gap: 3px; align-content: start; padding: 8px; background: var(--paper); min-width: 0; }
.tb-stats dt { font: 700 .6rem/1.2 var(--f-head); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.tb-stats dd { margin: 0; font: 800 .95rem/1.15 var(--f-head); letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.tb-stats .is-better dd { color: var(--ok); }
@media (max-width: 1280px) and (min-width: 861px), (max-width: 480px) { .tb-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tb-stats .is-better dd::after { content: " ✓"; font-size: .85rem; }

.tb-bars { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.tb-bar { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 8px; align-items: center; }
.tb-bar__n { font: 700 .78rem/1 var(--f-head); color: var(--muted); }
.tb-bar__track { display: flex; height: 28px; background: var(--paper-2); border: 1px solid var(--line-2); border-radius: 4px; overflow: hidden; }
.tb-bar__track .tb-pc, .tb-nest__legend .tb-pc {
  display: flex; align-items: center; justify-content: center; min-width: 0; overflow: hidden;
  font: 700 .74rem/1 var(--f-head); letter-spacing: .02em; color: var(--white); white-space: nowrap;
}
.tb-bar__track .tb-pc { transform-origin: left; }
.tb-pc--c0 { background: var(--bordo); }
.tb-pc--c1 { background: var(--steel-600); }
.tb-pc--c2 { background: var(--tape); }
.tb-pc--c3 { background: var(--bordo-900); }
.tb-pc--c4 { background: var(--steel-800); }
.tb-pc--kerf { background: var(--ink); }
.tb-pc--rest { background: var(--tb-hatch); color: var(--steel-700) !important; flex: 1 1 auto; }
.tb-pc--rest.is-big { box-shadow: inset 0 0 0 2px var(--ok); color: var(--ok) !important; }
.tb-bar__track .tb-pc--c0, .tb-bar__track .tb-pc--c1, .tb-bar__track .tb-pc--c2, .tb-bar__track .tb-pc--c3, .tb-bar__track .tb-pc--c4 { box-shadow: inset -1px 0 0 color-mix(in srgb, var(--white) 50%, transparent); }
@media (prefers-reduced-motion: no-preference) { .tb-bars.is-new .tb-pc { animation: tb-grow .5s var(--ease) both; } }
@keyframes tb-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.tb-bars__more { font-size: .82rem; color: var(--muted); }
.tb-res__empty { font-size: .88rem; color: var(--muted); padding: 10px; background: var(--paper); border-radius: 4px; }

.tb-nest__foot { display: grid; gap: 10px; }
.tb-nest__legend { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: .8rem; color: var(--muted); }
.tb-nest__legend span { display: inline-flex; align-items: center; gap: 8px; }
.tb-nest__legend .tb-pc { width: 22px; height: 12px; border: 1px solid var(--line-2); border-radius: 2px; }
.tb-nest__cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; padding: 12px 16px; background: var(--white); border: 1px dashed var(--line-2); border-radius: var(--tb-r); }
.tb-nest__cta p { flex: 1 1 260px; font-size: .85rem; color: var(--muted); max-width: 64ch; }
.tb-nest__cta .btn { flex: none; }

/* ---------- YAZDIRMA ---------- */
@media print {
  body:has(.tb-page) .hdr, body:has(.tb-page) .topbar, body:has(.tb-page) .demo-band,
  body:has(.tb-page) .ftr, body:has(.tb-page) .fab, body:has(.tb-page) .cta-band { display: none !important; }
  .tb-toc, .tb-jump, .tb-search, .tb-tabs, .tb-copy, .tb-example__btns, .tb-nest__form, .tb-nest__cta,
  .tb-req__btns, .tb-dos__btns, .tb-progress, .tb-cetvel__go, .tb-page .btn, .tb-page .note .ic { display: none !important; }
  .tb-page, .tb-page * { color: var(--ink) !important; background: transparent !important; box-shadow: none !important; }
  .tb-hero { padding: 0 0 12px; border: 0; }
  .tb-guide { display: block; }
  .tb-body { display: block; }
  .tb-grp__head { border: 1px solid var(--line-2) !important; margin-top: 18px; }
  .tb-sec { break-inside: auto; opacity: 1 !important; transform: none !important; }
  .tb-panel { display: grid !important; grid-template-columns: 200px 1fr; break-inside: avoid; border-top: 1px solid var(--line-2) !important; }
  .tb-panel[hidden] { display: grid !important; }
  .tb-tbl th, .tb-tbl td, .tb-cmp th, .tb-cmp td { border: 1px solid var(--line-2) !important; position: static !important; }
  .tb-check__item, .tb-concept__btn, .tb-term { border: 1px solid var(--line-2) !important; break-inside: avoid; }
  .tb-req__val { display: block; }
  .tb-bend__fig { position: static; }
  .tb-pc--c0, .tb-pc--c1, .tb-pc--c2, .tb-pc--c3, .tb-pc--c4 { outline: 1px solid var(--ink); }
  .tb-page a[href^="/"]::after { content: " (" attr(href) ")"; font-size: .8em; }
}

/* ---------- hizmet sayfası: malzeme fotoğrafı ---------- */
.svc-photo { margin: 0; position: relative; overflow: hidden; background: var(--steel-900); border-radius: 8px; }
.svc-photo img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.svc-photo figcaption {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 32px 18px 14px;
  font-size: .88rem; font-weight: 600; color: var(--white);
  background: linear-gradient(transparent, color-mix(in srgb, var(--ink) 82%, transparent));
}
.svc-photo figcaption a { color: var(--tape); text-decoration: underline; text-underline-offset: 3px; }

/* Teknik bilgi: geniş ekranda sayfa sağa sola yayılır (dar ortalı sütun yerine) */
/* üst alan (başlık + konu kartları) diğer sayfalarla aynı genişlikte; rehber içeriği geniş */
@media (min-width: 1200px) { .tb-guide { max-width: 1680px; } }
