 

/* ====================================================
   GENEL AYARLAR & DEĞİŞKENLER (Auth Sayfaları)
   ==================================================== */
:root {
    --navy: #2e3192;
    --navy-dark: #1e2070;
    --navy-deep: #12144f;
    --navy-black: #0a0b2e;
    --gold: #d4a537;
    --gold-light: #e8c063;
    --gold-dark: #b8892a;
    --white: #ffffff;
    --off-white: #f7f8fc;
    --gray: #6b7085;
    --gray-light: #eef0f7;
    --line: #e3e6f0;
    --danger: #e04a3a;
    --success: #2ea86b;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: 'Barlow', sans-serif;
    background: var(--off-white);
    color: var(--navy-black);
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
}
.oswald { font-family: 'Oswald', sans-serif; }
.condensed { font-family: 'Barlow Condensed', sans-serif; }

/* ====================================================
   ORTAK BİLEŞENLER (Profil, Ayarlar, Admin, vs.)
   ==================================================== */
.ust-sidebar { position: sticky; top: 100px; }

.ust-nav-label {
    font-size: 10px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .07em; color: #91a1b6; padding: 0 10px 10px;
}
.ust-nav-item {
    display: flex; align-items: center; gap: 10px; width: 100%;
    text-align: left; background: none; border: none;
    padding: 10px 12px; border-radius: 6px; font-size: 13px;
    font-weight: 600; color: #283c50; margin-bottom: 4px;
}
.ust-nav-item:hover { background: #f2f3f8; }
.ust-nav-item.aktif { background: #ebeefa; color: #3454d1; }

.ust-section { display: none; }
.ust-section.aktif { display: block; }

.ust-card {
    background: #fff; border-radius: 10px;
    border: 1px solid #e5e7eb; box-shadow: 0 1px 3px 0 rgba(0,0,0,.06);
    margin-bottom: 24px;
}
.ust-card-header {
    display: flex; align-items: center; gap: 14px;
    padding: 20px 24px; border-bottom: 1px solid #e5e7eb;
}
.ust-card-header-icon {
    width: 44px; height: 44px; border-radius: 10px;
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.ust-card-header-icon i { font-size: 20px; }
.ust-card-header h5 { margin: 0; font-size: 15px; font-weight: 700; color: #283c50; }
.ust-card-header p { margin: 2px 0 0; font-size: 12px; color: #91a1b6; }
.ust-card-body { padding: 24px; }

.ust-form-row { display: flex; gap: 16px; margin-bottom: 16px; flex-wrap: wrap; }
.ust-form-col { flex: 1; min-width: 200px; }
.ust-form-col-full { flex: 0 0 100%; }

.ust-label {
    display: block; font-size: 12px; font-weight: 600;
    color: #283c50; margin-bottom: 6px;
}
.ust-label .req { color: #ea4d4d; }
.ust-label .opt { color: #91a1b6; font-weight: 400; font-size: 11px; }

.ust-input-group { position: relative; display: flex; align-items: center; }
.ust-input-group-icon {
    position: absolute; left: 12px; color: #91a1b6; font-size: 14px;
}
.ust-input {
    width: 100%; padding: 10px 12px 10px 36px;
    border: 1px solid #e5e7eb; border-radius: 6px;
    font-size: 13px; color: #283c50;
}
.ust-input:focus { outline: 0; border-color: #3454d1; }
.ust-input.has-suffix { padding-right: 40px; }
.ust-input-group-suffix { position: absolute; right: 6px; }

.ust-pw-toggle {
    border: none; background: transparent; color: #91a1b6; padding: 4px 8px;
}
.ust-save-btn {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 10px 18px; border-radius: 6px; border: none;
    background: #3454d1; color: #fff; font-weight: 600; font-size: 13px;
    cursor: pointer; text-decoration: none;
}
.ust-save-btn:hover { background: #2843b0; color: #fff; }

.ust-pw-strength { display: flex; gap: 6px; align-items: center; }
.ust-pw-bar {
    height: 4px; flex: 1; background: #e9ecef; border-radius: 4px;
    transition: all .3s ease;
}
.ust-pw-bar.dolu-1 { background: #dc3545; }
.ust-pw-bar.dolu-2 { background: #ffc107; }
.ust-pw-bar.dolu-3 { background: #17a2b8; }
.ust-pw-bar.dolu-4 { background: #28a745; }
.ust-pw-str-text {
    font-size: 12px; font-weight: 600; min-width: 70px;
    text-align: right; color: #6c757d;
}

/* ---- Admin Kullanıcılar (btn-tbl) ---- */
.search-box {
    display: flex; align-items: center;
    border: 1.5px solid #e5e7eb; border-radius: 50px;
    padding: 0 12px; gap: 8px;
    transition: all .2s; flex: 1;
    min-width: 140px; max-width: 280px;
    background: #fff; position: relative;
}
.search-box:focus-within {
    border-color: #3454d1; box-shadow: 0 0 0 3px rgba(52,84,209,.1);
}
.search-box input {
    border: none; outline: none; background: transparent;
    font-size: 13px; color: #283c50; width: 100%; padding: 6px 0;
}
.search-box input::placeholder { color: #91a1b6; }
.search-ico { color: #91a1b6; font-size: 15px; flex-shrink: 0; }
.search-clear { color: #91a1b6; text-decoration: none; font-size: 16px; line-height: 1; }
.search-clear:hover { color: #ea4d4d; }

.role-badge {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 5px 10px; border-radius: 20px; font-size: 11px; font-weight: 700;
}
.role-badge i { font-size: 12px; }
.role-badge-admin { background: #e1fbed; color: #17c666; }
.role-badge-user { background: #ebeefa; color: #3454d1; }

.btn-tbl {
    width: 30px; height: 30px; border-radius: 6px;
    border: 1px solid #dcdee4; background: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    cursor: pointer; font-size: 13px; color: #283c50;
    transition: all .15s; text-decoration: none;
}
.btn-tbl-duzenle:hover { background: #ebeefa; color: #3454d1; border-color: #3454d1; }
.btn-tbl-sil:hover { background: #fdeded; color: #ea4d4d; border-color: #ea4d4d; }
.btn-tbl-pdf:hover { background: #eafaf0; color: #17c666; border-color: #17c666; }
.btn-tbl-foto:hover { background: #fff7e6; color: #ffa21d; border-color: #ffa21d; }

/* ---- Cari, Tamir, Teknik Servis, Kantar Kontrol (Ortak Liste) ---- */
.hb-list { display: flex; flex-direction: column; gap: 10px; }
.hb-card {
    background: #fff; border: 1px solid #e5e7eb; border-radius: 10px;
    padding: 12px 16px; display: flex; align-items: center; gap: 14px;
    transition: border-color .2s, box-shadow .2s, opacity .3s, transform .3s;
    position: relative;
}
.hb-card:hover { border-color: #c6cff2; box-shadow: 0 3px 12px rgba(52,84,209,.08); }
.hb-card.hb-card-cikiyor { opacity: 0; transform: translateX(20px); }

.hb-thumb-placeholder {
    width: 42px; height: 42px; border-radius: 8px;
    background: #ebeefa; display: flex; align-items: center;
    justify-content: center; flex-shrink: 0; color: #3454d1; font-size: 18px;
}
.hb-body { flex: 1; min-width: 0; }
.hb-headline {
    font-size: 14px; font-weight: 700; color: #283c50;
    line-height: 1.4; margin-bottom: 4px;
}
.hb-meta {
    display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
}
.hb-meta-item {
    font-size: 12px; color: #91a1b6; display: flex; align-items: center; gap: 4px;
}
.hb-actions { display: flex; gap: 5px; flex-shrink: 0; }

.hb-pagination {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 10px; margin-top: 1.25rem;
    padding-top: 1rem; border-top: 1px solid #e5e7eb;
}
.hb-page-info { font-size: 13px; color: #91a1b6; }

.hb-empty {
    text-align: center; padding: 3rem 1rem; color: #91a1b6;
}
.hb-empty i { font-size: 40px; display: block; margin-bottom: 10px; }

/* ---- Durum Sekmeleri (Tamir, Teknik Servis, Kantar Kontrol) ---- */
.ts-tabs {
    display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 14px;
}
.ts-tab {
    border: 1px solid #e5e7eb; background: #fff; color: #64748b;
    font-size: 12px; font-weight: 600; padding: 7px 14px;
    border-radius: 8px; cursor: pointer; display: inline-flex;
    align-items: center; gap: 6px; transition: all .15s;
}
.ts-tab:hover { border-color: #3454d1; }
.ts-tab-count {
    background: #f1f2f6; color: #64748b; font-size: 10px; font-weight: 700;
    padding: 1px 6px; border-radius: 20px; min-width: 18px; text-align: center;
}
.ts-tab-aktif {
    background: #3454d1; border-color: #3454d1; color: #fff;
}
.ts-tab-aktif .ts-tab-count { background: rgba(255,255,255,.25); color: #fff; }

/* ---- Durum Modalı (Tamir, Teknik Servis) ---- */
.durum-secenekleri { display: flex; flex-direction: column; gap: 8px; }
.durum-secenek {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 12px; border: 1.5px solid #e5e7eb;
    border-radius: 8px; cursor: pointer; transition: all .15s;
}
.durum-secenek:hover { border-color: #c6cff2; background: #f8f9fd; }
.durum-secenek input { display: none; }
.durum-radio-visual {
    width: 18px; height: 18px; border-radius: 50%;
    border: 2px solid #cbd3e1; flex-shrink: 0; position: relative;
}
.durum-secenek input:checked + .durum-radio-visual { border-color: #3454d1; }
.durum-secenek input:checked + .durum-radio-visual::after {
    content: ''; position: absolute; inset: 3px;
    background: #3454d1; border-radius: 50%;
}
.durum-secenek-iptal:has(input:checked) {
    border-color: #ea4d4d; background: #fdeded;
}
.durum-secenek-iptal input:checked + .durum-radio-visual { border-color: #ea4d4d; }
.durum-secenek-iptal input:checked + .durum-radio-visual::after { background: #ea4d4d; }

.ts-modal-backdrop {
    display: none; position: fixed; inset: 0;
    background: rgba(15,23,42,.5); z-index: 1000;
    align-items: center; justify-content: center; padding: 16px;
}
.ts-modal-backdrop.ts-modal-acik { display: flex; }
.ts-modal {
    background: #fff; border-radius: 12px; width: 100%;
    max-width: 420px; box-shadow: 0 20px 50px rgba(0,0,0,.25);
}
.ts-modal-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 16px 18px; border-bottom: 1px solid #eef0f4;
}
.ts-modal-header h5 {
    margin: 0; font-size: 15px; font-weight: 700; color: #283c50;
}
.ts-modal-close {
    border: none; background: none; font-size: 22px; line-height: 1;
    cursor: pointer; color: #91a1b6; padding: 0;
}
.ts-modal-close:hover { color: #ea4d4d; }
.ts-modal-body { padding: 18px; }
.ts-modal-footer {
    display: flex; justify-content: flex-end; gap: 8px;
    padding: 14px 18px; border-top: 1px solid #eef0f4;
}

/* ====================================================
   FİLTRE ALANI (Kantar Kontrol, Tamir, Teknik Servis)
   ==================================================== */
.ts-filtre-kart {
    border: 1px solid #e5e7eb !important;
    background: linear-gradient(180deg,#fbfcfe,#f6f8fb) !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 3px rgba(15,23,42,.04);
}
#filtreForm { gap: 14px !important; padding: 4px 2px; }

.ts-filtre-alan {
    display: flex; flex-direction: column; gap: 3px;
}
.ts-filtre-etiket {
    font-size: 10.5px; font-weight: 700; color: #8892a6;
    text-transform: uppercase; letter-spacing: .3px; padding-left: 2px;
}

#perPage {
    border: 1.5px solid #e5e7eb !important;
    border-radius: 10px !important; background: #fff !important;
    font-weight: 600 !important; color: #989898 !important;
    width: 68px !important; padding: 7px 8px !important;
    cursor: pointer; transition: border-color .15s;
}
#perPage:hover, #perPage:focus { border-color: #3454d1 !important; }

/* ----------------------------------------------------------------------
   TARİH ARALIĞI ALANI — TEK, BİRLEŞİK VE HER PLATFORMDA TUTARLI YAPI
   ---------------------------------------------------------------------- */
.ts-tarih-kutu {
    display: flex; align-items: center; gap: 6px;
    border: 1.5px solid #e5e7eb; background: #fff;
    border-radius: 50px; padding: 4px 6px 4px 14px;
    transition: border-color .15s, box-shadow .15s;
}
.ts-tarih-kutu:focus-within {
    border-color: #3454d1; box-shadow: 0 0 0 3px rgba(52,84,209,.1);
}
.ts-tarih-kutu i { color: #91a1b6; font-size: 14px; flex-shrink: 0; }

.ts-tarih-alan {
    position: relative;
    display: flex; align-items: center;
    flex: 1 1 0; min-width: 0; height: 26px;
}

.ts-tarih-alan input[type="date"] {
    position: absolute; inset: 0; width: 100%; height: 100%;
    border: none !important; background: transparent !important;
    padding: 0 !important; margin: 0; min-width: 0;
    opacity: 0 !important;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    z-index: 2;
}
.ts-tarih-alan input[type="date"]::-webkit-calendar-picker-indicator {
    position: absolute; inset: 0; width: 100%; height: 100%;
    margin: 0; padding: 0; opacity: 0; cursor: pointer;
}

.ts-tarih-deger {
    position: relative; z-index: 1; pointer-events: none;
    display: block; width: 100%;
    font-size: 12.5px; font-weight: 600; color: #283c50;
    padding: 6px 4px; white-space: nowrap;
    overflow: hidden; text-overflow: ellipsis;
}
.ts-tarih-deger.ts-tarih-bos { color: #a9b3c4; font-weight: 500; }

.ts-tarih-ayrac { color: #c2cad9; font-weight: 700; font-size: 12px; flex-shrink: 0; }

.ts-tarih-temizle {
    display: inline-flex; align-items: center; justify-content: center;
    width: 26px; height: 26px; border-radius: 50%;
    color: #91a1b6; flex-shrink: 0; text-decoration: none;
    transition: all .15s;
}
.ts-tarih-temizle:hover { background: #fdeded; color: #ea4d4d; }

/* ====================================================
   PDF/TOAST/ÖNİZLEME ORTAK
   ==================================================== */
.pdf-durum-toast {
    position: fixed; top: 18px; left: 50%; z-index: 99999;
    max-width: 320px; background: #fff; border-radius: 10px;
    box-shadow: 0 10px 28px rgba(0,0,0,.16);
    padding: 10px 16px; border-left: 4px solid #3454d1;
    display: none; align-items: center; gap: 10px;
    opacity: 0; transform: translateX(-50%) translateY(-8px);
    transition: opacity .18s ease, transform .18s ease;
    font-family: Arial, Helvetica, sans-serif;
}
.pdf-durum-toast.pdf-durum-toast-acik {
    display: flex; opacity: 1; transform: translateX(-50%) translateY(0);
}
.pdf-durum-toast.pdf-durum-toast-hata { border-left-color: #ea4d4d; }
.pdf-durum-toast-icon {
    flex-shrink: 0; width: 16px; height: 16px;
    display: flex; align-items: center; justify-content: center;
}
.pdf-mini-spinner {
    width: 15px; height: 15px;
    border: 2.5px solid #dbe6f6; border-top-color: #3454d1;
    border-radius: 50%; animation: pdfSpin .8s linear infinite;
}
.pdf-durum-toast span {
    font-size: 12.5px; font-weight: 600; color: #283c50; line-height: 1.4;
}
.pdf-durum-toast-kapat {
    margin-left: 2px; border: none; background: none; color: #91a1b6;
    font-size: 17px; line-height: 1; cursor: pointer; padding: 0; flex-shrink: 0;
}
.pdf-durum-toast-kapat:hover { color: #283c50; }
@keyframes pdfSpin { to { transform: rotate(360deg); } }

.pdf-onizleme-backdrop {
    display: none; position: fixed; inset: 0;
    background: rgba(15,23,42,.55); z-index: 9000;
    align-items: center; justify-content: center; padding: 16px;
}
.pdf-onizleme-backdrop.pdf-onizleme-acik { display: flex; }
.pdf-onizleme-kutu {
    background: #fff; border-radius: 10px; width: 100%;
    max-width: 900px; height: 90vh; display: flex;
    flex-direction: column; overflow: hidden;
    box-shadow: 0 20px 50px rgba(0,0,0,.3);
}
.pdf-onizleme-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 14px; border-bottom: 1px solid #eef0f4;
    font-size: 14px; font-weight: 700; color: #283c50;
}
.pdf-onizleme-aksiyonlar { display: flex; align-items: center; gap: 6px; }
.pdf-onizleme-kapat {
    border: none; background: none; font-size: 22px; line-height: 1;
    cursor: pointer; color: #91a1b6; padding: 0 4px;
}
.pdf-onizleme-kapat:hover { color: #ea4d4d; }
.pdf-onizleme-iframe { flex: 1; border: none; width: 100%; }

/* ====================================================
   AUTH SAYFALARI ORTAK (Login, Register, Forgot)
   ==================================================== */
.auth-wrapper { display: flex; min-height: 100vh; }

.auth-brand-panel {
    flex: 0 0 46%;
    background: linear-gradient(135deg, var(--navy-deep) 0%, var(--navy) 55%, var(--navy-dark) 100%);
    position: relative; overflow: hidden;
    display: flex; flex-direction: column;
    justify-content: center; align-items: center;
    padding: 3rem; color: var(--white);
}
.auth-brand-panel::before {
    content: '';
    position: absolute; inset: 0;
    background-image:
        linear-gradient(rgba(212, 165, 55, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(212, 165, 55, 0.05) 1px, transparent 1px);
    background-size: 48px 48px;
    pointer-events: none;
}

.brand-orb {
    position: absolute; border-radius: 50%;
    filter: blur(80px); opacity: 0.4; pointer-events: none;
}
.brand-orb-1 {
    width: 400px; height: 400px; background: #f7f8fc;
    top: -120px; right: -120px; opacity: 0.18;
}
.brand-orb-2 {
    width: 320px; height: 320px; background: var(--navy);
    bottom: -100px; left: -100px; opacity: 0.5;
}

.brand-geo {
    position: absolute; border: 1px solid rgb(255 255 255 / 25%);
    transform: rotate(45deg); pointer-events: none;
}
.brand-geo-1 { width: 140px; height: 140px; top: 18%; right: 8%; }
.brand-geo-2 {
    width: 60px; height: 60px; top: 24%; right: 14%;
    background: rgb(196 196 196 / 12%);
}
.brand-geo-3 {
    width: 90px; height: 90px; bottom: 22%; left: 6%;
    border-color: rgba(255,255,255,0.1);
}

.brand-logo {
    display: flex; align-items: center; justify-content: center;
    gap: 1rem; position: relative; z-index: 3;
}
.brand-logo img { max-width: 260px; height: auto; }
.brand-middle {
    position: relative; z-index: 3; padding: 2rem 0;
    display: flex; align-items: center; justify-content: center; width: 100%;
}

.auth-form-panel {
    flex: 1; display: flex; align-items: center; justify-content: center;
    padding: 3rem 2rem; position: relative;
}
.auth-form-panel::before {
    content: '';
    position: absolute; top: 0; right: 0;
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(46, 49, 146, 0.04), transparent 70%);
    pointer-events: none;
}

.auth-card { width: 100%; max-width: 440px; position: relative; z-index: 2; }
.auth-header { margin-bottom: 2rem; }

.auth-welcome {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.85rem; font-weight: 600; letter-spacing: 3px;
    text-transform: uppercase; color: var(--gold-dark);
    margin-bottom: 0.5rem; display: flex; align-items: center; gap: 0.6rem;
}
.auth-welcome::before { content: ''; width: 24px; height: 2px; background: var(--gold); }

.auth-title {
    font-family: 'Oswald', sans-serif; font-size: 2rem; font-weight: 600;
    color: var(--navy-black); text-transform: uppercase;
    letter-spacing: 0.5px; line-height: 1.15;
}
.auth-subtitle {
    font-size: 0.95rem; color: var(--gray); margin-top: 0.5rem; line-height: 1.5;
}

.form-label-custom {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.82rem; font-weight: 600; letter-spacing: 1.5px;
    text-transform: uppercase; color: var(--navy-dark); margin-bottom: 0.5rem;
}

.input-group-custom { position: relative; }
.input-group-custom .input-icon {
    position: absolute; left: 1.1rem; top: 50%;
    transform: translateY(-50%); color: var(--gray);
    font-size: 1rem; z-index: 5; pointer-events: none;
}
.form-control-custom {
    width: 100%; padding: 0.95rem 3rem 0.95rem 3rem;
    font-size: 0.95rem; font-family: 'Barlow', sans-serif;
    color: var(--navy-black); background: var(--white);
    border: 1.5px solid var(--line); border-radius: 6px;
    transition: all 0.3s ease; height: auto;
}
.form-control-custom::placeholder { color: #b4b8c8; font-weight: 400; }
.form-control-custom:focus {
    outline: none; border-color: var(--navy);
    box-shadow: 0 0 0 4px rgba(46, 49, 146, 0.1);
}
.form-control-custom.is-invalid { border-color: var(--danger); }

.toggle-password {
    position: absolute; right: 0.9rem; top: 50%; transform: translateY(-50%);
    background: transparent; border: none; color: var(--gray);
    cursor: pointer; padding: 0.3rem; font-size: 1rem; z-index: 5;
}
.toggle-password:hover { color: var(--navy); }

.invalid-feedback-custom {
    font-size: 0.8rem; color: var(--danger); margin-top: 0.4rem;
    display: flex; align-items: center; gap: 0.3rem;
}

.form-options {
    display: flex; justify-content: space-between; align-items: center;
    margin: 0.5rem 0 1.5rem; flex-wrap: wrap; gap: 0.5rem;
}
.form-check-custom {
    display: flex; align-items: center; gap: 0.6rem;
    cursor: pointer; user-select: none;
}
.form-check-custom input { position: absolute; opacity: 0; cursor: pointer; }
.checkmark {
    width: 20px; height: 20px; background: var(--white);
    border: 1.5px solid var(--line); border-radius: 4px;
    display: flex; align-items: center; justify-content: center;
    transition: all 0.25s; flex-shrink: 0;
}
.checkmark i {
    font-size: 0.75rem; color: var(--white);
    opacity: 0; transform: scale(0.5); transition: all 0.25s;
}
.form-check-custom input:checked ~ .checkmark {
    background: var(--navy); border-color: var(--navy);
}
.form-check-custom input:checked ~ .checkmark i {
    opacity: 1; transform: scale(1);
}
.form-check-custom .check-label {
    font-size: 0.88rem; color: var(--gray); font-weight: 500;
}

.forgot-link {
    font-size: 0.88rem; color: var(--navy); text-decoration: none;
    font-weight: 600; display: inline-flex; align-items: center; gap: 0.3rem;
}
.forgot-link:hover { color: var(--gold-dark); }

.btn-login {
    width: 100%; padding: 1rem; background: var(--navy);
    color: var(--white); border: none; border-radius: 6px;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 1.05rem; font-weight: 700; letter-spacing: 2px;
    text-transform: uppercase; cursor: pointer;
    transition: all 0.35s ease;
    display: flex; align-items: center; justify-content: center; gap: 0.7rem;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%);
}
.btn-login:hover {
    background: var(--navy-dark); transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(46, 49, 146, 0.35);
}

.auth-divider {
    display: flex; align-items: center; gap: 1rem;
    margin: 1.8rem 0; color: var(--gray);
    font-size: 0.8rem; letter-spacing: 1px; text-transform: uppercase;
}
.auth-divider::before,
.auth-divider::after { content: ''; flex: 1; height: 1px; background: var(--line); }

.auth-footer {
    margin-top: 2rem; text-align: center;
    font-size: 0.8rem; color: var(--gray);
}
.auth-footer a { color: var(--navy); text-decoration: none; font-weight: 600; }
.auth-footer a:hover { text-decoration: underline; }

.alert-custom {
    display: flex; align-items: center; gap: 0.7rem;
    padding: 0.9rem 1.1rem; border-radius: 6px;
    font-size: 0.88rem; margin-bottom: 1.3rem; border: 1px solid;
}
.alert-custom.alert-error {
    background: #fdeeec; border-color: #f5c6c0; color: var(--danger);
}
.alert-custom.alert-success {
    background: #e9f7f0; border-color: #bfe8d4; color: var(--success);
}

/* ====================================================
   DASHBOARD (Benzersiz)
   ==================================================== */
.dashboard-container {
    max-width: 1440px; margin: 0 auto;
    padding: 8px 12px 20px; background: #f0f4fb;
    min-height: calc(100vh - 120px);
}
.greeting-glass {
    position: relative; border-radius: 24px; padding: 32px 36px;
    margin-bottom: 32px; overflow: hidden;
    background: linear-gradient(135deg, #1a2332 0%, #2c3e6b 50%, #1a2332 100%);
    box-shadow: 0 20px 60px rgba(26, 35, 50, 0.25);
}
.greeting-glass-bg {
    position: absolute; top: -50%; right: -10%;
    width: 400px; height: 400px;
    background: radial-gradient(circle, rgba(255,255,255,0.06) 0%, transparent 70%);
    border-radius: 50%; pointer-events: none;
}
.greeting-glass-bg::after {
    content: ''; position: absolute; bottom: -30%; left: 20%;
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(52, 84, 209, 0.15) 0%, transparent 70%);
    border-radius: 50%;
}
.greeting-content {
    position: relative; z-index: 2;
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 20px;
}
.greeting-left {
    display: flex; align-items: center; gap: 20px;
}
.greeting-avatar {
    width: 58px; height: 58px; border-radius: 18px;
    background: rgba(255,255,255,0.12); backdrop-filter: blur(10px);
    border: 2px solid rgba(255,255,255,0.15);
    display: flex; align-items: center; justify-content: center;
    font-size: 24px; font-weight: 700; color: #fff;
    box-shadow: 0 8px 24px rgba(0,0,0,0.2);
}
.greeting-left h1 {
    color: #fff; font-size: 22px; font-weight: 500;
    margin: 0 0 4px 0; letter-spacing: -0.2px;
}
.greeting-left h1 strong {
    font-weight: 700;
    background: linear-gradient(135deg, #f0f4ff, #a8c0ff);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.greeting-left p {
    color: rgba(255,255,255,0.7); font-size: 13px;
    margin: 0; letter-spacing: 0.3px;
}
.greeting-right {
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.glass-chip {
    display: flex; align-items: center; gap: 8px;
    padding: 10px 18px; background: rgba(255,255,255,0.08);
    backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,0.08);
    border-radius: 40px; color: rgba(255,255,255,0.9);
    font-size: 13px; font-weight: 500; transition: all 0.3s;
}
.glass-chip i { font-size: 15px; opacity: 0.7; }

.stats-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 18px; margin-bottom: 32px;
}
.stat-item {
    position: relative; padding: 22px 24px; border-radius: 18px;
    text-decoration: none; color: #fff;
    display: flex; align-items: center; gap: 16px;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    overflow: hidden; isolation: isolate; cursor: pointer;
}
.stat-item::before {
    content: ''; position: absolute; inset: 0; border-radius: 18px;
    opacity: 1; transition: all 0.4s; z-index: 0;
}
.stat-item:hover {
    transform: translateY(-6px) scale(1.01);
    box-shadow: 0 20px 40px rgba(0,0,0,0.18); color: #fff;
}
.stat-item:hover .stat-trend { transform: translateX(4px); }

.stat-icon-wrapper {
    position: relative; z-index: 1; width: 48px; height: 48px;
    border-radius: 14px; background: rgba(255,255,255,0.18);
    backdrop-filter: blur(4px); display: flex; align-items: center;
    justify-content: center; font-size: 20px; flex-shrink: 0;
}
.stat-info { position: relative; z-index: 1; flex: 1; }
.stat-number {
    display: block; font-size: 28px; font-weight: 800;
    line-height: 1.1; letter-spacing: -0.5px;
}
.stat-label {
    display: block; font-size: 11px; font-weight: 600;
    opacity: 0.8; text-transform: uppercase; letter-spacing: 0.5px;
    margin-top: 2px;
}
.stat-trend {
    position: relative; z-index: 1; width: 32px; height: 32px;
    border-radius: 10px; background: rgba(255,255,255,0.12);
    display: flex; align-items: center; justify-content: center;
    font-size: 14px; transition: all 0.3s; flex-shrink: 0;
}
.stat-spark {
    position: absolute; bottom: 0; right: 0; width: 80px; height: 80px;
    background: rgba(255,255,255,0.05); border-radius: 50%;
    transform: translate(30%, 30%); z-index: 0;
}
.stat-spark::after {
    content: ''; position: absolute; bottom: 10px; right: 10px;
    width: 40px; height: 40px; background: rgba(255,255,255,0.03);
    border-radius: 50%;
}

.stat-gradient-blue { background: linear-gradient(135deg, #2d5fcf 0%, #1a3a8a 100%); }
.stat-gradient-green { background: linear-gradient(135deg, #0f9d58 0%, #0a6e3d 100%); }
.stat-gradient-orange { background: linear-gradient(135deg, #e68a2e 0%, #b05e1a 100%); }
.stat-gradient-red { background: linear-gradient(135deg, #d14c4c 0%, #9a2e2e 100%); }
.stat-gradient-cyan { background: linear-gradient(135deg, #1b9bb0 0%, #0f6372 100%); }
.stat-gradient-purple { background: linear-gradient(135deg, #7c4fd0 0%, #4f2d8a 100%); }

.quick-actions-grid {
    display: grid; grid-template-columns: repeat(6, 1fr);
    gap: 14px; margin-bottom: 28px;
}
.quick-action-card {
    display: flex; align-items: center; gap: 12px;
    padding: 16px 34px; background: #ffffff; border-radius: 14px;
    border: 1px solid #eef1f5; text-decoration: none;
    color: #1a2332;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
}
.quick-action-card:hover {
    transform: translateY(-3px); box-shadow: 0 10px 28px rgba(0,0,0,0.08);
    border-color: transparent; color: #1a2332; text-decoration: none;
}
.quick-action-icon {
    width: 42px; height: 42px; border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    font-size: 18px; flex-shrink: 0; transition: all 0.3s;
}
.quick-action-card:hover .quick-action-icon { transform: scale(1.05); }
.quick-action-info { flex: 1; min-width: 0; }
.quick-action-label {
    display: block; font-size: 12px; font-weight: 700;
    color: #1a2332; line-height: 1.2;
}
.quick-action-sub {
    display: block; font-size: 10px; font-weight: 500;
    color: #7a8a9e; margin-top: 1px;
}
.quick-action-badge {
    font-size: 9px; font-weight: 700; padding: 3px 10px;
    background: #f0f4fb; color: #6b7a8f; border-radius: 40px;
    text-transform: uppercase; letter-spacing: 0.3px;
    white-space: nowrap; flex-shrink: 0;
}
.quick-action-card:hover .quick-action-badge { background: #e8ecf2; }

.content-grid {
    display: grid; grid-template-columns: 1fr 2fr; gap: 24px; margin-bottom: 28px;
}

.premium-card {
    background: #ffffff; border-radius: 20px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.04);
    border: 1px solid rgba(0,0,0,0.04); transition: all 0.3s; overflow: hidden;
}
.premium-card:hover { box-shadow: 0 8px 40px rgba(0,0,0,0.07); }
.premium-card-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 20px 24px 16px 24px; border-bottom: 1px solid #f0f2f5;
}
.header-left {
    display: flex; align-items: center; gap: 12px;
}
.header-icon {
    width: 36px; height: 36px; border-radius: 10px;
    background: #eef3fc; color: #3454d1;
    display: flex; align-items: center; justify-content: center; font-size: 16px;
}
.premium-card-header h3 {
    font-size: 15px; font-weight: 700; color: #1a2332;
    margin: 0; letter-spacing: -0.2px;
}
.header-badge {
    font-size: 10px; font-weight: 700; padding: 5px 14px;
    background: #ecf3fa; color: #3454d1; border-radius: 40px;
    text-transform: uppercase; letter-spacing: 0.3px;
}
.premium-card-body { padding: 12px 18px 18px 18px; }

.quick-body { display: flex; flex-direction: column; gap: 2px; }
.quick-link {
    display: flex; align-items: center; gap: 14px;
    padding: 11px 14px; border-radius: 12px;
    text-decoration: none; color: #2c3e50; transition: all 0.2s;
}
.quick-link:hover {
    background: #f5f8fe; color: #1a2332; text-decoration: none;
}
.quick-link-icon {
    width: 32px; height: 32px; border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    font-size: 14px; flex-shrink: 0; transition: all 0.2s;
}
.quick-link:hover .quick-link-icon { transform: scale(1.05); }
.quick-link-text { flex: 1; font-size: 13px; font-weight: 600; }
.quick-link-arrow {
    color: #c8d0dc; font-size: 14px; transition: all 0.2s;
}
.quick-link:hover .quick-link-arrow {
    color: #3454d1; transform: translateX(3px);
}

.activity-body { padding: 6px 14px 14px 14px; }
.activity-timeline { display: flex; flex-direction: column; gap: 2px; }
.activity-item {
    display: flex; gap: 16px; padding: 12px 14px;
    border-radius: 12px; text-decoration: none; color: inherit;
    transition: all 0.2s; position: relative;
}
.activity-item:hover { background: #f7f9fc; color: inherit; }
.activity-marker {
    width: 10px; min-width: 10px; height: 10px; border-radius: 50%;
    margin-top: 5px; box-shadow: 0 0 0 4px rgba(52, 84, 209, 0.08);
}
.activity-content { flex: 1; min-width: 0; }
.activity-top {
    display: flex; justify-content: space-between; align-items: center; gap: 12px;
}
.activity-title { font-size: 13px; font-weight: 700; color: #1a2332; }
.activity-time {
    font-size: 11px; color: #9aabbf; font-weight: 500; white-space: nowrap;
}
.activity-bottom { margin-top: 2px; }
.activity-type {
    font-size: 11px; color: #7a8a9e; display: flex; align-items: center; gap: 6px;
}
.activity-type i { font-size: 12px; }

.empty-state-premium {
    text-align: center; padding: 40px 20px;
}
.empty-icon-wrapper {
    width: 72px; height: 72px; border-radius: 20px;
    background: #f0f4fb; display: flex; align-items: center;
    justify-content: center; margin: 0 auto 16px; font-size: 30px;
    color: #b0c4de;
}
.empty-state-premium h4 {
    font-size: 15px; font-weight: 700; color: #1a2332;
    margin: 0 0 6px 0;
}
.empty-state-premium p { font-size: 13px; color: #7a8a9e; margin: 0; }

.bottom-section {
    display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px; margin-bottom: 28px;
}
.info-body { padding: 6px 20px 14px 20px; }
.info-row {
    display: flex; justify-content: space-between; align-items: center;
    padding: 9px 0; border-bottom: 1px solid #f5f7fa;
}
.info-row:last-child { border-bottom: none; }
.info-label { font-size: 12px; font-weight: 500; color: #6b7a8f; }
.info-value { font-size: 13px; font-weight: 600; color: #1a2332; text-align: right; }

.distribution-body { padding: 8px 20px 14px 20px; }
.distribution-item {
    display: flex; justify-content: space-between; align-items: center;
    padding: 7px 0; border-bottom: 1px solid #f5f7fa;
}
.distribution-item:last-of-type { border-bottom: none; }
.distribution-left {
    display: flex; align-items: center; gap: 10px;
}
.distribution-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.distribution-label { font-size: 12px; font-weight: 500; color: #2c3e50; }
.distribution-right {
    display: flex; align-items: center; gap: 12px;
}
.distribution-count { font-size: 13px; font-weight: 700; color: #1a2332; }
.distribution-percent {
    font-size: 10px; font-weight: 600; color: #7a8a9e;
    background: #f0f4fb; padding: 2px 10px; border-radius: 40px;
}
.distribution-total {
    display: flex; justify-content: space-between;
    padding: 12px 0 4px 0; border-top: 2px solid #f0f2f5;
    margin-top: 4px; font-size: 12px; color: #2c3e50; font-weight: 500;
}
.distribution-total strong { font-size: 15px; color: #1a2332; }

.tips-body { padding: 8px 18px 14px 18px; }
.tip-item {
    display: flex; gap: 14px; padding: 10px 0;
    border-bottom: 1px solid #f5f7fa;
}
.tip-item:last-child { border-bottom: none; }
.tip-icon {
    width: 32px; height: 32px; border-radius: 8px;
    background: #eef3fc; color: #3454d1;
    display: flex; align-items: center; justify-content: center;
    font-size: 14px; flex-shrink: 0; margin-top: 2px;
}
.tip-content { flex: 1; }
.tip-title {
    display: block; font-size: 12px; font-weight: 700; color: #1a2332;
}
.tip-desc {
    display: block; font-size: 11px; color: #7a8a9e;
    margin-top: 1px; line-height: 1.4;
}

.insight-bar {
    display: flex; align-items: center; gap: 24px;
    padding: 16px 28px; background: #ffffff; border-radius: 16px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.03);
    border: 1px solid #eef1f5; flex-wrap: wrap;
}
.insight-item {
    display: flex; align-items: center; gap: 12px;
}
.insight-icon { font-size: 18px; color: #3454d1; opacity: 0.7; }
.insight-label {
    display: block; font-size: 11px; font-weight: 600;
    color: #7a8a9e; text-transform: uppercase; letter-spacing: 0.3px;
}
.insight-value {
    display: block; font-size: 14px; font-weight: 700; color: #1a2332;
}
.insight-divider {
    width: 1px; height: 32px; background: #e8ecf2;
}

/* ====================================================
   WELCOME (Tailwind Kaldırıldı, özel stiller)
   ==================================================== */

/* ====================================================
   SIDEBAR ÖZEL
   ==================================================== */
.nxl-navbar .nxl-item.disabled .nxl-link {
    cursor: not-allowed; opacity: 0.6; user-select: none;
}
.nxl-navbar .nxl-link { display: flex; align-items: center; }
.nxl-navbar .nxl-mtext { flex: 1; }
.modern-split .split-letter {
    font-weight: 700; font-size: 16px; color: #fff; white-space: nowrap;
}

.split-left {
    background: #3454d1; width: 230px; height: 45px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 4px;
}
html.minimenu .nxl-navigation .logo-sm {
    width: 42px; display: block; transition: all .3s ease;
}

/* ====================================================
   TOAST
   ==================================================== */
.toast-container {
    position: fixed; top: 24px; right: 24px; z-index: 9999;
    display: flex; flex-direction: column; gap: 12px;
}
.toast-item {
    min-width: 320px; max-width: 380px; background: #ffffff;
    border-radius: 8px; padding: 1rem 2.6rem 1rem 1.2rem;
    box-shadow: 0 12px 34px rgba(10, 11, 46, 0.18);
    border-left: 4px solid #e04a3a;
    display: flex; align-items: flex-start; gap: 0.8rem;
    position: relative; overflow: hidden;
    animation: toastIn 0.35s ease;
    font-family: 'Barlow', sans-serif;
}
.toast-item.success { border-left-color: #2ea86b; }
.toast-item .toast-icon { font-size: 1.25rem; margin-top: 0.1rem; }
.toast-item.error .toast-icon { color: #e04a3a; }
.toast-item.success .toast-icon { color: #2ea86b; }
.toast-item .toast-text {
    flex: 1; font-size: 0.88rem; color: #0a0b2e; line-height: 1.4;
}
.toast-item .toast-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase;
    font-size: 0.78rem; margin-bottom: 0.2rem; display: block;
}
.toast-item.error .toast-title { color: #e04a3a; }
.toast-item.success .toast-title { color: #2ea86b; }
.toast-item .toast-close {
    position: absolute; top: 0.7rem; right: 0.7rem;
    background: none; border: none; color: #b4b8c8;
    cursor: pointer; font-size: 0.9rem; padding: 0.2rem;
    line-height: 1; transition: color 0.2s;
}
.toast-item .toast-close:hover { color: #6b7085; }
.toast-item .toast-progress {
    position: absolute; bottom: 0; left: 0;
    height: 3px; background: #e04a3a;
    animation: toastProgress 5s linear forwards;
}
.toast-item.success .toast-progress { background: #2ea86b; }

@keyframes toastIn {
    from { opacity: 0; transform: translateX(40px); }
    to { opacity: 1; transform: translateX(0); }
}
@keyframes toastOut {
    from { opacity: 1; transform: translateX(0); }
    to { opacity: 0; transform: translateX(40px); }
}
@keyframes toastProgress {
    from { width: 100%; }
    to { width: 0%; }
}

/* ====================================================
   ORTAK KANTAR KONTROL & TAMİR & TEKNİK SERVİS FORMLARI
   ==================================================== */
.kkf-action-bar {
    display: flex; gap: 8px; flex-wrap: wrap;
    justify-content: center; margin-bottom: 20px;
}
.kkf-btn {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 16px; border-radius: 8px; border: none;
    font-size: 12px; font-weight: 600; color: #fff;
    cursor: pointer; text-decoration: none;
    transition: all .2s ease; box-shadow: 0 2px 6px rgba(0,0,0,.08);
}
.kkf-btn:hover {
    transform: translateY(-2px); box-shadow: 0 6px 14px rgba(0,0,0,.15);
    color: #fff;
}
.kkf-btn-gray { background: #64748b; }
.kkf-btn-green { background: #17c666; }
.kkf-btn-blue { background: #3454d1; }
.kkf-btn-orange { background: #ffa21d; }
.kkf-btn-red { background: #ea4d4d; }

.kagit {
    width: 794px; max-width: 100%; margin: 0 auto; background: #fff;
    padding: 8px 10px; box-shadow: 0 4px 20px rgba(0,0,0,.15);
    color: #1e6eb8; font-family: Arial, Helvetica, sans-serif;
}
.kagit table { width: 100% !important; border-collapse: collapse !important; }
.kagit td, .kagit th {color: #1e6eb8;
    font-size: 9px; font-weight: 700; vertical-align: middle;
    padding: 3px 5px;
}
.kagit .yd, .kagit .yd td, .kagit .yd th { border: 1px solid #3f7fbf !important; }
/* Ana Gövde (.nb) içindeki gerçek veri tabloları çerçeveli kalmalı: */
.kagit .nb table.kosye, .kagit .nb table.kosye td,
.kagit .nb table.tek, .kagit .nb table.tek td,
.kagit .nb table.sira-tablosu, .kagit .nb table.sira-tablosu td, .kagit .nb table.sira-tablosu th,
.kagit .nb table.gzl, .kagit .nb table.gzl td {
    border: 1px solid #3f7fbf !important;
}
.teknikkagit td { border: 1px solid #3f7fbf !important; }
/* ----------------------------------------------------------------------
   LOGO / FOTOĞRAF ALANI (.logo-wrap) — RESPONSIVE, TÜM CİHAZLARDA
   ---------------------------------------------------------------------- */
.logo-wrap {
    display: flex; align-items: center; gap: 8px;
    min-width: 0;
}
.logo-wrap img {
    display: block;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 55px !important;
    object-fit: contain !important;
    flex-shrink: 1;
}

.logo-icon {
    position: relative; width: 34px; height: 32px; flex: 0 0 34px;
}
.logo-icon .bar-top {
    position: absolute; top: 4px; left: 0; width: 34px; height: 8px;
    background: #1667ae; border-radius: 2px; transform: rotate(-8deg);
}
.logo-icon .bar-stem {
    position: absolute; top: 6px; left: 15px; width: 8px; height: 25px;
    background: #2ba7e7; border-radius: 2px; transform: rotate(-8deg);
}
.brand {
    font-weight: bold; font-size: 22px; letter-spacing: 1px;
    color: #2ba7e7; line-height: 1;
}
.tagline { font-weight: bold; font-size: 9px; color: #1667ae; }
.addr { font-size: 8.5px; line-height: 1.5; margin-top: 4px; }
.form-title { text-align: center; font-size: 11px; letter-spacing: .5px; }
.serial {
    color: #e5352b; font-size: 16px; font-weight: bold;
    letter-spacing: 3px; text-align: center;
    font-family: 'Times New Roman', Times, serif;
}

.inline-field {
    display: flex; align-items: center; gap: 4px; width: 100%;
}
.inline-field .lbl-text { white-space: nowrap; flex: 0 0 auto; }
.inline-field input { flex: 1; min-width: 0; }

.kagit input[type="text"], .kagit input[type="number"],
.kagit input[type="date"] {
    border: none !important; border-bottom: 1px dotted transparent;
    background: transparent; color: #000;
    font-family: inherit; font-size: 10px; font-weight: 700;
    padding: 2px 0; outline: none; width: 100%;
}
.kagit input:focus {
    background: #eaf4fd; border-bottom: 1px dotted #3f7fbf !important;
}
.kagit input::placeholder { color: #a8c5e0; font-weight: normal; }

.chk-wrap {
    position: relative; display: inline-block; width: 20px; height: 20px;
    cursor: pointer; vertical-align: middle;
}
.chk-real {
    position: absolute; opacity: 0; width: 20px; height: 20px;
    margin: 0; cursor: pointer;
}
.chk-visual {
    display: inline-block; width: 20px; height: 20px;
    border: 1px solid #3f7fbf; border-radius: 3px;
    background: #fff; position: relative; box-sizing: border-box;
}
.chk-real:checked + .chk-visual::after {
    content: '✓'; position: absolute; left: 50%; top: 50%;
    transform: translate(-50%, -56%); font-size: 13px;
    font-weight: bold; color: #1e6eb8;
}

/* ---- Kantar Kontrol - Köşe Testleri ve SVG Oklar ---- */
.arrows {
    display: flex;
    justify-content: center;
    gap: 50px;
    margin: 2px 0;
}
.arr {
    width: 34px;
    height: 14px;
    flex-shrink: 0;
    display: block;
}
.flip { transform: scaleX(-1); }

table.kosye { border-collapse: collapse !important; width: 100%; }
table.kosye td {
    border: 1px solid #3f7fbf !important;
    width: 33.33%;
    height: 40px;
    padding: 3px 6px;
    vertical-align: top;
}
.k-row { display: flex; align-items: center; gap: 4px; }
.k-row.top { min-height: 16px; }
.k-row.bottom { min-height: 16px; margin-top: 0; }
.j-l { justify-content: flex-start; }
.j-c { justify-content: center; }
.j-r { justify-content: flex-end; }
.k-no { font-weight: bold; font-size: 9px; color: #1e6eb8; }
.k-kg { font-weight: bold; font-size: 8px; color: #1e6eb8; }
.kosye input {
    flex: 1; min-width: 0; text-align: right; font-size: 10px;
    border: none !important; border-bottom: 1px dotted transparent;
    background: transparent; color: #000; font-weight: 700;
    padding: 1px 2px; outline: none; width: 100%;
}
.kosye input:focus {
    background: #eaf4fd; border-bottom: 1px dotted #3f7fbf !important;
}

/* ---- Kantar Kontrol - Sol Taraf Başlıklar ---- */
.sol h4 {
    font-size: 9px !important;
    font-weight: bold;
    margin: 4px 0 3px !important;
    color: #1e6eb8;
    line-height: 1.4;
}
.sol h4.c {
    text-align: center;
    font-size: 9px !important;
     padding: 2px 4px;
    border-radius: 2px;
    margin: 8px 0 4px !important;
}
.sol h4:not(.c) {
    font-size: 9px !important;
    margin: 6px 0 2px !important;
}
.sol h4:first-child { margin-top: 0 !important; }
.sol h4:last-child { margin-top: 10px !important; font-size: 9px !important; }
.sol h4 .inline-field { font-size: 9px; }

/* ---- Tekrarlanabilirlik Testi Tablosu ---- */
table.tek { border-collapse: collapse !important; width: 100%; }
table.tek td {
    border: 1px solid #3f7fbf !important;
    padding: 2px 4px;
    font-size: 9px;
}
table.tek .inline-field {
    display: flex; align-items: center; gap: 4px; width: 100%;
}
table.tek .inline-field input {
    flex: 1; min-width: 0; text-align: right; font-size: 10px;
    border: none !important; border-bottom: 1px dotted transparent;
    background: transparent; color: #000; font-weight: 700;
    padding: 1px 2px; outline: none; width: 100%;
}
table.tek .inline-field input:focus {
    background: #eaf4fd; border-bottom: 1px dotted #3f7fbf !important;
}
table.tek .kg { font-size: 8px; color: #1e6eb8; font-weight: 700; flex-shrink: 0; }

/* ---- Sağa yaslı inputlar ---- */
.sag-yasli { text-align: right !important; }
.sag-yasli2 {
    text-align: right !important;
    padding-right: 17px !important;
    flex: 0 0 auto !important;
    width: 80px !important;
    margin-left: auto !important;
}

/* ---- Kantar Kontrol - Sıra Tablosu ---- */
.sira-tablosu { border-collapse: collapse !important; }
.sira-tablosu td, .sira-tablosu th {
    border: 1px solid #3f7fbf !important;
}
.sira-tablosu th {
    color: #1e6eb8; font-size: 9px; text-align: center;
    background: #eaf4fd; padding: 3px 2px;
}
.sira-tablosu td { text-align: center; height: 20px; font-size: 9px; }
.sira-tablosu input { text-align: right; height: 18px; font-size: 10px; font-weight: 700; }

/* ---- Müşteri Kantar Kontrol - Özel Düzenlemeler ---- */
.kagit .tag-right { text-align: right; color: #7ea6d8; font-weight: bold; font-size: 11px; }
.kagit .title-left {
    font-size: 17px; font-weight: bold; color: #1667ae;
    letter-spacing: .5px; margin: 10px 0 12px;
}
.kagit .orta-baslik {
    text-align: center; font-size: 11px; font-weight: bold;
    color: #1667ae; margin: 14px 0 2px;
}
.kagit .orta-alt {
    text-align: center; font-size: 9px; font-weight: bold;
    color: #1667ae; margin-bottom: 6px;
}
table.kosye.musteri { width: 78%; margin: 0 auto; }
table.kosye.musteri td { height: 52px; }
.kosye.musteri .k-row.top { margin-bottom: 8px; }
.kosye.musteri .k-row.bottom { margin-top: 8px; }
.kosye.musteri input { text-align: center; font-size: 11px; }
table.tek.musteri { width: 55%; margin: 6px auto 0; border-collapse: collapse !important; }
table.tek.musteri td { border: 1px solid #3f7fbf !important; height: 24px; }
.irtibat { text-align: center; font-size: 10px; font-weight: bold; line-height: 1.6; }
.form-footer {
    margin-top: 22px; border-top: 1px solid #3f7fbf;
    padding-top: 6px; text-align: center; font-size: 9px;
    font-weight: bold; line-height: 1.7;
}

/* ====================================================
   GÖZLE KONTROL ve FOTOĞRAF TABLOSU (PDF uyumlu - 3 sütunlu)
   ==================================================== */
table.gzl {
    border: 1px solid #3f7fbf !important;
    border-collapse: collapse !important;
    width: 100%;
    margin-top: 10px;
}
table.gzl td {
     padding: 4px 0px !important;
    font-size: 9px !important;
    font-weight: 700;
    color: #1e6eb8;
    vertical-align: middle;
 }
/* Başlık satırı */
table.gzl tr:first-child td {
    text-align: center;
    font-size: 10px !important;
    font-weight: 700;
    color: #1e6eb8;
     padding: 4px 6px 4px 33px !important
 }
/* Sütun genişlikleri: Her 3'lü grup (Etiket | Checkbox | Fotoğraf) */
 
/* Son satır (Damga Yılı) için sütun ayarları */
table.gzl tr:last-child td:nth-child(7) { text-align: left; width: 15%; padding-left: 8px !important; }
table.gzl tr:last-child td:nth-child(8) { text-align: center; width: 10%; }
table.gzl tr:last-child td:nth-child(9) { text-align: center; width: 11%; }

/* Checkbox - Gözle Kontrol */
table.gzl .chk-wrap {
    position: relative; display: inline-block;
    width: 22px !important; height: 22px !important;
    cursor: pointer; vertical-align: middle;
}
table.gzl .chk-real {
    position: absolute; opacity: 0;
    width: 22px !important; height: 22px !important;
    margin: 0; cursor: pointer;
}
table.gzl .chk-visual {
    display: inline-block;
    width: 30px !important; height: 22px !important;
    border: 1.5px solid #3f7fbf; border-radius: 3px;
    background: #fff; position: relative; box-sizing: border-box;
}
table.gzl .chk-real:checked + .chk-visual::after {
    content: '✓'; position: absolute; left: 25%; top: 50%;
    transform: translate(-50%, -56%); font-size: 14px;
    font-weight: bold; color: #1e6eb8; padding-left: 12px;
}
/* Damga Yılı input */
table.gzl input[type="text"] {
    border: none !important; border-bottom: 1px dotted transparent;
    background: transparent; color: #000;
    font-family: inherit; font-size: 10px !important;
    font-weight: 700; padding: 2px 4px; outline: none;
    width: 70px; text-align: center;
}
table.gzl input[type="text"]:focus {
    background: #eaf4fd; border-bottom: 1px dotted #3f7fbf !important;
}
/* ---------------------------------------------------------------------
   Fotoğraf widget — checkbox ile AYNI HÜCREDE, yan yana hizalanır.
   Eski "position: absolute; top: 100%" yaklaşımı fotoğrafı satırın
   dışına/altına taşırıyordu; bu yüzden statik + flex yapıya çevrildi.
   --------------------------------------------------------------------- */
table.gzl .foto-hucre {
    position: relative;
    display: flex;
    align-items: center;
     gap: 6px;
}
table.gzl .foto-widget {
    position: static;
    display: inline-flex;
    align-items: center;
    margin: 0;
    z-index: auto;
}
/* DÜZELTME — Fotoğraf eklenince kutunun yeri/boyutu değişmesin.
   Eskiden .foto-btn'in sabit ölçüsü YOKTU; sadece .bos (boş) hâlinde
   ölçü veriliyordu. Fotoğraf eklenince kutu resmin boyutunu alıyor,
   resim ile boş kutu farklı ölçüde olduğu için hizalama kayıyordu.
   Artık ölçü DAİMA .foto-btn üzerinde; resim kutuyu %100 doldurur. */
table.gzl .foto-btn {
    cursor: pointer; display: inline-flex;
    align-items: center; justify-content: center;
    width: 22px; height: 22px; flex: 0 0 22px;
    box-sizing: border-box; position: relative;
}
table.gzl .foto-thumb { width: 100% !important; height: 100% !important; }
table.gzl .foto-icon { font-size: 13px; line-height: 1; color: #6b93c9; }
table.gzl .foto-thumb {
    object-fit: cover; border-radius: 3px;
    border: 1px solid #3f7fbf; cursor: pointer; background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,.2);
    transition: transform .15s, box-shadow .15s;
}
table.gzl .foto-thumb:hover {
    transform: scale(1.15);
    box-shadow: 0 2px 8px rgba(52,84,209,.3);
}
/* Fotoğraf henüz yüklenmemişken (checkbox işaretli ama dosya seçilmemiş)
   gösterilen sade "ekle" kutusu — kurumsal, dikkat çekmeyen bir çerçeve. */
table.gzl .foto-btn.bos {
    width: 22px; height: 22px;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px dashed #9db3d1; border-radius: 3px;
    background: #f4f8fd;
}

/* ---- Teknik Servis / Tamir - Özel Düzenlemeler ---- */
.tutanak {
    width: 794px; max-width: 100%; margin: 0 auto; background: #fff;
    padding: 8px 10px; box-shadow: 0 4px 20px rgba(0,0,0,.15);
    color: #1e6eb8; font-family: Arial, Helvetica, sans-serif;
}
.tutanak table { width: 100% !important; border-collapse: collapse !important; margin-bottom: 16px; }
.tutanak td, .tutanak th {
    border: 1px solid #3f7fbf !important; padding: 6px 7px;
    font-size: 9px; font-weight: 700; vertical-align: middle; color: #1e6eb8;
}
.tutanak .lbl { background: #eaf4fd; font-weight: bold; }
.tutanak .section-title {
    background: #eaf4fd; font-weight: bold; text-align: center;
    font-size: 10px; letter-spacing: .5px; padding: 4px;
}
.tutanak .col-head { background: #eaf4fd; font-weight: bold; text-align: center; }
.tutanak .col-head small {
    display: block; font-size: 7px; font-weight: normal; line-height: 1.15;
}
.tutanak small { font-size: 10px; font-weight: normal; }
.tutanak input[type="text"], .tutanak input[type="date"] {
    width: 100%; border: none !important; border-bottom: 1px dotted transparent;
    background: transparent; outline: none; font-family: inherit;
    font-size: 10px; color: #000; font-weight: 700; padding: 2px 0;
}
.tutanak input:focus { background: #eaf4fd; border-bottom: 1px dotted #3f7fbf !important; }
.tutanak input::placeholder { color: #a8c5e0; font-weight: normal; }

.tutanak #urunTablosu td { vertical-align: top; }
.tutanak .satir-alani {
    width: 100%; min-height: 68px; box-sizing: border-box; border: none !important;
    background: transparent; outline: none; resize: none;
    font-family: inherit; font-size: 10px; color: #000; font-weight: 700;
    padding: 4px 0; overflow: hidden; line-height: 1.5; display: block;
}
.tutanak .satir-alani:focus { background: #eaf4fd; }
#urunTablosu tr[data-eklendi="1"] { background: #fbfdff; }

.tutanak .logo-cell { width: 27%; border-right: none !important; }
.tutanak .addr-cell {
    width: 45%; text-align: center; font-weight: bold;
    font-size: 9.5px; line-height: 1.5; border-left: none !important;
}
.tutanak .doc-no { font-size: 13px; font-weight: bold; text-align: center; color: #000; }

/* ---- Teknik Servis Fiş (Özel) ---- */
.kagit .blue-bg { background: #eaf4fd; }
.kagit .duo { display: flex; gap: 12px; width: 100%; }
.kagit .duo .inline-field { flex: 1; min-width: 0; }
.kagit textarea.ruled {
    width: 100%; border: none; outline: none; resize: vertical;
    background: repeating-linear-gradient(transparent, transparent 15px, #c9dcef 15px, #c9dcef 16px);
    line-height: 16px; font-family: inherit; font-size: 10px;
    font-weight: 700; color: #000; padding: 0; min-height: 50px;
}
.kagit textarea.ruled:focus { background-color: #eaf4fd; }

.imza-tablo { border: 1px solid #3f7fbf !important; border-collapse: collapse !important; }
.imza-tablo td { border: none !important; padding: 4px 8px; }
.imza-tablo td.sol { border-right: 1px solid #3f7fbf !important; }

/* ====================================================
   Cari / Seri Öneri Kutusu (Ortak)
   ==================================================== */
.cari-oneri-kutusu{
    position: absolute; top: 100%; left: 0; right: 0;
    background: #fff; border: 1px solid #3f7fbf; border-top: none;
    z-index: 50; max-height: 220px; overflow-y: auto;
    display: none; box-shadow: 0 6px 14px rgba(0,0,0,.12);
}
.seri-oneri-kutusu{ position:absolute; top:100%; left:0; right:0; background:#fff; border:1px solid #3f7fbf; border-top:none; z-index:60; max-height:200px; overflow-y:auto; display:none; box-shadow:0 6px 14px rgba(0,0,0,.12); min-width:180px; }
.cari-oneri-item, .seri-oneri-item {
    padding: 7px 10px; font-size: 12px; color: #1e6eb8;
    cursor: pointer; border-bottom: 1px solid #eaf4fd;
}
.cari-oneri-item:hover, .cari-oneri-item.aktif,
.seri-oneri-item:hover { background: #eaf4fd; }
.cari-oneri-item small, .seri-oneri-item small {
    display: block; color: #91a1b6; font-size: 10px; font-weight: 400;
}

.seri-cakisma { background: #fdeded !important; border-bottom: 2px solid #ea4d4d !important; }
.seri-cakisma-uyari {
    display: none; position: absolute; top: 100%; left: 0; width: 150px;
    margin-top: 2px; background: #ea4d4d; color: #fff; font-size: 9.5px;
    font-weight: 700; padding: 4px 7px; border-radius: 4px; z-index: 55; line-height: 1.3;
}


/* ====================================================
   HAMBURGER MENÜ (Tamir, Teknik Servis, Kantar Kontrol)
   ==================================================== */
.hb-menu { position: relative; flex-shrink: 0; }
.hb-menu-dropdown {
    display: none !important; position: absolute !important; top: 36px; left: 0;
    background: #fff; border: 1px solid #e5e7eb; border-radius: 8px;
    box-shadow: 0 8px 20px rgba(0,0,0,.12); z-index: 60;
    min-width: 170px; overflow: hidden;
}
.hb-menu-dropdown.hb-menu-acik { display: block !important; }
.hb-menu-dropdown button {
    width: 100%; text-align: left; border: none; background: #fff;
    padding: 9px 12px; font-size: 12.5px; color: #283c50;
    display: flex; align-items: center; gap: 8px; cursor: pointer;
}
.hb-menu-dropdown button:hover { background: #f4f6fb; color: #3454d1; }

/* ====================================================
   SERVİS TANIMLAMALARI (Sekme)
   ==================================================== */
.tanimlama-tabs .nav-link {
    font-size: 13px; font-weight: 600; color: #91a1b6;
    border: none; border-bottom: 2px solid transparent;
    padding: 10px 16px;
}
.tanimlama-tabs .nav-link.active {
    color: #3454d1; border-bottom-color: #3454d1; background: transparent;
}
.tanimlama-tabs .badge { margin-left: 6px; font-size: 10px; }

/* ====================================================
   RESPONSIVE (MOBİL UYUM)
   ==================================================== */

/* Genel Mobil Düzenlemeler (576px) */
@media (max-width: 576px) {
    .hb-card { flex-wrap: wrap; }
    .hb-thumb-placeholder { display: none; }
    .hb-meta { gap: 8px; }
    .hb-actions { width: 100%; justify-content: flex-end; }
    .hb-headline { width: 100%; }

    .logo-wrap img {
        max-height: 38px !important;
        max-width: 110px !important;
    }

    .card-body .d-flex.align-items-center.justify-content-between {
        flex-direction: column; align-items: stretch !important; gap: 8px;
    }
    .search-box { max-width: 100% !important; min-width: 0 !important; }
    .ust-save-btn { width: 100%; justify-content: center; }

    #filtreForm { flex-direction: column; align-items: stretch !important; }
    #filtreForm .search-box { max-width: 100% !important; margin-left: 0 !important; }
    .ts-tarih-kutu {
        width: 100% !important; justify-content: space-between;
        padding:3px 8px 3px 14px !important; gap: 8px !important;
    }
    .ts-tarih-alan { width: 100%; height: 30px; }
    .ts-tarih-deger { font-size: 13px; padding: 6px 2px; }
    .ts-tarih-ayrac { padding: 0 1px; }

    .ts-tabs, .tanimlama-tabs {
        flex-wrap: nowrap; overflow-x: auto;
        -webkit-overflow-scrolling: touch; padding-bottom: 4px;
    }
    .ts-tab, .tanimlama-tabs .nav-link {
        flex: 0 0 auto; white-space: nowrap;
    }
    .tanimlama-tabs .nav-link { font-size: 12px; padding: 9px 12px; }

    .ust-form-row { gap: 12px; margin-bottom: 12px; }
    .ust-form-col { min-width: 100%; flex-basis: 100%; }

    .toast-container { left: auto; right: 12px; top: 12px; }
    .toast-item { min-width: auto; max-width: calc(100vw - 24px); }
    .pdf-onizleme-kutu { height: 95vh; }
    .pdf-durum-toast { max-width: calc(100% - 32px); }
}

/* Auth Sayfaları Mobil (991px) */
@media (max-width: 991px) {
    .auth-wrapper { flex-direction: column; }
    .auth-brand-panel { flex: none; padding: 2rem 1.5rem; min-height: auto; }
    .auth-form-panel { padding: 2.5rem 1.5rem 3rem; }
    .brand-orb-1 { width: 220px; height: 220px; top: -60px; right: -60px; }
    .brand-orb-2 { width: 180px; height: 180px; bottom: -50px; left: -50px; }
    .brand-geo-1 { width: 80px; height: 80px; top: 10%; right: 5%; }
    .brand-geo-2 { width: 36px; height: 36px; top: 16%; right: 11%; }
    .brand-geo-3 { display: none; }
}

/* Auth Sayfaları Mobil (575px) */
@media (max-width: 575px) {
    .auth-brand-panel { padding: 1.5rem 1.25rem; }
    .auth-form-panel { padding: 2rem 1.25rem 2.5rem; }
    .auth-title { font-size: 1.7rem; }
    .form-options { flex-wrap: nowrap; }
    .form-check-custom .check-label { font-size: 0.78rem; }
    .forgot-link { font-size: 0.78rem; white-space: nowrap; }
}

/* Dashboard Mobil */
@media (max-width: 1200px) {
    .quick-actions-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 1024px) {
    .content-grid { grid-template-columns: 1fr; }
    .bottom-section { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
    .greeting-glass { padding: 24px 20px; }
    .greeting-content { flex-direction: column; align-items: flex-start; }
    .greeting-right { width: 100%; }
    .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .stat-item { padding: 16px 18px; }
    .stat-number { font-size: 22px; }
    .stat-icon-wrapper { width: 40px; height: 40px; font-size: 17px; }
    .quick-actions-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .quick-action-card { padding: 14px 14px; }
    .bottom-section { grid-template-columns: 1fr; }
    .insight-bar { gap: 16px; padding: 14px 18px; }
    .insight-divider { display: none; }
}
@media (max-width: 480px) {
    .stats-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .stat-item { padding: 14px 14px; flex-wrap: wrap; }
    .stat-number { font-size: 19px; }
    .stat-label { font-size: 9px; }
    .stat-icon-wrapper { width: 34px; height: 34px; font-size: 14px; }
    .stat-trend { width: 26px; height: 26px; font-size: 12px; }
    .greeting-left h1 { font-size: 17px; }
    .glass-chip { padding: 6px 12px; font-size: 11px; }
    .quick-actions-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
    .quick-action-card { padding: 12px 12px; }
    .quick-action-icon { width: 34px; height: 34px; font-size: 15px; }
    .quick-action-label { font-size: 10px; }
    .quick-action-sub { font-size: 9px; }
    .quick-action-badge { font-size: 8px; padding: 2px 8px; }
    .logo-wrap img {
        max-height: 30px !important;
        max-width: 85px !important;
    }
}

/* Kantar Kontrol & Tamir & Teknik Servis Form Mobil (900px) */
@media (max-width: 900px) {
    #kkfForm, #formaForm, #fisForm { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .kagit, .kagit1, .tutanak { margin: 0; padding: 10px !important; width: 100% !important; }
    .kkf-action-bar, .kkf-action-bar1 { justify-content: center; }
    .kkf-btn, .kkf-btn1 { flex: 0 1 auto; justify-content: center; font-size: 11px; padding: 7px 12px; }

    .kagit > table.nb:first-of-type,
    .kagit > table.nb:first-of-type tbody,
    .kagit > table.nb:first-of-type tr,
    .kagit > table.nb:first-of-type td,
    .kagit1 > table.nb1:first-of-type,
    .kagit1 > table.nb1:first-of-type tbody,
    .kagit1 > table.nb1:first-of-type tr,
    .kagit1 > table.nb1:first-of-type td {
        display: block !important; width: 100% !important; border: none !important;
    }
    .kagit > table.nb:first-of-type td,
    .kagit1 > table.nb1:first-of-type td { margin-bottom: 8px !important; }
    .addr, .addr1 { font-size: 9px !important; }

    .logo-wrap img, .logo-wrap1 img {
        max-height: 44px !important;
        max-width: 100px !important;
    }



    /* ══ Teknik Servis Fişi — Mobil ══ */
    #fisForm { overflow-x: visible !important; }

    .kagit1 table.ust-bilgi1,
    .kagit1 table.ust-bilgi1 tbody,
    .kagit1 table.ust-bilgi1 tr,
    .kagit1 table.bildiren1,
    .kagit1 table.bildiren1 tbody,
    .kagit1 table.bildiren1 tr,
    .kagit1 table.ariza1,
    .kagit1 table.ariza1 tbody,
    .kagit1 table.ariza1 tr,
    .kagit1 table.tarih1,
    .kagit1 table.tarih1 tbody,
    .kagit1 table.tarih1 tr,
    .kagit1 table.aciklama1,
    .kagit1 table.aciklama1 tbody,
    .kagit1 table.aciklama1 tr { display: block !important; width: 100% !important; }

    .kagit1 table.ust-bilgi1,
    .kagit1 table.bildiren1,
    .kagit1 table.ariza1,
    .kagit1 table.tarih1,
    .kagit1 table.aciklama1 { border: none !important; }

    .kagit1 table.ust-bilgi1 td,
    .kagit1 table.bildiren1 td,
    .kagit1 table.ariza1 td,
    .kagit1 table.tarih1 td,
    .kagit1 table.aciklama1 td {
        display: block !important; width: 100% !important;
        height: auto !important;
        border: none !important;
        border-bottom: 1px solid #eef4fa !important;
        padding: 10px 4px !important;
    }
    .kagit1 table.ust-bilgi1 tr:last-child td:last-child,
    .kagit1 table.bildiren1 tr:last-child td:last-child,
    .kagit1 table.ariza1 tr:last-child td:last-child,
    .kagit1 table.tarih1 tr:last-child td:last-child,
    .kagit1 table.aciklama1 tr:last-child td:last-child { border-bottom: none !important; }

    .kagit1 .inline-field1 {
        flex-direction: column !important;
        align-items: stretch !important; gap: 4px !important;
    }
    .kagit1 .lbl-text1 {
        font-size: 10px !important; color: #7fa3c4 !important;
        white-space: normal !important;
    }
    .kagit1 .duo1 { flex-direction: column !important; gap: 10px !important; }


    .kagit1 table.ust-bilgi1,
    .kagit1 table.bildiren1,
    .kagit1 table.ariza1,
    .kagit1 table.tarih1,
    .kagit1 table.aciklama1 {
        border: 1px solid #dfeaf5 !important;
        border-radius: 10px !important;
        padding: 4px 10px !important;
        margin-bottom: 12px !important;
        background: #fff !important;
    }
    .kagit1 input[type="text"] {
        font-size: 16px !important; min-height: 38px;
        padding: 8px 10px !important;
        border: 1px solid #dfeaf5 !important; border-radius: 8px !important;
        background: #fbfdff !important; width: 100% !important;
    }

    /* mavi zemin yok, başlık sadece bold mavi metin */
    .kagit1 .blue-bg1 {
        background: transparent !important;
        color: #1e6eb8 !important;
        font-weight: 700 !important;
        font-size: 12px !important;
        border: none !important;
        padding: 10px 2px 6px !important;
    }

    /* geniş tablolar kendi içinde kaydırılsın */
    .kagit1 table.tespit1,
    .kagit1 table.hizmet1,
    .kagit1 table.yedek1 {
        display: block !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        border: 1px solid #dfeaf5 !important;
        border-radius: 10px !important;
        margin-bottom: 12px !important;
    }
    .kagit1 table.tespit1 tbody,
    .kagit1 table.hizmet1 tbody,
    .kagit1 table.yedek1 tbody {
        display: table !important;
        min-width: 620px !important;
        width: 620px !important;
    }
    /* mavi başlık bantları belirgin */
    .kagit1 .blue-bg1 {
        background: #eaf4fd !important; font-size: 11px !important;
        letter-spacing: .3px; padding: 8px 10px !important;
    }

    /* sütun başlığı satırlarını gizle (etiketler zaten hücrede) */

    /* boş satırları kısalt */
    .arrows { gap: 30px; }
    .arr { width: 28px; height: 12px; }

    .sol h4 { font-size: 10px !important; }
    .sol h4.c { font-size: 10px !important; padding: 3px 6px; }
    table.kosye td {
        height: auto !important; min-height: 36px !important;
        padding: 4px 6px !important;
    }
    .k-row.top { min-height: 14px; }
    .k-row.bottom { min-height: 14px; }
    .kosye input { font-size: 12px !important; }
    .k-no, .k-kg { font-size: 10px !important; }

    /* Gözle Kontrol Mobil */
    table.gzl { display: block !important; width: 100% !important; border: 1px solid #3f7fbf !important; }
    table.gzl tr {
        display: flex !important; flex-wrap: wrap !important;
        width: 100% !important; border-bottom: 1px solid #e0eaf8 !important;
        padding: 6px 0 !important;
    }
    table.gzl tr:last-child { border-bottom: none !important; }
    table.gzl tr:first-child {
        display: flex !important; justify-content: center !important;
        align-items: center !important; border-bottom: 1px solid #3f7fbf !important;
        background: #eaf4fd !important; padding: 4px 0 !important;
    }
    table.gzl tr:first-child td:first-child {
        width: 100% !important; text-align: center !important;
        font-size: 11px !important; padding: 2px !important;
        border: 1px solid #3f7fbf !important;
    }
    table.gzl tr:first-child td:nth-child(n+2) { display: none !important; }
    table.gzl td {
        display: flex !important; align-items: center !important;
        padding: 4px 6px !important; border: 1px solid #3f7fbf !important;
        font-size: 10px !important; box-sizing: border-box !important;
    }
    table.gzl td:nth-child(3n+1) {
        width: 30% !important; justify-content: flex-start !important;
        text-align: left !important; border-right: none !important;
    }
    table.gzl td:nth-child(3n+2) {
        width: 20% !important; justify-content: center !important;
        border-left: none !important; border-right: none !important;
    }
    table.gzl td:nth-child(3n+3) {
        width: 50% !important; justify-content: center !important;
        border-left: none !important;
    }
    /* DÜZELTME — Damga/Mühür fotoğraf kutusu mobilde kayboluyordu.
       Son satırda 9 hücre var:
         1 Damga/Mühür  2 tik  3 FOTOĞRAF
         4 Kantar       5 tik  6 FOTOĞRAF
         7 "Damga Yılı:"  8 input  9 boş
       Eskiden bu kurallar 1/2/3'e uygulanıyordu; bu yüzden
       Damga/Mühür'ün FOTOĞRAF hücresi (3) gizleniyor, tik kutusu da
       %70 genişlikle diğer satırlardan kayıyordu.
       Doğrusu 7/8/9 — yani gerçekten "Damga Yılı" olan kısım. */
    table.gzl tr:last-child td:nth-child(7) {
        width: 30% !important; justify-content: flex-start !important;
        padding-left: 6px !important; border-right: none !important;
    }
    table.gzl tr:last-child td:nth-child(8) {
        width: 70% !important; justify-content: flex-start !important;
        padding-right: 6px !important; border-left: none !important;
    }
    table.gzl tr:last-child td:nth-child(9) { display: none !important; }
    table.gzl tr:last-child td:nth-child(8) input {
        width: 100% !important; max-width: 100px !important;
        border-bottom: 1px solid #3f7fbf !important;
        background: transparent !important; font-size: 12px !important;
        font-weight: 700 !important; color: #000 !important;
        padding: 2px 4px !important; text-align: left !important;
        outline: none !important;
    }
    table.gzl .chk-wrap { width: 24px !important; height: 24px !important; }
    table.gzl .chk-real { width: 24px !important; height: 24px !important; }
    table.gzl .chk-visual { width: 24px !important; height: 24px !important; }
    table.gzl .chk-real:checked + .chk-visual::after { font-size: 13px !important; }
    table.gzl .foto-btn, table.gzl .foto-btn.bos {
        width: 24px !important; height: 24px !important; flex: 0 0 24px !important;
    }
    table.gzl .foto-icon { font-size: 15px !important; }

    .kagit .sira-tablosu { display: block !important; width: 100% !important; }
    .kagit .sira-tablosu th, .kagit .sira-tablosu td {
        padding: 2px 1px !important; font-size: 9px !important;
    }
    .kagit .sira-tablosu input {
        font-size: 11px !important; padding: 0 !important;
        width: 100% !important; box-sizing: border-box !important;
    }

    .alt-tolerans-satiri {
        flex-direction: row !important; justify-content: flex-end !important;
        gap: 15px !important; font-size: 10px !important; flex-wrap: wrap !important;
    }

    /* Tamir/TS Form */
    .tutanak td, .tutanak th {
        word-break: break-word; overflow-wrap: break-word;
        font-size: 7.5px !important; padding: 3px 4px !important;
    }
    .tutanak .lbl { font-size: 7.5px !important; }
    .tutanak .section-title { font-size: 8px !important; padding: 3px !important; }
    .tutanak .col-head { font-size: 7.5px !important; }
    .tutanak .col-head small { font-size: 6px !important; }
    .tutanak small { font-size: 8px !important; }
    .tutanak .logo-icon { width: 24px; height: 22px; flex: 0 0 24px; }
    .tutanak .brand { font-size: 16px !important; }
    .tutanak .tagline { font-size: 7px !important; }
    .tutanak .addr-cell { font-size: 6.5px !important; line-height: 1.35 !important; }
    .tutanak .doc-no { font-size: 10px !important; }
    .tutanak .doc-no input { font-size: 10px !important; }
    .tutanak .serial { font-size: 12px !important; letter-spacing: 1px !important; }
    .tutanak input[type="text"], .tutanak input[type="date"] { font-size: 8.5px !important; }

    .urun-tablosu-scroll {
        overflow-x: auto; -webkit-overflow-scrolling: touch;
        margin-bottom: 12px; border-radius: 4px;
    }
    .urun-tablosu-scroll #urunTablosu { margin-bottom: 0; }
    .urun-tablosu-kaydirma-ipucu {
        display: block; font-size: 10.5px; font-weight: 600; color: #3454d1;
        background: #eaf4fd; text-align: center; padding: 6px 8px;
        border-radius: 6px; margin-bottom: 6px;
    }
}
@media (min-width: 901px) { .urun-tablosu-kaydirma-ipucu { display: none; } }

@media (max-width: 480px) {
    .tutanak .logo-wrap { flex-wrap: wrap; row-gap: 2px; }
    .tutanak .logo-icon { width: 20px; height: 18px; flex: 0 0 20px; }
    .tutanak .logo-icon .bar-top { width: 20px !important; height: 5px !important; top: 2px !important; }
    .tutanak .logo-icon .bar-stem { width: 5px !important; height: 15px !important; top: 3px !important; left: 8px !important; }
    .tutanak .brand { font-size: 13px !important; }
    .tutanak .tagline { font-size: 6px !important; }
    .tutanak .logo-cell { padding: 3px 4px !important; }

    table.gzl td { font-size: 9px !important; padding: 3px 4px !important; }
    table.gzl td:nth-child(3n+1) { width: 28% !important; }
    table.gzl td:nth-child(3n+2) { width: 18% !important; }
    table.gzl td:nth-child(3n+3) { width: 54% !important; }
    table.gzl .chk-wrap { width: 20px !important; height: 20px !important; }
    table.gzl .chk-real { width: 20px !important; height: 20px !important; }
    table.gzl .chk-visual { width: 20px !important; height: 20px !important; }
    table.gzl .chk-real:checked + .chk-visual::after { font-size: 11px !important; }
    table.gzl .foto-btn, table.gzl .foto-btn.bos {
        width: 20px !important; height: 20px !important; flex: 0 0 20px !important;
    }
    table.gzl .foto-icon { font-size: 15px !important; }
}

/* ====================================================
   YAZDIR (PRINT)
   ==================================================== */
@media print {
    .no-print, .kkf-action-bar { display: none !important; }
    .nxl-navigation, .nxl-header, .page-header { display: none !important; }
    .nxl-container { margin-left: 0 !important; margin-top: 0 !important; top: 0 !important; }
    .nxl-content { padding-top: 0 !important; }
    .main-content { padding: 0 !important; }
    .footer { display: none !important; }
    body { background: #fff; margin: 0 !important; }

    .kagit, .tutanak {
        box-shadow: none; width: 100% !important; max-width: 100% !important;
        padding: 4mm 5mm !important; margin: 0 !important;
        box-sizing: border-box !important;
    }
    .kagit table, .tutanak table { page-break-inside: avoid; width: 100% !important; }
    .kagit table tr, .tutanak table tr { page-break-inside: avoid; }
    .kagit .nb td { padding: 2px 3px !important; }

    .logo-wrap img {
        max-height: 55px !important;
        max-width: 155px !important;
    }

    .sira-tablosu th, .sira-tablosu td {
        font-size: 7.5px !important; padding: 1px 2px !important;
    }
    .sira-tablosu input { font-size: 7.5px !important; height: 14px !important; }

    body.yazdirModu > *:not(#pdfIsleyiciDisKapsayici) { display: none !important; }
    body.yazdirModu #pdfIsleyiciDisKapsayici {
        position: static !important; left: auto !important; top: auto !important;
        width: 100% !important; height: auto !important;
        overflow: visible !important; visibility: visible !important;
        z-index: auto !important; pointer-events: auto !important;
    }
    body.yazdirModu #pdfIsleyiciSarmalayici {
        position: static !important; left: auto !important; z-index: auto !important;
        width: 100% !important; background: #fff !important;
    }
    .tutanak table tr {
        height: auto !important; min-height: 30px !important;
        max-height: none !important; page-break-inside: avoid;
    }
    .tutanak table td {
        vertical-align: top !important; padding: 4px 5px !important;
        height: auto !important; min-height: 30px !important;
        max-height: none !important;
    }
    .tutanak table td .satir-alani,
    .tutanak table td .pdf-metin-gorunumu,
    .tutanak table td textarea {
        min-height: 30px !important; height: auto !important;
        max-height: none !important; overflow: visible !important;
        line-height: 1.6 !important;
    }
    #urunTablosu td:last-child {
        min-height: 30px !important; height: auto !important;
        max-height: none !important; vertical-align: top !important;
    }
    #urunTablosu td:last-child .pdf-metin-gorunumu,
    #urunTablosu td:last-child div {
        min-height: 30px !important; height: auto !important;
        max-height: none !important; overflow: visible !important;
        white-space: pre-wrap !important; line-height: 1.6 !important;
        padding: 3px 4px !important;
    }
    #urunTbody tr:empty { display: none !important; }
    .tutanak .not-hucre { padding: 4px 5px !important; }
    .tutanak table { page-break-inside: avoid; }

    @page { size: A4 portrait; margin: 5mm; }
}
/* ====================================================
   FOTOĞRAF GALERİSİ MODALI (Liste sayfası — küçük resim ızgarası)
   Kayıt kartındaki "Fotoğrafları Görüntüle" ikonuna tıklanınca açılır.
   Sade, kurumsal bir kart: beyaz zemin, ince kenarlık, ızgara düzeninde
   küçük resimler + altlarında etiket. Bir küçük resme tıklanınca aşağıdaki
   lightbox'ta büyük hâliyle açılır.
   ==================================================== */
.foto-galeri-backdrop {
    display: none;
    position: fixed; inset: 0;
    background: rgba(15, 23, 42, .5);
    z-index: 9500;
    align-items: center; justify-content: center;
    padding: 16px;
}
.foto-galeri-backdrop.foto-galeri-acik { display: flex; }

.foto-galeri-kutu {
    background: #fff;
    border-radius: 12px;
    width: 100%; max-width: 560px;
    max-height: 85vh;
    display: flex; flex-direction: column;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0,0,0,.25);
}
.foto-galeri-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 18px;
    border-bottom: 1px solid #eef0f4;
    font-size: 14px; font-weight: 700; color: #283c50;
}
.foto-galeri-header button {
    border: none; background: none;
    font-size: 22px; line-height: 1;
    color: #91a1b6; cursor: pointer; padding: 0;
}
.foto-galeri-header button:hover { color: #ea4d4d; }

.foto-galeri-icerik {
    padding: 18px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 14px;
    overflow-y: auto;
}
.foto-galeri-oge {
    display: flex; flex-direction: column; align-items: center; gap: 6px;
}
.foto-galeri-oge img {
    width: 100%; aspect-ratio: 1 / 1;
    object-fit: cover; border-radius: 8px;
    border: 1px solid #e5e7eb;
    cursor: pointer;
    transition: all .15s;
}
.foto-galeri-oge img:hover {
    border-color: #3454d1;
    box-shadow: 0 4px 14px rgba(52,84,209,.18);
}
.foto-galeri-etiket {
    font-size: 11px; font-weight: 600; color: #6b7a8f;
    text-align: center;
}

@media (max-width: 576px) {
    .foto-galeri-icerik { grid-template-columns: repeat(auto-fill, minmax(88px, 1fr)); }
}

/* ====================================================
   FOTOĞRAF LIGHTBOX (büyük görüntüleme — tekli veya çoklu gezinme)
   Kurumsal, sade tema: koyu-yarı-saydam zemin, mavi (marka rengi)
   vurgulu düğmeler — önceki koyu/altın temanın yerine.
   ==================================================== */
.foto-lightbox-backdrop {
    display: none;
    position: fixed; inset: 0;
    background: rgba(15, 23, 42, .8);
    z-index: 9600;
    align-items: center; justify-content: center;
    padding: 24px;
}
.foto-lightbox-backdrop.foto-lightbox-acik { display: flex; }

.foto-lightbox-icerik {
    position: relative;
    max-width: min(88vw, 760px);
    max-height: 88vh;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
}
.foto-lightbox-icerik img#fotoLightboxImg {
    max-width: 100%; max-height: 76vh;
    object-fit: contain;
    border-radius: 8px;
    box-shadow: 0 20px 50px rgba(0,0,0,.4);
    background: #fff;
    display: block;
}
.foto-lightbox-etiket {
    margin-top: 14px;
    color: #fff;
    font-size: 12px; font-weight: 600;
    letter-spacing: .4px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.18);
    padding: 6px 16px;
    border-radius: 40px;
}
.foto-lightbox-kapat {
    position: absolute; top: -14px; right: -14px;
    width: 34px; height: 34px; border-radius: 50%;
    border: none; background: #fff; color: #283c50;
    font-size: 18px; line-height: 1; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 14px rgba(0,0,0,.25);
    transition: all .15s;
}
.foto-lightbox-kapat:hover { background: #3454d1; color: #fff; }

.foto-lightbox-nav {
    position: fixed; top: 50%;
    transform: translateY(-50%);
    width: 40px; height: 40px; border-radius: 50%;
    border: 1px solid rgba(255,255,255,.2);
    background: rgba(255,255,255,.08);
    color: #fff; font-size: 16px; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    z-index: 9601; transition: all .15s;
}
.foto-lightbox-nav:hover { background: #3454d1; border-color: #3454d1; }
.foto-lightbox-onceki { left: 24px; }
.foto-lightbox-sonraki { right: 24px; }

@media (max-width: 576px) {
    .foto-lightbox-kapat { top: 8px; right: 8px; width: 32px; height: 32px; font-size: 18px; }
    .foto-lightbox-nav { width: 36px; height: 36px; font-size: 15px; }
    .foto-lightbox-onceki { left: 8px; }
    .foto-lightbox-sonraki { right: 8px; }
    .foto-lightbox-icerik img#fotoLightboxImg { max-height: 68vh; }
}

/* ====================================================
   CARİ — CİHAZ SATIRLARI (Cihazlar modalı içindeki liste)
   ==================================================== */
.cihaz-satir{ display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid #e5e7eb; border-radius:8px; margin-bottom:8px; }
.cihaz-satir-govde{ flex:1; min-width:0; }
.cihaz-satir-baslik{ font-size:13px; font-weight:700; color:#283c50; }
.cihaz-satir-alt{ font-size:11px; color:#91a1b6; margin-top:2px; }
.cihaz-satir-aksiyon{ display:flex; gap:6px; flex-shrink:0; }
.cihaz-bos{ text-align:center; padding:1.5rem; color:#91a1b6; font-size:13px; }
/* ===== FOTOĞRAF LIGHTBOX — kurumsal kart ===== */
.foto-lightbox-backdrop {
    display: none; position: fixed; inset: 0;
    background: rgba(15,23,42,.72); z-index: 9600;
    align-items: center; justify-content: center; padding: 20px;
}
.foto-lightbox-backdrop.foto-lightbox-acik { display: flex; }
.foto-lightbox-kart {
    background: #fff; border-radius: 12px; overflow: hidden;
    width: 100%; max-width: 620px; max-height: 88vh;
    display: flex; flex-direction: column;
    box-shadow: 0 20px 50px rgba(0,0,0,.28);
}
.foto-lightbox-baslik {
    display: flex; align-items: center; justify-content: space-between;
    padding: 11px 14px; border-bottom: 1px solid #eef0f4;
    font-size: 13px; font-weight: 700; color: #283c50;
}
.foto-lightbox-kapat {
    position: static; top: auto; right: auto;
    width: 24px; height: 24px; padding: 0;
    border: none; background: transparent; box-shadow: none;
    color: #91a1b6; font-size: 16px; line-height: 1;
    cursor: pointer; border-radius: 6px;
    display: flex; align-items: center; justify-content: center;
    transition: all .15s;
}
.foto-lightbox-kapat:hover { background: #f4f6fb; color: #ea4d4d; }
.foto-lightbox-govde {
    position: relative; flex: 1; min-height: 220px; overflow: hidden;
    display: flex; align-items: center; justify-content: center;
    background: #f7f9fc; padding: 14px;
}
.foto-lightbox-govde img,
.foto-lightbox-govde img#fotoLightboxImg {
    max-width: 100%; max-height: 62vh; object-fit: contain;
    border-radius: 6px; display: block; background: #fff; box-shadow: none;
}
.foto-hata {
    font-size: 12.5px; font-weight: 600; color: #91a1b6;
    padding: 48px 12px; text-align: center;
}
.foto-lightbox-nav {
    position: absolute; top: 50%; left: auto; right: auto;
    transform: translateY(-50%);
    width: 30px; height: 30px; border-radius: 50%;
    border: 1px solid #e2e8f2; background: rgba(255,255,255,.96);
    color: #3454d1; font-size: 13px; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 2px 8px rgba(15,23,42,.12); z-index: 2; transition: all .15s;
}
.foto-lightbox-nav:hover { background: #3454d1; border-color: #3454d1; color: #fff; }
.foto-lightbox-onceki { left: 10px; right: auto; }
.foto-lightbox-sonraki { right: 10px; left: auto; }
.foto-lightbox-alt {
    display: flex; align-items: center; justify-content: space-between;
    padding: 9px 14px; border-top: 1px solid #eef0f4;
    font-size: 11.5px; font-weight: 600; color: #6b7a8f;
}
.foto-lightbox-alt a { color: #3454d1; text-decoration: none; font-weight: 600; }
.foto-lightbox-alt a:hover { text-decoration: underline; }
.foto-galeri-oge-hatali img { background: #f4f6fb; }
@media (max-width: 576px) {
    .foto-lightbox-backdrop { padding: 12px; }
    .foto-lightbox-kart { max-height: 90vh; }
    .foto-lightbox-govde img,
    .foto-lightbox-govde img#fotoLightboxImg { max-height: 54vh; }
    .foto-lightbox-kapat { position: static; width: 24px; height: 24px; font-size: 16px; }
    .foto-lightbox-nav { width: 28px; height: 28px; font-size: 12px; }
    .foto-lightbox-onceki { left: 8px; right: auto; }
    .foto-lightbox-sonraki { right: 8px; left: auto; }
}

/* ===== Küçük resim üzerinde "değiştir" ikonu ===== */
table.gzl .foto-btn { position: relative; }
table.gzl .foto-degistir {
    position: absolute; right: -5px; bottom: -5px;
    width: 14px; height: 14px; border-radius: 50%;
    background: #3454d1; color: #fff;
    display: none; align-items: center; justify-content: center;
    font-size: 8px; cursor: pointer; z-index: 3;
    box-shadow: 0 1px 3px rgba(0,0,0,.35);
}
table.gzl .foto-btn:hover .foto-degistir { display: flex; }
table.gzl .foto-degistir:hover { background: #2843b0; }

/* ═══════════════════════════════════════════════════════
   FOTOĞRAF LIGHTBOX — rafine sürüm (öncekini geçersiz kılar)
   ═══════════════════════════════════════════════════════ */
.foto-lightbox-backdrop {
    background: rgba(10, 14, 26, .82);
    backdrop-filter: blur(6px);
    padding: 28px;
}
.foto-lightbox-kart {
    background: #10141f;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 16px;
    max-width: 720px;
    box-shadow: 0 32px 80px rgba(0,0,0,.55);
    animation: fotoAcilis .22s cubic-bezier(.2,.8,.3,1);
    overflow: visible;
}
@keyframes fotoAcilis {
    from { opacity: 0; transform: scale(.965) translateY(8px); }
    to   { opacity: 1; transform: none; }
}

.foto-lightbox-baslik {
    border-bottom: 1px solid rgba(255,255,255,.07);
    padding: 14px 18px;
    color: #eef2f9;
    font-size: 12.5px;
    letter-spacing: .3px;
}
.foto-lightbox-baslik > span:first-child {
    display: flex; align-items: center; gap: 9px;
}
.foto-lightbox-baslik > span:first-child::before {
    content: ''; width: 3px; height: 13px;
    background: #4d7cfe; border-radius: 2px;
}
.foto-lightbox-kapat {
    width: 26px; height: 26px;
    color: #8b96ad; font-size: 17px; border-radius: 7px;
}
.foto-lightbox-kapat:hover { background: rgba(255,255,255,.08); color: #fff; }

.foto-lightbox-govde {
    background: transparent;
    padding: 20px 22px;
    overflow: visible;
}
.foto-lightbox-govde img,
.foto-lightbox-govde img#fotoLightboxImg {
    max-height: 60vh; border-radius: 10px;
    box-shadow: 0 14px 40px rgba(0,0,0,.5);
    background: #0b0e17;
}
.foto-hata { color: #6f7b91; }

/* Oklar kartın DIŞINDA — resmi kapatmaz */
.foto-lightbox-nav {
    width: 38px; height: 38px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
    color: #dbe2ef; font-size: 15px;
    box-shadow: none;
    backdrop-filter: blur(4px);
}
.foto-lightbox-nav:hover {
    background: #4d7cfe; border-color: #4d7cfe; color: #fff;
    transform: translateY(-50%) scale(1.06);
}
.foto-lightbox-onceki  { left: -52px; right: auto; }
.foto-lightbox-sonraki { right: -52px; left: auto; }

.foto-lightbox-alt {
    border-top: 1px solid rgba(255,255,255,.07);
    padding: 12px 18px;
    color: #7d879c;
}
.foto-lightbox-alt a {
    color: #9db4ff;
    border: 1px solid rgba(157,180,255,.28);
    border-radius: 7px; padding: 5px 13px;
    transition: all .15s;
}
.foto-lightbox-alt a:hover {
    background: #4d7cfe; border-color: #4d7cfe;
    color: #fff; text-decoration: none;
}

@media (max-width: 700px) {
    .foto-lightbox-backdrop { padding: 14px; }
    .foto-lightbox-onceki  { left: 10px; }
    .foto-lightbox-sonraki { right: 10px; }
    .foto-lightbox-govde { padding: 14px; }
    .foto-lightbox-govde img,
    .foto-lightbox-govde img#fotoLightboxImg { max-height: 52vh; }
}

/* Değiştir ikonu — SVG sürümü, ikon fontuna bağlı değil */
table.gzl .foto-degistir {
    width: 15px; height: 15px;
    right: -6px; bottom: -6px;
    background: #3454d1;
    border: 1.5px solid #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,.4);
    padding: 0; overflow: hidden;
}
table.gzl .foto-degistir svg { width: 9px; height: 9px; display: block; }
table.gzl .foto-degistir i { display: none; }

/* Kalem ikonu kaldirildi */
table.gzl .foto-degistir { display: none !important; }

/* ═══════════ MOBİL: fotoğraf görüntüleme ═══════════ */
@media (max-width: 900px) {
    /* Parmakla rahat dokunulacak boyut */
    table.gzl .foto-thumb { border-radius: 4px; }
    table.gzl .foto-btn, table.gzl .foto-btn.bos {
        width: 30px !important; height: 30px !important; flex: 0 0 30px !important;
    }
    table.gzl .foto-hucre { gap: 10px !important; }

    /* Lightbox: tam genişlik, oklar kartın İÇİNDE */
    .foto-lightbox-backdrop { padding: 10px; }
    .foto-lightbox-kart {
        max-width: 100%; width: 100%; max-height: 94vh;
        border-radius: 14px;
    }
    .foto-lightbox-baslik { padding: 12px 14px; font-size: 12px; }
    .foto-lightbox-govde { padding: 12px; }
    .foto-lightbox-govde img,
    .foto-lightbox-govde img#fotoLightboxImg { max-height: 58vh; }

    .foto-lightbox-nav {
        width: 40px !important; height: 40px !important;
        font-size: 16px !important;
        background: rgba(255,255,255,.14);
        border-color: rgba(255,255,255,.2);
    }
    .foto-lightbox-onceki  { left: 14px !important; right: auto !important; }
    .foto-lightbox-sonraki { right: 14px !important; left: auto !important; }

    .foto-lightbox-alt { padding: 12px 14px; font-size: 12px; }
    .foto-lightbox-alt a { padding: 7px 16px; }
}

@media (max-width: 480px) {
    table.gzl .foto-btn, table.gzl .foto-btn.bos {
        width: 28px !important; height: 28px !important; flex: 0 0 28px !important;
    }
    .foto-lightbox-govde img,
    .foto-lightbox-govde img#fotoLightboxImg { max-height: 54vh; }
}

/* ═══════════════════════════════════════════════════
   LIGHTBOX MOBİL DÜZELTME — en sondaki söz sahibi
   ═══════════════════════════════════════════════════ */
.foto-lightbox-backdrop {
    position: fixed !important;
    top: 0 !important; left: 0 !important;
    right: 0 !important; bottom: 0 !important;
    width: 100vw !important; height: 100vh !important;
    height: 100dvh !important;
    margin: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}
.foto-lightbox-kart {
    position: relative !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}
.foto-lightbox-kart * { box-sizing: border-box; }

@media (max-width: 900px) {
    .foto-lightbox-backdrop { padding: 12px !important; }
    .foto-lightbox-kart {
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
        max-height: 88vh !important;
        border-radius: 14px !important;
    }
    /* Oklar HER ZAMAN kartın içinde kalsın */
    .foto-lightbox-nav {
        position: absolute !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 38px !important; height: 38px !important;
        font-size: 15px !important;
        background: rgba(255,255,255,.16) !important;
        border: 1px solid rgba(255,255,255,.22) !important;
        color: #fff !important;
        z-index: 5 !important;
    }
    .foto-lightbox-onceki  { left: 12px !important; right: auto !important; }
    .foto-lightbox-sonraki { right: 12px !important; left: auto !important; }

    .foto-lightbox-govde {
        padding: 14px !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }
    .foto-lightbox-govde img,
    .foto-lightbox-govde img#fotoLightboxImg {
        max-width: 100% !important;
        max-height: 56vh !important;
        width: auto !important; height: auto !important;
    }
    .foto-lightbox-baslik {
        display: flex !important;
        padding: 12px 14px !important;
        font-size: 12.5px !important;
    }
    .foto-lightbox-alt {
        display: flex !important;
        padding: 11px 14px !important;
        font-size: 12px !important;
    }
}

/* ═══════════════════════════════════════════════════
   KANTAR FORMU — MOBİL DÜZEN (sadece ekran)
   "screen" şart: A4 kağıt 794px olduğu için yazdırma
   çıktısı bu kuralları yememeli.
   ═══════════════════════════════════════════════════ */
@media screen and (max-width: 900px) {

    .kagit {
        width: 100% !important; max-width: 100% !important;
        padding: 8px 6px !important; margin: 0 !important;
        box-shadow: none !important; overflow-x: hidden !important;
    }
    #kkfForm { overflow: visible !important; }

    /* Üst başlık alt alta */
    .kagit > table.nb:first-of-type,
    .kagit > table.nb:first-of-type > tbody,
    .kagit > table.nb:first-of-type > tbody > tr,
    .kagit > table.nb:first-of-type > tbody > tr > td {
        display: block !important; width: 100% !important;
        border: none !important; padding: 0 !important;
    }
    .kagit > table.nb:first-of-type > tbody > tr > td:nth-child(2) {
        text-align: center; margin: 12px 0;
    }

    /* Firma bilgileri tek sütun */
    .kagit table.yd,
    .kagit table.yd tbody,
    .kagit table.yd tr { display: block !important; width: 100% !important; }
    .kagit table.yd td {
        display: block !important; width: 100% !important;
        height: auto !important; padding: 9px 8px !important;
        border-left: none !important; border-right: none !important;
    }

    /* Etiket üstte, alan altta */
    .kagit table.yd .inline-field {
        flex-direction: column !important;
        align-items: stretch !important; gap: 4px !important;
    }
    .kagit table.yd .lbl-text {
        font-size: 10px !important; color: #7fa3c4 !important;
        white-space: normal !important;
    }

    /* Dokunmatik input (16px: iOS yakınlaştırmaz) */
    .kagit input[type="text"],
    .kagit input[type="number"],
    .kagit input[type="date"] {
        font-size: 16px !important; min-height: 38px;
        padding: 8px 10px !important;
        border: 1px solid #dfeaf5 !important; border-radius: 8px !important;
        background: #fbfdff !important; width: 100% !important;
    }
    .sag-yasli2 {
        width: 100% !important; text-align: left !important;
        margin-left: 0 !important; flex: 1 1 auto !important;
        padding-right: 10px !important;
    }

    /* Ana gövde alt alta */
    .kagit > table.nb:last-of-type,
    .kagit > table.nb:last-of-type > tbody,
    .kagit > table.nb:last-of-type > tbody > tr,
    .kagit > table.nb:last-of-type > tbody > tr > td {
        display: block !important; width: 100% !important;
        border: none !important; padding: 0 !important;
    }

    /* Köşe testleri ferah */
    table.kosye td { height: auto !important; min-height: 56px !important; padding: 7px !important; }
    .kosye input { font-size: 16px !important; min-height: 28px; }
    table.tek .inline-field input { font-size: 16px !important; min-height: 32px; }

    /* 25 satırlık tablo yana kaydırılır */
    .sira-tablosu-scroll {
        overflow-x: auto !important; -webkit-overflow-scrolling: touch;
        border: 1px solid #dbe7f4; border-radius: 8px; margin-top: 10px;
    }
    .kagit .sira-tablosu {
        display: table !important; min-width: 600px !important; width: 600px !important;
    }
    .kagit .sira-tablosu td { height: 40px !important; }
    .kagit .sira-tablosu input { font-size: 16px !important; height: 32px !important; }

    /* Gözle kontrol: dokunulabilir kutular */
    table.gzl .chk-wrap, table.gzl .chk-real,
    table.gzl .chk-visual { width: 28px !important; height: 28px !important; }
    table.gzl .foto-btn, table.gzl .foto-btn.bos {
        width: 32px !important; height: 32px !important; flex: 0 0 32px !important;
    }

    .alt-tolerans-satiri {
        flex-wrap: wrap !important; justify-content: flex-start !important;
        gap: 4px 14px !important; font-size: 10px !important;
    }

    /* Kaydet butonu: mobilde de içeriği kadar genişliktedir ve
       ekranın altına yapışmaz. (Eskiden width:100% + position:sticky
       ile tam genişlik olup sayfayı kaplıyordu.) */
    .kkf-action-bar, .kkf-action-bar1 {
        position: static;
        padding: 10px 0 12px !important;
        justify-content: center;
    }
    .kkf-btn, .kkf-btn1 {
        width: auto !important; max-width: 100%; min-width: 130px;
        flex: 0 1 auto; justify-content: center;
        padding: 9px 20px !important; font-size: 12px !important;
    }
}

/* Mobilde logo ve adres ortali */
@media screen and (max-width: 900px) {
    .kagit > table.nb:first-of-type > tbody > tr > td:nth-child(1) {
        text-align: center !important;
    }
    .kagit .logo-wrap {
        justify-content: center !important;
    }
    .kagit .addr {
        text-align: center !important;
    }
}

/* ═══════════════════════════════════════════════════
   MOBİL SADELEŞTİRME — çift çerçeveleri kaldır
   ═══════════════════════════════════════════════════ */
@media screen and (max-width: 900px) {

    /* Firma bilgileri: hücre çerçeveleri kalksın, sadece ince ayraç */
    .kagit table.yd { border: none !important; }
    .kagit table.yd td {
        border: none !important;
        border-bottom: 1px solid #eef4fa !important;
        padding: 10px 4px !important;
    }
    .kagit table.yd tr:last-child td:last-child { border-bottom: none !important; }

    /* Gözle kontrol: satır başına tek grup, temiz düzen */
    .kagit table.gzl { border: 1px solid #dfeaf5 !important; border-radius: 10px; padding: 4px 10px !important; }
    .kagit table.gzl tr { border: none !important; }
    .kagit table.gzl td {
        border: none !important;
        border-bottom: 1px solid #f2f7fb !important;
        min-height: 48px !important;
    }
    .kagit table.gzl tr:last-child td { border-bottom: none !important; }
    .kagit table.gzl tr:first-child { display: none !important; }

    /* Köşe / tekrarlanabilirlik tabloları ince çerçeve */
    table.kosye td, table.tek td { border-color: #dfeaf5 !important; }

    /* İmza alanı büyük ve belirgin */
    .sol h4:last-child {
        margin-top: 14px !important;
        padding: 14px 10px 42px !important;
        border: 1px dashed #cfe0f0;
        border-radius: 10px;
        background: #fbfdff;
    }

    /* Ölçüm tablosu kartla arasına boşluk */
    .sira-tablosu-scroll { margin-top: 14px; }
}

/* Mobilde gözle kontrol kartının üstüne sütun başlıkları */
@media screen and (max-width: 900px) {
    .kagit table.gzl { position: relative; padding-top: 30px !important; }
}


/* Mobilde tamir tutanağı: logo ve adres küçültme */
@media screen and (max-width: 900px) {
    .kagit .logo-wrap img,
    .tutanak .logo-wrap img {
        max-height: 34px !important;
        max-width: 105px !important;
    }
    .kagit .addr,
    .tutanak .addr {
        font-size: 8px !important;
        line-height: 1.45 !important;
    }
    .kagit .marka,
    .tutanak .marka { font-size: 13px !important; }
    .kagit .marka-alt,
    .tutanak .marka-alt { font-size: 7px !important; }
}