﻿:root {
    --ts-primary: #1f6feb;
    --ts-dark: #0d1b2a;
    --ts-accent: #14b8a6;
}

body {
    background-color: #f4f6fa;
    font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: #1c2434;
}

/* Navbar */
.ts-navbar {
    background: linear-gradient(90deg, var(--ts-dark) 0%, #163a5f 100%);
    box-shadow: 0 2px 8px rgba(0, 0, 0, .12);
}
.ts-navbar .nav-link {
    border-radius: .4rem;
    padding-left: .7rem;
    padding-right: .7rem;
    margin: 0 .1rem;
    transition: background-color .15s ease;
}
.ts-navbar .nav-link:hover {
    background-color: rgba(255, 255, 255, .12);
}
.ts-navbar .nav-link.active {
    background-color: var(--ts-primary);
    color: #fff;
}

/* Kartlar */
.card {
    border: none;
    border-radius: .75rem;
    box-shadow: 0 1px 3px rgba(16, 24, 40, .08), 0 1px 2px rgba(16, 24, 40, .06);
}
.card-header {
    background-color: #fff;
    border-bottom: 1px solid #eef1f6;
    border-top-left-radius: .75rem !important;
    border-top-right-radius: .75rem !important;
    font-weight: 600;
}

/* Sayfa başlığı */
.page-title {
    font-weight: 700;
    color: var(--ts-dark);
    margin-bottom: .25rem;
}
.page-sub {
    color: #7b869c;
    margin-bottom: 1.25rem;
}

/* İstatistik kutuları */
.stat-card {
    border-radius: .75rem;
    color: #fff;
    padding: 1.1rem 1.25rem;
    height: 100%;
}
.stat-card .stat-value { font-size: 1.9rem; font-weight: 700; line-height: 1.1; }
.stat-card .stat-label { opacity: .9; font-size: .9rem; }
.stat-card .bi { font-size: 2rem; opacity: .35; }
.bg-grad-blue   { background: linear-gradient(135deg, #1f6feb, #3b8ef0); }
.bg-grad-green  { background: linear-gradient(135deg, #10b981, #34d399); }
.bg-grad-orange { background: linear-gradient(135deg, #f59e0b, #fbbf24); }
.bg-grad-red    { background: linear-gradient(135deg, #ef4444, #f87171); }
.bg-grad-teal   { background: linear-gradient(135deg, #0d9488, #14b8a6); }
.bg-grad-purple { background: linear-gradient(135deg, #7c3aed, #a78bfa); }

/* Tablolar */
.table-wrap { background: #fff; border-radius: .75rem; overflow: hidden; }
.table > thead th {
    background-color: #f7f9fc;
    color: #55607a;
    font-size: .82rem;
    text-transform: uppercase;
    letter-spacing: .02em;
    border-bottom: 2px solid #eceff4;
    white-space: nowrap;
}
.table > tbody td { vertical-align: middle; }
.gridview-pager td { background:#f7f9fc; padding:.5rem !important; }
.gridview-pager a, .gridview-pager span {
    display:inline-block; min-width:32px; padding:.25rem .5rem; margin:0 .1rem;
    border-radius:.35rem; text-decoration:none; border:1px solid #dee2e6; color:var(--ts-primary);
}
.gridview-pager span { background: var(--ts-primary); color:#fff; border-color:var(--ts-primary); }

/* Giriş ekranı */
.login-wrap {
    min-height: 100vh;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #0d1b2a 0%, #1f6feb 100%);
    padding: 1rem;
}
.login-card {
    width: 100%; max-width: 400px; background: #fff;
    border-radius: 1rem; padding: 2.25rem; box-shadow: 0 20px 45px rgba(0,0,0,.25);
}
.login-logo { font-size: 2.4rem; color: var(--ts-primary); }

/* Takvim renk açıklaması */
.legend-dot { display:inline-block; width:12px; height:12px; border-radius:50%; margin-right:.35rem; }

.required { color: #ef4444; }
.form-label { font-weight: 600; font-size: .9rem; color: #384152; }
