/* ── Layout ──────────────────────────────────────────────────────────────── */
body { background: #f8fafc; font-size: 0.92rem; color: #1e293b; }

#sidebar {
    width: 230px; min-height: 100vh;
    background: #1e3a5f; color: #cbd5e1;
    position: fixed; top: 0; left: 0; z-index: 1000;
    display: flex; flex-direction: column;
    transition: transform .25s;
}
#sidebar .brand {
    padding: 1.25rem 1rem 1rem;
    font-size: 1.05rem; font-weight: 700;
    color: #fff; border-bottom: 1px solid #2d4e78;
    letter-spacing: .3px;
}
#sidebar .brand small { display:block; font-size:.72rem; font-weight:400; color:#94a3b8; margin-top:2px; }
#sidebar .nav-link {
    color: #94a3b8; border-radius: 8px; margin: 2px 10px;
    padding: .55rem .85rem; display: flex; align-items: center; gap: .55rem;
    font-size: .875rem; transition: all .15s;
}
#sidebar .nav-link:hover { background: #2d4e78; color: #e2e8f0; }
#sidebar .nav-link.active { background: #2563eb; color: #fff; }
#sidebar .nav-link i { font-size: 1rem; width: 18px; text-align: center; }
#sidebar .sidebar-footer {
    margin-top: auto; border-top: 1px solid #2d4e78;
    padding: .75rem 1rem; font-size: .8rem; color: #64748b;
}

#main { margin-left: 230px; min-height: 100vh; }
.page-header { background: #fff; border-bottom: 1px solid #e2e8f0; padding: 1rem 1.5rem; }
.page-header h4 { font-weight: 700; font-size: 1.1rem; margin: 0; color: #1e3a5f; }
.content { padding: 1.5rem; }

/* ── Cards ───────────────────────────────────────────────────────────────── */
.stat-card { background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:1.25rem; }
.stat-card .stat-val { font-size:1.75rem; font-weight:800; color:#1e3a5f; }
.stat-card .stat-label { font-size:.8rem; color:#64748b; margin-top:2px; }
.stat-card .stat-icon { font-size:2rem; opacity:.15; }

/* ── Tables ──────────────────────────────────────────────────────────────── */
.card-table { background:#fff; border:1px solid #e2e8f0; border-radius:12px; overflow:hidden; }
.card-table .table { margin:0; font-size:.875rem; }
.card-table .table thead th {
    background:#f8fafc; border-bottom:2px solid #e2e8f0;
    color:#64748b; font-size:.75rem; text-transform:uppercase;
    letter-spacing:.05em; padding:.75rem 1rem; white-space:nowrap;
}
.card-table .table td { padding:.7rem 1rem; vertical-align:middle; border-color:#f1f5f9; }
.card-table .table tbody tr:hover { background:#f8fafc; }

/* ── Filters ─────────────────────────────────────────────────────────────── */
.filter-bar { background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:1rem 1.25rem; }

/* ── Badges & status ─────────────────────────────────────────────────────── */
.badge { font-size:.75rem; font-weight:600; padding:.35em .65em; border-radius:6px; }
.tag { display:inline-block; padding:.2em .55em; font-size:.75rem; border-radius:6px; font-weight:600; }
.tag-blue   { background:#eff6ff; color:#2563eb; }
.tag-purple { background:#f5f3ff; color:#7c3aed; }
.tag-green  { background:#f0fdf4; color:#16a34a; }
.tag-gray   { background:#f1f5f9; color:#475569; }

/* ── Buttons ─────────────────────────────────────────────────────────────── */
.btn-primary { background:#2563eb; border-color:#2563eb; }
.btn-primary:hover { background:#1d4ed8; border-color:#1d4ed8; }
.action-btns { display:flex; gap:4px; opacity:0; transition:opacity .15s; }
tr:hover .action-btns { opacity:1; }

/* ── Login ───────────────────────────────────────────────────────────────── */
.login-wrap { min-height:100vh; display:flex; align-items:center; justify-content:center; background:#f8fafc; }
.login-card { background:#fff; border:1px solid #e2e8f0; border-radius:16px; padding:2.5rem 2rem; width:100%; max-width:380px; box-shadow:0 4px 24px rgba(0,0,0,.06); }
.login-logo { font-size:2.5rem; color:#2563eb; margin-bottom:.75rem; }

/* ── Vade renkleri ───────────────────────────────────────────────────────── */
.vade-kritis { color:#dc2626; font-weight:700; animation:pulse 1.5s infinite; }
.vade-uyari  { color:#d97706; font-weight:600; }
.vade-ok     { color:#16a34a; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.6} }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media(max-width:768px){
    #sidebar { transform:translateX(-100%); }
    #sidebar.show { transform:translateX(0); }
    #main { margin-left:0; }
}
