/* ══════════════════════════════════════════════════════════════════
   bovarine.css — Tema (Azures) üzerine Bovarine'e özel küçük eklemeler.
   Temanın kendi dosyalarına dokunulmadı; burada sadece temada karşılığı
   olmayan birkaç parça var. Renkler mümkün olduğunca temanın kendi
   sınıflarından (bg-highlight, color-*-dark) gelir.
   ══════════════════════════════════════════════════════════════════ */

/* ── Başlık satırı (tema örneği: Tema/component-images.html → .page-title-small) ──
   Sabit header yok: başlık sayfa içeriğinin başındadır ve sayfayla birlikte kayar.
   Sol: (geri) + sayfa adı · sağ: [RFID] · Bildirim · Profil fotoğrafı (40px, temadaki gibi). */
.bv-page-title { display: flex; align-items: center; gap: 8px; min-height: 40px; }
.bv-page-title h2 { flex: 1; min-width: 0; margin: 0; padding-top: 0 !important; display: flex; align-items: center;
  font-size: 22px !important; line-height: 40px; white-space: nowrap; overflow: hidden; }
.bv-page-title h2 a { padding-right: 14px; flex-shrink: 0; }
.bv-page-title .bv-pt-text { overflow: hidden; text-overflow: ellipsis; }
.bv-pt-btn { position: relative; flex-shrink: 0; width: 40px; height: 40px; border-radius: 40px;
  display: flex; align-items: center; justify-content: center; color: #FFF !important; }
.bv-pt-notif, .bv-pt-rfid { background: rgba(255,255,255,.18); }
.bv-pt-notif i { font-size: 16px; }
.bv-pt-rfid i { font-size: 20px; }
.bv-pt-rfid .rfid-dot { top: 1px; right: 1px; }
.bv-pt-avatar { background-size: cover; background-position: center; background-color: rgba(255,255,255,.25);
  box-shadow: 0 4px 12px rgba(0,0,0,.18); }
.bv-pt-notif .badge { position: absolute; top: -3px; right: -3px; margin: 0; font-size: 9px; min-width: 17px; }

/* ── Ana Ekran: hızlı işlemler (3 kutu, kartlarla aynı kenar boşluğu) ── */
.bv-quick { display: flex; gap: 10px; margin: 0 15px 20px; }
.bv-quick .card { flex: 1; margin: 0 !important; }

/* ── Ana Ekran: görev kategorisi filtresi (yatay kaydırmalı chip şeridi) ── */
.bv-chips { display: flex; overflow-x: auto; padding: 0 15px 4px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.bv-chips::-webkit-scrollbar { display: none; }
.bv-chips .chip { flex-shrink: 0; margin: 0 8px 10px 0; padding: 0 12px; background: #FFF; box-shadow: 0 2px 8px rgba(0,0,0,.06); }
.bv-chips .chip span { line-height: 32px; color: #1f1f1f; font-weight: 600; }
.bv-chips .chip em { font-style: normal; font-size: 11px; font-weight: 700; margin-left: 6px; opacity: .5; }
.bv-chips .chip.active span, .bv-chips .chip.active em { color: #FFF; opacity: 1; }
.bv-taskcard { margin-bottom: 16px !important; }

/* ── Ana Ekran: kategori başlığı ve görev satırı (tek dokunuşla tamamlama) ── */
.bv-cat-head { display: flex; align-items: center; }
.bv-cat-head h5 { font-size: 15px; margin: 0 0 0 10px; }
.bv-cat-head .bv-count { margin-left: auto; font-size: 11px; font-weight: 700; color: #8a929a; }
.bv-task { display: flex; align-items: center; padding: 10px 0; border-bottom: 1px solid rgba(0,0,0,.05); }
.bv-task:last-child { border-bottom: 0; }
.bv-task .bv-tag { min-width: 46px; text-align: center; font-size: 11px; font-weight: 700; border-radius: 8px; padding: 6px 4px; background: rgba(0,0,0,.05); color: #1f1f1f; }
.bv-task .bv-body { padding-left: 12px; line-height: 1.25; min-width: 0; flex: 1; }
.bv-task .bv-body h6 { font-size: 13px; font-weight: 600; margin: 0; }
.bv-task .bv-body span { font-size: 11px; color: #8a929a; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-task .bv-action { margin-left: 8px; flex-shrink: 0; }
.bv-task .bv-action .btn { letter-spacing: -0.3px; min-width: 62px; text-align: center; }
.bv-check { width: 34px; height: 34px; border-radius: 50%; border: 2px solid #d5d9dd; display: inline-flex; align-items: center; justify-content: center; color: transparent; }
.bv-task.done .bv-check { background: #8CC152; border-color: #8CC152; color: #FFF; }
/* Tamamlanan iş (ilgili sayfada kayıt girildi): üstü çizili, sağda yeşil onay */
.bv-task.done .bv-body h6, .bv-task.done .bv-body span, .bv-task.done .bv-tag { opacity: .5; text-decoration: line-through; }
.bv-task.done .bv-check { width: 30px; height: 30px; }
/* AJAX isteği sürerken (Ana Ekran'da sayfa yenilenmeden tamamlama) düğme tıklanamaz görünür. */
[data-bv-complete].bv-busy { opacity: .5; pointer-events: none; }
.bv-more { display: block; text-align: center; font-size: 12px; font-weight: 600; padding-top: 8px; }

/* ── Ana Ekran: sürü nabzı ── */
.bv-kpi p { font-size: 11px; margin: 0; color: #8a929a; line-height: 1.3; }
.bv-kpi h3 { font-size: 20px; margin: 2px 0 0; }
.bv-kpi .bv-trend { font-size: 11px; font-weight: 600; }
.bv-kpi .bv-target { font-size: 10px; color: #8a929a; }

/* ── Profil ── */
.bv-btn { letter-spacing: -0.3px; }

/* ── Karanlık tema uyumu ── */
.theme-dark .bv-task .bv-tag { background: rgba(255,255,255,.08); color: #FFF; }
.theme-dark .bv-task { border-bottom-color: rgba(255,255,255,.06); }
.theme-dark .bv-chips .chip:not(.active) { background: #21252a; }
.theme-dark .bv-chips .chip:not(.active) span { color: #FFF; }

/* ══════════════════════════════════════════════════════════════════
   Sağım Kaydı (MilkManagement/MilkRecord) — toplu giriş ızgarası
   ══════════════════════════════════════════════════════════════════ */
.bv-milk-sum { display: flex; text-align: center; }
.bv-milk-sum > div { flex: 1; }
.bv-milk-sum > div + div { border-left: 1px solid rgba(0,0,0,.06); }
.bv-milk-sum p { font-size: 10px; margin: 0; color: #8a929a; line-height: 1.3; text-transform: uppercase; letter-spacing: .3px; }
.bv-milk-sum h3 { font-size: 19px; margin: 2px 0 0; }
.bv-milk-sum h3 small { font-size: 12px; opacity: .5; font-weight: 600; }

.bv-milk-scan { display: flex; align-items: center; height: 46px; padding: 0 14px; border-radius: 12px; }
.bv-milk-scan i { color: #FFF; opacity: .8; font-size: 15px; width: 22px; }
.bv-milk-scan input { flex: 1; min-width: 0; height: 46px; border: 0 !important; background: transparent; color: #FFF; font-size: 14px !important; padding-left: 8px; outline: none; }
.bv-milk-scan input::placeholder { color: rgba(255,255,255,.6); font-size: 14px !important; }
.bv-date-pick { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; cursor: pointer; }
.bv-date-pick input[type=date] { border: 0 !important; background: transparent; color: inherit; font-weight: 600; font-size: 12px !important; width: 118px; padding: 0; }
.bv-milk-hint { font-size: 11px; color: #8a929a; margin: 6px 2px 0; }

.bv-milk-head { display: flex; font-size: 10px; font-weight: 700; color: #8a929a; text-transform: uppercase; letter-spacing: .3px; padding-bottom: 6px; border-bottom: 1px solid rgba(0,0,0,.06); }
.bv-milk-head .bv-h-ref { margin-left: auto; width: 54px; text-align: right; margin-right: 10px; }
.bv-milk-head .bv-h-in { width: 80px; text-align: center; }

.bv-milk-row { display: flex; align-items: center; padding: 9px 0; border-bottom: 1px solid rgba(0,0,0,.05); transition: background .3s; }
.bv-milk-row:last-child { border-bottom: 0; }
.bv-milk-row .bv-tag { min-width: 46px; text-align: center; font-size: 11px; font-weight: 700; border-radius: 8px; padding: 6px 4px; background: rgba(0,0,0,.05); color: #1f1f1f; }
.bv-milk-row .bv-body { padding-left: 10px; line-height: 1.25; min-width: 0; flex: 1; }
.bv-milk-row .bv-body h6 { font-size: 13px; font-weight: 600; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-milk-row .bv-body span { font-size: 11px; color: #8a929a; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-milk-row .bv-ref { width: 54px; text-align: right; margin-right: 10px; flex-shrink: 0; font-size: 13px; font-weight: 600; color: #8a929a; }
/* Tema her input'a "font-size:12px !important" ve hover/focus'ta "border-color … !important"
   veriyor; aşağıdaki kurallar daha özgül olduğu için !important ile onları geçer. */
.bv-milk-row .bv-milk-input { width: 80px; height: 44px; flex-shrink: 0; font-size: 18px !important; font-weight: 700; text-align: center; border: 2px solid #dfe3e7 !important; border-radius: 10px; background: #f7f8f9; color: #1f1f1f; outline: none; padding: 0 4px; }
.bv-milk-row .bv-milk-input::placeholder { font-size: 14px !important; }
.bv-milk-row .bv-milk-input:focus { border-color: #434A54 !important; background: #FFF; box-shadow: 0 0 0 3px rgba(67,74,84,.12) !important; }
.bv-milk-row.entered .bv-milk-input { border-color: #8CC152 !important; background: #FFF; }
.bv-milk-row.entered .bv-tag { background: rgba(140,193,82,.18); color: #4d7e22; }
/* Sapma: dünkü verimden büyük fark — yazım hatası olabilir */
.bv-milk-row.deviation .bv-milk-input { border-color: #E9573F !important; background: rgba(233,87,63,.06); }
.bv-milk-row .bv-body .bv-milk-warn,
.bv-milk-row .bv-body .bv-withheld-note { white-space: normal; }
.bv-milk-row .bv-milk-warn { color: #E9573F; font-weight: 600; }
.bv-milk-row .bv-milk-warn:empty { display: none; }
/* Kalıntı: süt kaydedilir ama tanka GİRMEZ (3.3, 4.6 yasal zorunluluk) */
.bv-milk-row.withheld { background: rgba(218,68,83,.06); margin: 0 -15px; padding-left: 12px; padding-right: 15px; border-left: 3px solid #DA4453; }
.bv-milk-row.withheld .bv-tag { background: #DA4453; color: #FFF; }
.bv-milk-row.withheld .bv-milk-input,
.bv-milk-row.withheld.entered .bv-milk-input { border-color: #DA4453 !important; }
.bv-milk-row.withheld .bv-withheld-note { color: #DA4453; font-weight: 600; }
.bv-milk-row.flash { background: rgba(67,74,84,.10); }

#bvMissingList { display: flex; flex-wrap: wrap; }
#bvMissingList .chip { margin: 0 6px 8px 0; padding: 0 12px; background: rgba(0,0,0,.05); }
#bvMissingList .chip span { line-height: 30px; font-weight: 600; color: #1f1f1f; }

.theme-dark .bv-milk-row .bv-milk-input { background: #21252a; color: #FFF; }
.theme-dark .bv-milk-row .bv-tag { background: rgba(255,255,255,.08); color: #FFF; }

/* ══════════════════════════════════════════════════════════════════
   Hayvanlar (AnimalManagement/Animal) — liste ve hayvan kartı (4.2)
   ══════════════════════════════════════════════════════════════════ */
/* Durum rozetleri: renk ÇEVRİLMİŞ METNE değil durum KODUNA bağlı (StatusCodes / STA-*) */
.bv-st { display: inline-block; font-size: 10px; font-weight: 700; line-height: 1; padding: 4px 7px; border-radius: 20px; color: #FFF; background: #AAB2BD; margin: 0 3px 3px 0; white-space: nowrap; }
.bv-st-sta-sagmal { background: #4A89DC; }
.bv-st-sta-kuru { background: #AA8E69; }
.bv-st-sta-gebe { background: #8CC152; }
.bv-st-sta-bos, .bv-st-sta-gebelik-kaybi { background: #DA4453; }
.bv-st-sta-tohumlandi, .bv-st-sta-sonuc-bekliyor { background: #967ADC; }
.bv-st-sta-gonullu-bekleme, .bv-st-sta-sagilmiyor, .bv-st-sta-cikti { background: #AAB2BD; }
.bv-st-sta-damizlik-disi, .bv-st-sta-boga { background: #434A54; }
.bv-st-sta-buzagi { background: #F6BB42; }
.bv-st-sta-duve { background: #37BC9B; }
.bv-st-sta-besi { background: #E9573F; }
.bv-st-sta-inek { background: #656D78; }

/* Liste */
.bv-search { display: flex; align-items: center; height: 46px; padding: 0 14px; border-radius: 12px; background: #FFF; box-shadow: 0 2px 10px rgba(0,0,0,.06); margin: 0 15px 12px; }
.bv-search i { opacity: .45; width: 22px; }
.bv-search input { flex: 1; min-width: 0; height: 46px; border: 0 !important; background: transparent; font-size: 14px !important; padding-left: 6px; outline: none; }
.bv-search input::placeholder { font-size: 14px !important; }
.bv-animal { display: flex; align-items: center; padding: 11px 0; border-bottom: 1px solid rgba(0,0,0,.05); color: inherit; }
.bv-animal:last-child { border-bottom: 0; }
.bv-animal .bv-av { width: 48px; height: 48px; border-radius: 14px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; color: #FFF; background: #656D78; background-size: cover; background-position: center; }
.bv-animal .bv-body { padding-left: 12px; min-width: 0; flex: 1; line-height: 1.25; }
.bv-animal .bv-body h6 { font-size: 14px; font-weight: 700; margin: 0 0 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-animal .bv-body h6 small { font-weight: 500; color: #8a929a; font-size: 12px; }
.bv-animal .bv-body .bv-sub { display: block; font-size: 11px; color: #8a929a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 4px; }
.bv-animal .bv-flags { display: flex; gap: 6px; margin-left: 8px; flex-shrink: 0; align-items: center; }
.bv-animal .bv-flags i { font-size: 13px; }
.bv-animal .bv-male { color: #4A89DC; font-size: 12px; margin-left: 4px; }
.bv-animal .bv-female { color: #D770AD; font-size: 12px; margin-left: 4px; }
.bv-empty { text-align: center; padding: 24px 0 10px; color: #8a929a; font-size: 13px; }

/* Kart: künye */
.bv-idcard .bv-photo { width: 92px; height: 92px; border-radius: 22px; object-fit: cover; flex-shrink: 0; box-shadow: 0 6px 18px rgba(0,0,0,.12); }
.bv-idcard .bv-tagbig { font-size: 28px; font-weight: 800; line-height: 1; margin: 0; }
.bv-idcard .bv-eartag { font-size: 11px; color: #8a929a; letter-spacing: .3px; }
.bv-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; }
.bv-facts p { font-size: 10px; margin: 0; color: #8a929a; text-transform: uppercase; letter-spacing: .3px; line-height: 1.3; }
.bv-facts b { display: block; font-size: 13px; font-weight: 600; line-height: 1.3; color: #1f1f1f; }
.bv-facts a b { color: #4A89DC; }
.bv-alertchip { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 700; padding: 5px 10px; border-radius: 20px; margin: 0 6px 6px 0; }
.bv-alertchip.red { background: rgba(218,68,83,.12); color: #DA4453; }
.bv-alertchip.orange { background: rgba(233,87,63,.12); color: #E9573F; }
.bv-alertchip.purple { background: rgba(150,122,220,.14); color: #7A5FC7; }
.bv-quick4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 0 15px 16px; }
.bv-quick4 a { margin: 0 !important; padding: 12px 4px !important; text-align: center; }
.bv-quick4 a p { font-size: 11px; font-weight: 600; margin: 6px 0 0; line-height: 1.2; color: #1f1f1f; }

/* Kart: sekmeler */
.bv-tabs { display: flex; overflow-x: auto; gap: 6px; padding: 0 15px 12px; scrollbar-width: none; }
.bv-tabs::-webkit-scrollbar { display: none; }
.bv-tabs a { flex-shrink: 0; font-size: 13px; font-weight: 600; padding: 8px 14px; border-radius: 20px; background: #FFF; color: #1f1f1f; box-shadow: 0 2px 8px rgba(0,0,0,.06); }
.bv-tabs a.active { background: #434A54; color: #FFF; }
.bv-tabpanel { display: none; }
.bv-tabpanel.active { display: block; }
.bv-sec-title { font-size: 15px; font-weight: 700; margin: 0 0 10px; }
.bv-row { display: flex; align-items: center; padding: 9px 0; border-bottom: 1px solid rgba(0,0,0,.05); font-size: 13px; }
.bv-row:last-child { border-bottom: 0; }
.bv-row .bv-row-main { flex: 1; min-width: 0; line-height: 1.3; }
.bv-row .bv-row-main .bv-row-sub { display: block; font-size: 11px; color: #8a929a; }
.bv-row .bv-row-side { text-align: right; font-size: 12px; color: #8a929a; margin-left: 10px; flex-shrink: 0; line-height: 1.3; }
.bv-row .bv-row-side b { display: block; color: #1f1f1f; font-size: 13px; }
/* Olay akışı (zaman çizelgesi) */
.bv-tl { position: relative; padding-left: 22px; }
.bv-tl::before { content: ""; position: absolute; left: 7px; top: 6px; bottom: 6px; width: 2px; background: rgba(0,0,0,.07); }
.bv-tl-item { position: relative; padding: 0 0 12px; font-size: 13px; line-height: 1.3; }
.bv-tl-item::before { content: ""; position: absolute; left: -19px; top: 4px; width: 10px; height: 10px; border-radius: 50%; background: #AAB2BD; box-shadow: 0 0 0 3px #FFF; }
.bv-tl-item.repro::before { background: #967ADC; } .bv-tl-item.milk::before { background: #4A89DC; }
.bv-tl-item.calving::before { background: #8CC152; } .bv-tl-item.health::before { background: #DA4453; }
.bv-tl-item span { display: block; font-size: 11px; color: #8a929a; }
.bv-tl-item[hidden] { display: none; }
.bv-tl-item.off > b { text-decoration: line-through; opacity: .55; }
.bv-tl-facts { display: flex; flex-wrap: wrap; gap: 4px 5px; margin-top: 5px; }
.bv-tl-facts small { font-size: 11.5px; line-height: 1.35; padding: 2px 7px; border-radius: 7px; background: #f4f5f7; color: #434A54; }
.bv-tl-facts small em { font-style: normal; color: #8a929a; margin-right: 3px; }
.bv-tl-facts small.flag { background: rgba(246,187,66,.18); color: #9a6f12; }
.bv-tl-facts small.flag i { font-size: 9px; margin-right: 3px; }
.theme-dark .bv-tl-facts small { background: rgba(255,255,255,.06); color: #cfd4d9; }
.bv-chips.bv-ftabs .chip em.bv-late { color: #DA4453; }
.bv-chips.bv-ftabs .chip.active em.bv-late { color: #FFF; }
.bv-chart .bar { fill: #4A89DC; }
.bv-chart .bar.in { fill: #8CC152; }
.bv-chart .bar.out { fill: #DA4453; }
.bv-chart .bar.warn { fill: #F6922B; }
.bv-chart .dot { fill: #4A89DC; stroke: #FFF; stroke-width: 1.2; }
.bv-chart .axis.zero { stroke: rgba(0,0,0,.35); }
.bv-chart .actual.net { stroke: #434A54; }
.theme-dark .bv-chart .axis.zero { stroke: rgba(255,255,255,.4); }
.theme-dark .bv-chart .actual.net { stroke: #cfd4d9; }
.theme-dark .bv-chart .dot { stroke: #1b1d21; }
.bv-hbar.money b { width: auto; min-width: 62px; }
.bv-hbar.money.in div i { background: #8CC152; }
.bv-hbar.money.out div i { background: #DA4453; }
/* Grafikler (sunucuda çizilen SVG) */
.bv-chart { width: 100%; height: auto; display: block; }
.bv-chart .axis { stroke: rgba(0,0,0,.08); stroke-width: 1; }
.bv-chart .lbl { font-size: 9px; fill: #8a929a; font-family: Roboto, sans-serif; }
.bv-chart .actual { fill: none; stroke: #4A89DC; stroke-width: 2.5; stroke-linejoin: round; }
.bv-chart .expected { fill: none; stroke: #AAB2BD; stroke-width: 2; stroke-dasharray: 5 4; }
.bv-chart .band { fill: rgba(140,193,82,.15); stroke: none; }
.bv-legend { display: flex; gap: 14px; font-size: 11px; color: #8a929a; margin-top: 6px; }
.bv-legend i { display: inline-block; width: 14px; height: 3px; border-radius: 2px; vertical-align: middle; margin-right: 5px; }
/* Soy ağacı */
.bv-tree { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; align-items: center; }
.bv-tree .col { display: flex; flex-direction: column; gap: 8px; }
.bv-tree .node { border-radius: 10px; background: rgba(0,0,0,.04); padding: 7px 8px; font-size: 11px; line-height: 1.25; min-height: 42px; }
.bv-tree .node b { display: block; font-size: 12px; color: #1f1f1f; }
.bv-tree .node.self { background: #434A54; } .bv-tree .node.self b, .bv-tree .node.self span { color: #FFF; }
.bv-tree .node.sire { border-left: 3px solid #4A89DC; } .bv-tree .node.dam { border-left: 3px solid #D770AD; }
.bv-tree .node span { color: #8a929a; }
/* Ekonomi */
.bv-money { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
/* Tek sayıda kalem varsa son kalem satırı tam genişlikte kaplar (boş hücre kalmaz) */
.bv-money > div:last-child:nth-child(odd) { grid-column: 1 / -1; }
.bv-money div p { font-size: 10px; margin: 0; color: #8a929a; text-transform: uppercase; letter-spacing: .3px; }
.bv-money div h3 { font-size: 18px; margin: 2px 0 0; }
.bv-verdict { display: flex; align-items: center; gap: 10px; border-radius: 12px; padding: 12px; margin-top: 14px; font-size: 13px; line-height: 1.35; }
.bv-verdict.keep { background: rgba(140,193,82,.14); } .bv-verdict.watch { background: rgba(246,187,66,.18); } .bv-verdict.cull { background: rgba(218,68,83,.12); }

.theme-dark .bv-search, .theme-dark .bv-tabs a:not(.active) { background: #21252a; color: #FFF; }
.theme-dark .bv-facts b, .theme-dark .bv-quick4 a p, .theme-dark .bv-row .bv-row-side b, .theme-dark .bv-tree .node b { color: #FFF; }
.theme-dark .bv-tl-item::before { box-shadow: 0 0 0 3px #1b1d21; }

/* ══════════════════════════════════════════════════════════════════
   Yeni hayvan formu (AnimalManagement/Animal/Create)
   Tema her input'a "font-size:12px !important" ve border !important verir → aşağıda daha özgül kurallar.
   ══════════════════════════════════════════════════════════════════ */
.bv-sec-title i { width: 22px; opacity: .55; font-size: 13px; }
.bv-field { margin-bottom: 14px; position: relative; }
.bv-field > label, .bv-field label[for] { display: block; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; color: #8a929a; margin-bottom: 5px; line-height: 1.3; }
.bv-field > label b, .bv-field label[for] b { color: #DA4453; }
.bv-form .bv-input { display: block; width: 100%; height: 44px; padding: 0 12px; font-size: 15px !important; font-weight: 500; color: #1f1f1f; background: #f7f8f9; border: 1.5px solid #e1e5e9 !important; border-radius: 10px; outline: none; -webkit-appearance: none; appearance: none; transition: border-color .15s, box-shadow .15s; }
.bv-form .bv-input:focus { border-color: #434A54 !important; background: #FFF; box-shadow: 0 0 0 3px rgba(67,74,84,.10) !important; }
.bv-form .bv-input::placeholder { font-size: 14px !important; color: #b3b9bf; font-weight: 400; }
.bv-form input[type=date].bv-input { min-width: 0; }
.bv-form .bv-mono { font-variant-numeric: tabular-nums; letter-spacing: .5px; }
.bv-form .bv-textarea { height: auto; min-height: 84px; padding: 10px 12px; line-height: 1.45; resize: vertical; }
.bv-field.has-error .bv-input { border-color: #DA4453 !important; background: rgba(218,68,83,.04); }
.bv-field.has-error .bv-seg, .bv-field.has-error .bv-choice { box-shadow: 0 0 0 1.5px #DA4453; border-radius: 12px; }
.bv-field.bv-flash .bv-input { border-color: #8CC152 !important; box-shadow: 0 0 0 3px rgba(140,193,82,.2) !important; }
.bv-err { display: block; font-style: normal; font-size: 11px; font-weight: 600; color: #DA4453; margin-top: 5px; line-height: 1.35; }
.bv-live { display: block; font-style: normal; font-size: 11px; font-weight: 600; margin-top: 5px; line-height: 1.35; color: #E9573F; }
.bv-live.ok { color: #6FA237; }
.bv-live.info { color: #8a929a; }
.bv-help { font-size: 11px; color: #9aa1a8; line-height: 1.4; margin: 5px 0 0; }
.bv-divider { height: 1px; background: rgba(0,0,0,.06); margin: 4px 0 14px; }

/* Select: temanın ok ikonu yerine kendi okumuz */
.bv-select { position: relative; }
.bv-select select.bv-input { padding-right: 34px; }
.bv-select > i { position: absolute; right: 13px; top: 50%; transform: translateY(-50%); font-size: 11px; opacity: .45; pointer-events: none; }

/* Soldan ikonlu giriş (RFID, anne, baba) */
.bv-input-icon { position: relative; }
.bv-input-icon > i { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); font-size: 13px; opacity: .7; pointer-events: none; }
.bv-form .bv-input-icon .bv-input { padding-left: 36px; }
.bv-rfid-ico { transform: translateY(-50%) rotate(90deg) !important; color: #4A89DC; }

/* Seçim düğmeleri (radyo) — segment ve kutucuk */
.bv-seg { display: flex; gap: 6px; background: #f1f3f5; padding: 4px; border-radius: 12px; }
.bv-seg .bv-opt { flex: 1; margin: 0; }
.bv-seg-wrap { flex-wrap: wrap; }
.bv-seg-wrap .bv-opt { flex: 1 0 28%; }
.bv-opt { position: relative; cursor: pointer; }
.bv-opt input { position: absolute; opacity: 0; pointer-events: none; }
.bv-opt span { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 38px; padding: 6px 8px; border-radius: 9px; font-size: 13px; font-weight: 600; color: #5d656d; text-align: center; line-height: 1.15; transition: background .15s, color .15s; }
.bv-opt span.bg-highlight { color: #FFF !important; box-shadow: 0 3px 10px rgba(0,0,0,.12); }
.bv-opt input:focus-visible + span { outline: 2px solid #434A54; outline-offset: 1px; }
.bv-opt[hidden] { display: none !important; }
.bv-choice { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 10px; }
.bv-choice .bv-opt span { flex-direction: column; min-height: 72px; background: #f7f8f9; border: 1.5px solid #e9ecef; border-radius: 12px; font-size: 12px; padding: 10px 4px; }
.bv-choice .bv-opt span i { font-size: 18px; opacity: .75; }
.bv-choice .bv-opt span.bg-highlight { border-color: transparent; }
.bv-choice .bv-opt span.bg-highlight i { opacity: 1; }

/* İpucu satırı */
.bv-hint { display: flex; gap: 8px; font-size: 12px; line-height: 1.45; color: #6b737b; background: #f7f8f9; border-radius: 10px; padding: 9px 11px; margin: 0 0 14px; }
.bv-hint i { margin-top: 2px; opacity: .6; }
.bv-hint-info { background: rgba(74,137,220,.08); color: #3f6fae; }
.bv-hint-info i { opacity: 1; }
.bv-hint[hidden] { display: none; }

/* Hesaplanan değer rozeti (yaş, sağım günü, beklenen doğum) */
.bv-pill { display: inline-flex; align-items: center; white-space: nowrap; font-size: 11px; font-weight: 700; padding: 6px 10px; border-radius: 20px; background: #eef1f4; color: #545c64; }
.bv-pill-green { background: rgba(140,193,82,.16); color: #5d8f2d; }
.bv-pill[hidden] { display: none; }

/* Fotoğraf seçici */
.bv-photo-row { display: flex; align-items: flex-start; gap: 12px; }
.bv-photo-pick { width: 64px; height: 64px; flex-shrink: 0; margin: 17px 0 0; border-radius: 18px; border: 1.5px dashed #c5cbd1; background: #f7f8f9 center / cover no-repeat; display: flex; align-items: center; justify-content: center; color: #8a929a; font-size: 20px; cursor: pointer; position: relative; overflow: hidden; }
.bv-photo-pick input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.bv-photo-pick.has-img { border-style: solid; border-color: transparent; }
.bv-photo-pick.has-img i { display: none; }

/* Laktasyon sırası − / + */
.bv-stepper { display: flex; align-items: center; height: 44px; border: 1.5px solid #e1e5e9; border-radius: 10px; background: #f7f8f9; overflow: hidden; }
.bv-stepper a { width: 38px; height: 100%; display: flex; align-items: center; justify-content: center; color: #5d656d; font-size: 12px; }
.bv-form .bv-stepper input { flex: 1; min-width: 0; height: 100%; border: 0 !important; background: transparent; text-align: center; font-size: 16px !important; font-weight: 700; outline: none; -moz-appearance: textfield; }
.bv-stepper input::-webkit-outer-spin-button, .bv-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.bv-suggest { display: inline-block; font-size: 11px; font-weight: 700; margin-top: 5px; }
.bv-close { width: 34px; height: 34px; border-radius: 50%; background: #f1f3f5; display: flex; align-items: center; justify-content: center; font-size: 14px; }
.bv-btn-outline { background: transparent !important; border: 1.5px solid; }
.bv-errsum ul { padding-left: 18px; font-size: 12px; color: #DA4453; }
.bv-errsum { border-left: 4px solid #DA4453; }

/* Karanlık tema */
.theme-dark .bv-form .bv-input, .theme-dark .bv-stepper, .theme-dark .bv-choice .bv-opt span, .theme-dark .bv-photo-pick { background: #21252a; color: #FFF; border-color: rgba(255,255,255,.1) !important; }
.theme-dark .bv-seg, .theme-dark .bv-hint, .theme-dark .bv-close, .theme-dark .bv-pill { background: rgba(255,255,255,.06); color: #cfd4d9; }
.theme-dark .bv-opt span { color: #cfd4d9; }

/* ═══════════ Tohumlama (ReproManagement/Insemination) ═══════════ */
.bv-cand { cursor: pointer; border-radius: 10px; transition: background .15s; }
.bv-cand.picked { background: rgba(74,137,220,.08); }
.bv-cand .bv-body span.bv-window { font-weight: 600; color: #6b737b; }
.bv-window.now { color: #5d8f2d !important; }
.bv-window.late { color: #E9573F !important; }
.bv-heat { font-size: 12px; margin-left: 4px; }
.bv-heat-1 { color: #F6BB42; } .bv-heat-2 { color: #E9573F; } .bv-heat-3 { color: #DA4453; }
.bv-pill-blue { background: rgba(74,137,220,.12); color: #3f6fae; }
.bv-pill-orange { background: rgba(233,87,63,.12); color: #c4472f; }
.bv-pill-red { background: rgba(218,68,83,.12); color: #b8313f; }
.bv-hint-warn { background: rgba(246,187,66,.14); color: #9a6f12; }
.bv-hint-error { background: rgba(218,68,83,.10); color: #b8313f; font-weight: 600; }
.bv-hint-warn i, .bv-hint-error i { opacity: 1; }

/* Hayvan arama sonuçları */
.bv-results { margin-top: 6px; border: 1.5px solid #e1e5e9; border-radius: 12px; overflow: hidden; background: #FFF; }
.bv-results[hidden] { display: none; }
.bv-result { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 12px; border: 0; border-bottom: 1px solid rgba(0,0,0,.05); background: transparent; text-align: left; font-size: 14px; color: inherit; }
.bv-result:last-child { border-bottom: 0; }
.bv-result b { min-width: 42px; font-family: ui-monospace, Menlo, Consolas, monospace; }
.bv-result span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bv-result em { font-style: normal; margin: 0; }
.bv-result.off { opacity: .55; }
.bv-results-empty { margin: 0; padding: 12px; font-size: 13px; color: #8a929a; }

/* Seçili hayvan */
.bv-sel[hidden], #bvPickBox[hidden] { display: none; }
.bv-sel .bv-av { width: 52px; height: 52px; border-radius: 14px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 800; color: #FFF; background: #656D78; }
.bv-sel .bv-pill { padding: 4px 9px; font-size: 10px; vertical-align: top; }
.bv-sel-facts { list-style: none; padding: 0; margin: 12px 0 10px; }
.bv-sel-facts li { display: flex; gap: 10px; font-size: 12px; line-height: 1.4; padding: 6px 0; border-top: 1px solid rgba(0,0,0,.05); color: #545c64; }
.bv-sel-facts li i { width: 14px; text-align: center; margin-top: 2px; opacity: .5; }
.bv-sel-facts li.now { color: #5d8f2d; font-weight: 700; }
.bv-sel-facts li.late { color: #E9573F; font-weight: 700; }
.bv-sel-facts li.now i, .bv-sel-facts li.late i { opacity: 1; }
.bv-ack { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 600; padding: 10px 12px; border-radius: 10px; background: rgba(246,187,66,.14); cursor: pointer; margin: 0; }
.bv-ack[hidden] { display: none; }
.bv-ack input { width: 20px; height: 20px; flex-shrink: 0; accent-color: #E9573F; }
.bv-ack.has-error { box-shadow: 0 0 0 1.5px #DA4453; }
.bv-ack-plain { background: transparent; padding: 0; }

/* Boğa / payet seçimi */
.bv-straws { display: flex; flex-direction: column; gap: 8px; }
.bv-straw { position: relative; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1.5px solid #e9ecef; border-radius: 12px; background: #f7f8f9; cursor: pointer; margin: 0; transition: border-color .15s, background .15s; }
.bv-straw input { position: absolute; opacity: 0; pointer-events: none; }
.bv-straw.on { border-color: #4A89DC; background: rgba(74,137,220,.07); }
.bv-straw.empty { opacity: .5; cursor: not-allowed; }
.bv-straw-body { flex: 1; min-width: 0; line-height: 1.3; }
.bv-straw-body b { display: block; font-size: 14px; }
.bv-straw-body small { display: block; font-size: 11px; color: #8a929a; }
.bv-sexed { font-style: normal; font-weight: 700; color: #D770AD; margin-left: 4px; }
.bv-kin { display: inline-block; font-style: normal; font-size: 10px; font-weight: 700; padding: 3px 7px; border-radius: 12px; margin-top: 4px; background: rgba(246,187,66,.18); color: #9a6f12; }
.bv-kin.hi { background: rgba(218,68,83,.12); color: #b8313f; }
.bv-kin[hidden] { display: none; }
.bv-doses { text-align: center; font-size: 10px; font-weight: 700; color: #8a929a; line-height: 1.1; min-width: 46px; }
.bv-doses b { display: block; font-size: 20px; color: #434A54; }
.bv-doses.low b { color: #E9573F; }
.bv-doses.zero { color: #DA4453; }
.bv-straw-manual .bv-straw-body b { font-size: 13px; }
.bv-manual[hidden], [data-when][hidden] { display: none !important; }
.bv-manual { padding: 12px 0 0; }
.bv-kinbox { margin-top: 12px; padding: 12px; border-radius: 12px; background: rgba(218,68,83,.08); color: #b8313f; font-size: 13px; font-weight: 600; }
.bv-kinbox[hidden] { display: none; }
.bv-kinbox .bv-ack { background: #FFF; color: #434A54; }

.bv-summary { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.bv-summary[hidden] { display: none; }

.theme-dark .bv-results, .theme-dark .bv-straw { background: #21252a; border-color: rgba(255,255,255,.1); }
.theme-dark .bv-straw.on { border-color: #4A89DC; background: rgba(74,137,220,.14); }
.theme-dark .bv-doses b { color: #FFF; }
.theme-dark .bv-sel-facts li { color: #cfd4d9; border-color: rgba(255,255,255,.06); }
.theme-dark .bv-kinbox .bv-ack { background: #21252a; color: #FFF; }

/* ═══════════ Gebelik kontrolü (ReproManagement/PregnancyCheck) ═══════════ */
.bv-preg { padding: 12px 0; border-bottom: 1px solid rgba(0,0,0,.06); border-left: 3px solid transparent; margin-left: -10px; padding-left: 10px; transition: background .2s, border-color .2s; }
.bv-preg:last-child { border-bottom: 0; }
.bv-preg.is-pos { border-left-color: #8CC152; }
.bv-preg.is-neg { border-left-color: #DA4453; }
.bv-preg.is-sus { border-left-color: #F6BB42; }
.bv-preg.flash { animation: bvFlash 1.2s ease; }
@keyframes bvFlash { 0%, 40% { background: rgba(74,137,220,.14); } 100% { background: transparent; } }
.bv-preg-head { display: flex; align-items: center; gap: 10px; }
.bv-preg-head .bv-tag { min-width: 46px; text-align: center; font-size: 11px; font-weight: 700; border-radius: 8px; padding: 6px 4px; background: rgba(0,0,0,.05); }
.bv-preg-head .bv-body { flex: 1; min-width: 0; line-height: 1.25; }
.bv-preg-head h6 { font-size: 14px; font-weight: 700; margin: 0; }
.bv-preg-head h6 small { font-size: 11px; font-weight: 600; opacity: .55; }
.bv-preg-head .bv-body span { display: block; font-size: 11px; color: #8a929a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-days { font-size: 11px; font-weight: 800; color: #5d8f2d; white-space: nowrap; }
.bv-days.early { color: #E9573F; }
.bv-preg-btns { display: flex; gap: 6px; margin-top: 10px; align-items: center; }
.bv-pbtn { flex: 1; margin: 0; cursor: pointer; position: relative; }
.bv-pbtn input { position: absolute; opacity: 0; pointer-events: none; }
.bv-pbtn span { display: block; text-align: center; font-size: 13px; font-weight: 700; padding: 9px 4px; border-radius: 10px; border: 1.5px solid #e1e5e9; color: #5d656d; background: #f7f8f9; }
.bv-pbtn.pos input:checked + span { background: #8CC152; border-color: #8CC152; color: #FFF; }
.bv-pbtn.neg input:checked + span { background: #DA4453; border-color: #DA4453; color: #FFF; }
.bv-pbtn.sus input:checked + span { background: #F6BB42; border-color: #F6BB42; color: #FFF; }
.bv-pclear { width: 34px; text-align: center; color: #aab2bd; }
.bv-preg-pos { display: none; align-items: center; gap: 8px; margin-top: 8px; flex-wrap: wrap; }
.bv-preg.is-pos .bv-preg-pos { display: flex; }
.bv-seg-mini { padding: 3px; }
.bv-seg-mini .bv-opt span { min-height: 28px; font-size: 12px; padding: 4px 12px; }
.bv-early summary { list-style: none; cursor: pointer; }
.bv-early summary::after { content: "\f078"; font-family: "Font Awesome 5 Free"; font-weight: 900; float: right; opacity: .4; }
.bv-early[open] summary::after { content: "\f077"; }
.bv-pregbar { position: sticky; bottom: 70px; z-index: 5; display: flex; align-items: center; gap: 10px; margin: 0 15px 20px; padding: 10px 12px; border-radius: 14px; background: #FFF; box-shadow: 0 6px 24px rgba(0,0,0,.12); }
.bv-pregbar span { flex: 1; font-size: 12px; color: #6b737b; }
.bv-pregbar b[data-c="pos"] { color: #6FA237; } .bv-pregbar b[data-c="neg"] { color: #DA4453; } .bv-pregbar b[data-c="sus"] { color: #d99a1c; }
.theme-dark .bv-pbtn span, .theme-dark .bv-pregbar { background: #21252a; border-color: rgba(255,255,255,.1); color: #cfd4d9; }

/* ═══════════ Doğum (ReproManagement/Calving) ═══════════ */
.bv-ease { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.bv-ease .bv-opt span { flex-direction: column; min-height: 64px; gap: 2px; font-size: 10px; background: #f7f8f9; border: 1.5px solid #e9ecef; border-radius: 10px; padding: 6px 2px; }
.bv-ease .bv-opt span b { font-size: 18px; }
.bv-ease .bv-opt span.bg-highlight { border-color: transparent; }
.bv-calf { border: 0; margin: 0 0 12px; padding: 12px; border-radius: 12px; background: #f7f8f9; min-width: 0; }
.bv-calf[hidden] { display: none; }
.bv-calf-title { font-size: 13px; font-weight: 700; margin: 0 0 10px; }
.bv-calf .bv-input { background: #FFF !important; }
.bv-sublabel { display: block; font-size: 11px; font-weight: 700; color: #6b737b; margin: 2px 0 6px; }
[data-alive][hidden], [data-freemartin][hidden] { display: none !important; }
.theme-dark .bv-calf, .theme-dark .bv-ease .bv-opt span { background: #21252a; border-color: rgba(255,255,255,.1); }
.theme-dark .bv-calf .bv-input { background: #1b1d21 !important; }

/* ═══════════ Kuruya ayırma (ReproManagement/DryOff) ═══════════ */
.bv-dry { border: 1.5px solid #e9ecef; border-radius: 12px; margin-bottom: 10px; overflow: hidden; background: #FFF; }
.bv-dry.on { border-color: #4A89DC; background: rgba(74,137,220,.05); }
.bv-dry.flash { box-shadow: 0 0 0 3px rgba(74,137,220,.25); }
.bv-dry-head { display: flex; align-items: center; gap: 10px; padding: 10px 12px; margin: 0; cursor: pointer; }
.bv-dry-check { width: 22px; height: 22px; flex-shrink: 0; accent-color: #4A89DC; }
.bv-dry-head .bv-tag { min-width: 46px; text-align: center; font-size: 11px; font-weight: 700; border-radius: 8px; padding: 6px 4px; background: rgba(0,0,0,.05); }
.bv-dry-head .bv-body { flex: 1; min-width: 0; line-height: 1.3; }
.bv-dry-head .bv-body b { display: block; font-size: 14px; }
.bv-dry-head .bv-body small { display: block; font-size: 11px; color: #8a929a; }
.bv-dry-body { padding: 0 12px 12px; display: none; }
.bv-dry.on .bv-dry-body { display: block; }
.theme-dark .bv-dry { background: #21252a; border-color: rgba(255,255,255,.1); }
.theme-dark .bv-dry.on { border-color: #4A89DC; background: rgba(74,137,220,.12); }

/* ══════════════════════════════════════════════════════════════════
   Sürü Grupları / Padoklar (HerdManagement) — liste kartları, üyeler ekranı
   Hayvanlar listesinin görsel dili (bv-animal / bv-av / bv-st) üzerine kurulu.
   ══════════════════════════════════════════════════════════════════ */
/* Grup türü renkleri (ikon kutusu ve rozet) */
.bv-av.bv-gt-sagmal, .bv-st.bv-gt-sagmal { background: #4A89DC; }
.bv-av.bv-gt-tazeinek, .bv-st.bv-gt-tazeinek { background: #8CC152; }
.bv-av.bv-gt-kuru, .bv-st.bv-gt-kuru { background: #AA8E69; }
.bv-av.bv-gt-gecisdonemi, .bv-st.bv-gt-gecisdonemi { background: #967ADC; }
.bv-av.bv-gt-duve, .bv-st.bv-gt-duve { background: #37BC9B; }
.bv-av.bv-gt-buzagi, .bv-st.bv-gt-buzagi { background: #F6BB42; }
.bv-av.bv-gt-besi, .bv-st.bv-gt-besi { background: #E9573F; }
.bv-av.bv-gt-hasta, .bv-st.bv-gt-hasta { background: #DA4453; }
.bv-av.bv-gt-diger, .bv-st.bv-gt-diger { background: #656D78; }
.bv-av.bv-gt-pen { background: #FC6E51; }
.bv-st.bv-st-auto { background: rgba(74,137,220,.12); color: #3f6fae; }
.bv-st.bv-st-manual { background: rgba(246,187,66,.2); color: #9a6f12; }

/* Yaşam evresi rengi avatar kutusunda da geçerli olsun (.bv-animal .bv-av gri zeminini ezer) */
.bv-animal .bv-av.bv-st-sta-inek { background: #656D78; }
.bv-animal .bv-av.bv-st-sta-duve { background: #37BC9B; }
.bv-animal .bv-av.bv-st-sta-buzagi { background: #F6BB42; }
.bv-animal .bv-av.bv-st-sta-besi { background: #E9573F; }
.bv-animal .bv-av.bv-st-sta-boga, .bv-animal .bv-av.bv-st-sta-damizlik-disi { background: #434A54; }

/* Liste kartı */
.bv-grp .bv-animal { padding: 0; border-bottom: 0; }
.bv-card-link, .bv-card-link:hover { display: block; color: inherit; }
.bv-grp-count { text-align: center; min-width: 54px; margin-left: 8px; line-height: 1.1; flex-shrink: 0; }
.bv-grp-count b { display: block; font-size: 22px; font-weight: 800; color: #1f1f1f; }
.bv-grp-count small { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .3px; color: #8a929a; }
.bv-grp-rule { display: flex; align-items: flex-start; font-size: 12px; line-height: 1.4; color: #6b737b; background: #f7f8f9; border-radius: 10px; padding: 8px 10px; margin: 12px 0 0; }
.bv-grp-rule i { margin-top: 2px; opacity: .6; }
.bv-cap { margin-top: 12px; }
.bv-cap .progress { height: 6px; background: rgba(0,0,0,.06); }
.bv-cap-lbl { display: flex; font-size: 11px; color: #8a929a; margin-top: 5px; }
.bv-cap-lbl b { margin-left: auto; color: #434A54; }
.bv-cap.over .bv-cap-lbl b { color: #DA4453; }
.bv-grp-foot { display: flex; align-items: center; gap: 10px; margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(0,0,0,.06); }
.bv-grp-manual { font-size: 11px; font-weight: 600; color: #9a6f12; }
.bv-detail-btn { width: 40px; height: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: #434A54; background: #f2f4f6; border: 1.5px solid #e1e5e9; }
.bv-detail-btn i { font-size: 15px; }
.bv-detail-btn:hover { color: #1f1f1f; background: #e9ecef; }
.bv-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.bv-meta span { font-size: 11px; font-weight: 600; padding: 5px 9px; border-radius: 8px; background: #f2f4f6; color: #545c64; }
.bv-meta i { opacity: .6; margin-right: 5px; }

/* Üyeler ekranı: aday listesi — satır solunda tik, en üstte "Tümünü seç" */
.bv-pick-all { display: flex; align-items: center; gap: 12px; padding: 10px 0 12px; margin: 0; border-bottom: 1.5px solid #e9ecef; cursor: pointer; }
.bv-pick-all input, .bv-pick .bv-pick-check { width: 22px; height: 22px; flex-shrink: 0; margin: 0; accent-color: #4A89DC; }
.bv-pick-all b { font-size: 14px; }
.bv-pick-all span { margin-left: auto; font-size: 11px; font-weight: 700; color: #8a929a; }
.bv-pick { cursor: pointer; margin: 0 -10px; padding-left: 10px; padding-right: 10px; border-radius: 10px; transition: background .15s; }
.bv-pick .bv-pick-check { margin-right: 12px; }
.bv-pick.on { background: rgba(74,137,220,.07); }
.bv-pick[hidden] { display: none; }
.bv-empty[hidden] { display: none; }

.theme-dark .bv-grp-count b, .theme-dark .bv-cap-lbl b { color: #FFF; }
.theme-dark .bv-grp-rule, .theme-dark .bv-meta span, .theme-dark .bv-detail-btn { background: rgba(255,255,255,.06); color: #cfd4d9; border-color: rgba(255,255,255,.1); }
.theme-dark .bv-grp-foot, .theme-dark .bv-pick-all { border-color: rgba(255,255,255,.08); }
.theme-dark .bv-pick.on { background: rgba(74,137,220,.14); }

/* ══════════════════════════════════════════════════════════════════
   Hayvanlar — liste özeti ve hayvan kartı (yenilenmiş künye / sekmeler)
   ══════════════════════════════════════════════════════════════════ */
/* Liste: sürü özeti (6 kutu, dokununca filtre) */
.bv-herdkpi { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; }
.bv-herdkpi a { display: flex; flex-direction: column; align-items: center; text-align: center; color: inherit; padding: 4px 0; border-radius: 10px; }
.bv-herdkpi a:active { background: rgba(0,0,0,.04); }
.bv-herdkpi-ico { width: 34px; height: 34px; border-radius: 11px; display: flex; align-items: center; justify-content: center; color: #FFF; font-size: 13px; }
.bv-herdkpi b { font-size: 16px; font-weight: 800; margin-top: 4px; line-height: 1; color: #1f1f1f; }
.bv-herdkpi small { font-size: 9px; font-weight: 700; color: #8a929a; text-transform: uppercase; letter-spacing: .2px; line-height: 1.2; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
@media (max-width: 360px) { .bv-herdkpi { grid-template-columns: repeat(3, 1fr); row-gap: 10px; } }

/* Kart: künye */
/* Künye bilgi başlıklarında küçük ikon */
.bv-facts-ico p i { width: 14px; margin-right: 4px; text-align: center; opacity: .7; }
.bv-exitbar { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; color: #DA4453; background: rgba(218,68,83,.10); border-radius: 10px; padding: 8px 12px; margin-bottom: 12px; }

/* Özet kutuları (künye altı, sekme başları) */
.bv-kpis { display: flex; text-align: center; background: #f7f8f9; border-radius: 14px; padding: 10px 4px; }
.bv-kpis > div { flex: 1; min-width: 0; padding: 0 4px; }
.bv-kpis > div + div { border-left: 1px solid rgba(0,0,0,.06); }
.bv-kpis p { font-size: 9px; margin: 0; color: #8a929a; line-height: 1.25; text-transform: uppercase; letter-spacing: .3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-kpis h3 { font-size: 16px; margin: 3px 0 0; line-height: 1.15; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-kpis h3 small { font-size: 10px; opacity: .55; font-weight: 600; }

/* Sekmeler ikonlu */
.bv-tabs a i { font-size: 11px; opacity: .7; }
.bv-tabs a.active i { opacity: 1; }

.bv-note { white-space: pre-line; line-height: 1.5; }
.bv-quick4.bv-quick3 { grid-template-columns: repeat(3, 1fr); }
.bv-docphoto { display: block; border-radius: 14px; overflow: hidden; }
.bv-docphoto img { width: 100%; max-height: 260px; object-fit: cover; display: block; }

.theme-dark .bv-kpis { background: rgba(255,255,255,.05); }
.theme-dark .bv-herdkpi b { color: #FFF; }

/* Hayvanlar listesi: filtre sekmeleri — köşesiz, üstte ikon, ortada sayı, altta durum adı */
.bv-chips.bv-ftabs { gap: 0; padding-bottom: 12px; }
.bv-chips.bv-ftabs .chip { border-radius: 0 !important;  padding: 9px 12px 8px; min-width: 80px; height: auto; line-height: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; box-shadow: 0 2px 8px rgba(0,0,0,.05); }
.bv-chips.bv-ftabs .chip i { font-size: 15px; color: #8a929a; width: auto; line-height: 1; margin: 0; border-radius: 0; }
.bv-chips.bv-ftabs .chip em { margin: 0; font-size: 16px; font-weight: 800; opacity: 1; color: #1f1f1f; }
.bv-chips.bv-ftabs .chip span { line-height: 1.1; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .3px; color: #8a929a; white-space: nowrap; }
.bv-chips.bv-ftabs .chip.active i, .bv-chips.bv-ftabs .chip.active em, .bv-chips.bv-ftabs .chip.active span { color: #FFF; }
.theme-dark .bv-chips.bv-ftabs .chip em { color: #FFF; }

.bv-straws[hidden] { display: none; }

/* ═══════════════════════════════════════════════════════════════════
   SÜT EKRANLARI — laktasyon, kalite testi, tank kaydı, kalıntı takibi
   ═══════════════════════════════════════════════════════════════════ */
.bv-animal[hidden] { display: none !important; }
.bv-sublabel.bad { color: #DA4453; }

/* Sürü günlük toplam sütunları */
.bv-bars { width: 100%; height: auto; display: block; margin-top: 4px; }
.bv-bars .axis { stroke: rgba(0,0,0,.08); stroke-width: 1; }
.bv-bars rect.total { fill: rgba(218,68,83,.35); }
.bv-bars rect.tank { fill: #4A89DC; }
.bv-bars rect.today { opacity: .45; }
.bv-bars .lbl { font-size: 9px; fill: #8a929a; font-family: Roboto, sans-serif; }
.bv-bars .val { font-size: 9px; font-weight: 700; fill: #434A54; font-family: Roboto, sans-serif; }
.bv-legend-mini { font-size: 10px; color: #8a929a; display: flex; align-items: center; gap: 4px; }
.bv-legend-mini i { display: inline-block; width: 9px; height: 9px; border-radius: 2px; margin-left: 6px; }
.bv-legend-mini i.tank { background: #4A89DC; }
.bv-legend-mini i.total { background: rgba(218,68,83,.35); }

/* Laktasyon dönemi renkleri (avatar) */
.bv-animal .bv-av.bv-lst-erken, .bv-lact-av.bv-lst-erken { background: #8CC152; }
.bv-animal .bv-av.bv-lst-orta, .bv-lact-av.bv-lst-orta { background: #4A89DC; }
.bv-animal .bv-av.bv-lst-gec, .bv-lact-av.bv-lst-gec { background: #967ADC; }
.bv-animal .bv-av.bv-lst-uzun, .bv-lact-av.bv-lst-uzun { background: #E9573F; }
.bv-animal .bv-av.bv-lst-yok, .bv-lact-av.bv-lst-yok { background: #AAB2BD; }
.bv-lact-av { width: 58px; height: 58px; border-radius: 16px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 800; color: #FFF; background: #656D78; }

/* Liste satırı: değer çipleri ve sağ sütun */
.bv-lact-vals { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 2px; }
.bv-lact-vals span { font-size: 10px; font-weight: 700; padding: 3px 7px; border-radius: 6px; background: #f2f4f6; color: #545c64; white-space: nowrap; }
.bv-lact-vals span i { margin-right: 4px; opacity: .6; }
.bv-lact-vals span.ok { background: rgba(140,193,82,.16); color: #5d8f2d; }
.bv-lact-vals span.mid { background: rgba(74,137,220,.12); color: #3f6fae; }
.bv-lact-vals span.warn { background: rgba(246,187,66,.18); color: #9a6f12; }
.bv-lact-vals span.bad { background: rgba(218,68,83,.12); color: #b8313f; }
.bv-lact-side { display: flex; flex-direction: column; align-items: flex-end; margin-left: 8px; flex-shrink: 0; line-height: 1.15; text-align: right; gap: 2px; }
.bv-lact-side b { font-size: 17px; font-weight: 800; color: #1f1f1f; }
.bv-lact-side small { font-size: 9px; font-weight: 700; color: #8a929a; text-transform: uppercase; letter-spacing: .2px; }
.bv-lact-side em { font-style: normal; font-size: 11px; font-weight: 700; color: #8a929a; }
.bv-lact-side em i { margin-right: 2px; }
.bv-lact-side em.up { color: #5d8f2d; }
.bv-lact-side em.down { color: #DA4453; }
.bv-meta span.bv-meta-warn { background: rgba(246,187,66,.18); color: #9a6f12; }
.bv-meta span.bv-meta-bad { background: rgba(218,68,83,.12); color: #b8313f; }
.bv-lnum { width: 38px; height: 38px; border-radius: 11px; background: #eef1f4; color: #545c64; font-size: 12px; font-weight: 800; display: flex; align-items: center; justify-content: center; margin-right: 12px; flex-shrink: 0; }
.bv-lnum.on { background: #4A89DC; color: #FFF; }
.bv-row .bv-row-side span { display: block; font-size: 11px; }

/* Detay alt kısayolları */
.bv-quick3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0 15px 20px; }
.bv-quick3 a { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px 4px; border-radius: 14px; background: #FFF; box-shadow: 0 2px 10px rgba(0,0,0,.06); color: #1f1f1f; font-size: 11px; font-weight: 700; text-align: center; line-height: 1.2; }
.bv-quick3 a i { font-size: 17px; color: #4A89DC; }

/* Kalite: SCC renkleri */
.bv-animal .bv-av.bv-q-ok { background: #8CC152; }
.bv-animal .bv-av.bv-q-mid { background: #4A89DC; }
.bv-animal .bv-av.bv-q-warn { background: #F6BB42; }
.bv-animal .bv-av.bv-q-bad { background: #DA4453; }
.bv-q-txt-warn { color: #c98d10 !important; }
.bv-q-txt-bad { color: #DA4453 !important; }
.bv-qrow { display: flex; align-items: center; border-bottom: 1px solid rgba(0,0,0,.05); }
.bv-qrow:last-child { border-bottom: 0; }
.bv-qrow .bv-animal { flex: 1; min-width: 0; border-bottom: 0; }
.bv-rowdel { margin: 0 0 0 6px; }
.bv-rowdel button { width: 34px; height: 34px; border-radius: 10px; border: 0; background: transparent; color: #c4c9ce; font-size: 13px; }
.bv-rowdel button:active { background: rgba(218,68,83,.08); color: #DA4453; }
.bv-form input[type=datetime-local].bv-input { font-size: 14px !important; padding: 0 8px; min-width: 0; }

/* Açılır ek bilgiler */
.bv-details { border-radius: 10px; background: #f7f8f9; padding: 10px 12px; }
.bv-details summary { font-size: 12px; font-weight: 700; color: #545c64; cursor: pointer; list-style: none; }
.bv-details summary::-webkit-details-marker { display: none; }
.bv-details summary::before { content: '\f078'; font-family: 'Font Awesome 5 Free', 'Font Awesome 6 Free', FontAwesome; font-weight: 900; font-size: 10px; margin-right: 8px; opacity: .5; display: inline-block; transition: transform .15s; }
.bv-details[open] summary::before { transform: rotate(180deg); }
.bv-subhead { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; color: #8a929a; margin: 6px 0 10px; padding-top: 10px; border-top: 1px dashed rgba(0,0,0,.08); }

/* Tank */
.bv-form .bv-input.bv-input-big { font-size: 20px !important; font-weight: 800; text-align: right; }
.bv-expect { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 12px; background: rgba(74,137,220,.08); margin: -4px 0 14px; }
.bv-expect > i { font-size: 18px; color: #4A89DC; }
.bv-expect > div { flex: 1; min-width: 0; line-height: 1.3; }
.bv-expect b { display: block; font-size: 14px; color: #1f1f1f; }
.bv-expect small { display: block; font-size: 11px; color: #6b737b; }
.bv-expect small:empty { display: none; }
.bv-expect.warn { background: rgba(246,187,66,.14); }
.bv-expect.warn > i { color: #c98d10; }
.bv-editing { box-shadow: 0 0 0 2px #4A89DC, 0 4px 18px rgba(0,0,0,.06) !important; }
.bv-tank { padding: 12px 0; border-bottom: 1px solid rgba(0,0,0,.05); }
.bv-tank:last-child { border-bottom: 0; }
.bv-tank.on { background: rgba(74,137,220,.06); border-radius: 10px; padding: 12px 8px; }
.bv-tank-head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.bv-tank-head > div { flex: 1; min-width: 0; line-height: 1.2; }
.bv-tank-head b { font-size: 18px; font-weight: 800; color: #1f1f1f; }
.bv-tank-head small { display: block; font-size: 11px; color: #8a929a; }
.bv-tank-money { font-size: 13px; font-weight: 800; color: #5d8f2d; }
.bv-tank-foot { display: flex; align-items: center; gap: 6px; margin-top: 8px; font-size: 11px; color: #8a929a; }
.bv-tank-foot > span { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-tank-btn { width: 34px; height: 34px; border-radius: 10px; background: #eef1f4; color: #545c64; display: flex; align-items: center; justify-content: center; font-size: 12px; }

/* Tank seans şeridi: gün + seans başına tank durumu */
.bv-tank-sessions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.bv-tank-sess { display: flex; align-items: center; gap: 10px; padding: 10px 11px; border-radius: 12px; background: #f7f8f9; border: 1.5px solid transparent; color: #1f1f1f; min-width: 0; }
.bv-tank-sess > i { font-size: 16px; opacity: .6; }
.bv-tank-sess > div { flex: 1; min-width: 0; line-height: 1.25; }
.bv-tank-sess b { display: block; font-size: 12px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-tank-sess small { display: block; font-size: 11px; color: #6b737b; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-tank-sess > em { font-style: normal; font-size: 15px; color: #adb5bd; }
.bv-tank-sess-done { background: rgba(140,193,82,.10); }
.bv-tank-sess-done > em { color: #8CC152; }
.bv-tank-sess-todo { background: rgba(246,187,66,.14); }
.bv-tank-sess-todo > em { color: #E9A620; }
.bv-tank-sess-wait, .bv-tank-sess-empty { opacity: .7; }
.bv-tank-sess.on { border-color: #4A89DC; }
.bv-tank-sessions > .bv-tank-sess:last-child:nth-child(odd) { grid-column: 1 / -1; }
.bv-expect.bad { background: rgba(218,68,83,.10); }
.bv-expect.bad > i { color: #DA4453; }

/* Kalıntı */
.bv-wh { padding: 4px 0 12px; border-bottom: 1px solid rgba(0,0,0,.05); }
.bv-wh:last-child { border-bottom: 0; }
.bv-wh .bv-animal { border-bottom: 0; padding-bottom: 6px; }
.bv-animal .bv-av.bv-wh-av { background: #DA4453; }
.bv-wh.soon .bv-animal .bv-av.bv-wh-av { background: #F6BB42; }
.bv-wh-bar { height: 5px; border-radius: 3px; background: rgba(0,0,0,.06); overflow: hidden; }
.bv-wh-bar span { display: block; height: 100%; background: linear-gradient(90deg, #DA4453, #F6BB42); border-radius: 3px; }
.bv-wh.soon .bv-wh-bar span { background: #8CC152; }
.bv-wh-foot { display: flex; align-items: center; gap: 6px; margin-top: 8px; font-size: 11px; color: #8a929a; }
.bv-wh-foot > span { flex: 1; min-width: 0; }
.bv-wh-foot form { margin: 0; }
.bv-wh-btn { height: 34px; padding: 0 12px; border-radius: 10px; border: 0; background: rgba(140,193,82,.16); color: #5d8f2d; font-size: 12px; font-weight: 700; }
.bv-quickdur { display: flex; flex-wrap: wrap; gap: 6px; margin: -6px 0 8px; }
.bv-quickdur button { border: 0; border-radius: 8px; padding: 6px 11px; font-size: 12px; font-weight: 700; background: #eef1f4; color: #545c64; }
.bv-quickdur button.on { background: #434A54; color: #FFF; }

.theme-dark .bv-lact-side b, .theme-dark .bv-tank-head b, .theme-dark .bv-expect b { color: #FFF; }
.theme-dark .bv-lact-vals span:not(.ok):not(.mid):not(.warn):not(.bad), .theme-dark .bv-lnum:not(.on), .theme-dark .bv-details,
.theme-dark .bv-tank-btn, .theme-dark .bv-quickdur button:not(.on), .theme-dark .bv-quick3 a { background: rgba(255,255,255,.06); color: #cfd4d9; }
.theme-dark .bv-bars .val { fill: #cfd4d9; }

/* ═══════════════════════════════════════════════════════════════════
   SAĞLIK EKRANLARI — hastalık, tedavi, taze inek, VKS, topallık, tırnak, aşılar
   ═══════════════════════════════════════════════════════════════════ */
.bv-animal .bv-av.bv-sev-1, .bv-fresh .bv-av.bv-sev-1 { background: #4A89DC; }
.bv-animal .bv-av.bv-sev-2, .bv-fresh .bv-av.bv-sev-2 { background: #F6BB42; }
.bv-animal .bv-av.bv-sev-3, .bv-fresh .bv-av.bv-sev-3 { background: #DA4453; }
.bv-animal .bv-av.bv-sev-ok, .bv-fresh .bv-av.bv-sev-ok { background: #8CC152; }
.bv-mini-label { display: block; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; color: #8a929a; margin-bottom: 6px; }
.bv-mini-label b { color: #DA4453; }
.bv-form textarea.bv-input.bv-textarea { height: auto; min-height: 64px; padding: 10px 12px; line-height: 1.4; }

/* Hastalık: açık vaka satırı */
.bv-case { padding-bottom: 10px; border-bottom: 1px solid rgba(0,0,0,.05); }
.bv-case:last-child { border-bottom: 0; }
.bv-case .bv-animal { border-bottom: 0; padding-bottom: 6px; }
.bv-case-actions { display: flex; gap: 6px; flex-wrap: wrap; padding-left: 60px; }
.bv-case-actions form { margin: 0; }
.bv-case-btn { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 11px; border-radius: 9px; border: 0; background: #eef1f4; color: #434A54; font-size: 12px; font-weight: 700; }
.bv-case-btn.ok { background: rgba(140,193,82,.16); color: #5d8f2d; }

/* Mastitis: meme çeyrekleri (2 × 2, hayvanın arkasından bakış) */
.bv-mastitis { background: rgba(218,68,83,.05); border-radius: 12px; padding: 12px; margin-bottom: 14px; }
.bv-mastitis[hidden] { display: none; }
.bv-mastitis.has-error { box-shadow: 0 0 0 1.5px #DA4453; }
.bv-udder { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; max-width: 280px; }
.bv-udder .bv-opt span { background: #FFF; border: 1.5px solid #e1e5e9; min-height: 44px; }
.bv-udder .bv-opt span.bg-highlight { border-color: transparent; }

/* Tedavi: kalıntı önizleme */
.bv-withdraw { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 12px; background: rgba(140,193,82,.12); margin: -4px 0 14px; }
.bv-withdraw[hidden] { display: none; }
.bv-withdraw > i { font-size: 18px; color: #5d8f2d; }
.bv-withdraw b { display: block; font-size: 13px; color: #1f1f1f; }
.bv-withdraw small { display: block; font-size: 11px; color: #6b737b; }
.bv-withdraw small:empty { display: none; }
.bv-withdraw.bad { background: rgba(218,68,83,.10); }
.bv-withdraw.bad > i, .bv-withdraw.bad b { color: #b8313f; }

/* Seçim çipleri (çok satırlı) */
.bv-chipset { display: flex; flex-wrap: wrap; gap: 6px; }
.bv-chipset .bv-opt span, .bv-chipset button { min-height: 32px; padding: 5px 11px; border-radius: 9px; font-size: 12px; font-weight: 700; background: #f1f3f5; color: #545c64; border: 0; }
.bv-chipset button.on { background: #434A54; color: #FFF; }

/* Taze inek kartı (satır genişler) */
.bv-fresh { padding: 10px 0; border-bottom: 1px solid rgba(0,0,0,.05); }
.bv-fresh:last-child { border-bottom: 0; }
.bv-fresh-head { display: flex; align-items: flex-start; gap: 12px; }
.bv-fresh-head .bv-av { width: 48px; height: 48px; border-radius: 14px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; color: #FFF; background: #656D78; }
.bv-fresh-head .bv-body { flex: 1; min-width: 0; line-height: 1.25; }
.bv-fresh-head .bv-body h6 { font-size: 14px; font-weight: 700; margin: 0 0 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-fresh-head .bv-sub { display: block; font-size: 11px; color: #8a929a; margin-bottom: 3px; }
.bv-fresh-side { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; flex-shrink: 0; }
.bv-fresh-side form { margin: 0; }
.bv-fresh-side small { font-size: 10px; color: #8a929a; white-space: nowrap; }
.bv-fresh-ok { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 13px; border: 0; border-radius: 10px; background: #8CC152; color: #FFF; font-size: 12px; font-weight: 800; }
.bv-fresh-toggle { border: 0; background: transparent; color: #4A89DC; font-size: 12px; font-weight: 700; padding: 2px 0; }
.bv-fresh-toggle i { font-size: 10px; transition: transform .15s; }
.bv-fresh.open .bv-fresh-toggle i { transform: rotate(180deg); }
.bv-fresh-body { display: none; margin-top: 12px; padding: 12px; border-radius: 12px; background: #f7f8f9; }
.bv-fresh.open .bv-fresh-body { display: block; }
.bv-fresh-body .bv-input { background: #FFF !important; }
.bv-fresh.risk .bv-fresh-head h6 { color: #b8313f; }
/* Taze inek: tedavi/veteriner kararından sonra hastalık kaydı açılmadı */
.bv-fresh-referral { display: flex; align-items: center; gap: 6px; margin-top: 6px; padding: 7px 10px; border-radius: 10px; background: rgba(218,68,83,.10); color: #b8313f; font-size: 11px; font-weight: 600; }
.bv-fresh-referral > span { flex: 1; min-width: 0; }
.bv-fresh-referral b { white-space: nowrap; font-weight: 800; }
.bv-fresh-referral b i { font-size: 10px; }
/* Taze inek: kontrol geçmişi */
.bv-fresh-history { margin-top: 8px; }
.bv-fresh-history summary { list-style: none; cursor: pointer; font-size: 12px; font-weight: 700; color: #4A89DC; }
.bv-fresh-history summary::-webkit-details-marker { display: none; }
.bv-fresh-history summary i { width: 18px; opacity: .8; }
.bv-fresh-history ul { list-style: none; margin: 8px 0 0; padding: 0; }
.bv-fresh-history li { padding: 8px 10px; border-radius: 10px; background: #f7f8f9; margin-bottom: 6px; }
.bv-fresh-history-head { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.bv-fresh-history-head b { font-size: 12px; }
.bv-fresh-history-head small { flex: 1; font-size: 11px; color: #8a929a; }
.bv-fresh-history-head .bv-pill { padding: 3px 8px; font-size: 10px; }
.bv-fresh-history-note { font-size: 11px; color: #6b737b; margin: 4px 0 0; }
.theme-dark .bv-fresh-history li { background: rgba(255,255,255,.06); }

/* Grup seçimi (skorlama) */
.bv-groupbar { margin: -6px 15px 12px; }
.bv-groupbar .bv-input { background: #FFF; box-shadow: 0 2px 10px rgba(0,0,0,.06); border-color: transparent !important; }

/* Skorlama satırı (VKS / topallık) */
.bv-score { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid rgba(0,0,0,.05); }
.bv-score:last-child { border-bottom: 0; }
.bv-score[hidden] { display: none !important; }
.bv-score.bv-loco { display: block; }
.bv-score-top { display: flex; align-items: center; gap: 10px; }
.bv-score-info { flex: 1; min-width: 0; line-height: 1.25; }
.bv-score-info b { font-size: 14px; font-weight: 800; }
.bv-score-info small { display: block; font-size: 11px; color: #8a929a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-stepper-mini { display: flex; align-items: center; background: #f1f3f5; border-radius: 12px; padding: 3px; flex-shrink: 0; }
.bv-stepper-mini button { border: 0; background: transparent; width: 34px; height: 38px; font-size: 18px; font-weight: 700; color: #545c64; }
.bv-stepper-mini .val { width: 58px; font-size: 15px; font-weight: 800; background: #FFF; border-radius: 9px; color: #b3b9bf; }
.bv-score.set .bv-stepper-mini .val { color: #FFF; background: #8CC152; }
.bv-score.set.out .bv-stepper-mini .val { background: #DA4453; }
.bv-loco-scores { display: flex; gap: 4px; flex-shrink: 0; }
.bv-loco-scores button { width: 36px; height: 38px; border: 0; border-radius: 10px; background: #f1f3f5; font-size: 15px; font-weight: 800; color: #545c64; }
.bv-loco-scores button.on.s1 { background: #8CC152; color: #FFF; }
.bv-loco-scores button.on.s2 { background: #A0D468; color: #FFF; }
.bv-loco-scores button.on.s3 { background: #F6BB42; color: #FFF; }
.bv-loco-scores button.on.s4 { background: #E9573F; color: #FFF; }
.bv-loco-scores button.on.s5 { background: #DA4453; color: #FFF; }
.bv-loco-legs { display: flex; align-items: center; gap: 5px; margin-top: 8px; flex-wrap: wrap; }
.bv-loco-legs[hidden] { display: none; }
.bv-loco-legs span { font-size: 10px; font-weight: 700; color: #8a929a; text-transform: uppercase; margin-right: 4px; }
.bv-loco-legs button { border: 0; border-radius: 8px; height: 30px; padding: 0 10px; font-size: 12px; font-weight: 700; background: rgba(218,68,83,.08); color: #b8313f; }
.bv-loco-legs button.on { background: #DA4453; color: #FFF; }

/* Tırnak bakımı */
.bv-hoof { margin-bottom: 10px; }
.bv-hoof.has-error { box-shadow: 0 0 0 1.5px #DA4453; border-radius: 12px; padding: 8px; }
.bv-hoof-legs { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 8px; }
.bv-hoof-legs button { border: 1.5px solid #e1e5e9; background: #FFF; border-radius: 10px; min-height: 40px; font-size: 12px; font-weight: 700; color: #545c64; }
.bv-hoof-legs button.on { background: #434A54; border-color: #434A54; color: #FFF; }
.bv-hoof-picked { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.bv-hoof-picked span { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; padding: 6px 10px; border-radius: 9px; background: rgba(233,87,63,.12); color: #c4472f; cursor: pointer; }
.bv-hbar { display: flex; align-items: center; gap: 10px; font-size: 12px; margin-bottom: 8px; }
.bv-hbar span { width: 42%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #545c64; }
.bv-hbar div { flex: 1; height: 8px; border-radius: 4px; background: #f1f3f5; overflow: hidden; }
.bv-hbar div i { display: block; height: 100%; background: #E9573F; border-radius: 4px; }
.bv-hbar b { width: 26px; text-align: right; }

/* Aşılar */
.bv-row-link { color: inherit; }
.bv-vacplan .bv-pick { padding-top: 8px; padding-bottom: 8px; }

.theme-dark .bv-case-btn, .theme-dark .bv-chipset .bv-opt span:not(.bg-highlight), .theme-dark .bv-chipset button:not(.on), .theme-dark .bv-stepper-mini,
.theme-dark .bv-loco-scores button:not(.on), .theme-dark .bv-fresh-body, .theme-dark .bv-hbar div { background: rgba(255,255,255,.06); color: #cfd4d9; }
.theme-dark .bv-hoof-legs button:not(.on), .theme-dark .bv-udder .bv-opt span:not(.bg-highlight), .theme-dark .bv-stepper-mini .val { background: #21252a; border-color: rgba(255,255,255,.1); color: #FFF; }
.theme-dark .bv-withdraw b { color: #FFF; }

/* ═══════════════════════════════════════════════════════════════════
   BUZAĞI & DÜVE — kolostrum, günlük takip, sütten kesme, düve büyüme
   ═══════════════════════════════════════════════════════════════════ */
.bv-withdraw.mid { background: rgba(246,187,66,.16); }
.bv-withdraw.mid > i, .bv-withdraw.mid b { color: #9a6f12; }

/* Günlük takip satırı (taze inek kartının genişleyen yapısı) */
.bv-calf.changed .bv-fresh-head .bv-av { box-shadow: 0 0 0 2px #4A89DC; }
.bv-calf[hidden] { display: none !important; }
.bv-calf-inputs { display: grid; grid-template-columns: 1fr 1fr auto; gap: 8px; margin-top: 10px; align-items: end; }
.bv-calf-inputs label { display: block; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .3px; color: #8a929a; margin-bottom: 4px; white-space: nowrap; }
.bv-calf-inputs .bv-input { height: 38px; text-align: center; font-weight: 700; }
.bv-fecal button { width: 32px; }

/* Sütten kesme satırı */
.bv-wean { padding: 10px 0; border-bottom: 1px solid rgba(0,0,0,.05); }
.bv-wean:last-child { border-bottom: 0; }
.bv-wean[hidden] { display: none !important; }
.bv-wean-head { display: flex; align-items: center; gap: 12px; margin: 0 0 6px; cursor: pointer; }
.bv-wean-head input { display: none; }
.bv-wean-head .bv-av { width: 44px; height: 44px; border-radius: 13px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; color: #FFF; background: #AAB2BD; }
.bv-wean-head .bv-av.bv-sev-ok { background: #8CC152; } .bv-wean-head .bv-av.bv-sev-2 { background: #F6BB42; } .bv-wean-head .bv-av.bv-sev-1 { background: #4A89DC; }
.bv-wean-head .bv-body { flex: 1; min-width: 0; line-height: 1.25; }
.bv-wean-head .bv-body b { display: block; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-wean-head .bv-body small { display: block; font-size: 11px; color: #8a929a; }
.bv-wean-mark { font-size: 24px; color: #e1e5e9; }
.bv-wean.on .bv-wean-mark { color: #8CC152; }
.bv-wean.focus { background: rgba(74,137,220,.06); border-radius: 12px; padding-left: 8px; padding-right: 8px; }
.bv-wean-weight { display: none; align-items: center; gap: 10px; margin-top: 8px; padding-left: 56px; }
.bv-wean.on .bv-wean-weight { display: flex; }
.bv-wean-weight label { font-size: 11px; font-weight: 700; color: #8a929a; white-space: nowrap; }
.bv-wean-weight .bv-input { height: 38px; max-width: 150px; }

/* Düve büyüme grafiği */
.bv-growth-svg { width: 100%; height: auto; display: block; }
.bv-growth-svg .grid { stroke: rgba(0,0,0,.06); stroke-width: 1; }
.bv-growth-svg .ax { font-size: 9px; fill: #8a929a; }
.bv-growth-svg .band { fill: rgba(140,193,82,.14); }
.bv-growth-svg .target { fill: none; stroke: #8CC152; stroke-width: 2; }
.bv-growth-svg .pt { fill: #8CC152; stroke: #FFF; stroke-width: 1; }
.bv-growth-svg .pt.geride { fill: #DA4453; } .bv-growth-svg .pt.ileride { fill: #4A89DC; } .bv-growth-svg .pt.yok { fill: #AAB2BD; }
.bv-growth-legend { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; font-size: 11px; color: #6b737b; }
.bv-growth-legend i { display: inline-block; margin-right: 5px; vertical-align: middle; }
.bv-growth-legend i.line { width: 16px; height: 3px; background: #8CC152; border-radius: 2px; }
.bv-growth-legend i.dot { width: 9px; height: 9px; border-radius: 50%; background: #8CC152; }
.bv-growth-legend i.dot.geride { background: #DA4453; } .bv-growth-legend i.dot.ileride { background: #4A89DC; }
.bv-grow[hidden] { display: none !important; }
.bv-animal .bv-av.bv-sev-ok { background: #8CC152; }

/* Toplu tartım */
.bv-weigh .bv-input { height: 40px; text-align: center; font-weight: 700; flex-shrink: 0; }
.bv-weigh .bv-weigh-kg { width: 84px; }
.bv-weigh .bv-weigh-cm { width: 66px; }
.bv-weigh.set .bv-weigh-kg { border-color: #8CC152 !important; }

/* Hedef eğri tablosu */
.bv-target-row { display: grid; grid-template-columns: 1fr 1.3fr 1.3fr; gap: 8px; margin-bottom: 6px; }
.bv-target-row .bv-input { height: 38px; text-align: center; }
.bv-target-head span { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .3px; color: #8a929a; text-align: center; }

.theme-dark .bv-wean-head .bv-body b { color: #FFF; }
.theme-dark .bv-growth-svg .grid { stroke: rgba(255,255,255,.08); }

/* ═══════════════════════════════════════════════════════════════════
   TAKVİM — ay ızgarası + gün gün ajanda
   ═══════════════════════════════════════════════════════════════════ */
.bv-cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.bv-cal-head b { font-size: 15px; text-transform: capitalize; }
.bv-cal-nav { width: 34px; height: 34px; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: #f1f3f5; color: #434A54; }
.bv-cal-nav.off { opacity: .3; }
.bv-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.bv-cal-wd { font-size: 10px; font-weight: 700; text-transform: uppercase; color: #8a929a; text-align: center; padding-bottom: 2px; }
.bv-cal-day { position: relative; height: 46px; border: 0; border-radius: 10px; background: #f7f8f9; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding: 5px 0 0; font-size: 13px; font-weight: 700; color: #434A54; }
.bv-cal-day.out { background: transparent; }
.bv-cal-day.past { color: #c2c7cc; background: transparent; }
.bv-cal-day.today { box-shadow: inset 0 0 0 2px #4A89DC; }
.bv-cal-day.sel { background: #434A54; color: #FFF; }
.bv-cal-day i { display: flex; gap: 2px; margin-top: 3px; }
.bv-cal-day i em { width: 6px; height: 6px; border-radius: 50%; display: block; }
.bv-cal-day small { position: absolute; top: 2px; right: 4px; font-size: 9px; font-weight: 800; opacity: .55; }
.bv-cal-group[hidden], .bv-cal-item[hidden] { display: none !important; }
.bv-cal-date { display: flex; align-items: center; justify-content: space-between; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .3px; margin: 12px 0 2px; }
.bv-cal-date span { font-size: 11px; opacity: .5; }
.bv-cal-group:first-child .bv-cal-date { margin-top: 4px; }
.theme-dark .bv-cal-day:not(.out):not(.past):not(.sel), .theme-dark .bv-cal-nav { background: rgba(255,255,255,.06); color: #FFF; }

/* ═══════════════════════════════════════════════════════════════════
   GENETİK & DAMIZLIK — seçim, katalog, plan, soy ağacı
   ═══════════════════════════════════════════════════════════════════ */
.bv-score-big { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 54px; padding: 6px 8px; border-radius: 12px; background: #f1f3f5; flex-shrink: 0; }
.bv-score-big b { font-size: 18px; font-weight: 800; line-height: 1; }
.bv-score-big small { font-size: 9px; font-weight: 700; color: #8a929a; margin-top: 3px; text-transform: uppercase; white-space: nowrap; }
.bv-score-big.bad { background: rgba(218,68,83,.12); color: #b8313f; }
.bv-sel-row[hidden], .bv-sire[hidden], .bv-plan[hidden] { display: none !important; }

/* Yedek düve hesabı */
.bv-calc { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; }
.bv-calc > div { display: flex; justify-content: space-between; align-items: baseline; font-size: 12px; border-bottom: 1px dashed rgba(0,0,0,.08); padding: 4px 0; }
.bv-calc span { color: #6b737b; }
.bv-calc b { font-size: 14px; }
.bv-calc b small { font-size: 10px; opacity: .6; }
.bv-calc-result { margin: 12px 0 6px; padding: 10px 12px; border-radius: 12px; background: rgba(246,187,66,.14); font-size: 13px; font-weight: 700; line-height: 1.4; }
.bv-calc-result i { margin-right: 6px; }
.bv-input-suffix { position: relative; }
.bv-input-suffix span { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); font-weight: 700; color: #8a929a; }

/* Boğa listesi */
.bv-animal .bv-av.bv-sire-code { width: auto; min-width: 58px; padding: 0 8px; font-size: 11px; letter-spacing: -.2px; }
.bv-stock { display: flex; flex-direction: column; align-items: center; min-width: 48px; flex-shrink: 0; }
.bv-stock b { font-size: 18px; font-weight: 800; line-height: 1.1; }
.bv-stock em { font-style: normal; font-size: 11px; font-weight: 700; color: #b0366e; }
.bv-stock small { font-size: 9px; color: #8a929a; text-transform: uppercase; font-weight: 700; }
.bv-stock.low b { color: #DA4453; }
.bv-trait-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.bv-trait-grid > div { background: #f7f8f9; border-radius: 10px; padding: 7px 8px; text-align: center; }
.bv-trait-grid span { display: block; font-size: 9px; font-weight: 700; text-transform: uppercase; color: #8a929a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-trait-grid b { font-size: 15px; }
.bv-idx-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.bv-idx-grid label { font-size: 10px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-idx-grid .bv-input { text-align: center; }
.bv-link-btn { border: 0; background: transparent; padding: 2px 4px; }

/* Soy ağacı: 3 sütun (ebeveyn · büyük ebeveyn · büyük-büyük ebeveyn) */
.bv-ped { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 6px; align-items: stretch; }
.bv-ped-col { display: flex; flex-direction: column; justify-content: space-around; gap: 4px; min-width: 0; }
.bv-ped-node { display: block; border-radius: 10px; padding: 6px 7px; background: #f7f8f9; border-left: 3px solid #AAB2BD; color: inherit; min-width: 0; }
.bv-ped-node.m { border-left-color: #4A89DC; }
.bv-ped-node.f { border-left-color: #D770AD; }
.bv-ped-node.empty { opacity: .45; border-left-color: #e1e5e9; }
.bv-ped-node b { display: block; font-size: 11px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-ped-node b i { font-size: 9px; opacity: .6; }
.bv-ped-node small { display: block; font-size: 10px; color: #8a929a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-ped-node span { font-size: 10px; color: #8a929a; }
.bv-ped-col:first-child .bv-ped-node { padding: 10px 8px; }
.bv-ped-col:first-child .bv-ped-node b { font-size: 12px; }
.bv-ped-col:last-child .bv-ped-node { padding: 4px 6px; }

.theme-dark .bv-score-big, .theme-dark .bv-trait-grid > div, .theme-dark .bv-ped-node { background: rgba(255,255,255,.06); color: #FFF; }

/* Hareket & resmî işlemler: toplu çıkış kalemleri, hayvan seçim listesi, bildirim seçimi */
.bv-exit-item { border: 1px solid rgba(0,0,0,.07); border-radius: 12px; padding: 8px 10px; margin-bottom: 8px; }
.bv-exit-item.blocked { border-color: #DA4453; background: rgba(218,68,83,.05); }
.bv-exit-head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.bv-exit-head b { font-size: 13px; }
.bv-exit-head small { color: #8a929a; font-size: 11px; flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-exit-head .bv-x { border: 0; background: transparent; color: #DA4453; font-size: 15px; padding: 2px 6px; }
.bv-exit-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); gap: 6px; }
.bv-exit-fields .bv-input { height: 38px; font-size: 13px; }
.bv-exit-fields label { font-size: 10px !important; margin-bottom: 2px; }
.bv-exit-warn { display: block; font-size: 11px; color: #DA4453; font-weight: 700; margin-top: 4px; }
.bv-exit-share { display: block; font-size: 11px; color: #8a929a; margin-top: 4px; }
.bv-exit-sum { display: flex; justify-content: space-between; font-size: 12px; font-weight: 700; padding: 6px 2px 0; color: #6b737b; }
.bv-picklist { max-height: 55vh; overflow-y: auto; border: 1px solid rgba(0,0,0,.07); border-radius: 12px; }
.bv-pick { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-bottom: 1px solid rgba(0,0,0,.05); margin: 0; cursor: pointer; }
.bv-pick:last-child { border-bottom: 0; }
.bv-pick input { width: 18px; height: 18px; flex-shrink: 0; }
.bv-pick b { font-size: 13px; min-width: 42px; }
.bv-pick span { font-size: 12px; color: #8a929a; flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-pick em { font-style: normal; font-size: 10px; font-weight: 700; color: #37BC9B; }
.bv-pick.on { background: rgba(74,137,220,.08); }
.bv-selbar { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; margin-bottom: 8px; }
.bv-selbar button { border: 0; background: transparent; color: #4A89DC; font-weight: 700; font-size: 12px; padding: 0; }
.bv-animal .bv-rowcheck { width: 20px; height: 20px; margin-right: 10px; flex-shrink: 0; }
.theme-dark .bv-exit-item, .theme-dark .bv-picklist { border-color: rgba(255,255,255,.1); }
.theme-dark .bv-pick { border-bottom-color: rgba(255,255,255,.06); }

/* Besleme: rasyon / dağıtım / stok */
.bv-kv li b { margin-left: auto; font-weight: 800; color: inherit; }
.bv-table { width: 100%; font-size: 12px; border-collapse: collapse; }
.bv-table th { font-size: 10px; text-transform: uppercase; color: #8a929a; font-weight: 700; padding: 4px 4px; border-bottom: 1px solid rgba(0,0,0,.08); }
.bv-table td { padding: 6px 4px; border-bottom: 1px solid rgba(0,0,0,.05); vertical-align: middle; }
.bv-table tr:last-child td { border-bottom: 0; }
.bv-table .bad { color: #DA4453; font-weight: 700; }
.bv-table .warn { color: #E9573F; font-weight: 700; }
.bv-ing { display: grid; grid-template-columns: 1fr 86px 30px; gap: 6px; align-items: center; margin-bottom: 6px; }
.bv-ing .bv-input { height: 40px; font-size: 13px; }
.bv-ing small { grid-column: 1 / -1; font-size: 10px; color: #8a929a; margin-top: -3px; }
.bv-ing .bv-x { border: 0; background: transparent; color: #DA4453; font-size: 16px; padding: 0; }
.bv-nutri { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; }
.bv-nutri > div { border-radius: 10px; padding: 7px 9px; background: #f7f8f9; border-left: 3px solid #AAB2BD; }
.bv-nutri > div.ok { border-left-color: #8CC152; }
.bv-nutri > div.warn { border-left-color: #F6BB42; }
.bv-nutri > div.bad { border-left-color: #DA4453; }
.bv-nutri span { display: block; font-size: 10px; font-weight: 700; text-transform: uppercase; color: #8a929a; }
.bv-nutri b { font-size: 16px; font-weight: 800; }
.bv-nutri small { font-size: 10px; color: #8a929a; margin-left: 4px; }
.bv-groupchk { display: flex; flex-wrap: wrap; gap: 6px; }
.bv-groupchk label { display: inline-flex; align-items: center; gap: 6px; border: 1px solid rgba(0,0,0,.1); border-radius: 20px; padding: 5px 10px; font-size: 12px; margin: 0; cursor: pointer; }
.bv-groupchk label.on { border-color: #4A89DC; background: rgba(74,137,220,.1); font-weight: 700; }
.bv-groupchk input { width: 15px; height: 15px; }
.bv-groupchk em { font-style: normal; color: #8a929a; font-size: 11px; }
.bv-deliv { border: 1px solid rgba(0,0,0,.07); border-radius: 12px; padding: 10px; margin-bottom: 10px; }
.bv-deliv-head { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.bv-deliv-head b { font-size: 14px; }
.bv-deliv-head small { color: #8a929a; font-size: 11px; flex: 1; min-width: 0; }
.bv-deliv-fields { display: grid; grid-template-columns: 70px 1fr 1fr; gap: 6px; }
.bv-deliv-fields label { font-size: 10px !important; margin-bottom: 2px; }
.bv-deliv-fields .bv-input { height: 40px; font-size: 14px; }
.bv-deliv-out { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.bv-suggest { border: 0; background: transparent; color: #4A89DC; font-size: 11px; font-weight: 700; padding: 0; }
.theme-dark .bv-nutri > div { background: rgba(255,255,255,.06); }
.theme-dark .bv-deliv, .theme-dark .bv-groupchk label { border-color: rgba(255,255,255,.1); }
.theme-dark .bv-table th, .theme-dark .bv-table td { border-color: rgba(255,255,255,.06); }
.bv-input.bv-input-sm { height: 34px; font-size: 12px; }
.bv-error-page { padding-top: 20px; } .bv-error-msg { word-break: break-word; }

/* ── Bildirimler (MobileNotif) ──
   Satır: renkli kategori ikonu · başlık + saat · konu (hayvan / yem) · açıklama · yeni noktası.
   Acil olan solda kırmızı çizgi; sayfa açıldığında yeni olanlar hafif vurgulu. */
.bv-notif-gear { width: 38px; height: 38px; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.05); color: #434A54 !important; font-size: 16px; flex-shrink: 0; }
.bv-notif-daytitle { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; opacity: .55; margin: 4px 18px 8px; }
.bv-notif-day .card-style { margin-bottom: 14px; }
.bv-notif { display: flex; align-items: flex-start; gap: 12px; padding: 12px 10px; margin: 0 -10px; border-bottom: 1px solid rgba(0,0,0,.06); position: relative; border-radius: 12px; color: inherit !important; }
.bv-notif:last-child { border-bottom: 0; }
.bv-notif.is-new { background: rgba(74,137,220,.07); }
.bv-notif.is-urgent::before { content: ""; position: absolute; left: 0; top: 12px; bottom: 12px; width: 3px; border-radius: 2px; background: #DA4453; }
.bv-notif-ic { width: 38px; height: 38px; border-radius: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 15px; color: #FFF !important; }
.bv-notif-body { flex: 1; min-width: 0; }
.bv-notif-top { display: flex; align-items: baseline; gap: 8px; }
.bv-notif-top h5 { flex: 1; min-width: 0; font-size: 14px; font-weight: 700; margin: 0; line-height: 1.3; }
.bv-notif-top time { font-size: 11px; opacity: .5; flex-shrink: 0; }
.bv-notif-subj { display: inline-block; margin-top: 3px; padding: 1px 8px; border-radius: 8px; background: rgba(0,0,0,.05); font-size: 11px; font-weight: 700; }
.bv-notif p { margin: 4px 0 0; font-size: 12px; line-height: 1.45; opacity: .75; }
.bv-notif-dot { position: absolute; right: 10px; bottom: 14px; width: 8px; height: 8px; border-radius: 50%; background: #4A89DC; }
.theme-dark .bv-notif { border-color: rgba(255,255,255,.06); }
.theme-dark .bv-notif-subj, .theme-dark .bv-notif-gear { background: rgba(255,255,255,.08); color: #FFF !important; }

/* Bildirim ayarları: kategori × (kutu, telefon) */
.bv-nset-head, .bv-nset { display: grid; grid-template-columns: 38px 1fr 58px 58px; align-items: center; gap: 10px; }
.bv-nset-head { padding: 6px 0 4px; }
.bv-nset-head b { font-size: 10px; text-transform: uppercase; letter-spacing: .3px; opacity: .55; text-align: center; }
.bv-nset { padding: 10px 0; border-top: 1px solid rgba(0,0,0,.06); }
.bv-nset-body { min-width: 0; }
.bv-nset-body h6 { font-size: 14px; font-weight: 700; margin: 0; }
.bv-nset-body small { display: block; font-size: 11px; opacity: .6; line-height: 1.35; }
.bv-nset .ios-switch { margin: 0 auto; }

/* ── Ana ekran: son 14 gün süt grafiği (bugün dahil; Sürü nabzı içinde, kartın iki kenarına kadar) ──
   Çizgi grafik: sabah (#E9573F) ve akşam (#434A54) ayrı çizgi, öğle/diğer girildiyse üçüncü (su yeşili).
   Çizgi 2px (ölçekten bağımsız), nokta 6px + 2px yüzey halkası; seçili gün noktaları büyür, dikey kılavuz çıkar.
   Kalıntı olan gün tabanda taralı küçük işaret (yükseklik = kalıntı miktarı). Tek yatay kılavuz çizgisi. */
.bv-milk { --m1: #8CC152; --m2: #434A54; --m3: #F6922B; --md: #DA4453; --md-ink: #a8323f; --grid: #e6e6e3; --muted: #8a929a; --ink: #2b2b2b; --surface: #fff; --cross: rgba(67,74,84,.18);
    margin: 14px -15px 0; padding: 0 15px; }
.theme-dark .bv-milk { --m1: #8CC152; --m2: #AAB2BD; --m3: #F6922B; --md: #DA4453; --md-ink: #a8323f; --grid: #33332f; --muted: #9a9a93; --ink: #f2f2ef; --surface: #1f2125; --cross: rgba(255,255,255,.22); }
.bv-milk-head { display: flex; align-items: center; gap: 8px; }
.bv-milk-legend { display: flex; flex-wrap: wrap; gap: 4px 14px; flex: 1; min-width: 0; }
.bv-milk-legend span { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; color: var(--muted); font-weight: 600; text-transform: none; letter-spacing: 0; }
.bv-milk-legend i { display: block; width: 14px; height: 2px; border-radius: 1px; }
.bv-milk-legend i.m { background: var(--m1); }
.bv-milk-legend i.e { background: var(--m2); }
.bv-milk-legend i.o { background: var(--m3); }
.bv-milk-legend i.d { width: 9px; height: 9px; border-radius: 2px; background: repeating-linear-gradient(45deg, var(--md) 0 2px, var(--md-ink) 2px 3.5px); }
.bv-milk-span { font-size: 10px; color: var(--muted); flex-shrink: 0; text-transform: none; }
.bv-milk-read { margin: 6px 0 4px; font-size: 11px; line-height: 1.4; color: var(--muted); min-height: 16px; }
.bv-milk-read b { color: var(--ink); font-weight: 700; }
.bv-milk-plot { height: 78px; padding-right: 28px; border-bottom: 1px solid var(--grid); }
.bv-milk-area { position: relative; height: 100%; }
.bv-milk-grid { position: absolute; left: 0; right: -28px; border-top: 1px solid var(--grid); pointer-events: none; }
.bv-milk-grid span { position: absolute; right: 0; top: -6px; font-size: 9px; line-height: 12px; color: var(--muted); }
.bv-milk-svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.bv-milk-svg polyline { fill: none; stroke-width: 2px; stroke-linejoin: round; stroke-linecap: round; }
.bv-milk-svg polyline.m { stroke: var(--m1); }
.bv-milk-svg polyline.e { stroke: var(--m2); }
.bv-milk-svg polyline.o { stroke: var(--m3); }
.bv-milk-dot { position: absolute; width: 6px; height: 6px; margin: 0 0 -3px -3px; border-radius: 50%; box-shadow: 0 0 0 2px var(--surface); pointer-events: none; transition: transform .12s ease; }
.bv-milk-dot.m { background: var(--m1); }
.bv-milk-dot.e { background: var(--m2); }
.bv-milk-dot.o { background: var(--m3); }
.bv-milk-dot.on { transform: scale(1.5); }
.bv-milk-disc { position: absolute; bottom: 0; width: 8px; margin-left: -4px; border-radius: 2px 2px 0 0; background: repeating-linear-gradient(45deg, var(--md) 0 2px, var(--md-ink) 2px 3.5px); pointer-events: none; }
.bv-milk-cols { position: absolute; inset: 0; display: flex; }
.bv-milk-col { flex: 1; min-width: 0; padding: 0; margin: 0; border: 0; background: none; cursor: pointer; position: relative; -webkit-tap-highlight-color: transparent; }
.bv-milk-col.on::after { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; border-left: 1px solid var(--cross); }
.bv-milk-axis { display: flex; justify-content: space-between; font-size: 10px; color: var(--muted); padding: 4px 28px 0 0; }
.bv-milk-axis span { text-transform: none; }

/* ── Dil seçimi (Profil → Dil): satır = kısa kod rozeti · dilin kendi adı + tarih/sayı örneği · seçili işareti ── */
.bv-langrow { display: flex; align-items: center; gap: 12px; padding: 12px 4px; margin: 0; border-bottom: 1px solid rgba(0,0,0,.06); cursor: pointer; }
.bv-langrow:last-child { border-bottom: 0; }
.bv-langrow input { position: absolute; opacity: 0; pointer-events: none; }
.bv-langrow-badge { width: 40px; height: 40px; border-radius: 12px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; letter-spacing: .5px; background: rgba(0,0,0,.05); color: #434A54; }
.bv-langrow-body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.bv-langrow-body b { font-size: 15px; font-weight: 700; line-height: 1.3; color: #1f1f1f; }
.bv-langrow-body small { font-size: 11px; opacity: .6; line-height: 1.35; }
.bv-langrow-check { width: 24px; height: 24px; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 11px; color: transparent; border: 2px solid rgba(0,0,0,.12); }
.bv-langrow.on .bv-langrow-badge { background: #434A54; color: #FFF; }
.bv-langrow.on .bv-langrow-check { background: #8CC152; border-color: #8CC152; color: #FFF; }
.bv-langrow input:focus-visible ~ .bv-langrow-body b { text-decoration: underline; }
#bvLangForm.is-saving .bv-langrow { pointer-events: none; opacity: .6; }
#bvLangForm.is-saving .bv-langrow.on { opacity: 1; }
.theme-dark .bv-langrow { border-color: rgba(255,255,255,.06); }
.theme-dark .bv-langrow-body b { color: #FFF; }
.theme-dark .bv-langrow-badge { background: rgba(255,255,255,.08); color: #FFF; }

/* Resmî bildirim: yapılan bildirim partileri (bildirim günü başına) */
.bv-offbatch { border-radius: 12px; background: #f7f8f9; padding: 10px 12px; margin: 8px 0; }
.bv-offbatch summary { display: flex; align-items: center; gap: 8px; list-style: none; cursor: pointer; }
.bv-offbatch summary::-webkit-details-marker { display: none; }
.bv-offbatch-date { font-size: 13px; font-weight: 800; color: #1f1f1f; white-space: nowrap; }
.bv-offbatch-date i { color: #8CC152; width: 20px; }
.bv-offbatch-meta { flex: 1; min-width: 0; font-size: 11px; color: #6b737b; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-offbatch-csv { display: inline-flex; align-items: center; gap: 5px; height: 30px; padding: 0 10px; border-radius: 9px; background: #4A89DC; color: #FFF !important; font-size: 11px; font-weight: 800; }
.bv-offbatch[open] summary { margin-bottom: 8px; }
.bv-offbatch .bv-offrow:last-child { border-bottom: 0; }
.theme-dark .bv-offbatch { background: rgba(255,255,255,.06); }
.theme-dark .bv-offbatch-date { color: #e6e9ec; }

/* Ana ekran: çiftlik işleri (sağım, tank, yemleme, buzağı takibi) */
.bv-task .bv-tag.bv-tag-ico { font-size: 14px; color: #4A89DC; background: rgba(74,137,220,.10); text-decoration: none !important; }
.bv-task.bv-task-late .bv-tag.bv-tag-ico { color: #DA4453; background: rgba(218,68,83,.10); }
.bv-late-badge { font-style: normal; font-size: 10px; font-weight: 800; color: #FFF; background: #DA4453; border-radius: 6px; padding: 1px 6px; margin-right: 4px; vertical-align: 1px; }

/* ═══ Paketler (PlanPricing) ═══ */
.bv-pkg-hero-ico { width: 48px; height: 48px; border-radius: 14px; background: rgba(74,137,220,.12); color: #4A89DC; display: inline-flex; align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0; }
.bv-pkg-usage { display: grid; grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); gap: 8px; }
.bv-pkg-usage > div { background: #f7f8f9; border-radius: 10px; padding: 8px 10px; display: flex; flex-direction: column; }
.bv-pkg-usage i { color: #4A89DC; font-size: 12px; }
.bv-pkg-usage span { font-size: 10px; color: #8a929a; text-transform: uppercase; letter-spacing: .3px; }
.bv-pkg-usage b { font-size: 15px; }
.bv-pkg { background: #fff; border-radius: 16px; border: 1.5px solid #e2e8f0; margin-bottom: 14px; overflow: hidden; box-shadow: 0 1px 6px rgba(0,0,0,.06); }
.bv-pkg-stripe { height: 5px; background: #e2e8f0; }
.bv-pkg-current { border-color: #8CC152; } .bv-pkg-current .bv-pkg-stripe { background: linear-gradient(90deg,#8CC152,#A0D468); }
.bv-pkg-free { border-color: #967ADC; } .bv-pkg-free .bv-pkg-stripe { background: linear-gradient(90deg,#967ADC,#AC92EC); }
.bv-pkg-special { border-color: #F6BB42; } .bv-pkg-special .bv-pkg-stripe { background: linear-gradient(90deg,#E9A620,#FFCE54); }
.bv-pkg-recommended { border-color: #4A89DC; } .bv-pkg-recommended .bv-pkg-stripe { background: linear-gradient(90deg,#4A89DC,#5D9CEC); }
.bv-pkg-badge { display: inline-flex; align-items: center; gap: 4px; font-size: 10px; font-weight: 800; padding: 3px 9px; border-radius: 20px; text-transform: uppercase; letter-spacing: .3px; margin-bottom: 4px; background: #eef1f4; color: #545c64; }
.bv-pkg-current .bv-pkg-badge { background: rgba(140,193,82,.15); color: #5d8f2d; }
.bv-pkg-free .bv-pkg-badge { background: rgba(150,122,220,.15); color: #6f55b8; }
.bv-pkg-special .bv-pkg-badge { background: rgba(246,187,66,.2); color: #9a6f12; }
.bv-pkg-recommended .bv-pkg-badge { background: rgba(74,137,220,.12); color: #3f6fae; }
.bv-pkg-name { font-size: 16px; font-weight: 800; margin: 0; }
.bv-pkg-desc { font-size: 11px; color: #6b737b; margin: 2px 0 0; line-height: 1.35; }
.bv-pkg-price { font-size: 22px; font-weight: 800; line-height: 1; letter-spacing: -.5px; }
.bv-pkg-price-free { color: #6f55b8; font-size: 18px; }
.bv-pkg-price-disc { color: #5d8f2d; }
.bv-pkg-old { font-size: 11px; color: #adb5bd; text-decoration: line-through; }
.bv-pkg-disc { display: inline-block; margin-top: 3px; font-size: 10px; font-weight: 800; background: rgba(140,193,82,.15); color: #5d8f2d; padding: 2px 7px; border-radius: 10px; }
.bv-pkg-per { font-size: 10px; color: #8a929a; margin-top: 3px; }
.bv-pkg-limits { display: flex; justify-content: space-between; gap: 8px; margin: 12px 0 6px; font-size: 11px; color: #545c64; flex-wrap: wrap; }
.bv-pkg-limits i { color: #4A89DC; width: 16px; }
.bv-pkg-bar { height: 5px; background: #eef1f4; border-radius: 3px; overflow: hidden; }
.bv-pkg-bar i { display: block; height: 100%; border-radius: 3px; background: linear-gradient(90deg,#8CC152,#4A89DC); }
.bv-pkg-bar-lbl { text-align: right; font-size: 10px; color: #8a929a; margin-top: 2px; }
.bv-pkg-feats { list-style: none; margin: 10px 0 12px; padding: 10px 0 0; border-top: 1px solid #f1f3f5; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 10px; }
.bv-pkg-feats li { display: flex; gap: 6px; font-size: 11px; color: #545c64; line-height: 1.3; }
.bv-pkg-feats i { color: #8CC152; font-size: 11px; margin-top: 2px; }
.bv-pkg-note { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; color: #9a6f12; background: rgba(246,187,66,.14); border-radius: 10px; padding: 7px 10px; margin: 0 0 12px; }
.bv-pkg-why { display: flex; align-items: center; gap: 6px; font-size: 11px; color: #8a929a; background: #f7f8f9; border-radius: 10px; padding: 8px 10px; margin: 6px 0 0; }
.bv-pkg-btn { display: flex; align-items: center; justify-content: center; gap: 7px; width: 100%; padding: 12px; border-radius: 12px; font-size: 13px; font-weight: 800; color: #FFF !important; }
.bv-pkg-btn-buy { background: #4A89DC; }
.bv-pkg-btn-special { background: #E9A620; }
.bv-pkg-btn-free { background: #967ADC; }
.bv-pkg-btn-current { background: #eef1f4; color: #5d8f2d !important; cursor: default; }
.bv-pkg-sum > div { display: flex; justify-content: space-between; gap: 10px; font-size: 12px; padding: 6px 0; border-bottom: 1px solid #f1f3f5; }
.bv-pkg-sum > div span { color: #6b737b; }
.bv-pkg-sum > div.total { border-bottom: 0; padding-top: 10px; font-size: 15px; }
.bv-pkg-sum > div.total b { color: #4A89DC; font-weight: 800; }
.bv-pkg-faq { background: #f7f8f9; border-radius: 10px; padding: 10px 12px; margin-bottom: 8px; }
.bv-pkg-faq summary { font-size: 12px; font-weight: 700; cursor: pointer; }
.bv-pkg-faq p { font-size: 11px; color: #6b737b; margin: 8px 0 0; }
.bv-pkg-result { width: 84px; height: 84px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 36px; }
.bv-pkg-result-ok { background: rgba(140,193,82,.15); color: #5d8f2d; }
.bv-pkg-result-bad { background: rgba(218,68,83,.12); color: #DA4453; }
.bv-pkg-reasons { padding-left: 18px; margin: 0; }
.bv-pkg-reasons li { font-size: 12px; color: #545c64; margin-bottom: 6px; }
.theme-dark .bv-pkg { background: #21252a; border-color: rgba(255,255,255,.08); }
.theme-dark .bv-pkg-usage > div, .theme-dark .bv-pkg-why, .theme-dark .bv-pkg-faq { background: rgba(255,255,255,.06); }

/* Ana ekran: paket kartı */
.bv-pkgcard-alert { border: 1.5px solid rgba(74,137,220,.35); }
.bv-pkgcard-ico { width: 44px; height: 44px; border-radius: 12px; background: rgba(74,137,220,.12); color: #4A89DC; display: inline-flex; align-items: center; justify-content: center; font-size: 18px; flex-shrink: 0; }
.bv-pkgcard-ico.bad { background: rgba(218,68,83,.12); color: #DA4453; }
.bv-pkgcard-rows > div:not(.progress) { display: flex; justify-content: space-between; align-items: center; font-size: 12px; padding: 5px 0; }
.bv-pkgcard-rows > div span { color: #6b737b; }
.bv-pkgcard-rows > div span i { width: 18px; color: #4A89DC; }
.bv-pkgcard-rows > div b { font-weight: 800; }
.bv-pkgcard-rows > div b em { font-style: normal; font-weight: 600; color: #8a929a; }
.bv-pkgcard-rows > .progress { margin: 2px 0 4px; }

/* Ödeme geçmişi ve dekont */
.bv-pkg-histlink { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 12px; background: #f7f8f9; color: #1f1f1f !important; font-size: 12px; font-weight: 700; }
.bv-pkg-histlink > i:first-child { color: #4A89DC; width: 18px; }
.bv-pkg-histlink > span { flex: 1; }
.bv-pkg-histlink > i:last-child { font-size: 10px; opacity: .4; }
.bv-payrow { background: #fff; border-radius: 14px; padding: 12px; margin-bottom: 10px; box-shadow: 0 1px 6px rgba(0,0,0,.06); }
.bv-payrow summary { display: flex; align-items: center; gap: 10px; list-style: none; cursor: pointer; }
.bv-payrow summary::-webkit-details-marker { display: none; }
.bv-payrow-ico { width: 38px; height: 38px; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; flex-shrink: 0; background: rgba(74,137,220,.12); color: #4A89DC; }
.bv-payrow-ucretsiz { background: rgba(150,122,220,.14); color: #6f55b8; }
.bv-payrow-yukseltme { background: rgba(140,193,82,.15); color: #5d8f2d; }
.bv-payrow-yenileme { background: rgba(246,187,66,.18); color: #9a6f12; }
.bv-payrow-kredili { background: rgba(55,188,155,.15); color: #2a8e75; }
.bv-payrow-main { flex: 1; min-width: 0; line-height: 1.25; }
.bv-payrow-main b { display: block; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-payrow-main small { font-size: 11px; color: #8a929a; }
.bv-payrow-amt { text-align: right; }
.bv-payrow-amt b { display: block; font-size: 14px; font-weight: 800; }
.bv-payrow-amt .bv-pill { padding: 2px 7px; font-size: 10px; margin-top: 3px; display: inline-block; }
.bv-receipt-party { background: #f7f8f9; border-radius: 12px; padding: 10px 12px; }
.theme-dark .bv-payrow { background: #21252a; }
.theme-dark .bv-pkg-histlink, .theme-dark .bv-receipt-party { background: rgba(255,255,255,.06); color: #e6e9ec !important; }
@media print {
    .header, .header-bar, #footer-bar, .page-title, #page-loader, #menu-main, .menu, .bv-noprint { display: none !important; }
    .page-content { padding: 0 !important; margin: 0 !important; }
    .bv-receipt { box-shadow: none !important; margin: 0 !important; border: 1px solid #ddd; }
    body { background: #fff !important; }
}

/* Çiftlik Ayarları */
.bv-farm-logo { width: 72px; height: 72px; border-radius: 18px; object-fit: cover; background: #f1f3f5; flex-shrink: 0; box-shadow: 0 1px 6px rgba(0,0,0,.08); }
.bv-input-unit { position: relative; }
.bv-input-unit .bv-input { padding-right: 58px; }
.bv-input-unit > span { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); font-size: 12px; font-weight: 700; color: #8a929a; pointer-events: none; }
.bv-billing-warn { border: 1.5px solid rgba(233,166,32,.45); background: rgba(246,187,66,.08); }
.bv-billing-warn .font-700 { color: #9a6f12; }
.bv-billing-list { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.bv-billing-list li { font-size: 11px; font-weight: 700; background: #fff; border-radius: 8px; padding: 4px 9px; color: #b8313f; }
.bv-billing-list i { padding-right: 5px; }
.theme-dark .bv-billing-list li { background: rgba(255,255,255,.08); }

/* Irk tanımları */
.bv-breed { color: inherit !important; }
.bv-breed-system { opacity: .85; }
.bv-breed-ico { width: 40px; height: 40px; border-radius: 12px; background: rgba(74,137,220,.12); color: #4A89DC; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }

/* Olay kaydı seçici */
.bv-evgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 8px; }
.bv-evitem { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 5px; padding: 12px 6px 10px; border-radius: 14px; background: #f7f8f9; color: #1f1f1f !important; min-height: 96px; }
.bv-evitem b { font-size: 11px; font-weight: 700; line-height: 1.25; }
.bv-evitem-ico { width: 38px; height: 38px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; font-size: 16px; }
.bv-evitem-pink .bv-evitem-ico { background: rgba(236,135,192,.16); color: #c0508f; }
.bv-evitem-red .bv-evitem-ico { background: rgba(218,68,83,.12); color: #DA4453; }
.bv-evitem-blue .bv-evitem-ico { background: rgba(74,137,220,.12); color: #4A89DC; }
.bv-evitem-yellow .bv-evitem-ico { background: rgba(246,187,66,.18); color: #b88415; }
.bv-evitem-green .bv-evitem-ico { background: rgba(140,193,82,.15); color: #5d8f2d; }
.bv-evitem-tag { position: absolute; top: 6px; right: 6px; font-size: 9px; font-weight: 800; color: #8a929a; background: #fff; border-radius: 6px; padding: 1px 5px; }
.bv-evitem-why { font-size: 9px; color: #b8313f; line-height: 1.2; }
.bv-evitem.locked { opacity: .45; cursor: not-allowed; }
.bv-input.is-selected { border-color: #8CC152 !important; background: rgba(140,193,82,.06); }
.theme-dark .bv-evitem { background: rgba(255,255,255,.06); color: #e6e9ec !important; }
.theme-dark .bv-evitem-tag { background: rgba(255,255,255,.1); }

/* Muhasebe */
.bv-acc-sum { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.bv-acc-sum > div { border-radius: 12px; padding: 10px; background: #f7f8f9; min-width: 0; }
.bv-acc-sum span { display: block; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .3px; color: #8a929a; }
.bv-acc-sum b { display: block; font-size: 15px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-acc-sum .in b { color: #5d8f2d; } .bv-acc-sum .out b { color: #DA4453; }
.bv-acc-sum .net { background: rgba(74,137,220,.10); } .bv-acc-sum .net b { color: #3f6fae; }
.bv-acc-sum .net.neg { background: rgba(218,68,83,.10); } .bv-acc-sum .net.neg b { color: #DA4453; }
.bv-acc-cat { margin-bottom: 8px; font-size: 12px; }
.bv-acc-cat b { font-weight: 800; } .bv-acc-cat b em { font-style: normal; font-weight: 600; color: #8a929a; font-size: 11px; }
.bv-acc-bar { height: 5px; background: #eef1f4; border-radius: 3px; overflow: hidden; margin-top: 3px; }
.bv-acc-bar i { display: block; height: 100%; border-radius: 3px; }
.bv-acc-cat.in .bv-acc-bar i { background: #8CC152; } .bv-acc-cat.out .bv-acc-bar i { background: #ED5565; }
.bv-acc-row { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid #f1f3f5; color: #1f1f1f !important; }
.bv-acc-row:last-of-type { border-bottom: 0; }
.bv-acc-ico { width: 34px; height: 34px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 13px; }
.bv-acc-row.in .bv-acc-ico { background: rgba(140,193,82,.15); color: #5d8f2d; }
.bv-acc-row.out .bv-acc-ico { background: rgba(218,68,83,.10); color: #DA4453; }
.bv-acc-main { flex: 1; min-width: 0; line-height: 1.25; }
.bv-acc-main b { display: block; font-size: 12px; }
.bv-acc-main small { font-size: 11px; color: #8a929a; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-acc-main small em { font-style: normal; font-weight: 700; }
.bv-acc-main small em.auto { color: #4A89DC; } .bv-acc-main small em.man { color: #967ADC; }
.bv-acc-amt { font-size: 13px; font-weight: 800; white-space: nowrap; }
.bv-acc-row.in .bv-acc-amt { color: #5d8f2d; } .bv-acc-row.out .bv-acc-amt { color: #DA4453; }
.theme-dark .bv-acc-sum > div:not(.net) { background: rgba(255,255,255,.06); }
.theme-dark .bv-acc-row { color: #e6e9ec !important; border-color: rgba(255,255,255,.08); }

/* Muhasebe sekmeleri: gelir-gider / cari / kasa & banka */
/* Bölüm sekmeleri sayfa genişliğine yayılır (muhasebe: 3 bölüm) */
.bv-chips.bv-ftabs.bv-ftabs-fill .chip { flex: 1 1 0; min-width: 0; margin-right: 0; padding-top: 11px; padding-bottom: 10px; }

/* Bakiye kutusu (cari ekstre, kasa) */
.bv-acc-balance { border-radius: 14px; padding: 12px 14px; background: #f7f8f9; }
.bv-acc-balance span { display: block; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .3px; color: #8a929a; }
.bv-acc-balance b { display: block; font-size: 22px; font-weight: 800; }
.bv-acc-balance em { display: block; font-style: normal; font-size: 11px; font-weight: 700; color: #DA4453; margin-top: 2px; }
.bv-acc-balance.in { background: rgba(140,193,82,.10); } .bv-acc-balance.in b { color: #5d8f2d; }
.bv-acc-balance.out { background: rgba(218,68,83,.08); } .bv-acc-balance.out b { color: #DA4453; }

/* Hızlı işlem düğmeleri (tahsilat / ödeme / dekont / excel) */
.bv-acc-actions { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.bv-acc-actions a { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 9px 4px; border-radius: 12px; background: #f7f8f9; font-size: 10px; font-weight: 700; color: #545c64 !important; text-align: center; line-height: 1.2; }
.bv-acc-actions a i { font-size: 15px; color: #4A89DC; }
.bv-acc-actions a.in i { color: #5d8f2d; } .bv-acc-actions a.out i { color: #DA4453; }

/* Kasa / banka kartları */
.bv-cashcard { color: inherit !important; }
.bv-cash-ico { width: 40px; height: 40px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; background: rgba(74,137,220,.12); color: #4A89DC; }
.bv-cash-ico.t1 { background: rgba(140,193,82,.15); color: #5d8f2d; }
.bv-cash-ico.t3 { background: rgba(150,122,220,.15); color: #6f55b8; }
.bv-cash-ico.t9 { background: rgba(246,187,66,.18); color: #b88415; }

/* Onay kutusu satırı */
.bv-checkline { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 600; cursor: pointer; }
.bv-checkline input { width: 20px; height: 20px; accent-color: #4A89DC; }

.theme-dark .bv-acc-balance:not(.in):not(.out), .theme-dark .bv-acc-actions a { background: rgba(255,255,255,.06); }

.bv-acc-overdue { display: inline-block; font-size: 10px; font-weight: 800; color: #b8313f; background: rgba(218,68,83,.10); border-radius: 6px; padding: 1px 6px; margin-top: 2px; }

/* ── Profil: avatar (fotoğraf yoksa baş harfler), şifre alanı göz düğmesi, şifre kural listesi ── */
.bv-avatar { width: 44px; height: 44px; border-radius: 50%; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; color: #FFF; font-weight: 800; font-size: 16px; letter-spacing: .5px; object-fit: cover; }
.bv-avatar-lg { width: 96px; height: 96px; font-size: 32px; }
.bv-avatar[hidden] { display: none !important; }
/* Ana ekran: kurulum rehberi (yeni üye) */
.bv-guide-ico { width: 44px; height: 44px; border-radius: 14px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; color: #FFF; font-size: 18px; }
.bv-guide-count { font-size: 20px; font-weight: 800; white-space: nowrap; margin-left: 8px; }
.bv-guide-count small { font-size: 12px; font-weight: 600; opacity: .5; }
.bv-guide-sec { display: flex; align-items: center; justify-content: space-between; margin: 14px 0 0; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; color: #8a929a; }
.bv-guide-sec em { font-style: normal; font-size: 11px; letter-spacing: 0; }
.bv-guide-sec.done { margin-top: 10px; }
.bv-guide-sec.done span { text-decoration: line-through; opacity: .7; }
.bv-guide-step { display: flex; align-items: center; gap: 12px; width: 100%; padding: 11px 12px; margin-top: 8px; border: 0; border-radius: 12px; background: #f7f8f9; color: #1f1f1f !important; text-align: left; }
.bv-guide-step > i:first-child { width: 20px; text-align: center; font-size: 16px; }
.bv-guide-step > i:last-child { font-size: 16px; }
.bv-guide-text { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.bv-guide-text b { font-size: 13px; font-weight: 700; }
.bv-guide-text small { font-size: 11px; color: #8a929a; }
.bv-guide-step.done { background: transparent; padding-top: 6px; padding-bottom: 6px; }
.bv-guide-step.done .bv-guide-text b { text-decoration: line-through; opacity: .55; }
.bv-guide-step.done .bv-guide-text small { display: none; }
.bv-guide-step.done > i:first-child { opacity: .4; }
.theme-dark .bv-guide-step { background: rgba(255,255,255,.06); color: #FFF !important; }
.theme-dark .bv-guide-step.done { background: transparent; }
/* Profil kimlik kartı: büyük çiftlik logosu + köşesinde küçük kullanıcı baş harfleri */
.bv-idlogo { position: relative; width: 88px; height: 88px; flex-shrink: 0; margin: 2px 8px 10px 0; }
.bv-idlogo-farm { width: 88px; height: 88px; border-radius: 22px; object-fit: cover; display: flex; align-items: center; justify-content: center; color: #FFF; font-size: 34px; background-color: #f1f3f5; box-shadow: 0 4px 14px rgba(0,0,0,.14); }
.bv-idlogo-user { position: absolute; right: -10px; bottom: -10px; width: 42px; height: 42px; font-size: 14px; background: #434A54; border: 3px solid #FFF; box-shadow: 0 2px 6px rgba(0,0,0,.18); }
.theme-dark .bv-idlogo-user { background: #656D78; border-color: #1f2327; }
.bv-acc-list a { position: relative; }
.bv-acc-badge { position: absolute; right: 26px; top: 50%; transform: translateY(-50%); min-width: 22px; height: 22px; padding: 0 7px; border-radius: 11px; background: #DA4453; color: #FFF; font-size: 11px; font-weight: 800; line-height: 22px; text-align: center; }
.bv-pwd .bv-input { padding-right: 46px !important; }
.bv-pwd-eye { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border: 0; background: transparent; color: #8a929a; border-radius: 10px; }
.bv-pwd-eye:active { background: rgba(0,0,0,.05); }
.bv-pwrules { list-style: none; padding: 0; margin: -6px 0 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 4px 10px; font-size: 11px; color: #9aa1a8; }
.bv-pwrules li { display: flex; align-items: center; gap: 6px; line-height: 1.3; }
.bv-pwrules li i { font-size: 8px; opacity: .6; }
.bv-pwrules li.ok { color: #6FA237; font-weight: 600; }
.bv-pwrules li.ok i { font-size: 11px; opacity: 1; }
.theme-dark .bv-pwd-eye { color: #cfd4d9; }
.bv-pt-initials { display: inline-flex; align-items: center; justify-content: center; color: #FFF; font-size: 13px; font-weight: 800; letter-spacing: .3px; text-decoration: none; }

/* ── Süt tankı: tank kartı (doluluk çubuğu, içerik, işlemler) + sağım ekranındaki tank seçimi ── */
.bv-tk { padding: 12px 0; border-bottom: 1px solid rgba(0,0,0,.05); }
.bv-tk:last-of-type { border-bottom: 0; }
.bv-tk-head { display: flex; align-items: baseline; gap: 8px; }
.bv-tk-head b { font-size: 15px; color: #1f1f1f; }
.bv-tk-head em { font-style: normal; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .3px; color: #8a929a; }
.bv-tk-head span { margin-left: auto; font-size: 16px; font-weight: 800; color: #4A89DC; }
.bv-tk-head span.warn { color: #c98d10; }
.bv-tk-head span.full { color: #DA4453; }
.bv-tk-bar { height: 10px; border-radius: 6px; background: #eceff1; overflow: hidden; margin: 8px 0 6px; }
.bv-tk-bar i { display: block; height: 100%; border-radius: 6px; background: #4A89DC; transition: width .25s ease; }
.bv-tk-bar i.warn { background: #F6BB42; }
.bv-tk-bar i.full { background: #DA4453; }
.bv-tk-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 11px; color: #6b737b; }
.bv-tk-meta i { margin-right: 4px; opacity: .7; }
.bv-tk-meta .warn { color: #c98d10; }
.bv-tk-meta .bad { color: #DA4453; font-weight: 700; }
.bv-tk-acts { display: flex; align-items: center; gap: 6px; margin-top: 10px; }
.bv-tk-acts > a, .bv-tk-acts > button { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 0 12px; border: 0; border-radius: 10px; background: #f1f3f5; color: #434A54; font-size: 12px; font-weight: 700; }
.bv-tk-acts > a.bg-highlight { color: #FFF; }
.bv-tk-acts > button[data-edit-tank] { margin-left: auto; padding: 0 11px; color: #8a929a; }
.bv-tk-acts .bv-rowdel { margin: 0; }
.bv-tkpick { margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(0,0,0,.06); }
.bv-tkpick-line { display: flex; align-items: baseline; gap: 8px; font-size: 12px; color: #6b737b; margin-top: 8px; }
.bv-tkpick-line b { margin-left: auto; font-size: 14px; color: #4A89DC; }
.bv-tkpick-line b.warn { color: #c98d10; }
.bv-tkpick-line b.full { color: #DA4453; }
.bv-tkpick .bv-tk-bar { margin: 4px 0 0; }
.bv-tkpick-note { font-size: 11px; font-weight: 700; color: #DA4453; margin: 6px 0 0; }
.theme-dark .bv-tk-head b { color: #FFF; }
.theme-dark .bv-tk-bar { background: rgba(255,255,255,.1); }
.theme-dark .bv-tk-acts > a:not(.bg-highlight), .theme-dark .bv-tk-acts > button { background: rgba(255,255,255,.08); color: #e6e9ed; }
.theme-dark .bv-tk, .theme-dark .bv-tkpick { border-color: rgba(255,255,255,.08); }

/* ── Kişi seçici (_PersonPicker): liste + "yeni kişi ekle" satırı ── */
.bv-person-add { margin-top: 8px; padding: 10px; border-radius: 12px; background: #f7f8f9; display: grid; gap: 8px; }
.bv-person-add[hidden] { display: none; }
.bv-person-btns { display: flex; gap: 6px; }
.bv-person-btns button { flex: 1; min-height: 36px; border: 0; border-radius: 10px; background: #e6e9ed; color: #434A54; font-size: 12px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.bv-person-btns button.bg-highlight { color: #FFF; }
.bv-person-btns button:disabled { opacity: .6; }
.bv-person-err { margin: 0; font-size: 11px; font-weight: 700; color: #DA4453; }
.theme-dark .bv-person-add { background: rgba(255,255,255,.06); }
.theme-dark .bv-person-btns button:not(.bg-highlight) { background: rgba(255,255,255,.1); color: #e6e9ed; }

/* Yem stoğu: mevcut stok satırı dokunulabilir (yemi stok hareketi formunda seçer) */
[data-pick-feed]:not([data-pick-feed=""]) { cursor: pointer; }

/* ── Damızlık seçimi: genetik değerlendirme (BLUP) ── */
.bv-blup-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.bv-blup-table th { text-align: right; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .3px; color: #8a929a; padding: 4px 6px; border-bottom: 1px solid rgba(0,0,0,.08); }
.bv-blup-table th:first-child, .bv-blup-table td:first-child { text-align: left; padding-left: 0; }
.bv-blup-table td { text-align: right; padding: 7px 6px; border-bottom: 1px solid rgba(0,0,0,.05); font-variant-numeric: tabular-nums; }
.bv-blup-table td:first-child { font-weight: 700; }
.bv-blup-table tr.off td { opacity: .45; }
.bv-ebv-title { font-size: 11px; font-weight: 700; color: #6b737b; margin: 0 0 6px; }
.theme-dark .bv-blup-table th, .theme-dark .bv-blup-table td { border-color: rgba(255,255,255,.08); }
.bv-refs { font-size: 11px; line-height: 1.45; padding-left: 16px; margin: 0; opacity: .8; }
.bv-refs li { margin-bottom: 4px; }
.bv-trend .dot { fill: #4A89DC; stroke: #fff; stroke-width: 1.5; }
.bv-trend .val { font-size: 10px; font-weight: 700; fill: #434A54; font-family: Roboto, sans-serif; }
.bv-trend .yr { font-size: 10px; font-weight: 700; }
.theme-dark .bv-trend .val { fill: #e6e9ed; }
.theme-dark .bv-trend .dot { stroke: #1f2327; }

/* Tema (style.css) input:hover / :focus / :active için "appearance: none !important" veriyor; yerel onay kutusu ve
   radyo düğmesi dokununca (odak alınca) kayboluyor, başka yere dokununca geri geliyordu. Yerel görünüm korunur.
   Bootstrap'in kendi çizdiği kutular (.form-check-input, .btn-check) kapsam dışıdır. */
input[type="checkbox"]:not(.form-check-input):not(.btn-check),
input[type="checkbox"]:not(.form-check-input):not(.btn-check):hover,
input[type="checkbox"]:not(.form-check-input):not(.btn-check):focus,
input[type="checkbox"]:not(.form-check-input):not(.btn-check):active,
input[type="radio"]:not(.form-check-input):not(.btn-check),
input[type="radio"]:not(.form-check-input):not(.btn-check):hover,
input[type="radio"]:not(.form-check-input):not(.btn-check):focus,
input[type="radio"]:not(.form-check-input):not(.btn-check):active { -webkit-appearance: auto !important; appearance: auto !important; }

/* Uzun metinlerde satır sonları korunur (danışman önerisi) */
.bv-pre { white-space: pre-line; }
