:root{--bg:#f8fbf2;--bg-strong:#ffffff;--ink:#172311;--muted:#66735f;--line:#d8e4c9;--green:#587d1f;--green-dark:#2e4a12;--green-soft:#e8f4d4;--yellow:#ffd55a;--red:#d94b3d;--blue:#dff2f6;--shadow:0 18px 44px rgba(36,60,20,0.12);--radius:8px;--content:none}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink)}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}a{color:inherit}img,svg{max-width:100%}button,input,select,textarea{font:inherit}.app-shell,.auth-shell,.landing-shell,.slideshow-shell{min-height:100vh}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:var(--content);margin:0 auto;padding:18px 24px;background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--green-dark);font-weight:900;text-decoration:none}.brand img{width:38px;height:38px;object-fit:contain}.nav-links{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.nav-links a{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:8px 10px;color:var(--green-dark);font-size:.94rem;font-weight:800;text-decoration:none}.drawer-backdrop,.mobile-nav-drawer,.nav-toggle-button,.nav-toggle-input{display:none}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:var(--content);margin:0 auto;padding:28px 24px 34px;color:var(--muted);font-size:.9rem}.site-footer p{margin:0;color:var(--green-dark);font-weight:900}.site-footer nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}.site-footer a{color:var(--green-dark);font-weight:800;text-decoration:none}.button,button.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0;border-radius:var(--radius);padding:10px 16px;font-size:.95rem;font-weight:900;text-decoration:none;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.button:hover,button.button:hover{transform:translateY(-1px)}.button:disabled,button:disabled{cursor:not-allowed;opacity:.62;transform:none}.button.primary{background:var(--green);color:#fff;box-shadow:0 10px 22px rgba(46,74,18,.24)}.button.secondary{background:var(--green-soft);color:var(--green-dark)}.button.danger{border:1px solid #edb0a9;background:#fff1ef;color:#8e2a20;box-shadow:none}.button.ghost{min-height:36px;background:transparent;color:var(--green-dark);box-shadow:none}.button.small{min-height:36px;padding:7px 11px;font-size:.86rem}.hero-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);grid-gap:34px;gap:34px;max-width:var(--content);margin:0 auto;padding:64px 24px 42px;align-items:center}.hero-copy h1{max-width:700px;margin:0;color:var(--green-dark);font-size:4.6rem;line-height:.98}.hero-copy p{max-width:630px;margin:24px 0;color:#34442b;font-size:1.18rem}.hero-actions,.quick-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin:32px 0 0}.hero-facts div{min-width:0;border:1px solid var(--line);border-radius:var(--radius);padding:13px;background:var(--bg-strong)}.hero-facts dt{color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.hero-facts dd{margin:3px 0 0;font-weight:900}.hero-art{position:relative;min-height:420px;border:2px solid #2e4a1218;border-radius:var(--radius);overflow:hidden;background:linear-gradient(180deg,var(--blue),#fff 42%,#ddecad 43%,#c9dc78),#fff;box-shadow:var(--shadow)}.hero-wappen{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-chungus{position:absolute;right:6%;bottom:-8px;width:min(38%,190px);height:auto;filter:drop-shadow(0 18px 18px rgba(20,30,12,.25))}.app-shell>.admin-grid,.app-shell>.admin-tabs,.app-shell>.booking-confirmation,.app-shell>.dashboard-grid,.app-shell>.dashboard-hero,.app-shell>.form-panel,.app-shell>.legal-content,.app-shell>.location-layout,.app-shell>.page-heading,.app-shell>.photo-grid,.app-shell>.quick-actions,.app-shell>.table-panel,.feature-band,.info-section{max-width:var(--content);margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}.feature-band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;padding-top:24px;padding-bottom:54px}.auth-card,.feature-band article,.form-panel,.panel,.photo-grid figure{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-strong);box-shadow:0 8px 28px rgba(36,60,20,.08)}.feature-band article,.panel{padding:22px}.auth-card svg,.feature-band svg,.page-heading>svg,.panel>svg{color:var(--green)}.feature-band h2,.info-section h2,.panel h2{margin:10px 0 8px;color:var(--green-dark);font-size:1.18rem}.feature-band p,.info-section p,.panel p{margin:0;color:var(--muted)}.info-section{padding-top:54px;padding-bottom:74px;border-top:1px solid var(--line)}.info-section>div{max-width:720px}.info-section h2{margin-top:0;font-size:2rem}.info-list{display:grid;grid-gap:12px;gap:12px}.booking-total p,.info-list p{display:flex;align-items:center;gap:9px}.auth-shell{background:linear-gradient(180deg,#fff,var(--bg) 44%),var(--bg)}.auth-card{width:min(520px,calc(100% - 32px));margin:48px auto;padding:28px}.auth-card h1,.dashboard-hero h1,.page-heading h1{margin:0;color:var(--green-dark);line-height:1.05}.auth-card p,.dashboard-hero p,.page-heading p{color:var(--muted)}.auth-card .notice{max-width:none;margin:0}.form-panel{display:grid;grid-gap:16px;gap:16px;padding:22px}.form-panel.wide{margin-top:20px}.install-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:16px;gap:16px;align-items:center;max-width:var(--content);margin:8px auto 20px;border:1px solid var(--line);border-radius:var(--radius);padding:18px 24px;background:#f1f8e6;box-shadow:0 8px 28px rgba(36,60,20,.08)}.install-panel-main{display:flex;gap:14px;align-items:flex-start;min-width:0}.install-panel-main svg,.install-panel-note svg{flex:0 0 auto;color:var(--green)}.install-panel h2{margin:0 0 4px;color:var(--green-dark);font-size:1.05rem}.install-panel p{margin:0;color:var(--muted)}.install-panel-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.install-fallback{max-width:340px;text-align:right;font-size:.88rem}.install-state{display:inline-flex;min-height:44px;gap:7px;font-weight:900}.install-panel-note,.install-state{align-items:center;color:var(--green-dark)}.install-panel-note{grid-column:1/-1;display:flex;gap:9px;border-top:1px solid var(--line);padding-top:12px;font-size:.9rem;font-weight:800}fieldset,label{display:grid;grid-gap:7px;gap:7px;min-width:0;color:var(--green-dark);font-size:.9rem;font-weight:900}input,select,textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:var(--radius);padding:11px 12px;background:#fff;color:var(--ink);font-size:.96rem}textarea{resize:vertical}.form-grid{display:grid;grid-gap:14px;gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.address-fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:#fbfff5}.address-fieldset legend{padding:0 6px;color:var(--green-dark);font-weight:900}.address-grid{grid-template-columns:minmax(220px,2fr) minmax(100px,.7fr) minmax(160px,1.2fr)}.inline-reset{display:flex;gap:8px;align-items:center;margin-top:12px}.inline-reset input{flex:1 1}.form-hint,.legal-note,.small-text,td span{color:var(--muted);font-size:.86rem}.legal-note{margin:0}.legal-note a{color:var(--green-dark);font-weight:900}.notice{max-width:var(--content);margin:16px auto;border-radius:var(--radius);padding:13px 16px;font-weight:800}.notice.error{border:1px solid #edb0a9;background:#fff1ef;color:#8e2a20}.notice.success{border:1px solid #b9d895;background:#eef9df;color:var(--green-dark)}.page-heading{display:flex;align-items:center;gap:16px;padding-top:44px;padding-bottom:20px}.page-heading.spread{justify-content:space-between}.page-heading.spread>div{display:flex;align-items:center;gap:14px}.page-heading img{width:76px;height:76px;object-fit:contain}.legal-content{display:grid;grid-gap:24px;gap:24px;margin-top:12px;margin-bottom:72px}.legal-content section{display:grid;grid-gap:10px;gap:10px}.legal-content h2{margin:0}.legal-content address,.legal-content li,.legal-content p{max-width:920px;color:var(--muted)}.legal-content address{font-style:normal}.legal-content ul{display:grid;grid-gap:8px;gap:8px;margin:0;padding-left:22px}.legal-content a{color:var(--green-dark);font-weight:900}.legal-warning{border:1px solid #e3c86e;border-radius:var(--radius);padding:13px 15px;background:#fff9df;color:#66540e;font-weight:800}.legal-backlink{padding-top:8px}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,360px);grid-gap:20px;gap:20px;align-items:center;margin-top:22px;padding-top:30px;padding-bottom:30px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#fff,#eef8dd);box-shadow:var(--shadow)}.dashboard-hero h1{font-size:2.6rem}.dashboard-hero img{max-height:280px;object-fit:contain;object-position:center}.muted{color:var(--muted);font-weight:900}.dashboard-grid,.event-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:18px}.event-metrics .panel{min-height:150px}.event-metrics p{margin-bottom:4px;color:var(--green-dark);font-size:1.35rem;font-weight:900}.event-metrics span{color:var(--muted);font-size:.92rem}.quick-actions{padding-top:22px;padding-bottom:60px}.payment-box{display:grid;grid-gap:4px;gap:4px;margin-top:10px;border-left:4px solid var(--yellow);padding-left:10px}.panel-action{margin-top:12px}.location-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:16px;gap:16px;padding-top:12px;padding-bottom:72px}.location-main,.location-side{align-self:start}.location-main h3{margin:18px 0 6px;color:var(--green-dark);font-size:.92rem;text-transform:uppercase}.location-address{white-space:pre-line}.location-link{margin-top:18px}.location-facts{display:grid;grid-gap:14px;gap:14px;margin:0}.location-facts div{border-top:1px solid var(--line);padding-top:12px}.location-facts dt{color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.location-facts dd{margin:3px 0 0;color:var(--ink);font-weight:800}.notice-inline{color:var(--muted)}.status{display:inline-flex;align-items:center;min-height:28px;border-radius:var(--radius);padding:4px 8px;font-size:.78rem;font-weight:900}.status-pending_payment{background:#fff4c7;color:#785b00}.status-paid{background:#e2f5d0;color:var(--green-dark)}.status-waitlisted{background:#e3f2ff;color:#1d5173}.status-cancelled{background:#f3e5e2;color:#8e2a20}.booking-panel{margin-top:16px;margin-bottom:70px}.segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;border:1px solid var(--line);border-radius:var(--radius);padding:6px;background:#f2f8e8}.segmented button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:42px;border:0;border-radius:var(--radius);background:transparent;color:var(--green-dark);font-weight:900;cursor:pointer}.segmented button.active{background:#fff;box-shadow:0 6px 16px rgba(36,60,20,.1)}.day-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));border:0;padding:0}.day-grid legend{margin-bottom:8px}.check-tile{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius);padding:11px;background:#fff}.check-tile input{width:18px}.booking-total{display:flex;align-items:center;justify-content:space-between;gap:18px;border:2px solid var(--green-soft);border-radius:var(--radius);padding:16px;background:#fbfff5}.booking-total span{color:var(--muted);font-weight:900}.booking-total strong{display:block;color:var(--green-dark);font-size:2rem;line-height:1.1}.booking-confirmation{display:grid;grid-gap:16px;gap:16px;padding-bottom:72px}.confirmation-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.confirmation-hero h2{margin:4px 0 8px;color:var(--green-dark);font-size:2rem}.confirmation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.confirmation-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);grid-gap:14px;gap:14px}.confirmation-amount{color:var(--green-dark);font-size:1.5rem;font-weight:900}.payment-list{display:grid;grid-gap:6px;gap:6px;border-left:4px solid var(--yellow);padding-left:12px}.payment-list p{margin:0}.payment-balance{display:inline-flex;width:-moz-fit-content;width:fit-content;border-radius:6px;padding:3px 8px;font-size:.88rem;font-weight:900}.payment-balance-due{background:#fff5d6;color:#6a4a00}.payment-balance-refund{background:#e8f3ff;color:#16496e}.payment-balance-ok{background:#edf8d9;color:var(--green-dark)}.confirmation-actions{padding-left:0;padding-right:0}.upload-panel{margin-top:12px;margin-bottom:22px}.upload-error{margin:0;border:1px solid #edb0a9;border-radius:8px;background:#fff1ef;color:#8e2a20;padding:10px 12px;font-size:.9rem;font-weight:800}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:14px;gap:14px;padding-bottom:70px}.photo-card{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 14px 36px rgba(31,72,19,.08)}.photo-open-button{display:block;width:100%;border:0;padding:0;background:transparent;color:inherit;cursor:pointer;text-align:inherit}.photo-open-button:focus-visible{outline:3px solid #a8d65a;outline-offset:-3px}.photo-frame{position:relative;aspect-ratio:4/3;overflow:hidden;background:#eef7e5}.photo-frame img{object-fit:cover;transition:transform .16s ease}.photo-open-button:hover .photo-frame img{transform:scale(1.03)}.photo-open-hint{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:rgba(17,23,13,.78);color:#fff;padding:7px 10px;font-size:.82rem;font-weight:900;opacity:0;transform:translateY(4px);transition:opacity .16s ease,transform .16s ease}.photo-open-button:focus-visible .photo-open-hint,.photo-open-button:hover .photo-open-hint{opacity:1;transform:translateY(0)}.photo-grid figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;color:var(--muted);font-weight:800}.photo-grid figcaption>span{min-width:0;overflow-wrap:anywhere}.photo-delete-form{flex:0 0 auto}.photo-delete-button{display:inline-flex;align-items:center;gap:5px;border:1px solid #edb0a9;border-radius:999px;background:#fff1ef;color:#8e2a20;padding:6px 9px;font-size:.78rem;font-weight:900;cursor:pointer}.photo-empty{border:1px dashed var(--line);border-radius:var(--radius);background:#fbfff5;color:var(--muted);padding:18px;font-weight:800}.photo-lightbox-backdrop{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:rgba(9,17,7,.84);padding:18px}.photo-lightbox{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;width:min(100%,1120px);max-height:calc(100vh - 36px);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);background:#10170d;box-shadow:0 26px 90px rgba(0,0,0,.42);overflow:hidden}.photo-lightbox-image{position:relative;height:min(76vh,760px);min-height:280px;background:#0f150d}.photo-lightbox-image img{object-fit:contain}.photo-lightbox-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid rgba(255,255,255,.12);background:rgba(16,23,13,.94);color:#eef8dd;padding:14px 16px}.photo-lightbox-footer p{margin:0;font-weight:900;overflow-wrap:anywhere}.photo-lightbox-close,.photo-lightbox-nav{position:absolute;z-index:2;display:inline-grid;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(16,23,13,.76);color:#fff;cursor:pointer}.photo-lightbox-close{top:12px;right:12px;width:42px;height:42px}.photo-lightbox-nav{top:50%;width:46px;height:46px;transform:translateY(-50%)}.photo-lightbox-nav.previous{left:12px}.photo-lightbox-nav.next{right:12px}.slideshow-shell{background:#11170d;color:#fff}.slideshow-shell .site-header{background:rgba(17,23,13,.76)}.slideshow-shell .brand,.slideshow-shell .button.ghost,.slideshow-shell .nav-links a,.slideshow-shell .nav-toggle-button{color:#fff}.slideshow-stage{display:grid;place-items:center;min-height:calc(100vh - 82px);padding:20px}.slideshow-frame{position:relative;width:min(100%,1400px);height:calc(100vh - 150px);border-radius:var(--radius);box-shadow:0 22px 70px rgba(0,0,0,.45);overflow:hidden}.slideshow-frame img{object-fit:contain}.slideshow-stage p{margin:18px 0 0;color:#eef8dd;font-size:1.6rem;font-weight:900}.slideshow-empty{display:grid;place-items:center;min-height:calc(100vh - 82px);color:#eef8dd;font-size:2rem;font-weight:900}.admin-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;grid-gap:16px;gap:16px;align-items:start;margin-top:16px;margin-bottom:72px}.admin-grid-single{grid-template-columns:minmax(0,1fr)}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;padding-top:4px;padding-bottom:8px}.admin-tabs a{display:inline-flex;align-items:center;min-height:40px;border:1px solid var(--line);border-radius:var(--radius);padding:8px 13px;background:#fbfff5;color:var(--green-dark);font-weight:900;text-decoration:none}.admin-tabs a.active{border-color:#9fcb65;background:var(--green);color:#fff;box-shadow:0 8px 20px rgba(46,74,18,.18)}.admin-form{padding:22px}.settings-form{grid-column:1/-1}.settings-form h3{margin:8px 0 0;color:var(--green-dark)}.mail-template-form{gap:22px}.mail-template-editor{display:grid;grid-gap:14px;gap:14px;border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:#fbfff5}.mail-template-editor legend{padding:0 6px;color:var(--green-dark);font-size:1rem;font-weight:900}.settings-title-row{margin-bottom:0}.secret-status-grid{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.checkbox-line{display:flex;align-items:center;gap:8px;padding-top:29px}.checkbox-line input{width:18px}.admin-side{display:grid;grid-gap:16px;gap:16px}.table-panel{margin-top:16px;margin-bottom:16px}.section-title-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.section-title-row h2{margin-top:0}.admin-metrics{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.admin-metrics span{display:inline-flex;align-items:center;min-height:32px;border:1px solid var(--line);border-radius:var(--radius);padding:5px 9px;background:#fbfff5;color:var(--green-dark);font-size:.82rem;font-weight:900;white-space:nowrap}.table-wrap{overflow-x:auto}table{width:100%;min-width:1240px;border-collapse:collapse}.members-table{min-width:1060px}.occupancy-table{min-width:1120px}.attendance-row-selected{background:#fbfff5}.arrival-summary-button,.day-select-button{display:inline-flex;align-items:center;min-height:34px;border:1px solid transparent;border-radius:var(--radius);padding:6px 9px;background:transparent;color:var(--green-dark);box-shadow:none;font-size:.96rem;font-weight:900;text-align:left;cursor:pointer}.arrival-summary-button:hover,.attendance-row-selected .day-select-button,.day-select-button:hover{border-color:#9fcb65;background:#eef8dd}.arrival-summary-button{gap:7px;white-space:nowrap}.arrival-summary-button svg{flex:0 0 auto}.occupancy-cell{display:grid;grid-template-columns:minmax(160px,1fr) auto;grid-gap:10px;gap:10px;align-items:center}.occupancy-track{height:12px;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:#eef8dd}.occupancy-track span{display:block;height:100%;border-radius:inherit;background:var(--green)}.arrival-list{display:grid;grid-gap:6px;gap:6px;min-width:220px;margin:0;padding:0;list-style:none}.arrival-list li{display:grid;grid-gap:2px;gap:2px}.arrival-list strong{color:var(--green-dark)}.arrival-list span{color:var(--muted);font-size:.9rem}.attendance-day-panel{display:grid;grid-gap:16px;gap:16px;margin-top:18px;border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:#fbfff5}.attendance-day-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.attendance-day-head span{color:var(--muted);font-size:.9rem;font-weight:800}.attendance-day-head h3{margin:2px 0 0;color:var(--green-dark);font-size:1.45rem}.attendance-day-stats{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.attendance-day-stats span{display:inline-flex;align-items:center;min-height:30px;border:1px solid var(--line);border-radius:var(--radius);padding:5px 9px;background:#fff;color:var(--green-dark);font-size:.82rem;font-weight:900}.attendance-day-graphic{display:grid;grid-template-columns:280px minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}.attendance-day-meter{display:grid;grid-gap:12px;gap:12px;border:1px solid var(--line);border-radius:var(--radius);padding:14px;background:#fff}.attendance-day-meter svg{color:var(--green)}.attendance-day-meter strong{display:block;color:var(--green-dark);font-size:1.45rem}.attendance-day-meter span{color:var(--muted);font-size:.9rem;font-weight:800}.arrival-timeline{display:grid;grid-gap:0;gap:0}.arrival-timeline-item{display:grid;grid-template-columns:86px 22px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start}.arrival-time{color:var(--green-dark);font-weight:900;white-space:nowrap}.arrival-dot{position:relative;width:14px;height:14px;margin-top:4px;border:3px solid #fbfff5;border-radius:999px;background:var(--green);box-shadow:0 0 0 1px #9fcb65}.arrival-dot:after{content:"";position:absolute;left:50%;top:13px;width:2px;height:calc(100% + 36px);background:var(--line);transform:translateX(-50%)}.arrival-timeline-item:last-child .arrival-dot:after{display:none}.arrival-card{display:grid;grid-gap:2px;gap:2px;margin-bottom:12px;border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;background:#fff}.arrival-card strong{color:var(--green-dark)}.arrival-card span{color:var(--muted);font-size:.9rem;font-weight:800}.admin-metrics span.metric-warning{border-color:#e0b34d;background:#fff8df;color:#7a4b00}.room-card-form,.room-create-form,.room-management{display:grid;grid-gap:14px;gap:14px}.room-card-grid,.room-plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:14px;gap:14px}.room-card,.room-plan-card{display:grid;grid-gap:12px;gap:12px;border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:#fbfff5}.room-plan-card-overbooked{border-color:#e0b34d;background:#fffaf0}.room-card-actions{display:flex;gap:8px;flex-wrap:wrap}.room-plan-panel{margin-top:16px;margin-bottom:72px}.room-plan-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.room-plan-head h3{margin:0 0 2px;color:var(--green-dark)}.room-plan-head span{color:var(--muted);font-size:.9rem;font-weight:800}.room-plan-head svg{flex:0 0 auto;color:var(--green)}.bed-count{margin:0;color:var(--green-dark);font-size:1.35rem;font-weight:900}.room-warning{border-color:#e0b34d;background:#fff2cc;color:#7a4b00}.room-assignment-list,.room-occupant-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.room-assignment-row,.room-occupant-list li{display:grid;grid-gap:8px;gap:8px;border-top:1px solid var(--line);padding-top:10px}.room-assignment-row strong,.room-occupant-list strong{display:block;color:var(--green-dark)}.room-assignment-row span,.room-occupant-list span{color:var(--muted);font-size:.9rem}.room-assignment-form,.room-assignment-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.room-assignment-row{grid-template-columns:minmax(180px,1fr) minmax(180px,260px) auto}.room-assignment-form select,.room-assignment-row select{min-width:170px}.room-unassigned{display:grid;grid-gap:12px;gap:12px;margin-top:18px;border-top:1px solid var(--line);padding-top:18px}.room-unassigned h3{margin:0;color:var(--green-dark)}td,th{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left;vertical-align:middle}th{color:var(--green-dark);font-size:.82rem;text-transform:uppercase}.status-form{display:flex;gap:8px;align-items:center}.status-form select{min-width:150px}.booking-actions{display:grid;grid-gap:8px;gap:8px;min-width:240px}.role-pill{display:inline-flex;align-items:center;min-height:28px;border:1px solid var(--line);border-radius:var(--radius);padding:4px 9px;background:#fbfff5;color:var(--muted);font-size:.82rem;font-weight:900;white-space:nowrap}.role-pill-admin{border-color:#9fcb65;background:#eef8df;color:var(--green-dark)}@media (max-width:900px){.admin-grid,.confirmation-grid,.confirmation-layout,.dashboard-hero,.hero-section,.info-section,.install-panel,.location-layout,.site-header{grid-template-columns:1fr}.site-header{position:static;align-items:flex-start}.dashboard-grid,.event-metrics,.feature-band{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-copy h1{font-size:3rem}.hero-art{min-height:330px}.dashboard-hero img{max-height:230px}}@media (max-width:640px){.site-header{position:-webkit-sticky;position:sticky;top:0;align-items:center;padding:12px 16px;background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 1px 0 var(--line)}.brand{min-width:0}.brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desktop-nav{display:none}.nav-toggle-input{position:fixed;display:block;width:1px;height:1px;opacity:0;pointer-events:none}.nav-toggle-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-strong);color:var(--green-dark);cursor:pointer}.drawer-backdrop{display:block;position:fixed;inset:0;z-index:50;background:rgba(23,35,17,.56);opacity:0;pointer-events:none;transition:opacity .16s ease}.mobile-nav-drawer{position:fixed;top:0;right:0;bottom:0;z-index:60;display:flex;flex-direction:column;width:min(86vw,340px);border-left:1px solid #c7d9b1;padding:18px;background:#fbfff5;box-shadow:-28px 0 60px rgba(23,35,17,.32);transform:translateX(100%);visibility:hidden;pointer-events:none;transition:transform .18s ease}.nav-toggle-input:checked~.drawer-backdrop{opacity:1;pointer-events:auto}.nav-toggle-input:checked~.mobile-nav-drawer{transform:translateX(0);visibility:visible;pointer-events:auto}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-18px -18px 0;padding:18px;border-bottom:1px solid var(--line);background:#fbfff5}.drawer-close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius);color:var(--green-dark);cursor:pointer}.drawer-links{display:grid;grid-gap:8px;gap:8px;padding-top:18px}.drawer-links .button,.drawer-links a,.drawer-links button{display:inline-flex;align-items:center;gap:8px;justify-content:flex-start;width:100%;min-height:46px;color:var(--green-dark);text-decoration:none}.drawer-links .button.ghost,.drawer-links a:not(.button){padding:10px 8px;font-size:1rem;font-weight:900}.drawer-links form{display:grid}.hero-section{padding-top:32px}.hero-copy h1{font-size:2.45rem}.address-grid,.dashboard-grid,.event-metrics,.feature-band,.form-grid.three,.form-grid.two,.hero-facts,.segmented{grid-template-columns:1fr}.attendance-day-head,.attendance-day-stats,.booking-total,.confirmation-hero,.inline-reset,.install-panel-actions,.room-assignment-form,.room-assignment-row,.secret-status-grid,.status-form{flex-direction:column;align-items:stretch}.attendance-day-graphic{grid-template-columns:1fr}.attendance-day-stats{justify-content:flex-start}.arrival-timeline-item{grid-template-columns:76px 20px minmax(0,1fr)}.room-assignment-form,.room-assignment-row{grid-template-columns:1fr}.install-fallback{max-width:none;text-align:left}.photo-lightbox-backdrop{padding:8px}.photo-lightbox{max-height:calc(100vh - 16px)}.photo-lightbox-image{height:68vh;min-height:260px}.photo-lightbox-footer{align-items:stretch;flex-direction:column}.photo-lightbox-footer .button,.photo-lightbox-footer .photo-delete-form{width:100%}.photo-lightbox-nav{width:42px;height:42px}.page-heading,.page-heading.spread,.page-heading.spread>div,.site-footer{align-items:flex-start;flex-direction:column}.site-footer{padding:24px 16px 30px}.site-footer nav{justify-content:flex-start}}