﻿/* Satırı kutu gibi gösterelim ki seçilince komple çerçeve olsun */
.company-item {
    border: 1px solid var(--bs-border-color);
    border-radius: .5rem;
    padding: .5rem .75rem;
    margin-bottom: .5rem;
    cursor: pointer;
}

    /* Seçili kart */
    .company-item.selected {
        border-color: #0d6efd;
        box-shadow: 0 0 0 .15rem rgba(13,110,253,.15);
    }

    /* Aksiyon butonları sadece hover’da görünsün */
    .company-item .actions {
        opacity: 0;
        transition: opacity .15s ease;
    }

    .company-item:hover .actions {
        opacity: 1;
    }

/* Kart içindeki label, input ve butonlar kendi imleçlerini kullansın */
.company-label {
    cursor: inherit;
}

.company-item.editing {
    cursor: default;
}

.company-item input,
.company-item button,
.company-item .actions {
    cursor: default;
}

/* Sadece dikey kaydır, yatayı kapat */
.company-scroll {
    min-height: 360px;
    max-height: 360px;
    overflow-y: auto;
    overflow-x: hidden;
}

    /* .row’un negatif margin’inden doğan taşmayı engelle */
    .company-scroll .row {
        margin-left: 0;
        margin-right: 0;
    }

/* Inline kartlar */
.inline-card {
    border: 1px solid var(--bs-border-color);
    border-radius: .5rem;
    padding: .75rem;
    background: var(--bs-body-bg);
}

.edit-row {
    border-top: 1px dashed var(--bs-border-color);
    margin-top: .5rem;
    padding-top: .5rem;
}

/* Collapse’larda daha akıcı yükseklik animasyonu */
#companyWrap,
#inlineAdd {
    overflow: hidden;
    will-change: height;
    transition: height .18s ease;
}

/* Toast renkleri */
.toast-success {
    background-color: #d1e7dd !important;
    color: #0f5132 !important;
}

.toast-error {
    background-color: #f8d7da !important;
    color: #842029 !important;
}

.toast-success #toastIcon {
    color: #198754;
}

.toast-error #toastIcon {
    color: #dc3545;
}

/* Login sayfasında invalid glow'u kaldır, sadece kırmızı çizgi kalsın */
#loginForm .form-control.is-invalid,
#loginForm .form-control.is-invalid:focus,
#loginForm .was-validated .form-control:invalid,
#loginForm .was-validated .form-control:invalid:focus {
    box-shadow: none !important;
    border-color: var(--bs-form-invalid-border-color) !important;
}

/* input-group içindeki focus shadow'u da kapat */
#loginForm .input-group > .form-control:focus {
    box-shadow: none !important;
}

/* Login butonu – yükleme efektli */
.btn-login {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    contain: paint;
}

    /* Progress overlay */
    .btn-login.btn-loading::after {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(255,255,255,.18);
        transform: scaleX(1);
        transform-origin: left;
        transition: transform 1.2s ease;
        pointer-events: none;
        border-radius: inherit;
    }

    /* Spinner ve ikon geçişleri */
    .btn-login .btn-icon-check {
        display: none;
    }

    .btn-login .btn-icon-sign {
        display: inline-block;
    }

    .btn-login .btn-spinner {
        display: none;
        width: 1rem;
        height: 1rem;
        border: .15rem solid rgba(255,255,255,.35);
        border-top-color: #fff;
        border-radius: 50%;
        animation: btnspin .8s linear infinite;
        margin-right: .5rem;
        vertical-align: middle;
    }

    .btn-login.btn-loading .btn-spinner {
        display: inline-block;
    }

    .btn-login.btn-loading .btn-icon-sign {
        display: none;
    }

    .btn-login.btn-loading .btn-text {
        opacity: .95;
    }

    .btn-login.btn-done .btn-spinner,
    .btn-login.btn-done .btn-icon-sign {
        display: none;
    }

    .btn-login.btn-done .btn-icon-check {
        display: inline-block;
    }

/* Spinner animasyonu */
@keyframes btnspin {
    to {
        transform: rotate(360deg);
    }
}

/* Gmail tarzı + FAB */
.fab-add-company {
    position: absolute;
    right: 16px;
    bottom: 16px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: 0;
    background: var(--bs-primary);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 18px rgba(0,0,0,.18);
    transition: transform .12s ease, box-shadow .12s ease, opacity .2s ease;
    z-index: 2;
}

    .fab-add-company:hover {
        transform: translateY(-1px);
        box-shadow: 0 8px 22px rgba(0,0,0,.22);
    }

    .fab-add-company:active {
        transform: translateY(0);
        box-shadow: 0 4px 14px rgba(0,0,0,.18);
    }

    .fab-add-company i {
        font-size: 20px;
        line-height: 1;
    }

/* FAB altında içerik kalmasın */
.company-scroll {
    padding-bottom: 72px;
}

.company-actions {
    position: sticky;
    bottom: 0;
    background: var(--bs-body-bg);
    border-top: 1px solid var(--bs-border-color);
    padding: .5rem .25rem .75rem;
    z-index: 1;
}

/* Marka mavisi smooth hover buton */
.btn-hv-primary {
    --hv-bg: var(--bs-primary);
    background: var(--hv-bg);
    color: #fff;
    border: 0;
    border-radius: 9999px;
    padding: .5rem .9rem;
    box-shadow: 0 6px 16px rgba(13,110,253,.15);
    transition: transform .15s ease, box-shadow .2s ease, background-color .2s ease, opacity .2s ease;
}

    .btn-hv-primary:hover {
        transform: translateY(-1px);
        box-shadow: 0 10px 22px rgba(13,110,253,.25);
    }

    .btn-hv-primary:active {
        transform: translateY(0);
        box-shadow: 0 4px 12px rgba(13,110,253,.20);
    }

    .btn-hv-primary:disabled {
        opacity: .65;
    }
/* Tam sayfa hizalama */
.login-full {
    background: var(--bs-body-bg);
}

.min-vh-100 {
    min-height: 100vh !important;
}

/* Split panel (sağ görsel) */
.visual-panel {
    position: relative;
    height: 100%;
    min-height: 560px;
    overflow: hidden;
    background: #0b0f14;
}

.visual-cover {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    filter: saturate(110%) contrast(105%);
    transform: scale(1.02);
}

.visual-shade {
    position: absolute;
    inset: 0;
    background: radial-gradient(120% 80% at 60% 40%, rgba(0,0,0,0) 0%, rgba(0,0,0,.35) 55%, rgba(0,0,0,.75) 100%), linear-gradient(180deg, rgba(0,0,0,.1) 0%, rgba(0,0,0,.65) 65%);
    pointer-events: none;
}

.visual-content {
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 28px;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0,0,0,.35);
}

    .visual-content h3 {
        font-weight: 700;
        letter-spacing: .2px;
    }

/* Kart radius ve gölge zaten row’a verildi */
@media (max-width: 991.98px) {
    .visual-panel {
        display: none;
    }
}

/* Auth üst başlığı (logo + metin) */
.hv-auth-head {
}

.hv-logo {
    height:48px; /* logo boyu */
    width: auto;
    display: inline-block;
}

.hv-brand-name {
    font-size: 1rem;
    color: inherit;
}

.hv-sublead {
    font-size: .925rem; /* biraz küçük, okunaklı */
    line-height: 1.5;
}

/* Koyu tema desteği opsiyonel */
html[data-bs-theme="dark"] .hv-sublead {
    color: rgba(255,255,255,.75) !important;
}


/* Menü sola sabit, Popper translate'i iptal */
.topbar .dropdown.position-relative > .dropdown-menu,
#topbar-custom .dropdown.position-relative > .dropdown-menu {
    left: 0 !important;
    right: auto !important;
    transform: none !important;
    inset: auto auto auto 0 !important; /* bazı temalar inset kullanıyor */
    z-index: 2050 !important; /* sidebar'ın üstüne çık */
    min-width: 360px;
    margin-top: .25rem; /* mt-1 eşdeğeri */
}

/* Üst atalar clipping yapmasın */
.topbar,
.topbar .container-fluid,
#topbar-custom {
    overflow: visible !important;
}

/* Güvenlik payı: sidebar z-index 1030-2000 aralığındaysa menü daima üstte */
.sidebar, .leftbar, .vertical-menu {
    z-index: 1030; /* referans: tema default'u */
}
