:root{--navy:#0b0b0c;--navy-2:#2a2a2e;--accent:#f2a900;--accent-ink:#1b1400;--bg:#f4f4f5;--card:#ffffff;--ink:#111113;--muted:#62626b;--line:#e2e2e5;--ok:#17803d;--ok-bg:#e7f6ec;--err:#b42318;--err-bg:#fdecea;--warn-bg:#fff6de;--radius:14px;--font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans Devanagari","Noto Sans Gurmukhi","Nirmala UI","Mangal","Raavi",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.45}a{color:var(--navy-2)}button{cursor:pointer}button,input,select{font:inherit}.brand{background:radial-gradient(120% 140% at 100% 0,#2a2a2e 0,var(--navy) 55%);color:#fff;padding:18px 16px 64px}.brand-inner{max-width:560px;margin:0 auto;display:flex;align-items:center;gap:12px}.mark{width:44px;height:44px;border-radius:10px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:800;letter-spacing:-.5px;flex:none}.brand h1{font-size:17px;margin:0;font-weight:700}.brand p{margin:2px 0 0;font-size:13px;opacity:.75}.wrap{max-width:560px;margin:-44px auto 40px;padding:0 16px}.card{background:var(--card);border-radius:var(--radius);box-shadow:0 1px 2px rgba(0,0,0,.06),0 8px 24px rgba(0,0,0,.08);padding:24px 20px}.card h2{margin:0 0 4px;font-size:22px;letter-spacing:-.3px}.lead{margin:0 0 20px;color:var(--muted);font-size:15px}.field{margin-bottom:18px}.field label,.legend{display:block;font-weight:600;font-size:14px;margin-bottom:6px}.hint{font-size:13px;color:var(--muted);margin:-2px 0 8px}.input{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:10px;background:#fff;font-size:16px;color:var(--ink);transition:border-color .15s,box-shadow .15s}.input:focus{outline:none;border-color:var(--navy-2);box-shadow:0 0 0 3px rgba(0,0,0,.15)}.section{border-top:1px solid var(--line);margin:24px -20px 18px;padding:18px 20px 0}.section-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;margin:0 0 14px}.chips{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.chip{position:relative}.chip input{position:absolute;opacity:0;inset:0}.chip span{display:block;padding:12px 10px;border:1.5px solid var(--line);border-radius:10px;text-align:center;font-size:14px;font-weight:500}.chip input:checked+span{border-color:var(--navy);background:var(--navy);color:#fff}.chip input:focus-visible+span{box-shadow:0 0 0 3px rgba(0,0,0,.25)}.chip:last-child:nth-child(odd){grid-column:1/-1}.chip-sub{display:block;font-size:12px;font-weight:400;opacity:.7;margin-top:2px}.chips.three{grid-template-columns:repeat(3,1fr)}.chips.three .chip:last-child:nth-child(odd){grid-column:auto}.photo{border:1.5px dashed #c4c4ca;border-radius:12px;padding:14px;display:flex;gap:14px;align-items:center;background:#fafafa;position:relative}.photo.has{border-style:solid;border-color:var(--ok);background:var(--ok-bg)}.photo input{position:absolute;inset:0;opacity:0;cursor:pointer}.thumb{width:72px;border-radius:10px;background:#ececef;flex:none;display:grid;place-items:center;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover}.thumb svg{width:32px;height:32px;color:#85858d}.photo-text strong{display:block;font-size:15px}.photo-text small{color:var(--muted);font-size:13px}.photo.has .photo-text small{color:var(--ok);font-weight:600}.consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--muted);background:#f6f6f7;border-radius:10px;padding:12px}.consent input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--navy)}.btn{width:100%;border:0;border-radius:12px;padding:16px;font-size:16px;font-weight:700;background:var(--accent);color:var(--accent-ink);margin-top:18px;transition:transform .05s,filter .15s}.btn:hover{filter:brightness(.96)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:default}.btn.dark{background:var(--navy);color:#fff}.alert{border-radius:10px;padding:12px 14px;font-size:14px;margin-top:14px}.alert.err{background:var(--err-bg);color:var(--err)}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.done{text-align:center;padding:20px 4px 8px}.done .check{width:64px;height:64px;border-radius:50%;background:var(--ok-bg);color:var(--ok);display:grid;place-items:center;margin:0 auto 14px}.foot{text-align:center;color:var(--muted);font-size:12px;margin-top:18px}.admin-top{background:var(--navy);color:#fff}.admin-top .inner{max-width:1600px;margin:0 auto;padding:14px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-top .mark{width:36px;height:36px;font-size:14px}.admin-top h1{font-size:16px;margin:0;flex:1 1}.admin-top a,.admin-top button{color:#fff;background:rgba(255,255,255,.12);border:0;border-radius:8px;padding:8px 12px;font-size:14px;text-decoration:none}.admin{max-width:1600px;margin:0 auto;padding:20px 16px 60px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:18px}.stat{background:#fff;border-radius:12px;padding:14px 16px;box-shadow:0 1px 2px rgba(0,0,0,.06)}.stat b{display:block;font-size:26px;letter-spacing:-.5px}.stat span{font-size:13px;color:var(--muted)}.progress{height:6px;background:var(--line);border-radius:99px;margin-top:8px;overflow:hidden}.progress i{display:block;height:100%;background:var(--accent)}.toolbar{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}.toolbar .input{width:auto;flex:1 1;min-width:200px;padding:10px 12px;font-size:15px}.toolbar select.input{flex:0 0 auto;min-width:150px}.table-wrap{background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.06);overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:10px 12px;border-bottom:1px solid #efeff1;vertical-align:middle}tr:last-child td{border-bottom:0}.pics{display:flex;gap:6px}.pics img{width:44px;height:44px;object-fit:cover;border-radius:8px;cursor:zoom-in;background:#ececef}.badge{display:inline-block;white-space:nowrap;font-size:12px;font-weight:600;padding:3px 9px;border-radius:99px}.badge.pending{background:var(--warn-bg);color:#8a5a00}.badge.verified{background:var(--ok-bg);color:var(--ok)}.badge.rejected{background:var(--err-bg);color:var(--err)}.row-actions{display:flex;gap:6px}.row-actions button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:5px 9px;font-size:13px}.muted{color:var(--muted)}.lightbox{position:fixed;inset:0;background:rgba(8,16,28,.85);display:grid;place-items:center;z-index:50;padding:16px;cursor:zoom-out}.lightbox img{max-width:100%;max-height:90vh;border-radius:10px}.empty{padding:40px;text-align:center;color:var(--muted)}@media (max-width:720px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.poster-page{background:#ececef;min-height:100vh;padding:24px 16px}.poster-actions{max-width:8.5in;margin:0 auto 16px;display:flex;gap:10px;justify-content:flex-end}.poster-actions a,.poster-actions button{background:var(--navy);color:#fff;border:0;border-radius:8px;padding:10px 14px;font-size:14px;text-decoration:none}.poster{width:100%;max-width:8.5in;aspect-ratio:8.5/11;margin:0 auto;background:#fff;display:flex;flex-direction:column;box-shadow:0 10px 40px rgba(0,0,0,.18);overflow:hidden}.poster-head{background:var(--navy);color:#fff;padding:6% 7% 5%}.poster-head .mark{width:64px;height:64px;font-size:24px;border-radius:14px;margin-bottom:18px}.poster-head small{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700}.poster-head h1{font-size:clamp(28px,6vw,54px);line-height:1.02;margin:8px 0 0;letter-spacing:-1px}.poster-body{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4% 7%;text-align:center}.qr{width:58%;max-width:360px;aspect-ratio:1;padding:14px;border:4px solid var(--navy);border-radius:18px}.qr svg{width:100%;height:100%;display:block}.poster-body p{font-size:clamp(15px,2.4vw,20px);color:var(--ink);margin:18px 0 6px;font-weight:600}.poster-body .url{font-size:clamp(12px,1.8vw,15px);color:var(--muted);word-break:break-all}.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.steps div{padding:4% 3%;text-align:center;font-size:clamp(11px,1.8vw,15px);border-right:1px solid var(--line)}.steps div:last-child{border-right:0}.steps b{display:block;font-size:clamp(18px,3vw,26px);color:var(--accent)}@media print{@page{size:letter;margin:0}.poster-page,body{background:#fff;padding:0}.poster-actions{display:none}.poster{box-shadow:none;max-width:none;width:8.5in;height:11in}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.bus{width:100%;max-width:11in;aspect-ratio:11/8.5;margin:0 auto;background:#fff;display:grid;grid-template-columns:1fr 1.05fr;box-shadow:0 10px 40px rgba(0,0,0,.18);overflow:hidden}.bus-left{background:var(--navy);color:#fff;padding:6%;display:flex;flex-direction:column}.bus-left .mark{width:64px;height:64px;font-size:24px;border-radius:14px}.bus-left h1{font-size:clamp(34px,7vw,76px);line-height:1;letter-spacing:-1.5px;margin:7% 0 4%}.bus-sub{font-size:clamp(16px,2.6vw,26px);color:var(--accent);font-weight:700;margin:0 0 6%}.bus-left ol{margin:0;padding-left:1.2em;font-size:clamp(15px,2.3vw,24px);line-height:1.6}.bus-foot{margin-top:auto;font-size:clamp(12px,1.6vw,17px);opacity:.85}.bus-qr{display:grid;place-items:center;padding:7%}.bus-qr svg{width:100%;height:auto;max-height:100%}.sheet{width:8.5in;max-width:100%;margin:0 auto;background:#fff;padding:.5in .75in;display:grid;grid-template-columns:repeat(2,3.5in);grid-auto-rows:2in;justify-content:center;box-shadow:0 10px 40px rgba(0,0,0,.18)}.card-h{border:1px dashed #c4c4ca;display:flex;align-items:center;gap:.12in;padding:.14in;overflow:hidden}.card-qr{width:1.55in;height:1.55in;flex:none}.card-qr svg{width:100%;height:100%;display:block}.card-txt{display:flex;flex-direction:column;gap:3px;min-width:0}.card-brand{display:flex;align-items:center;gap:5px;font-size:8.5px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.04em}.card-brand .mark{width:18px;height:18px;font-size:7px;border-radius:4px}.card-txt b{font-size:15px;color:var(--navy);line-height:1.1}.card-txt span{font-size:10px;color:var(--ink);line-height:1.25}.card-txt small{font-size:8.5px;color:var(--muted);line-height:1.3;word-break:break-all}@media screen and (max-width:820px){.sheet{transform-origin:top left}}@media print{.bus{max-width:none;width:11in;height:8.5in}.bus,.sheet{box-shadow:none}.sheet{padding:.5in .75in}}.brand-txt{min-width:0}.langbar{max-width:560px;margin:14px auto 0;display:flex;gap:6px;flex-wrap:wrap}.langbar button{flex:1 1;min-width:0;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);color:#fff;border-radius:999px;padding:8px 6px;font-size:14px;font-weight:600;white-space:nowrap;transition:background .15s,color .15s}.langbar button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}main[lang=hi] .card,main[lang=pa] .card{line-height:1.6}.progress-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13px;margin-bottom:8px}.step-of{color:var(--muted);font-weight:600}.step-name{color:var(--navy);font-weight:700}.stepbar{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px;margin-bottom:20px}.stepbar i{height:5px;border-radius:99px;background:var(--line);transition:background .35s}.stepbar i.on{background:var(--accent)}.step{animation:stepIn .35s ease both}@keyframes stepIn{0%{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}.step .section-title{margin-top:0}.chip span{transition:background .15s,border-color .15s,color .15s,transform .1s}.chip:active span{transform:scale(.97)}.chip-sub.line-namur:before,.chip-sub.line-parc:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:0}.chip-sub.line-namur:before{background:#f08a00}.chip-sub.line-parc:before{background:#0a6fd6}.chips.three .chip:last-child:nth-child(3n+1){grid-column:auto}.thumb{width:96px;height:72px}.thumb .guide{width:84px;height:56px;color:#85858d}.tips{font-size:13px;color:var(--muted);background:#f6f6f7;border-radius:10px;padding:10px 12px;margin:0 0 14px}.nav{display:flex;gap:10px;margin-top:18px}.nav .btn{margin-top:0}.btn.ghost{flex:0 0 auto;width:auto;padding:16px 18px;background:#fff;color:var(--navy);border:1.5px solid var(--line)}.spinner{display:inline-block;width:16px;height:16px;border:2.5px solid rgba(27,20,0,.25);border-top:2.5px solid var(--accent-ink);border-radius:50%;vertical-align:-3px;margin-right:6px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.check-anim{width:88px;height:88px;display:block;margin:4px auto 14px}.check-anim circle{fill:var(--ok-bg);stroke:var(--ok);stroke-width:4;stroke-dasharray:227;stroke-dashoffset:227;animation:draw .6s ease-out forwards}.check-anim path{fill:none;stroke:var(--ok);stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60;animation:draw .4s ease-out .5s forwards}@keyframes draw{to{stroke-dashoffset:0}}.done h2{font-size:24px}.done-body{font-size:17px;font-weight:600;color:var(--navy);margin:6px 0 16px}.pass{background:linear-gradient(135deg,var(--navy),#2a2a2e);color:#fff;border-radius:14px;padding:16px 18px;text-align:left;margin:0 0 14px;position:relative;overflow:hidden}.pass:after{content:"";position:absolute;right:-40px;bottom:-50px;width:120px;height:120px;border-radius:50%;background:rgba(242,169,0,.18)}.pass-row{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;opacity:.9;position:relative;z-index:1}.pass-row b{font-size:26px;letter-spacing:3px;color:var(--accent);font-family:ui-monospace,SF Mono,Menlo,monospace;opacity:1}.pass-name{font-size:20px;font-weight:700;margin:6px 0 4px}.clock{font-size:13px;opacity:.8;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.small{font-size:13px}@media (prefers-reduced-motion:reduce){.check-anim circle,.check-anim path,.step{animation:none;stroke-dashoffset:0}}.bus-langs{font-size:clamp(14px,2vw,20px);margin:-3% 0 6%;opacity:.85}.card-langs{font-size:9px!important;color:var(--navy)!important;font-weight:600}