/* CG Rise — Admin & ATC panel */
:root { --g9:#073a17; --g8:#0b4f1f; --g7:#0f5f27; --g6:#1E8A3C; --gold:#E2B33C; --ink:#1c2a21; --mute:#5b6b61; --tint:#f3f8f4; --line:#e3ece6; --sbw:258px; }
body.panel { background:#f4f7f5; color:var(--ink); font-family:'Segoe UI',Roboto,system-ui,-apple-system,sans-serif; font-size:15px; }
a { color:var(--g6); }
.pn-side { position:fixed; inset:0 auto 0 0; width:var(--sbw); background:linear-gradient(180deg,var(--g9),var(--g8) 70%,#0d5a24); color:#cfe2d4; z-index:1040; display:flex; flex-direction:column; transition:transform .25s; }
.pn-brand { display:flex; align-items:center; gap:12px; padding:18px 20px; border-bottom:1px solid rgba(255,255,255,.08); }
.pn-brand img { height:44px; background:#fff; border-radius:10px; padding:3px 8px; }
.pn-brand span { font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--gold); font-weight:700; line-height:1.2; }
.pn-nav { padding:14px 12px; flex:1; overflow-y:auto; }
.pn-nav .lbl { font-size:11px; letter-spacing:1.4px; text-transform:uppercase; color:#8fb39a; padding:14px 12px 6px; }
.pn-nav a { display:flex; align-items:center; gap:12px; padding:10px 14px; border-radius:10px; color:#d9e8de; text-decoration:none; font-weight:500; margin-bottom:2px; }
.pn-nav a i { font-size:20px; }
.pn-nav a:hover { background:rgba(255,255,255,.07); color:#fff; }
.pn-nav a.active { background:var(--gold); color:var(--g9); font-weight:700; }
.pn-nav a .cnt { margin-left:auto; background:#c0392b; color:#fff; font-size:11px; font-weight:700; border-radius:99px; padding:1px 8px; }
.pn-nav a.active .cnt { background:var(--g9); }
.pn-side .foot { padding:14px 20px; font-size:12px; color:#8fb39a; border-top:1px solid rgba(255,255,255,.08); }
.pn-main { margin-left:var(--sbw); min-height:100vh; display:flex; flex-direction:column; }
.pn-top { position:sticky; top:0; z-index:1030; background:#fff; border-bottom:1px solid var(--line); padding:12px 26px; display:flex; align-items:center; gap:16px; }
.pn-top h1 { font-size:20px; margin:0; font-weight:700; color:var(--g9); }
.pn-top .crumb { font-size:13px; color:var(--mute); }
.pn-top .user { margin-left:auto; display:flex; align-items:center; gap:10px; }
.pn-top .avatar { width:38px; height:38px; border-radius:50%; background:var(--tint); color:var(--g6); display:flex; align-items:center; justify-content:center; font-weight:700; }
.pn-burger { display:none; border:0; background:none; font-size:26px; color:var(--g8); }
.pn-body { padding:24px 26px 40px; flex:1; }
.pn-card { background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 4px 18px rgba(11,79,31,.04); }
.pn-card > .hd { padding:16px 20px; border-bottom:1px solid var(--line); display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.pn-card > .hd h2 { font-size:16px; font-weight:700; margin:0; color:var(--g9); }
.pn-card > .bd { padding:20px; }
.stat { display:flex; align-items:center; gap:16px; padding:18px 20px; }
.stat .ic { width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:26px; flex:none; }
.stat .v { font-size:26px; font-weight:800; color:var(--g9); line-height:1.1; }
.stat .k { color:var(--mute); font-size:13.5px; }
.ic-g { background:#e3f4e7; color:var(--g6); } .ic-y { background:#fdf3d6; color:#b07d00; } .ic-b { background:#e4efff; color:#2563eb; } .ic-r { background:#fde8e6; color:#c0392b; } .ic-p { background:#efe7fb; color:#7c3aed; }
.table { margin:0; }
.table > :not(caption) > * > * { padding:.7rem .9rem; vertical-align:middle; }
.table thead th { font-size:12px; text-transform:uppercase; letter-spacing:.6px; color:var(--mute); background:#f7faf8; border-bottom:1px solid var(--line); white-space:nowrap; }
.table tbody tr:hover { background:#fafdfb; }
.t-sub { font-size:12.5px; color:var(--mute); }
.btn-g { background:var(--g8); color:#fff; border:0; } .btn-g:hover, .btn-g:focus { background:var(--g6); color:#fff; }
.btn-gold { background:var(--gold); color:var(--g9); border:0; font-weight:600; } .btn-gold:hover { background:#f0c455; color:var(--g9); }
.btn-soft { background:var(--tint); color:var(--g8); border:1px solid var(--line); } .btn-soft:hover { background:#e3efe7; color:var(--g8); }
.form-label { font-weight:600; font-size:13.5px; color:var(--ink); }
.form-control, .form-select { border-color:#d6e3da; border-radius:10px; }
.form-control:focus, .form-select:focus { border-color:var(--g6); box-shadow:0 0 0 3px rgba(30,138,60,.15); }
.form-check-input:checked { background-color:var(--g6); border-color:var(--g6); }
.kv { display:grid; grid-template-columns:170px 1fr; gap:9px 16px; margin:0; }
.kv dt { color:var(--mute); font-weight:500; } .kv dd { margin:0; font-weight:600; word-break:break-word; }
.filters .form-control, .filters .form-select { height:40px; font-size:14px; }
.empty { text-align:center; padding:48px 20px; color:var(--mute); } .empty i { font-size:46px; color:#b9cfbf; display:block; margin-bottom:10px; }
.pagination .page-link { color:var(--g8); } .pagination .active > .page-link { background:var(--g8); border-color:var(--g8); color:#fff; }
.alert { border-radius:12px; }
.cert-thumb { width:100%; max-height:420px; border:1px solid var(--line); border-radius:12px; object-fit:contain; background:#fafafa; }
.cert-frame { width:100%; height:420px; border:1px solid var(--line); border-radius:12px; }
.course-thumb { width:64px; height:44px; object-fit:cover; border-radius:8px; }
.auth-wrap { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px; background:linear-gradient(140deg,var(--g9),var(--g8) 55%,#14692b); }
.auth-card { width:100%; max-width:430px; background:#fff; border-radius:22px; padding:34px 32px; box-shadow:0 30px 60px rgba(0,0,0,.25); }
.auth-card .logo { height:76px; display:block; margin:0 auto 10px; }
.auth-card h1 { font-size:22px; text-align:center; color:var(--g9); font-weight:800; margin-bottom:4px; }
.auth-card .sub { text-align:center; color:var(--mute); margin-bottom:24px; font-size:14px; }
.auth-card .form-control { height:48px; }
.auth-card .hi { text-align:center; color:#b5532a; font-size:15px; margin-top:18px; }
@media (max-width:991px) {
  .pn-side { transform:translateX(-100%); } body.nav-open .pn-side { transform:none; box-shadow:0 0 0 100vmax rgba(0,0,0,.35); }
  .pn-main { margin-left:0; } .pn-burger { display:block; } .pn-body { padding:18px 14px 30px; } .pn-top { padding:10px 14px; }
  .kv { grid-template-columns:1fr; gap:2px 0; } .kv dd { margin-bottom:8px; }
}
@media print { .pn-side, .pn-top, .no-print { display:none !important; } .pn-main { margin:0; } }
