:root{color-scheme:dark;font-family:Arial,sans-serif;background:#07080b;color:#f7f8ff}*{box-sizing:border-box}body{margin:0}main{max-width:960px;margin:auto;padding:40px 20px}header{display:flex;gap:24px;align-items:center;padding:20px;border-bottom:1px solid #293247;flex-wrap:wrap}header form{margin:0}a{color:#9cbdff}h1{font-size:clamp(2rem,6vw,3.5rem);letter-spacing:-.04em}.eyebrow{font-size:.75rem;letter-spacing:.15em;color:#9cbdff}p{line-height:1.6;color:#aeb7cc}form,section{display:grid;grid-gap:16px;gap:16px;margin:24px 0}label{display:grid;grid-gap:8px;gap:8px;font-size:.9rem}button,input,select,textarea{font:inherit;border:1px solid #3d4b65;border-radius:6px;padding:14px;min-height:48px}input,select,textarea{background:#101725;color:inherit;width:100%}textarea{min-height:110px}button{background:#9cbdff;color:#080e1c;font-weight:700;cursor:pointer;justify-self:start}button:disabled{opacity:.5;cursor:wait}[role=alert],output{display:block;padding:16px;background:#15213a;overflow-wrap:anywhere;white-space:pre-wrap}fieldset{border:1px solid #3d4b65;padding:20px;min-width:0;margin:20px 0}legend{padding:0 8px}video{max-width:100%;background:#000;border-radius:6px}table{border-collapse:collapse;width:100%}td,th{padding:12px;text-align:left;border-bottom:1px solid #293247}.scroll{overflow:auto}input[type=checkbox]{width:24px;min-height:24px}label.check{display:flex;align-items:center}.actions{display:flex;gap:8px;flex-wrap:wrap}.pass{padding:20px;border:1px solid #3d4b65}.pass img{max-width:100%;height:auto}small{color:#aeb7cc}.card{border:1px solid #293247;border-radius:14px;padding:20px}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.metrics>div{background:#101725;padding:16px;border-radius:10px}.metrics dt{color:#aeb7cc;font-size:.85rem}.metrics dd{margin:12px 0 0;font-size:2rem;font-weight:700}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.passes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:16px;gap:16px}.pass{border-radius:12px;background:#101725}.pass a{display:inline-block;min-height:48px;padding:12px 0}summary{cursor:pointer;min-height:48px;padding:14px 0;font-weight:700}fieldset .check{margin:16px 0;overflow-wrap:anywhere}output:empty{display:none}output.scan-valid{background:#174527;color:#e5ffe9;border:2px solid #94e9a9;font-size:1.5rem;font-weight:700}output.scan-used{background:#493813;color:#fff0b8;border:2px solid #e0bd53;font-size:1.3rem}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #9cbdff;outline-offset:3px}@media (max-width:540px){main{padding:24px 16px}.metrics{grid-template-columns:1fr}.metrics>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.metrics dd{margin:0;font-size:1.6rem}header{gap:16px}.card,fieldset,header{padding:16px}button{max-width:100%}}:root{--surface:#0d111b;--line:#293247;--muted:#aeb7cc;--accent:#9cbdff}body{background:radial-gradient(ellipse at 85% 0,#1a285033,transparent 48%),#07080b;min-height:100svh;-webkit-font-smoothing:antialiased}main{max-width:1040px;padding-block:48px 72px}h1{margin:12px 0 18px;font-weight:600;line-height:1.08}h2{font-size:1.5rem;letter-spacing:-.03em;margin:0}h2,h3{font-weight:500}p{max-width:76ch}a{text-underline-offset:5px}.eyebrow{font-weight:600;font-size:.7rem;letter-spacing:.2em}.brand-logo{display:block;width:240px;max-width:100%;height:auto;object-fit:contain}.app-header{max-width:1440px;margin-inline:auto;padding:16px 40px;border-color:var(--line);background:#07080be6}.brand-link{text-decoration:none;margin-right:auto}.brand-link .brand-logo{width:180px}.brand-link span{display:block;color:var(--muted);font-size:.55rem;letter-spacing:.22em;margin:3px 0 0 8px}.app-header nav{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.app-header nav a{display:inline-flex;align-items:center;min-height:48px;text-decoration:none;font-size:.9rem;color:#d8e2f8}.app-header nav a:hover{color:white;text-decoration:underline}.button-link,button{border-radius:8px;transition:background .16s,border-color .16s}.button-link:hover,button:not(:disabled):hover{background:#c2d5ff;border-color:#c2d5ff}.button-secondary{background:transparent;color:#d8e2f8;border-color:var(--line)}.button-secondary:not(:disabled):hover{background:#1a2440;color:white}button:disabled{cursor:not-allowed}input,select,textarea{background:#090e18;border-color:#3d4b65;border-radius:8px}input[type=checkbox]{accent-color:var(--accent);flex-shrink:0}.card,.login-card,.scanner-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px}.card>p{margin:0}.card>form{margin-bottom:0}.metrics{margin:28px 0 18px}.metrics>div{background:linear-gradient(135deg,#141d30,var(--surface));border:1px solid var(--line);padding:24px;border-radius:12px}.metrics dd{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:clamp(1.5rem,3vw,2.4rem);color:#e2ebff;overflow-wrap:anywhere}fieldset{border-radius:12px;background:#0b101a}legend{color:#d8e2f8;overflow-wrap:anywhere;max-width:100%}section[aria-label="Lista de invitados"]{padding-block:16px}.pass{background:var(--surface);border-color:var(--line)}summary{color:#d8e2f8}[role=alert],output{border:1px solid #3d527b;border-radius:10px;line-height:1.6}[role=alert]{background:#351821;border-color:#a95d73;color:#ffe0e7}.access-shell{max-width:720px}.scanner-card{margin-top:32px}.scanner-card button{width:100%;justify-self:stretch}.scanner-card button[type=button]{background:#18233b;border-color:#3d527b;color:#dbe7ff}.scanner-card button[type=button]:hover{background:#23365c}.scanner-video{width:100%;max-height:400px;object-fit:contain}.login-shell{min-height:100svh;max-width:1200px;display:grid;grid-template-columns:1.05fr 1fr;grid-gap:72px;gap:72px;align-items:center;padding:64px 40px}.login-identity .brand-logo{width:400px;margin-bottom:48px}.login-identity .login-slogan{font-size:clamp(2rem,3.8vw,3.4rem);line-height:1.12;letter-spacing:-.03em;color:#f7f8ff;max-width:12ch}.identity-signature{margin-top:48px;padding-top:20px;border-top:1px solid var(--line);text-transform:uppercase;letter-spacing:.22em;font-size:.65rem}.login-card{margin:0;gap:0;padding:36px;box-shadow:0 24px 90px #0004}.login-card h1{font-size:clamp(1.8rem,3vw,2.5rem)}.login-card form{margin:24px 0}.login-card button{width:100%}.login-note{font-size:.75rem;border-top:1px solid var(--line);padding-top:20px;margin-bottom:0}.home-shell{max-width:800px;padding-top:12vh}.home-shell .brand-logo{width:360px;margin-bottom:48px}.button-link{display:inline-flex;align-items:center;min-height:48px;margin-top:20px;padding:14px 20px;background:var(--accent);color:#080e1c;text-decoration:none;font-weight:600}.skip-link{position:fixed;top:8px;left:16px;z-index:20;transform:translateY(-160%);background:#dbe7ff;color:#080e1c;padding:14px;border-radius:8px}.skip-link:focus{transform:translateY(0)}@media (max-width:800px){.login-shell{max-width:520px;grid-template-columns:1fr;gap:24px;padding:32px 20px;align-content:center}.login-identity .brand-logo{width:280px;margin-bottom:24px}.login-identity .login-slogan,.login-identity>p:not(.eyebrow){display:none}.login-identity .eyebrow{margin:0}.login-card{padding:28px}}@media (max-width:540px){main{padding:28px 16px 48px}.app-header{padding:12px 16px;gap:10px 16px}.brand-link{flex-grow:1;flex-shrink:1;flex-basis:calc(100% - 100px)}.app-header nav{order:3;flex:1 1 100%;gap:24px;border-top:1px solid var(--line);padding-top:4px}.brand-link .brand-logo{width:168px}.card,.scanner-card{padding:20px 16px}.metrics>div{padding:18px}.metrics dt{max-width:60%}.login-shell{padding:24px 16px}.login-card{padding:24px 20px}.login-card h1{font-size:1.9rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important}}