:root{--accent:#ff6b35;--accent2:#5dd6ff;--accent3:#f7cf4f;--background:#09090d;--border:rgba(255, 255, 255, 0.12);--foreground:#f7f4ee;--muted:#b7b0a3;--panel:rgba(255, 255, 255, 0.06);--shadow:0 30px 80px rgba(0, 0, 0, 0.45)}
*{box-sizing:border-box}
a{color:inherit;text-decoration:none}
body{background:radial-gradient(circle at top, rgba(255, 107, 53, 0.3), transparent 55%), radial-gradient(circle at 20% 20%, rgba(93, 214, 255, 0.35), transparent 45%), radial-gradient(circle at 80% 10%, rgba(247, 207, 79, 0.3), transparent 50%), #0b0b12;color:var(--foreground);margin:0}
html{background:var(--background);color:var(--foreground);font-family:"Space Grotesk", "Helvetica Neue", sans-serif;min-height:100dvh}
#adminBody{align-items:flex-start;display:flex;flex:1 1 auto;flex-direction:column;gap:24px}
#adminBrand{font-weight:700;margin-bottom:20px}
#adminHeader{align-items:center;display:flex;flex:0 0 auto;gap:12px;justify-content:space-between}
#adminMain{color:var(--foreground);display:flex;flex-direction:column;gap:24px;overflow:auto;padding:28px clamp(18px, 4vw, 48px)}
#adminNav{background:#11111d;display:flex;flex-direction:column;gap:14px;padding:32px 24px}
#adminShell{background:#0c0c14;display:grid;grid-template-columns:240px 1fr;height:100dvh;min-height:100dvh}
#brand{align-items:center;display:flex;gap:16px}
#bulkReviewGrid{align-items:start;display:flex;flex-wrap:wrap;gap:18px;width:100%}
#cartGrid{display:flex;flex-wrap:wrap;gap:14px}
#cartPage{display:grid;gap:16px;width:100%}
#cartPage button{background:rgba(255, 255, 255, 0.04);border:1px solid var(--border);border-radius:12px;color:var(--foreground);cursor:pointer;font-weight:600;padding:10px 14px}
#cartPage button:hover{background:rgba(255, 255, 255, 0.12)}
#cartSummary{align-items:start;display:grid;gap:14px}
#categoryHeader h2{font-family:"Fraunces", "Times New Roman", serif;font-size:clamp(1.8rem, 3vw, 2.6rem);margin:0 0 8px}
#categoryHeader p{color:var(--muted);margin:0}
#categoryList{display:grid;gap:10px;margin-top:24px}
#checkoutForm{display:grid;gap:8px;max-width:620px}
#checkoutForm button{background:linear-gradient(135deg, var(--accent3), var(--accent));border:0;border-radius:12px;color:#111;cursor:pointer;font-weight:700;padding:12px 18px}
#checkoutForm button:hover{filter:brightness(1.05)}
#checkoutForm input,#checkoutForm select,#checkoutForm textarea{background:rgba(255, 255, 255, 0.04);border:1px solid var(--border);border-radius:10px;color:var(--foreground);padding:10px 12px;width:100%}
#checkoutForm textarea{min-height:80px;resize:vertical}
#checkoutOrderList{background:rgba(255, 255, 255, 0.04);border:1px solid var(--border);border-radius:14px;display:grid;gap:8px;padding:14px}
#checkoutPage{display:grid;gap:16px;max-width:620px;width:100%}
#checkoutThumbGrid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill, minmax(120px, 1fr))}
#content{display:flex;flex:1 1 auto;flex-direction:column;gap:40px}
#content.homeContent{flex:1;gap:0;min-height:100dvh}
#foot{border-top:1px solid var(--border);color:var(--muted);font-size:0.9rem;margin-top:auto;padding-top:20px;text-align:center;width:100%}
#gallery{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px}
#glow{animation:float 12s ease-in-out infinite;background:radial-gradient(circle, rgba(93, 214, 255, 0.4), transparent 70%);filter:blur(10px);height:420px;inset:-30% -10% auto auto;pointer-events:none;position:absolute;width:420px;z-index:0}
#lightbox{align-items:center;background:rgba(5, 5, 10, 0.85);display:flex;inset:0;justify-content:center;opacity:0;pointer-events:none;position:fixed;transition:opacity 0.2s ease;z-index:10}
#lightbox.open{opacity:1;pointer-events:auto}
#lightboxCartForm button,#lightboxGoCart{align-items:center;background:rgba(255, 255, 255, 0.04);border:1px solid var(--border);border-radius:12px;color:var(--foreground);display:inline-flex;font-weight:600;justify-content:center;padding:10px 14px}
#lightboxClose{background:rgba(255, 255, 255, 0.12);border:1px solid var(--border);border-radius:999px;color:var(--foreground);cursor:pointer;padding:8px 14px;position:absolute;right:24px;top:20px}
#lightboxImg{border-radius:16px;box-shadow:0 30px 80px rgba(0, 0, 0, 0.55);max-height:90vh;max-width:min(900px, 92vw)}
#lightboxName{font-weight:600}
#lightboxPanel{background:rgba(0, 0, 0, 0.6);border:1px solid var(--border);border-radius:14px;bottom:20px;display:grid;gap:8px;left:20px;min-width:220px;padding:12px;position:absolute}
#lightboxPrice{color:var(--accent3)}
#lightboxVat{color:var(--muted);font-size:0.85rem}
#logo{background:linear-gradient(135deg, var(--accent), var(--accent2));border-radius:16px;display:grid;font-weight:700;height:52px;letter-spacing:0.08em;place-items:center;width:52px}
#menu{backdrop-filter:blur(18px);background:rgba(0, 0, 0, 0.35);border:1px solid var(--border);border-radius:999px;display:flex;flex-wrap:wrap;gap:12px;padding:8px 14px}
#menuToggle{background:rgba(255, 255, 255, 0.08);border:1px solid var(--border);border-radius:12px;color:var(--foreground);cursor:pointer;display:none;font-weight:600;padding:10px 14px}
#page{display:flex;flex-direction:column;gap:60px;min-height:100dvh;overflow:hidden;padding:40px clamp(20px, 5vw, 72px) 60px;position:relative}
#page > header,#page > section,#page > footer{position:relative;z-index:1}
#page.homeMode{gap:0;padding:0}
#productCategoryList{display:grid;gap:12px;max-width:520px;width:100%}
#productImageForm .image-input{background:rgba(0, 0, 0, 0.35);border:1px solid var(--border);border-radius:12px;color:var(--foreground);display:block;padding:10px 12px;width:100%}
#productImageForm .input.image img{border-radius:12px;max-width:220px}
#productImageGrid{align-items:start;display:flex;flex-wrap:wrap;gap:18px}
#tagline{color:var(--muted);font-size:0.9rem}
#title{font-size:1.2rem;font-weight:600}
#toasts{position:fixed;right:10px;top:5px;z-index:1001}
#toasts > *{background-color:rgba(0, 0, 0, .66);border-radius:10px;clear:both;color:white;cursor:zoom-out;float:right;margin-top:5px;padding:3px 6px}
#top{align-items:center;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between}
#top.topHome{justify-content:center;left:50%;position:absolute;top:14px;transform:translateX(-50%);width:calc(100% - 24px);z-index:2}
#uploadForm button,#categoryForm button,#productCategoryForm button,#productImageForm button,#productFilterForm button,#bulkUploadForm button,#watermarkForm button{background:linear-gradient(135deg, var(--accent3), var(--accent));border:0;border-radius:12px;color:#111;cursor:pointer;font-weight:600;padding:12px 18px}
#uploadForm input,#uploadForm select,#categoryForm input,#productCategoryForm input,#productImageForm select,#productFilterForm select,#bulkUploadForm input,#bulkUploadForm select,#watermarkForm input{background:rgba(0, 0, 0, 0.35);border:1px solid var(--border);border-radius:12px;color:var(--foreground);padding:10px 12px}
#uploadForm label,#categoryForm label,#productCategoryForm label,#productImageForm label,#productFilterForm label,#bulkUploadForm label,#watermarkForm label{display:grid;font-size:0.9rem;gap:8px}
#uploadForm,#categoryForm,#productCategoryForm,#productImageForm,#productFilterForm,#bulkUploadForm,#watermarkForm{background:var(--panel);border:1px solid var(--border);border-radius:18px;display:grid;gap:16px;max-width:520px;padding:22px;width:100%}
#waterfallCollage{background:transparent;border:0;border-radius:0;height:100dvh;overflow:hidden;position:relative}
.adminBulkActions{display:flex;flex-wrap:wrap;gap:10px}
.adminBulkActions .danger{background:rgba(255, 255, 255, 0.12);color:var(--foreground)}
.adminBulkActions button{background:rgba(255, 255, 255, 0.04);border:1px solid var(--border);border-radius:12px;color:var(--foreground);cursor:pointer;font-weight:600;padding:10px 14px}
.adminCard{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:18px}
.adminCustomers{display:grid;gap:12px;max-width:760px;width:100%}
.adminGrid{display:inline-grid;gap:16px;grid-template-columns:repeat(5, minmax(0, 1fr));width:100%}
.adminLink{background:rgba(255, 255, 255, 0.04);border:1px solid var(--border);border-radius:12px;padding:10px 14px}
.adminNote{color:var(--accent3);font-size:0.9rem}
.adminOrders{display:grid;gap:12px;max-width:760px;width:100%}
.adminProductsBulkForm{display:grid;gap:16px;width:100%}
.adminTopCategories{background:var(--panel);border:1px solid var(--border);border-radius:18px;display:grid;gap:10px;margin-top:16px;padding:18px}
.adminTopCategories h3{margin:0}
.bulkReviewForm{width:100%}
.bulkReviewHeader h2{font-family:"Fraunces", "Times New Roman", serif;margin:0}
.bulkReviewHeader p{color:var(--muted);margin:6px 0 0}
.bulkSaveAll{justify-self:start;margin-top:16px}
.cardSub{color:var(--muted);font-size:0.9rem;margin-top:6px}
.cardValue{font-size:1.8rem;font-weight:700;margin-top:10px}
.cartItem{background:var(--panel);border:1px solid var(--border);border-radius:14px;display:grid;gap:10px;padding:12px;width:fit-content}
.cartMeta{display:grid;gap:4px}
.cartName{font-weight:600}
.cartPrice{color:var(--accent3)}
.categoryDeleteForm button{background:rgba(255, 255, 255, 0.12);color:var(--foreground)}
.categoryItem{background:rgba(255, 255, 255, 0.04);border:1px solid var(--border);border-radius:14px;display:flex;justify-content:space-between;padding:14px}
.categoryRenameForm{display:flex;flex:1;gap:10px}
.categoryRenameForm button,.categoryDeleteForm button{background:linear-gradient(135deg, var(--accent3), var(--accent));border:0;border-radius:10px;color:#111;cursor:pointer;font-weight:600;padding:8px 12px}
.categoryRenameForm input{background:rgba(0, 0, 0, 0.35);border:1px solid var(--border);border-radius:10px;color:var(--foreground);flex:1;padding:8px 10px}
.categoryRow{align-items:center;background:rgba(255, 255, 255, 0.04);border:1px solid var(--border);border-radius:14px;display:flex;gap:12px;justify-content:space-between;padding:12px}
.categorySlug{color:var(--muted);font-size:0.85rem}
.checkoutActions{display:flex;flex-wrap:wrap;gap:10px}
.checkoutActions .cta{align-items:center;border:1px solid transparent;border-radius:14px;display:inline-flex;font-weight:700;justify-content:center;letter-spacing:0.01em;min-width:170px;padding:12px 18px;transition:transform 0.16s ease, box-shadow 0.16s ease, filter 0.16s ease}
.checkoutActions .cta:hover{filter:brightness(1.05);transform:translateY(-2px)}
.checkoutBackBtn{background:rgba(255, 255, 255, 0.08);border-color:rgba(255, 255, 255, 0.28);color:var(--foreground)}
.checkoutBusinessFields{display:none}
.checkoutBusinessFields.open{display:grid;gap:8px}
.checkoutDownloadBtn{align-items:center;background:rgba(255, 255, 255, 0.04);border:1px solid var(--border);border-radius:12px;display:inline-flex;font-weight:600;justify-content:center;padding:12px 16px}
.checkoutError{color:#ffb2b2;margin:0}
.checkoutLabel{color:var(--muted);font-size:0.9rem;font-weight:600}
.checkoutMainBtn{background:linear-gradient(135deg, var(--accent3), var(--accent));box-shadow:0 12px 24px rgba(255, 107, 53, 0.32);color:#111}
.checkoutMethodGrid{display:grid;gap:8px;grid-template-columns:repeat(2, minmax(0, 1fr))}
.checkoutMethodOption{display:grid;position:relative}
.checkoutMethodOption input{inset:0;opacity:0;position:absolute}
.checkoutMethodOption input:checked + span{background:linear-gradient(135deg, var(--accent3), var(--accent));border-color:rgba(255, 255, 255, 0.2);color:#111}
.checkoutMethodOption span{align-items:center;background:rgba(255, 255, 255, 0.03);border:1px solid var(--border);border-radius:10px;color:var(--muted);display:flex;font-weight:600;justify-content:center;padding:10px 12px;transition:background 0.18s ease, color 0.18s ease, border-color 0.18s ease}
.checkoutMethodWrap{display:grid;gap:8px}
.checkoutRow{color:var(--muted);display:flex;gap:12px;justify-content:space-between}
.checkoutRow.total{border-top:1px solid var(--border);color:var(--foreground);font-weight:700;padding-top:8px}
.checkoutTerms{color:var(--muted);font-size:0.9rem;margin:2px 0 0}
.checkoutThumb{background:rgba(255, 255, 255, 0.04);border:1px solid var(--border);border-radius:12px;margin:0;padding:8px}
.checkoutThumb img{border-radius:8px;display:block;height:auto;width:100%}
.checkoutTypeOption{display:grid;position:relative}
.checkoutTypeOption input{inset:0;opacity:0;position:absolute}
.checkoutTypeOption input:checked + span{background:linear-gradient(135deg, var(--accent3), var(--accent));border-color:rgba(255, 255, 255, 0.2);color:#111}
.checkoutTypeOption span{align-items:center;border:1px solid transparent;border-radius:10px;color:var(--muted);display:flex;font-weight:600;justify-content:center;padding:10px 12px;transition:background 0.18s ease, color 0.18s ease, border-color 0.18s ease}
.checkoutTypeSwitch{background:rgba(255, 255, 255, 0.03);border:1px solid var(--border);border-radius:12px;display:grid;gap:8px;grid-template-columns:1fr 1fr;padding:4px}
.customerCard{background:rgba(255, 255, 255, 0.04);border:1px solid var(--border);border-radius:14px;display:grid;gap:8px;padding:14px}
.customerHead{display:flex;gap:10px;justify-content:space-between}
.customerMeta{color:var(--muted);display:grid;gap:4px}
.deleteForm button{background:rgba(255, 255, 255, 0.12);color:var(--foreground)}
.downloadLinks{display:grid;gap:8px}
.fallShot{animation:waterfall var(--duration) ease-in-out infinite;animation-delay:var(--delay);border-radius:14px;filter:brightness(0.92);left:var(--x);opacity:0;overflow:hidden;position:absolute;top:-240px;transform:translateX(-50%) rotate(var(--rot));transition:transform 0.22s ease, filter 0.22s ease, box-shadow 0.22s ease;width:var(--size)}
.fallShot img{border:1px solid rgba(255, 255, 255, 0.15);box-shadow:0 12px 30px rgba(0, 0, 0, 0.35);display:block;height:auto;object-fit:cover;width:100%}
.fallShot:hover{animation-play-state:paused;filter:brightness(1);transform:translateX(-50%) rotate(0deg) scale(1.05);z-index:2}
.input.file{display:block !important}
.input.file .file{cursor:pointer;display:flex;gap:.25rem}
.input.file .file-input{display:none}
.input.file input[type="checkbox"]{width:initial !important}
.input.image{display:block !important;text-align:center}
.input.image .image{cursor:pointer;max-width:100%}
.input.image .image-input{display:none}
.input.image input[type="checkbox"]{width:initial !important}
.orderCard{background:rgba(255, 255, 255, 0.04);border:1px solid var(--border);border-radius:14px;display:grid;gap:10px;padding:14px}
.orderDetails{display:grid;gap:10px}
.orderDetails summary{color:var(--muted);cursor:pointer;font-weight:600;user-select:none}
.orderError{color:#ffb2b2;font-size:0.9rem}
.orderFilters{display:flex;flex-wrap:wrap;gap:8px}
.orderHead{display:flex;gap:10px;justify-content:space-between}
.orderHeadCompact{display:grid;gap:8px}
.orderHeadMain{align-items:center;display:flex;gap:10px;justify-content:space-between}
.orderHeadSub{color:var(--muted);display:flex;flex-wrap:wrap;font-size:0.9rem;gap:8px 14px}
.orderLinks{display:flex;flex-wrap:wrap;gap:8px}
.orderLinks button{background:rgba(255, 255, 255, 0.08);border:1px solid var(--border);border-radius:12px;color:var(--foreground);cursor:pointer;font-weight:600;padding:10px 14px}
.orderLinks button.danger{background:rgba(255, 90, 90, 0.18);border-color:rgba(255, 120, 120, 0.5)}
.orderLinks form{margin:0}
.orderMeta{color:var(--muted);display:grid;gap:4px;word-break:break-word}
.orderPhotos{color:var(--foreground);font-size:0.9rem}
.orderStatus{align-items:center;border:1px solid var(--border);border-radius:999px;display:inline-flex;font-size:0.78rem;font-weight:700;letter-spacing:0.02em;padding:4px 10px}
.orderStatus.status-paid{background:rgba(40, 170, 90, 0.2);border-color:rgba(99, 224, 144, 0.45);color:#b7ffd8}
.orderStatus.status-pending{background:rgba(210, 150, 40, 0.2);border-color:rgba(235, 185, 100, 0.5);color:#ffe3ae}
.orderStatus.status-unpaid,.orderStatus.status-expired,.orderStatus.status-failed,.orderStatus.status-canceled{background:rgba(190, 70, 70, 0.2);border-color:rgba(255, 120, 120, 0.45);color:#ffb2b2}
.pill{border-radius:999px;color:var(--muted);font-size:0.9rem;padding:8px 16px;transition:all 0.2s ease}
.pill.active{background:linear-gradient(120deg, var(--accent3), var(--accent));box-shadow:0 8px 18px rgba(255, 107, 53, 0.35);color:#101015}
.pill:hover{background:rgba(255, 255, 255, 0.12);color:var(--foreground)}
.priceLabel{color:var(--muted);font-size:0.78rem}
.productSelect{align-items:center;background:rgba(0, 0, 0, 0.55);border:1px solid var(--border);border-radius:999px;display:inline-flex;font-size:0.78rem;gap:6px;padding:5px 10px;position:absolute;right:10px;top:10px;z-index:1}
.productSelect input{accent-color:#ff6b35;margin:0}
.productShot{background:var(--panel);border:1px solid var(--border);border-radius:18px;display:grid;gap:12px;margin:0;padding:14px;width:fit-content}
.productShot img{border-radius:12px;height:auto;margin:0 auto;max-width:100%;width:auto}
.productShot.selectable{position:relative}
.renameForm button,.deleteForm button,.bulkReviewForm button{background:linear-gradient(135deg, var(--accent3), var(--accent));border:0;border-radius:10px;color:#111;cursor:pointer;font-weight:600;padding:8px 12px}
.renameForm input,.bulkReviewForm input,.bulkReviewForm select,.adminProductsBulkForm input,.adminProductsBulkForm select{background:rgba(0, 0, 0, 0.35);border:1px solid var(--border);border-radius:10px;color:var(--foreground);padding:8px 10px}
.renameForm,.deleteForm,.bulkReviewForm{display:grid;gap:8px}
.shot{background:rgba(255, 255, 255, 0.02);border:1px solid var(--border);border-radius:16px;box-shadow:0 14px 24px rgba(0, 0, 0, 0.22);margin:0;overflow:hidden;transition:transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;width:fit-content}
.shot img{display:block;height:auto;margin:0 auto;max-width:100%;width:auto}
.shot:hover{border-color:rgba(255, 255, 255, 0.3);box-shadow:0 18px 30px rgba(0, 0, 0, 0.28);transform:translateY(-3px)}
.shotLink{display:block}
.topCategoryList{display:grid;gap:8px}
.topCategoryRow{background:rgba(255, 255, 255, 0.04);border:1px solid var(--border);border-radius:10px;display:flex;gap:8px;justify-content:space-between;padding:8px 10px}
@keyframes float{
0%{transform:translateY(0)}
100%{transform:translateY(0)}
50%{transform:translateY(-20px)}}
@keyframes waterfall{
0%{transform:translate(-50%, -170%) rotate(var(--rot)) scale(0.92)}
100%{transform:translate(-50%, calc(100dvh + 320px)) rotate(calc(var(--rot) + 10deg)) scale(0.94)}
12%{opacity:1}
50%{transform:translate(-50%, 42dvh) rotate(calc(var(--rot) + 4deg)) scale(1)}
88%{opacity:1}}
@media (max-width: 900px){
#adminNav{flex-direction:row;flex-wrap:wrap}
#adminShell{grid-template-columns:1fr}
#gallery,#cartGrid,#productImageGrid,#bulkReviewGrid{align-items:stretch;display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));width:100%}
#lightboxPanel{bottom:12px;left:12px;min-width:0;right:12px}
#menu{align-items:stretch;border-radius:18px;border-width:0;flex-direction:column;max-height:0;opacity:0;overflow:hidden;padding:0 14px;pointer-events:none;transition:max-height 0.25s ease, opacity 0.2s ease, padding 0.2s ease, border-width 0.2s ease;width:100%}
#menu.open{border-width:1px;max-height:60dvh;opacity:1;padding:12px 14px;pointer-events:auto}
#menuToggle{align-items:center;display:inline-flex;justify-content:center}
#top{gap:12px}
#waterfallCollage{height:100dvh}
.adminGrid{grid-template-columns:repeat(2, minmax(0, 1fr))}
.pill{display:block;text-align:left;width:100%}
.shot img,.cartItem img,.productShot img{width:100%}
.shot,.cartItem,.productShot{width:100%}}