
:root{--bg:#101116;--panel:#1b1d25;--border:#30323d;--muted:#9c9ea9;--accent:#d8b879;--text:#f5f4f1;color-scheme:dark;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:clamp(30px,3vw,43px);letter-spacing:-1.4px;font-weight:600;line-height:1.15}h2{font-size:21px;font-weight:600;letter-spacing:-.4px}h3{font-size:18px;font-weight:600}p{line-height:1.65;color:var(--muted)}small{display:block;color:var(--muted);font-size:12px;line-height:1.6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:4px}img{display:block;max-width:100%}input[type=checkbox]{accent-color:var(--accent);width:19px;height:19px;flex-shrink:0}hr{border:0;border-top:1px solid var(--border);margin:20px 0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;border-radius:9px;padding:12px 19px;font-size:14px;font-weight:600;border:1px solid transparent;white-space:nowrap;transition:background .15s,transform .15s}.button:hover{transform:translateY(-1px)}.primary{background:var(--accent);color:#191713}.primary:hover{filter:brightness(1.06)}.secondary{background:#242630;border-color:#363946;color:#efeff2}.secondary:hover{background:#303340}.compact{padding:9px 12px;min-height:39px;font-size:12px}.button-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:#c5c5cd;border-radius:6px;padding:6px}.icon-button:hover{background:#ffffff14;color:white}.text-button{display:flex;gap:8px;align-items:center;border:0;background:transparent;color:#c8bb9e;padding:11px 0;font-size:13px}.brand{width:200px;height:55px;object-fit:contain}.brand.small{width:150px;height:42px}.eyebrow{display:block;color:var(--accent);font-size:10px;font-weight:700;letter-spacing:2px;margin-bottom:12px}.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid #ffffff29;border-radius:30px;padding:6px 10px;font-size:9px;font-weight:700;letter-spacing:1.3px;background:#12131988;white-space:nowrap}.status-dot{display:inline-block;width:6px;height:6px;border-radius:100%;background:#9fc4a7;box-shadow:0 0 8px #8cae9066}.panel{background:var(--panel);border:1px solid var(--border);border-radius:13px;padding:24px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.section-heading>span{font-size:12px;color:var(--muted)}.section-heading h2>span,.guest-gallery h2>span{font-size:13px;color:var(--muted);font-weight:400;margin-left:8px}.hint{font-size:12px;line-height:1.65;color:var(--muted)}.loading{min-height:100dvh;display:flex;flex-direction:column;gap:20px;align-items:center;justify-content:center;padding:30px;text-align:center}.loading>svg{color:var(--accent)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.alert{position:relative;z-index:60;display:flex;gap:9px;align-items:center;justify-content:center;padding:12px 20px;background:#453c25;color:#f5dfad;font-size:13px}.alert.error{background:#522e31;color:#ffd8d8}.alert .icon-button{margin-left:10px}.dashboard>.alert{position:fixed;top:0;left:0;right:0}.toast{position:fixed;z-index:100;bottom:28px;left:50%;transform:translateX(-50%);background:#ece5d7;color:#29241a;padding:15px 22px;box-shadow:0 12px 50px #0008;border-radius:9px;font-size:14px;display:flex;gap:10px;align-items:center;max-width:90vw}
.dashboard{display:flex;min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;width:237px;padding:38px 23px 25px;background:#16171e;border-right:1px solid #292b34;display:flex;flex-direction:column;z-index:5}.sidebar .brand{margin-bottom:52px;width:185px}.sidebar-label{font-size:9px;letter-spacing:1.8px;color:#7b7d88;margin:0 12px 17px}.nav-item{display:flex;align-items:center;gap:11px;border:0;border-radius:8px;width:100%;padding:14px 13px;text-align:left;font-size:13px;background:#d8b87917;color:var(--accent)}.sidebar-bottom{margin-top:auto;padding:25px 11px 0}.sidebar-bottom p{font-family:Georgia,serif;font-style:italic;font-size:28px;line-height:1.4;color:#e0d4bd;margin-bottom:23px}.sidebar-bottom span{display:block;font-size:9px;color:#747682;line-height:1.8}.sidebar-bottom a{display:inline-block;margin-top:18px;color:#aaa9b1;font-size:11px}.workspace{margin-left:237px;width:calc(100% - 237px)}.topbar{height:80px;border-bottom:1px solid #292b34;padding:0 43px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#bbbcc5}.topbar>span:first-child{display:flex;align-items:center;gap:9px}.topbar-right{display:flex;align-items:center;gap:19px;font-size:9px;letter-spacing:1.4px}.topbar-right svg{color:var(--accent)}.workspace-body{padding:41px 43px 60px;max-width:1550px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:33px}.page-heading p:not(.eyebrow){font-size:13px;margin-top:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:12px;background:linear-gradient(100deg,#1e2029,#181a21);padding:25px 0;margin-bottom:39px}.stats>div{padding:0 30px;border-right:1px solid var(--border)}.stats>div:last-child{border:0}.stats span{display:block;color:#9698a5;font-size:9px;letter-spacing:1.8px;margin-bottom:11px}.stats strong{font-size:33px;font-weight:400;letter-spacing:-1px}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.event-card{text-align:left;padding:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--panel);color:var(--text);transition:transform .2s,border-color .2s}.event-card:hover{transform:translateY(-3px);border-color:#6b5e48}.event-art{height:172px;position:relative;padding:21px;background:radial-gradient(ellipse at 80% 50%,#78654833,transparent 70%),#27252a;overflow:hidden}.event-art:before{content:'';position:absolute;inset:-60px -40px 10px 60px;border:1px solid #ffffff14;border-radius:50%;transform:rotate(-35deg)}.event-art:after{content:'';position:absolute;inset:30px -30px -100px -50px;border:1px solid #ffffff0c;border-radius:50%}.event-art>svg{position:absolute;right:24px;bottom:38px;opacity:.17;color:var(--event-colour);transform:rotate(-13deg)}.event-art .pill{position:relative;color:#e9d9ba;z-index:1;font-size:8px}.art-name{position:absolute;bottom:24px;left:21px;right:38px;font-family:Georgia,serif;font-size:26px;line-height:1.15;color:#f7eddd;z-index:1}.art-1{background:radial-gradient(ellipse at 80% 50%,#506c7833,transparent 70%),#24292e}.art-2{background:radial-gradient(ellipse at 80% 50%,#78607833,transparent 70%),#29242e}.event-details{padding:19px}.event-details h3{font-size:17px;margin-bottom:14px}.event-details>p{font-size:11px;display:flex;align-items:center;gap:7px;margin-bottom:5px}.event-card-footer{border-top:1px solid var(--border);padding-top:15px;margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:#bcb0a0}.event-card-footer span:first-child{display:flex;gap:6px;align-items:center;color:#9c9ea9}.new-event{border:1px dashed #48443e;background:#1a1919;border-radius:12px;min-height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;color:#d9cebb;gap:17px}.new-event:hover{background:#22201d}.new-event>span{border:1px solid #594d3c;background:#d8b87912;border-radius:50%;width:58px;height:58px;display:grid;place-items:center;color:var(--accent)}.new-event h3{font-size:15px}.new-event p{font-size:12px;text-align:center}.brand-settings{margin-top:30px;padding:22px 0;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);gap:20px}.brand-settings h3{font-size:14px;margin-bottom:5px}.brand-settings p{font-size:12px}.sign-in{margin:60px auto;max-width:560px;padding:45px;text-align:center}.sign-in .camera-orbit{margin:0 auto 30px}.sign-in h1{font-family:Georgia,serif;font-weight:400;font-size:45px;margin-bottom:20px}.sign-in p:not(.eyebrow){font-size:14px;margin-bottom:30px}.sign-in small{margin-top:20px}.back-button{border:0;color:#b1b0b9;background:transparent;display:flex;align-items:center;gap:7px;padding:0;margin-bottom:25px;font-size:12px}.event-control-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(270px,1fr);gap:23px;margin-bottom:33px}.mini-wall{display:grid;grid-template-columns:minmax(0,1fr) 100px;aspect-ratio:16/8;background:#111218;border-radius:7px;overflow:hidden;border:1px solid #35333b;margin:7px 0 17px}.mini-photos{min-width:0;display:grid;place-items:center;text-align:center;overflow:hidden;padding:12px;background:radial-gradient(ellipse at center,#2f2b27,#141419)}.mini-photos img{width:100%;height:100%;object-fit:contain}.mini-photos>div svg{margin:0 auto 18px;color:#bba374}.mini-photos h3{font-family:Georgia,serif;font-size:24px;font-weight:400;margin-bottom:11px}.mini-photos p{font-size:10px}.mini-qr{padding:14px 10px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#1e1e25;gap:10px}.mini-qr b{font-size:8px;color:#d5b579}.qr{width:100%;height:auto;aspect-ratio:1;background:#fff;border-radius:6px}.controls-panel h2{margin-bottom:20px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:21px}.toggle-row b{font-size:12px;font-weight:500}.toggle-row small{font-size:10px;margin-top:5px}.toggle-row input{width:32px;height:20px}.capacity{padding-top:10px;border-top:1px solid var(--border);font-size:10px}.tabs{display:flex;flex-wrap:wrap;gap:4px;background:#1b1d25;border:1px solid #2c2e39;padding:4px;border-radius:8px}.tabs button{border:0;background:transparent;color:#a6a8b3;border-radius:5px;font-size:10px;padding:9px 11px}.tabs button.active{background:#35343b;color:#e7d5b1}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.photo-card{overflow:hidden;border:1px solid var(--border);background:#1b1d25;border-radius:10px}.photo-card>img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#111218}.photo-card>.button{margin:12px;width:calc(100% - 24px)}.photo-actions{display:flex;align-items:center;justify-content:space-between;padding:9px 11px}.photo-actions>div{display:flex;gap:2px}.photo-status{text-transform:uppercase;letter-spacing:1px;font-size:8px;color:#b6a893}.photo-status.approved{color:#9bbea2}.photo-status.rejected{color:#b29c9c}.approve{color:#a2c4aa}.empty-gallery{min-height:210px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px;text-align:center}.empty-gallery svg{color:#79736b}.empty-gallery h3{font-size:17px}.empty-gallery p{font-size:12px}
.modal-backdrop{position:fixed;inset:0;z-index:80;background:#000b;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto}.modal{background:#1c1e26;border:1px solid #44434a;border-radius:16px;padding:28px;width:100%;max-width:540px;max-height:calc(100dvh - 48px);overflow:auto;position:relative;box-shadow:0 20px 90px #0009}.modal .section-heading{align-items:flex-start}.modal h2{font-size:25px}.modal form>label,.form-row>label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#d3d0ce;margin-bottom:17px}.modal input:not([type=checkbox]):not([type=color]),.modal textarea,.modal select{display:block;width:100%;background:#13151c;border:1px solid #3a3c48;border-radius:7px;color:#f3efea;padding:12px;font-size:13px;min-width:0}.modal textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modal form>.colour-row{flex-direction:row;align-items:center;gap:12px}.colour-row input{width:38px;height:30px;padding:0;background:none;border:0}.colour-row span{color:#92939e;font-size:11px}.modal form>.check-row{display:flex;flex-direction:row;gap:11px;align-items:center;margin:22px 0 13px}.modal .hint{margin-bottom:23px}.modal form>.button{width:100%}.form-error{color:#ffc2c2;font-size:13px;margin-bottom:15px}.qr-modal{text-align:center;max-width:440px;padding:40px}.qr-modal .qr{width:275px;margin:26px auto}.qr-modal h3{color:var(--accent);font-size:24px;margin-bottom:12px}.qr-modal p{font-size:13px;margin-bottom:23px}.modal-close{position:absolute;right:13px;top:13px}
.guest{max-width:850px;margin:auto;padding:0 25px}.guest-header{display:flex;flex-direction:column;align-items:center;gap:23px;padding:32px 0}.guest-header .brand{width:215px;height:60px}.guest-header .pill{color:var(--accent);border-color:#d8b87944;font-size:9px}.guest-intro{text-align:center;padding:12px 15px 29px}.guest-intro h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(35px,7vw,53px);line-height:1.13;letter-spacing:-1px}.guest-intro>.event-meta{font-size:12px;margin:16px 0 20px;color:#c5bba8}.guest-intro>p:last-child{font-size:14px;max-width:460px;margin:auto}.upload-card{max-width:460px;margin:auto;text-align:center;background:radial-gradient(ellipse at top,#d8b8790a,transparent 70%),#1a1c23;border:1px solid #3c3934;border-radius:15px;padding:27px}.camera-orbit{border:1px solid #d8b8794d;background:#d8b8790e;color:var(--accent);border-radius:50%;height:75px;width:75px;display:grid;place-items:center}.upload-card .camera-orbit{margin:0 auto 21px}.upload-card h2{font-size:21px;margin-bottom:12px}.upload-card>p{font-size:13px;margin-bottom:21px}.consent{display:flex;align-items:flex-start;gap:10px;text-align:left;font-size:11px;color:#a8a7af;line-height:1.6;margin:24px 0}.consent input{margin:1px 0}.upload-card .button{width:100%;margin-bottom:11px}.upload-card small{font-size:10px;line-height:1.9;margin-top:8px}.closed-message{color:var(--accent)}.guest-gallery{margin:39px 0}.guest-gallery>p{font-size:12px;margin:10px 0 20px}.guest-gallery .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-gallery h2{font-size:22px}.guest-footer{border-top:1px solid #2b2d35;padding:24px 0 35px;text-align:center;color:#aaa9b1;font-size:11px}.guest-footer a{color:var(--accent);font-weight:700}.guest-footer p{font-size:10px;margin:15px auto 0;max-width:350px}
.screen{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,24vw);height:100dvh;background:#090a0e;overflow:hidden}.screen>.alert{position:fixed;left:0;top:0;right:0}.screen-image{position:relative;min-width:0;min-height:0;display:grid;place-items:center;padding:15px;overflow:hidden;background:radial-gradient(ellipse at center,#28242b,#090a0e 75%)}.slide-photo{width:100%;height:100%;object-fit:contain;min-height:0;animation:fade .8s ease}.screen-welcome{text-align:center;padding:40px}.screen-welcome>svg{margin:0 auto 38px;color:var(--accent)}.screen-welcome h1{font-family:Georgia,serif;font-size:clamp(35px,5vw,80px);font-weight:400;max-width:900px;margin-bottom:30px}.screen-welcome>p:last-child{font-size:clamp(16px,1.7vw,25px)}.screen-sidebar{padding:5vh 2.1vw 3vh;background:#18191f;border-left:1px solid #363039;display:flex;align-items:center;text-align:center;flex-direction:column;gap:2.5vh;min-height:0}.screen-sidebar .brand{width:100%;height:7vh;max-height:75px;margin-bottom:1vh}.screen-sidebar h2{font-family:Georgia,serif;font-size:clamp(21px,2.1vw,38px);font-weight:400;margin-bottom:13px;line-height:1.15}.screen-sidebar .eyebrow{font-size:clamp(7px,.64vw,11px)}.screen-sidebar>div>p:not(.eyebrow){font-size:clamp(10px,.9vw,15px)}.scan-card{background:#fff;border-radius:12px;width:min(100%,30vh);padding:5px;flex-shrink:1;min-height:0}.scan-card .qr{max-height:100%;object-fit:contain}.screen-sidebar>h3{color:var(--accent);font-size:clamp(20px,1.9vw,32px)}.screen-sidebar>p{font-size:clamp(12px,1.05vw,17px);max-width:270px}.screen-footer{margin-top:auto;font-size:clamp(8px,.7vw,12px);color:#9a9698;line-height:2}.screen-controls{position:absolute;bottom:15px;left:18px;display:flex;align-items:center;gap:5px;padding:5px 9px;background:#17171bb8;border-radius:8px;opacity:0;transition:opacity .2s}.screen-image:hover .screen-controls,.screen-controls:focus-within{opacity:1}.screen-controls span{font-size:10px;margin:0 5px;color:#b4adb2}@keyframes fade{from{opacity:.25}to{opacity:1}}
@media(min-width:1500px){.event-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-photos{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1100px){.sidebar{width:195px;padding-left:17px;padding-right:17px}.sidebar .brand{width:160px}.workspace{margin-left:195px;width:calc(100% - 195px)}.workspace-body{padding:30px 26px}.topbar{padding:0 26px}.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-control-grid{grid-template-columns:1fr}.controls-panel .toggle-row{max-width:460px}.page-heading{align-items:flex-start;flex-wrap:wrap}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-heading{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:700px){.sidebar{display:none}.workspace{margin:0;width:100%}.topbar{height:60px;padding:0 20px}.topbar-right{display:none}.workspace-body{padding:27px 19px}.page-heading{gap:20px;margin-bottom:25px}.page-heading h1{font-size:32px}.page-heading .button-row{width:100%}.page-heading .button-row>.button{flex:1}.page-heading p:not(.eyebrow){font-size:12px}.stats{padding:19px 0}.stats>div{padding:0 15px}.stats span{font-size:7px;letter-spacing:1px}.stats strong{font-size:27px}.event-grid{gap:14px}.event-art{height:160px;padding:15px}.art-name{font-size:24px;left:15px}.event-art .pill{font-size:6px;letter-spacing:.6px}.event-details{padding:15px}.event-details h3{font-size:15px}.event-details>p{font-size:10px}.event-card-footer{font-size:8px;align-items:flex-start;flex-direction:column;gap:10px}.new-event{min-height:300px;padding:15px}.new-event h3{font-size:13px;text-align:center}.new-event p{font-size:11px}.brand-settings{flex-wrap:wrap}.panel{padding:19px}.mini-wall{grid-template-columns:minmax(0,1fr) 90px}.mini-photos h3{font-size:21px}.mini-photos>div svg{width:30px;margin-bottom:12px}.tabs{width:100%;justify-content:space-between}.tabs button{padding:9px 7px;font-size:9px}.modal{padding:22px}.modal-backdrop{padding:15px}.form-row{gap:12px}.guest{padding:0 19px}.guest-intro{padding-left:0;padding-right:0}.upload-card{padding:24px 21px}.guest-gallery .photo-grid{gap:11px}.guest-gallery .photo-card>.button{font-size:11px;margin:9px;width:calc(100% - 18px)}.sign-in{margin:35px 18px;padding:30px 25px}.sign-in h1{font-size:37px}.screen{grid-template-columns:minmax(0,1fr) 210px}.screen-sidebar{padding:25px 15px;gap:18px}.screen-sidebar .brand{height:40px}.screen-sidebar>p{font-size:11px}.screen-sidebar h2{font-size:22px}.screen-footer{font-size:8px}.screen-welcome{padding:20px}.screen-welcome h1{font-size:34px}.screen-welcome .eyebrow{font-size:7px}.screen-welcome>svg{width:40px;margin-bottom:20px}}
.local-preview-note{position:fixed;z-index:50;top:0;left:237px;right:0;background:#423820;color:#f6dfb4;text-align:center;font-size:10px;padding:7px 14px;letter-spacing:.5px}.dashboard:has(.local-preview-note) .topbar{padding-top:24px}@media(max-width:1100px){.local-preview-note{left:195px}}@media(max-width:700px){.local-preview-note{left:0;font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

.brand{object-fit:contain;background:white;border-radius:12px;padding:8px}.screen-sidebar .brand{max-height:135px}.guest-header .brand{max-height:110px}
/* Keep every display element inside columns 2–7 of an eight-column screen. */
.screen{display:grid;grid-template-columns:12.5% minmax(0,75%) 12.5%;grid-template-rows:minmax(0,1fr);width:100%;height:100dvh;overflow:hidden;background:#090a0e}
.screen-safe{grid-column:2;grid-row:1;display:grid;grid-template-columns:minmax(0,70%) minmax(0,30%);min-width:0;min-height:0;width:100%;height:100%;overflow:hidden}
.screen-safe .screen-image{padding:clamp(6px,1vw,18px);overflow:hidden}
.screen-safe .screen-sidebar{width:100%;min-width:0;padding:clamp(8px,2.6vh,30px) clamp(8px,1.2vw,22px);gap:clamp(5px,1.7vh,22px);overflow:hidden}
.screen-safe .screen-sidebar>*{max-width:100%;min-width:0;overflow-wrap:anywhere}
.screen-safe .screen-sidebar .brand{height:6vh;max-height:74px;margin-bottom:.5vh;flex-shrink:0}
.screen-safe .screen-sidebar h2{font-size:clamp(15px,1.7vw,34px);margin-bottom:1vh;line-height:1.15}
.screen-safe .screen-sidebar .eyebrow{font-size:clamp(6px,.55vw,11px);letter-spacing:1.4px;margin-bottom:.9vh}
.screen-safe .screen-sidebar>div>p:not(.eyebrow){font-size:clamp(8px,.75vw,15px)}
.screen-safe .scan-card{width:min(100%,29vh);max-width:100%;padding:5px;aspect-ratio:1;flex-shrink:0;border-radius:10px}
.screen-safe .scan-card .qr{width:100%;height:100%;display:block}
.screen-safe .screen-sidebar>h3{font-size:clamp(15px,1.5vw,30px);line-height:1.2}
.screen-safe .screen-sidebar>p{font-size:clamp(9px,.85vw,17px);line-height:1.5}
.screen-safe .screen-footer{font-size:clamp(7px,.6vw,12px);line-height:1.7;margin-top:auto}
.screen-safe .screen-welcome{padding:clamp(10px,2vw,40px);max-width:100%;overflow-wrap:anywhere}
.screen-safe .screen-welcome h1{font-size:clamp(25px,3.6vw,72px)}
.screen>.alert{position:fixed;left:12.5%;right:12.5%;width:auto;max-width:75%;overflow-wrap:anywhere}
.screen .toast{max-width:calc(75vw - 32px);white-space:normal}
.screen-loading{width:75%;margin:0 auto;min-width:0;overflow-wrap:anywhere}
.screen-loading>.alert{max-width:100%}
.host-event-qr{display:flex;align-items:center;gap:16px;padding:15px;background:#111218;border-radius:10px;border:1px solid var(--border);margin-bottom:18px}
.host-event-qr .qr{width:128px;max-width:50%;flex-shrink:0}.host-event-qr p{font-size:12px;line-height:1.6}
@media(max-height:540px){.screen-safe .screen-sidebar{gap:1.2vh;padding-top:2vh;padding-bottom:2vh}.screen-safe .screen-sidebar>p{display:none}.screen-safe .screen-sidebar .brand{height:7vh}.screen-safe .scan-card{width:min(100%,31vh)}.screen-safe .screen-sidebar h2{font-size:clamp(12px,1.3vw,22px)}.screen-safe .screen-sidebar>h3{font-size:clamp(11px,1.2vw,20px)}}
/* Standalone host login. */
body.host-login-page{background:#f8f7f3;color:#101d31;color-scheme:light;font-family:Arial,Helvetica,sans-serif;margin:0;min-height:100dvh;display:flex;flex-direction:column}
.host-header{width:min(1180px,90%);margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:30px 0;gap:20px}.host-header img{width:255px;max-width:55vw;height:auto}.host-header>span{font-size:10px;font-weight:700;letter-spacing:2px;color:#60706b}
.host-login-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:85px;align-items:center;width:min(1080px,88%);margin:auto;padding:55px 0 80px}
.host-kicker{font-size:11px;font-weight:800;letter-spacing:2px;color:#008f7e;margin-bottom:20px}
.host-login-intro h1{font-size:clamp(40px,4.8vw,66px);letter-spacing:-2.4px;line-height:1.06;font-weight:800;margin:0 0 25px;color:#101d31}.host-login-intro h1 em{font-style:normal;color:#009b87}.host-login-intro>p:not(.host-kicker){font-size:17px;color:#65716e;max-width:470px}
.host-login-features{display:flex;flex-direction:column;gap:12px;margin-top:30px;font-size:13px;color:#3b5e54}.host-login-features span:before{content:'✓';font-weight:bold;color:#009b87;margin-right:12px}
.host-login-card{background:#fff;border:1px solid #e0e5dd;box-shadow:0 15px 65px #0b302209;border-radius:18px;padding:36px}.host-login-card h2{color:#101d31;font-size:31px;letter-spacing:-1px;margin:0 0 10px}.host-login-card>p:not(.host-kicker){color:#68736f;font-size:14px;line-height:1.6}.host-login-card .host-kicker{margin-bottom:12px}.host-login-card form{margin-top:28px}
.host-login-card label:not(.host-remember){display:block;font-size:12px;font-weight:700;color:#30463f;margin:18px 0 8px}.host-login-card input[type=text],.host-login-card input[type=password]{display:block;width:100%;border:1px solid #cfd9d3;background:#fafbf8;border-radius:8px;padding:14px 13px;color:#101d31;min-width:0;font-size:16px}.host-login-card input:focus-visible{outline-color:#009b87}
.host-remember{display:flex;align-items:center;gap:10px;font-size:12px;color:#68736f;line-height:1.5;margin:20px 0 25px}.host-remember input{accent-color:#009b87;margin:0;width:17px;height:17px}
.host-submit{display:flex;justify-content:center;align-items:center;gap:14px;text-align:center;width:100%;border:0;border-radius:8px;background:#009b87;color:#fff;font-size:14px;font-weight:700;padding:16px 12px;min-height:48px}.host-submit:hover{background:#008774}.host-submit:focus-visible{outline:3px solid #f66a42;outline-offset:3px}
.host-login-card .host-account-note{font-size:11px;text-align:center;margin-top:16px}.host-back{display:block;text-align:center;margin-top:27px;font-size:12px;color:#5d6f67}.host-login-error{padding:12px 15px;border:1px solid #f0c7bd;background:#fff1ec;border-radius:8px;color:#8a3525;font-size:13px;line-height:1.6;margin-top:20px}
.host-login-footer{display:flex;justify-content:space-between;gap:18px;width:min(1180px,90%);margin:0 auto;padding:25px 0;border-top:1px solid #dce3db;font-size:12px;color:#738177}
@media(max-width:760px){.host-header{padding:22px 0}.host-login-layout{grid-template-columns:1fr;gap:30px;padding:30px 0 45px;width:min(470px,90%)}.host-login-intro h1{font-size:40px;letter-spacing:-1.5px}.host-login-intro>p:not(.host-kicker){font-size:15px}.host-login-features{display:none}.host-login-card{padding:27px}.host-login-card h2{font-size:28px}.host-header>span{font-size:8px;letter-spacing:1px}.host-login-footer{font-size:10px}}
.customer-wrap{width:min(1000px,90%);margin:25px auto 65px;flex:1}.customer-heading{margin-bottom:32px}.customer-heading h1{font-size:clamp(32px,4vw,49px);color:#101d31;margin-bottom:15px}.customer-heading>p:not(.host-kicker){font-size:16px;color:#64746d}.customer-auth{max-width:480px;margin:0 auto}.customer-event,.customer-create{margin:28px 0}.customer-event h2{margin-bottom:12px}.customer-event>p{color:#66756e;margin:20px 0}.customer-event-grid{display:grid;grid-template-columns:240px 1fr;gap:35px;margin-top:28px}.customer-event-grid>div{min-width:0}.customer-qr{width:220px;height:220px;max-width:100%;background:white;border:1px solid #dce3db;border-radius:8px}.customer-event-grid a:not(.host-submit),.customer-save-qr{display:block;color:#008f7e;margin-top:15px;font-size:13px}.customer-save-qr{border:1px solid #a4c5bb;border-radius:7px;background:white;padding:10px 16px}.customer-event-link{display:block;width:100%;padding:10px;border:1px solid #cfd9d3;border-radius:7px;font-size:12px;background:#f8fbf7;color:#101d31;margin:10px 0 20px}.customer-event-grid .host-submit{margin:12px 0}.customer-event-grid p{color:#65716e;font-size:14px}.customer-download{background:#101d31}.customer-create input:not([type=hidden]){display:block;width:100%;border:1px solid #cfd9d3;background:#fafbf8;border-radius:8px;padding:13px;font-size:16px;color:#101d31}.customer-create .host-submit{margin-top:25px}.customer-wrap>.host-login-error{margin-bottom:25px}@media(max-width:650px){.customer-event-grid{grid-template-columns:1fr;gap:24px}.customer-qr{margin:auto}.customer-event-grid>div:first-child{text-align:center}.customer-save-qr{margin-left:auto;margin-right:auto}.customer-wrap{width:92%}}
.customer-auth input[type=email]{display:block;width:100%;border:1px solid #cfd9d3;background:#fafbf8;border-radius:8px;padding:14px 13px;color:#101d31;min-width:0;font-size:16px}.customer-auth .host-submit{margin-top:25px}

.host-login-card input[type=email]{display:block;width:100%;border:1px solid #cfd9d3;background:#fafbf8;border-radius:8px;padding:14px 13px;color:#101d31;min-width:0;font-size:16px}.stp-reset-success{padding:16px 18px;border:1px solid #a7d9c4;background:#edf9f2;border-radius:8px;color:#1d5947;font-size:14px;line-height:1.6;margin:20px 0}.stp-reset-success p{margin:8px 0 0}.customer-wrap>.stp-reset-success{max-width:480px;margin:0 auto 22px}.customer-auth>p{line-height:1.7;font-size:14px;color:#566d63}
.extras-wrap>h1{font-size:clamp(32px,5vw,48px);line-height:1.15;color:#101d31;margin:16px 0 20px}.extras-lead{font-size:17px;line-height:1.8;color:#5d7066;max-width:850px}.extras-review{margin:28px 0;padding:25px}.extras-review h2{font-size:24px}.extras-review form{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:18px 0}.extras-review label{margin:0}.extras-review select,.contact-card select,.contact-card textarea{border:1px solid #cfd9d3;border-radius:8px;padding:13px;color:#101d31;background:#fafbf8;font-size:16px}.extras-review .host-submit{width:auto;margin:0;padding:13px 20px}.extras-review p{font-size:13px;color:#5d7066}.extras-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.extras-tabs a{border:1px solid #b8d6c8;padding:10px 15px;border-radius:25px;font-size:13px;color:#245b4c;text-decoration:none}.extras-tabs a[aria-current]{background:#007f70;border-color:#007f70;color:#fff}.extras-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:20px 0}.extras-photo{padding:14px;min-width:0}.extras-photo img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#eef2eb;border-radius:8px}.extras-photo .extras-status{font-size:12px;font-weight:700;color:#365b4e;margin:14px 0}.extras-photo-actions{display:flex;gap:8px;flex-wrap:wrap}.extras-photo-actions button{background:#e9f5ef;color:#205542;border:1px solid #c5d8cc;border-radius:6px;padding:9px 11px;font-size:12px;cursor:pointer}.extras-photo-actions .extras-remove{background:#fff0eb;color:#833c2b;border-color:#e9c9be}.extras-pagination{display:flex;justify-content:space-between;gap:20px;margin:25px 0}.extras-pagination a{color:#007f70}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin:30px 0}.contact-layout>div p{line-height:1.8;color:#60736a}.contact-card{padding:30px}.contact-card select,.contact-card textarea{display:block;width:100%;font-family:inherit}.contact-card textarea{resize:vertical}.contact-card .contact-privacy{font-size:12px;line-height:1.7;color:#60736a;margin-top:18px}.contact-card .contact-consent{display:flex;align-items:flex-start;gap:10px;margin:20px 0;font-size:13px;line-height:1.6}.contact-consent input{margin-top:4px}.contact-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.stp-contact-teaser{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-top:45px;padding-bottom:45px;border-top:1px solid #ccd7cf}.stp-contact-teaser h2{font-size:30px;line-height:1.2;margin:10px 0}.stp-contact-teaser p{color:#5d7066}.stp-contact-teaser>a{display:inline-block;flex-shrink:0;background:#007f70;color:white!important;padding:16px 22px;border-radius:8px;text-decoration:none;font-weight:700}.sign-controls .button-row{display:flex;gap:15px;flex-wrap:wrap}.sign-controls .host-submit{width:auto;padding:14px 22px;margin:0}.sign-controls .host-submit:disabled{opacity:.6;cursor:wait}.sign-controls>p:not(.extras-lead){font-size:13px;color:#5d7066;line-height:1.7;margin:20px 0}.sign-sheet{max-width:760px;background:white;box-shadow:0 12px 40px #17312816;margin:35px auto;padding:20px;display:grid;gap:16px}.sign-cards{grid-template-columns:1fr 1fr}.sign-sheet img{width:100%;display:block}.sign-cards img{border:1px dashed #bdcabc}.sign-poster{max-width:620px}@media(max-width:700px){.extras-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.contact-layout{grid-template-columns:1fr;gap:20px}.stp-contact-teaser{display:block}.stp-contact-teaser>a{margin-top:20px}.sign-controls .button-row>*{width:100%}.extras-review form{display:block}.extras-review select{width:100%;margin:15px 0}.contact-card{padding:23px}}@media(max-width:420px){.extras-photo-grid{grid-template-columns:1fr}}
@media print{@page{size:A4;margin:10mm}body.host-login-page{display:block;background:white;min-height:0}.host-header,.host-login-footer,.extras-wrap>h1,.extras-wrap>.host-kicker,.sign-controls{display:none!important}main.extras-wrap{display:block;width:auto;max-width:none;margin:0;padding:0}.sign-sheet{width:190mm;max-width:none;padding:0;margin:0;box-shadow:none;background:white;break-inside:avoid}.sign-poster{display:block}.sign-poster img{width:190mm;height:269mm}.sign-cards{display:grid;grid-template-columns:92mm 92mm;gap:6mm}.sign-cards img{width:92mm;height:130mm;break-inside:avoid;border:1px dashed #aaa}.stp-print-sign{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
