:root{color-scheme:dark;--bg:#0b0e15;--panel:#171c28;--line:#303849;--txt:#f5f7fb;--muted:#aab3c5;--blue:#3e93ff;--green:#37d5a0}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--txt);font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer;background:#263249;color:white;border:1px solid #43516a;border-radius:10px;padding:10px 14px}button:hover{background:#344563}button:disabled{opacity:.45;cursor:default}.primary{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:700}.danger{background:#602636;border-color:#8e4054}.shell{max-width:1100px;margin:0 auto;padding:30px 18px}h1{font-size:clamp(28px,4vw,42px);line-height:1.15;margin:0 0 12px}h2{font-size:21px;margin:0 0 12px}p{color:var(--muted)}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;margin:16px 0}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.spread{justify-content:space-between}.muted{color:var(--muted)}input[type=text],input[type=password],input[type=number],select{background:#0c111d;color:white;border:1px solid #3d4860;border-radius:9px;padding:11px;max-width:100%;width:100%}label{display:block;color:#d5dceb}label>input:not([type=checkbox]),label>select{margin-top:6px}.hint{font-size:13px;color:var(--muted)}a{color:#85baff;text-decoration:none;overflow-wrap:anywhere}.event{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);padding:16px 0;flex-wrap:wrap}.event:first-child{border-top:0}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.photo{position:relative;background:#0a0c12;border:2px solid #343e50;border-radius:12px;overflow:hidden}.photo.selected{border-color:var(--green)}.photo img{width:100%;height:145px;object-fit:cover;display:block}.photo .actions{display:flex;gap:5px;padding:6px}.photo button{font-size:12px;padding:6px;flex:1}.pill{border-radius:20px;padding:3px 8px;font-size:11px;background:#6b3544;color:white;position:absolute;top:6px;left:6px}.photo.selected .pill{background:#176f52}.bigUpload{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;border:2px dashed #6089bf;border-radius:20px;padding:42px 20px;text-align:center;cursor:pointer;background:#142138}.bigUpload input{display:none}.bigUpload strong{font-size:22px}.guest{max-width:540px;margin:0 auto;padding:42px 18px;text-align:center}.guest .card{text-align:left}.guest .bigUpload{text-align:center}.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:100;background:#253c57;border:1px solid #6a8db6;border-radius:12px;padding:12px 18px;max-width:90vw}.topline{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.settings label{display:flex;flex-direction:column;gap:6px}.settings .check{flex-direction:row;align-items:center}.links{display:grid;gap:8px}.links code{word-break:break-all;color:#b7d9ff}.stage{position:fixed;inset:0;background:#000;overflow:hidden}.stageScreen{position:absolute;inset:0;overflow:hidden;background:#000;transition:right .25s}.stage.panelOpen .stageScreen{right:390px}.slide{position:absolute;inset:0;opacity:0;overflow:hidden}.slide.active{opacity:1;z-index:2}.slide img{position:absolute;width:100%;height:100%;object-fit:contain;inset:0}.slide .blur{position:absolute;inset:-6%;background-size:cover;background-position:center;filter:blur(45px) brightness(.34)}.slide.fx-fade{transition:opacity .9s ease}.slide.fx-slide{transform:translateX(100%);opacity:1;transition:transform .8s ease}.slide.fx-slide.active{transform:translateX(0)}.slide.fx-slide.exit{transform:translateX(-100%)}.slide.fx-zoom{transform:scale(.82);transition:opacity .8s,transform .9s}.slide.fx-zoom.active{transform:scale(1)}.slide.fx-flip{transform:perspective(1400px) rotateY(80deg);transition:opacity .8s,transform .9s}.slide.fx-flip.active{transform:perspective(1400px) rotateY(0)}.stagePanel{position:absolute;right:0;top:0;bottom:0;width:390px;overflow:auto;background:#151c29;padding:18px;transform:translateX(100%);transition:transform .25s;border-left:1px solid #354157}.stage.panelOpen .stagePanel{transform:translateX(0)}.stagePanel .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.stagePanel .photo img{height:115px}.stagePanel .card{padding:12px}.stagePanel h2{font-size:18px}.stageEmpty{position:absolute;inset:0;display:grid;place-items:center;color:#c5cedc;text-align:center;font-size:24px}.stageHint{position:fixed;left:12px;bottom:10px;z-index:5;color:#fff8;background:#0009;padding:5px 9px;border-radius:6px;font-size:12px}.stage:not(.panelOpen) .stageHint{opacity:0}.stagePanel .settings{grid-template-columns:1fr}.stagePanel .row{gap:6px}@media(max-width:650px){.stage.panelOpen .stageScreen{right:0;bottom:55%}.stagePanel{width:100%;top:45%;border-left:0;border-top:1px solid #354157;transform:translateY(110%)}.stage.panelOpen .stagePanel{transform:translateY(0)}}

/* Loopjaus premium interface */
:root{--bg:#080a0e;--panel:#11151d;--line:#30343e;--txt:#f5f6f8;--muted:#a5abb8;--blue:#d8e5ff;--green:#79d5bb}
body{background:radial-gradient(ellipse 90% 45% at 60% -15%,#202b40 0%,transparent 72%),var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;letter-spacing:.005em}
.shell{max-width:1240px;padding-top:36px}.card{background:linear-gradient(145deg,#171c25,#11151c);border:1px solid #343a46;border-radius:19px;box-shadow:0 12px 35px #0002}
h1{font-weight:600;letter-spacing:-.045em}h2{font-weight:600;letter-spacing:-.025em}
.brand{display:flex;align-items:center;gap:13px;margin:0 0 22px;opacity:.95}.brand img{width:142px;height:auto;max-height:34px;object-fit:contain}.brand span{font-size:11px;font-weight:700;letter-spacing:.3em;border-left:1px solid #747c88;padding-left:13px}
button,.buttonLink{border-radius:11px;transition:background .2s,transform .2s}.buttonLink{display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;background:#252d3a;border:1px solid #4a5260;color:#f7f9ff;font-weight:600}.buttonLink:hover,button:hover{transform:translateY(-1px);background:#3c4556}
.primary{background:#e6ebf3;border-color:#e6ebf3;color:#111821}.primary:hover{background:#fff;color:#10141a}
.event{padding:22px 8px}.event strong{font-size:18px}.event .row a{display:inline-block;padding:9px 12px;border:1px solid #444c5a;border-radius:10px}
.qrPreview{display:block;background:white;padding:12px;border-radius:12px;max-width:100%;height:auto;margin:12px 0 16px}
.cameraUpload{margin-top:12px;padding:24px 18px;background:#181e29;border-color:#49576b}.cameraUpload strong{font-size:17px}
.guest .brand{justify-content:center}.clientGallery{grid-template-columns:repeat(auto-fill,minmax(175px,1fr));margin-top:20px}.galleryTile{padding:0;overflow:hidden;border:1px solid #454c58;background:#151923;aspect-ratio:1}.galleryTile img{display:block;width:100%;height:100%;object-fit:cover}
.viewer[hidden]{display:none!important}.viewer{position:fixed;inset:0;background:#030406f5;z-index:500;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:70px 20px 85px}.viewer img{max-width:calc(100vw - 170px);max-height:calc(100vh - 175px);object-fit:contain;box-shadow:0 15px 70px #0008}.viewerClose{position:absolute;right:24px;top:20px}.viewerTop{position:absolute;left:24px;top:24px;right:90px;display:flex;justify-content:space-between;color:#e5e7eb}.viewerNav{font-size:38px;background:#ffffff15;border:0;padding:2px 18px}.viewerBottom{position:absolute;bottom:20px;display:flex;align-items:center;gap:20px}.viewerBottom a{padding:10px 14px;border:1px solid #5b6678;border-radius:10px}.viewing{overflow:hidden}
input[type=date]{background:#0c111d;color:white;border:1px solid #3d4860;border-radius:9px;padding:11px}
@media(max-width:650px){.viewer{padding:85px 8px}.viewer img{max-width:calc(100vw - 90px)}.viewerNav{padding:2px 8px}.brand img{width:120px}.topline{align-items:flex-start}}

.securityOverlay{position:fixed;inset:0;background:#000b;z-index:900;display:grid;place-items:center;padding:16px}.securityDialog{width:min(460px,100%);display:grid;gap:16px}.securityDialog .row{margin-top:6px}

/* V05 — premium navigation and private album */

.actionTiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 24px}
.actionTile{display:flex;flex-direction:column;gap:7px;padding:22px;border:1px solid #303846;border-radius:16px;background:linear-gradient(140deg,#202633,#121720);color:#f2f5fa;text-decoration:none;min-height:138px}
.actionTile:hover{border-color:#8394af;background:#252d3c}.actionTile span{font-size:25px}.actionTile strong{font-size:17px}.actionTile small{color:#a7b0c0}
.sharePanel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin:12px 0 4px;padding:18px;background:#121722;border-radius:14px}
.sharePanel .hint{margin:5px 0}.sharePanel .quietLink{grid-column:1/-1;color:#bcd2f9}
.qrPanel{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.qrImage{width:min(280px,100%);height:auto;background:white;padding:12px;border-radius:12px}
.qrActions{display:flex;flex-direction:column;gap:12px;max-width:360px}
.loginBrand{display:flex;align-items:center;gap:16px;margin-bottom:24px}.loginBrand img{max-width:180px;max-height:38px;object-fit:contain}.loginBrand span{font-size:10px;letter-spacing:.2em;color:#aeb7c8}.loginHelp{font-size:12px;line-height:1.6}
.galleryToolbar{margin:18px 0}.lightbox[hidden]{display:none!important}.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(2,4,9,.97);display:flex;align-items:center;justify-content:space-around;gap:10px;padding:20px}.lightbox img{max-width:80vw;max-height:88vh;object-fit:contain}.lightbox button{background:#232b3a;color:white;border:1px solid #495263;border-radius:12px;font-size:22px;padding:12px}.lightbox #closeLightbox{position:absolute;right:20px;top:20px}.lightbox #lightboxCount{position:absolute;bottom:15px;color:#c8d0df}
@media(max-width:650px){.actionTiles{grid-template-columns:1fr}.sharePanel{grid-template-columns:1fr}.qrPanel{gap:12px}.lightbox img{max-width:72vw}}

/* V6 refinements */
.brand{margin-bottom:14px}.topline .brand{margin-bottom:8px}.actionTiles{scroll-margin-top:30px}.card{scroll-margin-top:20px}.textButton{border:0;background:transparent;color:#9ec5ff;text-decoration:underline;cursor:pointer;padding:10px}.securityDialog{max-height:85vh;overflow:auto}.securityDialog hr{border:0;border-top:1px solid #333c4d;width:100%}#recoverBox{border-top:1px solid #333c4d;margin-top:16px;padding-top:16px}#recoverBox[hidden]{display:none}#photosGrid{scroll-margin-top:25px}

/* V7: unified brand and clean responsive controls */
body:not([data-view="stage"]):not([data-view="guest"]) .shell:before{display:none!important}
.brand{display:flex;align-items:center;gap:14px;margin:0 0 22px}.brand img{width:165px;max-height:35px;object-fit:contain}.brand span{font-size:11px;letter-spacing:.28em;color:#b3bdcc;border-left:1px solid #475165;padding-left:14px}
.usersDialog{width:min(720px,94vw);max-height:90vh;overflow:auto}.userItem{border:1px solid #333e50;padding:14px;border-radius:12px;display:flex;flex-direction:column;gap:9px;margin:10px 0}.userItem small{color:#aeb6c4}.userItem .row{flex-wrap:wrap}
#homeContent .event{gap:14px}.securityOverlay{z-index:2000}
@media(max-width:600px){.topline{align-items:flex-start;flex-wrap:wrap}.topline .row{flex-wrap:wrap}.actionTile{min-height:115px}.shell{padding:20px 16px}.brand img{width:142px}}

.albumHero{min-height:330px;border-radius:22px;display:grid;place-items:center;position:relative;overflow:hidden;background:linear-gradient(130deg,#e9dfd1,#faf7f1);color:#292522;text-align:center;margin:20px 0 24px}.albumHero.hasCover{background-image:linear-gradient(#0005,#0008),var(--album-cover);background-size:cover;background-position:center;color:#fff}.albumHero #albumIdentity{padding:45px 24px}.albumHero h1{font:400 clamp(32px,6vw,64px) Georgia,serif;letter-spacing:-.03em}.albumHero p{color:inherit;opacity:.85}.albumHero .brand{justify-content:center;margin-bottom:26px}.albumHero #customAlbumLogo{display:block;max-width:240px;max-height:130px;object-fit:contain;margin:0 auto 20px}.albumShell[data-theme=dark] .albumHero{background:#14151b;color:#fff}.albumShell[data-theme=modern] .albumHero{background:linear-gradient(130deg,#e5ecf4,#cbd9e8);color:#17283c}.albumShell #zip[hidden]{display:none}.albumShell .gallery{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.albumShell .gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}.actionTile{min-height:130px}#albumForm input[type=file]{max-width:100%}@media(max-width:650px){.albumHero{min-height:290px}.albumShell .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}}

/* V11: exclusively client album presentation; all other views retain V10 styles. */
body:has(.albumShell){background:#080d16}
.albumShell{max-width:1160px;min-height:100vh;padding-bottom:90px;position:relative;isolation:isolate}
.albumShell.hasAlbumBackground:before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(4,9,17,.62),rgba(4,9,17,.94)),var(--album-page-bg) center/cover no-repeat;pointer-events:none}
.albumShell .albumHero{min-height:365px;border-radius:25px;border:1px solid rgba(222,186,125,.3);box-shadow:0 24px 75px #0006;margin:8px 0 26px}
.albumShell .albumHero.hasCover{background-image:linear-gradient(#02091335,#02091388),var(--album-cover)}
.albumShell .albumHero #albumIdentity{padding:42px 24px}
.albumShell .albumHero h1{font-size:clamp(36px,5vw,65px);line-height:1.15}
.albumShell .albumIntro{font-size:15px;color:#e5e1dc;margin:8px 0 16px}
.albumShell .albumActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:650px;gap:16px;margin:0 auto 26px}
.albumShell .albumAction{display:flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;border-radius:13px;min-height:55px;padding:12px 16px;font-size:15px;font-weight:700;line-height:1.2;white-space:normal;text-align:center;box-shadow:0 6px 20px #0002}
.albumShell .albumActionGold{background:linear-gradient(135deg,#f4ddb0,#bd914b);color:#161b23;border:1px solid #e5c48b}
.albumShell .albumActionGold:hover{background:#f4ddb0;color:#161b23}
.albumShell .albumActionOutline{background:#202b38e8;color:#f6f7fa;border:1px solid #aeb9c8}
.albumShell .albumActionOutline:hover{background:#344153}
.albumShell .albumAction[hidden]{display:none}
.albumShell .albumGalleryHead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 18px}
.albumShell .albumViewButtons{display:flex;gap:3px;padding:4px;border:1px solid #3e4757;border-radius:11px;background:#151b26}
.albumShell .albumViewButtons button{padding:6px 12px;border:0;background:transparent;color:#c7cbd4;border-radius:8px;font-size:20px;line-height:1.1}
.albumShell .albumViewButtons button.isActive{background:linear-gradient(135deg,#dcb978,#9e7236);color:#0b121b}
.albumShell .gallery{grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:15px}
.albumShell .gallery.albumLarge{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
.albumShell .gallery .galleryTile{border:1px solid #49515e;border-radius:15px;box-shadow:0 8px 24px #0003;transition:transform .2s,border-color .2s}
.albumShell .gallery .galleryTile:hover{transform:translateY(-3px);border-color:#d6b67d}
@media(max-width:650px){.albumShell{padding:18px 14px 65px}.albumShell .albumHero{min-height:300px;border-radius:20px;margin:0 0 24px}.albumShell .albumActions{grid-template-columns:1fr;gap:11px;margin:0 0 28px}.albumShell .albumAction{width:100%;min-height:52px}.albumShell .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.albumShell .gallery.albumLarge{grid-template-columns:1fr}.albumShell .albumGalleryHead{margin-bottom:14px}}
