:root{--brand-orange: #e85002;--brand-black: #000000;--brand-white: #f9f9f9;--brand-gray: #646464;--brand-dark-gray: #333333;--brand-blue: #09198d;--gradient-1: #000000;--gradient-2: #c10801;--gradient-3: #f16001;--gradient-4: #d9c3ab;--bg: var(--brand-black);--surface: #0b0b0b;--surface-raised: #141414;--surface-soft: #202020;--border: rgba(249, 249, 249, .12);--border-strong: rgba(232, 80, 2, .8);--text: var(--brand-white);--muted: #c3c3c3;--muted-strong: #e7e7e7;--danger: #ff6a4d;--success: #5fd98b;--focus-ring: rgba(232, 80, 2, .28);color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{background:var(--bg)}body{background:linear-gradient(180deg,rgba(9,25,141,.2),transparent 360px),var(--bg);margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}h1,h2,p{margin-top:0}h1{color:var(--text);font-size:clamp(2rem,4vw,3.3rem);line-height:1;margin-bottom:0}h2{color:var(--text);font-size:1.05rem;line-height:1.2;margin-bottom:0}input,select,textarea{background:var(--surface-soft);border:1px solid var(--border);border-radius:6px;color:var(--text);min-height:42px;padding:10px 12px;width:100%}textarea{min-height:210px;resize:vertical}input::placeholder{color:#949494}input:disabled,select:disabled,textarea:disabled{color:#9f9f9f;cursor:not-allowed;opacity:.76}select{color-scheme:dark}select option{background:var(--surface);color:var(--text)}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{border-color:var(--border-strong);outline:3px solid var(--focus-ring);outline-offset:1px}.brand-mark{align-items:center;display:inline-flex;gap:14px;min-width:0}.brand-symbol{display:block;flex:0 0 auto;height:44px;object-fit:contain;width:44px}.brand-mark.compact .brand-symbol{height:34px;width:34px}.brand-copy{display:grid;gap:2px;min-width:0}.brand-name{color:var(--brand-white);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.6rem,3vw,2.15rem);line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-name span{font-size:.72em}.brand-mark.compact .brand-name{font-size:1.45rem}.brand-subtitle{color:var(--muted);font-size:.78rem;font-weight:700}.eyebrow{color:var(--brand-orange);font-size:.76rem;font-weight:900;letter-spacing:0;margin:0 0 5px;text-transform:uppercase}.btn,.icon-btn{align-items:center;border:1px solid transparent;border-radius:6px;display:inline-flex;font-weight:850;gap:8px;justify-content:center;line-height:1;min-height:40px;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.btn{padding:0 14px}.icon-btn{height:40px;min-width:40px;padding:0}.btn:hover,.icon-btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--brand-orange);color:#180700}.btn-primary:hover{background:#ff6a10}.btn-secondary{background:var(--surface-soft);border-color:var(--border);color:var(--text)}.btn-secondary:hover{border-color:#e8500273;color:var(--brand-white)}.btn-ghost{background:#f9f9f90f;border-color:#f9f9f914;color:var(--text)}.btn-ghost:hover{background:#f9f9f91a;border-color:#f9f9f929}.btn-danger{background:#ff6a4d1a;border-color:#ff6a4d2e;color:var(--danger)}.btn-danger:hover{background:#ff6a4d2e}.btn:disabled,.icon-btn:disabled{opacity:.55;transform:none}.notice{align-items:flex-start;border:1px solid;border-radius:8px;display:flex;font-weight:750;gap:10px;margin:0;padding:12px 14px}.notice.compact{padding:10px 12px}.notice-error{background:#ff6a4d1f;border-color:#ff6a4d52;color:#ffd6cd}.notice-success{background:#5fd98b1c;border-color:#5fd98b4d;color:#c8ffd9}.auth-shell,.public-shell{align-items:stretch;display:grid;min-height:100vh;padding:28px}.auth-shell{background:linear-gradient(125deg,#0003,#c1080140,#f1600133,#09198d38),var(--brand-black);gap:22px;grid-template-columns:minmax(0,1fr) minmax(320px,420px)}.auth-hero,.auth-panel,.panel,.data-panel,.public-panel{background:#0b0b0be0;border:1px solid var(--border);border-radius:8px;box-shadow:0 24px 70px #0000006b}.auth-hero{align-content:space-between;display:grid;min-height:calc(100vh - 56px);overflow:hidden;padding:30px;position:relative}.auth-hero:after{background:linear-gradient(90deg,var(--gradient-1),var(--gradient-2),var(--gradient-3),var(--gradient-4));bottom:0;content:"";height:8px;left:0;position:absolute;right:0}.hero-copy{color:var(--muted);font-size:clamp(1rem,2vw,1.22rem);line-height:1.6;margin:16px 0 0;max-width:620px}.auth-panel{align-self:center;display:grid;gap:18px;padding:28px;width:100%}.panel-heading{display:grid;gap:3px}.field{color:var(--muted-strong);display:grid;font-size:.88rem;font-weight:800;gap:8px}.input-shell{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:6px;color:var(--muted);display:flex;gap:10px;min-height:44px;padding:0 12px}.input-shell:focus-within{border-color:var(--border-strong);outline:3px solid var(--focus-ring)}.input-shell input{background:transparent;border:0;min-height:0;outline:0;padding:0}.app-shell{margin:0 auto;max-width:1480px;min-height:100vh;padding:24px}.topbar{align-items:center;background:#0b0b0beb;border:1px solid var(--border);border-radius:8px;display:flex;gap:16px;justify-content:space-between;padding:14px 16px}.topbar-actions{align-items:center;display:flex;gap:10px}.admin-chip{background:#f9f9f912;border:1px solid var(--border);border-radius:6px;color:var(--muted-strong);font-weight:800;min-height:36px;padding:8px 11px}.dashboard-hero{align-items:end;background:linear-gradient(100deg,#000000d1,#c1080142,#f160012e),var(--surface);border:1px solid var(--border);border-radius:8px;display:flex;justify-content:space-between;margin:18px 0;min-height:134px;overflow:hidden;padding:22px}.hero-actions{align-items:center;display:flex;gap:10px}.view-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:-4px 0 16px}.stats-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:14px}.summary-context{color:var(--muted);font-size:.86rem;font-weight:800;margin:0 0 10px}.stat-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:8px;display:grid;gap:8px;min-height:86px;padding:15px}.stat-card span{color:var(--muted);font-size:.82rem;font-weight:800}.stat-card strong{color:var(--text);font-size:1.75rem;line-height:1}.message-stack{display:grid;gap:10px;margin-bottom:14px}.message-stack.compact{margin-bottom:0;width:min(100%,520px)}.workspace-grid{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 370px}.participation-workspace{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 390px}.main-column{min-width:0}.side-column{display:grid;gap:18px}.purchase-mode-tabs{background:var(--surface-raised);border:1px solid var(--border);border-radius:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr;padding:8px}.purchase-mode-tabs .btn{justify-content:center}.sheet-sync-help{line-height:1.5;margin:-4px 0 2px}.sheet-sync-status{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;display:grid;gap:10px;padding:12px}.sheet-sync-status-heading{align-items:baseline;display:flex;flex-wrap:wrap;gap:5px 10px;justify-content:space-between}.sheet-sync-status-heading small{color:var(--muted)}.sheet-sync-counts{display:grid;gap:6px;grid-template-columns:1fr 1fr}.sheet-sync-counts span{color:var(--muted-strong);font-size:.78rem;font-weight:800}.sheet-sync-actions .btn-primary{flex:1 1 100%}.toolbar{align-items:center;background:var(--surface-raised);border:1px solid var(--border);border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(220px,1fr) 150px 112px 170px auto;margin-bottom:12px;padding:10px}.search-box{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:6px;color:var(--muted);display:flex;gap:8px;min-height:42px;padding:0 12px}.search-box:focus-within{border-color:var(--border-strong);outline:3px solid var(--focus-ring)}.search-box input{background:transparent;border:0;min-height:0;min-width:0;outline:0;padding:0}.toolbar-actions{display:flex;gap:8px}.data-panel{overflow:hidden}.table-scroll{overflow-x:auto}table{border-collapse:collapse;min-width:900px;width:100%}.data-panel input[type=checkbox]{height:18px;min-height:18px;padding:0;width:18px}th,td{border-bottom:1px solid rgba(249,249,249,.08);color:var(--text);padding:15px 16px;text-align:left;vertical-align:middle}th{background:#050505;color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase}tbody tr{background:#0b0b0bf0}tbody tr:hover{background:#111}tr:last-child td{border-bottom:0}.person-cell{align-items:center;display:flex;gap:11px;min-width:210px}.person-cell span:last-child{display:grid;gap:3px;min-width:0}.person-cell strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-cell small,.muted{color:var(--muted);font-size:.84rem}.person-cell .sheet-managed-badge{color:#b8c0ff;font-size:.7rem;font-weight:900;letter-spacing:.02em;text-transform:uppercase}.phone-contact-wrap{align-items:flex-start;display:inline-grid;gap:6px;justify-items:start}.phone-contact-button{background:transparent;border:0;color:var(--muted);font-size:.84rem;line-height:1.25;padding:0;text-align:left}.phone-contact-button:hover{color:var(--brand-white);text-decoration:underline}.phone-contact-menu{background:var(--surface-soft);border:1px solid var(--border);border-radius:6px;display:inline-flex;gap:6px;padding:5px}.phone-contact-menu a{align-items:center;border-radius:5px;color:var(--muted-strong);display:inline-flex;font-size:.78rem;font-weight:850;gap:5px;min-height:30px;padding:0 8px;white-space:nowrap}.phone-contact-menu a:hover{background:#f9f9f917;color:var(--brand-white)}.avatar{align-items:center;background:linear-gradient(135deg,var(--brand-orange),var(--brand-blue));border-radius:8px;color:var(--brand-white);display:inline-flex;flex:0 0 auto;font-size:.78rem;font-weight:900;height:34px;justify-content:center;width:34px}.status-pill,.customer-type-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:900;gap:6px;padding:6px 9px;white-space:nowrap}.status-pill.fully_paid{background:var(--brand-orange);color:#180700}.status-pill.not_fully_paid{background:#f9f9f917;color:#f2d0bd}.customer-type-badge.vip{background:#09198dc7;color:var(--brand-white)}.customer-type-badge.invited{background:#c10801;color:var(--brand-white)}.action-cluster{align-items:center;display:flex;gap:7px}.action-cluster.end{justify-content:flex-end}.form-status-box{align-items:center;border:1px solid;border-radius:6px;display:inline-flex;height:22px;justify-content:center;width:22px}.form-status-box.complete{background:#5fd98b1f;border-color:var(--success);color:var(--success)}.form-status-box.incomplete{background:#ff6a4d1f;border-color:var(--danger);color:var(--danger)}.empty-state{color:var(--muted);padding:42px 16px;text-align:center}.empty-state strong,.empty-state span{display:block}.empty-state strong{color:var(--text);margin-bottom:5px}.table-footer{align-items:center;background:#050505;border-top:1px solid rgba(249,249,249,.08);color:var(--muted);display:flex;font-size:.84rem;font-weight:800;gap:14px;justify-content:space-between;padding:12px 16px}.check-in-export-counts{display:flex;gap:14px}.pagination,.pagination-pages{align-items:center;display:flex;gap:6px}.pagination-button{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:6px;color:var(--muted-strong);display:inline-flex;font-size:.78rem;font-weight:900;height:34px;justify-content:center;min-width:34px;padding:0 9px}.pagination-button:hover:not(:disabled){border-color:#e8500273;color:var(--text)}.pagination-button.current{background:var(--brand-orange);border-color:var(--brand-orange);color:#180700}.pagination-button:disabled{cursor:not-allowed;opacity:.45}.pagination-direction{min-width:74px}.pagination-ellipsis{color:var(--muted);min-width:18px;text-align:center}.block-note{color:var(--muted);display:block;font-size:.78rem;font-weight:800;margin-top:5px}.entry-cell{align-items:flex-start;display:grid;gap:6px;justify-items:start}.entry-scan-history{display:grid;gap:4px}.entry-scan-history .block-note{margin-top:0}.code-chip{background:#f9f9f914;border:1px solid var(--border);border-radius:6px;color:var(--muted-strong);direction:ltr;display:inline-flex;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.82rem;font-weight:900;padding:6px 8px;white-space:nowrap}.purchase-details-row td{background:#080808;padding:0}.purchase-details-panel{display:grid;gap:14px;padding:16px}.purchase-details-heading,.purchase-details-actions,.post-create-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.purchase-details-heading{justify-content:space-between}.info-status{border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:900;padding:6px 10px}.info-status.submitted{background:#5fd98b29;color:#c8ffd9}.info-status.waiting{background:#f9f9f914;color:var(--muted-strong)}.info-status.reopened{background:#e8500229;color:#ffd9c4}.details-form-link{align-items:center;color:var(--muted-strong);display:inline-flex;font-size:.84rem;font-weight:850;gap:7px}.purchase-info-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.purchase-info-grid div{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;display:grid;gap:5px;min-width:0;padding:10px}.purchase-info-grid dt{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.purchase-info-grid dd{color:var(--text);font-weight:800;margin:0;overflow-wrap:anywhere}.panel{display:grid;gap:14px;padding:16px}.panel-title{align-items:center;display:flex;gap:10px}.panel-icon{align-items:center;background:#e8500224;border:1px solid rgba(232,80,2,.28);border-radius:8px;color:var(--brand-orange);display:inline-flex;height:38px;justify-content:center;width:38px}.panel-icon.blue{background:#09198d42;border-color:#09198d8a;color:#b8c0ff}.switch-field{align-items:center;color:var(--muted-strong);display:flex;font-size:.9rem;font-weight:850;gap:10px}.switch-field input{height:1px;opacity:0;position:absolute;width:1px}.switch-track{background:var(--brand-dark-gray);border:1px solid var(--border);border-radius:999px;display:inline-flex;height:24px;padding:2px;transition:background .16s ease;width:44px}.switch-track span{background:var(--brand-white);border-radius:999px;display:block;height:18px;transition:transform .16s ease;width:18px}.switch-field input:checked+.switch-track{background:var(--brand-orange)}.switch-field input:checked+.switch-track span{transform:translate(20px)}.switch-field input:disabled+.switch-track,.switch-field input:disabled~span:last-child{cursor:not-allowed;opacity:.62}.switch-field input:focus-visible+.switch-track{outline:3px solid var(--focus-ring)}.creation-status{align-items:center;background:linear-gradient(90deg,#e8500229,#09198d2e);border:1px solid rgba(232,80,2,.32);border-radius:8px;color:var(--muted-strong);display:flex;gap:11px;min-height:56px;padding:11px 12px}.creation-status svg{color:var(--brand-orange);flex:0 0 auto}.creation-status span{display:grid;gap:3px;min-width:0}.creation-status strong{color:var(--text);font-size:.9rem;line-height:1.2}.creation-status small{color:var(--muted);font-size:.78rem;font-weight:750}.button-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.inline-form{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) 88px 40px}.course-tabs{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.course-tabs .btn{min-width:0}.course-list{display:grid;gap:8px}.course-message-form{display:grid;gap:10px}.course-message-form label{display:grid;gap:6px}.course-message-form label>span{color:var(--muted-strong);font-size:.82rem;font-weight:800}.course-message-form textarea{min-height:260px;resize:vertical}.course-message-form .btn{justify-self:end}.course-template-preview{align-items:center;display:inline-flex;gap:7px;justify-self:start}.field-hint code{color:var(--text);font-weight:800}.form-success{color:var(--success);font-size:.84rem;font-weight:800;margin:0}.course-row{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto;min-height:48px;padding:7px 8px}.course-row span{color:var(--text);display:grid;font-weight:800;gap:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-row span small{color:var(--muted);font-size:.74rem;font-weight:750}.course-edit-fields{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) 88px}.template-upload-form{align-items:center;display:grid;gap:10px;grid-template-columns:minmax(170px,.7fr) minmax(220px,1fr) auto}.template-placeholder-grid{display:grid;gap:10px;grid-column:1 / -1;grid-template-columns:repeat(5,minmax(0,1fr))}.template-gallery-title{grid-template-columns:auto minmax(0,1fr) auto}.certificate-template-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.certificate-template-card{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;color:var(--text);display:grid;gap:10px;padding:10px;position:relative;text-align:left;transition:border-color .16s ease,transform .16s ease}.certificate-template-card:hover,.certificate-template-card:focus-within,.certificate-template-card.selected{border-color:#e85002ad;transform:translateY(-1px)}.template-card-select{background:transparent;border:0;color:inherit;display:grid;gap:10px;padding:0;text-align:left;width:100%}.template-card-select:focus-visible{outline:none}.template-delete-button{bottom:14px;position:absolute;right:14px}.template-preview-frame{align-items:center;aspect-ratio:1.414 / 1;background:#050505;border:1px solid rgba(249,249,249,.08);border-radius:6px;display:flex;justify-content:center;overflow:hidden;width:100%}.template-preview-frame img{display:block;height:100%;object-fit:contain;width:100%}.template-preview-frame embed{border:0;display:block;height:100%;pointer-events:none;width:100%}.template-card-copy{display:grid;gap:4px;min-width:0;padding-right:44px}.template-card-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-card-copy small{color:var(--muted);font-weight:800}.template-empty{border:1px dashed var(--border);border-radius:8px;grid-column:1 / -1}.table-name-template-list{display:grid;gap:10px}.table-name-template-row{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto;padding:8px;transition:border-color .16s ease,transform .16s ease}.table-name-template-row:hover,.table-name-template-row:focus-within,.table-name-template-row.selected{border-color:#e85002ad;transform:translateY(-1px)}.table-name-template-select{align-items:center;background:transparent;border:0;color:var(--text);display:flex;gap:11px;min-width:0;padding:6px;text-align:left}.table-name-template-select>svg{color:var(--brand-orange);flex:0 0 auto}.table-name-template-select span{display:grid;gap:4px;min-width:0}.table-name-template-select strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-name-template-select small,.table-name-format-help{color:var(--muted);font-size:.78rem;font-weight:750}.table-name-format-help{line-height:1.45;margin:-4px 0 0}.issue-form{display:grid;gap:12px}.generated-list{display:grid;gap:8px;max-height:420px;overflow:auto}.generated-download{margin-left:auto;white-space:nowrap}.generated-row{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;display:flex;gap:10px;justify-content:space-between;min-height:58px;padding:10px}.generated-row span{display:grid;gap:4px;min-width:0}.generated-row strong,.generated-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.generated-row small{color:var(--muted);direction:ltr;font-size:.78rem;font-weight:800}.empty-note{color:var(--muted);font-weight:800;margin:0}.public-shell{align-items:center;background:linear-gradient(135deg,#000000b3,#09198d3d),var(--brand-black);justify-content:center}.participation-lookup-shell{background:linear-gradient(150deg,#000000eb,#09198d47 48%,#e8500233),radial-gradient(circle at 50% 0%,rgba(249,249,249,.08),transparent 34%),var(--brand-black)}.public-panel{display:grid;justify-items:center;overflow:hidden;padding:28px;position:relative;width:min(100%,760px)}.public-panel:after{background:linear-gradient(90deg,var(--gradient-1),var(--gradient-2),var(--gradient-3),var(--gradient-4));bottom:0;content:"";height:8px;left:0;position:absolute;right:0}.certificate-panel{gap:34px;min-height:420px;text-align:center}.certificate-content{display:grid;gap:12px;justify-items:center}.certificate-content p{color:var(--muted);font-size:1.05rem;margin-bottom:0}.certificate-content h2{color:var(--brand-orange);font-size:clamp(1.8rem,4vw,2.7rem)}.certificate-content strong{color:var(--text)}.participation-lookup-panel,.participation-result-panel{gap:22px;text-align:center}.participation-lookup-panel{background:linear-gradient(180deg,rgba(249,249,249,.08),transparent 44%),#0b0b0be6;gap:24px;padding:34px;width:min(100%,680px)}.participation-lookup-panel:before{background:linear-gradient(90deg,#e85002db,#09198dbd);content:"";height:1px;left:34px;position:absolute;right:34px;top:0}.lookup-brand-lockup{background:#f9f9f90d;border:1px solid rgba(249,249,249,.1);border-radius:8px;padding:12px 14px}.lookup-copy{gap:8px}.lookup-copy h1{font-size:clamp(2rem,5vw,3rem)}.public-lookup-form{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) 128px;width:min(100%,590px)}.public-lookup-form .btn{min-height:48px}.public-lookup-field{color:var(--muted-strong);display:grid;font-size:.84rem;font-weight:850;gap:8px;text-align:left}.lookup-search-box{background:#202020f0;min-height:48px}.lookup-search-box input{font-size:1rem}.participation-certificate-image{background:#050505;border:1px solid var(--border);border-radius:8px;display:block;max-height:58vh;object-fit:contain;width:min(100%,980px)}.participation-certificate-preview{background:var(--brand-white);border:1px solid var(--border);border-radius:8px;display:block;min-width:0;overflow:hidden;width:min(100%,980px)}.participation-certificate-preview .react-pdf__Document,.participation-certificate-preview .react-pdf__Page{min-width:0;width:100%}.participation-certificate-preview canvas{display:block;height:auto!important;max-width:100%;width:100%!important}.participation-certificate-preview [role=status],.participation-certificate-preview [role=alert]{color:var(--brand-dark-gray);margin:0;padding:28px 18px}.qr-panel{gap:18px}.purchase-info-shell{align-items:center}.purchase-info-panel{gap:22px;width:min(100%,720px)}.purchase-info-copy{text-align:center}.purchase-info-copy h1{font-size:clamp(1.8rem,4vw,2.7rem)}.purchase-info-form{display:grid;gap:18px;grid-template-columns:1fr;width:min(100%,620px)}.purchase-info-form .btn{grid-column:1 / -1}.purchase-form-section{display:grid;gap:14px}.purchase-form-section+.purchase-form-section{border-top:1px solid var(--border);padding-top:18px}.purchase-form-section h2{color:var(--brand-white);font-size:1rem}.purchase-info-form textarea{min-height:128px}.date-select-group{border:0;color:var(--muted-strong);display:grid;font-size:.88rem;font-weight:800;gap:10px;margin:0;padding:0}.date-select-group legend{color:var(--muted-strong);padding:0}.date-select-row{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.choice-group{border:0;color:var(--muted-strong);display:grid;font-size:.88rem;font-weight:800;gap:10px;margin:0;padding:0}.choice-group legend{color:var(--muted-strong);padding:0}.choice-options{display:grid;gap:8px}.choice-option{align-items:center;background:#f9f9f90a;border:1px solid var(--border);border-radius:6px;display:flex;gap:10px;min-height:42px;padding:10px 12px}.choice-option input{flex:0 0 auto;height:18px;min-height:18px;padding:0;width:18px}.purchase-terms-shell{--terms-actions-space: 150px;background:var(--brand-black);height:100dvh;min-height:100vh;overflow:hidden;position:relative;width:100%}.purchase-terms-scroll{height:100%;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.purchase-terms-error-panel{min-height:280px}.purchase-terms-frame{background:var(--brand-black);border:0;display:block;height:calc(100% - var(--terms-actions-space));min-height:320px;width:100%}.purchase-terms-actions{background:#000000db;border:1px solid var(--border);border-radius:8px;bottom:max(16px,env(safe-area-inset-bottom));box-shadow:0 18px 54px #00000070;display:grid;gap:10px;left:50%;max-height:min(70dvh,520px);overflow-y:auto;padding:12px;position:fixed;transform:translate(-50%);width:min(calc(100% - 28px),520px);z-index:10}.purchase-terms-consent{display:grid;gap:6px}.purchase-terms-consent .choice-option[aria-disabled=true]{opacity:.55}.purchase-terms-hint{color:var(--muted);font-size:13px;line-height:1.6;margin:0}.purchase-terms-actions .notice{width:100%}.purchase-terms-button-row{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.purchase-terms-button-row .btn{min-height:48px}.submitted-panel{align-items:center;background:#5fd98b1c;border:1px solid rgba(95,217,139,.3);border-radius:8px;color:#c8ffd9;display:flex;gap:12px;padding:14px;width:min(100%,520px)}.submitted-panel span{display:grid;gap:4px}.submitted-panel strong{color:var(--text)}.submitted-panel small{color:var(--muted-strong);font-weight:800}.qr-frame{background:var(--brand-black);border:2px solid var(--brand-orange);border-radius:8px;box-shadow:inset 0 0 0 1px #f9f9f914;padding:10px}.qr-frame img{display:block;height:320px;width:320px}.public-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.check-in-result-panel,.scanner-panel{gap:20px;text-align:center;width:min(100%,820px)}.check-in-details{display:grid;gap:18px;width:100%}.public-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));text-align:left}.scanner-shell{align-items:start;padding-top:18px}.scanner-panel{width:min(100%,620px)}.scanner-lookup-form{align-items:stretch;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;width:min(100%,540px)}.scanner-lookup-form .btn{min-height:48px}.scanner-course-filter{display:grid;gap:6px;grid-column:1 / -1;text-align:left}.scanner-course-filter span{color:var(--muted-strong);font-size:.84rem;font-weight:700}.scanner-lookup-results{display:grid;gap:10px;width:min(100%,540px)}.scanner-lookup-card{align-items:center;background:var(--surface-raised);border:1px solid var(--border);border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto auto;padding:12px;text-align:left}.scanner-lookup-card-copy,.scanner-lookup-card-meta,.scanner-lookup-empty{display:grid;gap:5px}.scanner-lookup-card-copy span,.scanner-lookup-card-copy small,.scanner-lookup-empty span{color:var(--muted-strong)}.scanner-lookup-card-meta{justify-items:start}.scanner-lookup-empty{background:var(--surface-raised);border:1px solid var(--border);border-radius:8px;padding:16px;width:min(100%,540px)}.scanner-frame{aspect-ratio:3 / 4;background:#050505;border:1px solid var(--border);border-radius:8px;max-height:62vh;overflow:hidden;position:relative;width:min(100%,430px)}.scanner-frame video{display:block;height:100%;object-fit:cover;width:100%}.scanner-reticle{border:2px solid rgba(232,80,2,.92);border-radius:8px;box-shadow:0 0 0 999px #0000003d;height:58%;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:72%}.scanner-success-feedback{align-items:center;animation:scanner-success-tick 2s ease-out forwards;display:flex;flex-direction:column;gap:12px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%) scale(1);width:min(86%,360px);z-index:2}.scanner-success-tick{align-items:center;border:3px solid rgba(255,255,255,.9);border-radius:999px;color:#fff;display:flex;height:112px;justify-content:center;width:112px}.scanner-success-feedback strong{background:#050505d1;border:1px solid rgba(255,255,255,.42);border-radius:999px;color:#fff;max-width:100%;overflow-wrap:anywhere;padding:8px 14px;text-align:center}.scanner-success-feedback.fully_paid .scanner-success-tick{background:#36d372f5;box-shadow:0 18px 42px #00000057,0 0 0 12px #36d37238}.scanner-success-feedback.not_fully_paid .scanner-success-tick{background:#e85002f5;box-shadow:0 18px 42px #00000057,0 0 0 12px #e850023d}@keyframes scanner-success-tick{0%{opacity:0;transform:translate(-50%,-50%) scale(.72)}14%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}24%{opacity:1;transform:translate(-50%,-50%) scale(1)}86%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.96)}}.scanner-status{text-align:left;width:min(100%,430px)}.scanner-panel .check-in-payment-status{align-items:center;border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:900;padding:6px 9px;white-space:nowrap}.scanner-panel .check-in-payment-status.fully_paid{background:#5fd98b2e;color:var(--success)}.scanner-panel .check-in-payment-status.not_fully_paid{background:#ff6a4d2e;color:var(--danger)}.loading{background:var(--surface-raised);border:1px solid var(--border);border-radius:8px;color:var(--muted-strong);font-weight:900;padding:14px 18px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spin{animation:none}.btn,.icon-btn,.switch-track,.switch-track span{transition:none}}@media(max-width:1180px){.workspace-grid,.participation-workspace{grid-template-columns:1fr}.side-column{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-hero{min-height:360px}.toolbar{grid-template-columns:minmax(0,1fr) minmax(130px,.5fr)}.template-upload-form,.template-placeholder-grid{grid-template-columns:1fr}.purchase-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar-actions{justify-content:flex-end}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.app-shell,.auth-shell,.public-shell{padding:14px}.topbar,.dashboard-hero{align-items:flex-start;flex-direction:column}.topbar-actions{justify-content:space-between;width:100%}.side-column,.toolbar,.public-lookup-form,.scanner-lookup-form,.purchase-info-form{grid-template-columns:1fr}.check-in-panel .main-column{grid-row:2}.check-in-panel .side-column,.check-in-filters-panel{grid-row:1}.check-in-generate-panel{grid-row:2}.workspace-grid .main-column,.workspace-grid .side-column{display:contents}.workspace-grid .toolbar{order:1}.workspace-grid .purchase-mode-tabs{order:2}.workspace-grid .side-column>.form-panel{order:3}.workspace-grid .data-panel{order:4}.workspace-grid .course-panel{order:5}.public-lookup-form .btn{width:100%}.scanner-lookup-card{grid-template-columns:1fr}.scanner-lookup-card .btn{width:100%}.purchase-terms-shell{--terms-actions-space: 260px}.purchase-terms-frame{min-height:300px}.purchase-terms-actions{bottom:max(10px,env(safe-area-inset-bottom));padding:10px}.purchase-terms-button-row{grid-template-columns:1fr}.stats-grid{gap:10px}.data-panel{background:transparent;border:0;box-shadow:none}.table-scroll{overflow:visible}table,thead,tbody,tr,td{display:block;min-width:0;width:100%}thead{display:none}tbody{display:grid;gap:10px}tbody tr{background:var(--surface-raised);border:1px solid var(--border);border-radius:8px;overflow:hidden}tbody tr:hover{background:var(--surface-raised)}td{align-items:center;border-bottom:1px solid rgba(249,249,249,.08);display:grid;gap:12px;grid-template-columns:96px minmax(0,1fr);min-height:48px;padding:12px}td:before{color:var(--muted);content:attr(data-label);font-size:.72rem;font-weight:900;text-transform:uppercase}td.empty-state{display:block;padding:34px 12px}td.empty-state:before{content:none}tr.purchase-details-row td{display:block}tr.purchase-details-row td:before{content:none}.person-cell{min-width:0}.action-cluster.end{justify-content:flex-start}.status-pill,.customer-type-badge{justify-self:start}.table-footer{align-items:stretch;background:var(--surface-raised);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:12px;margin-top:10px}.pagination{flex-wrap:wrap;justify-content:space-between;width:100%}.pagination-pages{flex-wrap:wrap;justify-content:center}.qr-frame img{height:min(320px,calc(100vw - 84px));width:min(320px,calc(100vw - 84px))}.purchase-info-grid{grid-template-columns:1fr}}@media(max-width:520px){h1{font-size:2rem}.brand-name{font-size:1.45rem}.brand-symbol{height:36px;width:36px}.stats-grid{grid-template-columns:1fr}.auth-hero,.auth-panel,.public-panel,.panel{padding:16px}.topbar-actions,.button-row,.public-actions{align-items:stretch;flex-direction:column}.btn{width:100%}td{grid-template-columns:82px minmax(0,1fr)}}
