@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap";
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.visible\!{visibility:visible!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}:root{--paper:#fcf9f6;--panel:#fff;--ink:#0a1a3e;--ink-soft:#5a6b8c;--line:#dde4f0;--line-strong:#b8c5d9;--accent:#308cc7;--accent-soft:#e3f2fc;--ok:#1a7a48;--ok-soft:#e3f5ec;--warn:#9a6b10;--err:#c0392b;--err-soft:#fcecea;--gold:#e5c38a;--gold-dark:#cdaa68;--s-bg:#0a1a3e;--s-panel:#132347;--s-line:#1e3563;--s-ink:#d8e4f8;--radius:12px;--shadow:0 1px 3px #0a1a3e0d,0 8px 24px -12px #0a1a3e1f;--top-bg:#0a1a3e;--btn-text:#fff;--accent-hover:#2577aa;--hdr-h:110px;--credit-color:#ffffff80}html.has-session #loginView{display:none!important}.fb-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 0;display:flex}.fb-row:last-child{border-bottom:none}.fb-row.fb-hidden{opacity:.4}.fb-edit-panel{border-bottom:1px solid var(--line);background:var(--paper);border-radius:0 0 8px 8px;padding:14px 14px 10px}.fb-type-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:2px 7px;font-size:10.5px;font-weight:700}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,sans-serif;font-size:15px;line-height:1.5}.serif{letter-spacing:-.02em;font-weight:700}.mono{font-family:JetBrains Mono,monospace}button{cursor:pointer;color:inherit;touch-action:manipulation;background:0 0;border:none;font-family:inherit}input,select{font-family:inherit;font-size:15px}::selection{background:var(--accent);color:#fff}.hidden{display:none!important}.btn{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.btn.primary{background:var(--ink);color:#fff}.btn.primary:hover{background:#0d2254}.btn.accent{background:var(--accent);color:var(--btn-text)}.btn.accent:hover{background:var(--accent-hover);color:var(--btn-hover-text,var(--btn-text))}.btn.ghost{border-color:var(--line-strong);color:var(--ink);background:#fff}.btn.ghost:hover{border-color:var(--ink-soft);background:var(--paper)}.btn.ok{background:var(--ok);color:#fff}.btn.ok:hover{background:#156038}.btn.danger{border-color:var(--err);color:var(--err);background:#fff}.btn.danger:hover{background:var(--err-soft)}.btn.sm{border-radius:7px;padding:6px 11px;font-size:12.5px}.btn.block{width:100%}.btn:disabled{opacity:.4;cursor:not-allowed}.row{flex-wrap:wrap;gap:9px;display:flex}label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:0 0 5px;font-size:11.5px;font-weight:600;display:block}.field{margin-bottom:14px}input[type=text],input[type=email],input[type=password]{border:1px solid var(--line-strong);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:10px 12px;transition:all .15s}input[type=checkbox],input[type=radio]{cursor:pointer;appearance:checkbox!important;width:15px!important;height:15px!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;padding:0!important}select{border:1px solid var(--line-strong);color:#0a1a3e;appearance:none;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A6B8C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") right 10px center/16px 16px no-repeat;border-radius:8px;padding:10px 34px 10px 12px;transition:all .15s}.field select{width:100%}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.hint{color:var(--ink-soft);margin-top:4px;font-size:12px}.fielderr{color:var(--err);margin-top:5px;font-size:12.5px;font-weight:600;display:none}.fielderr.show{display:block}input.err{border-color:var(--err)!important;box-shadow:0 0 0 3px var(--err-soft)!important}#loginView{background:linear-gradient(135deg,#0a1a3e 0%,#152f6b 50%,#0f2255 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}#loginView:before{content:"";opacity:.06;background-image:radial-gradient(circle at 1px 1px,#308cc7 1px,#0000 0);background-size:28px 28px;position:absolute;inset:0}.login-card{text-align:center;background:#fff;border:none;border-radius:18px;width:100%;max-width:380px;padding:36px 32px;position:relative;box-shadow:0 40px 80px -20px #0a1a3e99}.login-card .seal{justify-content:center;align-items:center;width:140px;height:140px;margin:0 auto 16px;display:flex;overflow:hidden}.login-card .mark{letter-spacing:-.03em;color:var(--ink);font-size:22px;font-weight:700}.login-card .tag{color:var(--ink-soft);margin:6px 0 24px;font-size:13px;font-weight:400}.login-card input{text-align:center;letter-spacing:.12em;font-weight:600}.login-card input.cred{text-align:left;letter-spacing:.01em;font-weight:500}.login-card label{text-transform:none;letter-spacing:.01em;font-size:13px}.login-err{color:var(--err);min-height:16px;margin-top:8px;font-size:12.5px;font-weight:500}.shake{animation:.32s shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-7px)}75%{transform:translate(7px)}}.login-foot{color:var(--ink-soft);margin-top:18px;font-size:11.5px;line-height:1.6}.topbar{z-index:40;background:#0a1a3e;justify-content:space-between;align-items:center;gap:16px;height:88px;padding:0 24px;display:flex;position:sticky;top:22px;box-shadow:0 2px 20px #0a1a3e59}.brand{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.brand-logo{background:0 0;border:none;flex:none;justify-content:center;align-items:center;width:auto;min-width:44px;height:60px;display:flex}.brand-logo img{object-fit:contain;border-radius:0;width:auto;max-width:240px;height:60px;display:block}.color-row{align-items:center;gap:8px;display:flex}input[type=color]{border:1px solid var(--line);cursor:pointer;appearance:none;background:0 0;border-radius:9px;flex:none;width:44px;height:44px;padding:3px}.color-row input[type=text]{letter-spacing:.04em;text-transform:uppercase;flex:1;font-family:JetBrains Mono,monospace;font-size:13px}.section-label{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);border-bottom:1px solid var(--line);margin:20px 0 10px;padding-bottom:8px;font-size:11px;font-weight:700}.ssel{position:relative}.ssel-trigger{border:1px solid var(--line-strong);width:100%;color:var(--ink);text-align:left;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:15px;transition:all .15s;display:flex}.ssel-trigger:hover{border-color:var(--ink-soft)}.ssel.open .ssel-trigger{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ssel-trigger .ssel-val{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ssel-trigger.placeholder .ssel-val{color:#9aa6bd}.ssel-trigger svg{color:var(--ink-soft);flex:none;transition:all .2s}.ssel.open .ssel-trigger svg{transform:rotate(180deg)}.ssel.err .ssel-trigger{border-color:var(--err)!important;box-shadow:0 0 0 3px var(--err-soft)!important}.ssel-pop{z-index:55;border:1px solid var(--line-strong);background:#fff;border-radius:10px;display:none;position:absolute;top:calc(100% + 5px);left:0;right:0;box-shadow:0 16px 40px -12px #0a1a3e4d}.ssel.open .ssel-pop{display:block}.ssel-search{border-bottom:1px solid var(--line);background:#fff;border-radius:10px 10px 0 0;padding:8px}.ssel-search input{border:1px solid var(--line-strong);border-radius:7px;width:100%;padding:8px 10px;font-size:14px}.ssel-list{overscroll-behavior:contain;max-height:240px;overflow-y:auto}.ssel-opt{cursor:pointer;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;padding:9px 13px;font-size:14px;overflow:hidden}.ssel-opt:hover,.ssel-opt.active{background:var(--accent-soft)}.ssel-opt.sel{color:var(--accent);font-weight:600}.ssel-empty{color:var(--ink-soft);text-align:center;padding:14px 13px;font-size:13px}.reorder-item{border:1px solid var(--line);background:var(--panel);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:10px;align-items:center;gap:10px;margin-bottom:8px;padding:11px 12px;transition:transform .16s,box-shadow .12s,border-color .12s;display:flex}.reorder-item *{-webkit-user-select:none;user-select:none;pointer-events:none}.reorder-item:hover{border-color:var(--line-strong)}.reorder-item.dragging{cursor:grabbing;border-color:var(--accent);z-index:5;transition:none;position:relative;box-shadow:0 14px 30px -8px #0a1a3e73}.reorder-grip{color:var(--ink-soft);cursor:grab;flex:none;display:inline-flex}.perm-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px 14px;display:grid}.perm-check{color:var(--ink);cursor:pointer;border:1px solid var(--line);background:var(--paper);text-transform:none;letter-spacing:0;border-radius:9px;align-items:center;gap:9px;margin:0;padding:8px 11px;font-size:13.5px;font-weight:500;transition:all .12s;display:flex}.perm-check:hover{border-color:var(--line-strong)}.perm-check input{flex:none}.perm-check.checked{border-color:var(--accent);background:var(--accent-soft)}@media (max-width:760px){.perm-grid{grid-template-columns:1fr 1fr}}.brand .evt{letter-spacing:-.02em;color:var(--event-color,#fff);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:16px;font-weight:700;overflow:hidden}.brand .evt-sub{color:var(--subtitle-color,#ffffffb8);white-space:nowrap;letter-spacing:.01em;margin-top:2px;font-size:12px;font-weight:500}.topright{flex:none;align-items:center;gap:10px;min-width:0;display:flex}.topright-user,.topright-actions{align-items:center;gap:8px;display:flex}.rolechip{text-transform:uppercase;letter-spacing:.06em;color:#7dc3e8;background:#308cc733;border:1px solid #308cc733;border-radius:6px;flex:none;padding:5px 10px;font-size:11px;font-weight:600}.rolechip.staff{color:#fff9;background:#ffffff14;border-color:#ffffff1f}.userchip{color:#fff;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;max-width:160px;padding-left:3px;font-size:12.5px;font-weight:600;display:flex;overflow:hidden}.userchip:before{content:"";background:#3bd17a;border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 0 2px #3bd17a40}.logout{color:#fff;background:#ffffff1a;border:1px solid #ffffff26;border-radius:7px;padding:7px 14px;font-size:12.5px;font-weight:600;transition:all .15s}.logout:hover{background:#fff3;border-color:#ffffff4d}.nav{background:var(--panel);border-bottom:1px solid var(--line);top:var(--hdr-h);z-index:39;touch-action:pan-x;gap:4px;padding:8px 16px;display:flex;position:sticky;overflow-x:auto}.nav button,.nav a{color:var(--ink-soft);white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:1px solid #0000;border-radius:7px;flex:none;align-items:center;gap:6px;padding:7px 15px;font-size:13.5px;font-weight:600;text-decoration:none;transition:all .15s;display:flex}.nav button.on,.nav a.on{background:var(--accent);color:var(--btn-text);border-color:var(--accent)}.nav button:not(.on):hover,.nav a:not(.on):hover{background:var(--paper);color:var(--ink)}.nav-badge{background:var(--err);color:#fff;border-radius:99px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10.5px;font-weight:700;line-height:1;display:inline-flex}.nav button.on .nav-badge,.nav a.on .nav-badge{background:var(--err);color:#fff}.bulk-bar{border-bottom:1px solid var(--line);background:var(--paper);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 18px;display:flex}.bulk-bar .sel-label{color:var(--ink);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:flex}.bulk-bar .sel-label input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex:none}.bulk-bar .actions{flex-wrap:wrap;align-items:center;gap:8px;display:none}.wrap{max-width:1080px;margin:0 auto;padding:24px 20px 90px}.attendees-page .wrap{width:100%;max-width:none;margin:0;padding:24px 40px 90px}.attendees-page .tbl th:nth-child(5),.attendees-page .tbl td:nth-child(5){min-width:140px}.attendees-page .tbl th:nth-child(6),.attendees-page .tbl td:nth-child(6){min-width:150px}.tbl-scroll{-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overflow-x:auto}.page{display:none}.page.on{display:block}.pagehead{margin-bottom:18px}.pagehead h1{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:24px;font-weight:700}.pagehead p{color:var(--ink-soft);margin:4px 0 0;font-size:13.5px;font-weight:400}.banner{border-radius:9px;margin-bottom:18px;padding:9px 14px;font-size:12.5px;display:none}.banner.warn{border:1px solid var(--gold);color:#7a5a10;background:#fff8e8;display:block}.topnote{z-index:30;background:var(--ok-soft);color:#145e35;box-shadow:var(--shadow);border:1px solid #a8d9bf;border-radius:10px;margin-bottom:18px;padding:13px 44px 13px 16px;font-size:14px;font-weight:500;display:none;position:sticky;top:158px}.topnote.show{display:block}.topnote .x{width:28px;height:28px;color:inherit;background:0 0;border-radius:7px;justify-content:center;align-items:center;font-size:15px;transition:all .15s;display:flex;position:absolute;top:9px;right:9px}.topnote .x:hover{background:#ffffffb3}.stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px;display:grid}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.stat .n{letter-spacing:-.03em;color:var(--ink);font-size:30px;font-weight:700;line-height:1}.stat .l{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);margin-top:6px;font-size:11px;font-weight:600}.stat.acc .n{color:var(--accent)}.stat.okk .n{color:var(--ok)}.pct-bar{background:var(--line);border-radius:99px;height:5px;margin-top:8px;overflow:hidden}.pct-bar-fill{background:var(--accent);border-radius:99px;height:100%;transition:all .4s}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card h2{letter-spacing:-.02em;color:var(--ink);margin:0;padding:16px 18px 0;font-size:17px;font-weight:700}.card .sub{color:var(--ink-soft);padding:3px 18px 0;font-size:12.5px;font-weight:400}.card .body{padding:16px 18px}.grid2{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.colstack{flex-direction:column;gap:20px;display:flex}.reg-success{background:var(--ok-soft);text-align:center;border:1px solid #a8d9bf;border-radius:12px;margin-bottom:16px;padding:18px;position:relative}.reg-success .nm{letter-spacing:-.02em;color:var(--ink);font-size:20px;font-weight:700}.reg-success .mn{color:var(--ink-soft);margin-top:3px;font-size:12.5px}.reg-success .close{width:28px;height:28px;color:var(--ink-soft);background:0 0;border-radius:7px;justify-content:center;align-items:center;font-size:16px;line-height:1;transition:all .15s;display:flex;position:absolute;top:10px;right:10px}.reg-success .close:hover{color:var(--ink);background:#fffc}.roster-toolbar{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 18px;display:flex}.search{flex:1;min-width:0;position:relative}.search input{width:100%;min-width:0;padding-left:34px}.search svg{opacity:.35;color:var(--ink-soft);position:absolute;top:50%;left:10px;transform:translateY(-50%)}table{border-collapse:collapse;width:100%}th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);border-bottom:1px solid var(--line);background:var(--paper);white-space:nowrap;padding:9px 14px;font-size:10.5px;font-weight:700}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 14px;font-size:13.5px}tr:last-child td{border-bottom:none}tr:hover td{background:#f4f7fc}.who{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.meta{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.pill{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:5px;align-items:center;gap:4px;padding:3px 8px;font-size:10.5px;font-weight:700;display:inline-flex}.pill.in{background:var(--ok-soft);color:var(--ok)}.pill.await{color:var(--ink-soft);background:#eef2f8}.pill.pre{background:var(--accent-soft);color:var(--accent)}.pill.onsite{color:#9a6b10;background:#fff8e8}.pill.synced{color:var(--ok);background:#e8f5ec}.pill.pend{color:var(--ink-soft);background:#eef2f8}.pill.removed{background:var(--err-soft);color:var(--err)}.icon-btn{border:1px solid var(--line-strong);width:28px;height:28px;color:var(--ink-soft);background:#fff;border-radius:6px;flex:none;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.icon-btn:hover{border-color:var(--ink);background:var(--ink);color:#fff}.icon-btn.danger{border-color:var(--err);color:var(--err)}.icon-btn.danger:hover{border-color:var(--err);background:var(--err);color:#fff}.empty{text-align:center;color:var(--ink-soft);padding:52px 18px}.empty .big{color:var(--ink);letter-spacing:-.02em;margin-bottom:6px;font-size:17px;font-weight:700}.set-row{border-bottom:1px solid var(--line);padding:13px 0}.set-row:last-child{border:none}.switch{cursor:pointer;flex:none;width:42px;height:24px;position:relative}.switch input{display:none}.switch span{background:var(--line-strong);cursor:pointer;border-radius:99px;transition:all .2s;position:absolute;inset:0}.switch span:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;top:3px;left:3px}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translate(18px)}.inline{justify-content:space-between;align-items:center;gap:12px;display:flex}.scrim{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:60;opacity:0;visibility:hidden;pointer-events:none;background:#0a1a3e80;justify-content:center;align-items:center;padding:20px;transition:opacity .2s,visibility .2s;display:flex;position:fixed;inset:0}.scrim.show{opacity:1;visibility:visible;pointer-events:auto}body.modal-open{overflow:hidden}.modal{background:var(--panel);border:1px solid var(--line);opacity:.6;border-radius:16px;width:100%;max-width:420px;max-height:90vh;transition:transform .24s cubic-bezier(.2,.8,.2,1),opacity .24s;overflow:hidden auto;transform:translateY(10px)scale(.97);box-shadow:0 24px 60px -16px #0a1a3e59}.scrim.show .modal{opacity:1;transform:translateY(0)scale(1)}.modal-h{border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-h h3{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:17px;font-weight:700}.modal-b{padding:20px}.qr-stage{flex-direction:column;align-items:center;gap:14px;display:flex}.qr-box{border:1px solid var(--line);background:#fff;border-radius:10px;padding:16px}.qr-box img,.qr-box canvas{border-radius:4px;display:block}.qr-name{letter-spacing:-.02em;text-align:center;color:var(--ink);font-size:19px;font-weight:700}.qr-id{color:var(--ink-soft);letter-spacing:.04em;font-size:11.5px}.confirm-ic{background:var(--accent-soft);width:48px;height:48px;color:var(--accent);border-radius:12px;justify-content:center;align-items:center;margin:0 auto 12px;font-size:22px;display:flex}.confirm-title{letter-spacing:-.02em;text-align:center;color:var(--ink);font-size:19px;font-weight:700}.confirm-msg{text-align:center;color:var(--ink-soft);margin:6px 0 18px;font-size:14px;line-height:1.5}.preview-row{border-bottom:1px dashed var(--line);justify-content:space-between;padding:7px 0;font-size:13.5px;display:flex}.preview-row b{color:var(--ink);font-weight:700}.prev-list{border:1px solid var(--line);border-radius:8px;max-height:180px;margin:12px 0;overflow:auto}.prev-item{border-bottom:1px solid var(--line);justify-content:space-between;padding:7px 12px;font-size:12.5px;display:flex}.prev-item:last-child{border:none}.prev-item .st.a{color:var(--ok);font-weight:700}.prev-item .st.r{color:var(--err);font-weight:700}.prev-item .st.d{color:var(--warn);font-weight:700}body.scanning{background:var(--s-bg)}.scanner{background:var(--s-bg);color:var(--s-ink);border:1px solid var(--s-line);border-radius:16px;max-width:520px;margin:0 auto;overflow:hidden;box-shadow:0 8px 32px #0a1a3e4d}.scan-top{border-bottom:1px solid var(--s-line);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.scan-count{font-size:14px;font-weight:600}.scan-count b{color:#fff;letter-spacing:-.03em;font-size:22px;font-weight:700}.scan-count .t{color:#d8e4f873}.stage{flex-direction:column;gap:14px;padding:18px;display:flex}.scan-controls{margin-top:0}.viewport{aspect-ratio:1;border:1px solid var(--s-line);background:#000;border-radius:12px;width:100%;position:relative;overflow:hidden}.viewport video{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.reticle{pointer-events:none;border-radius:12px;position:absolute;inset:2%}.reticle i{opacity:.9;border:3px solid #fff;width:24px;height:24px;position:absolute}.reticle i:first-child{border-bottom:none;border-right:none;border-radius:7px 0 0;top:-2px;left:-2px}.reticle i:nth-child(2){border-bottom:none;border-left:none;border-radius:0 7px 0 0;top:-2px;right:-2px}.reticle i:nth-child(3){border-top:none;border-right:none;border-radius:0 0 0 7px;bottom:-2px;left:-2px}.reticle i:nth-child(4){border-top:none;border-left:none;border-radius:0 0 7px;bottom:-2px;right:-2px}.scanline{background:linear-gradient(90deg,transparent,var(--accent),transparent);height:2px;animation:2.4s ease-in-out infinite scan;position:absolute;top:5%;left:2%;right:2%}@keyframes scan{0%,to{top:5%}50%{top:92%}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bell-ring{0%,to{transform:rotate(0)scale(1)}8%{transform:rotate(22deg)scale(1.15)}20%{transform:rotate(-20deg)scale(1.15)}32%{transform:rotate(16deg)scale(1.1)}44%{transform:rotate(-12deg)scale(1.05)}56%{transform:rotate(8deg)}68%{transform:rotate(-5deg)}80%{transform:rotate(2deg)}}@keyframes pop-check{0%{transform:scale(1)}40%{transform:scale(1.3)}to{transform:scale(1)}}.feedback{display:none}.feedback--overlay{z-index:10;text-align:center;border-top:1px solid #0000;border-radius:0 0 12px 12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:16px 18px;display:flex;position:absolute;bottom:0;left:0;right:0}.feedback.ok{background:#0d3d22eb;border-color:#1a6b40;animation:.3s pop}.feedback.dup{background:#2d2a0feb;border-color:#7a6518}.feedback.err{background:#3a1214eb;border-color:#7a2020;animation:.3s shake}@keyframes pop{0%{transform:scale(.96)}60%{transform:scale(1.02)}to{transform:scale(1)}}.feedback .fb-name{letter-spacing:-.02em;color:#fff;font-size:22px;font-weight:700}.feedback .fb-msg{color:#d8e4f8a6;font-size:13px}.feedback .fb-ic{font-size:32px;line-height:1}.scan-controls{gap:10px;display:flex}.sbtn{background:var(--s-panel);border:1px solid var(--s-line);color:var(--s-ink);touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:7px;padding:13px;font-size:13.5px;font-weight:600;transition:all .15s;display:flex}.sbtn:hover{background:#1a2f5a;border-color:#3a5a8c}.sbtn.go{background:var(--accent);color:#fff;border-color:var(--accent)}.sbtn.go:hover{background:#2577aa;border-color:#2577aa}.scan-msg{text-align:center;color:#d8e4f866;justify-content:center;align-items:center;padding:30px 14px;font-size:13px;display:flex;position:absolute;inset:0}.scan-recent{border-top:1px solid var(--s-line);padding:14px 18px 18px}.scan-recent-title{text-transform:uppercase;letter-spacing:.07em;color:#d8e4f866;margin-bottom:10px;font-size:11px;font-weight:700}.scan-recent-row{border-bottom:1px solid var(--s-line);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.scan-recent-row:last-child{border-bottom:none}.scan-recent-name{color:var(--s-ink);font-size:14px;font-weight:600}.scan-recent-meta{color:#d8e4f873;text-align:right;font-size:12px}.footnote{text-align:center;color:var(--ink-soft);margin-top:30px;font-size:11.5px;line-height:1.6}@media (max-width:760px){.grid2{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.brand .evt{display:none}.wrap{padding:18px 14px 80px}th.opt,td.opt{display:none}.roster-toolbar{flex-wrap:wrap}.roster-toolbar .search{flex:100%}}@media (max-width:520px){:root{--hdr-h:102px}.topbar{gap:8px;height:80px;padding:0 12px}.brand-logo{min-width:36px;height:40px}.brand-logo img{max-width:44px;height:40px}.brand .evt-sub{font-size:11px}.rolechip{display:none}.userchip{max-width:120px;font-size:11.5px}.logout{padding:5px 9px;font-size:11.5px}.topright{flex-direction:column;align-items:flex-end;gap:4px}.topright-user,.topright-actions{gap:6px}}#appShell[data-no-devbar]{--hdr-h:88px}@media (max-width:520px){#appShell[data-no-devbar]{--hdr-h:80px}}.log-tab-bar{background:var(--paper);border-bottom:1px solid var(--line);-webkit-overflow-scrolling:touch;touch-action:pan-x;gap:0;padding:0 18px;display:flex;overflow-x:auto}.log-tab{color:var(--ink-soft);white-space:nowrap;background:0 0;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:11px 16px;font-size:13.5px;font-weight:600;transition:all .15s}.log-tab.on{color:var(--accent);border-bottom-color:var(--accent)}.fb-chip{border:1px solid var(--line-strong);color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:#fff;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:600;transition:all .12s}.fb-chip:hover{border-color:var(--ink-soft)}.fb-chip.on{background:var(--err-soft);border-color:var(--err);color:var(--err)}#page_formbuilder label,#page_formbuilder .section-label,#formView label{text-transform:none;letter-spacing:.01em}.up-preview{border:1px solid var(--line);background:var(--paper);border-radius:12px;flex:none;justify-content:center;align-items:center;width:140px;height:140px;padding:14px;display:flex;overflow:hidden}.up-preview img{object-fit:contain;width:auto;max-width:100%;max-height:100%;display:none}.up-none{color:var(--ink-soft);text-align:center;font-size:12px;line-height:1.4}.up-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.up-actions+.hint{margin-top:7px}.log-tab:hover:not(.on){color:var(--ink)}.pagination{border-top:1px solid var(--line);background:var(--paper);border-radius:0 0 var(--radius) var(--radius);flex-wrap:wrap;align-items:center;gap:5px;padding:12px 16px;display:flex}.pg-btn{border:1px solid var(--line-strong);min-width:32px;height:32px;color:var(--ink);cursor:pointer;background:#fff;border-radius:7px;justify-content:center;align-items:center;padding:0 8px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.pg-btn:hover:not(:disabled):not(.on){border-color:var(--accent);color:var(--accent)}.pg-btn.on{background:var(--accent);color:#fff;border-color:var(--accent)}.pg-btn:disabled{opacity:.35;cursor:not-allowed}.pg-size{color:var(--ink);cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A6B8C' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") right 6px center/14px no-repeat;border:1px solid #b8c5d9;border-radius:7px;padding:7px 26px 7px 10px;font-family:inherit;font-size:13.5px}body.fancy .card{-webkit-backdrop-filter:blur(32px)saturate(160%);background:#ffffffb3;border:.5px solid #ffffffa6;transition:box-shadow .25s,border-color .25s;box-shadow:0 4px 24px #0a1a3e17,0 1px 4px #0a1a3e0d,inset 0 1.5px #ffffffeb,inset 0 -.5px #0000000a}body.fancy .card:hover{border-color:#ffffffd9;box-shadow:0 12px 44px #0a1a3e21,0 3px 10px #0a1a3e12,inset 0 1.5px #ffffffeb,inset 0 -.5px #0000000a}body.fancy .stat{-webkit-backdrop-filter:blur(32px)saturate(160%);background:#ffffffb3;border:.5px solid #ffffffa6;box-shadow:0 3px 16px #0a1a3e14,inset 0 1.5px #ffffffeb,inset 0 -.5px #00000008}body.fancy .nav{-webkit-backdrop-filter:blur(28px)saturate(160%);background:#fffc}body.fancy .scanner{-webkit-backdrop-filter:blur(28px)saturate(160%);box-shadow:var(--shadow),0 16px 48px #0a1a3e4d,inset 0 1px 0 #ffffff0f}body.fancy .login-card{-webkit-backdrop-filter:blur(48px)saturate(180%);background:#ffffffdb;border:.5px solid #ffffffad;box-shadow:0 28px 72px #0a1a3e2e,0 6px 18px #0a1a3e14,inset 0 1.5px #fffffff5}body.fancy .scrim.show{-webkit-backdrop-filter:blur(10px)}body.fancy .scrim.show .modal{-webkit-backdrop-filter:blur(40px)saturate(180%);background:#ffffffdb;border:.5px solid #ffffffa6;box-shadow:0 20px 56px #0a1a3e24,inset 0 1.5px #fffffff5}body.fancy tr:hover td{background:#ffffff73}body.fancy .topnote,body.fancy .banner.warn{-webkit-backdrop-filter:blur(14px)}#formView{background:linear-gradient(135deg,#0a1a3e 0%,#152f6b 50%,#0f2255 100%);min-height:100vh;padding:32px 20px 60px;display:none;position:relative;overflow:auto}#formView:before{content:"";opacity:.06;pointer-events:none;background-image:radial-gradient(circle at 1px 1px,#308cc7 1px,#0000 0);background-size:28px 28px;position:absolute;inset:0}.form-wrap{max-width:600px;margin:0 auto;position:relative}.form-header{text-align:center;color:#fff;margin-bottom:28px}.form-header .fh-mark{letter-spacing:-.03em;font-size:24px;font-weight:700}.form-header .fh-sub{opacity:.65;margin-top:5px;font-size:13.5px}.form-success{background:var(--ok-soft);text-align:center;border:1px solid #a8d9bf;border-radius:14px;padding:40px 28px}.form-success .s-ic{margin-bottom:14px;font-size:48px;line-height:1}.form-success h2{color:var(--ok);letter-spacing:-.02em;margin:0 0 8px;font-size:22px;font-weight:700}.form-success p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.65}.sub-card{border-bottom:1px solid var(--line);align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.sub-card:last-child{border-bottom:none}.sub-info{flex:1;min-width:0}.sub-name{color:var(--ink);font-size:15px;font-weight:700}.sub-meta{color:var(--ink-soft);margin-top:3px;font-size:12.5px;line-height:1.5}.sub-msg{color:var(--ink-soft);background:var(--paper);border:1px solid var(--line);border-radius:7px;margin-top:7px;padding:8px 10px;font-size:13px;font-style:italic}.sub-actions{flex-wrap:wrap;flex:none;align-items:center;gap:7px;display:flex}.pill.review{color:#9a6b10;background:#fff8e8}.pill.approved{background:var(--ok-soft);color:var(--ok)}.pill.declined{background:var(--err-soft);color:var(--err)}.sub-reviewed{color:var(--ink-soft);margin-top:6px;font-size:11.5px}:root{--warn-soft:#9a6b101a}#appShell,#formView,.page,.up-preview img{display:block}.site-header{z-index:40;position:sticky;top:0}.topbar{position:relative!important;top:auto!important}.nav{position:static!important;top:auto!important}.topbar{background:var(--top-bg)}.modal-b .row{gap:12px}.modal-b .row .field{flex:1;min-width:140px}.card{padding:16px 18px}.card h2,.card .sub,.card .body{padding:0}.card>.section-label:first-child{margin-top:0}.card .tbl-scroll{width:calc(100% + 36px);margin-left:-18px;margin-right:-18px}.card .bulk-bar{margin-left:-18px;margin-right:-18px}.log-tab-bar{overscroll-behavior:none;overflow-y:hidden}.card .log-tab-bar{border-radius:var(--radius) var(--radius) 0 0;margin-top:-16px;margin-left:-18px;margin-right:-18px}.list-row{border:1px solid var(--line);background:var(--panel);border-radius:10px;align-items:center;gap:10px;margin-bottom:8px;padding:11px 12px;display:flex}.list-row:hover{border-color:var(--line-strong)}.wrap:has(.attendees-page){max-width:none}.logout{background:var(--topbar-btn-bg,#ffffff1a);color:var(--topbar-btn-text,#fff);border-color:var(--topbar-btn-border,#ffffff26)}.logout:hover{background:var(--topbar-btn-hover-bg,#fff3);color:var(--topbar-btn-hover-text,#fff);border-color:var(--topbar-btn-hover-border,#ffffff4d)}.userchip{color:var(--topbar-user-color,#fff)}#loginView{background:var(--login-bg,linear-gradient(135deg,#0a1a3e 0%,#152f6b 50%,#0f2255 100%))}@keyframes bannerSlideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.offline-banner{z-index:9999;color:#fff;text-align:center;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13.5px;font-weight:600;animation:.25s bannerSlideDown;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 12px #0000004d}.offline-banner--off{background:var(--err)}.offline-banner--on{background:var(--ok)}@media (hover:none) and (pointer:coarse){input,select,textarea{font-size:16px!important}}.nav .nav-ham{color:var(--ink-soft);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:7px;flex-shrink:0;align-items:center;gap:6px;margin-left:auto;padding:6px 11px;font-size:13px;font-weight:600;transition:all .15s;display:none}.nav .nav-ham:hover{background:var(--paper);color:var(--ink)}@media (max-width:768px){.nav .nav-ham{margin-left:0;display:flex}.nav a{display:none!important}}@keyframes mobileScrimIn{0%{opacity:0}to{opacity:1}}@keyframes mobileScrimOut{0%{opacity:1}to{opacity:0}}@keyframes mobileNavIn{0%{opacity:0;transform:translateY(-14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes mobileNavOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-16px)scale(.96)}}.nav-mobile-scrim{z-index:50;-webkit-backdrop-filter:blur(2px);background:#0a1a3e73;animation:.25s mobileScrimIn;position:fixed;inset:0}.nav-mobile-scrim.closing{animation:.2s ease-in forwards mobileScrimOut}.nav-mobile-scrim.closing .nav-mobile-panel{animation:.2s ease-in forwards mobileNavOut}.nav-mobile-panel{background:var(--panel);border-bottom:1px solid var(--line);max-height:85dvh;padding:50px 12px 18px;animation:.3s cubic-bezier(.34,1.05,.64,1) mobileNavIn;position:absolute;top:0;left:0;right:0;overflow-y:auto;box-shadow:0 12px 40px -8px #0a1a3e47}.nav-mobile-close{width:34px;height:34px;color:var(--ink-soft);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;top:10px;right:12px}.nav-mobile-close:hover{background:var(--paper);color:var(--ink);border-color:var(--line)}.nav-mobile-item{color:var(--ink-soft);border:1px solid #0000;border-radius:9px;align-items:center;gap:10px;padding:12px 14px;font-size:14.5px;font-weight:600;text-decoration:none;transition:all .12s;display:flex}.nav-mobile-item.on{background:var(--accent);color:var(--btn-text)}.nav-mobile-item:not(.on):hover{background:var(--paper);color:var(--ink)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
