:root{
  --amltsd-purple:#6d2c91;
  --amltsd-purple-dark:#4f1f6c;
  --amltsd-orange:#f39a00;
  --amltsd-orange-dark:#d98200;
  --amltsd-ink:#27243a;
  --amltsd-soft:#f8f5fb;
}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--amltsd-ink);background:#fff;}
.brand-purple{color:var(--amltsd-purple)!important}.brand-orange{color:var(--amltsd-orange)!important}
.bg-brand-purple{background:var(--amltsd-purple)!important}.bg-brand-orange{background:var(--amltsd-orange)!important}
.btn-brand{background:var(--amltsd-purple);border-color:var(--amltsd-purple);color:#fff}
.btn-brand:hover{background:var(--amltsd-purple-dark);border-color:var(--amltsd-purple-dark);color:#fff}
.btn-orange{background:var(--amltsd-orange);border-color:var(--amltsd-orange);color:#fff}
.btn-orange:hover{background:var(--amltsd-orange-dark);border-color:var(--amltsd-orange-dark);color:#fff}
.login-page{min-height:100vh;background:linear-gradient(135deg,rgba(109,44,145,.96),rgba(243,154,0,.90)),url('migration-hero.jpg') center/cover fixed;}
.glass-card{background:rgba(255,255,255,.96);border:0;border-radius:24px;box-shadow:0 22px 60px rgba(30,20,50,.20)}
.brand-logo{max-width:250px;width:100%;height:auto}
.hero-photo{min-height:420px;background:linear-gradient(90deg,rgba(60,21,79,.78),rgba(60,21,79,.18)),url('migration-hero.jpg') center/cover;border-radius:28px}
.section-title{font-weight:800;color:var(--amltsd-purple)}
.form-section{border:1px solid #eee;border-radius:18px;padding:24px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.04);margin-bottom:20px}
.form-section h3{font-size:1.05rem;font-weight:800;color:var(--amltsd-purple);border-left:5px solid var(--amltsd-orange);padding-left:10px}
.stat-card{border:0;border-radius:18px;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.admin-shell{background:#f7f7fb;min-height:100vh}
.admin-topbar{background:#fff;border-bottom:1px solid #ececf2}
.badge-pending{background:#fff0cc;color:#7a5300}.badge-approved{background:#dff7e8;color:#166534}
.badge-rejected{background:#fde8e8;color:#991b1b}.badge-under_review{background:#ece7f6;color:#5b2a86}
.table thead th{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:#666}

/* Admin sidebar layout */
.admin-layout{min-height:100vh;background:#f6f7fb;display:flex}
.admin-sidebar{position:fixed;inset:0 auto 0 0;width:270px;background:linear-gradient(180deg,var(--amltsd-purple-dark),#321445);display:flex;flex-direction:column;z-index:1040;box-shadow:8px 0 30px rgba(45,18,60,.10)}
.sidebar-brand{background:#fff;padding:18px 20px;border-bottom:4px solid var(--amltsd-orange)}
.sidebar-logo{display:block;width:100%;max-height:78px;object-fit:contain}
.sidebar-nav{padding:18px 14px;flex:1;overflow-y:auto}
.sidebar-label{font-size:.68rem;letter-spacing:.1em;font-weight:800;color:rgba(255,255,255,.48);padding:8px 12px}
.sidebar-link{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.83);text-decoration:none;padding:11px 13px;border-radius:10px;margin:2px 0;font-weight:600;transition:.18s ease}
.sidebar-link i{font-size:1.08rem;width:20px;text-align:center}
.sidebar-link:hover,.sidebar-link.active{background:rgba(255,255,255,.12);color:#fff}
.sidebar-link.active{box-shadow:inset 3px 0 0 var(--amltsd-orange)}
.sidebar-footer{padding:16px;border-top:1px solid rgba(255,255,255,.12)}
.sidebar-user{display:flex;align-items:center;gap:10px}.sidebar-muted{color:rgba(255,255,255,.55)}
.sidebar-logout{border:1px solid rgba(255,255,255,.22);color:#fff}.sidebar-logout:hover{background:#fff;color:var(--amltsd-purple)}
.user-avatar{width:40px;height:40px;border-radius:50%;background:var(--amltsd-orange);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;flex:0 0 auto}.header-avatar{width:36px;height:36px}
.admin-main{margin-left:270px;width:calc(100% - 270px);min-height:100vh}
.admin-header{height:74px;background:#fff;border-bottom:1px solid #e9e9ef;display:flex;align-items:center;padding:0 28px;position:sticky;top:0;z-index:1020}
.admin-content{padding:28px}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.12em;color:var(--amltsd-orange);margin-bottom:5px}
.stat-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.stat-icon-purple{background:#f0e6f6;color:var(--amltsd-purple)}.stat-icon-orange{background:#fff1d9;color:#c87900}.stat-icon-green{background:#e3f5e9;color:#198754}.stat-icon-red{background:#fde7e9;color:#dc3545}
.admin-table tbody tr:hover{background:#faf8fc}.role-admin{background:#eadcf2;color:var(--amltsd-purple-dark)}.role-user{background:#edf0f4;color:#48515b}
.sidebar-toggle{margin-right:10px}
@media(max-width:991.98px){.admin-sidebar{transform:translateX(-100%);transition:.22s ease}.admin-sidebar.show{transform:translateX(0)}.admin-main{margin-left:0;width:100%}.admin-content{padding:20px}.admin-header{padding:0 18px}}

/* Friendly system error pages */
.error-page-bg {
    background: linear-gradient(135deg, rgba(109,44,145,.08), rgba(243,154,0,.10));
}
.error-card {
    border-top: 5px solid var(--amltsd-purple, #6d2c91) !important;
    border-radius: 18px;
}
.error-code {
    font-size: clamp(2.5rem, 8vw, 4.5rem);
    font-weight: 800;
    line-height: 1;
    color: var(--amltsd-orange, #f39a00);
}

/* Public website and authentication pages */
.public-navbar{background:linear-gradient(90deg,var(--amltsd-purple-dark),var(--amltsd-purple));}
.public-nav-logo{height:58px;width:auto;background:#fff;border-radius:10px;padding:4px 8px;object-fit:contain}
.public-navbar .nav-link{color:rgba(255,255,255,.84);font-weight:600;padding:.55rem .8rem!important;border-radius:8px}
.public-navbar .nav-link:hover,.public-navbar .nav-link.active{color:#fff;background:rgba(255,255,255,.10)}
.btn-nav-login{background:var(--amltsd-orange);border:1px solid var(--amltsd-orange);color:#fff;font-weight:700;padding:.55rem 1rem;border-radius:9px}
.btn-nav-login:hover{background:var(--amltsd-orange-dark);border-color:var(--amltsd-orange-dark);color:#fff}

.welcome-hero{background:linear-gradient(90deg,rgba(79,31,108,.94),rgba(109,44,145,.72),rgba(79,31,108,.45)),url('migration-hero.jpg') center/cover;min-height:540px;display:flex;align-items:center}
.py-lg-6{padding-top:5rem!important;padding-bottom:5rem!important}
.text-white-75{color:rgba(255,255,255,.82)}
.welcome-badge{display:inline-flex;align-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);color:#fff;padding:.55rem .85rem;border-radius:999px;font-weight:700;font-size:.9rem}
.welcome-panel{background:rgba(255,255,255,.97);padding:32px;border-radius:22px;box-shadow:0 24px 65px rgba(32,11,44,.25)}
.welcome-panel-logo{width:100%;max-width:250px;height:auto}
.welcome-feature{background:#fff;border:1px solid #ece8f0;border-radius:18px;padding:28px;box-shadow:0 10px 30px rgba(50,25,65,.06)}
.welcome-feature h4{font-weight:800;color:var(--amltsd-purple)}
.feature-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#f2e8f7;color:var(--amltsd-purple);font-size:1.35rem;margin-bottom:18px}
.public-footer{background:#2f133e;color:rgba(255,255,255,.76)}

.auth-page{min-height:calc(100vh - 82px);background:#f7f4f9;display:flex;align-items:center}
.auth-card{background:#fff;border:1px solid #ebe7ee;border-radius:20px;box-shadow:0 15px 40px rgba(48,25,62,.10)}
.auth-logo{max-width:205px;width:100%;height:auto}
.auth-card .form-control{border-radius:10px;border-color:#dcd6df}
.auth-card .form-control:focus{border-color:rgba(109,44,145,.55);box-shadow:0 0 0 .22rem rgba(109,44,145,.10)}
.auth-links a:not(.btn){color:var(--amltsd-purple);font-weight:600;text-decoration:none}
.auth-links a:not(.btn):hover{text-decoration:underline}

@media(max-width:991.98px){
  .public-navbar .navbar-collapse{padding-bottom:10px}
  .btn-nav-login{display:inline-block;margin-top:6px}
  .welcome-hero{min-height:auto}
  .py-lg-6{padding-top:3rem!important;padding-bottom:3rem!important}
}
