:root{--green-950:#0b2417;--green-900:#123324;--green-800:#1a4530;--green-700:#23573d;--green-100:#dcefe3;--gold:#c9a44c;--gold-light:#e6c87a;--cream:#f7f3e9;--paper:#fffdf7;--ink:#1d2a22;--muted:#6b7a70;--red:#b3372f;--radius:14px}*{box-sizing:border-box}body{background:var(--cream);color:var(--ink);margin:0;font-family:system-ui,sans-serif}.topbar{background:linear-gradient(135deg, var(--green-950), var(--green-800));border-bottom:3px solid var(--gold);color:var(--paper);letter-spacing:.02em;justify-content:space-between;align-items:baseline;padding:14px 16px;font-weight:700;display:flex}.topbar small{color:var(--gold-light);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.topbar a{color:inherit;text-decoration:none}main{flex-direction:column;gap:16px;max-width:480px;margin:0 auto;padding:16px;display:flex}h1{color:var(--green-900);margin:8px 0 0;font-size:1.25rem}h2{color:var(--green-900);margin:12px 0 0;font-size:1rem}p{margin:0}a{color:inherit}small,.hint{color:var(--muted);font-size:.875rem}form{flex-direction:column;gap:12px;display:flex}input,select,button,.button{font:inherit;border-radius:var(--radius);border:1px solid var(--green-100);width:100%;padding:16px;font-size:1.125rem}input,select{background:var(--paper);color:inherit}input::placeholder{color:var(--muted)}input:focus,select:focus{outline:2px solid var(--gold);outline-offset:1px}input[readonly]{padding:12px;font-size:.875rem}button,.button{background:var(--gold);border-color:var(--gold);color:var(--green-950);text-align:center;cursor:pointer;font-weight:700;text-decoration:none}button:active,.button:active{background:var(--gold-light)}button:disabled{opacity:.5}.secondary{border-color:var(--green-800);color:var(--green-800);background:0 0}button.link{width:auto;color:var(--muted);background:0 0;border:0;padding:8px 0;font-size:.875rem;font-weight:400;text-decoration:underline}.error{background:var(--paper);border:1px solid var(--red);color:var(--red);border-radius:var(--radius);padding:12px}.notice{background:var(--paper);border:1px solid var(--green-800);color:var(--green-800);border-radius:var(--radius);flex-direction:column;gap:8px;padding:12px;display:flex}.notice p{margin:0}.list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.list li{background:var(--paper);border:1px solid var(--green-100);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.list li.stack{flex-direction:column;align-items:stretch;gap:8px}.list li a{flex-direction:column;flex:1;gap:2px;min-width:0;text-decoration:none;display:flex}.row{overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:12px;display:flex}.tag{white-space:nowrap;border:1px solid var(--green-100);border-radius:999px;padding:4px 10px;font-size:.75rem}.tag.active{background:var(--green-100);color:var(--green-800)}.tag.used,.tag.expired{background:var(--cream);color:var(--muted)}.tag.revoked{background:var(--paper);border-color:var(--red);color:var(--red)}.event>summary{cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;list-style:none;display:grid}.event>summary::-webkit-details-marker{display:none}.event>summary>*{overflow-wrap:anywhere;grid-column:1;min-width:0}.event>summary:after{content:"Ver más";border:1px solid var(--green-800);color:var(--green-800);white-space:nowrap;border-radius:999px;grid-area:1/2/span 2;padding:8px 12px;font-size:.8125rem;font-weight:600}.event[open]>summary:after{content:"Ocultar"}.edit>summary{width:auto;color:var(--muted);cursor:pointer;padding:8px 0;font-size:.875rem;text-decoration:underline;list-style:none}.edit>summary::-webkit-details-marker{display:none}.edit>form{margin-top:8px}.check{align-items:center;gap:8px;font-size:1rem;display:flex}.check input{width:20px;height:20px}form.row>select{flex:1}form.row>button{width:auto}.event>summary>.guest{color:var(--ink);font-size:1rem}div.event{flex-direction:column;gap:2px;display:flex}.event .who{background:0 0;border:0;margin-top:12px;padding:0}.event .who dd{font-size:1rem}.stats{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.stats div{background:var(--paper);border:1px solid var(--green-100);border-radius:var(--radius);flex-direction:column;align-items:center;padding:10px 4px;display:flex}.stats.two{grid-template-columns:repeat(2,1fr)}.stats a{background:var(--paper);border:1px solid var(--green-100);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;padding:10px 4px;text-decoration:none;display:flex}.stats strong{color:var(--green-800);font-size:1.5rem}.tabs{flex-wrap:wrap;gap:8px;display:flex}.tabs a{border:1px solid var(--green-800);color:var(--green-800);border-radius:999px;padding:8px 14px;font-size:.9375rem;font-weight:600;text-decoration:none}.tabs a[aria-current=page]{background:var(--green-800);color:var(--paper)}.sessionbar{text-align:left;flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.sessionbar small{overflow-wrap:anywhere;min-width:0}.sessionbar button{flex-shrink:0;width:auto;padding:10px 16px;font-size:.9375rem}.invite{text-align:center}.guest{color:var(--green-900);font-size:1.5rem;font-weight:700}.qr{background:var(--paper);border:1px solid var(--green-100);border-radius:var(--radius);padding:12px}.qr svg{width:100%;height:auto;display:block}.code{letter-spacing:.08em;margin:.25rem 0 0;font-size:1.25rem}.code strong{font-variant-numeric:tabular-nums}.share{flex-direction:column;gap:12px;margin-top:8px;display:flex}.share details{text-align:left}.share details>*{margin-top:12px}.share summary{color:var(--muted);cursor:pointer;margin-top:0;font-size:.875rem}.result{border-radius:var(--radius);text-align:center;color:var(--paper);flex-direction:column;align-items:center;gap:8px;padding:48px 16px;display:flex}.result strong{letter-spacing:.02em;font-size:3rem}.result span{font-size:1.25rem}.who{background:var(--paper);border:1px solid var(--green-100);border-radius:var(--radius);grid-template-columns:auto 1fr;gap:8px 16px;margin:0;padding:16px;display:grid}.who dt{color:var(--muted);font-size:.875rem}.who dd{overflow-wrap:anywhere;margin:0;font-size:1.125rem}.allow{background:var(--green-700)}.deny{background:var(--red)}.result.pending{background:var(--gold-light);color:var(--ink)}.ptr-indicator{background:var(--green-950);color:var(--gold-light);letter-spacing:.04em;text-transform:uppercase;justify-content:center;align-items:flex-end;padding-bottom:6px;font-size:.75rem;font-weight:600;transition:opacity .12s;display:flex;overflow:hidden}
