@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope Fallback;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}.__className_fe7774{font-family:Manrope,Manrope Fallback;font-style:normal}.__variable_fe7774{--font-sans:"Manrope","Manrope Fallback"}:root{--bg:#09090b;--bg-mesh:radial-gradient(120% 80% at 50% -20%,rgba(228,188,122,0.08),transparent 55%),radial-gradient(80% 50% at 100% 0%,rgba(99,102,241,0.06),transparent 45%),var(--bg);--surface:#141416;--card:#161618;--card-hover:#1c1c1f;--primary:#e4bc7a;--primary-dark:#f0d4a8;--primary-light:rgba(228,188,122,0.45);--primary-muted:rgba(228,188,122,0.12);--text:#f4f4f5;--text-light:#a1a1aa;--text-faint:#71717a;--border:rgba(255,255,255,0.08);--border-strong:rgba(255,255,255,0.14);--shadow:rgba(0,0,0,0.45);--shadow-hover:rgba(0,0,0,0.55);--rose:rgba(248,113,113,0.12);--danger:#f87171;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--font:var(--font-sans),ui-sans-serif,system-ui,sans-serif}*,:after,:before{margin:0;padding:0;box-sizing:border-box}.app-root{font-family:var(--font);background:var(--bg-mesh);background-color:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.brand-eyebrow{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);margin-bottom:12px}.section-title{font-size:15px;font-weight:600;letter-spacing:-.02em;color:var(--text)}.landing{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:28px 20px 40px}.landing-card{width:100%;max-width:420px;text-align:left;padding:32px 28px;background:linear-gradient(165deg,var(--surface) 0,var(--card) 100%);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 24px 80px var(--shadow)}.landing-title{font-size:26px;font-weight:600;letter-spacing:-.03em;line-height:1.2;color:var(--text);margin-bottom:12px}.landing-lead{font-size:15px;line-height:1.55;color:var(--text-light)}.landing-divider{width:100%;height:1px;background:var(--border);margin:24px 0 20px}.landing-hint{font-size:13px;line-height:1.5;color:var(--text-faint)}.guest-page{max-width:560px;margin:0 auto;padding:24px 18px 100px}.guest-hero{padding-bottom:8px}.guest-title{font-size:24px;font-weight:600;letter-spacing:-.03em;line-height:1.25;color:var(--text);margin-bottom:16px}.guest-welcome{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md)}.guest-welcome-label{font-size:12px;font-weight:500;color:var(--text-faint);letter-spacing:.02em}.guest-welcome-name{font-size:16px;font-weight:600;color:var(--text);letter-spacing:-.02em}.limit-bar{text-align:left;font-size:13px;font-weight:500;color:var(--text-light);background:var(--card);padding:12px 14px;border-radius:var(--radius-sm);margin-top:16px;border:1px solid var(--border)}.limit-bar.limit-reached{color:var(--danger);background:var(--rose);border-color:rgba(248,113,113,.35)}.capture-panel{margin:20px 0 28px;padding:16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md)}.capture-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.capture-panel-title{font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--text)}.capture-panel-hint{font-size:11px;font-weight:500;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em}.camera-section{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.file-input{display:none}.camera-button,.gallery-upload-button{display:flex;align-items:center;justify-content:center;min-height:56px;padding:14px 12px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:transform .12s ease,background .15s,border-color .15s,opacity .15s;border:none}.camera-button{background:var(--primary);color:#0c0c0d;box-shadow:0 8px 24px rgba(228,188,122,.18)}.gallery-upload-button{background:transparent;color:var(--text);border:1px solid var(--border-strong)}.gallery-upload-button:hover:not(:disabled){background:var(--primary-muted);border-color:var(--primary-light);color:var(--primary-dark)}.camera-button:active,.gallery-upload-button:active{transform:scale(.98)}.camera-button:focus-visible,.gallery-upload-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.camera-button:disabled,.gallery-upload-button:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.upload-status{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.gallery-section{margin-top:4px}.gallery-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding:0 2px}.photo-count{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);min-width:2rem;text-align:right}.upload-toast{position:fixed;left:12px;right:12px;bottom:max(16px,env(safe-area-inset-bottom));max-width:460px;margin:0 auto;z-index:950;background:linear-gradient(145deg,rgba(28,28,32,.94),rgba(18,18,22,.94));backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:14px 16px 16px;box-shadow:0 24px 60px -16px rgba(0,0,0,.6),0 4px 12px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.05);animation:upload-toast-in .32s cubic-bezier(.22,.61,.36,1);color:var(--text)}@keyframes upload-toast-in{0%{opacity:0;transform:translateY(28px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.upload-toast-row{display:flex;align-items:center;gap:12px}.upload-toast-icon{flex-shrink:0;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:var(--primary);position:relative;overflow:hidden}.upload-toast--video .upload-toast-icon{background:linear-gradient(135deg,rgba(99,102,241,.18),rgba(168,85,247,.14));color:#a5b4fc}.upload-toast--image .upload-toast-icon{background:linear-gradient(135deg,rgba(236,72,153,.18),rgba(244,114,182,.12));color:#fda4d3}.upload-toast--done .upload-toast-icon{background:linear-gradient(135deg,rgba(34,197,94,.22),rgba(16,185,129,.14));color:#86efac;border-color:rgba(134,239,172,.3);animation:upload-icon-pop .38s cubic-bezier(.34,1.56,.64,1)}@keyframes upload-icon-pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.12)}to{transform:scale(1);opacity:1}}.upload-toast-icon:after{content:"";position:absolute;inset:-50%;background:conic-gradient(from 0deg,transparent 0deg,rgba(255,255,255,.18) 60deg,transparent 120deg);animation:upload-icon-spin 2.4s linear infinite;pointer-events:none;opacity:.6}.upload-toast--done .upload-toast-icon:after{display:none}@keyframes upload-icon-spin{to{transform:rotate(1turn)}}.upload-toast-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.upload-toast-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.upload-toast-title{font-size:14px;font-weight:600;color:var(--text);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-toast-percent{font-size:13px;font-weight:600;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.upload-toast-filename{font-size:12px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-toast-cancel{flex-shrink:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:rgba(255,255,255,.06);color:rgba(255,255,255,.65);width:32px;height:32px;border-radius:10px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .14s ease,color .14s ease,transform .1s ease}.upload-toast-cancel:hover{background:rgba(239,68,68,.18);color:#fecaca}.upload-toast-cancel:active{transform:scale(.92)}.upload-toast-bar{margin-top:12px;height:8px;background:rgba(255,255,255,.08)}.upload-toast-bar,.upload-toast-fill{border-radius:999px;overflow:hidden;position:relative}.upload-toast-fill{height:100%;background:linear-gradient(90deg,var(--primary),#ec4899 60%,#f97316);background-size:200% 100%;animation:upload-bar-flow 3.2s linear infinite;transition:width .22s cubic-bezier(.22,.61,.36,1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 0 14px rgba(236,72,153,.35)}.upload-toast-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45) 50%,transparent);animation:upload-bar-shimmer 1.6s linear infinite}@keyframes upload-bar-flow{to{background-position:200% 0}}@keyframes upload-bar-shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.upload-toast--done .upload-toast-fill{background:#22c55e;box-shadow:0 0 14px rgba(34,197,94,.45);animation:none}.upload-toast--done .upload-toast-fill:after{display:none}.upload-toast-meta{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:12px;color:var(--text-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-wrap:wrap}.upload-toast-meta-dot{opacity:.5}.media-tabs{display:inline-flex;align-items:stretch;gap:4px;padding:4px;margin:0 2px 16px;background:var(--card);border:1px solid var(--border);border-radius:999px;width:-moz-fit-content;width:fit-content}.media-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-faint);font-size:13px;font-weight:600;letter-spacing:.02em;padding:8px 18px;border-radius:999px;cursor:pointer;transition:background .16s ease,color .16s ease,transform .12s ease;min-width:84px}.media-tab:hover{color:var(--text)}.media-tab:active{transform:scale(.97)}.media-tab.active{background:var(--primary);color:#fff;box-shadow:0 2px 10px rgba(0,0,0,.25)}.media-tab:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}.photo-card{background:var(--card);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:transform .12s ease,box-shadow .2s;border:1px solid var(--border)}.photo-card:hover{box-shadow:0 12px 40px var(--shadow)}.photo-card:active{transform:scale(.985)}.photo-wrapper{aspect-ratio:1;overflow:hidden;background:var(--border)}.photo-wrapper img,.photo-wrapper video{width:100%;height:100%;object-fit:cover;display:block;background:#000}.photo-wrapper--video{position:relative}.video-play-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.video-play-icon{width:48px;height:48px;opacity:.9;pointer-events:none}.photo-card:hover .video-play-icon{opacity:1}.photo-info{padding:8px 10px;display:flex;flex-direction:column;gap:2px}.photo-author{font-size:13px;font-weight:500;color:var(--text)}.photo-author,.photo-caption{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-caption{font-size:12px;color:var(--text-light)}.photo-time{font-size:11px;color:var(--text-light);opacity:.7}.empty-gallery{text-align:center;padding:48px 20px;color:var(--text-light)}.empty-gallery p{font-size:16px}.empty-hint{font-size:13px!important;margin-top:6px;color:var(--text-faint)}.editor-overlay{position:fixed;inset:0;background:radial-gradient(80% 60% at 50% 0,rgba(228,188,122,.06),transparent 55%),#050506;z-index:2000;display:flex;flex-direction:column;animation:fadeIn .2s ease}.editor-top-bar{justify-content:space-between;padding:10px 12px;flex-shrink:0}.editor-close,.editor-top-bar{display:flex;align-items:center}.editor-close{background:none;border:none;color:rgba(255,255,255,.7);font-size:20px;width:40px;height:40px;cursor:pointer;justify-content:center;border-radius:50%;transition:background .15s}.editor-close:active{background:rgba(255,255,255,.1)}.editor-title{font-size:16px;font-weight:500;color:#fff}.editor-upload-btn{background:var(--primary);color:#111;border:none;padding:8px 20px;border-radius:20px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s;min-width:100px;text-align:center}.editor-upload-btn:active{opacity:.8}.editor-upload-btn:disabled{opacity:.4;cursor:not-allowed}.editor-preview{flex:1 1;display:flex;align-items:center;justify-content:center;padding:8px 16px;overflow:hidden;min-height:0}.editor-preview img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px}.editor-caption{padding:0 20px 8px;flex-shrink:0}.editor-caption input{width:100%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px 14px;font-size:14px;color:#fff;outline:none;transition:border-color .15s}.editor-caption input::placeholder{color:rgba(255,255,255,.3)}.editor-caption input:focus{border-color:var(--primary-light)}.filter-strip{display:flex;gap:14px;padding:12px 20px 28px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:0}.filter-strip::-webkit-scrollbar{display:none}.filter-thumb{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent}.filter-thumb img{width:68px;height:68px;border-radius:10px;object-fit:cover;border:2.5px solid transparent;transition:border-color .15s;display:block}.filter-thumb.active img{border-color:var(--primary)}.filter-label{font-size:11px;color:rgba(255,255,255,.35);white-space:nowrap;transition:color .15s}.filter-thumb.active .filter-label{color:var(--primary)}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.95);flex-direction:column;z-index:1000;padding:16px;animation:fadeIn .2s ease}.lightbox,.lightbox-image{display:flex;align-items:center;justify-content:center}.lightbox-image{flex:1 1;min-height:0;width:100%}.lightbox-image img,.lightbox-image video{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px}.lightbox--album{padding:0;background:rgba(8,8,10,.97);overscroll-behavior:contain}.lightbox-topbar{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;z-index:1002;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,0))}.lightbox-topbar>*{pointer-events:auto}.lightbox-counter{color:rgba(255,255,255,.85);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.04em;background:rgba(255,255,255,.08);padding:6px 12px;border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lightbox-topbar-actions{display:flex;align-items:center;gap:6px}.lightbox-action-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:none;color:#fff;cursor:pointer;text-decoration:none;transition:background .14s ease,transform .1s ease;-webkit-tap-highlight-color:transparent}.lightbox-action-btn:hover{background:rgba(255,255,255,.2)}.lightbox-action-btn:active{transform:scale(.9)}.lightbox--album .lightbox-close{position:static}.lightbox-stage{position:absolute;inset:0;overflow:hidden;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}.lightbox-stage,.lightbox-stage-inner{display:flex;align-items:center;justify-content:center}.lightbox-stage-inner{will-change:transform;transform-origin:center center;max-width:100%;max-height:100%}.lightbox-stage-inner img,.lightbox-stage-inner video{max-width:100vw;max-height:100vh;width:auto;height:auto;object-fit:contain;border-radius:4px;display:block;pointer-events:none;-webkit-user-drag:none}.lightbox-stage-inner video{pointer-events:auto}.lightbox-video-shell{width:auto}.lightbox-video-shell,.lightbox-video-shell .plyr{max-width:min(100vw - 24px,100%);max-height:calc(100vh - 120px)}.lightbox-video-shell .plyr{--plyr-color-main:var(--primary);--plyr-video-background:transparent;--plyr-menu-background:rgba(22,22,26,0.95);--plyr-menu-color:rgba(255,255,255,0.92);border-radius:6px}.lightbox-video-shell .plyr video{max-height:calc(100vh - 120px);object-fit:contain}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:64px;border:none;background:rgba(255,255,255,.08);color:#fff;font-size:32px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1001;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:8px;transition:background .16s ease,transform .16s ease;padding:0}.lightbox-nav:hover{background:rgba(255,255,255,.18)}.lightbox-nav:active{transform:translateY(-50%) scale(.94)}.lightbox-nav--prev{left:12px}.lightbox-nav--next{right:12px}.lightbox--album .lightbox-meta{position:absolute;left:0;right:0;bottom:0;padding:32px 20px 18px;background:linear-gradient(0deg,rgba(0,0,0,.6),rgba(0,0,0,0));z-index:1001;pointer-events:none}.lightbox--album .lightbox-meta>*{pointer-events:auto}@media (max-width:540px){.lightbox-nav{width:40px;height:56px;font-size:26px;background:rgba(255,255,255,.05)}.lightbox-nav--prev{left:6px}.lightbox-nav--next{right:6px}}@media (hover:none) and (pointer:coarse){.lightbox-nav{opacity:.55}}.lightbox-meta{flex-shrink:0;text-align:center;padding:12px 16px 8px;color:rgba(255,255,255,.7);font-size:14px}.lightbox-meta-caption{color:rgba(255,255,255,.9);margin-bottom:4px}.lightbox-meta-author{font-size:12px;color:rgba(255,255,255,.4)}.lightbox-close{position:absolute;top:16px;right:16px;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;color:#fff;font-size:22px;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1001}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.admin-page{max-width:720px;margin:0 auto;padding:28px 18px 48px}.admin-hero{margin-bottom:24px}.admin-page-title{font-size:26px;font-weight:600;letter-spacing:-.03em;line-height:1.2;color:var(--text);text-align:left;margin-bottom:6px}.admin-subtitle{text-align:left;color:var(--text-faint);margin-bottom:0;font-size:14px;font-weight:500}.admin-login{text-align:left;padding-top:min(18vh,140px)}.admin-login .admin-page-title{margin-bottom:20px}.admin-export{margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.export-archive-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;background:var(--card);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:14px;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.export-archive-btn:hover:not(:disabled){background:var(--card-hover);border-color:var(--primary-light)}.export-archive-btn:disabled{opacity:.45;cursor:not-allowed}.export-archive-hint{margin-top:10px;font-size:12px;line-height:1.45;color:var(--text-faint);max-width:36rem}.export-archive-error{margin-top:8px}.admin-photos-section{margin-bottom:24px}.admin-photos-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding:0 2px}.admin-photos-count{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint)}.admin-photos-empty{font-size:14px;color:var(--text-faint);padding:20px 0}.admin-photo-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}@media (min-width:520px){.admin-photo-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:720px){.admin-photo-grid{grid-template-columns:repeat(4,1fr)}}.admin-photo-tile{position:relative;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column}.admin-photo-thumb-wrap{position:relative;width:100%}.admin-photo-thumb{width:100%;aspect-ratio:1;object-fit:cover;display:block;background:var(--bg)}.video-play-overlay--admin{border-radius:var(--radius-md) var(--radius-md) 0 0}.admin-photo-meta{padding:8px 10px 10px;display:flex;flex-direction:column;gap:2px;min-height:0}.admin-photo-guest{font-size:12px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-photo-date{font-size:11px;color:var(--text-faint)}.admin-photo-caption{font-size:11px;color:var(--text-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-photo-delete{margin:0 10px 10px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid rgba(248,113,113,.45);background:transparent;color:var(--danger);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.admin-photo-delete:hover:not(:disabled){background:var(--rose)}.admin-photo-delete:disabled{opacity:.5;cursor:not-allowed}.list-more-wrap{display:flex;justify-content:center;margin-top:14px}.list-more-btn{min-height:40px;padding:8px 16px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--card);color:var(--text);font-size:13px;font-weight:600;cursor:pointer}.list-more-btn:disabled{opacity:.5;cursor:not-allowed}.settings-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px;margin-bottom:16px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.settings-label{display:flex;flex-direction:column;gap:2px}.settings-title{font-size:15px;font-weight:500;color:var(--text)}.settings-desc{font-size:12px;color:var(--text-light)}.toggle{position:relative;width:48px;height:28px;border-radius:14px;border:none;background:var(--border);cursor:pointer;padding:0;flex-shrink:0;transition:background .2s}.toggle-on{background:linear-gradient(135deg,var(--primary) 0,#c9a050 100%)}.toggle-knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .2s}.toggle-on .toggle-knob{transform:translateX(20px)}.settings-limit-row{display:flex;align-items:center;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.settings-limit-input{width:72px;padding:6px 10px;border:1.5px solid var(--border);border-radius:8px;font-size:14px;text-align:center;background:var(--bg);color:var(--text);outline:none;transition:border-color .15s}.settings-limit-input:focus{border-color:var(--primary-light)}.settings-limit-label{font-size:14px;color:var(--text-light)}.dates-section{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.dates-input-row{display:flex;gap:8px}.date-input{flex:1 1;padding:8px 12px;border:1.5px solid var(--border);border-radius:8px;font-size:14px;background:var(--bg);color:var(--text);outline:none;color-scheme:dark}.date-input:focus{border-color:var(--primary-light)}.date-add-btn{padding:8px 16px;background:var(--primary);color:#111;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}.date-add-btn:disabled{opacity:.35;cursor:not-allowed}.dates-list{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.date-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg);border:1px solid var(--border);padding:5px 10px;border-radius:8px;font-size:13px;color:var(--text)}.date-remove{background:none;border:none;color:var(--text-light);cursor:pointer;font-size:12px;padding:0;line-height:1;transition:color .15s}.date-remove:hover{color:var(--danger)}.dates-clear-btn{background:none;border:1px dashed var(--border);color:var(--text-light);padding:5px 10px;border-radius:8px;font-size:12px;cursor:pointer;transition:color .15s,border-color .15s}.dates-clear-btn:hover{color:var(--danger);border-color:var(--danger)}.add-guest-form,.login-form{display:flex;gap:10px;margin-bottom:24px}.login-form{max-width:100%;margin:0;flex-direction:column;align-items:stretch}.add-guest-form{flex-direction:row;align-items:stretch}.add-guest-form input,.login-form input{flex:1 1;padding:12px 16px;border:1.5px solid var(--border);border-radius:12px;font-size:15px;background:var(--card);outline:none;transition:border-color .2s;color:var(--text)}.add-guest-form input:focus,.login-form input:focus{border-color:var(--primary-light)}.add-guest-form button,.login-form button{padding:12px 24px;background:var(--primary);color:#0c0c0d;border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:600;cursor:pointer;transition:opacity .15s;white-space:nowrap}.login-form button{width:100%}.add-guest-form button:active,.login-form button:active{opacity:.8}.error-text{color:var(--danger);margin-top:12px;font-size:14px}.guest-list{display:flex;flex-direction:column;gap:14px}.guest-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;display:flex;align-items:center;gap:16px;position:relative}.guest-qr img{border-radius:8px;display:block}.guest-details{flex:1 1;min-width:0}.guest-details h3{font-size:17px;font-weight:600;color:var(--text);margin-bottom:4px}.guest-link{font-size:11px;color:var(--text-light);word-break:break-all;margin-bottom:8px;line-height:1.4}.guest-stats{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.stat-photos{font-size:12px;color:var(--text-light);background:var(--bg);padding:3px 8px;border-radius:6px}.stat-photos.stat-full{color:var(--danger);background:var(--rose)}.limit-edit-btn{font-size:11px;color:var(--primary);background:none;border:1px dashed var(--primary-light);padding:2px 8px;border-radius:6px;cursor:pointer;transition:background .15s}.limit-edit-btn:hover{background:var(--primary-muted)}.limit-editor{display:flex;align-items:center;gap:4px}.limit-input{width:60px;padding:2px 6px;border:1.5px solid var(--primary-light);border-radius:6px;font-size:12px;text-align:center;outline:none;color:var(--text);background:var(--bg)}.limit-cancel,.limit-save{background:none;border:none;cursor:pointer;font-size:14px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%}.limit-save{color:#6a9a4a}.limit-cancel{color:var(--danger)}.copy-btn{padding:5px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:12px;color:var(--primary);cursor:pointer;transition:background .15s}.copy-btn:active{background:var(--border)}.delete-btn{position:absolute;top:10px;right:10px;background:none;border:none;color:var(--text-light);font-size:16px;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s,color .15s}.delete-btn:hover{background:var(--rose);color:var(--danger)}.print-section{text-align:center;margin-top:32px}.print-section button{padding:12px 32px;background:var(--card);border:1.5px solid var(--primary-light);border-radius:12px;font-size:15px;color:var(--primary);cursor:pointer;transition:background .15s}.print-section button:active{background:var(--border)}@media (min-width:480px){.photo-grid{grid-template-columns:repeat(3,1fr)}}@media print{body{background:#fff;color:#111}.admin-page{padding:0;max-width:100%}.add-guest-form,.admin-export,.admin-photos-section,.admin-subtitle,.copy-btn,.delete-btn,.guest-stats,.print-section{display:none!important}.guest-card{background:#fff;border:1px solid #ddd;break-inside:avoid;page-break-inside:avoid}.guest-details h3{color:#111}.guest-link{color:#555}.guest-list{gap:8px}}