/* NIELIT fest OEMS - mobile-first, WCAG AA contrast */
:root{--ink:#1a2233;--muted:#55607a;--line:#d8deea;--bg:#f5f7fb;--card:#fff;--brand:#0b4ea2;--brand2:#e8590c;--ok:#1f7a3a;--warn:#8a5a00;--err:#b42318}
*{box-sizing:border-box}
html{font-size:16px}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Noto Sans Devanagari",sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}
a{color:var(--brand)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--brand2);outline-offset:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
.wrap{max-width:1272px;margin:0 auto;padding:0 14px}
main{padding:12px 0 40px;min-width:0}
.with-side{display:block}
.side nav{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.side a{background:#fff;border:1px solid var(--line);border-radius:6px;padding:6px 10px;text-decoration:none;font-size:.9rem}
@media(min-width:960px){.with-side{display:grid;grid-template-columns:200px 1fr;gap:24px}.side nav{flex-direction:column;position:sticky;top:10px}}
h1{font-size:1.6rem;margin:.4em 0}h2{font-size:1.25rem;margin:1.2em 0 .5em}h3{font-size:1.05rem;margin:.3em 0}
.hi{font-weight:400;color:inherit;opacity:.85}
.muted{color:var(--muted)}.small{font-size:.85rem}.mono{font-family:ui-monospace,Consolas,monospace}
.hero{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;margin:10px 0}
.lead{font-size:1.15rem;font-weight:600}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin:12px 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px}
.card.ev h2,.card.ev h3{font-size:1.05rem}
.big{font-size:2rem;font-weight:700;margin:0}
.btn{display:inline-block;background:var(--brand);color:#fff;border:0;border-radius:8px;padding:10px 16px;font:inherit;font-weight:600;text-decoration:none;cursor:pointer;min-height:44px}
.btn:hover{filter:brightness(1.1)}
.btn-alt{background:#fff;color:var(--brand);border:2px solid var(--brand)}
.btn-danger{background:var(--err)}
.btn-sm{padding:6px 10px;min-height:36px;font-size:.9rem}
.linkbtn{background:none;border:0;color:var(--brand);text-decoration:underline;cursor:pointer;font:inherit;padding:0}
form.inline,.inline{display:inline}
.form{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;margin:12px 0;max-width:760px}
.form.narrow{max-width:420px}
.form label{display:block;margin:0 0 12px;font-weight:600;font-size:.95rem}
.form input:not([type=checkbox]),.form select,.form textarea,.filters input,.filters select,.stack input{display:block;width:100%;margin-top:4px;padding:10px;border:1px solid #9aa6bf;border-radius:6px;font:inherit;background:#fff;min-height:44px}
.filters input,.filters select{display:inline-block;width:auto;min-height:36px;padding:6px}
.form label.check{font-weight:400;display:flex;gap:8px;align-items:flex-start}
.form label.check input{margin-top:4px;width:20px;height:20px}
.row2,.row3{display:grid;gap:0 12px}
@media(min-width:640px){.row2{grid-template-columns:1fr 1fr}.row3{grid-template-columns:1fr 1fr 1fr}}
fieldset{border:1px solid var(--line);border-radius:8px;margin:0 0 12px;padding:10px}
legend{font-weight:700;padding:0 4px}
.captcha{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:12px}
.captcha img{border:1px solid var(--line);border-radius:6px}
.captcha label{flex:1;min-width:160px;margin:0}
.flash{padding:10px 12px;border-radius:8px;margin:10px 0;border:1px solid}
.flash ul{margin:0;padding-left:18px}
.flash-ok{background:#e9f7ee;border-color:#9fd3b1;color:#13532a}
.flash-warn{background:#fff6e0;border-color:#f0cf7a;color:#5c3d00}
.flash-err{background:#fdecea;border-color:#f1aaa3;color:#8a1c12}
.tablewrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:10px}
table{border-collapse:collapse;width:100%;font-size:.92rem}
th,td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{background:#eef2f9;white-space:nowrap}
.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.78rem;font-weight:700;background:#e3e8f2;color:#2a3550;text-transform:capitalize}
.b-verified,.b-paid,.b-confirmed,.b-open,.b-ok,.b-complete,.b-active,.b-approved{background:#d9f2e2;color:#14532d}
.b-pending,.b-cart,.b-invited,.b-requested,.b-incomplete,.b-draft{background:#fff0c7;color:#5c3d00}
.b-rejected,.b-cancelled,.b-withdrawn,.b-disabled,.b-refund_due{background:#fde2df;color:#8a1c12}
.profile{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px}
.avatar{border-radius:8px;object-fit:cover;background:#e3e8f2}
.pid{font-size:1.2rem}
.step{background:#fff;border:1px solid var(--line);border-left:5px solid var(--brand2);border-radius:8px;padding:10px 14px;margin:12px 0}
.step.done{border-left-color:var(--ok)}.step.muted{border-left-color:var(--line)}
.paybox{display:flex;flex-wrap:wrap;gap:16px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;margin:12px 0}
.paybox .qr svg{width:220px;height:220px;display:block;background:#fff}
.amount{font-size:1.6rem;font-weight:800;margin:0}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.tile{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px}
.tile span{display:block;color:var(--muted);font-size:.85rem}.tile strong{font-size:1.4rem}
.tile.warn{border-color:#f0cf7a;background:#fffaf0}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:8px 0}.kv dt{font-weight:700}.kv dd{margin:0}
.ann{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:10px 0}
.stack{display:flex;flex-direction:column;gap:6px;min-width:180px}
.inline-form{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.inline-form label{margin:0;flex:1;min-width:150px}
.inline-form input{display:block;width:100%;padding:8px;border:1px solid #9aa6bf;border-radius:6px;font:inherit;margin-top:4px}
details{margin:10px 0}summary{cursor:pointer;font-weight:600}
/* Phase 2: score entry, podiums, big screen */
.form.wide{max-width:none}
.big-input{font-size:1.6rem!important;text-align:center}
.att{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2px 12px}
.podium{margin:6px 0}.pos{padding:2px 0}.pos b{display:inline-block;min-width:2.4em}
.p1 b{color:#8a6100}.p2 b{color:#4a5568}.p3 b{color:#8a4b14}
.b-final,.b-done{background:#d9f2e2;color:#14532d}.b-provisional,.b-live,.b-to{background:#fff0c7;color:#5c3d00}.b-upheld{background:#fde2df;color:#8a1c12}.b-dismissed{background:#e3e8f2}
td input[size]{width:auto;min-height:36px;padding:4px 6px;border:1px solid #9aa6bf;border-radius:4px}
.screenmode main h1{font-size:2.4rem}
.screenmode .wrap{max-width:none}
.screen{display:grid;gap:24px}
@media(min-width:900px){.screen{grid-template-columns:1.1fr 1fr}}
.screenmode table{font-size:1.5rem}.screenmode .card h3{font-size:1.4rem}.screenmode .pos{font-size:1.3rem}
/* Home banner: rotating fest posters */
.hero-banner{display:grid;gap:18px;padding:12px;align-items:center;background:linear-gradient(135deg,#fff 0%,#eef3fc 60%,#fff4e8 100%)}
.banner{position:relative;width:100%;margin:0 auto;aspect-ratio:1881/836;border-radius:12px;overflow:hidden;box-shadow:0 6px 24px rgba(11,78,162,.18);background:#e3e8f2}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
main h1.sr-only + .hero{margin-top:14px}
.banner .slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}
.banner .slide.active{opacity:1}
.banner img{width:100%;height:100%;object-fit:cover;display:block}
.dots{position:absolute;right:12px;bottom:10px;display:flex;gap:8px}
@media(max-width:600px){.dots{gap:6px;bottom:6px;right:8px}.dot{width:11px;height:11px}}
.dot{width:14px;height:14px;border-radius:50%;border:2px solid #fff;background:rgba(0,0,0,.35);padding:0;cursor:pointer;box-shadow:0 0 0 1px rgba(0,0,0,.25)}
.dot.on{background:#fff}
.hero-text .lead{font-size:1.3rem}
.tagline{font-style:italic;color:var(--brand2);font-weight:600}
@media(min-width:860px){.hero-banner{padding:16px 20px;gap:20px}.hero-text{font-size:1.08rem}}
@media(prefers-reduced-motion:reduce){.banner .slide{transition:none}}
.venue{padding:0;overflow:hidden}.venue img{width:100%;height:auto;display:block}.venue figcaption{padding:10px 14px}.venue h2{margin:0 0 4px}
figure{margin:0}
/* certificate verification */
.verify{border-radius:12px;padding:14px 18px;margin:14px 0;border:2px solid}
.verify.ok{background:#e9f7ee;border-color:#1f7a3a}.verify.bad{background:#fdecea;border-color:#b42318}
.vstatus{font-size:1.4rem;font-weight:800;margin:0 0 8px}.verify.ok .vstatus{color:#13532a}.verify.bad .vstatus{color:#8a1c12}
.b-revoked{background:#fde2df;color:#8a1c12}

/* ===== Header and footer in the style of the regn portal ===== */
body{background:#f5f8fc}
.orp-wrap{display:block;max-width:1272px;margin:0 auto;padding:0 14px}
header.orp-wrap{padding-top:10px}
.ic{display:inline-block;vertical-align:-3px;flex-shrink:0}
.orp-main-header{display:flex;align-items:center;background:#fff;padding:15px 20px;border-radius:5px;gap:10px}
.orp-logo-box{flex:0 0 auto;display:flex;align-items:center}
.orp-logo-box img{height:80px;width:auto;display:block}
.orp-title-box{flex:1;text-align:center;padding:0 20px}
.orp-title-hi{font-family:"Noto Sans Devanagari","Mangal",sans-serif;font-size:22px;font-weight:700;color:#0f172a;line-height:1.5}
.orp-title-en{font-size:21px;font-weight:700;color:#1e3a8a;margin-top:4px;letter-spacing:.3px}
.orp-subtitle{margin-top:5px;font-size:12px;color:#475569;line-height:1.55}
.orp-emblem-box{flex:0 0 auto;display:flex;align-items:center}
.orp-emblem-box img{height:80px;width:auto;display:block}
.orp-portal-strip{position:relative;overflow:hidden;height:50px;margin-top:4px;background:linear-gradient(90deg,#102A43 0%,#1E5AA8 55%,#2B7DE9 100%);border-radius:5px}
.orp-portal-brand{position:absolute;left:10px;top:8px;z-index:1}
.orp-portal-brand img{border-radius:50%;display:block;background:#fff}
.orp-portal-title{position:absolute;top:50%;left:60px;transform:translate(0,-50%);color:#fff;font-size:18px;font-weight:800;letter-spacing:1.5px;white-space:nowrap;pointer-events:none;
  text-shadow:0 1px 1px rgba(0,0,0,.35),0 2px 3px rgba(0,0,0,.25);animation:orp-marquee 30s ease-in-out infinite alternate}
@keyframes orp-marquee{0%{left:60px;transform:translate(0,-50%)}100%{left:calc(100% - 16px);transform:translate(-100%,-50%)}}
@media(prefers-reduced-motion:reduce){.orp-portal-title{animation:none}}
.orp-nav{display:flex;align-items:center;background:linear-gradient(90deg,#042f2e 0%,#0f766e 55%,#14b8a6 100%);border-radius:8px;padding:6px 8px;gap:4px;flex-wrap:wrap;margin:4px 0 2px}
.orp-nav-left{display:flex;align-items:center;gap:4px;flex:1;flex-wrap:wrap}
.orp-nav-item{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:6px;color:rgba(255,255,255,.92);font-size:15px;font-weight:700;text-decoration:none;white-space:nowrap;letter-spacing:.2px;transition:background .18s,transform .12s}
.orp-nav-item .hi{font-size:12px;font-weight:500;opacity:.85}
.orp-nav-item:hover{background:rgba(255,255,255,.14);color:#fff;transform:translateY(-1px)}
.orp-nav-item.active{background:rgba(255,255,255,.22);color:#fff}
.orp-nav-divider{width:1px;height:22px;background:rgba(255,255,255,.18);margin:0 2px;flex-shrink:0}
.orp-nav-login{display:inline-flex;align-items:center;gap:7px;padding:8px 18px;border-radius:6px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.28);color:#fff;font-size:15px;font-weight:700;text-decoration:none;white-space:nowrap}
.orp-nav-login:hover{background:rgba(255,255,255,.28);border-color:rgba(255,255,255,.6)}
.orp-nav a:focus-visible{outline:3px solid #fde68a;outline-offset:2px}
.navtoggle{display:none;background:#0b5fd6;color:#fff;border:0;border-radius:8px;width:46px;height:46px;align-items:center;justify-content:center;cursor:pointer;margin-left:auto}
.navtoggle .ic{width:24px;height:24px}
.whobar{background:#e6edf8;font-size:.9rem;padding:6px 14px;border-radius:6px;margin-top:4px}
@media(max-width:991px){
  .orp-title-box,.orp-emblem-box{display:none}
  .orp-main-header{padding:10px 14px;border-bottom:1px solid #e2e8f0}
  .orp-logo-box img{height:52px}
  .navtoggle{display:inline-flex}
  .orp-portal-strip{height:42px}.orp-portal-brand{top:5px}
  .orp-portal-title{font-size:14px;letter-spacing:.5px;animation:none;left:54px;right:10px;overflow:hidden;text-overflow:ellipsis}
  .orp-nav{display:none;flex-direction:column;align-items:stretch}
  .orp-nav.open{display:flex}
  .orp-nav-left{flex-direction:column;align-items:stretch}
  .orp-nav-divider{display:none}
  .orp-nav-login{justify-content:center;margin-top:4px}
}
/* footer */
footer.orp-wrap{margin-top:24px;padding-bottom:18px}
.site-footer{background:linear-gradient(to right,#f0f9ff,#e0f2fe,#bae6fd);border-radius:14px;padding:28px 28px 0;color:#333}
.footer-top-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid rgba(37,99,235,.15);margin-bottom:22px}
.footer-quicklinks-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.footer-quicklinks-label{display:inline-block;background:#1e40af;color:#fff;font-size:12px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;padding:8px 13px;border-radius:6px}
.footer-quicklink{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:7px;background:rgb(23 22 22 / 98%);font-size:13px;font-weight:500;color:rgba(255,255,255,.92);text-decoration:none}
.footer-quicklink .ic{color:#5DCAA5}
.footer-quicklink:hover{background:#334155;color:#fff}
.footer-social-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.footer-social-links a{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:25%;color:#fff;font:700 20px/1 Arial,sans-serif;text-decoration:none}
.footer-social-links a.play{width:auto;height:auto;background:none}
.footer-social-links a.play img{height:3rem;width:auto;border-radius:6px;display:block}
.footer-section-title{font-size:12px;font-weight:600;letter-spacing:.7px;text-transform:uppercase;color:#333;margin-bottom:14px;display:flex;align-items:center;gap:7px}
.footer-section-title .ic{color:#2563eb}
.footer-columns-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px;padding-bottom:22px}
.footer-centre-entry{margin-bottom:14px}
.footer-centre-name{font-size:13px;font-weight:600;color:#333;margin-bottom:4px}
.footer-centre-detail{font-size:12.5px;color:#333;line-height:1.7}
.footer-centre-detail .fl{display:flex;gap:6px;align-items:flex-start}
.footer-centre-detail .ic,.footer-support-label .ic,.footer-support-contact .ic{width:14px;height:14px;color:#2563eb;margin-top:3px}
.footer-support-entry{margin-bottom:14px;font-size:12.5px}
.footer-support-label{font-size:13px;font-weight:600;color:#333;margin-bottom:3px;display:flex;gap:6px;align-items:center}
.footer-support-detail{font-size:12.5px;color:#333;line-height:1.6;margin-bottom:4px}
.footer-support-contact{display:inline-flex;gap:6px;align-items:center;font-size:12.5px;font-weight:700;color:#1e293b;text-decoration:none}
.footer-support-contact.whatsapp{color:#1a8f62}.footer-support-contact.whatsapp .ic{color:#1a8f62}
.footer-copyright-bar{border-top:1px solid rgba(37,99,235,.18);padding:16px 0;text-align:center;font-size:12px;font-weight:600;color:#55607a}
@media(max-width:600px){.site-footer{padding:20px 16px 0}.footer-top-row{flex-direction:column;align-items:flex-start}}
.screenmode .orp-main-header,.screenmode .orp-nav,.screenmode footer.orp-wrap,.screenmode .whobar,.screenmode .navtoggle{display:none}
.screenmode .orp-wrap{max-width:none}
@media print{header.orp-wrap,footer.orp-wrap,.side,.whobar,form{display:none}}

.orp-main-header,.orp-portal-strip,.orp-nav,.site-footer,.whobar{font-family:Arial,"Liberation Sans","Helvetica Neue",Helvetica,sans-serif}
@media(max-width:991px){.orp-portal-title .long{display:none}}
.orp-title-en{font-size:clamp(15px,1.42vw,21px);white-space:nowrap}
.orp-title-hi{font-size:clamp(16px,1.55vw,22px)}
@media(max-width:1180px){.orp-title-en{white-space:normal}}
/* sign-in user-type tabs (/login, /staff/login) */
.login-tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:2px solid var(--line);margin:0 0 18px}
.login-tabs a{padding:10px 16px;border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;background:#eef2f9;color:var(--muted);text-decoration:none;font-weight:600;margin-bottom:-2px;min-height:44px;display:flex;align-items:center;gap:6px}
.login-tabs a:hover{color:var(--brand);background:#fff}
.login-tabs a.on{background:#fff;color:var(--brand);border-color:var(--line);border-bottom:2px solid #fff;box-shadow:inset 0 3px 0 var(--brand2)}
.login-tabs .hi{font-weight:400;font-size:.82em}
.narrow-card{max-width:760px}
@media(max-width:600px){.login-tabs a{flex:1 1 45%;flex-direction:column;gap:0;padding:8px 6px;text-align:center;justify-content:center;border-radius:8px;border-bottom:1px solid var(--line);margin-bottom:6px}.login-tabs a.on{border-bottom:1px solid var(--line)}.login-tabs{border-bottom:0}}

.footer-links{list-style:none;margin:0;padding:0;font-size:13px;line-height:2}
.footer-links a{color:#1e3a8a;text-decoration:none}.footer-links a:hover{text-decoration:underline}
/* event logos (icon or uploaded) */
.ev-logo{flex:none;border-radius:50%;display:inline-block;vertical-align:middle;object-fit:contain}
img.ev-logo{background:#fff;box-shadow:0 0 0 1px var(--line)}
.ev-has-logo{display:flex;gap:14px;align-items:flex-start}.ev-has-logo h2{margin-top:2px}
.ev-head{display:flex;gap:16px;align-items:center;margin-bottom:8px}.ev-head p{margin:0}
.ev-title{display:flex;gap:10px;align-items:center}
td .ev-logo{margin-right:6px}
.logo-pick{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:10px 0}.logo-pick legend{font-weight:600;padding:0 4px}
.logo-pick{display:grid;grid-template-columns:72px 1fr;gap:4px 14px;align-items:start}.logo-now{grid-row:1 / span 3;padding-top:6px}.logo-pick label{grid-column:2}
/* stalls (2026-11-11): zone plot grid */
.zone{margin:14px 0}
.plotgrid-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px;margin:8px 0}
.plotgrid{display:grid;gap:6px}
.plot{border:1px solid var(--line);border-radius:6px;padding:6px;font-size:.8rem;min-height:52px;line-height:1.25;overflow-wrap:anywhere}
.plot span{display:block;color:var(--muted)}
.plot a{text-decoration:none;color:inherit;display:block}
.plot.free{background:#f3f8f4;border-color:#b8dcc4}
.plot.held{background:#fff6dd;border-color:#f0cf7a}
.plot.taken{background:#e3ecfa;border-color:#9db7e2}
.plot.taken span{color:var(--ink)}
.plot.blocked{background:repeating-linear-gradient(45deg,#eceff4,#eceff4 6px,#e0e4ec 6px,#e0e4ec 12px);color:var(--muted)}
.plot.here{outline:3px solid var(--brand2);outline-offset:1px}
.legend .plot{display:inline-block;min-height:0;padding:2px 8px;margin-right:4px}
.terms{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:0 0 10px}
.terms summary{font-weight:700;cursor:pointer}
.b-applied{background:#fff0c7;color:#5c3d00}
.b-refunded{background:#e3e8f2;color:#2a3550}
