/* Onysoft HR — Ana CSS girişi
   Design system tokens (KOPYA — tasarım/tokens'tan, değiştirme) + app stilleri */

@import url('tokens/fonts.css');
@import url('tokens/colors.css');
@import url('tokens/typography.css');
@import url('tokens/layout.css');
@import url('tokens/base.css');

@import url('components.css');
@import url('layouts.css');
@import url('pages/marketing.css');
@import url('pages/legal.css');
@import url('pages/kilavuz.css');
@import url('pages/analitik.css');

/* ---- Genel yardımcılar ---- */
.mono {
    font-family: var(--font-mono);
    font-variant-numeric: tabular-nums;
}

/* Uzun boşluksuz içerik (e-posta, IBAN, kod) dar ekranda sarsın — yatay taşma önleme */
dd, .mono, .field-helper, .legal-content td { overflow-wrap: anywhere; }

.text-secondary { color: var(--text-secondary); }
.text-tertiary  { color: var(--text-tertiary); }
.text-danger    { color: var(--danger-text); }
.text-success   { color: var(--success-text); }

.mt-2 { margin-top: var(--space-2); }
.mt-4 { margin-top: var(--space-4); }
.mt-6 { margin-top: var(--space-6); }
.mb-2 { margin-bottom: var(--space-2); }
.mb-4 { margin-bottom: var(--space-4); }
.mb-6 { margin-bottom: var(--space-6); }

/* Lucide ikonları — design system kuralı stroke 1.5 */
[data-lucide], .lucide {
    stroke-width: 1.5;
    width: 18px;
    height: 18px;
    flex: none;
}

/* Admin taklidi (impersonation) bandı — sticky, topbar'ın üstünde durur */
.taklit-banner {
    position: sticky;
    top: 0;
    z-index: 720;
    display: flex;
    align-items: center;
    gap: 10px;
    height: 44px;
    padding: 0 16px;
    background: var(--warning-bg);
    color: var(--warning-text);
    border-bottom: 1px solid var(--warning);
    font-size: 13px;
}
.taklit-banner > i { width: 17px; height: 17px; flex: none; }
.taklit-banner-txt { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.taklit-banner-admin { opacity: .75; }
.taklit-donus {
    flex: none;
    background: var(--bg-canvas);
    color: var(--warning-text);
    border: 1px solid var(--warning-text);
}
.taklit-donus:hover { background: var(--bg-elevated); }
body.taklit-aktif .topbar { top: 44px; }
@media (max-width: 560px) { .taklit-banner-admin { display: none; } }

/* Çerez onay bandı (KVKK) */
.cerez-bar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 800;
    background: var(--bg-surface); border-top: 1px solid var(--border-default);
    box-shadow: var(--shadow-lg);
    transform: translateY(100%); transition: transform .25s ease;
}
.cerez-bar.is-open { transform: translateY(0); }
.cerez-ic {
    max-width: 1100px; margin: 0 auto; padding: 14px 20px;
    display: flex; align-items: center; gap: 16px; flex-wrap: wrap; justify-content: space-between;
}
.cerez-ic p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--text-secondary); flex: 1; min-width: 240px; }
.cerez-ic a { color: var(--accent); text-decoration: underline; }
.cerez-btns { display: flex; gap: 8px; flex: none; }

/* PayTR ödeme iframe sarmalayıcı (harici resizer yok → sabit yükseklik) */
.odeme-iframe-sar { width: 100%; min-height: 720px; }
.odeme-iframe-sar iframe { width: 100%; height: 720px; display: block; }

/* İletişim — gömülü Google Maps */
.iletisim-harita-kart { min-height: 320px; }
.iletisim-harita { width: 100%; height: 100%; min-height: 320px; border: 0; display: block; filter: grayscale(0.15); }

/* Ekran okuyucu için gizli */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}
