@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap");:root{--ink:#202720;--muted:#6d776e;--paper:#f6f7f1;--green:#1e4737;--lime:#d7ec7a;--line:#e3e7de}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:DM Sans,sans-serif;-webkit-font-smoothing:antialiased}a,button{font:inherit}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,47%) 1fr;padding:18px;grid-gap:18px;gap:18px}.loading-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);font-size:13px}.loading-shell .brand-mark{margin:0 0 16px}.login-card{padding:clamp(36px,8vw,112px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:#fff;border-radius:10px;min-height:calc(100vh - 36px)}.brand-mark{width:45px;height:45px;display:grid;place-items:center;background:var(--green);color:var(--lime);font-family:Manrope,sans-serif;font-size:15px;font-weight:800;letter-spacing:-1px;border-radius:50%;margin-bottom:46px}.eyebrow{font-size:10px;line-height:1.4;font-weight:700;letter-spacing:1.65px;color:#738078;margin:0 0 13px}h1,h2,h3,p{margin-top:0}.login-card h1,.welcome h1{font:600 clamp(38px,4.25vw,60px)/1.07 Manrope,sans-serif;letter-spacing:-2.8px;margin:0 0 18px;color:var(--ink)}.intro{max-width:380px;font-size:15px;line-height:1.7;color:var(--muted);margin:0 0 33px}.google-button{height:54px;display:flex;align-items:center;justify-content:center;gap:12px;padding:0 19px;background:var(--green);border:0;border-radius:4px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s,transform .2s;width:min(100%,330px)}.google-button:hover{background:#2a5b46;transform:translateY(-1px)}.google-button span{margin-left:auto;font-size:18px;color:var(--lime)}.access-note{margin:20px 0 7px;font-size:12px;color:#6c776e}.lock-icon{font-size:8px;color:#75934f;margin-right:7px}.auth-notice,.config-note{max-width:330px;font-size:12px;line-height:1.5;margin:12px 0 0;color:#946528}.auth-notice{color:#a1483f}.domain-note{font-size:11px;color:#9aa29a;margin:0}.domain-note strong{font-weight:600;color:#68746b}.visual-panel{position:relative;overflow:hidden;border-radius:10px;min-height:600px;background:linear-gradient(157deg,#bdd1b1,#dce2c3 48%,#e8d1a3)}.sun{width:180px;height:180px;border-radius:50%;background:#f1d78e;right:21%;top:20%;box-shadow:0 0 75px 20px #f1d78e50}.mountain,.sun{position:absolute}.mountain{inset:auto -5% 0;height:70%;-webkit-clip-path:polygon(0 100%,0 57%,18% 37%,28% 50%,52% 10%,72% 46%,86% 29%,100% 54%,100% 100%);clip-path:polygon(0 100%,0 57%,18% 37%,28% 50%,52% 10%,72% 46%,86% 29%,100% 54%,100% 100%)}.mountain-back{background:linear-gradient(145deg,#889b7d,#647c68);opacity:.86;bottom:14%;height:64%}.mountain-front{background:linear-gradient(155deg,#456550,#1e4737 75%);height:56%;-webkit-clip-path:polygon(0 100%,0 52%,24% 18%,43% 55%,62% 29%,78% 57%,100% 35%,100% 100%);clip-path:polygon(0 100%,0 52%,24% 18%,43% 55%,62% 29%,78% 57%,100% 35%,100% 100%)}.photo-caption{position:absolute;left:clamp(28px,5vw,70px);bottom:clamp(40px,7vw,82px);display:flex;flex-direction:column;gap:12px;color:#fff}.image-credit,.photo-caption span{font-size:9px;letter-spacing:1.5px;font-weight:700}.photo-caption b{font:500 clamp(25px,3vw,38px) Manrope,sans-serif;letter-spacing:-1px}.image-credit{position:absolute;right:26px;bottom:26px;color:#ffffffaf}.workspace-shell{min-height:100vh;max-width:1440px;margin:0 auto;padding:0 7.2%}.topbar{height:92px;border-bottom:1px solid var(--line);justify-content:space-between}.topbar,.wordmark{display:flex;align-items:center}.wordmark{gap:12px;color:var(--ink);text-decoration:none;font-size:11px;font-weight:700;letter-spacing:1.2px}.wordmark i{font-style:normal;font-weight:400;color:#859087;margin-left:4px}.brand-mark.small{width:34px;height:34px;font-size:11px;margin:0}.account{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}.avatar{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;object-fit:cover;background:#dce7cc;color:var(--green);font-weight:700}.account-details{min-width:0;display:flex;flex-direction:column;gap:3px}.account-email,.account-name{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-name{color:var(--ink);font-size:12px;font-weight:600}.account-email{display:block;color:var(--muted);font-size:10.5px}.sign-out{border:0;border-left:1px solid var(--line);padding:4px 0 4px 15px;margin-left:4px;background:none;color:#526258;font-size:12px;cursor:pointer}.welcome{padding:82px 0 69px}.welcome .eyebrow{color:#829272}.welcome h1{font-size:clamp(36px,4.4vw,56px);margin-bottom:12px}.welcome>p:last-child{font-size:15px;color:var(--muted);margin:0}.album-section{padding:35px 0 86px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:24px}.section-heading .eyebrow{margin-bottom:6px}.section-heading h2{font:600 23px Manrope,sans-serif;letter-spacing:-.7px;margin:0}.coming-label{font-size:9px;letter-spacing:1px;color:#89948b}.source-intro{max-width:680px;margin:-7px 0 24px;color:var(--muted);font-size:13px;line-height:1.7}.source-grid{max-width:950px;display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.source-card{min-height:184px;padding:24px;background:#fff;border:1px solid #e9ece5;border-radius:6px;display:grid;grid-template-columns:44px 1fr;align-items:start;grid-column-gap:15px;column-gap:15px;grid-row-gap:16px;row-gap:16px;box-shadow:0 10px 30px #27382708}.source-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:9px;font:700 23px Manrope,sans-serif}.drive-icon{background:#eaf1ff;color:#4285f4}.photos-icon{background:#f0ecff;color:#8b6bdb}.source-copy .eyebrow{font-size:9px;margin:2px 0 7px}.source-copy h3{font:600 19px Manrope,sans-serif;letter-spacing:-.4px;margin:0 0 7px}.source-copy p:not(.eyebrow){font-size:12px;line-height:1.6;color:var(--muted);margin:0}.source-card .soon{grid-column:2;justify-self:start}.public-gallery-note{max-width:950px;margin-top:18px;padding:18px 21px;background:#edf1e7;border:1px solid #e2e8da;border-radius:5px;display:flex;align-items:center;gap:14px}.gallery-dot{width:9px;height:9px;flex:none;background:#91a965;border-radius:50%;box-shadow:0 0 0 4px #91a96522}.public-gallery-note>div{flex:1 1}.public-gallery-note .eyebrow{font-size:8px;margin:0 0 4px}.public-gallery-note strong{font:600 13px Manrope,sans-serif}.public-gallery-note p:last-child{font-size:11px;color:var(--muted);margin:3px 0 0}.album-card{max-width:850px;background:#fff;border:1px solid #e9ece5;border-radius:6px;overflow:hidden;display:grid;grid-template-columns:40% 1fr;box-shadow:0 10px 30px #27382708}.album-art{min-height:220px;position:relative;overflow:hidden;background:linear-gradient(145deg,#d7e4bf,#e9c989)}.album-art:before{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background:#f6dfa0;top:25px;left:calc(50% - 60px)}.album-ridge{position:absolute;inset:auto 0 0;height:70%;background:linear-gradient(150deg,#5e7d63,#254b39);-webkit-clip-path:polygon(0 100%,0 64%,22% 25%,40% 56%,66% 13%,82% 48%,100% 25%,100% 100%);clip-path:polygon(0 100%,0 64%,22% 25%,40% 56%,66% 13%,82% 48%,100% 25%,100% 100%)}.album-art span{position:absolute;left:20px;bottom:17px;font-size:8px;letter-spacing:1.2px;color:#fff;font-weight:700}.album-info{padding:31px 34px;display:flex;align-items:center;justify-content:space-between;gap:24px}.album-info .eyebrow{font-size:9px;margin-bottom:9px}.album-info h3{font:600 21px Manrope,sans-serif;letter-spacing:-.5px;margin:0 0 7px}.album-info p:not(.eyebrow){font-size:12px;color:var(--muted);margin:0;line-height:1.6}.soon{align-self:flex-start;white-space:nowrap;padding:7px 9px;border-radius:2px;background:#f1f3eb;color:#718066;font-size:8px;letter-spacing:.8px;font-weight:700}.workspace-footer{height:75px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:#9aa39a;font-size:9px;letter-spacing:1.1px}.workspace-footer b{color:#617c54;font-size:15px;margin-left:5px}@media(max-width:800px){.login-shell{grid-template-columns:1fr;padding:10px;gap:10px}.login-card{min-height:70vh;padding:42px 9vw}.brand-mark{margin-bottom:36px}.visual-panel{min-height:340px}.mountain-back{bottom:9%}.workspace-shell{padding:0 6%}.topbar{height:75px}.account-details,.account-email,.account-name{max-width:180px}.welcome{padding:65px 0 55px}.album-card{grid-template-columns:1fr}.album-art{min-height:190px}.album-info{padding:25px 22px}.source-grid{grid-template-columns:1fr}}@media(max-width:450px){.login-card h1{font-size:41px}.visual-panel{min-height:290px}.section-heading{align-items:flex-start;gap:12px}.coming-label{padding-top:4px}.album-info{align-items:flex-start;flex-direction:column;gap:18px}.soon{align-self:flex-start}.wordmark{font-size:8px;letter-spacing:.8px;gap:8px}.wordmark i{display:none}.account{gap:7px}.account-details,.account-email,.account-name{max-width:94px}.avatar{width:30px;height:30px;flex-basis:30px}.sign-out{font-size:10px;padding-left:8px;margin-left:0}.public-gallery-note{align-items:flex-start;flex-wrap:wrap}.public-gallery-note .soon{margin-left:23px}}.topbar-link{color:var(--green);font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap}.topbar-link:hover{text-decoration:underline}.ghost-button,.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 15px;border-radius:4px;font-size:12.5px;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .2s,border-color .2s}.primary-button{background:var(--green);color:#fff;border:0}.primary-button:hover:not(:disabled){background:#2a5b46}.primary-button.wide{width:100%;height:50px;font-size:14px}.ghost-button{background:#fff;color:var(--green);border:1px solid #d5dccf}.ghost-button:hover:not(:disabled){border-color:var(--green)}.ghost-button:disabled,.primary-button:disabled{opacity:.45;cursor:default}.pill{display:inline-block;padding:3px 7px;border-radius:20px;background:#eef1e8;color:#5d6b60;font-size:9.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.pill.attention{background:var(--lime);color:var(--green)}.pill.status-published{background:#dcebd0;color:#2f5b37}.pill.status-draft{background:#f1ede2;color:#8a7447}.pill.status-cancelled{background:#f6e1dc;color:#a1483f}.empty-state{color:var(--muted);font-size:13px;line-height:1.6;padding:18px 0}.form-hint{font-size:11.5px;color:var(--muted);line-height:1.5;margin:6px 0 0}.form-hint code,.link-text{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px}.event-meta{font-size:12.5px;color:var(--muted);line-height:1.55;margin:0 0 4px}.dashboard{padding-bottom:70px}.dashboard-grid{display:grid;grid-template-columns:minmax(260px,330px) 1fr;grid-gap:22px;gap:22px;align-items:start}.event-list{gap:8px;position:-webkit-sticky;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto;padding-right:2px}.event-list,.event-row{display:flex;flex-direction:column}.event-row{gap:5px;text-align:left;padding:14px 15px;background:#fff;border:1px solid #e9ece5;border-radius:6px;cursor:pointer;color:var(--ink)}.event-row:hover{border-color:#c9d3c1}.event-row.selected{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.event-row-top{display:flex;justify-content:space-between;gap:8px;align-items:start}.event-row-top b{font:600 14px Manrope,sans-serif;letter-spacing:-.2px}.event-row .event-meta{font-size:11.5px;margin:0}.event-row-tags{display:flex;gap:5px;flex-wrap:wrap}.filter-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px}.filter-tabs button{border:0;background:none;padding:7px 10px;border-radius:4px;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer}.filter-tabs button span{color:#a0a89f;margin-left:3px}.filter-tabs button.active{background:#e7ecdf;color:var(--green)}.empty-panel,.event-form,.event-panel,.upload-card{background:#fff;border:1px solid #e9ece5;border-radius:6px;padding:26px;box-shadow:0 10px 30px #27382708}.empty-panel ol{margin:0;padding-left:18px;color:var(--muted);font-size:13px;line-height:1.8}.empty-panel b{color:var(--ink)}.empty-panel h1{font:600 30px Manrope,sans-serif;letter-spacing:-1px;margin:0 0 8px}.empty-panel p:not(.eyebrow){color:var(--muted);font-size:13px}.panel-head{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:20px}.panel-head h2{font:600 26px Manrope,sans-serif;letter-spacing:-.8px;margin:0 0 6px}.form-actions,.link-actions,.panel-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.upload-link-card{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:16px 18px;background:#f5f8ee;border:1px dashed #c8d6b3;border-radius:6px;margin-bottom:26px}.upload-link-card>div:first-child{min-width:0;flex:1 1 280px}.upload-link-card .eyebrow{margin-bottom:6px}.link-text{display:block;overflow-wrap:anywhere;color:var(--green)}.album-heading{margin-bottom:10px}.panel-message{font-size:12px;color:#2f5b37;background:#eef5e4;padding:8px 11px;border-radius:4px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:10px;gap:10px;margin-top:10px}.media-grid.public{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}.media-tile{margin:0;border:1px solid #e9ece5;border-radius:6px;overflow:hidden;background:#fafbf7}.media-tile.status-hidden .media-thumb img{opacity:.35;filter:grayscale(1)}.media-tile.status-approved{border-color:#b8d1a5}.media-thumb{position:relative;display:block;aspect-ratio:1;background:#e7ebe1;border:0;padding:0;cursor:pointer;overflow:hidden;width:100%;border-radius:4px}.media-tile .media-thumb{border-radius:0}.media-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.media-grid.public .media-thumb:hover img{transform:scale(1.03)}.cover-badge,.video-badge{position:absolute;left:7px;top:7px;padding:3px 6px;border-radius:3px;background:#000000a0;color:#fff;font-size:9px;font-weight:700;letter-spacing:.6px}.cover-badge{left:auto;right:7px;background:var(--lime);color:var(--green)}.media-tile figcaption{display:flex;flex-direction:column;gap:6px;padding:8px 9px}.media-name{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-actions{display:flex;gap:4px;flex-wrap:wrap}.media-actions button{border:1px solid #d5dccf;background:#fff;color:var(--green);border-radius:3px;padding:3px 7px;font-size:10.5px;font-weight:600;cursor:pointer}.media-actions button:disabled{opacity:.45}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px 16px;gap:14px 16px}.form-grid .span-2{grid-column:span 2}.event-form label,.upload-card label{display:flex;flex-direction:column;gap:6px;font-size:11.5px;font-weight:600;color:#4c5a50}.event-form small,.upload-card small{font-weight:400;color:#99a298}.event-form input,.event-form select,.event-form textarea,.upload-card input:not([type=file]){font:inherit;font-size:13.5px;font-weight:400;padding:10px 11px;border:1px solid #d9dfd2;border-radius:4px;background:#fcfdfa;color:var(--ink)}.event-form textarea{resize:vertical}.event-form input:focus,.event-form select:focus,.event-form textarea:focus,.upload-card input:focus{outline:2px solid #a8c57a;outline-offset:0;border-color:transparent}.form-actions{margin-top:20px}.upload-page{max-width:640px;margin:0 auto;padding:60px 0 80px}.upload-page h1{font:600 clamp(32px,6vw,46px)/1.08 Manrope,sans-serif;letter-spacing:-1.8px;margin:0 0 10px}.upload-page>.event-meta{margin-bottom:26px}.upload-card{display:flex;flex-direction:column;gap:18px}.drop-zone{position:relative;align-items:center;justify-content:center;text-align:center;min-height:150px;border:2px dashed #c8d6b3;border-radius:8px;background:#f7faf1;cursor:pointer;padding:20px}.drop-zone:hover{border-color:var(--green)}.drop-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.drop-zone b{font:600 16px Manrope,sans-serif;color:var(--green)}.drop-zone span{font-size:11.5px;font-weight:400;color:var(--muted)}.upload-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:320px;overflow:auto}.upload-item{display:grid;grid-template-columns:1fr auto;grid-gap:5px 10px;gap:5px 10px;font-size:12px}.upload-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-state{color:var(--muted)}.upload-item.done .upload-state{color:#2f5b37;font-weight:600}.upload-item.error .upload-state{color:#a1483f}.progress{grid-column:span 2;height:4px;background:#edf0e8;border-radius:2px;overflow:hidden}.progress span{display:block;height:100%;background:#8fb35c;transition:width .3s}.event-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:18px;gap:18px}.event-card{color:var(--ink);text-decoration:none;display:flex;flex-direction:column}.event-card:hover h3{text-decoration:underline}.event-cover{position:relative;aspect-ratio:4/3;border-radius:6px;overflow:hidden;background:linear-gradient(145deg,#d7e4bf,#e9c989);margin-bottom:14px}.event-cover img{width:100%;height:100%;object-fit:cover}.event-cover .pill{position:absolute;top:10px;left:10px}.event-cover .pill+.pill{left:auto;right:10px}.cover-fallback{position:absolute;inset:auto 0 0;height:60%;display:flex;align-items:end;padding:14px;color:#fff;font:700 10px DM Sans;letter-spacing:1.3px;text-transform:uppercase;background:linear-gradient(150deg,#5e7d63,#254b39);-webkit-clip-path:polygon(0 100%,0 44%,22% 12%,40% 40%,66% 0,82% 34%,100% 12%,100% 100%);clip-path:polygon(0 100%,0 44%,22% 12%,40% 40%,66% 0,82% 34%,100% 12%,100% 100%)}.event-card .eyebrow{margin:0 0 5px;font-size:9px}.event-card h3{font:600 18px Manrope,sans-serif;letter-spacing:-.4px;margin:0 0 6px}.event-hero{padding-bottom:50px}.event-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:18px;gap:18px;margin:28px 0 0;max-width:900px}.event-facts dt{font-size:9.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:#829272;margin-bottom:5px}.event-facts dd{margin:0;font-size:14px}.event-facts a{color:var(--green)}.welcome>p.event-description{max-width:680px;font-size:15px;line-height:1.7;color:var(--muted);margin:26px 0 0;white-space:pre-line}.lightbox{position:fixed;inset:0;z-index:50;background:#0d130fee;justify-content:center;padding:50px 60px}.lightbox,.lightbox-media{display:flex;align-items:center}.lightbox-media{flex-direction:column;max-width:100%;max-height:100%}.lightbox-media img{max-width:100%;max-height:calc(100vh - 130px);object-fit:contain;border-radius:3px}.lightbox-media iframe{width:min(90vw,1100px);aspect-ratio:16/9;max-height:calc(100vh - 130px);border:0;border-radius:3px;background:#000}.lightbox-credit{color:#ffffffb0;font-size:12px;margin:12px 0 0}.lightbox-close,.lightbox-nav{position:absolute;border:0;background:#ffffff18;color:#fff;width:44px;height:44px;border-radius:50%;font-size:26px;line-height:1;cursor:pointer}.lightbox-close{top:14px;right:14px}.lightbox-nav{top:calc(50% - 22px)}.lightbox-nav.prev{left:10px}.lightbox-nav.next{right:10px}.lightbox-close:hover,.lightbox-nav:hover{background:#ffffff30}@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.event-list{position:static;max-height:none}.panel-head{flex-direction:column}}@media(max-width:600px){.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.empty-panel,.event-form,.event-panel,.upload-card{padding:18px}.section-heading{flex-wrap:wrap;gap:12px}.topbar-link{display:none}.lightbox{padding:50px 8px}.lightbox-nav{top:auto;bottom:14px}.media-grid.public{grid-template-columns:repeat(2,1fr)}.upload-page{padding-top:36px}}.event-row{flex-direction:row;align-items:flex-start;gap:12px}.event-row-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:5px}.event-thumb{flex:0 0 52px;height:52px;border-radius:5px;overflow:hidden;background:linear-gradient(145deg,#d7e4bf,#e9c989)}.event-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-field{display:flex;gap:18px;align-items:center;padding:14px;border:1px solid #e9ece5;border-radius:6px;background:#fafbf7}.photo-copy{flex:1 1;min-width:0}.photo-copy b{font:600 14px Manrope,sans-serif}.photo-copy .form-actions{margin-top:10px}.photo-preview{flex:0 0 180px;aspect-ratio:4/3;border-radius:5px;overflow:hidden;background:linear-gradient(145deg,#d7e4bf,#e9c989);display:flex;align-items:end;padding:0}.photo-preview img{width:100%;height:100%;object-fit:cover;display:block}.photo-preview span{padding:10px;color:#fff;font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;text-shadow:0 1px 3px #0005}.event-form label.file-button{position:relative;display:inline-flex;flex-direction:row;gap:6px;font-size:12.5px;color:var(--green)}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.panel-cover{display:block;width:calc(100% + 52px);margin:-26px -26px 22px;aspect-ratio:16/6;object-fit:cover;border-radius:6px 6px 0 0}.panel-cover.empty{aspect-ratio:auto;height:64px;border:0;border-bottom:1px dashed #c8d6b3;background:#f7faf1;color:var(--green);font-size:12.5px;font-weight:600;cursor:pointer}.panel-cover.empty:hover{background:#eef5e4}.event-hero-image{display:block;width:100%;max-height:520px;aspect-ratio:16/7;object-fit:cover;border-radius:8px;margin-top:28px}.event-hero-image+.event-hero{padding-top:44px}@media(max-width:600px){.photo-field{flex-direction:column;align-items:stretch}.photo-preview{flex-basis:auto}.panel-cover{width:calc(100% + 36px);margin:-18px -18px 18px}.event-hero-image{aspect-ratio:4/3;margin-top:18px}}.public-nav{gap:18px}.admin-link{font-size:12px;font-weight:600;color:#6d776e;text-decoration:none;padding:7px 12px;border:1px solid #d5dccf;border-radius:4px;white-space:nowrap}.admin-link:hover{border-color:var(--green);color:var(--green)}.admin-link.staff{background:var(--green);border-color:var(--green);color:#fff}.back-link{margin-top:26px;font-size:12px;color:var(--green);text-decoration:none}.back-link:hover{text-decoration:underline}@media(max-width:600px){.public-nav .topbar-link{display:inline}.public-nav{gap:10px}.admin-link{padding:6px 9px;font-size:11px}}.pill.status-archived{background:#e8e9e6;color:#6b706a}.archived-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 14px;margin-bottom:20px;border-radius:6px;background:#eeefeb;color:#4c544d;font-size:12.5px;line-height:1.5}.danger-zone{margin-top:34px;padding-top:20px;border-top:1px solid var(--line)}.ghost-button.danger{color:#a1483f;border-color:#e7cfc9}.ghost-button.danger:hover:not(:disabled){border-color:#a1483f}.primary-button.danger{background:#a1483f}.primary-button.danger:hover:not(:disabled){background:#8a3a32}.archive-confirm{padding:16px 18px;border:1px solid #e7cfc9;border-radius:6px;background:#fcf6f4}.archive-confirm p:not(.eyebrow){font-size:12.5px;line-height:1.6;color:#4c544d;margin:0 0 12px}.archive-confirm .eyebrow{color:#a1483f;margin-bottom:6px}.archive-confirm label{display:flex;flex-direction:column;gap:6px;font-size:11.5px;font-weight:600;color:#4c5a50;max-width:420px}.archive-confirm input{font:inherit;font-size:13.5px;font-weight:400;padding:9px 11px;border:1px solid #d9dfd2;border-radius:4px}.archive-confirm .form-actions{margin-top:14px}.thumb-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:12px;text-align:center;color:#8a948b;font-size:11px;line-height:1.4}.event-row-top{align-items:center}.event-row-top .pill{flex:none;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;line-height:1.2}.year-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px}.year-chips button{border:1px solid #d5dccf;background:#fff;color:#526258;border-radius:999px;padding:4px 11px;font-size:11.5px;font-weight:600;cursor:pointer}.year-chips button span{color:#a0a89f;margin-left:2px;font-weight:500}.year-chips button:hover{border-color:var(--green)}.year-chips button.active{background:var(--green);border-color:var(--green);color:#fff}.year-chips button.active span{color:#cfe3c6}.album-section .year-chips{margin:-8px 0 20px}.drive-badge{position:absolute;left:7px;bottom:7px;padding:3px 6px;border-radius:3px;background:#eaf1ff;color:#2f5aa8;font-size:9px;font-weight:700;letter-spacing:.6px}.panel-message.warn{background:#fbf1e3;color:#8a5a1c}.upload-status{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;max-width:900px;margin-top:30px;padding:16px 18px;border-radius:6px;border:1px solid var(--line);background:#fff}.upload-status>div:not(.upload-status-actions){flex:1 1 300px;min-width:0}.upload-status b{font:600 15px Manrope,sans-serif}.upload-status p{margin:3px 0 0;font-size:12.5px;color:var(--muted)}.upload-status .link-text{margin-top:8px;font-size:11px}.upload-status-actions{display:flex;gap:8px;align-self:center}.status-dot{flex:none;width:10px;height:10px;border-radius:50%;margin-top:5px}.upload-status.open{border-color:#c8d6b3;background:#f7faf1}.upload-status.open .status-dot{background:#6ea24a;box-shadow:0 0 0 4px #6ea24a26}.upload-status.closed{background:#f6f6f3}.upload-status.closed .status-dot{background:#b5b9b3}.booking-section .section-heading{align-items:center}.booking-intro{margin:-8px 0 16px;max-width:680px}.booking-card{max-width:760px;background:#fff;border:1px solid #e9ece5;border-radius:6px;padding:20px}.booking-card>p{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 12px}.booking-form label{display:flex;flex-direction:column;gap:6px;font-size:11.5px;font-weight:600;color:#4c5a50}.booking-form small{font-weight:400;color:#99a298}.booking-form input,.booking-form select,.booking-form textarea{font:inherit;font-size:13.5px;font-weight:400;padding:10px 11px;border:1px solid #d9dfd2;border-radius:4px;background:#fcfdfa;color:var(--ink)}.booking-done b{display:block;font:600 18px Manrope,sans-serif;margin-bottom:6px}.booking-done.confirmed{border-color:#c8d6b3;background:#f7faf1}.booking-done.waitlisted{border-color:#ecd5ad;background:#fdf8ef}.booking-done.cancelled{background:#f6f6f3}.booking-done .link-text{margin-bottom:6px}.booking-details{margin:10px 0 0;display:grid;grid-gap:8px;gap:8px}.booking-details dt{font-size:9.5px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;color:#829272}.booking-details dd{margin:2px 0 0;font-size:13.5px}.bookings-panel{margin-bottom:30px;padding-bottom:26px;border-bottom:1px solid var(--line)}.capacity-bar{height:6px;border-radius:3px;background:#edf0e8;overflow:hidden;margin:-2px 0 14px}.capacity-bar span{display:block;height:100%;background:#8fb35c}.booking-list{margin-top:14px}.booking-list .eyebrow{margin-bottom:6px}.booking-list table{width:100%;border-collapse:collapse;font-size:12.5px}.booking-list td{padding:9px 8px;border-top:1px solid var(--line);vertical-align:top}.booking-list tr:first-child td{border-top:0}.booking-who b{display:block;font-weight:600;color:var(--ink)}.booking-who span{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}.booking-who a{color:inherit}.booking-note{font-style:italic}.booking-seats,.booking-when{white-space:nowrap;color:var(--muted)}.booking-actions{text-align:right}.booking-actions button{border:1px solid #e7cfc9;background:#fff;color:#a1483f;border-radius:3px;padding:3px 8px;font-size:11px;font-weight:600;cursor:pointer}.link-button{border:0;background:none;padding:10px 0 0;color:var(--green);font-size:12px;font-weight:600;cursor:pointer}.event-form label.checkbox-label{flex-direction:row;align-items:center;gap:8px;align-self:end;padding-bottom:10px;font-size:13px}.event-form label.checkbox-label input{width:16px;height:16px;accent-color:var(--green)}@media(max-width:600px){.booking-when{display:none}}.booking-list table{table-layout:fixed}.booking-seats{width:72px}.booking-when{width:150px}.booking-actions{width:76px}@media(max-width:600px){.booking-when{width:0}}.booking-who .booking-email{font-size:10.5px;margin-top:3px}.booking-email.sent{color:#4f7a3a}.booking-email.failed{color:#a1483f}.booking-email.queued,.booking-email.sending{color:#9a7a3a}.booking-message{margin:0 0 12px;padding:10px 14px;border-left:3px solid var(--lime);background:#fff;font-size:13.5px;line-height:1.6;color:var(--ink)}.event-form select:disabled,.event-form textarea:disabled{opacity:.6}.payment-box{margin:0 0 14px;padding:12px 14px;border-radius:6px;background:#f6f6f3;font-size:13px;line-height:1.6;color:var(--ink)}.payment-box.due{background:#fbfdf2;border:1px solid var(--lime)}.payment-box.paid{background:#eef5e4;color:#2f5b37}.payment-box b{display:block;font:600 15px Manrope,sans-serif;margin-bottom:2px}.payment-box.paid b,.payment-box:not(.due) b{display:inline}.payment-box p{margin:4px 0 0;color:var(--muted);font-size:12.5px}.payment-box code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;color:var(--ink)}.payment-box .link-button{padding:0 0 0 4px;font-size:12px}.pay-button{margin-top:10px;background:var(--green)}.payment-summary{font-size:12.5px;color:var(--muted);margin:-6px 0 10px}.payment-summary b{color:var(--ink)}.booking-payment{width:190px}.booking-payment>*{margin:0 6px 4px 0}.pay-pill{display:inline-block;padding:2px 7px;border-radius:10px;font-size:10.5px;font-weight:700;white-space:nowrap}.pay-pill.unpaid{background:#fbf1e3;color:#8a5a1c}.pay-pill.paid{background:#dcebd0;color:#2f5b37}.pay-pill.refund{background:#f6e1dc;color:#a1483f}.pay-pill.free{background:#eef1e8;color:#6d776e}.pay-ref{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;color:var(--muted)}.booking-payment button{border:1px solid #c8d6b3;background:#fff;color:var(--green);border-radius:3px;padding:2px 7px;font-size:10.5px;font-weight:600;cursor:pointer}@media(max-width:600px){.booking-payment{width:110px}}.booking-list .booking-when{white-space:normal}.code-sign-in{width:min(100%,330px);margin:22px 0 8px;padding-top:18px;border-top:1px solid var(--line)}.code-sign-in .eyebrow{margin-bottom:10px}.code-sign-in label{display:flex;flex-direction:column;gap:6px;font-size:11.5px;font-weight:600;color:#4c5a50}.code-sign-in input,.team-add input,.team-add select,.team-list select{font:inherit;font-size:13.5px;font-weight:400;padding:10px 11px;border:1px solid #d9dfd2;border-radius:4px;background:#fcfdfa;color:var(--ink)}.code-sign-in input:focus,.team-add input:focus,.team-add select:focus,.team-list select:focus{outline:2px solid #a8c57a;outline-offset:0;border-color:transparent}.code-actions{display:flex;align-items:center;gap:14px;margin-top:10px}.code-actions .link-button{padding:0}.role-pill{background:var(--lime);color:var(--green)}.team-panel{margin-top:34px}.team-add{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;grid-gap:12px;gap:12px;align-items:end;margin:16px 0 4px}.team-add label{display:flex;flex-direction:column;gap:6px;font-size:11.5px;font-weight:600;color:#4c5a50}.team-add .team-role-help{grid-column:1/-1;margin:0}.team-list select{padding:6px 8px;font-size:12.5px}.team-list td{vertical-align:middle}.team-list .pill{margin-left:8px}.team-list th{text-align:left;font-size:9.5px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;color:#829272;padding:0 8px 6px}.muted-cell{color:var(--muted);font-size:11.5px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width:640px){.team-add{grid-template-columns:1fr}.team-list td:nth-child(3),.team-list th:nth-child(3){display:none}}