:root{--ink:#2f2726;--muted:#776b68;--paper:#fbf7ef;--paper-deep:#f2eadc;--wine:#641f31;--wine-dark:#42131f;--rose:#a56e72;--gold:#b98527;--olive:#68713a;--line:#e1d6c5;--success:#286341;--danger:#a22d32;--warning:#9a6415;--shadow:0 18px 50px #441f201a;font-synthesis:none}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--ink);background:radial-gradient(circle at 8% 10%, #b9852714, transparent 26rem), radial-gradient(circle at 92% 0%, #641f3117, transparent 24rem), var(--paper);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}.password-input-wrap{position:relative}.password-input-wrap .input{padding-right:3rem}.password-visibility{width:2.4rem;height:2.4rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:.45rem;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:.35rem;translate:0 -50%}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}:where(button,a,[role=button]){transition:opacity .12s,transform .12s,background-color .12s,border-color .12s,box-shadow .12s}:where(button,a,[role=button]):active{opacity:.68}:where(button,a,[role=button]):focus-visible{outline-offset:3px;outline:3px solid #b9852773}.auth-page{grid-template-columns:minmax(0,1.1fr) minmax(22rem,.9fr);min-height:100vh;display:grid}.auth-art{color:#fffaf1;background:linear-gradient(140deg,#42131ff0,#641f31e0),radial-gradient(circle at 75% 20%,#bd8b99,#0000 20rem);flex-direction:column;justify-content:space-between;min-height:100vh;padding:clamp(2rem,7vw,7rem);display:flex}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-size:.72rem;font-weight:750}.auth-art .eyebrow{color:#eacb86}.display{max-width:14ch;margin:1rem 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,6vw,6rem);font-weight:400;line-height:.98}.auth-art p{color:#fffaf1b8;max-width:35rem;line-height:1.7}.auth-panel{place-items:center;padding:2rem;display:grid}.auth-card{border:1px solid var(--line);width:min(100%,28rem);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf8e0;border-radius:1.25rem;padding:clamp(1.5rem,4vw,2.5rem)}.auth-card h1{margin:.6rem 0 .4rem;font-family:Georgia,serif;font-size:2rem;font-weight:500}.auth-card>p{color:var(--muted);margin:0 0 1.75rem;line-height:1.55}.field{gap:.45rem;margin-bottom:1rem;display:grid}.field label{font-size:.82rem;font-weight:700}.input,.select,.textarea{width:100%;min-height:2.85rem;color:var(--ink);background:#fff;border:1px solid #cfc2af;border-radius:.65rem;outline:none;padding:.7rem .8rem}.input:focus,.select:focus,.textarea:focus{border-color:var(--wine);box-shadow:0 0 0 3px #641f311a}.button{cursor:pointer;border:0;border-radius:.65rem;justify-content:center;align-items:center;gap:.5rem;min-height:2.75rem;padding:.7rem 1rem;font-weight:750;display:inline-flex}.button:active:not(:disabled){transform:translateY(1px)scale(.985)}.button-primary{color:#fff;background:var(--wine)}.button-primary:hover{background:var(--wine-dark)}.button-secondary{color:var(--wine);border:1px solid var(--line);background:#fff}.button-secondary:hover{background:var(--paper-deep);border-color:#c9b99f}.button-danger{color:#fff;background:var(--danger)}.button-danger:hover{background:#842329}.button-block{width:100%}.button-compact{min-height:2.3rem;padding:.5rem .75rem;font-size:.78rem}.button:disabled{cursor:not-allowed;opacity:.55}.alert{border-radius:.65rem;margin:1rem 0;padding:.8rem 1rem;font-size:.88rem;line-height:1.45}.alert-error{color:#7c2028;background:#fbe7e8;border:1px solid #efc4c7}.alert-info{color:#664610;background:#fff4d8;border:1px solid #eedaa7}.shell{grid-template-columns:16.5rem minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#fff9ef;background:var(--wine-dark);height:100vh;padding:1.4rem;position:sticky;top:0}.brand{border-bottom:1px solid #ffffff1f;align-items:center;gap:.75rem;padding:.4rem .25rem 1.75rem;display:flex}.brand-mark{width:2.2rem;height:2.2rem;color:var(--wine-dark);background:#e4bd68;border-radius:50%;place-items:center;font-family:Georgia,serif;font-weight:700;display:grid}.brand strong{font-family:Georgia,serif;font-size:1.05rem;display:block}.brand small{color:#fff9ef99}.nav{gap:.35rem;margin-top:1.5rem;display:grid}.nav a{color:#fff9efb8;border-radius:.6rem;align-items:center;gap:.7rem;padding:.75rem .8rem;font-size:.9rem;font-weight:650;display:flex}.nav a:hover{color:#fff;background:#ffffff14}.sidebar-footer{position:absolute;bottom:1.4rem;left:1.4rem;right:1.4rem}.main{min-width:0}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fbf7efd1;justify-content:space-between;align-items:center;min-height:4.5rem;padding:0 clamp(1.25rem,3vw,2.5rem);display:flex}.topbar p{color:var(--muted);margin:0;font-size:.82rem}.content{padding:clamp(1.25rem,3vw,2.5rem)}.page-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.75rem;display:flex}.page-heading h1{margin:.25rem 0 0;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.1rem);font-weight:500}.page-heading p{color:var(--muted);margin:.4rem 0 0}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.card{border:1px solid var(--line);background:#fffdf8e6;border-radius:.9rem;padding:1.2rem;box-shadow:0 8px 24px #441f200d}.metric-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700}.metric-value{margin-top:.35rem;font-family:Georgia,serif;font-size:2.25rem}.metric-note{color:var(--muted);margin-top:.25rem;font-size:.8rem}.wedding-welcome{color:#fffaf1;background:linear-gradient(125deg, var(--wine-dark), var(--wine));box-shadow:var(--shadow);text-align:center;border:1px solid #8b4558;border-radius:1rem;margin-bottom:1rem;padding:clamp(1.6rem,4vw,3rem);position:relative;overflow:hidden}.wedding-welcome:before,.wedding-welcome:after{content:"";opacity:.4;border:2px solid #d7ad55;border-radius:50% 45% 55% 40%;width:13rem;height:13rem;position:absolute}.wedding-welcome:before{top:-8rem;left:-5rem;rotate:25deg}.wedding-welcome:after{bottom:-9rem;right:-6rem;rotate:-35deg}.wedding-welcome>div{color:#e6c675;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem .55rem;font-family:Georgia,serif;font-size:.86rem;display:flex}.wedding-welcome>div strong{color:#fffaf1;font-weight:500}.wedding-welcome p{color:#fffaf1b8;margin:1.25rem 0 .4rem;font-family:Georgia,serif;font-style:italic}.wedding-welcome h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,4vw,3.4rem);font-weight:400}.wedding-welcome h2 i{color:#e6c675;font-weight:400}.wedding-welcome>small{color:#e6c675;letter-spacing:.16em;text-transform:uppercase;margin-top:1rem;display:block}.section-grid{grid-template-columns:minmax(0,1.6fr) minmax(18rem,.8fr);gap:1rem;margin-top:1rem;display:grid}.card h2{margin:0 0 1rem;font-family:Georgia,serif;font-weight:500}.empty{text-align:center;color:var(--muted);padding:2.5rem 1rem}.status{text-transform:capitalize;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .55rem;font-size:.72rem;font-weight:750;display:inline-flex}.status-live{color:#1e5537;background:#e2f2e9}.status-draft{color:#77531b;background:#f8edcf}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:.8rem .7rem;font-size:.85rem}th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.event-row{transition:background-color .12s}.event-row:hover{background:#f2eadc7a}.event-name-link{color:var(--wine);margin:-.8rem -.7rem;padding:.8rem .7rem;display:block}.event-name-link:hover strong{text-underline-offset:.2rem;text-decoration:underline}.event-actions{align-items:center;gap:.45rem;display:flex}.event-actions form{display:contents}.danger-card{border-color:#a22d3247;margin-top:1rem}.danger-zone{justify-content:space-between;align-items:center;gap:1rem;display:flex}.danger-zone h2{color:var(--danger);margin-bottom:.35rem}.danger-zone p{max-width:45rem;color:var(--muted);margin:0;font-size:.85rem;line-height:1.5}.table-link{color:var(--wine);text-underline-offset:.2rem;margin-right:.55rem;font-weight:700;text-decoration:underline;display:inline-block}.pass-links{align-items:center;gap:.2rem;margin:.25rem 0;display:flex}.pass-links form{display:contents}.bulk-pass-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.bulk-pass-toolbar strong,.bulk-pass-toolbar small{display:block}.bulk-pass-toolbar small{color:var(--muted);margin-top:.2rem}.bulk-pass-toolbar>div:last-child{gap:.5rem;display:flex}.bulk-pass-toolbar+.alert{margin-bottom:1rem}.link-button{color:var(--wine);cursor:pointer;text-underline-offset:.2rem;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.share-pass-control{display:inline-flex;position:relative}.inline-error{z-index:5;color:#7c2028;width:min(22rem,75vw);box-shadow:var(--shadow);white-space:normal;background:#fbe7e8;border:1px solid #efc4c7;border-radius:.5rem;padding:.6rem;line-height:1.4;position:absolute;top:calc(100% + .4rem);right:0}.reversal-control{position:relative}.reversal-control summary{color:var(--danger);cursor:pointer;font-weight:700}.reversal-control form{border:1px solid var(--line);width:min(18rem,75vw);box-shadow:var(--shadow);background:#fff;border-radius:.65rem;gap:.55rem;padding:.75rem;display:grid}.reversal-control label{font-size:.75rem;font-weight:700}.log-filters{grid-template-columns:minmax(15rem,2fr) minmax(10rem,1fr) minmax(11rem,1fr) auto;align-items:end;gap:1rem;margin-bottom:1rem;display:grid}.log-filters .field{margin:0}.card-heading-row{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.pagination{justify-content:center;align-items:center;gap:1rem;margin-top:1rem;display:flex}.button-disabled{pointer-events:none;opacity:.45}.schedule-editor{position:relative}.schedule-editor>summary{color:var(--wine);cursor:pointer;font-weight:700}.schedule-editor[open]{border:1px solid var(--line);width:min(34rem,85vw);box-shadow:var(--shadow);white-space:normal;background:#fff;border-radius:.7rem;padding:.9rem}.schedule-editor[open]>summary{margin-bottom:.75rem}.schedule-actions{align-items:center;gap:.6rem;margin-top:.8rem;display:flex}.schedule-actions small{color:var(--muted)}.setup-notice{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.setup-notice code{color:var(--wine)}.guest-form{gap:1rem;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem;display:grid}.event-choice{border-top:1px solid var(--line);padding:1rem 0}.event-choice:first-of-type{border-top:0}.choice-title{align-items:center;gap:.6rem;display:flex}.choice-title input{width:1.15rem;height:1.15rem;accent-color:var(--wine)}.choice-title small{color:var(--muted);background:var(--paper-deep);border-radius:.3rem;padding:.2rem .4rem}.assignment-field{border:1px solid var(--line);border-radius:.65rem;margin:0 0 1rem;padding:.9rem}.assignment-field legend{padding:0 .35rem;font-size:.82rem;font-weight:700}.assignment-field p{color:var(--muted);margin:0 0 .75rem;font-size:.78rem;line-height:1.4}.assignment-list{gap:.7rem;display:grid}.staff-setup-result{border-bottom:1px solid var(--line);margin-bottom:1rem;padding-bottom:1rem}.staff-setup-result>label{margin-bottom:.45rem;font-size:.82rem;font-weight:700;display:block}.staff-setup-result p{color:var(--muted);margin:.75rem 0 0;font-size:.78rem;line-height:1.45}.setup-link{resize:none;overflow-wrap:anywhere;font-size:.75rem}.staff-actions{align-items:flex-start;gap:.5rem;display:flex}.staff-access{min-width:9rem}.staff-access>summary{color:var(--wine);border:1px solid var(--line);cursor:pointer;text-align:center;background:#fff;border-radius:.65rem;padding:.72rem .8rem;font-weight:750}.staff-access[open]{border:1px solid var(--line);width:min(25rem,78vw);box-shadow:var(--shadow);background:#fff;border-radius:.65rem;padding:.75rem}.staff-access[open]>summary{text-align:left;border:0;margin-bottom:.8rem;padding:0}.staff-access-form{border-top:1px solid var(--line);white-space:normal;gap:.7rem;padding:.8rem 0;display:grid}.staff-access-form p{color:var(--muted);margin:0;font-size:.78rem;line-height:1.45}.staff-access-form .field{margin:0}.guest-profile{margin-bottom:1rem}.guest-profile dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:0;display:grid}.guest-profile dl div{min-width:0}.guest-profile dt{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:700}.guest-profile dd{overflow-wrap:anywhere;margin:.3rem 0 0}.guest-registration-grid{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:1rem;display:grid}.registration-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.registration-heading h2{margin:.3rem 0 0}.attendee-summary{border:1px solid var(--line);border-radius:.65rem;margin:1rem 0}.attendee-summary>div{border-bottom:1px solid var(--line);padding:.7rem}.attendee-summary>div:last-child{border-bottom:0}.attendee-summary strong,.attendee-summary small{display:block}.attendee-summary small{color:var(--muted);text-transform:capitalize;margin-top:.15rem}.pass-actions-wrap{flex-wrap:wrap}.companion-count{max-width:18rem;margin:1rem 0}.companion{border:1px solid var(--line);border-radius:.7rem;margin:.8rem 0;padding:1rem}.companion legend{color:var(--wine);padding:0 .4rem;font-size:.8rem;font-weight:750}.pass-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem;margin-bottom:1rem;display:grid}.pass-preview{border:1px solid var(--line);width:100%;display:block}.pass-actions{gap:.6rem;margin-top:1rem;display:flex}.heading-actions{flex-wrap:wrap;gap:.55rem;display:flex}.filter-bar{grid-template-columns:minmax(15rem,2fr) minmax(12rem,1fr) auto;align-items:end;gap:1rem;margin-bottom:.75rem;display:grid}.guest-filter-bar{grid-template-columns:minmax(14rem,2fr) repeat(3,minmax(10rem,1fr)) auto}.filter-bar .field{margin:0}.filter-actions{gap:.5rem;display:flex}.filter-search-status{min-width:8.5rem;color:var(--muted);align-items:center;gap:.4rem;font-size:.78rem;font-weight:700;display:inline-flex}.filter-search-status .loading-spinner{border-color:#641f312e;border-top-color:var(--wine)}.duplicate-summary{justify-content:space-between;align-items:center;gap:1rem;display:flex}.duplicate-badge{color:#7a4b0d;background:#fff0cf;border:1px solid #e9c779;border-radius:999px;width:fit-content;margin:.3rem 0;padding:.2rem .4rem;font-size:.68rem;font-weight:800;display:block}.potential-duplicate-row{background:#b9852712}.guest-sharing-card{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.guest-share-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.guest-share-actions-list{flex-direction:column;align-items:stretch;min-width:10rem}.guest-share-actions small{max-width:28rem;color:var(--muted)}.guest-share-actions .inline-error{color:var(--danger)}.guest-share-actions .inline-info{color:var(--warning)}.deleted-audit-row{background:#a22d3212}.import-layout{gap:1rem;max-width:64rem;display:grid}.file-input{padding:.55rem}.import-summary{grid-template-columns:repeat(4,1fr);gap:.6rem;margin:1rem 0;display:grid}.import-summary span{color:var(--muted);background:var(--paper);border:1px solid var(--line);text-align:center;border-radius:.55rem;padding:.8rem;font-size:.75rem}.import-summary strong{color:var(--ink);font-size:1.4rem;display:block}.import-errors{color:#7c2028;background:#fbe7e8;border:1px solid #efc4c7;border-radius:.65rem;max-height:22rem;margin:1rem 0;padding:.8rem;font-size:.82rem;overflow:auto}.import-errors>div{border-top:1px solid #7c20281f;padding:.35rem 0}.import-errors>div:first-of-type{margin-top:.5rem}.import-errors small{color:var(--muted)}.contact-preview{max-height:28rem;margin:1rem 0}.allocation-event-grid{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;margin-bottom:1rem;display:grid}.allocation-event-grid article{flex-direction:column;gap:.2rem;display:flex}.allocation-event-grid small{color:var(--muted);margin-top:.4rem}.allocation-total{color:var(--wine);margin-top:.35rem;font-family:Georgia,serif;font-size:2.8rem;font-weight:500}.allocation-matrix{margin-bottom:1rem}.allocation-filters{grid-template-columns:minmax(12rem,1fr) minmax(12rem,1fr) auto;align-items:end;gap:1rem;margin-bottom:1rem;display:grid}.allocation-filters .field{margin:0}.allocation-classifier{margin-bottom:1rem}.allocation-classifier-controls{grid-template-columns:minmax(14rem,1.5fr) minmax(13rem,1fr) auto auto;align-items:end;gap:.65rem;display:grid}.allocation-classifier-controls .field{margin:0}.allocation-selection-status{color:var(--muted);margin:.9rem 0 .55rem;font-size:.82rem}.allocation-classifier-table{max-height:30rem}.allocation-classifier-table thead{z-index:1;background:var(--paper);position:sticky;top:0}.allocation-classifier-table input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:var(--wine)}.scan-page{background:#efe9dd;min-height:100vh}.scan-header{z-index:10;color:#fff;background:var(--wine-dark);justify-content:space-between;align-items:center;gap:1rem;min-height:4.5rem;padding:.7rem clamp(1rem,3vw,2rem);display:flex;position:sticky;top:0}.scan-header>div{align-items:center;gap:.7rem;display:flex}.scan-header>div:last-child{gap:.5rem}.scan-header form{display:contents}.scan-back-button{min-height:2.45rem;padding:.5rem .7rem;font-size:.78rem}.scan-header strong,.scan-header small{display:block}.scan-header small{color:#ffffffa6}.scan-no-events{max-width:42rem;margin:4rem auto;padding:1rem}.scanner-layout{grid-template-columns:minmax(20rem,.9fr) minmax(23rem,1.1fr);min-height:calc(100vh - 4.5rem);display:grid}.scanner-panel,.scan-result-panel{padding:clamp(1rem,3vw,2rem)}.scanner-panel{color:#fff;background:#211d1d}.scanner-controls{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.scanner-panel .input,.scanner-panel .select{color:#fff;background:#332d2d;border-color:#554c4c}.camera-frame{aspect-ratio:4/3;background:#090808;border:1px solid #4d4444;border-radius:1rem;margin:.4rem 0 1rem;position:relative;overflow:hidden}.camera-frame video{object-fit:cover;width:100%;height:100%}.camera-placeholder{color:#968b88;place-content:center;justify-items:center;gap:.7rem;display:grid;position:absolute;inset:0}.scan-target{aspect-ratio:1;border:3px solid #e7c069;border-radius:1rem;width:min(64%,18rem);position:absolute;inset:50% auto auto 50%;translate:-50% -50%;box-shadow:0 0 0 200vmax #00000047}.scanner-loading{color:#fff;text-align:center;z-index:3;background:#140f10d6;place-content:center;justify-items:center;gap:.45rem;display:grid;position:absolute;inset:0}.scanner-loading strong{margin-top:.45rem;font-size:1.05rem}.scanner-loading span:last-child{color:#ffffffad;font-size:.82rem}.loading-spinner{border:.3rem solid #ffffff47;border-top-color:#e7c069;border-radius:50%;width:3rem;height:3rem;animation:.8s linear infinite loading-spin;display:inline-block}.loading-spinner-small{border-width:.14rem;width:1.05rem;height:1.05rem}.navigation-progress{z-index:100;color:#fff;min-height:2.75rem;box-shadow:var(--shadow);background:#42131ff5;border:1px solid #e7c0698c;border-radius:999px;align-items:center;gap:.55rem;padding:.65rem .9rem;font-size:.82rem;display:flex;position:fixed;top:.75rem;left:50%;translate:-50%}.navigation-progress:before{content:"";background:linear-gradient(90deg,#0000,#e7c069,#0000);width:100vw;height:3px;animation:1s ease-in-out infinite navigation-slide;position:fixed;top:0;left:0}.page-loading{min-height:min(65vh,36rem);color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:.55rem;display:grid}.page-loading strong{color:var(--ink);margin-top:.45rem;font-family:Georgia,serif;font-size:1.35rem}.page-loading .loading-spinner{border-color:#641f312e;border-top-color:var(--wine)}@keyframes navigation-slide{0%{transform:translate(-100%)}to{transform:translate(100%)}}.scan-route-loading{color:#fff;background:var(--wine-dark);place-items:center;min-height:100vh;padding:1rem;display:grid}.scan-route-loading-card{text-align:center;justify-items:center;max-width:28rem;display:grid}.scan-route-loading-card h1{margin:1rem 0 .25rem;font-family:Georgia,serif;font-size:2rem;font-weight:500}.scan-route-loading-card p{color:#ffffffa6;margin:0;line-height:1.55}@keyframes loading-spin{to{rotate:360deg}}.manual-scan{margin-top:1.4rem}.manual-scan>span{color:#aaa09c;margin-bottom:.45rem;font-size:.8rem;display:block}.manual-scan>div{gap:.5rem;display:flex}.manual-scan .scan-matches{max-height:16rem;margin-top:.5rem;display:grid;overflow:auto}.scan-matches button{color:#fff;cursor:pointer;text-align:left;background:#332d2d;border:1px solid #554c4c;border-bottom:0;padding:.7rem}.scan-matches button:last-child{border-bottom:1px solid #554c4c}.scan-matches strong,.scan-matches span{display:block}.scan-matches span{color:#aaa09c;margin-top:.15rem;font-size:.75rem}.scan-result-panel{background:var(--paper)}.scan-empty{text-align:center;min-height:70vh;color:var(--muted);place-content:center;justify-items:center;display:grid}.scan-empty h2{color:var(--ink);margin:1.3rem 0 .3rem;font-family:Georgia,serif;font-size:2rem}.scan-empty p{max-width:28rem;line-height:1.6}.qr-placeholder{opacity:.32;border:.7rem solid var(--wine);width:7rem;height:7rem;position:relative}.qr-placeholder span{border:.4rem solid var(--wine);width:1.6rem;height:1.6rem;position:absolute}.qr-placeholder span:first-child{top:.6rem;left:.6rem}.qr-placeholder span:nth-child(2){top:.6rem;right:.6rem}.qr-placeholder span:nth-child(3){bottom:.6rem;left:.6rem}.scan-status{color:#fff;border-radius:.8rem;align-items:center;gap:.8rem;padding:1rem;display:flex}.scan-status strong,.scan-status span{display:block}.scan-status span{opacity:.8;margin-top:.15rem;font-size:.85rem}.scan-status-valid{background:var(--success)}.scan-status-warning{background:var(--warning)}.scan-status-danger{background:var(--danger)}.party-summary{border-bottom:1px solid var(--line);padding:1.5rem 0}.party-summary h2{margin:.25rem 0;font-family:Georgia,serif;font-size:2.4rem;font-weight:500}.party-summary p{color:var(--muted);margin:0}.admission-counts{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:1rem;display:grid}.admission-counts span{color:var(--muted);border:1px solid var(--line);text-align:center;background:#fff;border-radius:.5rem;padding:.7rem;font-size:.75rem}.admission-counts strong{color:var(--ink);font-size:1.4rem;display:block}.attendee-list{margin:1rem 0}.attendee-heading{justify-content:space-between;align-items:baseline;margin-bottom:.6rem;display:flex}.attendee-heading small{color:var(--muted)}.attendee-row{border:1px solid var(--line);cursor:pointer;background:#fff;border-bottom:0;align-items:center;gap:.7rem;padding:.8rem;display:flex}.attendee-row:first-of-type{border-radius:.65rem .65rem 0 0}.attendee-row:last-child{border-bottom:1px solid var(--line);border-radius:0 0 .65rem .65rem}.attendee-row input{width:1.2rem;height:1.2rem;accent-color:var(--success)}.attendee-row span{flex:1}.attendee-row strong,.attendee-row small{display:block}.attendee-row small{color:var(--muted);text-transform:capitalize;margin-top:.1rem}.attendee-checked{opacity:.55;cursor:default}.check-in-button{background:var(--success);min-height:3.5rem;margin:1rem 0 .6rem;font-size:1rem}.scan-retry{margin-top:.7rem;display:flex}.network-banner{z-index:200;color:#fff;background:var(--danger);width:min(94vw,40rem);box-shadow:var(--shadow);text-align:center;border-radius:0 0 .7rem .7rem;justify-content:center;align-items:center;gap:.6rem;padding:.75rem 1rem;font-size:.85rem;font-weight:700;display:flex;position:fixed;top:0;left:50%;translate:-50%}@media (max-width:900px){.auth-page{grid-template-columns:1fr}.auth-art{min-height:auto;padding:2rem}.auth-art .display{font-size:3rem}.shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.sidebar-footer{margin-top:1rem;position:static}.nav{grid-template-columns:repeat(4,1fr);overflow-x:auto}.nav a{white-space:nowrap;justify-content:center}.metrics{grid-template-columns:repeat(2,1fr)}.section-grid{grid-template-columns:1fr}.log-filters,.filter-bar,.guest-filter-bar{grid-template-columns:1fr 1fr}.filter-actions{grid-column:1/-1}.scanner-layout{grid-template-columns:1fr}.scanner-panel,.scan-result-panel{padding:1rem}.camera-frame{aspect-ratio:auto;height:min(58vh,32rem)}.scan-result-panel{min-height:calc(100vh - 4.5rem);scroll-margin-top:4.5rem}}@media (max-width:560px){.auth-art{display:none}.auth-panel{min-height:100vh;padding:1rem}.metrics{grid-template-columns:1fr}.page-heading{flex-direction:column;align-items:start}.form-grid{grid-template-columns:1fr}.nav{grid-template-columns:repeat(4,max-content)}.nav a span{display:none}.scanner-controls{grid-template-columns:1fr}.scan-header{align-items:flex-start}.scan-header>div:last-child{flex-wrap:wrap;justify-content:flex-end}.scan-header .button{min-height:2.45rem;padding:.55rem .65rem;font-size:.78rem}.manual-scan>div{flex-direction:column;align-items:stretch}.scan-matches button,.attendee-row{min-height:3.25rem}.attendee-heading{flex-direction:column;align-items:flex-start;gap:.25rem}.party-summary h2{font-size:2rem}.admission-counts span{padding:.6rem .35rem}.import-summary{grid-template-columns:repeat(2,1fr)}.heading-actions{width:100%}.heading-actions .button{flex:1}.danger-zone{flex-direction:column;align-items:stretch}.guest-profile dl{grid-template-columns:1fr}.bulk-pass-toolbar{flex-direction:column;align-items:stretch}.bulk-pass-toolbar>div:last-child{flex-direction:column}.filter-bar,.guest-filter-bar{grid-template-columns:1fr}.guest-sharing-card,.duplicate-summary{flex-direction:column;align-items:stretch}.allocation-filters,.allocation-classifier-controls{grid-template-columns:1fr}.allocation-classifier-controls .button{width:100%}.filter-actions{grid-column:auto}.filter-actions .button{flex:1}.staff-actions{flex-direction:column;align-items:stretch}.log-filters{grid-template-columns:1fr}.pagination{justify-content:space-between;gap:.4rem}.pagination .button{padding-inline:.65rem}}@media (prefers-reduced-motion:reduce){:where(button,a,[role=button]),.event-row{transition:none}.loading-spinner{animation-duration:1.8s}.navigation-progress:before{animation:none}}
