:root{
    /* Slightly more vibrant main color */
    --main-color: #34b3e6;
    --card-bg: #ffffff;
    --muted: #6c757d;
}

/* Global page background using the main color (subtle gradient) */
/* Global page background using the main color (stronger, layout background) */
body {
    /* Keep page background neutral; apply main color only to navbar/footer per request */
    background: #f8fafb;
    min-height: 100vh;
    color: #0b2230;
}

/* Make the main container slightly separated from the background */
.container, .container-fluid {
    background: transparent;
}

/* Navbar / layout tweaks used by _Layout.cshtml */
.site-navbar{
    background: linear-gradient(90deg, var(--main-color) 0%, #1fa3dd 100%);
    padding: 10px 0;
}
.site-navbar .navbar-brand{font-weight:700;color:#fff}
.site-navbar .nav-link{color:rgba(255,255,255,0.95);padding:8px 12px;border-radius:8px}
.site-navbar .nav-link:hover{background:rgba(255,255,255,0.06);color:#fff}
.site-navbar .nav-link.active{background:rgba(255,255,255,0.08);color:#fff}

/* Hover çizgileri: link üzerine gelince üstte ve altta ince beyaz çizgi görünür */
.site-navbar .nav-link{
    position:relative;
}
.site-navbar .nav-link::before,
.site-navbar .nav-link::after{
    content: '';
    position: absolute;
    left: 6px;
    right: 6px;
    height: 2px;
    background: transparent;
    transition: transform .18s ease, background-color .18s ease;
    transform-origin: left center;
    transform: scaleX(0);
}
.site-navbar .nav-link::before{ top: -6px; }
.site-navbar .nav-link::after{ bottom: -6px; }
.site-navbar .nav-link:hover::before,
.site-navbar .nav-link:hover::after,
.site-navbar .nav-link.active::before,
.site-navbar .nav-link.active::after{
    background: #fff;
    transform: scaleX(1);
}

/* Header actions (avatar + logout) - ensure contrast on dark navbar */
.header-actions, .header-welcome, .header-welcome .d-none.d-md-block, .header-welcome .d-none.d-md-block div{
    color: #fff !important;
}
.header-welcome .d-none.d-md-block small{color: rgba(255,255,255,0.85) !important}

/* Make logout button visible on dark background */
.header-actions .btn-outline-secondary{
    color: #fff;
    border-color: rgba(255,255,255,0.18);
    background: rgba(255,255,255,0.03);
}
.header-actions .btn-outline-secondary:hover{
    color: #06232b;
    background: #fff;
    border-color: #fff;
}
.header-actions{gap:12px}
.header-welcome .welcome-avatar.small{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--main-color),#1fa3dd);color:#fff;font-weight:700;box-shadow:0 4px 10px rgba(0,0,0,0.12)}

/* Footer styling to match navbar */
footer.footer{
    background: linear-gradient(90deg, var(--main-color) 0%, #1fa3dd 100%);
    color: #fff;
    padding: 18px 0;
    margin-top: 3rem; /* add visible separation from main content */
    box-shadow: 0 -6px 18px rgba(15,40,60,0.06);
}
footer.footer a{color:rgba(255,255,255,0.95)}


.dashboard-hero{
    background: linear-gradient(90deg, var(--main-color) 0%, #1fa3dd 100%);
    color: #fff;
    border-radius: 12px;
    padding: 36px 28px;
    box-shadow: 0 8px 24px rgba(18,52,69,0.08);
}
.dashboard-hero h2{
    font-size: 2.1rem;
    margin-bottom: 8px;
    letter-spacing: -0.5px;
}
.dashboard-hero p{
    font-size: 1.05rem;
    opacity: 0.95;
}

.dashboard-cards{
    margin-top: 18px;
}

/* Login / Home index form styles */
.login-wrapper{
    display:flex;
    align-items:center;
    justify-content:center;
    /* center vertically taking header/footer into account */
    min-height: calc(100vh - 160px);
    padding: 24px 16px;
}

@media (max-width: 576px){
    .login-wrapper{min-height: calc(100vh - 120px); padding:18px 12px}
}
.login-card{
    width:100%;
    max-width:460px;
    background: #fff;
    border-radius:12px;
    padding:28px;
    box-shadow: 0 10px 30px rgba(10,30,40,0.08);
}
.login-card h2{margin:0 0 6px 0;font-size:1.5rem}
.login-card p.lead{color:var(--muted);margin-bottom:18px}
.login-card{position:relative}
.login-card::before{
    content: '';
    position: absolute;
    left: 0;right: 0;top: 0;
    height: 6px;
    background: linear-gradient(90deg, var(--main-color) 0%, #1fa3dd 100%);
    border-top-left-radius:12px;border-top-right-radius:12px;
}
.login-form .form-group{margin-bottom:14px}
.login-form label{display:block;margin-bottom:6px;font-weight:600}
.login-form input[type="email"],
.login-form input[type="password"],
.login-form input[type="text"]{
    width:100%;
    padding:10px 12px;
    border-radius:8px;
    border:1px solid #e6eef2;
    background:#fbfeff;
    transition:box-shadow .12s ease,border-color .12s ease;
}
.login-form input:focus{outline:none;box-shadow:0 6px 18px rgba(52,179,230,0.12);border-color:var(--main-color)}
.btn-login{display:inline-block;width:100%;padding:10px 14px;border-radius:8px;font-size:1rem;background:var(--main-color);border:1px solid var(--main-color);color:#fff}
.btn-login:hover{background:#1fa3dd;border-color:#1fa3dd;color:#06232b}
.login-help{margin-top:10px;text-align:center;color:var(--muted)}

/* Alerts */
.alert-custom{
    padding:10px 12px;border-radius:8px;margin-bottom:12px;font-weight:600
}
.alert-success-custom{background:rgba(40,167,69,0.08);color:#155724;border:1px solid rgba(40,167,69,0.12)}
.alert-danger-custom{background:rgba(220,53,69,0.06);color:#721c24;border:1px solid rgba(220,53,69,0.12)}
.dashboard-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:12px;
}
.dashboard-header h1{margin:0;font-size:1.6rem}
.dashboard-logout-btn{
    background:transparent;
    border:1px solid rgba(0,0,0,0.08);
    color:var(--muted);
    padding:6px 12px;
    border-radius:8px;
}
.dashboard-logout-btn:hover{color:var(--main-color);border-color:var(--main-color)}

.welcome-box{
    display:flex;
    align-items:center;
    gap:18px;
    background: linear-gradient(90deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
    padding:14px 18px;
    border-radius:10px;
    margin-bottom:14px;
}
.welcome-avatar{
    /* Responsive circular avatar: scales between a sensible min and max */
    width: clamp(44px, 8vw, 72px);
    height: clamp(44px, 8vw, 72px);
    min-width:44px;
    min-height:44px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--main-color),#1fa3dd);
    display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;
    font-size: clamp(0.9rem, 2.2vw, 1.25rem);
    line-height:1;
}

/* Make the small header avatar responsive as well */
.header-welcome .welcome-avatar.small{
    width: clamp(32px, 4.2vw, 40px);
    height: clamp(32px, 4.2vw, 40px);
    min-width:32px;
    min-height:32px;
    font-size: clamp(0.75rem, 1.2vw, 1rem);
}
.welcome-details h1{font-size:1.25rem;margin:0}
.welcome-details p{margin:0;color:var(--muted)}
.dashboard-cards .card{
    min-height: 220px;
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(15,40,60,0.06);
    transition: transform .18s ease, box-shadow .18s ease;
}
.dashboard-cards .card:hover{
    transform: translateY(-6px);
    box-shadow: 0 14px 36px rgba(15,40,60,0.12);
}
.dashboard-card-top{
    height: 6px;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}
.dashboard-card-title{
    font-size: 1.25rem;
    margin-bottom: 8px;
}
.dashboard-card-text{
    color: var(--muted);
}
.dashboard-cta .btn-primary{
    background: var(--main-color);
    border-color: var(--main-color);
}
.dashboard-cta .btn-outline-primary{
    color: var(--main-color);
    border-color: rgba(118,190,215,0.35);
}

@media (min-width: 992px){
    .dashboard-hero{padding:48px 40px}
    .dashboard-hero h2{font-size:2.6rem}
    .dashboard-cards .card{min-height:260px}
}


/* Ensure dashboard card area has extra bottom padding so last-row cards sit well above footer */
.dashboard-cards{
    padding-bottom: 3rem;
}

/* Ehliyet uyarıları card styles */
.ehliyet-uyari-card{
    border-radius:12px;
    box-shadow:0 8px 30px rgba(8,30,40,0.06);
    overflow:visible;
    margin-bottom: 3rem; /* space between table/card and footer */
}
.ehliyet-uyari-card .uyari-icon{
    width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 6px 18px rgba(10,30,40,0.06);
}
.chip{display:inline-block;padding:6px 10px;border-radius:999px;font-weight:600;background:rgba(11,34,48,0.04);color:var(--muted);}
.chip-dark{background:rgba(0,0,0,0.08);color:#fff}
.chip-danger{background:rgba(220,53,69,0.08);color:#7a1c22}
.chip-urgent{background:linear-gradient(90deg,#ffb259,#ff7a59);color:#06232b}

.uyari-row.expired{background:linear-gradient(90deg,rgba(220,53,69,0.04),transparent)}
.uyari-row.urgent{background:linear-gradient(90deg,rgba(255,193,7,0.04),transparent)}
.uyari-row.near{background:linear-gradient(90deg,rgba(255,235,59,0.02),transparent)}
.uyari-row.normal{background:transparent}

/* Responsive tweaks */
@media (max-width: 576px){
    .uyari-icon{width:44px;height:44px}
    .chip{font-size:0.9rem;padding:5px 8px}
}

