/* =========================================================
   İşgören Asansör - Site Stili (Turkuaz ağırlıklı tema)
   ========================================================= */
:root{
    --primary:        #0e8a8f;
    --primary-dark:   #0a5f63;
    --primary-darker: #073e40;
    --primary-light:  #14b8b6;
    --primary-pale:   #e5f8f7;
    --accent:         #f4a825;
    --ink:            #123033;
    --muted:          #5a7477;
    --border:         #d7ecec;
    --white:          #ffffff;
    --danger:         #d64545;
    --success:        #1f9d55;
    --radius:         14px;
    --shadow:         0 10px 30px rgba(10, 60, 62, .10);
    --shadow-sm:      0 4px 14px rgba(10, 60, 62, .08);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
    margin:0;
    font-family:'Poppins', Arial, sans-serif;
    color:var(--ink);
    background:var(--white);
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
h1,h2,h3,h4{ margin:0 0 .5em; line-height:1.25; font-weight:700; }
p{ margin:0 0 1em; color:var(--muted); }
.container{ width:100%; max-width:1180px; margin:0 auto; padding:0 20px; }

/* ---------- Buttons ---------- */
.btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:13px 26px; border-radius:50px; font-weight:600; font-size:.95rem;
    border:2px solid transparent; cursor:pointer; transition:.2s ease; text-align:center;
}
.btnPrimary{ background:var(--primary); color:#fff; }
.btnPrimary:hover{ background:var(--primary-dark); transform:translateY(-2px); }
.btnOutline{ background:transparent; border-color:var(--primary); color:var(--primary); }
.btnOutline:hover{ background:var(--primary); color:#fff; }
.btnWhatsapp{ background:#25D366; color:#fff; }
.btnWhatsapp:hover{ background:#1ea952; transform:translateY(-2px); }
.btnWhatsappSmall{ background:#25D366; color:#fff; padding:8px 16px; font-size:.8rem; }
.btnBlock{ width:100%; }

/* ---------- Top floating buttons ---------- */
.whatsappFloat, .callFloat{
    position:fixed; right:22px; z-index:999; width:58px; height:58px; border-radius:50%;
    display:flex; align-items:center; justify-content:center; color:#fff;
    box-shadow:0 8px 22px rgba(0,0,0,.25); transition:.2s;
}
.whatsappFloat{ bottom:90px; background:#25D366; animation:pulse 2.2s infinite; }
.whatsappFloat:hover{ transform:scale(1.08); }
.callFloat{ bottom:22px; background:var(--primary); }
.callFloat:hover{ transform:scale(1.08); background:var(--primary-dark); }
@keyframes pulse{
    0%{ box-shadow:0 0 0 0 rgba(37,211,102,.55); }
    70%{ box-shadow:0 0 0 14px rgba(37,211,102,0); }
    100%{ box-shadow:0 0 0 0 rgba(37,211,102,0); }
}

/* ---------- Icons (inline, no external deps) ---------- */
.ic{ display:inline-block; width:15px; height:15px; margin-right:6px; vertical-align:-2px; background-color:currentColor; }
.ic-phone{ -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.02-.24 11.36 11.36 0 0 0 3.56.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.4 21 3 13.6 3 4.5a1 1 0 0 1 1-1h3.49a1 1 0 0 1 1 1 11.36 11.36 0 0 0 .57 3.56 1 1 0 0 1-.25 1.02z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.02-.24 11.36 11.36 0 0 0 3.56.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.4 21 3 13.6 3 4.5a1 1 0 0 1 1-1h3.49a1 1 0 0 1 1 1 11.36 11.36 0 0 0 .57 3.56 1 1 0 0 1-.25 1.02z'/%3E%3C/svg%3E") center/contain no-repeat; }
.ic-mail{ -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 5h20v14H2zm2 2 8 6 8-6' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 5h20v14H2zm2 2 8 6 8-6' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat; }
.ic-pin{ -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/%3E%3C/svg%3E") center/contain no-repeat; }

/* ---------- Header ---------- */
.topBar{ background:var(--primary-darker); color:#cdeceb; font-size:.82rem; }
.topBarInner{ display:flex; align-items:center; justify-content:space-between; padding:8px 20px; flex-wrap:wrap; gap:6px; }
.topBarInfo{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.topBarInfo a{ display:inline-flex; align-items:center; color:#cdeceb; }
.topBarInfo a:hover{ color:#fff; }
.topBarActions{ display:flex; align-items:center; gap:14px; }
.topBarLogin{ font-weight:600; color:#fff; }
.topBarLogin:hover{ color:var(--accent); }

.mainBar{ background:#fff; box-shadow:0 2px 12px rgba(10,60,62,.06); position:sticky; top:0; z-index:500; }
.mainBarInner{ display:flex; align-items:center; gap:24px; padding:14px 20px; }
.brand{ display:flex; align-items:center; gap:12px; margin-right:auto; }
.brandMark{ width:48px; height:48px; flex-shrink:0; }
.brandText strong{ display:block; font-size:1.05rem; color:var(--primary-darker); }
.brandText small{ color:var(--muted); font-size:.72rem; letter-spacing:.03em; }

.mainNav ul{ display:flex; align-items:center; gap:6px; }
.mainNav a{ display:block; padding:10px 14px; border-radius:8px; font-weight:500; color:var(--ink); font-size:.95rem; }
.mainNav a:hover, .mainNav a.active{ color:var(--primary); background:var(--primary-pale); }
.navCustomerLink{ display:none; }

.navToggle{ display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:6px; }
.navToggle span{ width:24px; height:2px; background:var(--ink); border-radius:2px; }

.quoteBtnHeader{ white-space:nowrap; }

.flashMessage{ margin:16px 0; padding:14px 18px; border-radius:10px; font-weight:500; }
.flash-success{ background:#e6f7ec; color:var(--success); border:1px solid #b9e6c8; }
.flash-error{ background:#fbe9e9; color:var(--danger); border:1px solid #f0c4c4; }

/* ---------- Hero ---------- */
.hero{
    background:linear-gradient(120deg, var(--primary-darker), var(--primary) 60%, var(--primary-light));
    color:#fff; padding:90px 0 110px; position:relative; overflow:hidden;
}
.hero::after{
    content:""; position:absolute; inset:0;
    background:radial-gradient(circle at 85% 20%, rgba(255,255,255,.12), transparent 55%);
}
.heroSlider{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.heroSlider img{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    opacity:0; transition:opacity 1.4s ease;
}
.heroSlider img.active{ opacity:1; }
/* Görsel görünür kalsın, sadece metnin oturduğu sol taraf okunaklılık için karartılsın */
.heroOverlay{
    position:absolute; inset:0; z-index:1;
    background:linear-gradient(100deg, rgba(6,47,49,.94) 0%, rgba(7,62,64,.86) 30%, rgba(7,62,64,.45) 55%, rgba(7,62,64,.12) 78%, rgba(7,62,64,0) 100%);
}
@media (max-width: 860px){
    .heroOverlay{ background:linear-gradient(180deg, rgba(6,47,49,.94) 0%, rgba(7,62,64,.88) 45%, rgba(7,62,64,.55) 75%, rgba(7,62,64,.35) 100%); }
}
.heroInner{ position:relative; z-index:2; max-width:640px; }

/* ---------- Gerçek görsel kullanılan splitImage kutuları ---------- */
.splitImagePhoto{ padding:0; overflow:hidden; }
.splitImagePhoto img{ width:100%; height:100%; min-height:340px; object-fit:cover; display:block; }
.heroEyebrow{ display:inline-block; background:rgba(255,255,255,.15); padding:6px 16px; border-radius:50px; font-size:.8rem; font-weight:600; letter-spacing:.04em; margin-bottom:18px; }
.hero h1{ font-size:2.6rem; color:#fff; margin-bottom:.4em; }
.hero p{ color:#dff5f4; font-size:1.05rem; max-width:520px; }
.heroActions{ display:flex; gap:14px; margin-top:28px; flex-wrap:wrap; }
.heroStats{ display:flex; gap:36px; margin-top:46px; flex-wrap:wrap; position:relative; }
.heroStats div strong{ display:block; font-size:1.8rem; color:#fff; }
.heroStats div span{ font-size:.82rem; color:#cdeceb; }

/* ---------- Sections ---------- */
section{ padding:70px 0; }
.sectionHead{ text-align:center; max-width:640px; margin:0 auto 42px; }
.sectionEyebrow{ color:var(--primary); font-weight:700; letter-spacing:.06em; font-size:.8rem; text-transform:uppercase; }
.sectionHead h2{ font-size:2rem; color:var(--primary-darker); }
.bgPale{ background:var(--primary-pale); }

/* ---------- Service cards ---------- */
.serviceGrid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); gap:24px; }
.serviceCard{
    background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:30px 26px;
    box-shadow:var(--shadow-sm); transition:.25s; display:flex; flex-direction:column;
}
.serviceCard:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:var(--primary-light); }
.serviceIcon{
    width:54px; height:54px; border-radius:14px; background:var(--primary-pale); color:var(--primary);
    display:flex; align-items:center; justify-content:center; font-size:1.5rem; margin-bottom:16px; font-weight:700;
}
.serviceCard h3{ font-size:1.15rem; color:var(--primary-darker); }
.serviceCard a.more{ margin-top:auto; color:var(--primary); font-weight:600; font-size:.9rem; }
.serviceCard a.more:hover{ text-decoration:underline; }

/* ---------- About / split ---------- */
.splitSection{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.splitImage{ background:linear-gradient(135deg, var(--primary), var(--primary-dark)); border-radius:var(--radius); min-height:340px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:3rem; font-weight:800; }
.checklist li{ display:flex; gap:10px; margin-bottom:10px; color:var(--ink); }
.checklist li::before{ content:"✓"; color:var(--primary); font-weight:800; }

/* ---------- References ---------- */
.refGrid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(230px,1fr)); gap:20px; }
.refCard{ background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow-sm); }
.refTag{ display:inline-block; background:var(--primary-pale); color:var(--primary-dark); font-size:.72rem; font-weight:700; padding:4px 10px; border-radius:50px; margin-bottom:10px; }
.refCard h4{ margin-bottom:2px; color:var(--primary-darker); }
.refCard span{ color:var(--muted); font-size:.85rem; }

/* ---------- Announcements ---------- */
.announceGrid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(280px,1fr)); gap:24px; }
.announceCard{ background:#fff; border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; }
.announceCard .body{ padding:22px 24px; }
.announceDate{ color:var(--primary); font-weight:600; font-size:.8rem; }
.announceCard h3{ font-size:1.1rem; margin:6px 0 10px; color:var(--primary-darker); }

/* ---------- CTA band ---------- */
.ctaBand{ background:linear-gradient(120deg, var(--primary-dark), var(--primary)); color:#fff; text-align:center; }
.ctaBand h2{ color:#fff; }
.ctaBand p{ color:#dff5f4; }
.ctaActions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:20px; }

/* ---------- Contact / Quote form ---------- */
.contactGrid{ display:grid; grid-template-columns:1fr 1.15fr; gap:40px; align-items:start; }
.contactInfoCard{ background:var(--primary-pale); border-radius:var(--radius); padding:30px; }
.contactInfoCard h3{ color:var(--primary-darker); }
.contactInfoRow{ display:flex; gap:12px; margin-bottom:18px; align-items:flex-start; }
.contactInfoRow .ic{ width:20px; height:20px; margin-top:2px; color:var(--primary); }
.formCard{ background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:32px; box-shadow:var(--shadow-sm); }
.formRow{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.formGroup{ margin-bottom:16px; }
.formGroup label{ display:block; font-size:.85rem; font-weight:600; margin-bottom:6px; color:var(--ink); }
.formGroup input, .formGroup select, .formGroup textarea{
    width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:10px; font-family:inherit; font-size:.95rem;
    background:#fbfffe; transition:.15s;
}
.formGroup input:focus, .formGroup select:focus, .formGroup textarea:focus{ outline:none; border-color:var(--primary); box-shadow:0 0 0 3px var(--primary-pale); }
.formGroup textarea{ min-height:120px; resize:vertical; }
.formNote{ font-size:.78rem; color:var(--muted); margin-top:10px; }
.mapDirectionsLink{ display:inline-block; margin-top:4px; color:var(--primary); font-weight:600; font-size:.85rem; }
.mapDirectionsLink:hover{ text-decoration:underline; }
.mapEmbedWrap{ border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); border:1px solid var(--border); }
.mapEmbedWrap iframe{ width:100%; height:380px; border:0; display:block; }
.formResult{ margin-top:14px; font-size:.88rem; font-weight:500; }
.formResult.flash-success{ padding:12px 16px; border-radius:10px; }
.formResult.flash-error{ padding:12px 16px; border-radius:10px; }

/* ---------- Footer ---------- */
.siteFooter{ background:var(--primary-darker); color:#bfe4e2; margin-top:40px; }
.footerGrid{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1.2fr; gap:36px; padding:60px 20px 40px; }
.footerCol h3{ color:#fff; font-size:1rem; margin-bottom:16px; }
.footerCol p, .footerCol address{ color:#9dc9c7; font-style:normal; font-size:.9rem; }
.footerLinks li{ margin-bottom:10px; }
.footerLinks a{ color:#bfe4e2; font-size:.9rem; }
.footerLinks a:hover{ color:#fff; }
.footerCol a{ color:#bfe4e2; }
.footerSocial{ display:flex; gap:10px; margin-top:16px; }
.footerSocial a{ width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; font-weight:700; }
.footerSocial a:hover{ background:var(--primary); }
.footerWaBtn{ margin-top:14px; }
.brandFooter .brandText strong{ color:#fff; }
.footerBottom{ border-top:1px solid rgba(255,255,255,.12); padding:18px 20px; text-align:center; font-size:.82rem; color:#9dc9c7; }

/* ---------- Auth / Customer portal ---------- */
.authWrap{ min-height:70vh; display:flex; align-items:center; justify-content:center; padding:60px 20px; background:var(--primary-pale); }
.authCard{ background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); padding:40px; width:100%; max-width:420px; }
.authCard h1{ font-size:1.5rem; color:var(--primary-darker); text-align:center; }
.authCard .sub{ text-align:center; color:var(--muted); margin-bottom:24px; font-size:.9rem; }
.demoHint{ background:var(--primary-pale); border:1px dashed var(--primary-light); color:var(--primary-dark); font-size:.8rem; padding:10px 14px; border-radius:10px; margin-top:14px; text-align:center; }

.dashHeader{ background:linear-gradient(120deg, var(--primary-darker), var(--primary)); color:#fff; padding:36px 0; }
.dashHeaderInner{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; }
.dashHeader h1{ color:#fff; font-size:1.5rem; margin:0; }
.dashHeader p{ color:#dff5f4; margin:0; }
.dashNav{ display:flex; gap:10px; flex-wrap:wrap; margin:26px 0 34px; }
.dashNav a{ padding:9px 16px; border-radius:50px; background:var(--primary-pale); color:var(--primary-dark); font-weight:600; font-size:.87rem; }
.dashNav a.active, .dashNav a:hover{ background:var(--primary); color:#fff; }

.cardGrid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:20px; }
.liftCard{ background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow-sm); }
.liftCard h3{ color:var(--primary-darker); font-size:1.05rem; }
.liftMeta{ font-size:.85rem; color:var(--muted); margin-bottom:14px; }
.statusPill{ display:inline-flex; align-items:center; gap:6px; padding:4px 12px 4px 10px; border-radius:50px; font-size:.75rem; font-weight:700; border-left:4px solid transparent; }
.statusPill::before{ content:""; width:8px; height:8px; border-radius:50%; background:currentColor; flex-shrink:0; }
.statusPill.aktif{ background:#e6f7ec; color:var(--success); border-left-color:var(--success); }
.statusPill.bakimda{ background:#fff8e1; color:#b8960b; border-left-color:#b8960b; }
.statusPill.kirmizi{ background:#fdeaea; color:var(--danger); border-left-color:var(--danger); }
.statusPill.sari{ background:#fff8e1; color:#b8960b; border-left-color:#b8960b; }
.statusPill.mavi{ background:#e3f2fd; color:#1565c0; border-left-color:#1565c0; }
.statusPill.belirsiz{ background:#f1f1f1; color:var(--muted); border-left-color:var(--muted); }
details.asansorAcilir{ margin:14px 0; }
details.asansorAcilir summary{ cursor:pointer; font-weight:600; font-size:.85rem; color:var(--primary); padding:8px 0; list-style:none; }
details.asansorAcilir summary::-webkit-details-marker{ display:none; }
details.asansorAcilir summary::before{ content:"▸ "; }
details.asansorAcilir[open] summary::before{ content:"▾ "; }
.asansorSatiri{ padding:12px; background:var(--primary-pale); border-radius:10px; margin-bottom:8px; }
.pillSatiri{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.statusPill{ margin:0; }
.infoPill{ display:inline-flex; align-items:center; padding:4px 12px; border-radius:50px; font-size:.75rem; font-weight:600; background:#eef2f2; color:var(--ink); border-left:4px solid transparent; }
.asansorSatiri:last-child{ margin-bottom:0; }
.binaBakiye{ font-size:.85rem; margin:8px 0 4px; }
.binaBakiye strong{ font-size:1.05rem; }
.revizyonHedef{ margin-top:8px; font-size:.78rem; font-weight:700; color:var(--muted); }
.revizyonHedef.yaklasiyor{ color:#b5720b; }
.revizyonHedef.gecikti{ color:var(--danger); }
.liftFacts{ margin:14px 0; font-size:.85rem; }
.liftFacts div{ display:flex; justify-content:space-between; padding:6px 0; border-bottom:1px dashed var(--border); }

.dataTable{ width:100%; border-collapse:collapse; background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); }
.dataTable th, .dataTable td{ padding:14px 16px; text-align:left; font-size:.9rem; border-bottom:1px solid var(--border); }
.dataTable th{ background:var(--primary-pale); color:var(--primary-darker); font-weight:700; }
.dataTable tr:last-child td{ border-bottom:none; }
.amountDebt{ color:var(--danger); font-weight:600; }
.amountCredit{ color:var(--success); font-weight:600; }
.balanceRow{ font-weight:700; background:var(--primary-pale); }

.emptyState{ text-align:center; padding:50px 20px; color:var(--muted); }

/* ---------- Admin (eski basit topbar - geriye dönük uyumluluk) ---------- */
.adminTopbar{ background:var(--primary-darker); color:#fff; padding:16px 0; }
.adminTopbarInner{ display:flex; justify-content:space-between; align-items:center; }
.adminTable-wrap{ overflow-x:auto; }
.badge{ padding:3px 10px; border-radius:50px; font-size:.72rem; font-weight:700; background:var(--primary-pale); color:var(--primary-dark); }

/* ---------- Admin (sidebar paneli) ---------- */
.adminBody{ background:var(--primary-pale); min-height:100vh; font-family:'Poppins', Arial, sans-serif; color:var(--ink); }
.adminWrap{ display:flex; min-height:100vh; align-items:stretch; }
.adminSidebar{ width:240px; flex-shrink:0; background:var(--primary-darker); color:#cdeceb; padding:22px 0; }
.adminBrand{ display:flex; align-items:center; gap:10px; padding:0 20px 22px; border-bottom:1px solid rgba(255,255,255,.1); margin-bottom:10px; }
.adminBrand img{ width:36px; height:36px; }
.adminBrand strong{ color:#fff; font-size:.92rem; display:block; line-height:1.3; }
.adminBrand span{ color:#9dc9c7; font-size:.72rem; }
.adminNav{ display:flex; flex-direction:column; }
.adminNav a{ display:flex; align-items:center; gap:10px; padding:12px 20px; color:#cdeceb; font-weight:500; font-size:.88rem; border-left:3px solid transparent; }
.adminNav a:hover{ background:rgba(255,255,255,.06); color:#fff; }
.adminNav a.active{ background:rgba(255,255,255,.1); color:#fff; border-left-color:var(--accent); font-weight:600; }
.adminNav .navDivider{ height:1px; background:rgba(255,255,255,.12); margin:14px 20px; }
.adminMain{ flex:1; min-width:0; }
.adminTopHeader{ background:#fff; border-bottom:1px solid var(--border); padding:18px 28px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }
.adminTopHeader h1{ font-size:1.25rem; margin:0; color:var(--primary-darker); }
.adminTopHeader .adminUser{ font-size:.85rem; color:var(--muted); }
.adminContent{ padding:28px; max-width:1200px; }
.statGrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:16px; margin-bottom:28px; }
.statCard{ background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:20px; box-shadow:var(--shadow-sm); }
.statCard strong{ display:block; font-size:1.6rem; color:var(--primary-darker); }
.statCard span{ font-size:.82rem; color:var(--muted); }
.adminCard{ background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow-sm); margin-bottom:24px; }
.adminCard h2{ font-size:1.1rem; color:var(--primary-darker); margin-bottom:16px; }
.adminActionsRow{ display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; flex-wrap:wrap; gap:10px; }
.rowActions{ display:flex; gap:8px; flex-wrap:wrap; }
.rowActions a, .rowActions button{ font-size:.78rem; padding:6px 12px; border-radius:50px; border:1px solid var(--border); background:#fff; color:var(--ink); cursor:pointer; font-family:inherit; }
.rowActions a.danger, .rowActions button.danger{ color:var(--danger); border-color:#f0c4c4; }
.rowActions a:hover, .rowActions button:hover{ background:var(--primary-pale); }
.adminFormGrid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.helpText{ font-size:.78rem; color:var(--muted); margin-top:4px; }

@media (max-width: 900px){
    .adminWrap{ flex-direction:column; }
    .adminSidebar{ width:100%; padding:14px 0; }
    .adminBrand{ padding:0 16px 14px; }
    .adminNav{ flex-direction:row; overflow-x:auto; padding:0 10px; }
    .adminNav a{ border-left:none; border-bottom:3px solid transparent; white-space:nowrap; padding:10px 14px; }
    .adminNav a.active{ border-bottom-color:var(--accent); border-left-color:transparent; }
    .adminNav .navDivider{ display:none; }
    .adminContent{ padding:18px; }
    .adminFormGrid{ grid-template-columns:1fr; }
}

/* ---------- Müşteri portalı: onay listeleri + imza pad ---------- */
.approvalCard{ background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow-sm); margin-bottom:20px; }
.approvalCard h3{ color:var(--primary-darker); font-size:1.05rem; margin-bottom:6px; }
.approvalMeta{ font-size:.85rem; color:var(--muted); margin-bottom:14px; }
.approvalDetay{ font-size:.88rem; color:var(--ink); margin-bottom:14px; }
.approvalDetay table{ width:100%; border-collapse:collapse; }
.approvalDetay td{ padding:6px 4px; border-bottom:1px dashed var(--border); }
.imzaPadWrap{ margin:16px 0; }
.imzaPadCanvas{ width:100%; height:160px; border:1px dashed var(--primary-light); border-radius:10px; background:#fbfffe; touch-action:none; display:block; }
.imzaPadActions{ display:flex; justify-content:space-between; align-items:center; margin-top:8px; gap:10px; flex-wrap:wrap; }
.imzaPadActions button{ font-size:.8rem; padding:6px 14px; border-radius:50px; border:1px solid var(--border); background:#fff; color:var(--ink); cursor:pointer; font-family:inherit; }
.notifCard{ background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:18px 22px; box-shadow:var(--shadow-sm); margin-bottom:14px; }
.notifCard .notifDate{ font-size:.78rem; color:var(--muted); }
.notifCard h4{ color:var(--primary-darker); font-size:1rem; margin:4px 0; }
.pdfLink{ display:inline-block; margin-top:6px; font-size:.85rem; color:var(--primary); font-weight:600; }
.pdfLink:hover{ text-decoration:underline; }

/* ---------- Utility ---------- */
.hideMobile{ }
.textCenter{ text-align:center; }
.mt0{ margin-top:0; }

/* ---------- Responsive ---------- */
@media (max-width: 980px){
    .footerGrid{ grid-template-columns:1fr 1fr; }
    .splitSection{ grid-template-columns:1fr; }
    .contactGrid{ grid-template-columns:1fr; }
}
@media (max-width: 860px){
    .hideMobile{ display:none; }
    .navToggle{ display:flex; }
    .mainNav{
        position:absolute; top:100%; left:0; right:0; background:#fff; box-shadow:var(--shadow);
        max-height:0; overflow:hidden; transition:max-height .25s ease;
    }
    .mainNav.open{ max-height:520px; }
    .mainNav ul{ flex-direction:column; align-items:stretch; padding:10px 20px 20px; gap:2px; }
    .navCustomerLink{ display:block; border-top:1px solid var(--border); margin-top:6px; padding-top:6px; }
    .quoteBtnHeader{ display:none; }
    .hero h1{ font-size:2rem; }
    .formRow{ grid-template-columns:1fr; }
    .footerGrid{ grid-template-columns:1fr; padding:44px 20px 30px; }
    .dashHeaderInner{ flex-direction:column; align-items:flex-start; }
}
@media (max-width: 480px){
    .heroStats{ gap:22px; }
    .whatsappFloat, .callFloat{ width:50px; height:50px; right:14px; }
    .whatsappFloat{ bottom:78px; }
    .callFloat{ bottom:16px; }
}
