:root{--green:#15803d;--green-dark:#14532d;--yellow:#eab308;--orange:#ea580c;--blue:#2563eb;--red:#dc2626;--grey:#6b7280;--bg:#fff;--fg:#111827;--muted:#6b7280;--line:#e5e7eb;--panel:#f3f4f6;--radius:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--fg);background:var(--bg);-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-height:100dvh;margin:0}h1{margin:.4em 0;font-size:1.6rem}h2{margin:1.2em 0 .4em;font-size:1.15rem}a{color:var(--green-dark)}button,input,select{font:inherit}button{border-radius:var(--radius);min-height:44px;color:var(--fg);cursor:pointer;background:#fff;border:1px solid #d1d5db;padding:.5em 1em}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--green);border-color:var(--green);color:#fff;font-weight:600}button.danger{color:var(--red);border-color:#fecaca}button.big{width:100%;min-height:56px;font-size:1.15rem}button.chip{min-height:36px;padding:.25em .75em;font-size:.9rem}button.chip.active{border-color:var(--green);background:#dcfce7}button.link{min-height:0;color:var(--green-dark);background:0 0;border:none;padding:0;text-decoration:underline}button .small{font-weight:400}input,select{border-radius:var(--radius);background:#fff;border:1px solid #d1d5db;width:100%;min-height:44px;padding:.4em .7em}.topnav{padding:.4rem .6rem;padding-top:max(.4rem, env(safe-area-inset-top));background:var(--green-dark);gap:.25rem;display:flex;overflow-x:auto}.topnav a{color:#fff;white-space:nowrap;border-radius:999px;padding:.35rem .7rem;font-size:.95rem;text-decoration:none}.topnav a.active{background:#fff3}.page{max-width:560px;margin:0 auto;padding:.5rem 1rem 3rem}.page.wide{max-width:1100px}.lead{color:var(--muted);margin-top:0;font-size:1.1rem}.muted{color:var(--muted)}.small{font-size:.85rem}.mono{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.error{color:var(--red);font-weight:500}.stack{flex-direction:column;gap:.6rem;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0;display:flex}.field{flex-direction:column;gap:.25rem;font-size:.9rem;display:flex}.toggle{align-items:center;gap:.4rem;font-size:1rem;display:inline-flex}.toggle input{width:22px;min-height:22px}.notice{border-radius:var(--radius);background:#ecfdf5;border:1px solid #a7f3d0;margin:.75rem 0;padding:.7rem .9rem}.notice.warn{background:#fffbeb;border-color:#fde68a}.menu{flex-direction:column;gap:.6rem;margin:1rem 0;display:flex}.menu-item{border:1px solid var(--line);border-radius:var(--radius);color:var(--fg);flex-direction:column;padding:.9rem 1rem;text-decoration:none;display:flex}.menu-item span{color:var(--muted);font-size:.9rem}.list{margin:.5rem 0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--line);align-items:center;gap:.6rem;padding:.5rem 0;display:flex}.list li>span:first-child{flex:1}.list li.undone{opacity:.5;text-decoration:line-through}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:.35rem .4rem}.qr-button{background:#fff;flex-direction:column;align-items:center;width:100%;padding:.75rem;display:flex}.qr{width:min(80vw,60dvh,360px);height:auto;display:block}.tag-code{letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.6rem;font-weight:600}.tag-code.small{font-size:1rem}.qr-full{z-index:10;color:#000;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex;position:fixed;inset:0}.qr-full .qr{width:min(92vw,80dvh)}.recovery-code{text-align:center;border:2px dashed var(--green);border-radius:var(--radius);-webkit-user-select:all;user-select:all;margin:1rem 0;padding:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.8rem}.card{text-align:center;border:1px solid var(--line);border-radius:var(--radius);margin:1rem 0;padding:1.5rem 1rem}.avatar{object-fit:cover;border-radius:50%;width:96px;height:96px}.checkin{max-width:560px;margin:0 auto;padding:0 .75rem 3rem}.checkin-head{justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 0;font-size:1.1rem;display:flex}.scanner{border-radius:var(--radius);aspect-ratio:4/3;background:#000;width:100%;max-height:45dvh;position:relative;overflow:hidden}.scanner video{object-fit:cover;width:100%;height:100%;display:block}.scanner-error{text-align:center;color:#fff;justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0}.scanner-hud{justify-content:space-between;align-items:center;display:flex;position:absolute;bottom:.5rem;left:.5rem;right:.5rem}.scanner-engine{color:#ffffffb3;font-size:.75rem}.result{border-radius:var(--radius);color:#fff;margin:.6rem 0;padding:.9rem 1rem;animation:.15s ease-out pop;position:relative}.result-title{font-size:1.6rem;font-weight:700;line-height:1.2}.result-detail{margin-top:.2rem;font-size:1.05rem}.result-action{margin-top:.6rem}.result-action button{color:var(--fg);background:#fff;border:none}.result-ms{opacity:.8;font-size:.75rem;position:absolute;top:.5rem;right:.7rem}.result.green{background:var(--green)}.result.yellow{background:var(--yellow);color:#111}.result.orange{background:var(--orange)}.result.blue{background:var(--blue)}.result.red{background:var(--red)}.result.grey{background:var(--grey)}@keyframes pop{0%{opacity:.4;transform:scale(.97)}to{opacity:1;transform:none}}.toolbar{grid-template-columns:repeat(3,1fr);gap:.4rem;margin:.6rem 0;display:grid}.toolbar button{padding:.4em .3em;font-size:.9rem}.panel{background:var(--panel);border-radius:var(--radius);margin:.6rem 0;padding:.75rem}.small-heading{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.95rem}.sync{border-radius:var(--radius);margin:.5rem 0;padding:.5rem .75rem;font-size:.9rem}.sync.compact{text-align:right;margin:0;padding:.25rem .6rem;font-size:.8rem}.sync.ok{color:#14532d;background:#dcfce7}.sync.warn{color:#78350f;background:#fef3c7}.sync.bad{color:#7f1d1d;background:#fee2e2}.tag-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin:1rem 0;display:grid}.tag-card{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:110px 1fr;gap:.75rem;padding:.75rem;display:grid}.tag-preview svg{width:100%;height:auto}.form-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));align-items:end;gap:.6rem;display:grid}.print-sheet{padding:1rem}.sheet{flex-wrap:wrap;gap:6mm;display:flex}.sheet figure{break-inside:avoid;margin:0}.sheet figcaption{text-align:center;font-size:8pt}@media print{.no-print,.topnav{display:none!important}.print-sheet{padding:0}}
