:root {
    --primary: #2563eb;
    --primary-dark: #1d4ed8;
    --primary-light: #dbeafe;
    --secondary: #f59e0b;
    --success: #10b981;
    --danger: #ef4444;
    --dark: #1e293b;
    --light: #f8fafc;
    --gray: #94a3b8;
    --radius: 12px;
    --shadow: 0 2px 12px rgba(0,0,0,0.06);
    --shadow-lg: 0 12px 40px rgba(0,0,0,0.12);
}

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

html {
    overflow-x: clip;
    max-width: 100vw;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color:#f1f5f9;
    color: #1e293b;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
    overflow-x: hidden;
}

a { color: var(--primary); text-decoration: none; }
a:hover { color: var(--primary-dark); }

.navbar-brand { font-size:1.15rem; letter-spacing:-0.5px; }
.navbar-logo-icon {
    width:40px;height:40px;border-radius:10px;
    background:rgba(255,255,255,0.2);
    display:flex;align-items:center;justify-content:center;
    color:#fff;font-size:1.1rem;
    flex-shrink:0;
}
@media(max-width:575.98px){
    .navbar-brand span.fw-bold{font-size:.92rem}
    .navbar-logo-icon{width:34px;height:34px;font-size:.95rem}
}
#mainNavbar { background:linear-gradient(135deg,#0f172a 0%,#1e3a5f 100%); transition:background 0.3s,box-shadow 0.3s; z-index:1050; }
#mainNavbar.navbar-scrolled { background:linear-gradient(135deg,#0f172a 0%,#1e3a5f 100%); box-shadow:0 4px 24px rgba(0,0,0,0.25)!important; }
.navbar .dropdown-menu { z-index:1060; }
.nav-logout-mobile { border-radius:8px!important; font-size:.78rem!important; font-weight:600!important; padding:5px 10px!important; white-space:nowrap; }
.navbar .nav-link { font-size:0.9rem;font-weight:500;padding:0.5rem 0.75rem;color:rgba(255,255,255,0.9); }
.navbar .nav-link:hover { color:#fff; }
.navbar .nav-link.active { color:#fff;font-weight:600; }
.navbar .dropdown-menu { border-radius:12px; box-shadow:var(--shadow-lg); border:none; }
.navbar .dropdown-toggle::after { display:none; }

.nav-user-chip {
    display:flex;
    align-items:center;
    gap:8px;
    background:rgba(255,255,255,0.12);
    border:1px solid rgba(255,255,255,0.25);
    border-radius:50px;
    padding:4px 12px 4px 4px;
    color:#fff;
    font-size:.85rem;
    font-weight:600;
    cursor:pointer;
    transition:all 0.2s;
    line-height:1;
}
.nav-user-chip:hover {
    background:rgba(255,255,255,0.2);
    border-color:rgba(255,255,255,0.4);
}
.nav-user-chip .nav-user-avatar {
    width:28px;
    height:28px;
    border-radius:50%;
    background:linear-gradient(135deg,#10b981,#059669);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:.75rem;
    font-weight:700;
    color:#fff;
    flex-shrink:0;
}
.nav-user-chip .nav-user-name {
    max-width:120px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.nav-user-chip .nav-user-chevron {
    font-size:.55rem;
    opacity:.7;
    margin-left:-2px;
    transition:transform 0.2s,opacity 0.2s;
}
.nav-user-chip[aria-expanded="true"] .nav-user-chevron {
    transform:rotate(180deg);
    opacity:1;
}

.navbar-toggler {
    padding:6px 12px;
    border-radius:10px;
    border:2px solid rgba(255,255,255,0.3)!important;
    transition:all 0.2s;
}
.navbar-toggler:active { transform:scale(0.92); }
.navbar-toggler:focus { box-shadow:0 0 0 3px rgba(255,255,255,0.25); }

@media (max-width:991.98px) {
    .navbar-collapse {
        background:#fff!important;
        border-radius:0 0 20px 20px;
        box-shadow:0 12px 40px rgba(0,0,0,0.18);
        padding:12px 0 16px;
        max-height:80vh;
        overflow-y:auto;
    }
    .navbar-collapse .nav-link {
        color:#1e293b!important;
        padding:12px 20px;
        border-radius:10px;
        font-weight:500;
        font-size:.95rem;
        display:flex;
        align-items:center;
        gap:10px;
        transition:background .15s,color .15s;
    }
    .navbar-collapse .nav-link:hover,
    .navbar-collapse .nav-link.active {
        background:#eff6ff!important;
        color:#2563eb!important;
    }
    .navbar-collapse .nav-link i {
        width:20px;
        text-align:center;
        font-size:.9rem;
        color:#94a3b8;
    }
    .navbar-collapse .nav-link:hover i,
    .navbar-collapse .nav-link.active i { color:#2563eb; }
    .navbar-collapse .dropdown-menu {
        background:#f8fafc;
        border:none;
        box-shadow:none;
        border-radius:10px;
        margin:4px 12px;
        padding:4px 8px;
    }
    .navbar-collapse .dropdown-menu.show {
        display:block;
    }
    .navbar-collapse .dropdown-item {
        color:#1e293b;
        padding:10px 16px;
        border-radius:8px;
        font-size:.9rem;
    }
    .navbar-collapse .dropdown-item:hover { background:#eff6ff;color:#2563eb; }
    .nav-right {
        flex-direction:column!important;
        gap:10px!important;
        padding:12px 16px 8px;
        border-top:1px solid #f1f5f9;
        margin-top:4px;
        width:100%;
    }
    .nav-right .btn {
        width:100%;
        justify-content:center;
        padding:12px;
        border-radius:12px;
        font-size:.95rem;
    }
    .nav-right .btn-outline-light {
        background:#fff!important;
        color:#2563eb!important;
        border-color:#2563eb!important;
        font-weight:600;
    }
    .nav-right .btn-outline-light:hover {
        background:#2563eb!important;
        color:#fff!important;
        border-color:#2563eb!important;
    }
    .nav-right .btn-warning {
        background:#f59e0b!important;
        color:#fff!important;
        border-color:#f59e0b!important;
        font-weight:600;
    }
    .nav-right .dropdown {
        width:100%;
    }
    .nav-right .dropdown .btn {
        width:100%;
        text-align:left;
    }
    .nav-right .dropdown .nav-user-chip {
        width:100%;
        justify-content:center;
        background:#fff!important;
        color:#2563eb!important;
        border-color:#2563eb!important;
        border-radius:12px;
        padding:10px 14px;
        font-size:.95rem;
    }
    .nav-right .dropdown .nav-user-chip .nav-user-avatar {
        background:linear-gradient(135deg,#2563eb,#1d4ed8);
    }
    .nav-right .dropdown .nav-user-chip .nav-user-name {
        color:#0f172a;
        max-width:160px;
    }
    .nav-right .dropdown .nav-user-chip .nav-user-chevron {
        color:#2563eb;
        opacity:1;
    }
    .nav-right .dropdown-menu {
        width:100%;
        background:#f8fafc;
        border:none;
        box-shadow:none;
        border-radius:10px;
        margin:4px 0;
        padding:4px 8px;
    }
    .nav-right .dropdown-menu.show {
        display:block;
    }
    .nav-right .dropdown-item {
        color:#1e293b;
        padding:10px 16px;
        border-radius:8px;
        font-size:.9rem;
    }
    .nav-right .dropdown-item:hover { background:#eff6ff;color:#2563eb; }
    .nav-right .dropdown-item.text-danger { color:#ef4444; }
    .nav-right .dropdown-item.text-danger:hover { background:#fef2f2;color:#dc2626; }
    .navbar-collapse .dropdown .dropdown-menu.show {
        display:block;
        position:static!important;
        float:none;
        width:100%;
        border:none;
        box-shadow:none;
        background:#f8fafc;
        border-radius:10px;
        margin:4px 12px;
        padding-left:20px;
    }
}

@media (min-width:992px) {
    #mainNavbar .dropdown-menu {
        border-radius:12px;
        border:1px solid #e2e8f0;
        box-shadow:0 12px 32px rgba(0,0,0,0.12);
        padding:8px 0;
        min-width:200px;
    }
    #mainNavbar .dropdown-item {
        padding:8px 16px;
        font-size:.88rem;
        border-radius:8px;
        margin:2px 4px;
        white-space:nowrap;
    }
}

.auth-page { background:linear-gradient(135deg,#f0f4ff 0%,#e8eeff 100%);min-height:100vh; }
.auth-logo-icon {
    width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));
    display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;margin:0 auto;
}
.category-pop-card { display:block;transition:all 0.3s;border-radius:16px; }
.category-pop-card:hover { transform:translateY(-4px);text-decoration:none; }
.category-pop-card:hover .card { box-shadow:0 12px 32px rgba(37,99,235,0.15); }
.category-pop-icon {
    width:52px;height:52px;border-radius:12px;background:linear-gradient(135deg,var(--primary-light),#bfdbfe);
    display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:1.4rem;
}
.step-card-modern { padding:2rem 1.5rem; }
.step-icon-wrap {
    width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--primary-light),#bfdbfe);
    display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--primary);
}
.step-number-modern {
    width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;
    display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:0.85rem;
}
.most-searched-card {
    background:#fff;border:1px solid #e2e8f0;transition:all 0.3s;
}
.most-searched-card:hover {
    border-color:var(--primary);box-shadow:0 4px 16px rgba(37,99,235,0.1);transform:translateY(-2px);
}
.most-searched-icon {
    width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--primary-light),#bfdbfe);
    display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:1rem;flex-shrink:0;
}
.talep-card-modern { transition:all 0.3s;border-radius:12px; }
.talep-card-modern:hover { transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,0.1); }

.btn-primary {
    background-color:var(--primary);
    border-color:var(--primary);
    border-radius:var(--radius);
    padding:12px 30px;
    font-weight:600;
    transition:all 0.3s;
}

.btn-primary:hover {
    background-color:var(--primary-dark);
    border-color:var(--primary-dark);
    transform:translateY(-2px);
    box-shadow:0 4px 12px rgba(37,99,235,0.3);
}

.btn-warning {
    background-color:var(--secondary);
    border-color:var(--secondary);
    border-radius:var(--radius);
    padding:12px 30px;
    font-weight:600;
    color:#fff;
    transition:all 0.3s;
}

.btn-warning:hover {
    background-color:#d97706;
    border-color:#d97706;
    transform:translateY(-2px);
    color:#fff;
}

.category-card {
    background:white;
    border-radius:var(--radius);
    padding:28px;
    text-align:center;
    transition:all 0.3s;
    box-shadow:var(--shadow);
    border:2px solid transparent;
    height:100%;
}

.category-card:hover {
    transform:translateY(-8px);
    box-shadow:0 12px 40px rgba(37,99,235,0.12);
    border-color:var(--primary);
}

.category-card .icon {
    width:70px; height:70px;
    border-radius:50%;
    background:linear-gradient(135deg, var(--primary), var(--primary-dark));
    display:flex; align-items:center; justify-content:center;
    margin:0 auto 16px;
    color:white;
    font-size:1.6rem;
}

.category-card h6 { font-weight:700; color:var(--dark); margin-bottom:8px; }
.category-card p { color:var(--gray); font-size:0.85rem; }

.how-it-works { padding:80px 0; }

.step-card { text-align:center; padding:30px 20px; }

.step-card .step-number {
    width:60px; height:60px;
    border-radius:50%;
    background:linear-gradient(135deg, var(--primary), var(--primary-dark));
    color:white;
    display:flex; align-items:center; justify-content:center;
    margin:0 auto 20px;
    font-size:1.5rem;
    font-weight:800;
}

.stats-section { background:var(--dark); color:white; padding:60px 0; }
.stat-item { text-align:center; padding:20px; }
.stat-item h3 { font-size:2.2rem; font-weight:800; color:var(--secondary); }
.stat-item p { color:var(--gray); margin-top:8px; }

.talep-card {
    background:white;
    border-radius:var(--radius);
    padding:20px;
    margin-bottom:20px;
    box-shadow:var(--shadow);
    transition:all 0.3s;
    border-left:4px solid var(--primary);
}

.talep-card:hover { box-shadow:0 6px 20px rgba(0,0,0,0.1); }

.teklif-card {
    background:white;
    border-radius:var(--radius);
    padding:20px;
    margin-bottom:16px;
    box-shadow:var(--shadow);
    transition:all 0.3s;
    border:2px solid transparent;
}

.teklif-card:hover {
    border-color:var(--primary);
    box-shadow:0 6px 20px rgba(37,99,235,0.12);
}

.usta-profile-card {
    background:white;
    border-radius:16px;
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:all 0.3s;
}

.usta-profile-card:hover {
    transform:translateY(-4px);
    box-shadow:0 8px 30px rgba(0,0,0,0.12);
}

.star-rating { color:var(--secondary); }

.badge-onay {
    background:linear-gradient(135deg, var(--success), #059669);
    color:white;
    padding:4px 10px;
    border-radius:20px;
    font-size:0.75rem;
}

.sidebar-widget {
    background:white;
    border-radius:var(--radius);
    padding:24px;
    margin-bottom:24px;
    box-shadow:var(--shadow);
}

.sidebar-widget h6 {
    font-weight:700;
    color:var(--dark);
    margin-bottom:16px;
    padding-bottom:12px;
    border-bottom:2px solid var(--primary);
}

.panel-sidebar {
    background:white;
    border-radius:var(--radius);
    padding:20px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}

.panel-sidebar .nav-link {
    color:#555;
    padding:10px 16px;
    border-radius:8px;
    margin-bottom:4px;
    transition:all 0.2s;
}

.panel-sidebar .nav-link:hover,
.panel-sidebar .nav-link.active {
    background:var(--primary);
    color:white;
}

.panel-sidebar .nav-link i { width:24px; text-align:center; }

/* ===== PANEL SIDEBAR DESKTOP (WHITE SIDEBAR) ===== */
.panel-sidebar-desktop {
    background:#fff;
    border-radius:16px;
    box-shadow:0 1px 3px rgba(0,0,0,0.06),0 4px 16px rgba(0,0,0,0.04);
    display:flex;
    flex-direction:column;
    overflow-y:auto;
    overflow-x:hidden;
    position:sticky;
    top:80px;
    margin-bottom:24px;
    max-height:calc(100vh - 100px);
}
.panel-sidebar-desktop .sidebar-header {
    background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);
    padding:20px;
    display:flex;
    align-items:center;
    gap:12px;
    position:relative;
}
.musteri-panel-sidebar .sidebar-header {
    background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);
}
.usta-panel-sidebar .sidebar-header {
    background:linear-gradient(135deg,#10b981 0%,#059669 100%);
}
.panel-sidebar-desktop .sidebar-logo {
    width:42px;
    height:42px;
    border-radius:12px;
    background:rgba(255,255,255,0.2);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-weight:800;
    font-size:1.1rem;
    flex-shrink:0;
    border:2px solid rgba(255,255,255,0.25);
}
.panel-sidebar-desktop .sidebar-brand {
    color:#fff;
    font-weight:700;
    font-size:.95rem;
    line-height:1.3;
    flex:1;
    min-width:0;
}
.panel-sidebar-close {
    background:rgba(255,255,255,0.15);
    border:none;
    color:#fff;
    width:32px;
    height:32px;
    border-radius:8px;
    display:none;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    font-size:.85rem;
    flex-shrink:0;
    transition:background 0.15s;
}
.panel-sidebar-close:hover { background:rgba(255,255,255,0.25); }
.panel-sidebar-desktop .sidebar-user {
    padding:16px 20px;
    border-bottom:1px solid #f1f5f9;
    display:flex;
    align-items:center;
    gap:12px;
    background:#f8fafc;
}
.panel-sidebar-desktop .sidebar-avatar {
    width:40px;
    height:40px;
    border-radius:12px;
    background:linear-gradient(135deg,#2563eb,#1d4ed8);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-weight:700;
    font-size:.85rem;
    flex-shrink:0;
    overflow:hidden;
}
.usta-panel-sidebar .sidebar-avatar {
    background:linear-gradient(135deg,#10b981,#059669);
}
.panel-sidebar-desktop .sidebar-avatar img {
    width:100%;
    height:100%;
    object-fit:cover;
}
.panel-sidebar-desktop .user-info { flex:1; min-width:0; }
.panel-sidebar-desktop .user-name {
    font-weight:700;
    font-size:.88rem;
    color:#0f172a;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    line-height:1.3;
}
.panel-sidebar-desktop .user-role {
    font-size:.72rem;
    color:#94a3b8;
    font-weight:500;
    display:flex;
    align-items:center;
    gap:4px;
}
.panel-sidebar-desktop .sidebar-menu {
    padding:8px 0;
    flex:1;
    overflow-y:auto;
}
.panel-sidebar-desktop .sidebar-menu a {
    display:flex;
    align-items:center;
    padding:10px 20px;
    color:#475569;
    text-decoration:none;
    font-size:.85rem;
    font-weight:500;
    transition:all 0.15s;
    border-left:3px solid transparent;
    gap:10px;
}
.panel-sidebar-desktop .sidebar-menu a:hover {
    background:#f1f5f9;
    color:#0f172a;
    border-left-color:#94a3b8;
}
.panel-sidebar-desktop .sidebar-menu a.active {
    background:#eff6ff;
    color:#2563eb;
    font-weight:600;
    border-left-color:#2563eb;
}
.musteri-panel-sidebar .sidebar-menu a.active {
    background:#eff6ff;
    color:#2563eb;
    border-left-color:#2563eb;
}
.usta-panel-sidebar .sidebar-menu a.active {
    background:#ecfdf5;
    color:#059669;
    border-left-color:#059669;
}
.panel-sidebar-desktop .sidebar-menu a i {
    width:20px;
    text-align:center;
    font-size:.88rem;
    color:#94a3b8;
    transition:color 0.15s;
}
.panel-sidebar-desktop .sidebar-menu a.active i { color:inherit; }
.panel-sidebar-desktop .sidebar-menu a .badge {
    font-size:.55rem;
    padding:2px 5px;
    margin-left:auto;
}
.panel-sidebar-desktop .sidebar-balance {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px 20px;
    border-bottom:1px solid #f1f5f9;
}
.usta-panel-sidebar .sidebar-balance {
    background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);
}
.musteri-panel-sidebar .sidebar-balance {
    background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);
}
.sidebar-balance-icon {
    width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.8rem;flex-shrink:0;
}
.usta-panel-sidebar .sidebar-balance-icon { background:#10b981; }
.musteri-panel-sidebar .sidebar-balance-icon { background:#2563eb; }
.sidebar-balance-label { font-size:.65rem;color:#64748b;font-weight:500;letter-spacing:.03em;text-transform:uppercase; }
.sidebar-balance-amount { font-size:.95rem;font-weight:700;color:#0f172a;line-height:1.2; }
.sidebar-balance-link { font-size:.65rem;font-weight:600;text-decoration:none;display:flex;align-items:center;gap:2px; }
.usta-panel-sidebar .sidebar-balance-link { color:#10b981; }
.musteri-panel-sidebar .sidebar-balance-link { color:#2563eb; }
.sidebar-balance-link:hover { text-decoration:underline; }
.onay-badge { display:inline-flex;align-items:center;gap:2px;font-size:.55rem;font-weight:600;padding:1px 6px;border-radius:9999px;margin-left:4px; }
.usta-panel-sidebar .onay-badge { background:#10b981;color:#fff; }
.musteri-panel-sidebar .onay-badge { background:#2563eb;color:#fff; }
.panel-sidebar-desktop .sidebar-divider {
    height:1px;
    background:#f1f5f9;
    margin:8px 20px;
}
.panel-sidebar-desktop .logout-link {
    color:#ef4444 !important;
    margin-top:auto;
}
.panel-sidebar-desktop .logout-link:hover {
    background:#fef2f2;
    color:#dc2626 !important;
    border-left-color:#ef4444;
}

/* Panel sidebar overlay (mobile) */
.panel-sidebar-overlay {
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background:rgba(15,23,42,0.45);
    z-index:1045;
    opacity:0;
    pointer-events:none;
    transition:opacity 0.3s ease;
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
}
.panel-sidebar-overlay.sidebar-open {
    opacity:1;
    pointer-events:auto;
}

/* Panel sidebar mobile open state */
.panel-sidebar-desktop.sidebar-open {
    transform:translateX(0) !important;
    pointer-events:auto;
    box-shadow:4px 0 24px rgba(0,0,0,0.2);
}

/* Show close button on mobile */
@media(max-width:991.98px) {
    .panel-sidebar-close { display:flex; }
}

/* Panel sidebar column collapse on mobile */
@media(max-width:991.98px) {
    .panel-sidebar-col {
        position:absolute;
        width:0;
        height:0;
        overflow:hidden;
        padding:0 !important;
        margin:0 !important;
    }
    .panel-sidebar-desktop {
        position:fixed;
        top:0;
        left:0;
        width:290px;
        max-width:85vw;
        height:100vh;
        height:100dvh;
        z-index:1050;
        transform:translateX(-100%);
        will-change:transform;
        transition:transform 0.35s cubic-bezier(0.32,0.72,0,1);
        overflow-y:auto;
        -webkit-overflow-scrolling:touch;
        border-radius:0 16px 16px 0;
        pointer-events:none;
        box-shadow:none;
    }
    .panel-mobile-bar {
        display:flex;
    }
}

.bakiye-card {
    background:linear-gradient(135deg, var(--primary), var(--primary-dark));
    color:white;
    border-radius:16px;
    padding:24px;
    margin-bottom:24px;
}

.bakiye-card h2 { font-weight:800; font-size:2rem; }

.message-bubble {
    max-width:75%;
    padding:12px 18px;
    border-radius:16px;
    margin-bottom:12px;
    position:relative;
}

.message-bubble.sent {
    background:var(--primary);
    color:white;
    margin-left:auto;
    border-bottom-right-radius:4px;
}

.message-bubble.received {
    background:#e2e8f0;
    color:#333;
    border-bottom-left-radius:4px;
}

.alert { border-radius:var(--radius); }

.form-control, .form-select {
    border-radius:10px;
    padding:10px 16px;
    border:2px solid #e2e8f0;
    transition:all 0.3s;
    font-size:.9rem;
}

.form-control:focus, .form-select:focus {
    border-color:var(--primary);
    box-shadow:0 0 0 3px rgba(37,99,235,0.1);
}

.form-label { font-weight:600; color:#334155; font-size:.88rem; margin-bottom:4px; }

.card { border-radius:var(--radius); border:1px solid #e2e8f0; box-shadow:none; background:#fff; }
.card.border-0 { border:none; }
.card.shadow-sm { box-shadow:0 1px 3px rgba(0,0,0,0.06); }

.table { border-radius:var(--radius); overflow:hidden; }
.table thead th { background:var(--primary); color:white; border:none; font-weight:600; }

.breadcrumb { background:transparent; padding:0; margin-bottom:0; }
.breadcrumb-item a { color:var(--primary); font-weight:500; }
.breadcrumb-item.active { color:#94a3b8; }

.alert { border-radius:12px; border:none; font-weight:500; }
.alert-success { background:#d1fae5; color:#065f46; }
.alert-danger { background:#fee2e2; color:#991b1b; }
.alert-warning { background:#fef3c7; color:#92400e; }
.alert-info { background:#dbeafe; color:#1e40af; }

.pagination .page-link { border-radius:8px; margin:0 4px; border:none; color:var(--primary); }
.pagination .page-item.active .page-link { background:var(--primary); border-color:var(--primary); }

/* ===== SEARCH AUTOCOMPLETE ===== */
.search-autocomplete {
    position:absolute;
    top:100%;
    left:0; right:0;
    z-index:1050;
    background:white;
    border:2px solid var(--primary);
    border-top:none;
    border-radius:0 0 12px 12px;
    max-height:280px;
    overflow-y:auto;
    box-shadow:0 8px 24px rgba(0,0,0,0.15);
    margin-top:2px;
}

.search-autocomplete .search-item {
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 16px;
    cursor:pointer;
    border-bottom:1px solid #f1f5f9;
    transition:background .15s;
}

.search-autocomplete .search-item:hover,
.search-autocomplete .search-item.active {
    background:#eff6ff;
}

.search-autocomplete .search-item:last-child { border-bottom:none; }

.search-autocomplete .search-item .search-icon {
    width:38px; height:38px;
    border-radius:50%;
    background:linear-gradient(135deg, var(--primary), var(--primary-dark));
    color:white;
    display:flex; align-items:center; justify-content:center;
    font-size:.9rem;
    flex-shrink:0;
}

.search-autocomplete .search-item .search-text h6 { margin:0; font-size:.95rem; font-weight:600; color:var(--dark); }
.search-autocomplete .search-item .search-text small { color:var(--gray); font-size:.8rem; }
.search-autocomplete .search-item .search-text mark { background:#fef08a; padding:0 2px; border-radius:2px; }
.search-autocomplete .search-item .search-arrow {
    margin-left:auto;
    color:var(--primary);
    font-size:.8rem;
    opacity:0;
    transition:all 0.2s;
}
.search-autocomplete .search-item:hover .search-arrow,
.search-autocomplete .search-item.active .search-arrow {
    opacity:1;
    transform:translateX(4px);
}
.search-autocomplete .search-empty { padding:20px; text-align:center; color:var(--gray); }

.search-item {
    padding:10px 16px;
    cursor:pointer;
    border-bottom:1px solid #f1f5f9;
    transition:background 0.15s;
    display:flex;
    align-items:center;
    gap:12px;
}
.search-item:hover {
    background:#f0f4ff;
}
.search-item.active,.search-item:active {
    background:#eff6ff;
}
.search-item:last-child {
    border-bottom:none;
}
.search-item .search-icon {
    width:36px;
    height:36px;
    border-radius:8px;
    background:#dbeafe;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#2563eb;
    flex-shrink:0;
    font-size:.85rem;
}
.search-item .search-text h6 {
    font-size:.88rem;
    font-weight:600;
    margin:0;
    color:#0f172a;
}
.search-item .search-text small {
    color:#64748b;
    font-size:.75rem;
}
.search-item .search-arrow {
    margin-left:auto;
    color:#94a3b8;
    flex-shrink:0;
    transition:all 0.2s;
}
.search-item:hover .search-arrow {
    color:var(--primary);
    transform:translateX(4px);
}
.search-empty {
    padding:16px;
    text-align:center;
    color:#94a3b8;
    font-size:.85rem;
}

.search-selected-tag {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:linear-gradient(135deg, var(--primary), var(--primary-dark));
    color:white;
    padding:16px 24px;
    border-radius:16px;
    font-size:1.05rem;
    font-weight:600;
    animation:fadeIn 0.3s;
    cursor:pointer;
}

@keyframes fadeIn {
    from { opacity:0; transform:scale(0.97); }
    to { opacity:1; transform:scale(1); }
}

.search-selected-tag .btn-close-search {
    background:rgba(255,255,255,.3);
    border:none;
    color:white;
    border-radius:50%;
    width:24px; height:24px;
    display:flex; align-items:center; justify-content:center;
    cursor:pointer;
    font-size:.7rem;
    transition:background .2s;
    flex-shrink:0;
}

.search-selected-tag .btn-close-search:hover { background:rgba(255,255,255,.5); }

.position-relative.has-search-dropdown,
.position-relative:has(.search-autocomplete) {
    position: relative;
    z-index: 10;
}

.panel-content-card:focus-within,
.panel-content-card:has(.search-autocomplete.show),
.panel-content-card:has(.search-autocomplete:not(.d-none)) {
    position: relative;
    z-index: 10;
}

.pop-search {
    border:1px solid #e2e8f0;
    background:white;
    font-size:.78rem;
    font-weight:500;
    border-radius:20px;
    padding:4px 10px;
    transition:all 0.2s;
    cursor:pointer;
    color:#475569;
}

.panel-content-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    margin-bottom: 16px;
    transition: all 0.25s;
    overflow: hidden;
}
.panel-content-card:hover {
    border-color: #a7f3d0;
    box-shadow: 0 6px 20px rgba(16,185,129,0.08);
}
.panel-content-card .card-body {
    padding: 20px;
}

.pop-search:hover {
    background:var(--primary);
    color:white !important;
    border-color:var(--primary);
    text-decoration:none;
}

/* ===== AUTH PAGES ===== */
.auth-body {
    background:linear-gradient(135deg, #2563eb 0%, #1e293b 100%);
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
}
.auth-wrapper { width:100%; max-width:460px; }
.auth-card { border-radius:20px !important; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,0.3); }
.auth-logo {
    width:64px; height:64px;
    background:linear-gradient(135deg, var(--primary), var(--primary-dark));
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    margin:0 auto 16px;
    font-size:1.6rem;
    color:white;
}
.auth-logo i { color:white; }

/* ===== ADMIN ===== */
.admin-sidebar {
    width:260px;
    min-height:100vh;
    background:linear-gradient(180deg, var(--dark) 0%, #0f172a 100%);
    color:white;
    position:fixed;
    left:0;
    top:0;
    bottom:0;
    overflow-y:auto;
    z-index:1040;
    transition:transform 0.3s;
}

.admin-sidebar .sidebar-menu a {
    display:flex;
    align-items:center;
    padding:12px 20px;
    color:rgba(255,255,255,.75);
    text-decoration:none;
    transition:all 0.2s;
    border-left:3px solid transparent;
    font-size:0.9rem;
}

.admin-sidebar .sidebar-menu a:hover,
.admin-sidebar .sidebar-menu a.active {
    background:rgba(255,255,255,.1);
    color:white;
    border-left-color:var(--secondary);
}

.admin-sidebar .sidebar-menu a i { margin-right:12px; width:20px; text-align:center; }

.admin-sidebar .sidebar-divider {
    border-top:1px solid rgba(255,255,255,.1);
    margin:8px 20px;
}

.admin-content {
    margin-left:260px;
    min-height:100vh;
    background:#f8fafc;
}

@media (max-width: 991.98px) {
    .admin-sidebar {
        transform:translateX(-100%);
        position:fixed;
        z-index:1060;
    }
    .admin-sidebar.show {
        transform:translateX(0);
        box-shadow:4px 0 24px rgba(0,0,0,0.3);
    }
    .admin-content { margin-left:0; }
}

.stat-card {
    border-radius:var(--radius);
    padding:24px;
    color:white;
    position:relative;
    overflow:hidden;
    transition:transform 0.2s;
}

.stat-card:hover { transform:translateY(-2px); }
.stat-card .stat-icon { font-size:2.5rem; opacity:0.3; position:absolute; top:16px; right:16px; }
.stat-card .stat-info h3 { font-size:2rem; font-weight:800; margin-bottom:4px; }
.stat-card .stat-info p { margin-bottom:0; opacity:0.85; }

/* ===== RESPONSIVE ===== */
@media (max-width: 991.98px) {
    .category-card { padding:20px; }
    .category-card .icon { width:56px; height:56px; font-size:1.3rem; }
    .category-card h6 { font-size:0.85rem; }

    .bakiye-card h2 { font-size:1.4rem; }

    .panel-sidebar-toggle:hover { background:#e2e8f0; }
    .panel-sidebar-toggle:active { transform:scale(0.92); }

/* ===== PANEL SIDEBAR OFFCANVAS (MOBILE) ===== */
.sidebar-offcanvas-overlay {
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background:rgba(15,23,42,0.5);
    z-index:1045;
    opacity:0;
    pointer-events:none;
    transition:opacity 0.3s ease;
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
}
.sidebar-offcanvas-overlay.show {
    opacity:1;
    pointer-events:auto;
}

.sidebar-offcanvas {
    position:fixed;
    top:0;
    left:0;
    width:280px;
    max-width:85vw;
    height:100vh;
    height:100dvh;
    background:#fff;
    z-index:1050;
    transform:translateX(-100%);
    will-change:transform;
    transition:transform 0.35s cubic-bezier(0.32,0.72,0,1);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    display:flex;
    flex-direction:column;
    pointer-events:none;
    box-shadow:none;
}
.sidebar-offcanvas.show {
    transform:translateX(0);
    pointer-events:auto;
    box-shadow:4px 0 24px rgba(0,0,0,0.2);
}

@media (min-width:992px) {
    .sidebar-offcanvas-overlay,
    .sidebar-offcanvas,
    .site-mobile-nav,
    .footer-menu-overlay,
    .footer-menu-panel,
    .panel-mobile-bar.site-mobile-bar {
        display:none !important;
    }
}

.sidebar-offcanvas .sidebar-offcanvas-header {
    padding:14px 16px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid #f1f5f9;
    min-height:52px;
}

.sidebar-offcanvas .sidebar-offcanvas-header > span {
    font-size:1.05rem;
    font-weight:700;
    color:#0f172a;
    letter-spacing:-0.3px;
}

.sidebar-offcanvas .panel-sidebar-toggle {
    width:36px !important;
    height:36px !important;
    font-size:.9rem !important;
    min-width:36px;
    min-height:36px;
    border-radius:10px !important;
    background:#f1f5f9 !important;
    color:#0f172a !important;
}

.sidebar-offcanvas .sidebar-user-mobile {
    padding:16px;
    border-bottom:1px solid #f1f5f9;
    background:#f8fafc;
}

.sidebar-offcanvas .sidebar-user-mobile .sidebar-avatar-mobile {
    width:44px;
    height:44px;
    border-radius:12px;
    background:linear-gradient(135deg, #2563eb, #1d4ed8);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    font-size:1rem;
    overflow:hidden;
    flex-shrink:0;
}

.sidebar-offcanvas .sidebar-user-mobile .sidebar-avatar-mobile img {
    width:100%;
    height:100%;
    object-fit:cover;
}

.sidebar-offcanvas .sidebar-user-mobile .user-info {
    flex:1;
    min-width:0;
}

.sidebar-offcanvas .sidebar-user-mobile .user-name {
    font-size:.9rem;
    font-weight:700;
    color:#0f172a;
    margin-bottom:1px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    line-height:1.3;
}

.sidebar-offcanvas .sidebar-user-mobile .user-role {
    font-size:.72rem;
    color:#94a3b8;
    font-weight:500;
}

.sidebar-offcanvas .sidebar-user-mobile.usta-user {
    background:#f0fdf4;
}
.sidebar-offcanvas .sidebar-user-mobile.usta-user .sidebar-avatar-mobile {
    background:linear-gradient(135deg, #10b981, #059669);
}
.sidebar-offcanvas .sidebar-user-mobile.admin-user {
    background:#fffbeb;
}
.sidebar-offcanvas .sidebar-user-mobile.admin-user .sidebar-avatar-mobile {
    background:linear-gradient(135deg, #f59e0b, #d97706);
}

.sidebar-offcanvas nav {
    padding:8px 8px 4px;
    flex:1;
    overflow-y:auto;
}

.sidebar-offcanvas .nav-link {
    color:#475569;
    padding:10px 12px;
    border-radius:8px;
    margin-bottom:2px;
    font-size:.85rem;
    font-weight:500;
    transition:all 0.15s;
    display:flex;
    align-items:center;
    gap:10px;
}

.sidebar-offcanvas .nav-link:hover {
    background:#f1f5f9;
    color:#0f172a;
}

.sidebar-offcanvas .nav-link.active {
    background:#eff6ff;
    color:#2563eb;
    font-weight:600;
}

.sidebar-offcanvas .nav-link.active i {
    color:#2563eb;
}

.sidebar-offcanvas .nav-link i {
    width:20px;
    text-align:center;
    font-size:.85rem;
    color:#94a3b8;
    transition:color 0.15s;
}

.sidebar-offcanvas .nav-link:hover i {
    color:#475569;
}

.sidebar-offcanvas .nav-link .badge {
    margin-left:auto;
    font-size:.55rem;
    padding:2px 6px;
    min-width:18px;
}

.sidebar-offcanvas .nav-link.text-danger,
.sidebar-offcanvas .sidebar-footer .nav-link {
    color:#ef4444;
}

.sidebar-offcanvas .nav-link.text-danger:hover,
.sidebar-offcanvas .sidebar-footer .nav-link:hover {
    background:#fef2f2;
    color:#dc2626;
}

.sidebar-offcanvas .sidebar-section-title {
    font-size:.65rem;
    font-weight:700;
    color:#94a3b8;
    text-transform:uppercase;
    letter-spacing:.8px;
    padding:12px 12px 4px;
}

.sidebar-offcanvas .sidebar-footer {
    padding:4px 8px 8px;
    border-top:1px solid #f1f5f9;
    margin-top:auto;
}

.sidebar-offcanvas.usta-offcanvas .nav-link.active {
    background:#ecfdf5;
    color:#059669;
}

.sidebar-offcanvas.usta-offcanvas .nav-link.active i {
    color:#059669;
}

.sidebar-offcanvas.musteri-sidebar-offcanvas .nav-link.active {
    background:#eff6ff;
    color:#2563eb;
}

.sidebar-offcanvas.musteri-sidebar-offcanvas .nav-link.active i {
    color:#2563eb;
}

.sidebar-offcanvas.admin-offcanvas .nav-link.active {
    background:#fffbeb;
    color:#d97706;
}

.sidebar-offcanvas.admin-offcanvas .nav-link.active i {
    color:#d97706;
}

.sidebar-offcanvas.admin-offcanvas .sidebar-user-mobile .sidebar-avatar-mobile {
    background:linear-gradient(135deg, #f59e0b, #d97706);
}

/* ===== TALEP FORM STEPS ===== */
.talep-step-indicator {
    display:flex;
    justify-content:space-between;
    margin-bottom:32px;
    position:relative;
    padding:0 10px;
}

.talep-step-indicator::before {
    content:'';
    position:absolute;
    top:20px;
    left:50px;
    right:50px;
    height:3px;
    background:linear-gradient(90deg,#e2e8f0,#e2e8f0);
    border-radius:2px;
    z-index:0;
}

.talep-step {
    display:flex;
    flex-direction:column;
    align-items:center;
    position:relative;
    z-index:1;
    flex:1;
    cursor:pointer;
}

.talep-step .step-circle {
    width:44px;
    height:44px;
    border-radius:50%;
    background:#e2e8f0;
    color:#94a3b8;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    font-size:0.95rem;
    margin-bottom:8px;
    transition:all 0.3s ease;
    box-shadow:0 2px 8px rgba(0,0,0,0.05);
}

.talep-step.active .step-circle {
    background:linear-gradient(135deg,#2563eb,#1d4ed8);
    color:white;
    box-shadow:0 4px 16px rgba(37,99,235,0.35);
    transform:scale(1.1);
}

.talep-step.completed .step-circle {
    background:linear-gradient(135deg,#16a34a,#15803d);
    color:white;
    box-shadow:0 4px 12px rgba(22,163,74,0.3);
}

.talep-step .step-label {
    font-size:0.75rem;
    color:#94a3b8;
    text-align:center;
    font-weight:600;
    transition:color 0.3s;
}

.talep-step.active .step-label {
    color:var(--primary);
    font-weight:700;
}

.talep-step.completed .step-label {
    color:var(--success);
}

.talep-form-section {
    display:none;
    animation:fadeInStep 0.3s ease;
}

.talep-form-section.active {
    display:block;
}

@keyframes fadeInStep {
    from { opacity:0; transform:translateY(10px); }
    to { opacity:1; transform:translateY(0); }
}

@media (max-width: 575.98px) {
    .talep-step .step-label {
        font-size:0.6rem;
    }
    .talep-step .step-circle {
        width:34px;
        height:34px;
        font-size:0.8rem;
    }
    .talep-step-indicator {
        padding:0;
    }
    .talep-step-indicator::before {
        left:17px;
        right:17px;
        top:17px;
    }
}

/* ===== PHONE INPUT ===== */
.phone-input-wrapper {
    position: relative;
}
.phone-input-wrapper .phone-prefix {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f5f9;
    border: 1px solid #dee2e6;
    border-right: none;
    border-radius: 12px 0 0 12px;
    font-weight: 600;
    color: #475569;
    font-size: 0.95rem;
    pointer-events: none;
    z-index: 2;
}
.phone-input-wrapper .form-control.phone-mask {
    padding-left: 56px;
    border-radius: 12px;
    letter-spacing: 0.5px;
    font-weight: 500;
    font-size: 1.05rem;
}
.phone-input-wrapper .form-control.phone-mask:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(37,99,235,0.12);
}
.phone-input-wrapper .phone-mask-valid {
    color: #fff;
    background: #10b981;
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    box-shadow: 0 2px 8px rgba(16,185,129,0.35);
    transition: all 0.25s ease;
    animation: checkPop 0.3s ease;
}
.phone-input-wrapper .phone-mask-valid.d-flex {
    display: flex;
}
.phone-input-wrapper .form-control.phone-mask.is-valid {
    border-color: #10b981;
    box-shadow: 0 0 0 3px rgba(16,185,129,0.12);
}
.phone-input-wrapper .form-control.phone-mask.is-invalid {
    border-color: #ef4444;
    box-shadow: 0 0 0 3px rgba(239,68,68,0.12);
}

/* Mobile phone input adjustments */
@media (max-width: 575.98px) {
    .phone-input-wrapper .form-control.phone-mask {
        font-size: 16px !important; /* Prevents iOS zoom */
    }
}

/* ===== PROFESSIONAL CARDS & UI ===== */
.prof-card {
    background: #fff;
    border-radius:16px;
    box-shadow:0 1px 3px rgba(0,0,0,0.06);
    border:1px solid #e2e8f0;
    overflow: hidden;
    transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
}
.prof-card:hover {
    box-shadow:0 8px 30px rgba(0,0,0,0.08);
    transform:translateY(-2px);
    border-color:#bfdbfe;
}
.prof-card .prof-card-body { padding: 1.25rem; }

.prof-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.3rem 0.8rem;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    white-space: nowrap;
    border:1px solid transparent;
}
.prof-badge-warning { background: #fef3c7; color: #92400e; border-color:#fde68a; }
.prof-badge-success { background: #d1fae5; color: #065f46; border-color:#a7f3d0; }
.prof-badge-danger { background: #fee2e2; color: #991b1b; border-color:#fecaca; }
.prof-badge-info { background: #dbeafe; color: #1e40af; border-color:#bfdbfe; }
.prof-badge-secondary { background: #f1f5f9; color: #475569; border-color:#e2e8f0; }
.prof-badge-primary { background: #dbeafe; color: #1d4ed8; border-color:#bfdbfe; }

.prof-phone-card {
    background: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);
    border: 2px solid #10b981;
    border-radius: 14px;
    padding: 1rem;
    text-align: center;
}
.prof-phone-card .phone-number {
    font-size: 1.5rem;
    font-weight: 800;
    color: #065f46;
    letter-spacing: 1px;
}
.prof-btn-call {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.65rem 1rem;
    border-radius: 12px;
    font-weight: 700;
    font-size: 0.95rem;
    transition: all 0.2s;
    border: none;
    cursor: pointer;
    text-decoration: none;
}
.prof-btn-call-green {
    background: linear-gradient(135deg, #10b981, #059669);
    color: #fff;
    box-shadow: 0 4px 12px rgba(16,185,129,0.3);
}
.prof-btn-call-green:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(16,185,129,0.4);
    color: #fff;
}
.prof-btn-call-primary {
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #fff;
    box-shadow: 0 4px 12px rgba(37,99,235,0.3);
}
.prof-btn-call-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(37,99,235,0.4);
    color: #fff;
}

.prof-section-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.prof-section-title i { font-size: .95rem; }

.prof-info-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: #64748b;
    padding: 0.25rem 0;
}
.prof-info-row i { color: #94a3b8; width: 16px; text-align: center; }

.prof-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.5rem 1rem;
    border-radius: 10px;
    font-weight: 600;
    font-size: 0.85rem;
    transition: all 0.15s;
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
}
.prof-action-btn:hover { transform: translateY(-1px); text-decoration: none; }

/* Mobile adjustments for professional cards */
@media (max-width: 767.98px) {
    .prof-card .prof-card-body { padding: 1rem; }
    .prof-phone-card .phone-number { font-size: 1.25rem; }
    .prof-phone-card { padding: 0.75rem; }
    .prof-section-title { font-size: 1rem; }
    .prof-badge { font-size: 0.7rem; padding: 0.2rem 0.6rem; }
    .prof-action-btn { font-size: 0.8rem; padding: 0.4rem 0.75rem; }
    .prof-btn-call { font-size: 0.85rem; padding: 0.55rem 0.75rem; }

    /* Force full width action buttons on mobile */
    .d-flex.flex-column.gap-1 .prof-action-btn,
    .d-flex.gap-2 .prof-action-btn {
        width: 100%;
        justify-content: center;
    }

    /* Stack flex content on mobile */
    .prof-card .d-flex.justify-content-between {
        flex-direction: column;
        gap: 12px;
    }
    .prof-card .text-md-end,
    .prof-card .text-end {
        text-align: left !important;
    }
}

@media (max-width: 575.98px) {
    .prof-phone-card .phone-number { font-size: 1.1rem; }
    .prof-badge { font-size: 0.65rem; padding: 0.15rem 0.5rem; }
}

/* ===== ADMIN OVERLAY FOR MOBILE ===== */
.admin-sidebar-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5);
    z-index: 1035;
}
.admin-sidebar-overlay.show {
    display: block;
}

/* ===== SCROLLBAR IMPROVEMENTS ===== */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* ===== SMOOTH SCROLLING ===== */
html {
    scroll-behavior: smooth;
}

/* ===== MOBILE PANEL IMPROVEMENTS ===== */
@media (max-width: 767.98px) {
    .panel-item-card {
        padding: 12px;
        border-radius: 12px;
    }
    .panel-item-card .d-flex.justify-content-between,
    .panel-item-card .row {
        flex-direction: column;
    }
    .panel-item-card .col-md-1,
    .panel-item-card .col-md-2,
    .panel-item-card .col-md-3,
    .panel-item-card .col-md-4,
    .panel-item-card .col-md-7 {
        width: 100%;
        text-align: left !important;
        margin-bottom: 8px;
        padding: 0;
    }
    .panel-item-card .col-12.col-md-1 {
        display: none;
    }
    .panel-item-card .col-12.col-md-2 {
        display: none;
    }
    .panel-item-card .text-md-end {
        text-align: left !important;
    }
    .panel-item-card .d-flex.gap-1.flex-wrap {
        flex-wrap: wrap;
    }
    .panel-item-card .d-flex.gap-1.flex-wrap .prof-action-btn,
    .panel-item-card .d-flex.gap-1.flex-wrap .btn-sm {
        flex: 1;
        min-width: 0;
        text-align: center;
        justify-content: center;
    }
    .panel-content-card {
        border-radius: 14px;
    }
    .panel-content-card .card-body {
        padding: 16px !important;
    }
    .panel-content-card .card-body.p-3,
    .panel-content-card .card-body.p-4,
    .panel-content-card .card-body.p-3.p-md-4,
    .panel-content-card .card-body.p-md-4 {
        padding: 14px !important;
    }
    .stat-grid {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    .panel-stat-card .card-body {
        padding: 12px 8px !important;
    }
    .panel-stat-card .card-body h3 {
        font-size: 1.2rem;
    }
    .panel-stat-card .stat-icon-wrap {
        width: 38px;
        height: 38px;
        font-size: 1rem;
    }
    .panel-stat-card .stat-icon-wrap i {
        font-size: .9rem;
    }
    .panel-section-title {
        font-size: .95rem;
        margin-bottom: 12px;
    }
    .talep-step-indicator {
        gap: 4px;
        margin-bottom: 20px;
    }
    .talep-step .step-label {
        font-size: .58rem;
        line-height: 1.2;
    }
    .panel-mobile-bar {
        margin-bottom: 0 !important;
        min-height: 48px;
    }
    .container.py-4 {
        padding-top: 12px !important;
        padding-bottom: 72px !important;
    }
    .prof-badge {
        font-size: .65rem;
        padding: .2rem .5rem;
    }
    .prof-action-btn {
        font-size: .75rem;
        padding: .35rem .6rem;
        border-radius: 8px;
    }
    .panel-item-card h6 {
        font-size: .9rem;
    }
    .panel-item-card .small,
    .panel-item-card small {
        font-size: .75rem;
    }
    .breadcrumb {
        display: none !important;
    }
    .form-control, .form-select {
        font-size: 16px !important;
    }
    .form-label {
        font-size: .85rem;
        margin-bottom: .3rem;
    }
    .btn-lg {
        padding: .6rem 1rem;
        font-size: .95rem;
    }
    .panel-content-card .d-flex.justify-content-between.align-items-center.mb-3 {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 8px;
    }
    .panel-content-card .d-flex.justify-content-between.align-items-center.mb-3 .btn-sm {
        align-self: flex-end;
    }
}

@media (max-width: 575.98px) {
    .stat-grid {
        gap: 6px;
    }
    .panel-stat-card .card-body h3 {
        font-size: 1.05rem;
    }
    .panel-stat-card .card-body small {
        font-size: .68rem;
    }
    .panel-item-card {
        padding: 10px;
        margin-bottom: 8px;
        border-radius: 10px;
    }
    .prof-badge {
        font-size: .6rem;
        padding: .15rem .45rem;
    }
}

/* Better mobile stat mini-cards */
@media (max-width: 575.98px) {
    .panel-stat-card .d-flex.align-items-center.justify-content-center.gap-2,
    .stat-grid .panel-stat-card .d-flex {
        gap: 6px;
    }
    .rounded-circle.d-flex.align-items-center.justify-content-center {
        width: 32px !important;
        height: 32px !important;
        font-size: .75rem;
        min-width: 32px;
    }
    .rounded-circle i {
        font-size: .7rem !important;
    }
}

/* ===== SITE MOBILE BOTTOM NAV ===== */
.site-mobile-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1050;
    background: #fff;
    border-top: 1px solid #e2e8f0;
    display: none !important;
    align-items: center;
    justify-content: space-around;
    height: 60px;
    padding: 0 4px;
    box-shadow: 0 -2px 12px rgba(0,0,0,0.08);
    -webkit-tap-highlight-color: transparent;
    padding-bottom: env(safe-area-inset-bottom, 0px);
}

@media (max-width: 991.98px) {
    .site-mobile-nav {
        display: flex !important;
    }
}
.site-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    min-width: 0;
    padding: 6px 2px 4px;
    color: #64748b;
    text-decoration: none;
    font-size: .62rem;
    font-weight: 600;
    line-height: 1.3;
    transition: color 0.2s;
    position: relative;
    cursor: pointer;
    background: none;
    border: none;
    -webkit-tap-highlight-color: transparent;
}
.site-nav-item i {
    font-size: 1.15rem;
    margin-bottom: 2px;
}
.site-nav-item span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
.site-nav-item.active,
.site-nav-item:hover {
    color: #2563eb;
}
.site-nav-item.site-nav-cta {
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #fff !important;
    border-radius: 14px 14px 0 0;
    margin-top: -10px;
    padding: 10px 2px 6px;
    box-shadow: 0 -4px 16px rgba(37,99,235,0.35);
    min-height: 50px;
    font-weight: 700;
}
.site-nav-item.site-nav-cta i {
    font-size: 1.2rem;
}
.site-nav-usta .site-nav-item.active,
.site-nav-usta .site-nav-item:hover {
    color: #10b981;
}
.site-nav-musteri .site-nav-item.active,
.site-nav-musteri .site-nav-item:hover {
    color: #2563eb;
}

body.site-has-bottom-nav {
    padding-bottom: 0;
}

@media (max-width: 991.98px) {
    body.site-has-bottom-nav {
        padding-bottom: 60px;
    }
}

/* ===== FOOTER MENU OVERLAY & PANEL ===== */
.footer-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(15,23,42,0.45);
    z-index: 10001;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    visibility: hidden;
}
.footer-menu-overlay.active {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}
@media (min-width: 992px) {
    .footer-menu-overlay,
    .footer-menu-panel,
    .site-mobile-nav {
        display: none !important;
    }
}

.footer-menu-panel {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-height: 0;
    background: #fff;
    z-index: 10002;
    border-radius: 20px 20px 0 0;
    transform: translateY(100%);
    transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1), max-height 0s 0.35s;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    box-shadow: 0 -8px 32px rgba(0,0,0,0.15);
    visibility: hidden;
}
.footer-menu-panel.active {
    transform: translateY(0);
    max-height: 75vh;
    visibility: visible;
    transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1), max-height 0s 0s;
}

.footer-menu-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px 12px;
    border-bottom: 1px solid #f1f5f9;
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 1;
}
.footer-menu-header strong {
    font-size: 1.1rem;
    font-weight: 700;
    color: #0f172a;
}

.footer-menu-links {
    padding: 8px 12px 24px;
}

.footer-menu-link {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    color: #1e293b;
    text-decoration: none;
    font-size: .95rem;
    font-weight: 500;
    border-radius: 12px;
    transition: background 0.15s;
    gap: 10px;
}
.footer-menu-link:hover {
    background: #f1f5f9;
    color: #2563eb;
    text-decoration: none;
}
.footer-menu-link i {
    width: 22px;
    text-align: center;
    color: #94a3b8;
    font-size: .9rem;
}
.footer-menu-link:hover i {
    color: #2563eb;
}

.footer-menu-divider {
    height: 1px;
    background: #f1f5f9;
    margin: 8px 16px;
}

/* ===== FOOTER STYLES ===== */
.footer-links li a {
    transition: color 0.2s, padding-left 0.2s;
    font-size: .88rem;
}
.footer-links li a:hover {
    color: #f59e0b !important;
    padding-left: 4px;
}

/* Bottom nav safe-area */
.admin-bottom-nav {
    padding-bottom: env(safe-area-inset-bottom, 0px);
}

/* Panel content padding fix for bottom nav */
@media (max-width: 991.98px) {
    body.site-has-bottom-nav.has-admin-nav {
        padding-bottom: 62px !important;
    }
}

.panel-mobile-bar {
    display:none;
    background:#fff;
    color:#0f172a;
    padding:0 16px;
    margin:0;
    align-items:center;
    justify-content:space-between;
    min-height:52px;
    border-bottom:1px solid #f1f5f9;
    position:sticky;
    top:0;
    z-index:1020;
    -webkit-tap-highlight-color:transparent;
}

/* ===== SELECTION COLOR ===== */
::selection {
    background: var(--primary-light);
    color: var(--primary-dark);
}

/* SweetAlert2 z-index override */
.swal2-container { z-index: 99999 !important; }
.swal2-popup { z-index: 99999 !important; }

/* ===== PHONE CHECK ANIMATION ===== */
@keyframes checkPop {
    0% { transform: translateY(-50%) scale(0); opacity: 0; }
    60% { transform: translateY(-50%) scale(1.2); opacity: 1; }
    100% { transform: translateY(-50%) scale(1); opacity: 1; }
}
.phone-input-wrapper .form-control.phone-mask.is-valid {
    padding-right: 48px;
}

/* ===== SITE-WIDE RESPONSIVE ===== */
@media (max-width: 991.98px) {
    .site-footer .container .row > div {
        margin-bottom: 1.5rem;
    }
    footer.bg-dark {
        padding-top: 2rem !important;
    }
    footer.bg-dark .row > div {
        text-align: center;
    }
    footer.bg-dark .social-links {
        justify-content: center;
        display: flex;
    }
    footer.bg-dark ul.list-unstyled {
        display: flex;
        flex-wrap: wrap;
        gap: 0;
        justify-content: center;
    }
    footer.bg-dark ul.list-unstyled li {
        margin-left: 0.5rem;
        margin-right: 0.5rem;
    }
    .auth-card {
        margin: 0 8px;
    }
    .auth-card .card-body {
        padding: 1.5rem !important;
    }
    .nasil-calisir-card {
        padding: 1.5rem !important;
    }
}

@media (max-width: 767.98px) {
    .cat-card { padding:14px 8px; }
    .cat-icon { width:40px;height:40px;border-radius:10px;font-size:1rem;margin:0 auto 8px; }
    .cat-card h6 { font-size:.78rem; }
    .cat-card small { font-size:.68rem; }
    .talep-card { padding:14px; }
    .talep-card h6 { font-size:.82rem; }
    .talep-card .desc { font-size:.78rem; }
    .trust-card { padding:20px 14px; }
    .trust-icon { width:42px;height:42px;font-size:1.1rem; }
    .trust-card h6 { font-size:.88rem; }
    .trust-card p { font-size:.78rem; }
    .blog-card .blog-img { height:140px; }
    .blog-card .blog-body { padding:14px; }
}

@media (max-width: 991.98px) {
    footer.bg-dark {
        padding-bottom: calc(1rem + 60px) !important;
    }
}

@media (max-width: 767.98px) {
    .footer-menu-panel.active {
        max-height: 70vh;
    }
    .footer-menu-link {
        padding: 10px 14px;
        font-size: .9rem;
    }
}

@media (max-width: 575.98px) {
    .site-mobile-nav {
        height: 56px !important;
    }
    .site-nav-item {
        font-size: .55rem !important;
        padding: 4px 0 2px !important;
    }
    .site-nav-item i {
        font-size: 1rem !important;
    }
    .site-nav-cta {
        font-size: .55rem !important;
        border-radius: 12px 12px 0 0 !important;
    }
    body.site-has-bottom-nav {
        padding-bottom: 56px !important;
    }
    footer.bg-dark {
        padding-bottom: calc(1rem + 56px) !important;
    }
    .footer-menu-panel {
        max-height: 65vh;
    }
    .site-footer h5, .site-footer h6 {
        font-size: .9rem;
    }
    .site-footer .footer-links li a {
        font-size: .82rem;
    }
}