/* ServisPro Teknik — Yönetim paneli teması */
:root {
  --ap-bg: #f2f5f9;
  --ap-sidebar: #0d1b2a;
  --ap-sidebar-2: #13293d;
  --ap-primary: #0d3b66;
  --ap-accent: #ff6b35;
  --ap-card: #ffffff;
  --ap-border: #e4eaf1;
  --ap-text: #223347;
  --ap-muted: #7b8ca3;
}
body { background: var(--ap-bg); color: var(--ap-text); font-family: "Segoe UI", system-ui, sans-serif; }

.admin-shell { display: flex; min-height: 100vh; }

/* Sidebar */
.sidebar { width: 248px; background: linear-gradient(180deg, var(--ap-sidebar), var(--ap-sidebar-2)); position: fixed; inset-block: 0; left: 0; z-index: 1040; display: flex; flex-direction: column; transition: transform .25s ease; }
.sidebar-head { display: flex; gap: .65rem; align-items: center; padding: 1.1rem 1rem; border-bottom: 1px solid rgba(255,255,255,.08); }
.brand-mark { width: 38px; height: 38px; border-radius: 10px; background: var(--ap-accent); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 1.15rem; flex: none; }
.sidebar-nav { flex: 1; overflow-y: auto; padding: .75rem .6rem 1rem; }
.sidebar-nav::-webkit-scrollbar { width: 5px; }
.sidebar-nav::-webkit-scrollbar-thumb { background: rgba(255,255,255,.15); border-radius: 4px; }
.nav-group-label { color: rgba(255,255,255,.38); font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; padding: .8rem .55rem .3rem; }
.sidebar-nav a { display: flex; align-items: center; gap: .6rem; color: #c3cfdd; padding: .5rem .7rem; border-radius: 9px; font-size: .885rem; font-weight: 500; text-decoration: none; margin-bottom: 2px; }
.sidebar-nav a:hover { background: rgba(255,255,255,.07); color: #fff; }
.sidebar-nav a.active { background: var(--ap-accent); color: #fff; box-shadow: 0 4px 14px rgba(255,107,53,.35); }
.sidebar-nav a i { font-size: 1rem; width: 20px; text-align: center; }
.sidebar-foot { padding: .8rem 1rem; border-top: 1px solid rgba(255,255,255,.08); display: flex; justify-content: space-between; }
.sidebar-foot a { color: #93a5ba; font-size: .8rem; text-decoration: none; }
.sidebar-foot a:hover { color: #fff; }

/* Main */
.admin-main { flex: 1; margin-left: 248px; display: flex; flex-direction: column; min-width: 0; }
.admin-topbar { background: #fff; border-bottom: 1px solid var(--ap-border); padding: .65rem 1.2rem; display: flex; align-items: center; gap: .75rem; position: sticky; top: 0; z-index: 1030; }
.admin-content { padding: 1.2rem; }
.btn-icon { border: none; background: transparent; color: var(--ap-muted); }
.btn-user { border: none; background: var(--ap-bg); border-radius: 10px; font-weight: 600; font-size: .85rem; color: var(--ap-text); display: flex; align-items: center; gap: .5rem; }
.avatar { width: 30px; height: 30px; border-radius: 50%; background: var(--ap-primary); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: .85rem; }
.notif-dot { position: absolute; top: -2px; right: -4px; font-size: .6rem; }

/* Kartlar */
.card-corp { background: var(--ap-card); border: 1px solid var(--ap-border); border-radius: 14px; }
.card-corp .card-header { background: transparent; border-bottom: 1px solid var(--ap-border); font-weight: 700; }
.stat-card { background: #fff; border: 1px solid var(--ap-border); border-radius: 14px; padding: 1rem 1.1rem; display: flex; gap: .9rem; align-items: center; height: 100%; }
.stat-card .ic { width: 46px; height: 46px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 1.25rem; flex: none; }
.stat-card .v { font-size: 1.35rem; font-weight: 800; line-height: 1; }
.stat-card .l { font-size: .76rem; color: var(--ap-muted); font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
.ic-blue { background: #e8f1fb; color: #1667b8; } .ic-green { background: #e6f7ec; color: #148a4c; }
.ic-orange { background: #fff0e8; color: #d95a1e; } .ic-red { background: #fdeaea; color: #c0392b; }
.ic-purple { background: #f1ecfb; color: #6d3fc0; } .ic-teal { background: #e6f7f7; color: #0d8a8a; }

/* Tablo */
.table-panel { font-size: .875rem; }
.table-panel thead th { background: #f7f9fc; color: var(--ap-muted); font-weight: 700; text-transform: uppercase; font-size: .72rem; letter-spacing: .06em; border-bottom: 1px solid var(--ap-border); }
.table-panel td { vertical-align: middle; }
.table-toolbar { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }

/* Auth */
.auth-body { background: linear-gradient(135deg, #0d1b2a 0%, #0d3b66 55%, #155a91 100%); min-height: 100vh; display: grid; place-items: center; }
.auth-wrap { width: 100%; max-width: 420px; padding: 1.2rem; }
.auth-card { background: #fff; border-radius: 18px; padding: 2.2rem 2rem; box-shadow: 0 30px 70px rgba(0,0,0,.4); }
.auth-brand { text-align: center; margin-bottom: 1.4rem; }
.auth-brand .brand-mark { width: 54px; height: 54px; font-size: 1.5rem; margin: 0 auto .7rem; }

/* Dashboard chart kutuları */
.chart-box { background: #fff; border: 1px solid var(--ap-border); border-radius: 14px; padding: 1rem 1.1rem; }
.chart-box h6 { font-weight: 700; }

/* Geçiş (mobil) */
@media (max-width: 991.98px) {
  .sidebar { transform: translateX(-100%); }
  .sidebar.open { transform: none; }
  .admin-main { margin-left: 0; }
}

/* Formlar */
.form-panel .form-label { font-weight: 600; font-size: .84rem; }
.form-panel .form-control, .form-panel .form-select { border-radius: 10px; }
.was-validated .form-control:invalid { border-color: #c0392b; }

/* Bildirim satırı */
.unread-row { background: #fff8f2 !important; }
