/* Valentra yonetim paneli */

:root {
    --lacivert:    #17304f;
    --altin:       #c9a86a;
    --altin-koyu:  #a8854a;
    --zemin:       #f6f7f9;
    --kart:        #ffffff;
    --metin:       #14213a;
    --metin-soluk: #5d6a80;
    --cizgi:       #e2e6ec;
    --kirmizi:     #b3261e;
    --yesil:       #1a7f4b;
    --sari:        #9a7420;
    --vurgu:       #1b4f8f;
    --golge:       0 1px 2px rgba(20, 33, 58, .05), 0 4px 16px rgba(20, 33, 58, .06);
}

* { box-sizing: border-box; }

body {
    margin: 0;
    background: var(--zemin);
    color: var(--metin);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
                 "Helvetica Neue", Arial, sans-serif;
    line-height: 1.55;
    font-size: 14px;
}

a { color: var(--vurgu); }

.sinirli { max-width: 1100px; margin: 0 auto; padding: 0 20px; }

/* --- Ust bant ------------------------------------------------------------ */

.panel-ust {
    background: var(--lacivert);
    color: #fff;
    padding: 14px 0;
}

.panel-ust .sinirli {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}

.panel-ust .logo {
    font-weight: 800;
    letter-spacing: .14em;
    font-size: 1.10rem;
}

.panel-ust .logo span { color: var(--altin); }
.panel-ust a { color: #c3d0e2; text-decoration: none; margin-left: 16px; }
.panel-ust a:hover { color: #fff; }

/* --- Sekmeler ------------------------------------------------------------ */

.sekmeler {
    display: flex;
    gap: 4px;
    margin: 26px 0 18px;
    flex-wrap: wrap;
}

.sekmeler a {
    padding: 8px 16px;
    border-radius: 999px;
    background: var(--kart);
    border: 1px solid var(--cizgi);
    color: var(--metin-soluk);
    text-decoration: none;
    font-weight: 600;
    font-size: .96rem;
}

.sekmeler a.aktif {
    background: var(--lacivert);
    border-color: #14171c;
    color: #fff;
}

.sekmeler .adet {
    display: inline-block;
    margin-left: 6px;
    padding: 0 7px;
    border-radius: 999px;
    background: var(--altin-koyu);
    color: #fff;
    font-size: .82rem;
}

.sekmeler a.aktif .adet { background: var(--altin); color: #14213a; }

/* --- Baslik suzgeci (onay listesi) ----------------------------------------- */

.baslik-suzgeci {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin: -6px 0 18px;
}

.baslik-suzgeci a {
    padding: 4px 11px;
    border-radius: 999px;
    border: 1px solid var(--cizgi);
    background: var(--kart);
    color: var(--metin-soluk);
    text-decoration: none;
    font-size: .88rem;
}

.baslik-suzgeci a.bos { opacity: .55; }

.baslik-suzgeci a.aktif {
    background: var(--lacivert);
    border-color: #14171c;
    color: #fff;
    opacity: 1;
}

.baslik-suzgeci .adet { font-weight: 700; margin-left: 2px; }

/* --- Liste --------------------------------------------------------------- */

.haber-satiri {
    background: var(--kart);
    border: 1px solid var(--cizgi);
    border-radius: 10px;
    box-shadow: var(--golge);
    padding: 16px 18px;
    margin-bottom: 12px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 16px;
    align-items: start;
}

.haber-satiri h3 {
    margin: 0 0 6px;
    font-size: 1.08rem;
    line-height: 1.35;
}

.haber-satiri h3 a { color: var(--metin); text-decoration: none; }
.haber-satiri h3 a:hover { color: var(--vurgu); }

.haber-satiri .ozet {
    margin: 0 0 10px;
    color: var(--metin-soluk);
    font-size: .96rem;
}

.satir-bilgi {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    font-size: .86rem;
    color: var(--metin-soluk);
}

.satir-islem {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 132px;
}

/* --- Rozetler ------------------------------------------------------------ */

.rozet {
    display: inline-block;
    padding: 2px 9px;
    border-radius: 999px;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .03em;
}

.rozet-taslak     { background: #fff4d6; color: var(--sari); }
.rozet-yayinda    { background: #e0f5ea; color: var(--yesil); }
.rozet-reddedildi { background: #fde8e9; color: var(--kirmizi); }
.rozet-skor       { background: #eef2f8; color: var(--metin-soluk); }

/* --- Dugmeler ------------------------------------------------------------ */

.dugme {
    display: inline-block;
    padding: 9px 16px;
    border: 1px solid var(--cizgi);
    border-radius: 7px;
    background: var(--kart);
    color: var(--metin);
    font-size: .95rem;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    font-family: inherit;
}

.dugme:hover { border-color: #c3c9d2; }

.dugme-onay  { background: var(--yesil); border-color: var(--yesil); color: #fff; }
.dugme-onay:hover { background: #15693d; border-color: #15693d; }

.dugme-ret   { background: var(--kart); border-color: #f0c2c5; color: var(--kirmizi); }
.dugme-ret:hover { background: #fde8e9; }

.dugme-ana   { background: var(--lacivert); border-color: #14171c; color: #fff; }
.dugme-ana:hover { background: #22436b; }

/* --- Formlar ------------------------------------------------------------- */

.kutu {
    background: var(--kart);
    border: 1px solid var(--cizgi);
    border-radius: 10px;
    box-shadow: var(--golge);
    padding: 24px;
    margin-bottom: 18px;
}

.alan { margin-bottom: 16px; }

.alan label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    font-size: .95rem;
}

.alan input[type=text],
.alan input[type=email],
.alan input[type=url],
.alan input[type=password],
.alan textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--cizgi);
    border-radius: 7px;
    font-family: inherit;
    font-size: .99rem;
    color: var(--metin);
    background: #fff;
}

.alan textarea { resize: vertical; min-height: 220px; line-height: 1.6; }

.alan input:focus, .alan textarea:focus {
    outline: 2px solid var(--vurgu);
    outline-offset: -1px;
    border-color: var(--vurgu);
}

.alan .ipucu { font-size: .90rem; color: var(--metin-soluk); margin-top: 5px; }

/* --- Uyarilar ------------------------------------------------------------ */

.uyari {
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 16px;
    font-size: .96rem;
}

.uyari-basari { background: #e0f5ea; color: #14623a; }
.uyari-hata   { background: #fde8e9; color: #8c1119; }
.uyari-bilgi  { background: #eef2f8; color: #3a4453; }

.bos-durum {
    background: var(--kart);
    border: 1px dashed var(--cizgi);
    border-radius: 10px;
    padding: 48px 24px;
    text-align: center;
    color: var(--metin-soluk);
}

.bos-durum strong { display: block; color: var(--metin); margin-bottom: 6px; }

/* --- Giris sayfasi ------------------------------------------------------- */

.giris-sayfa {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.giris-kutusu { width: 100%; max-width: 380px; }

.giris-kutusu .logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
}

.giris-kutusu .logo img { width: 54px; height: 47px; }

.giris-kutusu .logo .ad {
    font-size: 1.45rem;
    font-weight: 400;
    letter-spacing: .24em;
    text-indent: .24em;
    color: var(--lacivert);
}

.giris-kutusu .logo span { color: var(--altin-koyu); }

.giris-kutusu .aciklama {
    text-align: center;
    color: var(--metin-soluk);
    font-size: .94rem;
    margin-bottom: 22px;
}

@media (max-width: 640px) {
    .haber-satiri { grid-template-columns: 1fr; }
    .satir-islem { flex-direction: row; flex-wrap: wrap; }
}

code.anahtar {
    display: block;
    padding: 12px 14px;
    background: var(--lacivert);
    color: #7ee0a6;
    border-radius: 7px;
    font-size: .96rem;
    word-break: break-all;
    margin: 10px 0;
}

/* --- Tek tikla toplama cubugu -------------------------------------------- */

.toplama-cubugu {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
    padding: 18px 24px;
}

.toplama-cubugu strong { font-size: 1.10rem; }

@media (max-width: 600px) {
    .toplama-cubugu .dugme,
    .toplama-cubugu form { width: 100%; }
    .toplama-cubugu .dugme { text-align: center; }
}

/* --- Pratik bilgiler onay ekrani ------------------------------------------ */

.pratik-satir.bekliyor {
    border-left: 3px solid var(--sari);
}

.pratik-ust {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.pratik-ust h3 { margin: 0 0 4px; font-size: 1.08rem; }
.pratik-ust .ipucu { margin: 0; }

.pratik-kaynak {
    font-size: .90rem;
    font-weight: 600;
    color: var(--vurgu);
    white-space: nowrap;
}

/* Yayindaki ve aday deger yan yana: neyin neye donusecegi gorulmeli. */
.pratik-degerler {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 14px;
}

.pratik-kutu {
    background: var(--zemin);
    border: 1px solid var(--cizgi);
    border-radius: 8px;
    padding: 12px 14px;
}

.pratik-kutu.aday {
    background: #fffaf0;
    border-color: #e8d4a8;
}

.etiketcik {
    display: inline-block;
    font-size: .80rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--metin-soluk);
    margin-bottom: 8px;
}

.pratik-kutu .pratik-deger {
    margin: 0 0 6px;
    font-family: inherit;
    font-size: 1.04rem;
    font-weight: 700;
    line-height: 1.45;
    white-space: pre-wrap;
    word-break: break-word;
}

.pratik-dugmeler {
    display: flex;
    gap: 8px;
    margin-top: 12px;
}

.pratik-dugmeler form { margin: 0; }

.pratik-elle {
    margin-top: 14px;
    border-top: 1px solid var(--cizgi);
    padding-top: 12px;
}

/*
 * API'den okunan satirlar ayirt edilsin: bu degerler sayfa okunarak
 * degil kaynagin kendi ucundan geliyor ve o fark onaylayan kisi icin
 * onemli — biri makine okumasi, digeri model okumasi.
 */
.pratik-api {
    margin-top: 14px;
    border-top: 1px solid var(--cizgi);
    padding-top: 12px;
}

.pratik-api code {
    background: var(--zemin);
    padding: 1px 5px;
    border-radius: 4px;
    font-size: .88rem;
}

.pratik-api form { margin: 0; }

.pratik-elle summary {
    cursor: pointer;
    font-size: .94rem;
    font-weight: 600;
    color: var(--metin-soluk);
}

.pratik-elle form { margin-top: 12px; max-width: 520px; }

/* --- Ziyaretci istatistikleri -------------------------------------------- */

/* Panelin baska yerlerinde de "ipucu" kullaniliyordu ama kural yalnizca
   .alan icinde tanimliydi; disarida kalanlar govde metniyle ayni
   gorunuyordu. Genel kural burada. */
.ipucu { font-size: .94rem; color: var(--metin-soluk); }

.sayfa-basligi h1 { margin: 0 0 4px; font-size: 1.5rem; }
.sayfa-basligi .ipucu { margin: 0; max-width: 70ch; }

.olcum-izgara {
    display: grid;
    /* Kartlar dar ekranda alt alta, genis ekranda yan yana; sabit
       sutun sayisi vermek telefonda sayilari okunmaz yapardi. */
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 12px;
    margin-top: 20px;
}

.olcum {
    background: var(--kart);
    border: 1px solid var(--cizgi);
    border-radius: 10px;
    box-shadow: var(--golge);
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.olcum-vurgu { border-color: var(--altin); background: #fffaf1; }

.olcum-sayi { font-size: 1.9rem; font-weight: 700; line-height: 1.1; }
.olcum-ad   { font-weight: 600; font-size: .95rem; }
.olcum-alt  { font-size: .86rem; color: var(--metin-soluk); }

/* Cubuk grafik: kutuphane yok, sutunlar flex ile ciziliyor. */
.cubuk-grafik {
    display: flex;
    align-items: flex-end;
    gap: 6px;
    height: 190px;
    margin: 18px 0 10px;
}

.cubuk-sutun {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
    min-width: 0;
}

.cubuk {
    width: 100%;
    background: var(--lacivert);
    border-radius: 4px 4px 0 0;
    transition: background .15s;
}

.cubuk-sutun:hover .cubuk { background: var(--altin-koyu); }

.cubuk-deger {
    font-size: .82rem;
    color: var(--metin-soluk);
    margin-bottom: 3px;
}

.cubuk-ad {
    font-size: .80rem;
    color: var(--metin-soluk);
    text-align: center;
    margin-top: 6px;
    line-height: 1.25;
}

.istatistik-ikili {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
    gap: 18px;
    margin-top: 18px;
}

.liste-tablo {
    width: 100%;
    border-collapse: collapse;
    font-size: .96rem;
}

.liste-tablo th {
    text-align: left;
    font-size: .86rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--metin-soluk);
    border-bottom: 1px solid var(--cizgi);
    padding: 0 8px 7px 0;
}

.liste-tablo td {
    padding: 8px 8px 8px 0;
    border-bottom: 1px solid var(--cizgi);
    vertical-align: top;
}

.liste-tablo tr:last-child td { border-bottom: 0; }
.liste-tablo .sag { text-align: right; white-space: nowrap; }

/* Uzun adresler tabloyu yatayda tasiyordu; sutun genisligini
   kaydirma cubugu cikarmadan koruyor. */
.liste-tablo .kirp {
    max-width: 320px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Kanun metni tanisi: her adayin sonucu alt alta, adresler sutunu
   tasirmadan. */
.tani-liste {
    margin: 0;
    padding-left: 18px;
    font-size: .94rem;
}

.tani-liste li { margin-bottom: 6px; }
.tani-liste small { color: var(--metin-soluk); word-break: break-all; }

/* --- Valentra Analiz alanlari (duzenleme formu) -------------------------- */

.analiz-alani {
    border: 1px solid #d8dde6;
    border-left: 4px solid #c9a86a;
    border-radius: 8px;
    padding: 16px 18px 18px;
}

.analiz-alani legend {
    padding: 0 8px;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #a8854a;
}

.analiz-alani label {
    display: block;
    margin-top: 12px;
    font-size: .86rem;
    font-weight: 600;
}

.analiz-alani textarea {
    width: 100%;
    margin-top: 4px;
    /* Dort kisa alan; haber metni gibi yuksek kutulara gerek yok. */
    min-height: 0;
    resize: vertical;
}

/* --- Grafik olusturucu (admin/grafikler.php) --------------------------- */

.grafik-kart-ust {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.grafik-kart-ust code,
.grafik-form code {
    background: var(--zemin);
    padding: 1px 5px;
    border-radius: 4px;
    font-size: .88rem;
}

/* Son deger buyuk: yanlis seriyi en hizli bilinen bir rakam ele verir. */
.grafik-son-deger {
    margin: 14px 0 0;
    font-size: 1rem;
}

.grafik-son-deger strong { font-size: 1.15rem; }

.grafik-kart-dugmeler {
    display: flex;
    flex-wrap: wrap;
    /* Bag (<a>) ile form dugmesi ayni boyda dursun. */
    align-items: center;
    gap: 8px;
    margin-top: 14px;
}

.grafik-kart-dugmeler form { margin: 0; }

.grafik-form select,
.grafik-form input[type="number"] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--cizgi);
    border-radius: 7px;
    font-family: inherit;
    font-size: .92rem;
    background: var(--kart);
    color: var(--metin);
}

.grafik-form-izgara {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0 16px;
}

.grafik-onay {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    margin-top: 4px;
}

/* --- Panel menusu: acilir gruplar --------------------------------------- */

.panel-menu { display: flex; align-items: center; flex-wrap: wrap; gap: 2px; }

.panel-ust .panel-menu > a,
.panel-grup > summary {
    margin: 0;
    padding: 7px 12px;
    border-radius: 6px;
    color: #c3d0e2;
    cursor: pointer;
    white-space: nowrap;
}

.panel-grup { position: relative; }
.panel-grup > summary { list-style: none; }
.panel-grup > summary::-webkit-details-marker { display: none; }
.panel-grup > summary::after { content: " ▾"; font-size: .8em; opacity: .7; }

.panel-ust .panel-menu > a:hover,
.panel-grup > summary:hover,
.panel-grup[open] > summary { color: #fff; background: rgba(255, 255, 255, .08); }

.panel-ust .panel-menu > a.aktif,
.panel-grup.aktif > summary { color: #fff; box-shadow: inset 0 -2px 0 var(--altin); }

.panel-acilir {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 50;
    min-width: 210px;
    padding: 6px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(20, 33, 58, .22);
}

.panel-ust .panel-acilir a {
    display: block;
    margin: 0;
    padding: 8px 12px;
    border-radius: 6px;
    color: var(--lacivert);
    white-space: nowrap;
}

.panel-ust .panel-acilir a:hover { background: #eef2f8; color: var(--lacivert); }
.panel-ust .panel-acilir a.aktif { background: #e8eef7; font-weight: 700; }

.panel-ust .panel-menu > a.panel-cikis { margin-left: 10px; opacity: .85; }

/* --- Haber listesinde toplu secim ----------------------------------------- */

.toplu-cubuk {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding: 12px 18px;
    margin-bottom: 12px;
    position: sticky;
    top: 0;
    z-index: 20;
}

.toplu-hepsi { display: flex; align-items: center; gap: 8px; font-weight: 600; cursor: pointer; }
.dugme[disabled] { opacity: .45; cursor: not-allowed; }

.haber-satiri.secilebilir { grid-template-columns: auto 1fr auto; }
.toplu-sec, .toplu-hepsi input { width: 18px; height: 18px; margin: 3px 0 0; cursor: pointer; }

@media (max-width: 640px) {
    .haber-satiri.secilebilir { grid-template-columns: auto 1fr; }
    .haber-satiri.secilebilir .satir-islem { grid-column: 1 / -1; }
}

/* --- Gunluk isler --------------------------------------------------------- */

.gunluk-ozet {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.gunluk-ozet .kutu { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.gunluk-ozet .sayi { font-size: 2rem; font-weight: 700; color: var(--lacivert); line-height: 1; }
.gunluk-ozet .sayi.sifir { color: var(--metin-soluk); }
.gunluk-ozet .islemler { display: flex; gap: 8px; flex-wrap: wrap; margin-top: auto; }

.gunluk-liste { list-style: none; margin: 0; padding: 0; }

.gunluk-is {
    display: grid;
    grid-template-columns: 26px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 12px 0;
    border-top: 1px solid var(--cizgi);
}

.gunluk-is:first-child { border-top: 0; }
.gunluk-is .ad { font-weight: 600; }
.gunluk-is .ipucu { margin: 2px 0 0; }
.gunluk-is .sonuc { margin: 4px 0 0; font-size: .92rem; }
.gunluk-is .sonuc.tamam { color: var(--yesil); }
.gunluk-is .sonuc.hata { color: var(--kirmizi); }
.gunluk-is .isaret { font-size: 1.1rem; text-align: center; color: var(--metin-soluk); }
.gunluk-is form { margin: 0; }

@media (max-width: 640px) {
    .gunluk-is { grid-template-columns: 26px 1fr; }
    .gunluk-is form { grid-column: 2; }
}

/* --- Ziyaretci raporu ----------------------------------------------------- */

.rapor-secim { margin-top: 16px; display: flex; flex-direction: column; gap: 12px; }
.rapor-ozel { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 0; }
.rapor-ozel input[type=date] { padding: 7px 9px; border: 1px solid var(--cizgi); border-radius: 7px; font: inherit; }
.rapor-secim-alt { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: .92rem; }

.rapor-baslik { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.rapor-baslik h2 { margin: 0 0 8px; }

.degisim { font-size: .84rem; color: var(--metin-soluk); }
.degisim small { font-size: .78rem; }
.degisim-iyi { color: var(--yesil); }
.degisim-kotu { color: var(--kirmizi); }

.rapor-simdi { margin: 0; padding-left: 22px; }
.rapor-simdi li { margin: 4px 0; }
.rapor-simdi .ipucu { margin-left: 6px; }

.rapor-grafik { width: 100%; height: auto; display: block; }
.rapor-grafik .izgara { stroke: var(--cizgi); stroke-width: 1; }
.rapor-grafik .eksen { font-size: 12px; fill: var(--metin-soluk); }
.rapor-grafik .cubuk-g { fill: #c9d6ea; }
.rapor-grafik g:hover .cubuk-g { fill: var(--altin); }
.rapor-grafik .cizgi-z { fill: none; stroke: var(--lacivert); stroke-width: 2.5; }
.rapor-grafik .nokta-z { fill: var(--lacivert); }
.rapor-lejant { display: flex; align-items: center; gap: 6px; margin-bottom: 0; }
.lejant-g, .lejant-z { display: inline-block; width: 14px; height: 10px; border-radius: 2px; background: #c9d6ea; }
.lejant-z { height: 3px; background: var(--lacivert); margin-left: 10px; }

.sekmeler-kucuk { margin: 6px 0 12px; align-items: center; }
.sekmeler-kucuk a { padding: 5px 11px; font-size: .88rem; }

.tablo-kaydir { overflow-x: auto; }
.rapor-tablo td { vertical-align: top; }
.rapor-alt { display: flex; gap: 8px; flex-wrap: wrap; font-size: .82rem; color: var(--metin-soluk); margin-top: 3px; }
.rapor-cubuk { height: 4px; background: #eef2f8; border-radius: 2px; margin-top: 6px; overflow: hidden; }
.rapor-cubuk span { display: block; height: 100%; background: var(--vurgu); }

.dugme-kucuk { padding: 5px 10px; font-size: .84rem; white-space: nowrap; }

.isi-haritasi { border-collapse: separate; border-spacing: 2px; font-size: .74rem; }
.isi-haritasi th { color: var(--metin-soluk); font-weight: 500; padding: 0 3px; text-align: left; }
.isi-haritasi td { width: 18px; height: 18px; border-radius: 3px; background: #f3f5f9; }

.cihaz-izgara { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.cihaz-izgara h3 { font-size: .92rem; margin: 0 0 8px; }
.cihaz-satir { display: grid; grid-template-columns: 1fr auto; gap: 2px 8px; font-size: .9rem; margin-bottom: 8px; }
.cihaz-satir .rapor-cubuk { grid-column: 1 / -1; margin-top: 0; }

@media (max-width: 760px) {
    .cihaz-izgara { grid-template-columns: 1fr; }
}
.rapor-tablo td:nth-child(2) { min-width: 340px; width: 45%; }
.rapor-tablo th { white-space: nowrap; }
.rapor-grafik .eksen { paint-order: stroke; stroke: #fff; stroke-width: 3px; }
