:root{--primary:#123a63;--accent:#e87722;--accent-ink:#111;--background:#f8fafc;--text:#123a63;--border:#d6dfe9;--muted:#506581;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--background);color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:var(--primary)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}input,select,textarea{width:100%;min-width:0;padding:12px;border:1px solid #a9b8ca;border-radius:8px;background:#fff;color:#122c45;font-size:14px}textarea{resize:vertical;min-height:90px;line-height:1.5}textarea.large{min-height:150px}input[type=color]{height:48px;padding:4px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);flex-shrink:0}label{display:block;font-size:12px;font-weight:700;margin:17px 0 8px}small,.sub{font-size:11px;font-weight:400;color:var(--muted);line-height:1.6}.top{background:var(--primary);color:white;padding:15px max(24px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px}.client-brand{display:flex;align-items:center;gap:13px;max-width:520px;color:white;text-decoration:none;font-weight:700;font-size:17px;line-height:1.4}.client-brand img{width:65px;height:65px;object-fit:contain;flex-shrink:0}.top nav{display:flex;gap:18px;flex-wrap:wrap}.top nav a{color:white;font-size:11px;text-decoration:none}main{max-width:1180px;margin:auto;padding:35px 24px 50px;min-height:65vh}h1{font-size:clamp(28px,4vw,39px);line-height:1.15;letter-spacing:-1px;margin:12px 0 16px;overflow-wrap:anywhere}h2{font-size:23px;letter-spacing:-.5px;margin:0 0 18px}h3{font-size:19px;overflow-wrap:anywhere}p{line-height:1.6;color:var(--muted)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;line-height:1.5}.heading{max-width:700px;margin-bottom:35px}.box{background:#fff;color:#123a63;border:1px solid var(--border);border-radius:12px;padding:25px;box-shadow:0 10px 28px #123a6307}.narrow{max-width:680px;margin:auto}.public-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}.banner{width:100%;max-height:260px;aspect-ratio:2.2;object-fit:cover;border-radius:12px;margin-bottom:20px}.event-intro h1{font-size:35px}.event-intro p{white-space:pre-line}.primary,.secondary,.danger{display:inline-block;border:1px solid transparent;text-decoration:none;border-radius:8px;padding:12px 17px;font-size:13px;text-align:center}.primary{background:var(--accent);color:var(--accent-ink);font-weight:700}.primary:hover{filter:brightness(.96)}.secondary{background:#f1f5f9;color:#123a63;border-color:#bdcad9}.danger{background:#fff5f5;border-color:#e7aeb5;color:#932a37}.wide{width:100%;margin-top:20px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px}.info{background:#edf3f9;color:#25425f;border:1px solid #c2d2e4;border-radius:8px;padding:14px;font-size:12px;line-height:1.6;margin:18px 0}.check{display:flex;gap:10px;align-items:center;line-height:1.5;font-weight:400}.privacy{margin-top:20px;padding:12px;background:#f3f6fa;border-radius:8px;font-size:12px}.privacy summary{cursor:pointer}.pre{white-space:pre-line;overflow-wrap:anywhere}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.badge{display:inline-block;border-radius:7px;padding:6px 9px;background:#edf3f9;font-size:11px;font-weight:700}.badge.pending{background:#fff0d3;color:#80500b}.badge.approved{background:#ddf4e9;color:#14613d}.badge.rejected,.badge.cancelled{background:#fbe5e8;color:#962c3e}.admin-heading,.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.section-head h2{margin:0}.event-switch{display:flex;align-items:center;gap:12px;margin:14px 0 25px}.event-switch label{margin:0}.event-switch select{flex:1;max-width:550px}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--border);padding-bottom:15px;margin-bottom:22px;flex-wrap:wrap}.tabs button{background:transparent;border:1px solid #b5c5d6;color:#123a63;border-radius:8px;padding:12px 18px;font-size:13px}.tabs .active{background:var(--primary);color:white;border-color:var(--primary)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:20px}.metrics span{font-size:12px}.metrics strong{display:block;font-size:34px;margin-top:12px;font-variant-numeric:tabular-nums}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:15px}.toolbar input{flex:1}.toolbar select{width:190px}.toolbar button{white-space:nowrap}.table-wrap{padding:0;overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}th{padding:15px;background:#edf3f9;font-size:11px}td{padding:16px 15px;border-top:1px solid #e1e8f0;overflow-wrap:anywhere}td small{display:block}.table-name{background:none;border:0;padding:0;color:#123a63;text-align:left;font-weight:700;text-decoration:underline}.empty{padding:20px;text-align:center;color:#506581;font-size:13px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.colors{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.brand-preview{margin-top:20px;display:flex;align-items:center;gap:15px;flex-wrap:wrap;border-radius:10px;padding:20px;background:var(--primary);color:white}.brand-preview img{width:70px;height:70px;object-fit:contain}.brand-preview span{margin-left:auto;padding:10px 14px;border-radius:7px;background:var(--accent);color:var(--accent-ink);font-size:12px}.text-button{background:none;border:0;color:var(--primary);text-decoration:underline;font-size:12px;padding:10px 0}.staff-row{display:flex;gap:15px;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding:15px 0;margin-top:10px;font-size:13px}.event-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.event-card{text-decoration:none;color:var(--text);border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}.event-card img{width:100%;height:180px;object-fit:cover}.event-card div{padding:22px}.event-card h2{margin-bottom:12px}.event-card p{font-size:12px}video{width:100%;max-height:340px;background:#111;border-radius:10px;margin-top:18px}#check-result{padding:20px;border-radius:10px;margin-top:20px;border:2px solid #b5c4d4}#check-result.valid{background:#eaf8f0;border-color:#219260}#check-result.invalid{background:#fff0f1;border-color:#b6475b}#check-state{font-size:21px}#check-name{font-size:23px}dialog{max-height:92vh;overflow:auto;width:min(94%,650px);border:1px solid #b5c5d6;border-radius:14px;padding:25px;background:#fff;color:#123a63}dialog::backdrop{background:#0d2035bb}.zone-checks{display:flex;gap:14px;flex-wrap:wrap}.zone-checks .check{background:#edf3f9;border-radius:8px;padding:10px;margin:0}.credential-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}#credential-dialog{max-width:510px;background:#edf3f9}#credential{max-width:360px;margin:auto;background:white;border-radius:12px;overflow:hidden;border:1px solid #c5d1df;box-shadow:0 10px 25px #0001}.credential-header{padding:20px;background:var(--primary);color:#fff;display:flex;align-items:center;gap:15px}.credential-header img{width:75px;height:75px;object-fit:contain}.credential-header strong{font-size:16px;line-height:1.4}.credential-body{text-align:center;padding:22px}.credential-body>p:first-child{font-size:12px}.credential-body h1{font-size:30px;text-transform:uppercase;line-height:1.15;margin:22px 0;overflow-wrap:anywhere;color:#123a63}#cred-role{background:var(--accent);color:var(--accent-ink);padding:13px 10px;margin:0 -22px 23px;font-weight:700;letter-spacing:1px;font-size:17px;overflow-wrap:anywhere}#cred-zones{font-size:14px}#cred-qr{padding:12px;background:white;max-width:245px;margin:16px auto 0}#cred-qr svg{display:block;width:100%;height:auto}.credential-code{font-size:8px!important;word-break:break-all;line-height:1.4!important}.credential-footer{font-size:9px;border-top:1px solid var(--border);padding-top:14px;margin-top:15px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#123a63;color:white;max-width:90%;padding:14px 20px;border-radius:10px;z-index:200;font-size:13px;box-shadow:0 10px 25px #0003}footer{display:flex;gap:8px;align-items:center;justify-content:center;border-top:1px solid var(--border);padding:10px;font-size:10px;color:#506581}footer img{width:110px;height:42px;object-fit:cover;object-position:center;mix-blend-mode:multiply}[hidden]{display:none!important}
@media(max-width:760px){.top{padding:15px 18px;align-items:flex-start;flex-direction:column;gap:12px}.client-brand{font-size:15px}.client-brand img{width:50px;height:50px}main{padding:25px 18px 35px}.public-layout{grid-template-columns:1fr;gap:20px}.event-intro h1{font-size:30px}.box{padding:20px}.admin-heading{flex-wrap:wrap}.event-switch{flex-wrap:wrap}.event-switch select{max-width:none;flex-basis:80%}.metrics{gap:8px}.metrics .box{padding:15px}.metrics strong{font-size:28px}.metrics span{font-size:10px}.toolbar{flex-wrap:wrap}.toolbar input{flex-basis:100%}.toolbar select{flex:1}.toolbar button{font-size:11px;padding:10px}.grid{grid-template-columns:1fr;gap:0}.colors{grid-template-columns:1fr 1fr;gap:0 15px}.event-cards{grid-template-columns:1fr}.tabs button{flex:1;padding:12px 8px;font-size:11px}.staff-row{align-items:flex-start}.staff-row .secondary{white-space:nowrap}.brand-preview span{margin-left:0}.credential-actions button{font-size:11px}td,th{padding:13px 10px;font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.field-settings{border:1px solid var(--border);border-radius:10px;padding:18px;margin:25px 0}.field-settings legend{font-size:14px;font-weight:700;padding:0 8px}.field-settings .check{margin-top:12px}.person-photo{display:block;width:110px;height:140px;object-fit:cover;border-radius:8px;border:1px solid var(--border);margin:14px 0}.credential-photo{display:block;width:115px;height:145px;object-fit:cover;border-radius:10px;margin:16px auto;border:1px solid var(--border)}.credential-document{font-size:12px;overflow-wrap:anywhere;margin-top:-10px;color:#123a63}#check-document,#detail-document{overflow-wrap:anywhere;font-size:13px}

#status-message{white-space:pre-line}
#credential{width:100%;max-width:100mm;border-radius:0;border:0;overflow:visible;box-shadow:0 8px 24px #0002}.credential-front,.credential-back{position:relative;aspect-ratio:5/7;background:white;box-sizing:border-box;border:1px solid #c5d1df;overflow:hidden}.credential-front{border-bottom:1px dashed #7a8b9e}.front-inner{width:100%;position:absolute;left:0;top:0}.credential-header{padding:4mm;gap:3mm}.credential-header img{width:16mm;height:16mm}.credential-header strong{font-size:15px}.credential-body{padding:3mm 4mm;text-align:center}.credential-body>p:first-child{font-size:12px;margin:2mm 0}.credential-photo{width:25mm;height:31mm;margin:3mm auto}.credential-body h1{font-size:23px;line-height:1.12;margin:3mm 0}.credential-document{font-size:11px;margin:2mm 0}#cred-role{padding:2.5mm;margin:3mm -4mm;font-size:16px}.credential-body .eyebrow{font-size:9px;margin:2mm 0}#cred-zones{display:block;font-size:13px;overflow-wrap:anywhere}#cred-validity{font-size:11px;margin:3mm 0}.back-inner{height:auto;min-height:100%;padding:6mm 5mm;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2mm}.back-inner>.eyebrow{font-size:12px;margin:0 0 2mm}.back-inner>strong{font-size:12px}.back-inner>p{font-size:11px;margin:0}#cred-qr{width:58%;max-width:58mm;margin:3mm auto;padding:0;aspect-ratio:1}#cred-qr svg{width:100%;height:100%;display:block}.back-inner .qr-instruction{font-weight:700;font-size:13px;margin-top:2mm}.credential-code{display:none}.credential-footer{width:100%;border:0;padding:0;margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:1mm;font-size:9px}.credential-footer img{display:block;width:32mm;height:12mm;object-fit:cover;object-position:center}.print-note{font-size:11px}#print-sheet{position:fixed;left:-10000px;top:0;width:100mm;height:280mm;background:white}.print-credential{width:100mm!important;max-width:none!important;box-shadow:none!important}.print-credential .credential-front,.print-credential .credential-back{width:100mm;height:140mm;aspect-ratio:auto;overflow:hidden}.print-credential .credential-back{transform:rotate(180deg)}.print-credential .cred-role{padding:2.5mm;margin:3mm -4mm;font-size:16px;background:var(--accent);color:var(--accent-ink);font-weight:700}.print-credential .cred-qr{width:58mm;height:58mm;margin:3mm auto;padding:0;background:white}.print-credential .cred-qr svg{width:100%;height:100%;display:block}.print-credential .cred-zones{display:block;overflow-wrap:anywhere;font-size:13px}.print-credential .cred-validity{font-size:11px;margin:3mm 0}.print-credential,.print-credential *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
@media print{@page{size:A4 portrait;margin:5mm}html,body{margin:0!important;padding:0!important;background:#fff!important;min-height:0!important;height:auto!important}body>*:not(#print-sheet){display:none!important}dialog::backdrop{display:none!important}#print-sheet{display:block!important;position:relative!important;left:auto!important;top:auto!important;margin:0 auto!important;width:100mm;height:280mm;break-inside:avoid;page-break-inside:avoid}}

#cred-qr,.print-credential .cred-qr{flex-shrink:0}.back-inner>strong,.back-inner>p{overflow-wrap:anywhere}
