@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');
:root{--p:#1e3a5f;--pl:#2d5a8a;--pd:#0f1f35;--s:#c9a227;--sl:#e0bc4a;--g:#059669;--w:#d97706;--r:#dc2626;--i:#0891b2;--50:#f9fafb;--100:#f3f4f6;--200:#e5e7eb;--300:#d1d5db;--400:#9ca3af;--500:#6b7280;--600:#4b5563;--700:#374151;--800:#1f2937;--sh:0 1px 3px 0 rgb(0 0 0 / .1);--sh-lg:0 10px 15px -3px rgb(0 0 0 / .1);--sh-xl:0 20px 25px -5px rgb(0 0 0 / .1)}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Plus Jakarta Sans',sans-serif;background:var(--50);color:var(--800);line-height:1.6;min-height:100vh}
.navbar{background:linear-gradient(135deg,var(--p),var(--pd));padding:1rem 0;box-shadow:var(--sh-lg);position:sticky;top:0;z-index:1000}
.navbar-brand{font-weight:800;font-size:1.5rem;color:#fff!important}
.navbar-brand i{color:var(--s)}
.navbar-nav .nav-link{color:rgba(255,255,255,.85)!important;font-weight:500;padding:.75rem 1rem!important;border-radius:8px;transition:all .3s}
.navbar-nav .nav-link:hover,.navbar-nav .nav-link.active{color:var(--s)!important;background:rgba(255,255,255,.1)}
.hero{background:linear-gradient(135deg,var(--p),var(--pl));color:#fff;padding:6rem 0 8rem}
.hero h1{font-size:3.5rem;font-weight:800;margin-bottom:1.5rem}
.hero h1 span{color:var(--s)}
.hero p{font-size:1.25rem;opacity:.9;margin-bottom:2rem}
.badge-custom{background:var(--s);color:var(--pd);padding:.5rem 1rem;border-radius:50px;font-weight:600}
.btn{font-weight:600;padding:.75rem 1.5rem;border-radius:10px;transition:all .3s;display:inline-flex;align-items:center;gap:.5rem}
.btn-primary{background:var(--s);border-color:var(--s);color:var(--pd)}
.btn-primary:hover{background:var(--sl);transform:translateY(-2px);box-shadow:var(--sh-lg)}
.btn-success{background:var(--g);border-color:var(--g)}
.btn-danger{background:var(--r);border-color:var(--r)}
.card{border:none;border-radius:16px;box-shadow:var(--sh);transition:all .3s;overflow:hidden}
.card:hover{transform:translateY(-4px);box-shadow:var(--sh-xl)}
.card-header{background:linear-gradient(135deg,var(--p),var(--pl));color:#fff;font-weight:600;padding:1.25rem 1.5rem;border:none}
.card-body{padding:1.5rem}
.stat-card{background:#fff;border-radius:16px;padding:1.75rem;box-shadow:var(--sh);position:relative;overflow:hidden}
.stat-card::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%}
.stat-card.blue::before{background:var(--i)}
.stat-card.green::before{background:var(--g)}
.stat-card.orange::before{background:var(--w)}
.stat-card.red::before{background:var(--r)}
.stat-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1rem}
.stat-card.blue .stat-icon{background:rgba(8,145,178,.1);color:var(--i)}
.stat-card.green .stat-icon{background:rgba(5,150,105,.1);color:var(--g)}
.stat-card.orange .stat-icon{background:rgba(217,119,6,.1);color:var(--w)}
.stat-value{font-size:2.25rem;font-weight:800;margin-bottom:.25rem}
.stat-label{color:var(--500);font-weight:500}
.form-control,.form-select{border:2px solid var(--200);border-radius:10px;padding:.875rem 1rem;transition:all .3s}
.form-control:focus,.form-select:focus{border-color:var(--p);box-shadow:0 0 0 3px rgba(30,58,95,.1)}
.form-label{font-weight:600;color:var(--700);margin-bottom:.5rem}
.alert{border:none;border-radius:12px;padding:1rem 1.25rem;font-weight:500}
.alert-success{background:rgba(5,150,105,.1);color:var(--g)}
.alert-danger{background:rgba(220,38,38,.1);color:var(--r)}
.table thead th{background:var(--100);color:var(--700);font-weight:600;text-transform:uppercase;font-size:.75rem;padding:1rem;border:none}
.table tbody td{padding:1rem;vertical-align:middle}
.table tbody tr:hover{background:var(--50)}
.badge{font-weight:600;padding:.5rem .75rem;border-radius:8px}
.status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:50px;font-size:.75rem;font-weight:600}
.status-badge.draft{background:var(--200);color:var(--600)}
.status-badge.submitted{background:rgba(8,145,178,.1);color:var(--i)}
.status-badge.verified{background:rgba(217,119,6,.1);color:var(--w)}
.status-badge.approved,.status-badge.accepted{background:rgba(5,150,105,.1);color:var(--g)}
.status-badge.rejected{background:rgba(220,38,38,.1);color:var(--r)}
.sidebar{background:#fff;min-height:100vh;box-shadow:var(--sh-lg);position:fixed;width:260px;left:0;top:0;z-index:100}
.sidebar-header{background:linear-gradient(135deg,var(--p),var(--pl));padding:1.5rem;color:#fff}
.sidebar-nav{padding:1rem 0}
.sidebar-nav .nav-link{color:var(--600);padding:.875rem 1.5rem;font-weight:500;display:flex;align-items:center;gap:.75rem;transition:all .3s;border-left:3px solid transparent}
.sidebar-nav .nav-link:hover,.sidebar-nav .nav-link.active{color:var(--p);background:rgba(30,58,95,.05);border-left-color:var(--p)}
.main-content{margin-left:260px;min-height:100vh;background:var(--50)}
.page-header{background:#fff;padding:1.5rem 2rem;border-bottom:1px solid var(--100)}
.page-title{font-weight:700;font-size:1.5rem;color:var(--800);margin:0}
.page-content{padding:2rem}
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--p),var(--pd));padding:2rem 0}
.auth-card{background:#fff;border-radius:20px;box-shadow:var(--sh-xl);overflow:hidden;width:100%;max-width:480px}
.auth-header{background:linear-gradient(135deg,var(--p),var(--pl));padding:2rem;text-align:center;color:#fff}
.auth-header h2{font-weight:700;margin-bottom:.5rem}
.auth-body{padding:2rem}
.program-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:var(--sh);transition:all .3s;height:100%}
.program-card:hover{transform:translateY(-4px);box-shadow:var(--sh-xl)}
.program-badge{display:inline-block;padding:.35rem .75rem;border-radius:6px;font-size:.75rem;font-weight:700;text-transform:uppercase}
.program-badge.s1{background:rgba(59,130,246,.1);color:#3b82f6}
.program-badge.s2{background:rgba(168,85,247,.1);color:#a855f7}
.program-badge.s3{background:rgba(236,72,153,.1);color:#ec4899}
.modal-content{border:none;border-radius:16px;box-shadow:var(--sh-xl)}
.modal-header{background:linear-gradient(135deg,var(--p),var(--pl));color:#fff;border-radius:16px 16px 0 0;padding:1.25rem 1.5rem}
.modal-header .btn-close{filter:brightness(0) invert(1)}
.dropdown-menu{border:none;border-radius:12px;box-shadow:var(--sh-xl);padding:.5rem}
.dropdown-item{border-radius:8px;padding:.75rem 1rem;font-weight:500}
.dropdown-item:hover{background:var(--100)}
.fade-in{animation:fadeIn .5s ease forwards}
@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.text-muted{color:var(--500)!important}
.text-primary{color:var(--p)!important}
@media(max-width:991px){.sidebar{transform:translateX(-100%)}.sidebar.show{transform:translateX(0)}.main-content{margin-left:0}.hero h1{font-size:2.5rem}}
@media(max-width:767px){.hero{padding:4rem 0 6rem}.hero h1{font-size:2rem}.page-content{padding:1rem}.stat-value{font-size:1.75rem}}
