:root{--text:#4b5563;--text-h:#0b1220;--bg:#fff;--border:#e5e7eb;--muted:#6b7280;--accent:#2563eb;--ok-bg:#ecfdf5;--ok-border:#a7f3d0;--ok-text:#065f46;--err-bg:#fef2f2;--err-border:#fecaca;--err-text:#991b1b;--pending-bg:#f3f4f6;--pending-border:#e5e7eb;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:17px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#9ca3af;--text-h:#f3f4f6;--bg:#0f1115;--border:#2a2e37;--muted:#9ca3af;--accent:#60a5fa;--ok-bg:#10b9811f;--ok-border:#10b98166;--ok-text:#6ee7b7;--err-bg:#ef44441f;--err-border:#ef444466;--err-text:#fca5a5;--pending-bg:#94a3b81f;--pending-border:#2a2e37}}body{margin:0}h1,h2{color:var(--text-h);margin:0;font-weight:600}h1{letter-spacing:-.5px;font-size:40px}h2{color:var(--muted);font-size:20px;font-weight:500}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.page{text-align:center;flex-direction:column;gap:16px;max-width:560px;margin:0 auto;padding:64px 24px;display:flex}.muted{color:var(--muted)}.links{margin-top:8px}.banner{border:1px solid var(--pending-border);background:var(--pending-bg);font-size:15px;font-family:var(--mono);border-radius:8px;padding:10px 14px}.banner--ok{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok-text)}.banner--err{background:var(--err-bg);border-color:var(--err-border);color:var(--err-text)}.form{text-align:left;flex-direction:column;gap:14px;width:100%;max-width:360px;margin:8px auto 0;display:flex}.form label{color:var(--muted);flex-direction:column;gap:6px;font-size:14px;display:flex}.form input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;padding:10px 12px}.form input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--bg) inset;box-shadow:0 0 0 1000px var(--bg) inset;-webkit-text-fill-color:var(--text-h);caret-color:var(--text-h)}input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--bg) inset;box-shadow:0 0 0 1000px var(--bg) inset;-webkit-text-fill-color:var(--text-h);caret-color:var(--text-h)}input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--bg) inset;box-shadow:0 0 0 1000px var(--bg) inset;-webkit-text-fill-color:var(--text-h);caret-color:var(--text-h)}input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px var(--bg) inset;box-shadow:0 0 0 1000px var(--bg) inset;-webkit-text-fill-color:var(--text-h);caret-color:var(--text-h)}.family{border-top:1px solid var(--border);flex-direction:column;gap:12px;padding-top:14px;display:flex}.family-head{margin:0;font-size:13px}.family-row{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.family-row-head{justify-content:space-between;align-items:baseline;display:flex}.family-row-title{color:var(--text-h);font-size:13px;font-weight:600}.add-person{border-style:dashed;align-self:flex-start}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;padding:10px 16px;font-weight:500}button:disabled{opacity:.6;cursor:default}button.secondary{color:var(--accent);background:0 0}.actions{justify-content:center;align-items:center;gap:16px;display:flex}.error{color:var(--err-text);background:var(--err-bg);border:1px solid var(--err-border);border-radius:8px;padding:8px 12px;font-size:14px}.big{color:var(--text-h);font-size:22px;font-weight:600}.status-icon{font-size:56px;line-height:1}.spinner{border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:44px;height:44px;margin:8px auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.admin{flex-direction:column;min-height:100svh;display:flex}.admin-header{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:24px;padding:12px 20px;display:flex}.admin-brand{color:var(--text-h);align-items:center;gap:10px;font-weight:600;display:flex}.org-switcher{max-width:190px;padding:2px 6px;font-size:.85rem}.role-badge{border:1px solid var(--border);text-transform:capitalize;letter-spacing:.02em;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:.72rem}.admin-nav{gap:4px;display:flex}.admin-nav a{color:var(--text);border-radius:8px;padding:6px 12px}.admin-nav a:hover{background:var(--pending-bg);text-decoration:none}.admin-nav a.active{background:var(--accent-bg,#2563eb1f);color:var(--accent)}.admin-user{align-items:center;gap:12px;margin-left:auto;display:flex}.admin-main{box-sizing:border-box;width:100%;max-width:1000px;margin:0 auto;padding:24px 20px}.admin-main h1{margin-bottom:16px;font-size:26px}.admin-main h2{color:var(--text-h);margin-bottom:12px;font-size:16px}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.toolbar .grow{margin-left:auto}.field{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.field input,.field select{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;padding:8px 10px}.btn-sm{padding:6px 12px;font-size:13px}.table-wrap{border:1px solid var(--border);border-radius:10px;overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:14px}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px}table.data th{color:var(--muted);background:var(--pending-bg);font-weight:500}table.data tr:last-child td{border-bottom:none}td.actions-cell{text-align:right}.empty{text-align:center;color:var(--muted);padding:40px}.pill{background:var(--pending-bg);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:12px}.notice{background:var(--ok-bg);color:var(--ok-text);border:1px solid var(--ok-border);border-radius:8px;margin-bottom:12px;padding:8px 12px;font-size:14px}.config-form{flex-direction:column;align-items:flex-start;gap:20px;max-width:640px;display:flex}.card{border:1px solid var(--border);box-sizing:border-box;border-radius:10px;width:100%;padding:16px}.grid2{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=560px){.grid2{grid-template-columns:1fr}}.status-cards{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;display:grid}@media (width<=560px){.status-cards{grid-template-columns:1fr}}.status-card{border:1px solid var(--border);border-radius:10px;padding:16px}.status-card .status-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px}.status-card .status-value{color:var(--text-h);margin:4px 0;font-size:22px;font-weight:600}.status-card.ok .status-value{color:var(--ok-text)}.status-card.bad .status-value{color:var(--err-text)}.small{font-size:13px}.pill-printed{background:var(--ok-bg);color:var(--ok-text)}.pill-failed{background:var(--err-bg);color:var(--err-text)}.pill-printing{background:var(--accent-bg,#2563eb1f);color:var(--accent)}.pill-queued{background:var(--pending-bg);color:var(--muted)}.pill-google-sent{background:var(--ok-bg);color:var(--ok-text)}.pill-google-failed{background:var(--err-bg);color:var(--err-text)}.pill-google-pending,.pill-google-skipped{background:var(--pending-bg);color:var(--muted)}.segment{gap:8px;display:flex}.seg{border:1px solid var(--border);background:var(--bg);color:var(--text-h);cursor:pointer;border-radius:8px;flex:1;padding:12px;font-weight:500}.seg.active{background:var(--accent);color:#fff;border-color:var(--accent)}.choice{flex-direction:column;gap:16px;width:100%;max-width:360px;margin:12px auto 0;display:flex}.choice-btn{border-radius:12px;padding:28px 16px;font-size:22px;font-weight:600}.check{color:var(--text-h);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.check input{width:auto}.selfie-frame{aspect-ratio:3/4;background:#000;border-radius:12px;width:100%;max-width:320px;margin:8px auto;overflow:hidden}.selfie-frame video,.selfie-frame img{object-fit:cover;width:100%;height:100%;display:block}.selfie-frame video{transform:scaleX(-1)}.section-head{justify-content:space-between;align-items:center;gap:12px;margin:8px 0 12px;display:flex}.printer-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.printer-card-head{justify-content:flex-end;margin-bottom:4px;display:flex}.printer-card-foot{align-items:center;gap:12px;margin-top:12px;display:flex}.header-graphic{margin-top:16px}.field-label{color:var(--muted);margin-bottom:6px;font-size:13px;display:block}.header-graphic-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.header-preview{border:1px dashed var(--border);background:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:140px;height:64px;padding:6px 10px;display:flex}.header-preview img{object-fit:contain;max-width:220px;max-height:52px}.header-actions{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.header-buttons{gap:8px;display:flex}.party-roster{margin-top:2px;font-size:12px}.qr-box{border:1px solid var(--border);background:#fff;border-radius:10px;margin:16px 0;padding:16px;line-height:0;display:inline-block}.token-secret{border:1px solid var(--border);overflow-wrap:anywhere;white-space:pre-wrap;-webkit-user-select:all;user-select:all;border-radius:6px;margin:8px 0;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.linklike{font:inherit;color:var(--link,#2563eb);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.linklike:disabled{color:var(--muted);cursor:default}.printer-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin:16px 0 0;display:flex}.printer-tab{border:1px solid var(--border);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-bottom:none;border-radius:6px 6px 0 0;align-items:center;gap:7px;margin-bottom:-1px;padding:8px 14px;font-size:.9rem;display:inline-flex}.printer-tab:hover{color:var(--text-h)}.printer-tab.active{color:var(--text-h);border-bottom:1px solid var(--bg);font-weight:600}.tab-dot{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px}.tab-dot.ok{background:var(--ok-text)}.tab-dot.bad{background:var(--err-text)}.printer-tab-panel{padding-top:16px}.printer-summary{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.printer-summary-name{color:var(--text-h);font-size:1.15rem;font-weight:600}.printer-summary-actions{flex-wrap:wrap;gap:8px;display:flex}.badge-design{flex-wrap:wrap;align-items:flex-start;gap:28px;display:flex}.badge-controls{flex-direction:column;flex:1;gap:12px;min-width:300px;display:flex}.field-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.field-label{width:60px;color:var(--muted);flex:none;font-size:.9rem}.field-row .grow{flex:1;min-width:140px}.badge-preview{aspect-ratio:86/60;border:1px solid var(--border);color:#111;box-sizing:border-box;background:#fff;border-radius:4px;flex-direction:column;justify-content:space-between;align-items:center;width:320px;padding:6% 8%;display:flex;overflow:hidden}.badge-preview-header{letter-spacing:.06em;text-align:center;justify-content:center;align-items:center;min-height:1.2em;font-size:.8rem;font-weight:700;display:flex}.badge-preview-header img{object-fit:contain;max-width:100%;max-height:42px}.badge-preview-name{flex-direction:column;align-items:center;line-height:1.05;display:flex}.badge-preview-name strong{font-size:2.1rem;font-weight:800}.badge-preview-name span{font-size:1.15rem}.badge-preview-footer{color:#444;min-height:1em;font-size:.72rem}.modal-backdrop{z-index:50;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--bg);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:12px;width:100%;max-width:420px;padding:20px;display:flex}.modal h2{margin:0}.modal-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.admin-footer{color:var(--muted);border-top:1px solid var(--border);margin-top:32px;padding:18px 24px;font-size:.8rem}.add-by-hand{border-top:1px solid var(--border);margin-top:32px;padding-top:16px}.printer-qr{flex-wrap:wrap;align-items:flex-start;gap:28px;display:flex}.qr-canvas{border:1px solid var(--border);box-sizing:border-box;background:#fff;border-radius:4px;width:180px;height:180px;padding:6px}.printer-qr-side{flex-direction:column;flex:1;gap:10px;min-width:280px;max-width:420px;display:flex}.printer-qr-actions{flex-wrap:wrap;gap:8px;display:flex}.provision-intro p{max-width:52ch;margin:8px 0 0}.provision{border:1px solid var(--border);border-radius:10px;max-width:62ch;padding:20px}.provision-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.provision .field{margin-bottom:14px}.provision .error{margin-bottom:16px}.provision-progress{color:var(--muted);flex-wrap:wrap;gap:6px;margin:0 0 20px;padding:0;font-size:12px;list-style:none;display:flex}.provision-progress li{border:1px solid var(--border);border-radius:999px;padding:3px 10px}.provision-progress li.past{color:var(--ok-text);background:var(--ok-bg);border-color:var(--ok-border)}.provision-progress li.now{color:var(--bg);background:var(--accent);border-color:var(--accent);font-weight:500}.provision-step h3{color:var(--text-h);margin:0 0 10px;font-size:16px}.provision-step p,.provision-step ol,.provision-step ul{margin:0 0 12px}.provision-step>button{margin-top:4px}.provision-step .data{margin:12px 0}.provision-keys{font-family:var(--mono);padding-left:22px;font-size:13px;line-height:1.7}.warn{border-left:3px solid var(--err-border);background:var(--err-bg);color:var(--err-text);border-radius:0 8px 8px 0;padding:8px 12px;font-size:14px}.provision-waiting{color:var(--text-h);align-items:center;gap:10px;font-weight:500;display:flex}.provision-waiting .spinner{border-width:2px;flex:none;width:16px;height:16px;margin:0}.provision-facts{grid-template-columns:max-content 1fr;gap:4px 16px;margin:0 0 14px;font-size:14px;display:grid}.provision-facts dt{color:var(--muted)}.provision-facts dd{margin:0}.provision-log{border-top:1px solid var(--border);margin-top:20px;padding-top:14px}.provision-log pre{background:var(--pending-bg);white-space:pre-wrap;border-radius:8px;max-height:320px;margin:10px 0 0;padding:12px;font-size:12px;line-height:1.5;overflow-y:auto}.subform{border:1px solid var(--border);border-radius:8px;min-width:0;margin:0 0 14px;padding:14px 16px 4px}.subform legend{color:var(--text-h);padding:0 6px;font-size:13px;font-weight:500}.subform .field:last-of-type{margin-bottom:10px}.provision-rule{border:none;border-top:1px solid var(--border);margin:32px 0}.linkish{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.linkish:hover{opacity:.8}.network-list{margin:0 0 14px;padding:0;font-size:14px;list-style:none}.network-list li+li{margin-top:2px}.network-list label{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.network-list label:hover{background:var(--pending-bg)}.network-list input{flex:none;margin:0}.prose{max-width:62ch}.prose p{margin:0 0 12px}.prose p:last-child{margin-bottom:0}.subtabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin:16px 0 0;display:flex}.subtab{border:1px solid var(--border);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-bottom:none;border-radius:6px 6px 0 0;margin-bottom:-1px;padding:8px 14px;font-size:.9rem}.subtab:hover{color:var(--text-h)}.subtab.active{color:var(--text-h);border-bottom:1px solid var(--bg);font-weight:600}.subtab-panel{padding-top:20px}.subtab-panel>.muted.small:first-child{max-width:68ch;margin-top:0;margin-bottom:16px}.manual-address{border:1px solid var(--border);border-radius:8px;max-width:46ch;margin-top:16px;padding:14px 16px}.manual-address .field{margin-bottom:12px}.page{text-align:left;max-width:68ch;margin:0 auto;padding:48px 24px 64px;line-height:1.6}.page h1,.page-head{text-align:left}.page h1{margin:0 0 8px}.page h2{color:var(--text-h);margin:32px 0 10px;font-size:1.15rem}.page p,.page ul{margin:0 0 14px}.page ul{padding-left:22px}.page li{margin-bottom:6px}.page code{font-size:.9em}.page-head .lede{color:var(--text-h);margin-bottom:8px;font-size:1.15rem}.page-foot{border-top:1px solid var(--border);margin-top:44px;padding-top:18px;font-size:14px}.page-foot p{margin:0 0 6px}.legal section{margin-bottom:26px}
