/* Digital Seva - Platinum Light theme (global, all user pages) */
:root{
    --bg:#f3eee6;
    --glow1:rgba(198,163,90,.18);
    --glow2:rgba(30,58,95,.10);
    --grid:rgba(30,58,95,.06);
    --accent:#c6a35a;
    --accent2:#1e3a5f;
    --on-accent:#1a1204;
    --text:#122033;
    --muted:#5b677a;
    --soft:#334155;
    --panel:#ffffff;
    --panel2:#f7f3ec;
    --tile1:#ffffff;
    --tile2:#fbf8f3;
    --line:rgba(30,58,95,.14);
    --sidebar1:#122033;
    --sidebar2:#1e3a5f;
    --topbar:rgba(255,255,255,.92);
    --search:#ffffff;
    --chip:#ffffff;
    --table-line:rgba(18,32,51,.08);
    --th-bg:#f7f3ec;
    --hover-glow:rgba(198,163,90,.18);
}

html,body,.main-content,.page-content,.topbar,.card,.sidebar,.apply-card,.form-group input,.form-group select,.form-group textarea,.btn{
    font-family:'Outfit','Poppins',sans-serif !important;
}

body.role-user,
body.role-guest{
    background:
        radial-gradient(900px 500px at 8% -10%, var(--glow1), transparent 50%),
        radial-gradient(800px 420px at 100% 0%, var(--glow2), transparent 46%),
        var(--bg) !important;
    color:var(--text);
    font-weight:700;
}
body.role-user::before,
body.role-guest::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:0;
    background:
        linear-gradient(var(--grid) 1px, transparent 1px),
        linear-gradient(90deg, var(--grid) 1px, transparent 1px);
    background-size:48px 48px;
    mask-image:radial-gradient(ellipse at center,#000 30%,transparent 78%);
}
body.role-user .main-content,
body.role-guest .main-content,
body.role-user .page-content,
body.role-guest .page-content,
body.role-user .service-page,
body.role-guest .service-page{
    position:relative;
    z-index:1;
}

/* Sidebar */
.sidebar.user{
    background:linear-gradient(180deg,var(--sidebar1) 0%, var(--sidebar2) 100%) !important;
    border-right:1px solid var(--line);
}
.sidebar.user .sidebar-header h2{
    font-weight:900 !important;
    color:#fff !important;
}
.sidebar.user .sidebar-header h2 i{ color:var(--accent) !important; }
.sidebar.user .menu-category{
    color:var(--accent) !important;
    font-weight:800 !important;
    letter-spacing:1.2px;
}
.sidebar.user .sidebar-menu li a{
    font-weight:800 !important;
    color:#e8eef6 !important;
}
.sidebar.user .sidebar-menu li a:hover,
.sidebar.user .sidebar-menu li a.active{
    background:linear-gradient(135deg,var(--accent2),var(--accent)) !important;
    color:var(--on-accent) !important;
    box-shadow:0 10px 22px var(--hover-glow);
}
.sidebar.user .submenu li a{ font-weight:700 !important; }

/* Topbar */
body.role-user .topbar,
body.role-guest .topbar{
    background:var(--topbar) !important;
    backdrop-filter:blur(16px);
    border-bottom:1px solid var(--line) !important;
    box-shadow:none !important;
}
body.role-user .topbar-left h3,
body.role-guest .topbar-left h3{
    color:var(--accent2) !important;
    font-weight:900 !important;
    font-size:22px !important;
}
body.role-user .topbar-left p,
body.role-guest .topbar-left p{
    color:var(--muted) !important;
    font-weight:700 !important;
}
body.role-user .user-info,
body.role-guest .user-info{
    background:var(--panel2) !important;
    border:1px solid var(--line);
}
body.role-user .user-details h4,
body.role-guest .user-details h4{
    color:var(--text) !important;
    font-weight:800 !important;
}
body.role-user .user-details p,
body.role-guest .user-details p{
    color:var(--accent2) !important;
    font-weight:700 !important;
}
body.role-user .user-avatar,
body.role-guest .user-avatar,
.sidebar.user ~ .main-content .user-avatar{
    background:linear-gradient(135deg,var(--accent2),var(--accent)) !important;
    color:#fff !important;
    font-weight:800 !important;
}
body.role-user .wallet-badge,
body.role-guest .wallet-badge{
    background:linear-gradient(135deg,var(--accent2),var(--accent)) !important;
    color:var(--on-accent) !important;
    font-weight:900 !important;
}

/* Cards / forms / tables */
body.role-user .card,
body.role-guest .card,
body.role-user .apply-card,
body.role-guest .apply-card{
    background:var(--panel) !important;
    border:1px solid var(--line) !important;
    border-radius:18px !important;
    box-shadow:0 14px 32px rgba(18,32,51,.08) !important;
}
body.role-user .card-header,
body.role-guest .card-header,
body.role-user .apply-card .card-header,
body.role-guest .apply-card .card-header{
    background:var(--panel2) !important;
    border-bottom:1px solid var(--line) !important;
}
body.role-user .card-header h3,
body.role-guest .card-header h3,
body.role-user .apply-card .card-header h3,
body.role-guest .apply-card .card-header h3{
    color:var(--accent2) !important;
    font-weight:900 !important;
}
body.role-user .card-header h3 i,
body.role-guest .card-header h3 i,
body.role-user .apply-card .card-header h3 i,
body.role-guest .apply-card .card-header h3 i{
    color:var(--accent) !important;
}

body.role-user .form-group label,
body.role-guest .form-group label{
    color:var(--accent2) !important;
    font-weight:800 !important;
}
body.role-user .form-group input,
body.role-user .form-group select,
body.role-user .form-group textarea,
body.role-guest .form-group input,
body.role-guest .form-group select,
body.role-guest .form-group textarea{
    border:2px solid var(--line) !important;
    border-radius:12px !important;
    background:#fff !important;
    color:var(--text) !important;
    font-weight:700 !important;
    font-family:'Outfit','Poppins',sans-serif !important;
}
body.role-user .form-group input:focus,
body.role-user .form-group select:focus,
body.role-user .form-group textarea:focus,
body.role-guest .form-group input:focus,
body.role-guest .form-group select:focus,
body.role-guest .form-group textarea:focus{
    border-color:var(--accent) !important;
    box-shadow:0 0 0 3px var(--hover-glow) !important;
}

body.role-user .btn,
body.role-guest .btn,
body.role-user .btn-submit,
body.role-guest .btn-submit{
    font-weight:900 !important;
    border-radius:12px !important;
}
body.role-user .btn-primary,
body.role-guest .btn-primary{
    background:linear-gradient(135deg,var(--accent2),#16324f) !important;
    color:#fff !important;
}
body.role-user .btn-success,
body.role-guest .btn-success,
body.role-user .btn-submit,
body.role-guest .btn-submit{
    background:linear-gradient(135deg,var(--accent2),var(--accent)) !important;
    color:var(--on-accent) !important;
}

body.role-user .data-table th,
body.role-guest .data-table th{
    background:var(--th-bg) !important;
    color:var(--accent2) !important;
    font-weight:900 !important;
    text-transform:uppercase;
    letter-spacing:.4px;
    font-size:11px !important;
    border-bottom:1px solid var(--line) !important;
}
body.role-user .data-table td,
body.role-guest .data-table td{
    color:var(--text) !important;
    font-weight:700 !important;
    border-bottom:1px solid var(--table-line) !important;
}

body.role-user .fee-info-box,
body.role-guest .fee-info-box{
    background:linear-gradient(135deg,#f7f3ec,#efe6d4) !important;
    border-left:4px solid var(--accent) !important;
    border-radius:14px !important;
    color:var(--accent2) !important;
    font-weight:800 !important;
}
body.role-user .fee-info-box i,
body.role-guest .fee-info-box i{ color:var(--accent) !important; }

body.role-user .balance-info,
body.role-guest .balance-info{
    background:var(--panel2) !important;
    color:var(--accent2) !important;
    font-weight:700 !important;
    border:1px solid var(--line);
}
body.role-user .balance-info strong,
body.role-guest .balance-info strong{ color:#059669 !important; }

body.role-user .footer,
body.role-guest .footer{
    background:var(--sidebar1) !important;
    color:var(--accent) !important;
    font-weight:800 !important;
    border-top:1px solid var(--line);
}
body.role-user .footer a,
body.role-guest .footer a{ color:var(--accent) !important; }

body.role-user #access-help-float,
body.role-guest #access-help-float{
    background:linear-gradient(135deg,var(--accent2),var(--accent)) !important;
    color:#fff !important;
    box-shadow:0 8px 20px var(--hover-glow) !important;
}

body.role-user .page-content,
body.role-guest .page-content,
body.role-user .service-page,
body.role-guest .service-page{
    color:var(--text);
}
body.role-user .page-content ul,
body.role-guest .page-content ul{
    color:var(--muted) !important;
    font-weight:700;
}

/* ===== Admin Platinum (same theme as user) ===== */
body.role-admin{
    background:
        radial-gradient(900px 500px at 8% -10%, var(--glow1), transparent 50%),
        radial-gradient(800px 420px at 100% 0%, var(--glow2), transparent 46%),
        var(--bg) !important;
    color:var(--text);
    font-weight:700;
}
body.role-admin::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:0;
    background:
        linear-gradient(var(--grid) 1px, transparent 1px),
        linear-gradient(90deg, var(--grid) 1px, transparent 1px);
    background-size:48px 48px;
    mask-image:radial-gradient(ellipse at center,#000 30%,transparent 78%);
}
body.role-admin .main-content,
body.role-admin .page-content,
body.role-admin .dashboard-content{
    position:relative;
    z-index:1;
}
.sidebar.admin{
    background:linear-gradient(180deg,var(--sidebar1) 0%, var(--sidebar2) 100%) !important;
    border-right:1px solid var(--line);
}
.sidebar.admin .sidebar-header h2{
    font-weight:900 !important;
    color:#fff !important;
}
.sidebar.admin .sidebar-header h2 i{ color:var(--accent) !important; }
.sidebar.admin .menu-category{
    color:var(--accent) !important;
    font-weight:800 !important;
    letter-spacing:1.2px;
    list-style:none;
    margin:12px 15px 4px !important;
    padding:10px 10px 4px !important;
    font-size:11px !important;
    pointer-events:none;
}
.sidebar.admin .sidebar-menu li a{
    font-weight:800 !important;
    color:#e8eef6 !important;
}
.sidebar.admin .sidebar-menu li a:hover,
.sidebar.admin .sidebar-menu li a.active{
    background:linear-gradient(135deg,var(--accent2),var(--accent)) !important;
    color:var(--on-accent) !important;
    box-shadow:0 10px 22px var(--hover-glow);
}
body.role-admin .topbar{
    background:var(--topbar) !important;
    backdrop-filter:blur(16px);
    border-bottom:1px solid var(--line) !important;
    box-shadow:none !important;
}
body.role-admin .topbar-left h3{
    color:var(--accent2) !important;
    font-weight:900 !important;
    font-size:22px !important;
}
body.role-admin .topbar-left p{
    color:var(--muted) !important;
    font-weight:700 !important;
}
body.role-admin .user-info{
    background:var(--panel2) !important;
    border:1px solid var(--line);
}
body.role-admin .user-details h4{ color:var(--text) !important; font-weight:800 !important; }
body.role-admin .user-details p{ color:var(--accent2) !important; font-weight:700 !important; }
body.role-admin .user-avatar,
.sidebar.admin ~ .main-content .user-avatar{
    background:linear-gradient(135deg,var(--accent2),var(--accent)) !important;
    color:#fff !important;
    font-weight:800 !important;
}
body.role-admin .notification{
    background:var(--panel2) !important;
    border:1px solid var(--line);
}
body.role-admin .notification span{
    background:var(--accent) !important;
    color:var(--on-accent) !important;
    font-weight:800;
}
body.role-admin .card{
    background:var(--panel) !important;
    border:1px solid var(--line) !important;
    border-radius:18px !important;
    box-shadow:0 14px 32px rgba(18,32,51,.08) !important;
}
body.role-admin .card-header{
    background:var(--panel2) !important;
    border-bottom:1px solid var(--line) !important;
}
body.role-admin .card-header h3{
    color:var(--accent2) !important;
    font-weight:900 !important;
}
body.role-admin .card-header h3 i{ color:var(--accent) !important; }
body.role-admin .card-header a{
    color:var(--accent2) !important;
    font-weight:800 !important;
}
body.role-admin .form-group label{
    color:var(--accent2) !important;
    font-weight:800 !important;
}
body.role-admin .form-group input,
body.role-admin .form-group select,
body.role-admin .form-group textarea{
    border:2px solid var(--line) !important;
    border-radius:12px !important;
    background:#fff !important;
    color:var(--text) !important;
    font-weight:700 !important;
}
body.role-admin .form-group input:focus,
body.role-admin .form-group select:focus,
body.role-admin .form-group textarea:focus{
    border-color:var(--accent) !important;
    box-shadow:0 0 0 3px var(--hover-glow) !important;
}
body.role-admin .btn,
body.role-admin .btn-submit{ font-weight:900 !important; border-radius:12px !important; }
body.role-admin .btn-success,
body.role-admin .btn-primary{
    background:linear-gradient(135deg,var(--accent2),var(--accent)) !important;
    color:var(--on-accent) !important;
    border:none !important;
}
body.role-admin .btn-secondary{
    background:var(--panel2) !important;
    color:var(--accent2) !important;
    border:1px solid var(--line) !important;
}
body.role-admin .data-table th{
    background:var(--th-bg) !important;
    color:var(--accent2) !important;
    font-weight:900 !important;
    text-transform:uppercase;
    letter-spacing:.4px;
    font-size:11px !important;
    border-bottom:1px solid var(--line) !important;
}
body.role-admin .data-table td{
    color:var(--text) !important;
    font-weight:700 !important;
    border-bottom:1px solid var(--table-line) !important;
}
body.role-admin .footer{
    background:var(--sidebar1) !important;
    color:var(--accent) !important;
    font-weight:800 !important;
}
body.role-admin .footer a{ color:var(--accent) !important; }

/* Admin dashboard tiles */
.admin-hero{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:22px 26px;
    margin-bottom:24px;
    border-radius:18px;
    background:linear-gradient(135deg,#122033 0%, #1e3a5f 55%, #c6a35a 160%);
    color:#fff;
    box-shadow:0 16px 36px rgba(18,32,51,.18);
}
.admin-hero h2{
    font-size:24px;
    font-weight:900;
    margin:0 0 4px;
}
.admin-hero p{
    margin:0;
    opacity:.9;
    font-weight:700;
    font-size:14px;
}
.admin-hero .hero-chip{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 16px;
    border-radius:999px;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(198,163,90,.45);
    font-weight:800;
    color:#f7f3ec;
}
.stats-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:18px;
    margin-bottom:26px;
}
.stat-card{
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:18px;
    padding:20px;
    display:flex;
    align-items:center;
    gap:16px;
    box-shadow:0 12px 28px rgba(18,32,51,.07);
    transition:transform .25s, box-shadow .25s;
}
.stat-card:hover{
    transform:translateY(-4px);
    box-shadow:0 16px 34px var(--hover-glow);
}
.stat-icon{
    width:56px;
    height:56px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    color:#fff;
    flex-shrink:0;
}
.stat-icon.certificates{ background:linear-gradient(135deg,#1e3a5f,#c6a35a); }
.stat-icon.applications{ background:linear-gradient(135deg,#16324f,#2a5280); }
.stat-icon.users{ background:linear-gradient(135deg,#3b4f6b,#c6a35a); }
.stat-icon.pending{ background:linear-gradient(135deg,#92400e,#c6a35a); }
.stat-icon.wallet{ background:linear-gradient(135deg,#065f46,#10b981); }
.stat-icon.requests{ background:linear-gradient(135deg,#9a3412,#f59e0b); }
.stat-icon.total-sr{ background:linear-gradient(135deg,#0c4a6e,#0284c7); }
.stat-icon.revenue{ background:linear-gradient(135deg,#5b21b6,#c6a35a); }
.stat-info h2{
    font-size:28px;
    color:var(--accent2);
    font-weight:900;
    margin:0;
    line-height:1.1;
}
.stat-info p{
    margin:4px 0 0;
    color:var(--muted);
    font-size:13px;
    font-weight:700;
}
.dashboard-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
}
.quick-actions{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}
.action-btn{
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 16px;
    background:var(--panel2);
    border:1px solid var(--line);
    border-radius:14px;
    text-decoration:none;
    color:var(--text);
    font-weight:800;
    transition:all .25s;
}
.action-btn i{
    width:42px;
    height:42px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    color:var(--accent2);
    border:1px solid var(--line);
}
.action-btn:hover{
    background:linear-gradient(135deg,var(--accent2),var(--accent));
    color:var(--on-accent);
    border-color:transparent;
}
.action-btn:hover i{
    background:rgba(255,255,255,.2);
    color:#fff;
    border-color:transparent;
}
.status-badge{
    padding:5px 12px;
    border-radius:20px;
    font-size:12px;
    font-weight:800;
}
.status-badge.pending{ background:#fef3c7; color:#92400e; }
.status-badge.approved{ background:#d1fae5; color:#065f46; }
.admin-alert-card{
    margin-bottom:22px;
    border-left:4px solid var(--accent) !important;
}
.admin-alert-card .card-header{
    background:linear-gradient(135deg,#f7f3ec,#efe6d4) !important;
}
.svc-pill{
    background:#e8eef6;
    color:var(--accent2);
    padding:3px 10px;
    border-radius:8px;
    font-size:12px;
    font-weight:800;
}
@media (max-width:1100px){
    .dashboard-grid{ grid-template-columns:1fr; }
}
