:root{
  --primary:#0d6efd;--primary-dark:#0a58ca;--accent:#00b4d8;--bg:#f4f6fb;--radius:1rem;
  --shadow:0 4px 18px rgba(30,41,59,.07);--shadow-lg:0 12px 32px rgba(30,41,59,.12);
}
*{font-family:'Segoe UI',system-ui,-apple-system,sans-serif}
html{scroll-behavior:smooth}
body{background:var(--bg);min-height:100vh;color:#1e293b}
a{text-decoration:none}
a:hover{text-decoration:none}

.navbar-atv{background:linear-gradient(90deg,var(--primary),var(--accent));box-shadow:0 2px 12px rgba(13,110,253,.25)}
.hero-atv{background:linear-gradient(135deg,#0d6efd 0%,#00b4d8 100%);color:#fff;padding:4rem 0;position:relative;overflow:hidden}
.hero-atv::before{content:'';position:absolute;width:380px;height:380px;border-radius:50%;background:rgba(255,255,255,.08);top:-120px;right:-100px}
.hero-atv::after{content:'';position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.07);bottom:-100px;left:-80px}

.card{border:0;border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}
.card:hover{box-shadow:var(--shadow-lg)}
.card-header-atv{background:linear-gradient(90deg,var(--primary),var(--accent));color:#fff;border-radius:var(--radius) var(--radius) 0 0!important;font-weight:600;border:0;padding:.9rem 1.25rem}

.btn{border-radius:.65rem;font-weight:600;transition:.15s}
.btn-primary{background:linear-gradient(90deg,var(--primary),var(--accent));border:0}
.btn-primary:hover{background:linear-gradient(90deg,var(--primary-dark),#0096c7);transform:translateY(-1px);box-shadow:0 6px 16px rgba(13,110,253,.35)}
.btn-outline-primary,.btn-outline-secondary{border-radius:.7rem}

.form-control,.form-select{border-radius:.6rem;border-color:#e2e8f0;padding:.55rem .85rem}
.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 .2rem rgba(13,110,253,.15)}
.form-label{color:#334155;font-weight:600}

.auth-wrap{min-height:100vh;display:flex;align-items:center;background:linear-gradient(135deg,#0d6efd 0%,#00b4d8 100%);position:relative;overflow:hidden;padding:2rem 1rem}
.auth-wrap::before{content:'';position:absolute;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.08);top:-120px;right:-120px}
.auth-wrap::after{content:'';position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.07);bottom:-100px;left:-100px}
.auth-card{max-width:420px;width:100%;margin:auto;border-radius:1.25rem;box-shadow:0 20px 50px rgba(0,0,0,.2);position:relative;z-index:1}
.auth-logo{width:64px;height:64px;max-width:64px;max-height:64px;object-fit:contain}

.stat-card{border-radius:var(--radius);padding:1.25rem;color:#fff;transition:transform .15s}
.stat-card:hover{transform:translateY(-3px)}
.stat-card .stat-num{font-size:1.9rem;font-weight:700;line-height:1.1}
.stat-card .stat-label{opacity:.85;font-size:.85rem}
.stat-blue{background:linear-gradient(135deg,#0d6efd,#00b4d8)}
.stat-green{background:linear-gradient(135deg,#198754,#20c997)}
.stat-orange{background:linear-gradient(135deg,#fd7e14,#ffc107)}
.stat-purple{background:linear-gradient(135deg,#6f42c1,#a370f7)}
.stat-gray{background:linear-gradient(135deg,#495057,#adb5bd)}
.stat-red{background:linear-gradient(135deg,#dc3545,#ff6b6b)}

.badge-status{font-size:.78rem;padding:.45em .8em;border-radius:.6rem;font-weight:600}
.table thead th{background:#f1f5ff;color:#334155;font-weight:600;border-bottom:2px solid #e2e8f0;white-space:nowrap}
.table td{vertical-align:middle}
.table-hover tbody tr:hover{background:#f8faff}

.sidebar{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);position:sticky;top:76px}
.sidebar .list-group-item{border:0;border-radius:.6rem!important;margin-bottom:.25rem;color:#334155;font-weight:500;transition:.15s}
.sidebar .list-group-item.active{background:linear-gradient(90deg,var(--primary),var(--accent));border:0;box-shadow:0 4px 12px rgba(13,110,253,.3)}
.sidebar .list-group-item:hover:not(.active){background:#f1f5ff;transform:translateX(3px)}

@media (max-width:767px){
  .hero-atv{padding:2.5rem 0}
  .display-5{font-size:1.8rem}
  .stat-card .stat-num{font-size:1.4rem}
  .table-responsive{font-size:.9rem}
}
