/* ===== e-Rapor Digital — App Theme ===== */
:root{
  --er-primary:#0d6efd;
  --er-sidebar:#0f172a;
  --er-sidebar-2:#1e293b;
  --er-radius:14px;
}
*{ -webkit-tap-highlight-color:transparent; }
body{ font-family:'Inter',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; background:#f1f5f9; }
[data-bs-theme=dark] body{ background:#0b1220; }

/* ---------- AUTH ---------- */
.auth-body{ min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#0d6efd 0%,#6610f2 100%); padding:18px; }
.auth-wrap{ width:100%; max-width:880px; }
.auth-card{ display:flex; background:#fff; border-radius:22px; overflow:hidden; }
.auth-brand{ flex:1; background:linear-gradient(160deg,#0d6efd,#4338ca); color:#fff; padding:48px 36px; display:flex; flex-direction:column; justify-content:center; }
.auth-brand h1{ font-size:26px; font-weight:800; margin:18px 0 4px; }
.auth-brand p{ opacity:.85; margin:0; }
.auth-logo{ width:64px; height:64px; border-radius:18px; background:rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center; font-size:30px; }
.auth-form{ flex:1.1; padding:42px 38px; }
.demo-box{ background:#f8fafc; border:1px dashed #cbd5e1; border-radius:12px; padding:12px; }
@media(max-width:767px){ .auth-card{ flex-direction:column; } .auth-brand{ padding:32px; } }

/* ---------- SHELL ---------- */
.app-shell{ display:flex; min-height:100vh; }
.sidebar{ width:260px; background:var(--er-sidebar); color:#cbd5e1; flex-shrink:0; position:fixed; top:0; bottom:0; left:0; overflow-y:auto; z-index:1040; transition:transform .25s ease; }
.sidebar-brand{ display:flex; align-items:center; gap:12px; padding:20px 22px; color:#fff; font-size:20px; border-bottom:1px solid rgba(255,255,255,.07); }
.sidebar-brand i{ font-size:26px; color:#60a5fa; }
.brand-title{ font-weight:800; display:block; line-height:1; }
.brand-sub{ font-size:11px; color:#64748b; letter-spacing:2px; text-transform:uppercase; }
.sidebar-nav{ padding:10px 12px 40px; }
.nav-group{ font-size:11px; letter-spacing:1px; color:#475569; font-weight:700; padding:16px 12px 6px; }
.sidebar .nav-link{ display:flex; align-items:center; gap:12px; color:#cbd5e1; border-radius:10px; padding:10px 12px; font-size:14px; font-weight:500; margin-bottom:2px; }
.sidebar .nav-link i{ font-size:17px; width:20px; text-align:center; }
.sidebar .nav-link:hover{ background:var(--er-sidebar-2); color:#fff; }
.sidebar .nav-link.active{ background:linear-gradient(90deg,var(--er-primary),#3b82f6); color:#fff; box-shadow:0 4px 14px rgba(13,110,253,.4); }

.main{ flex:1; margin-left:260px; display:flex; flex-direction:column; min-width:0; }
.topbar{ display:flex; align-items:center; gap:6px; background:#fff; padding:12px 20px; position:sticky; top:0; z-index:1030; box-shadow:0 1px 0 rgba(0,0,0,.06); }
[data-bs-theme=dark] .topbar{ background:#0f172a; }
.icon-btn{ width:40px; height:40px; border:0; border-radius:50%; background:transparent; color:inherit; display:inline-flex; align-items:center; justify-content:center; font-size:18px; }
.icon-btn:hover{ background:rgba(0,0,0,.06); }
[data-bs-theme=dark] .icon-btn:hover{ background:rgba(255,255,255,.08); }
.icon-btn .dot{ position:absolute; top:8px; right:9px; width:8px; height:8px; background:#ef4444; border-radius:50%; }
.user-chip{ display:flex; align-items:center; gap:8px; border:0; background:transparent; padding:4px 8px; border-radius:30px; color:inherit; }
.user-chip:hover{ background:rgba(0,0,0,.05); }
.avatar{ width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg,#0d6efd,#6610f2); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; }
.content{ padding:24px; flex:1; }
.app-footer{ padding:14px 24px; text-align:center; }

@media(max-width:991px){
  .sidebar{ transform:translateX(-100%); }
  .sidebar.show{ transform:translateX(0); }
  .main{ margin-left:0; }
}

/* ---------- CARDS / STATS ---------- */
.stat-card{ border:0; border-radius:var(--er-radius); overflow:hidden; }
.stat-card .stat-icon{ width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:24px; color:#fff; }
.stat-card .stat-value{ font-size:28px; font-weight:800; line-height:1; }
.card{ border:0; border-radius:var(--er-radius); box-shadow:0 2px 12px rgba(15,23,42,.06); }
[data-bs-theme=dark] .card{ background:#0f172a; box-shadow:0 2px 12px rgba(0,0,0,.4); }
.card-header{ background:transparent; border-bottom:1px solid rgba(0,0,0,.06); font-weight:600; }
.page-head{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; margin-bottom:18px; }
.page-head h1{ font-size:22px; font-weight:800; margin:0; }
.bg-grad-1{ background:linear-gradient(135deg,#0d6efd,#3b82f6); }
.bg-grad-2{ background:linear-gradient(135deg,#16a34a,#22c55e); }
.bg-grad-3{ background:linear-gradient(135deg,#f59e0b,#fbbf24); }
.bg-grad-4{ background:linear-gradient(135deg,#dc2626,#f87171); }
.bg-grad-5{ background:linear-gradient(135deg,#7c3aed,#a78bfa); }
table.dataTable{ font-size:14px; }
.badge-soft{ background:rgba(13,110,253,.12); color:#0d6efd; font-weight:600; }

/* ---------- RAPOR PRINT ---------- */
.rapor-sheet{ background:#fff; color:#000; max-width:800px; margin:0 auto; padding:34px 40px; font-family:'Times New Roman',serif; }
.rapor-kop{ display:flex; align-items:center; gap:18px; border-bottom:3px double #000; padding-bottom:10px; }
.rapor-kop img{ width:75px; }
.rapor-table{ width:100%; border-collapse:collapse; }
.rapor-table th,.rapor-table td{ border:1px solid #000; padding:5px 7px; font-size:13px; }
.rapor-table th{ background:#f0f0f0; text-align:center; }
@media print{ .no-print{ display:none!important; } body{ background:#fff; } .rapor-sheet{ box-shadow:none; max-width:100%; } }
