:root{
    --union-blue:#0b2a6b;
    --union-red:#c0141a;
    --union-gold:#f2b705;
    --bg:#f3f5f9;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
    font-family:'Noto Sans Devanagari','Segoe UI',Arial,sans-serif;
    background:var(--bg);
    color:#1a1a1a;
}

/* ---------- Top bar ---------- */
.topbar{
    background:linear-gradient(90deg,var(--union-blue),#123a8c);
    border-bottom:4px solid var(--union-red);
    position:sticky;top:0;z-index:50;
}
.topbar-inner{
    max-width:1100px;margin:0 auto;
    display:flex;align-items:center;justify-content:space-between;
    padding:12px 20px;
}
.brand{display:flex;align-items:center;gap:12px;}
.emblem{
    width:44px;height:44px;border-radius:50%;
    background:var(--union-red);color:var(--union-gold);
    display:flex;align-items:center;justify-content:center;
    font-size:24px;flex-shrink:0;
    border:2px solid #fff;
}
.brand-text{display:flex;flex-direction:column;line-height:1.2;}
.brand-title{color:#fff;font-weight:700;font-size:1.05rem;}
.brand-sub{color:#cfe0ff;font-size:.75rem;}

.btn-login-corner{
    background:var(--union-gold);
    color:#1a1a1a;
    font-weight:700;
    padding:9px 20px;
    border-radius:6px;
    text-decoration:none;
    font-size:.9rem;
    white-space:nowrap;
    box-shadow:0 2px 5px rgba(0,0,0,.25);
    transition:transform .15s ease;
}
.btn-login-corner:hover{transform:translateY(-1px);background:#ffca1a;}

/* ---------- Hero ---------- */
.hero{
    background:radial-gradient(circle at top left,#123a8c,var(--union-blue));
    color:#fff;padding:60px 20px;text-align:center;
}
.hero-inner h1{font-size:2rem;margin-bottom:10px;}
.reg-line{color:#cfe0ff;margin-bottom:30px;}
.stats-row{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;}
.stat-box{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.25);
    border-radius:10px;
    padding:18px 30px;min-width:150px;
}
.stat-num{display:block;font-size:2rem;font-weight:800;color:var(--union-gold);}
.stat-label{font-size:.9rem;color:#e5edff;}

/* ---------- Content ---------- */
.content{max-width:900px;margin:40px auto;padding:0 20px;}
.card-info{
    background:#fff;border-radius:10px;padding:30px;
    box-shadow:0 2px 10px rgba(0,0,0,.06);
    border-top:4px solid var(--union-red);
}
.card-info h2{color:var(--union-blue);margin-bottom:14px;}
.card-info p{margin-bottom:12px;line-height:1.7;}

.site-footer{
    text-align:center;padding:20px;color:#666;font-size:.85rem;
}

/* ============================================================
   LOGIN PAGE
   ============================================================ */
.login-wrap{
    min-height:100vh;display:flex;align-items:center;justify-content:center;
    background:radial-gradient(circle at top left,#123a8c,var(--union-blue));
    padding:20px;
}
.login-box{
    background:#fff;border-radius:12px;padding:36px 32px;
    width:100%;max-width:380px;
    box-shadow:0 10px 30px rgba(0,0,0,.3);
    border-top:6px solid var(--union-red);
}
.login-box h2{color:var(--union-blue);text-align:center;margin-bottom:6px;}
.login-box .sub{text-align:center;color:#777;font-size:.85rem;margin-bottom:24px;}
.login-box label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;color:#333;}
.login-box input[type=text],.login-box input[type=password]{
    width:100%;padding:10px 12px;margin-bottom:18px;
    border:1px solid #ccc;border-radius:6px;font-size:.95rem;
}
.login-box button{
    width:100%;padding:12px;background:var(--union-blue);color:#fff;
    border:none;border-radius:6px;font-weight:700;font-size:1rem;cursor:pointer;
}
.login-box button:hover{background:#123a8c;}
.error-msg{
    background:#fde8e8;color:#a10c0c;padding:10px 14px;border-radius:6px;
    font-size:.85rem;margin-bottom:16px;text-align:center;
}
.back-home{display:block;text-align:center;margin-top:16px;color:#cfe0ff;font-size:.85rem;}
.login-wrap .back-home{color:#fff;}
