:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#111112;color:#f5f1e9;font-synthesis:none;--black:#111112;--anthracite:#242426;--gold:#c6a568;--champagne:#e5d2ab;--silver:#b9b6b3;--line:rgba(229,210,171,.18);--danger:#e28b86;--success:#8fc3a4}*{box-sizing:border-box}html{min-height:100%;background:var(--black)}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top right,rgba(198,165,104,.08),transparent 36%),var(--black)}button,input,textarea,select{font:inherit}button,a{transition:.2s ease}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:-.025em}h1{font-size:clamp(2.2rem,6vw,5.6rem);line-height:.98}h2{font-size:clamp(1.65rem,3vw,2.5rem)}small{color:var(--silver)}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.7rem;font-weight:700;color:var(--gold)}.lead{color:var(--silver);line-height:1.75;max-width:48rem}.app-logo{display:block;object-fit:contain;filter:drop-shadow(0 8px 20px rgba(0,0,0,.26))}.app-logo.compact{width:120px;height:120px}.app-logo.hero-logo{width:min(68vw,360px);height:min(31svh,270px);margin-bottom:1.4rem}.app-logo.login-logo{width:190px;height:150px;margin:0 auto 1rem}.app-logo.sidebar-logo{width:50px;height:50px;flex:none}.app-logo.preview-logo{width:75%;height:180px}.primary,.secondary,.text-button,.icon-button,.danger-link,.button-link{border:0;text-decoration:none}.primary{min-height:50px;padding:.8rem 1.3rem;background:var(--champagne);color:#151515;font-weight:750;letter-spacing:.02em}.primary:hover:not(:disabled){background:#f3dfb6;transform:translateY(-1px)}.primary.gold{background:var(--gold)}.secondary,.button-link{padding:.7rem 1rem;background:transparent;border:1px solid var(--line);color:var(--champagne)}.secondary:hover,.button-link:hover{border-color:var(--gold)}.text-button,.icon-button,.danger-link{background:transparent;color:var(--champagne);padding:.35rem}.danger-link{color:var(--danger);text-align:left}.center-state{min-height:100vh;display:grid;place-content:center;place-items:center;gap:1rem;text-align:center;padding:2rem}.center-state h1{font-size:3rem;margin:0}.center-state p{color:var(--silver);max-width:32rem}.error-banner,.success-banner,.warning-box{padding:.9rem 1rem;border-left:3px solid;margin:0 0 1rem;line-height:1.5}.error-banner{background:#e28b861a;border-color:var(--danger);color:#f4b6b2}.success-banner{background:#8fc3a41a;border-color:var(--success);color:#bce1ca}.warning-box{background:#c6a56814;border-color:var(--gold);color:var(--champagne)}.toast{position:fixed;right:1rem;bottom:1rem;z-index:20;background:var(--anthracite);padding:1rem;border:1px solid var(--line)}label{display:grid;gap:.45rem;color:var(--champagne);font-size:.82rem;font-weight:650;letter-spacing:.02em}input,textarea,select{width:100%;border:1px solid rgba(185,182,179,.25);background:#181819;color:#fff;padding:.83rem .9rem;border-radius:0;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--gold);box-shadow:0 0 0 2px #c6a5681f}textarea{min-height:92px;resize:vertical}input[type=color]{padding:.25rem;height:46px}input[type=range]{padding:0;border:0}input[type=checkbox]{width:18px;height:18px;accent-color:var(--gold)}.guest-hero{min-height:100svh;display:grid;place-items:center;text-align:center;padding:2rem 1.25rem;position:relative;background-repeat:no-repeat!important}.hero-content{width:min(100%,650px);display:flex;flex-direction:column;align-items:center}.wedding-logo{width:min(64vw,330px);height:min(30svh,250px);object-fit:contain;margin-bottom:1.6rem;filter:drop-shadow(0 8px 24px rgba(0,0,0,.28))}.guest-hero h1{margin:.25rem 0 .3rem;text-wrap:balance}.signature{font:italic clamp(1.15rem,4vw,1.8rem) Georgia;color:var(--gold);margin-bottom:1rem}.welcome-message{max-width:34rem;line-height:1.7;color:#ffffffd6;white-space:pre-line}.guest-hero .primary{margin-top:1.1rem}.theme-champagne{color:var(--champagne)}.theme-light{color:#fff}.guest-page{min-height:100vh;background:linear-gradient(180deg,#151516,var(--black))}.guest-header{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,4vw,3rem);font:italic 1.15rem Georgia;color:var(--gold)}.content-shell{width:min(1160px,100%);margin:auto;padding:clamp(2rem,6vw,5rem) clamp(1rem,4vw,2rem) 7rem}.content-shell.narrow{width:min(700px,100%)}.content-shell>h1{font-size:clamp(2.4rem,6vw,4.7rem);margin-bottom:1rem}.stencil-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem;margin-top:2.5rem}.stencil-card{padding:0;background:#1c1c1e;border:1px solid var(--line);color:#fff;text-align:left;position:relative;overflow:hidden}.stencil-card img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;filter:saturate(.9);transition:.3s}.stencil-card span{display:block;padding:1rem 1rem .2rem;font:1.25rem Georgia}.stencil-card i{display:block;padding:0 1rem 1rem;color:var(--silver);font-size:.75rem;font-style:normal;text-transform:uppercase;letter-spacing:.12em}.stencil-card:hover{border-color:#c6a56880}.stencil-card:hover img{transform:scale(1.025)}.stencil-card.selected{border:2px solid var(--gold)}.stencil-card.selected:after{content:"✓";position:absolute;right:.7rem;top:.7rem;width:30px;height:30px;display:grid;place-items:center;background:var(--gold);color:#111;border-radius:50%}.sticky-action{position:fixed;left:0;right:0;bottom:0;padding:1rem;background:#111112e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);display:grid;place-items:center;z-index:4}.sticky-action button{width:min(520px,100%)}.empty-state{padding:3rem 1rem;text-align:center;border:1px dashed var(--line);color:var(--silver);margin:1.5rem 0}.selection-summary{display:flex;align-items:center;gap:1rem;padding:.8rem;border:1px solid var(--line);background:#1b1b1d;margin-bottom:2rem}.selection-summary img{width:72px;height:72px;object-fit:cover}.selection-summary div{display:grid;gap:.25rem}.selection-summary strong{font:1.25rem Georgia}.booking-form{display:grid;gap:1.25rem;margin-top:2rem}.booking-form fieldset{border:0;padding:0;margin:0}.booking-form legend{font-size:.82rem;font-weight:650;color:var(--champagne);margin-bottom:.55rem}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.choice-row button{padding:.8rem;border:1px solid var(--line);background:#19191a;color:var(--silver)}.choice-row button.active{border-color:var(--gold);color:#fff;background:#c6a5681f}.check-line{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;gap:.7rem;line-height:1.55;font-weight:400;color:var(--silver)}.check-line input{flex:none;margin-top:.15rem}.turnstile-wrap{min-height:65px}.confirmation-page{min-height:100svh;display:grid;place-items:center;padding:1.2rem;background:radial-gradient(circle at 50% 10%,rgba(198,165,104,.16),transparent 40%),#101011}.confirmation-card{width:min(520px,100%);padding:clamp(2rem,7vw,4rem);border:1px solid var(--line);text-align:center;background:#171718}.success-ring{width:58px;height:58px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;margin:0 auto 1.5rem;color:var(--gold);font-size:1.4rem}.confirmation-card h1{font-size:2.4rem}.confirmation-card h1 strong{color:var(--gold)}.confirmation-card>p{color:var(--silver);line-height:1.7}.receipt-stencil{display:flex;align-items:center;gap:1rem;text-align:left;border-block:1px solid var(--line);padding:1rem 0;margin:1.5rem 0}.receipt-stencil img{width:70px;height:70px;object-fit:cover}.receipt-stencil span{font:1.25rem Georgia;color:#fff}.stencil-card img,.selection-summary img,.receipt-stencil img{object-fit:contain;background:#111}.queue-button{width:100%;margin-top:1.5rem}.queue-card{display:grid;gap:1rem;justify-items:center}.queue-label{margin:0!important}.current-queue{font:clamp(4rem,18vw,7rem) Georgia;color:var(--gold);line-height:1}.your-number{width:100%;display:flex;justify-content:space-between;align-items:center;border-block:1px solid var(--line);padding:1rem 0;margin:.5rem 0}.your-number span{color:var(--silver)}.your-number strong{font:1.6rem Georgia;color:#fff}.queue-refresh{font-size:.75rem!important;margin:.25rem 0!important}.queue-card .secondary{width:100%}.booking-stencil{display:flex;align-items:center;gap:.65rem;min-width:180px}.booking-stencil img{width:58px;height:58px;object-fit:contain;background:#111;border:1px solid var(--line);flex:none}.booking-stencil span{max-width:150px}.admin-login{min-height:100svh;display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at 50% 0,rgba(198,165,104,.14),transparent 38%),#101011}.admin-login section{width:min(430px,100%);border:1px solid var(--line);padding:clamp(1.5rem,6vw,3rem);background:#171718;text-align:center}.admin-login h1{font-size:2.5rem}.admin-login form{text-align:left;display:grid;gap:1rem;margin:1.7rem 0}.admin-login small{line-height:1.5}.admin-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);background:#141415;padding:1.2rem;display:flex;flex-direction:column}.admin-brand{display:flex;align-items:center;gap:1rem;padding:.4rem .3rem 1.5rem}.admin-brand>div{display:grid}.admin-brand strong{font:1.25rem Georgia}.admin-brand small{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.sidebar nav{display:grid;gap:.25rem}.sidebar nav button,.logout{border:0;background:transparent;color:var(--silver);padding:.8rem;text-align:left}.sidebar nav button:hover,.sidebar nav button.active{background:#c6a5681a;color:var(--champagne);box-shadow:inset 2px 0 var(--gold)}.logout{margin-top:auto;color:var(--danger)}.admin-main{min-width:0;padding:clamp(1rem,3vw,2.5rem);background:#101011}.admin-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.admin-top h1{font-size:clamp(2rem,4vw,3.4rem);margin:0}.admin-top .eyebrow{margin-bottom:.4rem}.live-dot{color:var(--success);font-size:.78rem}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}.stat-grid article{border:1px solid var(--line);padding:1.3rem;background:#171718;display:grid;gap:.5rem}.stat-grid small{text-transform:uppercase;letter-spacing:.1em;font-size:.65rem}.stat-grid strong{font:2.4rem Georgia;color:var(--champagne)}.panel{background:#171718;border:1px solid var(--line);padding:clamp(1rem,3vw,1.7rem);margin-bottom:1rem}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.panel-head h2{margin:0}.panel-head .eyebrow{margin-bottom:.35rem}.mini-list{display:grid}.mini-list>div{display:grid;grid-template-columns:60px 1fr auto;gap:1rem;align-items:center;padding:1rem 0;border-top:1px solid var(--line)}.mini-list>div div{display:grid;gap:.2rem}.queue-number{font:1rem Georgia;color:var(--gold);white-space:nowrap}.status{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;padding:.35rem .5rem;border:1px solid}.status.waiting{color:var(--champagne);border-color:#e5d2ab59}.status.called{color:#8ec5db;border-color:#8ec5db}.status.completed{color:var(--success);border-color:var(--success)}.status.cancelled{color:var(--danger);border-color:var(--danger)}.empty-admin{min-height:60vh;display:grid;place-content:center;place-items:center;text-align:center}.empty-admin h2{margin-top:1.5rem}.empty-admin p{color:var(--silver);max-width:31rem}.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse;min-width:850px}.table-wrap th,.table-wrap td{text-align:left;padding:.8rem;border-top:1px solid var(--line);vertical-align:middle}.table-wrap th{font-size:.67rem;text-transform:uppercase;letter-spacing:.1em;color:var(--silver)}.table-wrap td{font-size:.84rem}.table-wrap td strong,.table-wrap td small{display:block}.table-wrap select{padding:.5rem;min-width:125px}.modal-backdrop{position:fixed;inset:0;background:#000000bf;display:grid;place-items:center;padding:1rem;z-index:30}.modal{width:min(520px,100%);max-height:92vh;overflow:auto;background:#1a1a1b;border:1px solid var(--line);padding:1.5rem;position:relative}.modal-close{position:absolute;right:.7rem;top:.7rem;background:#111;border:1px solid var(--line);color:#fff;width:34px;height:34px}.detail-image{width:100%;max-height:280px;object-fit:contain;background:#111;margin-bottom:1.2rem}.modal dl{display:grid;grid-template-columns:100px 1fr;gap:.7rem;border-top:1px solid var(--line);padding-top:1rem}.modal dt{color:var(--silver)}.modal dd{margin:0}.inline-create{display:grid;grid-template-columns:1fr 170px auto;align-items:end;gap:1rem}.file-drop{height:125px;border:1px dashed var(--gold);display:grid;place-items:center;cursor:pointer;overflow:hidden;color:var(--gold)}.file-drop img{width:100%;height:100%;object-fit:contain}.admin-stencil-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem}.admin-stencil-grid article{border:1px solid var(--line);background:#171718;padding:.8rem}.admin-stencil-grid article>img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#111}.admin-stencil-grid article>div{display:flex;justify-content:space-between;align-items:center;padding:.8rem 0}.switch input{display:none}.switch span{display:block;width:42px;height:23px;border:1px solid var(--silver);position:relative}.switch span:after{content:"";position:absolute;width:15px;height:15px;background:var(--silver);left:3px;top:3px;transition:.2s}.switch input:checked+span{border-color:var(--gold)}.switch input:checked+span:after{background:var(--gold);transform:translate(19px)}.editor-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:1.5rem;align-items:start}.theme-form{display:grid;gap:1rem}.theme-form .panel-head{margin-bottom:.5rem}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.file-input{border:1px dashed var(--line);padding:1rem}.file-input input{border:0;padding:.4rem 0;background:transparent}.button-row{display:flex;justify-content:flex-end;gap:.7rem;margin-top:.5rem}.preview-label{text-align:center}.phone-preview{width:min(360px,100%);min-height:680px;margin:auto;border:8px solid #29292a;border-radius:32px;padding:3rem 1.3rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background-repeat:no-repeat!important;box-shadow:0 18px 60px #00000059;overflow:hidden}.phone-preview img{width:75%;height:180px;object-fit:contain}.phone-preview>small{text-transform:uppercase;letter-spacing:.14em;font-size:.55rem;color:var(--gold);margin:1rem 0}.phone-preview h2{font-size:2rem;margin:.2rem}.phone-preview i{font:italic 1.15rem Georgia;color:var(--gold)}.phone-preview p{font-size:.8rem;line-height:1.5;margin:1rem 0}.phone-preview button{border:0;background:var(--gold);padding:.7rem 1rem;margin-top:1rem}.event-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1rem;align-items:start}.event-grid form{display:grid;gap:1rem}.danger-check{color:#efb0ab}.qr-panel{text-align:center;display:grid;place-items:center;gap:1rem}.qr-panel img{width:min(280px,100%);background:#fff;padding:.5rem}.qr-panel code{word-break:break-all;color:var(--silver)}.button-link{display:inline-block}@media(max-width:980px){.admin-shell{grid-template-columns:1fr}.sidebar{position:sticky;z-index:10;height:auto;top:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:.65rem 1rem}.admin-brand small{display:none}.sidebar nav{display:flex;overflow:auto}.sidebar nav button{white-space:nowrap}.logout{margin:0}.stat-grid{grid-template-columns:repeat(2,1fr)}.editor-layout,.event-grid{grid-template-columns:1fr}.phone-preview{min-height:620px}.inline-create{grid-template-columns:1fr 150px}.inline-create .primary{grid-column:1/-1}}@media(max-width:620px){.sidebar{grid-template-columns:1fr}.admin-brand{display:none}.sidebar nav{order:1}.logout{position:absolute;right:.5rem;top:.5rem}.admin-main{padding:1rem}.admin-top{padding-top:.7rem}.admin-top .live-dot{display:none}.stat-grid{grid-template-columns:1fr 1fr;gap:.6rem}.stat-grid article{padding:1rem}.stat-grid strong{font-size:1.8rem}.panel-head{display:grid}.inline-create{grid-template-columns:1fr}.file-drop{height:150px}.two-col{grid-template-columns:1fr}.button-row{display:grid}.button-row button{width:100%}.stencil-grid{grid-template-columns:1fr 1fr;gap:.7rem}.stencil-card span{font-size:1rem;padding:.7rem .7rem .15rem}.stencil-card i{padding:0 .7rem .7rem;font-size:.6rem}.guest-header{height:58px}.mini-list>div{grid-template-columns:48px 1fr}.mini-list .status{grid-column:2}.phone-preview{min-height:600px}.event-grid{display:block}.qr-panel{margin-top:1rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.operator-launch,.export-panel{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border:1px solid var(--line);padding:clamp(1.1rem,3vw,1.7rem);margin-bottom:1rem;background:linear-gradient(120deg,#c6a56824,#171718 55%)}.operator-launch h2,.export-panel h2{margin-bottom:.45rem}.operator-launch p:not(.eyebrow),.export-panel p:not(.eyebrow){color:var(--silver);margin:0}.operator-launch .primary,.export-panel .secondary{flex:none}.operator-page{width:min(760px,100%);margin:0 auto;padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.operator-progress{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem;color:var(--silver);font-size:.82rem}.operator-card,.operator-empty{background:#171718;border:1px solid var(--line);padding:clamp(1rem,4vw,2rem)}.operator-card{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(0,1.15fr);gap:1.5rem;position:relative}.operator-number{grid-column:1 / -1;display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:1rem}.operator-number small{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em}.operator-number strong{font:clamp(3.5rem,12vw,6rem)/.85 Georgia;color:var(--gold)}.operator-stencil{width:100%;aspect-ratio:1 / 1;object-fit:contain;background:#0f0f10;border:1px solid var(--line)}.operator-person{align-self:center}.operator-person h2{font-size:clamp(2rem,6vw,3.4rem);margin:.2rem 0 .75rem}.operator-person>a{display:inline-block;color:var(--champagne);font-size:1.25rem;text-decoration:none;border-bottom:1px solid var(--gold);padding:.35rem 0}.operator-stencil-name{display:grid;gap:.25rem;margin-top:1.5rem}.operator-stencil-name strong{font:1.3rem Georgia}.operator-notes{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:0}.operator-notes>div{border:1px solid var(--line);padding:1rem}.operator-notes dt{color:var(--silver);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.4rem}.operator-notes dd{margin:0;line-height:1.45;overflow-wrap:anywhere}.operator-actions{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1.35fr;gap:.75rem;position:sticky;bottom:calc(.5rem + env(safe-area-inset-bottom));z-index:3}.operator-actions button{min-height:62px;border:1px solid;font-weight:800;letter-spacing:.03em;touch-action:manipulation}.operator-cancel{background:#2a1718;border-color:#e28b868c!important;color:#f4b6b2}.operator-complete{background:var(--champagne);border-color:var(--champagne)!important;color:#111}.operator-empty{text-align:center;display:grid;justify-items:center;padding:clamp(2rem,8vw,5rem)}.operator-empty h2{margin-bottom:.7rem}.operator-empty p:not(.eyebrow){color:var(--silver);line-height:1.55}.operator-empty .primary{margin-top:1rem}@media(max-width:620px){.sidebar{padding-top:calc(.65rem + env(safe-area-inset-top))}.sidebar nav{padding-right:3.2rem}.logout{top:calc(.5rem + env(safe-area-inset-top))}.operator-launch,.export-panel{display:grid}.operator-launch .primary,.export-panel .secondary{width:100%}.operator-card{grid-template-columns:1fr;gap:1rem}.operator-number,.operator-notes,.operator-actions{grid-column:1}.operator-number{align-items:center}.operator-stencil{max-height:38svh}.operator-person{text-align:center}.operator-notes{grid-template-columns:1fr}.operator-actions{margin-inline:-.35rem;bottom:calc(.35rem + env(safe-area-inset-bottom))}.operator-actions button{min-height:66px}.operator-progress{position:sticky;top:calc(53px + env(safe-area-inset-top));z-index:4;background:#101011;padding:.55rem 0}.operator-page{padding-bottom:calc(5rem + env(safe-area-inset-bottom))}}
