:root{--navy:#0d1b2a;--blue:#123e7a;--purple:#6e2c91;--gold:#f4b400;--white:#fff;--light:#f5f7fb;--text:#172033;--muted:#6f7787;--green:#149c5a;--red:#d93545;--amber:#f2a900}
*{box-sizing:border-box}html,body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--light);color:var(--text)}body{min-height:100vh}.access-top{background:var(--navy);color:white;border-bottom:4px solid var(--gold);position:sticky;top:0;z-index:20}.access-top-inner{max-width:1080px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 18px}.access-brand{display:flex;align-items:center;gap:10px;color:white;text-decoration:none}.access-brand img{width:52px;height:52px;object-fit:contain}.access-brand strong{display:block;font-family:Oswald,sans-serif;letter-spacing:.04em}.access-brand small{opacity:.72}.access-top a.simple-link{color:white;text-decoration:none;font-weight:800;font-size:13px}.access-shell{max-width:980px;margin:0 auto;padding:26px 18px 80px}.access-hero{background:linear-gradient(135deg,var(--navy),var(--blue));color:white;border-radius:24px;padding:24px;position:relative;overflow:hidden;box-shadow:0 18px 50px rgba(13,27,42,.15)}.access-hero:after{content:"";position:absolute;inset:auto -90px -170px auto;width:330px;height:330px;background:var(--purple);opacity:.45;transform:rotate(34deg)}.access-hero>*{position:relative;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:900;font-size:12px;letter-spacing:.08em;color:var(--gold)}.access-hero h1{font:700 clamp(34px,7vw,60px)/.98 Oswald,sans-serif;margin:10px 0}.access-hero p{max-width:720px;line-height:1.55;margin:0;color:rgba(255,255,255,.82)}.mandatory{margin-top:16px;display:inline-flex;background:var(--gold);color:var(--navy);padding:10px 14px;border-radius:999px;font-weight:900;font-size:13px}.access-card{background:white;border:1px solid #e3e7ef;border-radius:22px;padding:22px;margin-top:18px;box-shadow:0 10px 28px rgba(13,27,42,.06)}.access-card h2,.access-card h3{margin-top:0}.match-picker{display:grid;grid-template-columns:1fr;gap:10px}.match-option{display:grid;grid-template-columns:92px 1fr auto;align-items:center;gap:14px;padding:14px;border:1px solid #dfe4ed;border-radius:16px;text-decoration:none;color:inherit;transition:.15s;background:#fff}.match-option:hover,.match-option.selected{border-color:var(--purple);box-shadow:0 0 0 3px rgba(110,44,145,.08)}.match-time{font:700 24px Oswald,sans-serif;color:var(--navy)}.match-option strong{display:block}.match-option small{display:block;color:var(--muted);margin-top:3px}.match-format{font-size:11px;font-weight:900;color:white;padding:7px 9px;border-radius:999px;background:var(--purple);white-space:nowrap}.match-format.blue{background:var(--blue)}.selected-match{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 16px;border:1px solid #dce2ec;border-left:5px solid var(--purple);border-radius:15px;background:#fafbfe}.selected-match.blue{border-left-color:var(--blue)}.selected-match strong{display:block;font-size:18px}.selected-match span{display:block;color:var(--muted);font-size:13px;margin-top:3px}.selected-match b{font:700 27px Oswald,sans-serif;color:var(--navy)}.people-list{display:grid;gap:12px;margin:16px 0}.person-row{display:grid;grid-template-columns:1.4fr 1fr 42px;gap:10px;align-items:end;background:#f7f8fb;border:1px solid #e6e9f0;padding:12px;border-radius:15px}.person-row label,.field{display:grid;gap:6px;font-size:12px;font-weight:800;color:#4d5667}.person-row input,.field input,.field select{width:100%;border:1px solid #cfd5df;border-radius:12px;padding:12px 13px;background:white;font:inherit;color:var(--text);outline:none}.person-row input:focus,.field input:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(18,62,122,.08)}.remove-person{width:42px;height:42px;border:0;border-radius:11px;background:#eceff4;font-size:20px;color:#667085;cursor:pointer}.btn{border:0;border-radius:13px;padding:13px 16px;font:800 14px Inter,sans-serif;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:var(--gold);color:var(--navy)}.btn.secondary{background:var(--navy);color:white}.btn.ghost{background:#eef1f6;color:var(--navy)}.btn.danger{background:#ffe7e9;color:#a51f2d}.btn:disabled{opacity:.5;cursor:not-allowed}.form-actions{display:flex;flex-wrap:wrap;gap:10px}.form-note{font-size:12px;color:var(--muted);line-height:1.5;margin-top:12px}.status-box{display:none;margin-top:14px;padding:12px 14px;border-radius:12px;background:#eef7f2;color:#12633d;font-size:13px;font-weight:700}.status-box.show{display:block}.status-box.error{background:#fff0f1;color:#9f2530}.ticket-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.ticket-card{background:white;border:1px solid #dfe4ed;border-radius:20px;padding:18px;text-align:center;box-shadow:0 10px 24px rgba(13,27,42,.06);position:relative;overflow:hidden}.ticket-card:before{content:"";position:absolute;height:5px;top:0;left:0;right:0;background:linear-gradient(90deg,var(--blue),var(--purple),var(--gold))}.ticket-card h3{margin:8px 0 4px;font-size:20px}.ticket-card .ticket-match{font-size:12px;color:var(--muted);line-height:1.4}.qr-box{display:flex;justify-content:center;margin:15px auto;padding:12px;background:white;border-radius:12px;width:max-content;border:1px solid #eceff4}.qr-box img,.qr-box canvas{max-width:210px!important;width:210px!important;height:210px!important;image-rendering:pixelated}.ticket-code{font:700 12px ui-monospace,monospace;color:#707887;letter-spacing:.08em}.ticket-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:12px}.privacy-box{display:flex;gap:10px;align-items:flex-start;background:#f7f8fb;border:1px solid #e5e8ee;border-radius:14px;padding:12px 14px;margin-top:15px}.privacy-box span{font-size:20px}.privacy-box p{margin:0;font-size:12px;color:#596273;line-height:1.5}.pass-wrap{max-width:520px;margin:0 auto}.pass-card{background:white;border-radius:24px;border:1px solid #e1e5ec;overflow:hidden;box-shadow:0 18px 50px rgba(13,27,42,.10);margin-top:18px}.pass-head{background:var(--navy);color:white;padding:20px;text-align:center;border-bottom:5px solid var(--gold)}.pass-head img{width:90px;height:90px;object-fit:contain}.pass-head h1{font:700 32px Oswald,sans-serif;margin:8px 0 0}.pass-body{padding:22px;text-align:center}.pass-state{display:inline-flex;padding:8px 12px;border-radius:999px;font-weight:900;font-size:12px;background:#e7f7ee;color:#147044}.pass-state.used{background:#fff2d8;color:#925b00}.pass-body h2{font-size:26px;margin:14px 0 6px}.pass-match{background:#f6f8fb;border:1px solid #e3e7ed;padding:14px;border-radius:14px;line-height:1.5}.pass-match b{display:block}.pass-help{font-size:12px;color:var(--muted);line-height:1.5}.login-card{max-width:430px;margin:50px auto;background:white;border:1px solid #e1e5eb;border-radius:22px;padding:24px;box-shadow:0 15px 45px rgba(13,27,42,.08)}.login-card img{width:86px;height:86px;object-fit:contain;display:block;margin:auto}.login-card h1{text-align:center;margin:10px 0}.login-card p{text-align:center;color:var(--muted);font-size:13px}.login-card form{display:grid;gap:12px}.scanner-shell{max-width:1050px;margin:auto;padding:18px 16px 80px}.scanner-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:white;border-radius:17px;border:1px solid #e1e5eb;padding:14px}.scanner-toolbar .field{margin:0}.scanner-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;margin-top:16px}.scanner-panel,.check-panel{background:white;border:1px solid #e1e5eb;border-radius:20px;padding:16px}.scanner-panel h2,.check-panel h2{margin:0 0 10px}.reader-box{min-height:320px;border-radius:15px;overflow:hidden;background:#0a0f18;display:flex;align-items:center;justify-content:center}.reader-box #reader{width:100%}.scan-result{min-height:240px;border-radius:17px;border:2px dashed #d5dae3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.scan-result .big-icon{font-size:55px}.scan-result h2{font:700 34px Oswald,sans-serif;margin:8px 0}.scan-result p{color:var(--muted);margin:3px 0}.scan-result.ok{border-color:#64c691;background:#effaf4}.scan-result.warn{border-color:#efb84b;background:#fff8e8}.scan-result.bad{border-color:#e27680;background:#fff1f2}.scan-result.ok h2{color:#117044}.scan-result.warn h2{color:#8b5b00}.scan-result.bad h2{color:#9d2631}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.stat{background:#f5f7fa;border-radius:13px;padding:10px;text-align:center}.stat strong{display:block;font:700 25px Oswald,sans-serif}.stat small{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:800}.manual-search{margin-top:16px}.manual-search-row{display:flex;gap:8px}.manual-search-row input{flex:1;border:1px solid #d2d7e0;border-radius:12px;padding:12px}.search-results{display:grid;gap:8px;margin-top:10px;max-height:350px;overflow:auto}.search-ticket{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e3e6ec;border-radius:12px;padding:10px}.search-ticket strong{display:block}.search-ticket small{display:block;color:var(--muted);margin-top:2px}.search-ticket button{border:0;border-radius:10px;background:var(--navy);color:white;font-weight:800;padding:9px 10px}.access-note{font-size:12px;color:var(--muted);line-height:1.5}.staff-top-actions{display:flex;gap:8px;align-items:center}.staff-top-actions button,.staff-top-actions a{border:0;border-radius:10px;padding:9px 11px;font-weight:800;text-decoration:none;background:#243244;color:white;cursor:pointer;font-size:12px}.staff-top-actions .logout{background:#7c2630}@media(max-width:760px){.access-shell{padding:18px 12px 70px}.access-hero{border-radius:18px;padding:20px}.match-option{grid-template-columns:70px 1fr}.match-format{grid-column:2}.person-row{grid-template-columns:1fr 1fr 38px}.ticket-grid{grid-template-columns:1fr}.scanner-grid{grid-template-columns:1fr}.scanner-toolbar{grid-template-columns:1fr}.reader-box{min-height:280px}.access-brand span{display:none}.stats-row{gap:5px}.stat{padding:8px 4px}.stat strong{font-size:22px}}@media(max-width:520px){.person-row{grid-template-columns:1fr 42px}.person-row label:nth-child(2){grid-column:1}.person-row .remove-person{grid-column:2;grid-row:1/3;align-self:center}.selected-match{align-items:flex-start}.selected-match b{font-size:23px}.form-actions .btn{width:100%}}


/* V5.6.1 · Lista completa de asistentes */
.attendee-panel{margin-top:18px;background:#fff;border:1px solid #e1e5eb;border-radius:20px;padding:18px;box-shadow:0 10px 28px rgba(13,27,42,.05)}
.attendee-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.attendee-head h2{margin:5px 0 4px;font:700 28px Oswald,sans-serif;color:var(--navy)}
.attendee-head p{margin:0;color:var(--muted);font-size:12px}
.attendee-actions{display:flex;gap:8px;flex-wrap:wrap}
.attendee-filters{display:grid;grid-template-columns:1.5fr .7fr;gap:10px;margin:16px 0 10px}
.attendee-summary{background:#f6f8fb;border:1px solid #e4e8ef;border-radius:12px;padding:10px 12px;font-size:12px;color:#596273;margin-bottom:10px}
.attendee-summary b{font-size:15px;color:var(--navy)}
.attendee-summary .sum-ok{color:#117044;font-weight:800}.attendee-summary .sum-bad{color:#9d2631;font-weight:800}
.attendee-table-wrap{overflow:auto;border:1px solid #e5e8ee;border-radius:14px}
.attendee-table{width:100%;border-collapse:collapse;min-width:900px;font-size:12px}
.attendee-table th{position:sticky;top:0;background:#f5f7fa;text-align:left;padding:10px;border-bottom:1px solid #dde2ea;color:#5b6474;font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.attendee-table td{padding:10px;border-bottom:1px solid #edf0f4;vertical-align:middle}
.attendee-table tbody tr:hover{background:#fafbfe}
.attendee-table td strong{display:block;color:var(--navy);font-size:13px}
.attendee-table td small{display:block;color:var(--muted);margin-top:2px}
.attendee-status{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900;white-space:nowrap;text-transform:uppercase}
.attendee-status.entered{background:#e7f7ee;color:#117044}.attendee-status.pending{background:#fff4d9;color:#925b00}.attendee-status.cancelled{background:#ffe7e9;color:#9d2631}
.mini-action{border:0;border-radius:9px;padding:8px 9px;background:var(--navy);color:#fff;font-size:10px;font-weight:900;cursor:pointer;white-space:nowrap}
.empty-attendees{text-align:center;padding:22px!important;color:var(--muted)}
.attendee-cards{display:none}
@media(max-width:760px){
  .attendee-head{display:grid}.attendee-actions .btn{flex:1}
  .attendee-filters{grid-template-columns:1fr}
  .attendee-table-wrap{display:none}.attendee-cards{display:grid;gap:9px}
  .attendee-card{border:1px solid #e2e6ed;border-left:5px solid #efb84b;border-radius:13px;padding:11px;background:#fff}
  .attendee-card.entered{border-left-color:#3db779}.attendee-card.cancelled{border-left-color:#d95360}
  .attendee-card>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
  .attendee-card strong{font-size:14px;color:var(--navy)}.attendee-card span{font-size:11px;color:var(--muted)}
  .attendee-card>small{display:block;color:var(--muted);margin:5px 0 9px;line-height:1.35}
  .attendee-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}
  .attendee-card-bottom b{font-size:11px;color:var(--muted)}
}
